@charset "utf-8";
/* CSS Document */

.section .component:after,
.section .item:after,
.cols:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}

.Noto_Sans {
font-family: 'Noto Sans JP', sans-serif;
}
.Noto_Serif {
font-family: 'Noto Serif JP', serif;
}
.shippori_mincho {
font-family: "Shippori Mincho", serif;
}
.Lato {
font-family: 'Lato', sans-serif;
}
.inter {
font-family: 'Inter', sans-serif;
}

#contents {
padding: 60px 0 100px 0;
font-family: 'Inter','Noto Sans JP', sans-serif;
font-weight: 400;
width: auto;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
letter-spacing: 0.1em;
}

#pageBody {
background: none;
margin: 0 auto 0 auto;
width: 600px;
overflow: hidden;
text-align: left;
}

#pageBody a {
transition: all .2s linear;
}

/* #mainVisual
================================================== */
#mainVisual {
position: relative;
margin: 0 auto 0 auto;
width: 600px;
font-size: 0;
line-height: 0;
}
#mainVisual .visual {
box-sizing: border-box;
position: relative;
background: url("../img/title.jpg") no-repeat center center;
background-size: 600px auto;
padding: 60.8px 0 0 0;
height: 896px;
text-align: left;
}
#mainVisual .visual p {
position: relative;
box-sizing: border-box;
margin: 0 auto 20.8px auto;
padding: 0 188.8px 20.8px 0;
width: 528px;
font-weight: 400;
font-size: 25.6px;
line-height: 1.42;
text-align: center;
}
#mainVisual .visual p::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
background: url("../img/tit_balloon.png") no-repeat center center;
background-size: contain;
width: 339.2px;
height: 35.2px;
}
#mainVisual .visual h1 {
margin: 0 auto;
width: 528px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 48px;
line-height: 1.42;
letter-spacing: 0;
}
.campaignBanner {
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
background: linear-gradient(to right, #eebb66, #eebb66);
margin: 0;
padding: 40px 0 0 0;
width: 600px;
height: 296px;
text-align: left;
}
.campaignBanner h3 {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 17.6px;
font-weight: 400;
font-size: 33.6px;
line-height: 1;
letter-spacing: 0;
color: #553322;
}
.campaignBanner .period {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 27.2px;
font-weight: 400;
font-size: 57.6px;
line-height: 1;
color: #553322;
}
.campaignBanner .period strong {
font-weight: 400;
margin-right: 24px;
}
.campaignBanner .period i {
display: flex;
justify-content: center;
align-items: center;
background-color: #553322;
border-radius: 50%;
margin: 0 8px;
width: 48px;
height: 48px;
font-weight: 400;
font-style: normal;
font-size: 25.6px;
color: #fff;
}
.campaignBanner .button {
display: block;
}
.campaignBanner .button a {
position: relative;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
background-color: #ffee77;
border-radius: 9.6px;
padding-right: 25.6px;
width: 448px;
height: 80px;
font-weight: 500;
font-size: 32px;
letter-spacing: 0;
text-decoration: none;
color: #664433;
}
.campaignBanner .button a:hover {
background-color: #ff8800;
color: #fff;
}
.campaignBanner .button a img {
position: absolute;
left: -51.2px;
top: -22.4px;
}
.campaignBanner .button a span {
transform: translateY(-50%);
position: absolute;
right: 25.6px;
top: 50%;
}


/* mainContents section
================================================== */
#contents .banner a:hover img,
#mainVisual a:hover img {
filter: alpha(opacity=100);
-moz-opacity:1.0;
opacity:1.0;
}

