@charset "utf-8";
/* CSS Document */
/* ■■■■■ 基本部分 ■■■■■ */

#happy-iris *,
#happy-iris *::before,
#happy-iris *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body,
#happy-iris h1,
#happy-iris h2,
#happy-iris h3,
#happy-iris h4,
#happy-iris h5,
#happy-iris h6,
#happy-iris ul,
#happy-iris ol,
#happy-iris dl,
#happy-iris li,
#happy-iris dt,
#happy-iris dd,
#happy-iris p,
#happy-iris div,
#happy-iris span,
#happy-iris img,
#happy-iris a,
#happy-iris table,
#happy-iris tr,
#happy-iris th,
#happy-iris td {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}

#happy-iris header,
#happy-iris footer,
#happy-iris nav,
#happy-iris section,
#happy-iris article,
#happy-iris main,
#happy-iris aside,
#happy-iris figure,
#happy-iris figcaption {
    display: block;
}

#happy-iris ol,
#happy-iris ul,
#happy-iris li {
    list-style: none;
    list-style-type: none;
}

#happy-iris img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

#happy-iris a {
    color: inherit;
    text-decoration: none;
}

#happy-iris a:hover {
    opacity: 0.5;
}



#happy-iris .no,
#happy-iris .hidden,
#happy-iris .smp_none{
    display: none !important;
}




/* ここから追加
================================ */
/* ベース */
#happy-iris {
	font-size: 3.5vw;
	font-family: "Noto Sans JP", "Plus Jakarta Sans" , sans-serif;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.2;
	color: #222222;
}

#happy-iris div.center_content{
    background-image: url("https://ic4-a.wowma.net/mi/w/1280/h/1280/q/90/image.wowma.jp/2539644/image/happy-iris/hpi_back.jpg");
    background-size:100%;
    background-repeat: repeat-y;
}

#happy-iris section{
    position: relative;
    padding: 2.5vw 0 4vw 0;
}

#happy-iris section.fv{
    padding: 0 0;
}


#happy-iris div.inner_content{
    width: 96%;
    margin:0 auto;
}

/*価格プロ 税込削除*/
#happy-iris div.prices span > span > span {
    display: none;
}

/* ================================ */
#happy-iris {
    --blue-color: #35678a;
    --pink-color: #fb6c68;
    --yellow-color:#fff29d;
    }

/* 共通 見出し
================================ */
#happy-iris h2 {
    font-size: 6vw;
    text-align: center;
    font-weight: bold;
    padding: 3vw 0 2vw 0;
}

#happy-iris h2.h_img {
    padding: 0 0;
}


#happy-iris h3 {
    font-size: 5vw;
    text-align: center;
    color: #2d2d2d;
    font-weight: bold;
    padding: 3vw 0;
}

#happy-iris p {
    font-size: 4vw;
    line-height: 4.5vw;
    text-align: center;
    color: #2d2d2d;
    padding: 3vw 0;
    font-weight: 600;
}

#happy-iris small {
    font-size: 70%;
}

/* 共通 カラム
================================ */
#happy-iris ul[class^="col_"]{
    display: flex;
    flex-wrap: wrap;
    gap:2.2vw 1.2vw;
    margin: 2vw auto;
}

#happy-iris ul.col_1 > li{
    width:100%;
}

#happy-iris ul.col_2 > li,
#happy-iris ul.col_4 > li{
    width: calc(calc(100% - 1.3vw) / 2);
    position: relative;
}

#happy-iris ul.col_3 > li{
    width: calc(calc(100% - 1.3vw * 3) / 3);
    position: relative;
}


#happy-iris ul.col_5 > li{
    width: calc(calc(100% - calc(1.3vw * 2)) / 3);
}


/* section fv ファーストビュー
================================ */
/* 期間 ----- */
#happy-iris section.fv div.kikan{
    text-align: center;
    font-size: 5vw;
    line-height: 5vw;
    padding: 2vw 0;
    background-color: #fff;
    color: var(--blue-color);
    font-weight: bold;
}


/* section osusume
================================ */
#happy-iris section.osusume ul li a{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

/*
    1カラム
======================*/
#happy-iris section.osusume ul.col_1 li{
    border: solid 1vw var(--pink-color);
}

#happy-iris section.osusume ul.col_1 li a{
    flex-direction: row;
}


#happy-iris section.osusume ul.col_1 li h4{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 7vw;
    font-size: 3vw;
    line-height: 3.4vw;
    background-color: var(--pink-color);
    color: #fff;
    text-align: center;
}

#happy-iris section.osusume ul.col_1 li a img.thamb{
    width: 50%;
    aspect-ratio: 1;
}