#TARGET {}
#TARGET .cont {
margin: 0 auto;
padding: 88px 0 120px 0;
width: 600px;
}
#TARGET .explan {
display: flex;
flex-direction: column;
margin-bottom: 144px;
padding: 0 0 0 0;
gap: 110.4px;
}
#TARGET .block {
margin: 0 auto;
width: 528px;
}
#TARGET h3 {
margin-bottom: 35.2px;
font-size: 32px;
line-height: 1.55;
color: #aa4499;
}
#TARGET p {
margin-bottom: 43.2px;
font-size: 24px;
line-height: 1.8;
}
#TARGET .image {
display: flex;
flex-direction: column;
padding: 24px 0 0 0;
gap: 70.4px;
}
#TARGET figure {
text-align: center;
}
#TARGET figure img {
display: block;
margin: 0 auto;
}
#TARGET figcaption {
display: inline-block;
margin-top: 32px;
font-size: 22.4px;
line-height: 1.72;
text-align: left;
}
#TARGET ul {
display: flex;
flex-direction: column;
gap: 40px;
margin: 0 auto;
width: 528px;
font-size: 25.6px;
line-height: 1.38;
}
#TARGET li a {
display: flex;
flex-wrap: wrap;
align-items: center;
position: relative;
background-color: #cc88bb;
border-radius: 24px;
height: 144px;
color: #fff;
}
#TARGET li a:hover {
text-decoration: none;
opacity: 0.8;
}
#TARGET li:last-child a {
background-color: #ee8888;
}
#TARGET li span {
flex: 1;
}
#TARGET li a::before {
transform: translateY(-50%);
content: '';
display: block;
position: absolute;
right: 19.2px;
top: 50%;
background-color: #fff;
border-radius: 50%;
width: 48px;
height: 48px;
}
#TARGET li a::after {
transform: rotate(45deg) translateY(-50%);
content: '';
display: block;
position: absolute;
right: 41.6px;
top: 50%;
border-right: solid 1.6px #ff7700;
border-bottom: solid 1.6px #ff7700;
margin: -3.2px 0 0 0;
width: 12.8px;
height: 12.8px;
}

#ITEM1 {
position: relative;
background: #f4e7f1 url("../img/itm1_pht_main.jpg") no-repeat center top;
background-size: 600px auto;
}
#ITEM2 {
position: relative;
background: #f4e7f1 url("../img/itm2_pht_main.jpg") no-repeat center top;
background-size: 600px auto;
}
#ITEM3 {
position: relative;
background: #f4e7f1 url("../img/itm3_pht_main.jpg") no-repeat center top;
background-size: 600px auto;
}
#ITEM1 .item {
padding: 792px 0 0 0;
}
#ITEM2 .item {
padding: 736px 0 0 0;
}
#ITEM3 .item {
padding: 643.2px 0 0 0;
}
.itemSction h2 {
writing-mode: vertical-rl;
text-orientation: upright;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 38.4px;
line-height: 46.4px;
letter-spacing: 0;
color: #fff;
}
#ITEM1 h2 {
position: absolute;
right: 35.2px;
top: 80px;
}
#ITEM2 h2 {
position: absolute;
right: 67.2px;
top: 104px;
}
#ITEM3 h2 {
position: absolute;
right: 51.2px;
top: 136px;
}
.itemSction h2 span {
display: inline-block;
background-color: #bb77aa;
margin-left: 8px;
padding: 14.4px 0;
}
#ITEM3 h2 span {
background-color: #ee8888;
}
.itemSction .explan {
display: flex;
flex-direction: column;
margin-bottom: 72px;
padding: 0 0 0 0;
gap: 110.4px;
}
.itemSction .explan .block {
margin: 0 auto;
width: 528px;
}
.itemSction .explan h3 {
margin-bottom: 35.2px;
font-size: 32px;
line-height: 1.55;
color: #aa4499;
}
#ITEM3  .explan h3 {
color: #ee8888;
}
.itemSction .explan p {
margin-bottom: 43.2px;
font-size: 24px;
line-height: 1.8;
}
.itemSction .explan .image {
display: flex;
flex-direction: column;
padding: 24px 0 0 0;
gap: 70.4px;
}
.itemSction .explan figure {
text-align: center;
}
.itemSction .explan figure img {
display: block;
margin: 0 auto;
}
.itemSction .explan figcaption {
display: inline-block;
margin-top: 32px;
font-size: 22.4px;
line-height: 1.72;
text-align: left;
}
#ITEM1 .explan .effect {
background-color: rgba(255,255,255,0.5);
border-radius: 12.8px;
padding: 40px;
}
#ITEM1 .explan .effect dt {
margin-bottom: 1.6px;
font-weight: 500;
font-size: 25.6px;
color: #aa4499;
}
#ITEM1 .explan .effect dd {
margin-bottom: 44.8px;
font-size: 24px;
line-height: 1.8;
}
#ITEM1 .explan .effect dd:last-child {
margin-bottom: 0;
}
.itemSction .explan .recommend {
position: relative;
background: url("../img/rec_bg.png") repeat center center;
background-size: 528px auto;
margin-top: 132.8px;
padding: 48px 40px 16px 40px;
}
.itemSction .explan .recommend dt {
transform: translate(-50%,-50%);
position: absolute;
left: 50%;
top: 0;
display: flex;
justify-content: center;
align-items: center;
background-color: #bb77aa;
border-radius: 15998.4px;
width: 352px;
height: 48px;
font-weight: 500;
font-size: 25.6px;
color: #fff;
}
.itemSction .explan .recommend dd {
position: relative;
margin-bottom: 12.8px;
padding-left: 32px;
font-size: 24px;
line-height: 1.6;
color: #553322;
}
.itemSction .explan .recommend dd::before {
content: '';
position: absolute;
left: 0;
top: 6.4px;
display: block;
background-color: #bb77aa;
border-radius: 15998.4px;
width: 22.4px;
height: 22.4px;
}


#LINEUP {
background-color: #eed2dd;
padding-bottom: 96px;
}
#LINEUP .head {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 0 auto;
padding: 92.8px 0 28.8px 0;
width: 528px;
}
#LINEUP .head .bubble {
position: relative;
margin-bottom: 6.4px;
font-weight: 500;
font-size: 28.8px;
line-height: 1.2;
}
#LINEUP .head .bubble::before {
transform: rotate(-30deg);
content: '';
position: absolute;
left: -24px;
bottom: 0;
background-color: #aa4499;
width: 1.6px;
height: 48px;
}
#LINEUP .head .bubble::after {
transform: rotate(30deg);
content: '';
position: absolute;
right: -24px;
bottom: 0;
background-color: #aa4499;
width: 1.6px;
height: 48px;
}
#LINEUP .head h2 {
margin-bottom: 16px;
font-weight: 500;
font-size: 44.8px;
line-height: 1.2;
color: #aa4499;
}
#LINEUP .head .lead {
font-size: 24px;
line-height: 1.8;
}
#LINEUP .item {
display: flex;
flex-direction: column;
gap: 57.6px;
margin-top: 89.6px;
}
#LINEUP .item::after {
display: none;
}
#LINEUP .item .block {
display: flex;
}
#LINEUP .item .image {
width: 184px;
}
#LINEUP .item .text {
flex: 1;
}
#LINEUP .item .text h3 {
margin-bottom: 3.2px;
font-weight: 500;
font-size: 25.6px;
line-height: 1.38;
}
#LINEUP .item .text p {
font-size: 22.4px;
line-height: 1.72;
}
#LINEUP .item .text p span {
font-size: 19.2px;
}