/*
    ここから価格部分
======================*/
#happy-iris section.osusume ul.col_1 li a dl {
    position: relative;
    width: 50%;
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}

/*価格 > 販促内容-----------------*/
#happy-iris section.osusume ul.col_1 li a dl dd.sale_box{
    width: 100%;
    z-index: 1;
}

#happy-iris section.osusume ul.col_1 li a dl dd.sale_box div.sale {
    font-size: 5.5vw;
    line-height: 6vw;
    font-weight: 900;
    letter-spacing: 0.5vw;
    margin-bottom: 2vw;
    text-align: center;
    color: #fff001;
    text-stroke: 0.8vw var(--pink-color);
    -webkit-text-stroke: 0.8vw var(--pink-color);
    paint-order: stroke;
    filter: drop-shadow(0.7vw 0.7vw 0 var(--pink-color));
}

#happy-iris section.osusume ul.col_1 li a dl dd.sale_box div.sale span {
    position: relative;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 7.5vw;
    letter-spacing: -0.2vw;
}

#happy-iris section.osusume ul.col_1 li a dl dd.sale_box div.sale span::after {
    content: "";
    width: 92%;
    height: 3.5vw;
    position: absolute;
    top: 38%;
    right: 0;
    background-color:var(--pink-color);
    pointer-events: none;
    z-index: -1;
}


/*価格 > 通常価格-----------------*/
#happy-iris section.osusume ul.col_1 li dl dd.sale_box div.price_normal{
    font-size: 3vw;
	font-weight:800;
    margin-bottom: 1vw;
	text-align: center;
}

/*価格 > メイン価格-----------------*/
#happy-iris section.osusume ul.col_1 li dl dd.sale_box div.price_block{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 17vw;
    z-index: 1;
}

#happy-iris section.osusume ul.col_1 li dl dd.sale_box div.price_block div.prices{
    display: flex;
    justify-content: center;
    align-items: center;
    font-style: italic;
    margin: 0 auto 0.8vw auto;

}

#happy-iris section.osusume ul.col_1 li dl dd.sale_box div.price_block div.prices span.prdisp-taxin{
	font-family: "Plus Jakarta Sans", sans-serif;
	color: var(--yellow-color);
    text-stroke: 0.9vw #222222;
    -webkit-text-stroke: 0.9vw #222222;
    paint-order: stroke;
	filter:
		drop-shadow(0.5vw 0.5vw 0 #222222)
		drop-shadow(0.7vw 0.7vw 0 #222222);
    font-weight: 900;
    line-height: 7vw;
    letter-spacing: -0.1vw;
    text-align: center;
	display: flex;
	align-items: baseline;
	padding-right: 2vw;
}

#happy-iris section.osusume ul.col_1 li dl dd.sale_box div.price_block div.prices span.prdisp-taxin span.value{
	position: relative;
    font-size: 9vw;
    margin:0 0vw 0 1.5vw;
}

#happy-iris section.osusume ul.col_1 li dl dd.sale_box div.price_block div.prices span.prdisp-taxin span{
    font-size: 5vw;
} 

#happy-iris section.osusume ul.col_1 li dl dd.sale_box div.price_block div.prices span.prdisp-taxin span.value::after{
    content: "";
    width: 87%;
    height: 3.4vw;
    position: absolute;
    top: 29%;
    right: 2vw;
    background-color: #222222;
    pointer-events: none;
    z-index: -1;
}


#happy-iris section.osusume ul li a dl dd.price_back {
    position: absolute;
    bottom: 0;
    z-index: 0;
}



/*
    2カラム
======================*/
#happy-iris section.osusume ul.col_2 li a{
    border: solid 1vw var(--blue-color);
}

#happy-iris section.osusume ul.col_2 li h4{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 9vw;
    font-size: 3vw;
    line-height: 3.4vw;
    background-color: var(--blue-color);
    color: #fff;
    text-align: center;
}

/*
    ここから価格部分
======================*/
#happy-iris section.osusume ul.col_2 li a dl{
    width: 100%;
    background-color: var(--yellow-color);
}



/*価格 > 販促内容-----------------*/
#happy-iris section.osusume ul.col_2 li a dl dd.sale_box div.sale{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--pink-color);
    color: var(--yellow-color);
    text-align: center;
    font-weight: bold;
    font-size: 4vw;
    line-height: 4.2vw;
    height: 14vw;
}


#happy-iris section.osusume ul.col_2 li a dl dd.sale_box div.sale span{
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 7vw;
    letter-spacing: -0.2vw;
    z-index: -1;
}