.section .itm .block,
.section .item .block {
margin: 0 auto 0 auto;
width: 528px;
}
#ITEM3 .itm .block,
#ITEM3 .item .block {
box-sizing: border-box;
padding-left: 243.2px;
}
.section .itm .list,
.section .item .list {
display: flex;
flex-direction: column;
gap: 80px;
margin-bottom: 121.6px;
}
.section .itm .list::after,
.section .item .list::after {
display: none;
}
.section .itm h4,
.section .item h4 {
margin-bottom: 3.2px;
font-weight: 500;
font-size: 25.6px;
line-height: 1.44;
}
.section .itm h4 span,
.section .item h4 span {
display: inline-block;
margin-bottom: -1.6px;
padding-top: 3.2px;
font-weight: 500;
font-size: 20.8px;
}
.section .itm .bonus,
.section .item .bonus {
margin-top: 9.6px;
margin-bottom: 14.4px;
font-size: 20.8px;
line-height: 1.62;
letter-spacing: 0;
}
.section .itm .bonus span,
.section .item .bonus span {
background-color: #fff;
padding: 4.8px 9.6px;
}
.section .itm .cnt,
.section .item .cnt {
margin-bottom: 8px;
font-size: 20.8px;
line-height: 1.53;
}
.section .itm p.price,
.section .item p.price {
margin-bottom: 20.8px;
font-size: 20.8px;
line-height: 1.53;
}
.section .itm div.price,
.section .item div.price {
position: relative;
margin-top: -3.2px;
margin-bottom: 25.6px;
}
.section .itm div.price .special,
.section .item div.price .special {
margin-bottom: 8px;
font-size: 24px;
color: #ee0000;
line-height: 1.2;
}
.section .itm div.price .special span,
.section .item div.price .special span {
font-family: 'Lato', sans-serif;
font-weight: 700;
font-size: 35.2px;
}
.section .itm div.price .normal,
.section .item div.price .normal {
font-size: 20.8px;
}
.section .itm div.price .off,
.section .item div.price .off {
box-sizing: border-box;
position: absolute;
right: 16px;
top: -40px;
width: 128px;
height: 128px;
background-color: #ee0000;
border-radius: 50%;
padding-top: 30.4px;
font-weight: 500;
font-size: 22.4px;
line-height: 1.2;
text-align: center;
color: #fff;
}
.section .itm div.price .off span,
.section .item div.price .off span {
font-family: 'Lato', sans-serif;
font-weight: 700;
font-size: 43.2px;
}
.section .itm .lnk,
.section .item .lnk {
font-family: dnp-shuei-mgothic-std, sans-serif;
font-weight: 600;
font-style: normal;
font-size: 22.4px;
line-height: 48px;
letter-spacing: 0;
text-align: center;
}
.section .itm .lnk a,
.section .item .lnk a {
box-sizing: border-box;
display: block;
position: relative;
background-color: #ffcc33;
border-radius: 24px;
padding-right: 14.4px;
width: 224px;
height: 48px;
color: #000;
}
.section .itm .lnk a::after,
.section .item .lnk a::after {
transform: translateY(-50%);
content: "\f054";
position: absolute;
right: 16px;
top: 50%;
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 16px;
color: #ff6600;
}
.section .itm .lnk a:hover,
.section .item .lnk a:hover {
background-color: #ff8800;
color: #fff;
text-decoration: none;
}
.section .itm .lnk a:hover::after,
.section .item .lnk a:hover::after {
color: #fff;
}
.section .itm .number,
.section .item .number {
display: flex;
flex-wrap: wrap;
margin: 0 0 19.2px 0;
line-height: 33.6px;
text-align: center;
}
.section .itm .number dt,
.section .item .number dt {
background-color: #000;
border-right: none;
border: solid 1.6px #000;
border-radius: 4.8px 0 0 4.8px;
width: 96px;
font-size: 17.6px;
color: #fff;
}
.section .itm .number dd,
.section .item .number dd {
background-color: #fff;
border: solid 1.6px #000;
border-radius: 0 4.8px 4.8px 0;
border-left: none;
padding: 0 6.4px;
min-width: 67.2px;
font-size: 19.2px;
}
.section .itm .note,
.section .item .note {
margin-top: 25.6px;
font-size: 16px;
line-height: 1.6;
}