/*価格 > 通常価格-----------------*/
#happy-iris section.osusume ul.col_2 li dl dd.sale_box div.price_normal{
    font-size: 3vw;
	font-weight:800;
    margin-bottom: 1vw;
	text-align: center;
}

/*価格 > メイン価格-----------------*/
#happy-iris section.osusume ul.col_2 li dl dd.sale_box div.price_block{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 17vw;
}

#happy-iris section.osusume ul.col_2 li dl dd.sale_box div.price_block div.prices{
    display: flex;
    justify-content: center;
    align-items: center;
    font-style: italic;
    margin: 0 auto 0.8vw auto;

}

#happy-iris section.osusume ul.col_2 li dl dd.sale_box div.price_block div.prices span.prdisp-taxin{
	font-family: "Plus Jakarta Sans", sans-serif;
	color: var(--yellow-color);
    text-stroke: 0.9vw #222222;
    -webkit-text-stroke: 0.9vw #222222;
    paint-order: stroke;
	filter:
		drop-shadow(0.5vw 0.5vw 0 #222222)
		drop-shadow(0.7vw 0.7vw 0 #222222);
    font-weight: 900;
    line-height: 7vw;
    letter-spacing: -0.1vw;
    text-align: center;
	display: flex;
	align-items: baseline;
	padding-right: 2vw;
}

#happy-iris section.osusume ul.col_2 li dl dd.sale_box div.price_block div.prices span.prdisp-taxin span.value{
	position: relative;
    font-size: 9vw;
    margin:0 0vw 0 1.5vw;
}

#happy-iris section.osusume ul.col_2 li dl dd.sale_box div.price_block div.prices span.prdisp-taxin span{
    font-size: 5vw;
} 

#happy-iris section.osusume ul.col_2 li dl dd.sale_box div.price_block div.prices span.prdisp-taxin span.value::after{
    content: "";
    width: 87%;
    height: 3.4vw;
    position: absolute;
    top: 29%;
    right: 2vw;
    background-color: #222222;
    pointer-events: none;
    z-index: -1;
}

/*
    ボタン
======================*/
#happy-iris section.osusume ul dl dd.btn {
    position: relative;
    background-color: var(--pink-color);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50vw;
    height: 9vw;
    width: 90%;
    color: #fff;
    text-align: center;
    font-size: 3.5vw;
    font-weight: 600;
    margin: 0 auto 2vw auto;
    z-index: 1;
}

#happy-iris section.osusume ul dl dd.btn::before {
    position: absolute;
    font-family: 'Material Icons';
    content: "arrow_right";
    transform: translate(50%, -50%);
    font-size: 8vw;
    top: 50%;
    right: 10%;
}



/*======================
    もっと見るボタン
======================*/
#happy-iris a.other_btn{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80%;
    height: 14vw;
    margin: 3vw auto;
    background: #fbd660;
    box-shadow:
        1vw 1vw 0 #371a0a,
        inset 0.4vw 0.4vw 0 #fff;
    border-radius: 3vw;
    text-align: center;
    font-size: 4.5vw;
    color: #371a0a;
    font-weight: 700;
    border: solid 1vw #371a0a;
}

#happy-iris a.other_btn::after{
	position: absolute;
	font-family: 'Material Icons';
	content: "expand_more";
	transform:translate(50%,-50%) rotate(-90deg);
	top:50%;
	right: 8%;
	font-size: 7vw;
}


/* cate_block
================================ */
#happy-iris section.cate_block ul{
	gap: 3.2vw 1%;
}

#happy-iris section.cate_block li{
	position: relative;
	background-color: var(--blue-color);
    padding: 1%;
	border-radius: 2vw;
	box-shadow: 0 1vw 0 #96abbc,0 0 2vw #fff;
}


#happy-iris section.cate_block li img{
	border-radius: 2vw;
	border: solid 0.7vw var(--blue-color);
}

#happy-iris section.cate_block h4 {
    color: #fff;
	font-size: 3.5vw;
	text-align: center;
	height: 9vw;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* osusume
================================ */
#happy-iris section.banner ul li{
	border-radius: 3vw;
}


/* fotter
================================ */
#happy-iris section.fotter {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--blue-color);
    height: 12vw;
    text-align: center;
    color: #fff;
}

#happy-iris section.fotter a {
    color: #fff;
    font-size: 4vw;
    padding: 0 2vw;
}

/*top_back TOPに戻る
================================ */
#happy-iris .top_back {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    right: 0;
    bottom: 2%;
    background-color: #222;
    height: 11vw;
    width: 27vw;
    border-radius: 100px 0 0 100px;
    border: solid 0.7vw #fff;
    border-right: 0;
    z-index: 999;
}

#happy-iris .top_back a {
    color: #fff;
    font-size: 3.5vw;
}