@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;
text-decoration: none;
}
/****************************************
#mainVisual
*****************************************/
#mainVisual {
text-align: center;
}
#mainVisual .vis {
position: relative;
background: url(../img/title_bg.jpg) no-repeat center top;
background-size: 600px 1040px;
margin: 0 auto;
width: 600px;
height: 1040px;
overflow: hidden;
}
#mainVisual h1 {
box-sizing: border-box;
position: absolute;
left: 0;
top: 43.2px;
padding-left: 28.8px;
width: 100%;
text-align: center;
}
#mainVisual .vis ul {
margin: 0 auto;
padding-top: 756.8px;
width: 528px;
}
#mainVisual ul li {
margin-bottom: 24px;
}
#mainVisual ul li a {
box-sizing: border-box;
display: block;
position: relative;
background-color: #fff;
border: solid 3.2px #009999;
border-radius: 12.8px;
padding: 19.2px 38.4px 12.8px 38.4px;
font-weight: 500;
font-size: 28.8px;
line-height: 1.32;
text-decoration: none;
text-align: left;
color: #000;
}
#mainVisual ul li a::after {
transform: translateY(-50%) rotate(45deg);
content: '';
display: block;
box-sizing: border-box;
position: absolute;
right: 32px;
top: 50%;
margin-top: -4.8px;
border-right: solid 3.2px #000;
border-bottom: solid 3.2px #000;
width: 20.8px;
height: 20.8px;
}
#mainVisual ul li span {
font-size: 22.4px;
color: #009999;
}
.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%;
}



/****************************************
#SCT1-5
*****************************************/
.section .item {
position: relative;
padding-bottom: 80px;
}
.section .item .list {
margin: 0 auto;
width: 528px;
text-align: left;
}
.section .item .block {
margin-bottom: 64px;
}
#LINEUP .item .block {
margin: 0 auto 0 auto;
width: 528px;
}
.section .item .block:last-child {
margin-bottom: 0;
}
.section .itm .pack,
.section .item .pack {
margin-left: 115.2px;
float: left;
}
.section .itm h4,
.section .item h4 {
margin-bottom: 0;
font-weight: 400;
font-size: 25.6px;
line-height: 1.44;
}
.section .itm h4 span,
.section .item h4 span {
font-size: 19.2px;
font-weight: normal;
}
.section .itm .cnt,
.section .item .cnt {
font-size: 19.2px;
line-height: 1.68;
}
.section .itm .price,
.section .item .price {
padding-top: 9.6px;
font-size: 22.4px;
line-height: 1.35;
font-weight: bold;
}
.section .itm .price strong,
.section .item .price strong {
font-size: 22.4px !important;
font-weight: bold;
}
.section .itm .price span,
.section .item .price span {
font-weight: bold;
}
.section .itm .special,
.section .item .special {
padding-top: 6.4px;
}
.section .itm .special .price,
.section .item .special .price {
padding-top: 0;
font-size: 19.2px;
font-weight: bold;
line-height: 1.45;
color: #cc0000;
}
.section .itm .special .price strong,
.section .item .special .price strong {
font-size: 35.2px !important;
font-weight: bold;
}
.section .itm .special .price span,
.section .item .special .price span {
font-weight: bold;
}
.section .itm .special .normal,
.section .item .special .normal {
font-size: 19.2px;
}
.section .itm .more,
.section .item .more {
margin-top: 27.2px;
display: flex;
align-items: center;
}
.section .itm .link,
.section .item .link {
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 .link a,
.section .item .link 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 .link a::after,
.section .item .link a::after {
transform: translateY(-50%);
content: "\f054";
position: absolute;
right: 14.4px;
top: 50%;
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 19.2px;
color: #ff6600;
}
.section .itm .link a:hover,
.section .item .link a:hover {
background-color: #ff8800;
color: #fff;
text-decoration: none;
}
.section .itm .link a:hover::after,
.section .item .link 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 .item .note {
margin: 32px auto 0 auto;
width: 456px;
font-size: 17.6px;
line-height: 1.83;
text-align: left;
}
.section .item .btn {
box-sizing: border-box;
background-color: #f5c8cc;
border-radius: 19.2px;
margin: 64px auto 0 auto;
padding: 28.8px 24px 28.8px 24px;
width: 528px;
text-align: center;
}
.section .item .btn a {
display: block;
background-color: #fff588;
border-radius: 12.8px;
margin-top: 24px;
font-size: 38.4px;
font-weight: bold;
line-height: 96px;
color: #664444;
}

/* #Explan
================================================== */
#Explan {}
#Explan .cont {
}
#Explan .head {
position: relative;
margin: 0 auto;
padding: 76.8px 0 75.2px 0;
width: 528px;
text-align: center;
}
#Explan .head::before {
content: '';
display: block;
position: absolute;
left: -9.6px;
top: 92.8px;
background: url("../img/icn_mint1.png") no-repeat center center;
background-size: cover;
width: 537.6px;
height: 166.4px;
}
#Explan h2 {
margin-bottom: 36.8px;
font-weight: 400;
font-size: 54.4px;
line-height: 1.41;
}
#Explan h2 span {
display: inline-block;
margin-bottom: 4.8px;
font-family: 'Noto Serif JP', serif;
font-size: 38.4px;
line-height: 1.38;
color: #009999;
}
#Explan p {
font-size: 24px;
line-height: 2;
text-align: left;
}
#Explan .recommend {
position: relative;
background: url("../img/exp_reco_bg.png") repeat center center;
background-size: 48px auto;
margin: 0 0 76.8px 0;
padding: 60.8px 59.2px 44.8px 59.2px;
}
#Explan .recommend::before {
content: '';
display: block;
position: absolute;
left: 0;
top: 8px;
bottom: 8px;
right: 0;
border-top: solid 1.6px #669900;
border-bottom: solid 1.6px #669900;
}
#Explan .recommend::after {
content: '';
display: block;
position: absolute;
right: 27.2px;
top: 228.8px;
background: url("../img/icn_mint2.png") no-repeat center center;
background-size: cover;
width: 128px;
height: 83.2px;
}
#Explan .recommend h3 {
margin-bottom: 24px;
font-weight: 400;
font-size: 25.6px;
line-height: 48px;
text-align: center;
}
#Explan .recommend h3 span {
display: inline-block;
background-color: #fff;
margin-right: 8px;
padding: 0 8px;
font-size: 38.4px;
color: #009999;
}
#Explan .recommend li {
margin-bottom: 17.6px;
padding: 0 0 0 43.2px;
position: relative;
font-size: 25.6px;
line-height: 1.5;
text-align: left;
}
#Explan .recommend li::before {
content: '';
display: block;
position: absolute;
left: 0;
top: 6.4px;
background: url("../img/exp_reco_icn.png") no-repeat center center;
background-size: cover;
width: 28.8px;
height: 25.6px;
}
#Explan .list {
margin: 0 auto;
padding-bottom: 8px;
width: 528px;
text-align: left;
}
#Explan .list .block {
margin-bottom: 96px;
}
#Explan .block:nth-of-type(3) {
margin-bottom: 80px;
}
#Explan .list p.point {
position: relative;
display: inline-block;
border: solid 1.6px #ee8866;
border-radius: 159998.4px;
margin-bottom: 19.2px;
padding: 0 32px; 
font-size: 19.2px;
line-height: 44.8px;
letter-spacing: 0;
color: #ee8866;
}
#Explan .list p.point::before {
content: '';
display: block;
position: absolute;
left: 64px;
top: 48px;
background: url("../img/bln_lin.png") no-repeat center center;
background-size: cover;
width: 16px;
height: 16px;
}
#Explan .list p.point span {
font-weight: 600;
font-size: 25.6px;
}
#Explan .list h3 {
margin-bottom: 40px;
white-space: nowrap;
font-weight: 400;
font-size: 30.4px;
line-height: 51.2px;
letter-spacing: 0;
color: #009999;
}
#Explan .list h3 strong {
font-weight: 600;
font-size: 44.8px;
}
#Explan .block:nth-of-type(1) h3 strong:nth-of-type(1) {
background: url("../img/exp_marker1-1.png") no-repeat center bottom;
background-size: 100% auto;
}
#Explan .block:nth-of-type(1) h3 strong:nth-of-type(2) {
background: url("../img/exp_marker1-2.png") no-repeat center bottom;
background-size: 100% auto;
}
#Explan .block:nth-of-type(2) h3 strong {
background: url("../img/exp_marker2.png") no-repeat center bottom;
background-size: 100% auto;
}
#Explan .block:nth-of-type(3) h3 strong {
background: url("../img/exp_marker3.png") no-repeat center bottom;
background-size: 100% auto;
}
#Explan .list p {
margin-bottom: 27.2px;
font-size: 24px;
line-height: 1.89;
}
#Explan .block:nth-of-type(2) ul {
display: flex;
flex-wrap: wrap;
margin-bottom: -8px;
padding-top: 9.6px;
gap: 0 48px;
}
#Explan .block:nth-of-type(2) li {
display: block;
font-size: 20.8px;
text-align: center;
}
#Explan .block:nth-of-type(2) img {
display: block;
margin-bottom: 12.8px;
}
#Explan .block .image {
text-align: center;
}
#Explan .block .image figure {
position: relative;
margin: 0 auto;
width: 342.4px;
}
#Explan .block .image figure figcaption {
position: absolute;
right: 0;
bottom: -43.2px;
font-size: 16px;
}
#Explan .block .image p {
margin: 25.6px 0 9.6px 0;
font-size: 19.2px;
line-height: 1.67;
text-align: center;
}
#Explan .block:last-child .image p {
text-align: left;
}
#Explan .block:nth-of-type(3) .image {
padding-top: 25.6px;
}

/* .itemSCT
================================================== */
#Item1 {
margin-bottom: 88px;
}
#Item2 {
margin-bottom: 88px;
}
#Item1 .hed {
position: relative;
background: url("../img/itm1_bg.jpg") no-repeat center top;
background-size: 600px auto;
margin-bottom: 64px;
height: 1104px;
text-align: left;
}
#Item2 .hed {
position: relative;
background: url("../img/itm2_bg.jpg") no-repeat center center;
background-size: 600px auto;
margin-bottom: 64px;
height: 1104px;
text-align: left;
}
#Item2 .hed h2,
#Item1 .hed h2 {
z-index: 1;
box-sizing: border-box;
position: absolute;
left: 56px;
top: 75.2px;
background-color: #fff;
border: solid 1.6px #009999;
padding: 17.6px 24px;
font-weight: 500;
font-family: 'Noto Serif JP', serif;
font-size: 24px;
line-height: 1.2;
letter-spacing: 0;
}
#Item2 .hed h2 {
top: 96px;
padding: 19.2px 24px;
}
#Item2 .hed h2::before,
#Item1 .hed h2::before {
content: '';
display: block;
position: absolute;
left: 3.2px;
top: 3.2px;
bottom: 3.2px;
right: 3.2px;
border: solid 1.6px #009999;
}
#Item1 .hed h2::after {
content: '';
display: block;
position: absolute;
left: -20.8px;
top: -43.2px;
background: url("../img/itm1_tcg.png") no-repeat center center;
background-size: cover;
width: 153.6px;
height: 75.2px;
}
#Item2 .hed h2::after {
content: '';
display: block;
position: absolute;
left: -20.8px;
top: -67.2px;
background: url("../img/itm2_tcg.png") no-repeat center center;
background-size: cover;
width: 171.2px;
height: 83.2px;
}
#Item2 .hed .catch,
#Item1 .hed .catch {
z-index: 1;
position: absolute;
left: 64px;
top: 195.2px;
box-sizing: border-box;
font-weight: 600;
font-size: 35.2px;
line-height: 1.6;
letter-spacing: 0;
}
#Item2 .hed .catch {
left: 52.8px;
}
#Item2 .hed .compo,
#Item1 .hed .compo {
z-index: 1;
box-sizing: border-box;
position: absolute;
left: 20px;
right: 20px;
bottom: 24px;
background-color: #fff;
padding: 17.6px 19.2px;
font-size: 19.2px;
line-height: 1.59;
letter-spacing: 0;
}

.section .component .box {
background-color: #d9ddbe;
padding: 54.4px 32px 3.2px 32px;
}
.section .component .list {}
.section .component .blk {
margin-bottom: 14.4px;
}
.section .component h3 {
margin-bottom: 41.6px;
font-weight: 400;
font-family: 'Noto Serif JP', serif;
font-size: 38.4px;
line-height: 1.34;
text-align: center;
}
.section .component h4 {
background-color: #fff;
margin-bottom: 38.4px;
font-weight: 700;
font-size: 25.6px;
line-height: 44.8px;
text-align: center;
}
#Item1 .component ul,
#Item2 .component ul {
display: flex;
flex-wrap: wrap;
gap: 0 48px;
margin: 0 auto;
width: 432px;
}
.section .component li {
margin-bottom: 35.2px;
font-size: 20.8px;
line-height: 28.8px;
letter-spacing: 0;
text-align: center;
}
.section .component li span {
font-size: 17.6px;
}
.section .component img {
display: block;
margin-bottom: 12.8px;
}
.section .component p {
border-bottom: solid 1.6px #ccc;
padding: 27.2px;
font-size: 20.8px;
letter-spacing: 0.05em;
text-align: center;
}
#Item1 .explan .block {
margin: 0 auto;
padding: 80px 0 0 0;
width: 528px;
}
#Item1 .block .image {
margin-bottom: 83.2px;
text-align: center;
}
#Item1 .block .image img {
display: block;
margin: 0 auto;
}
#Item1 .block .img {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#Item1 .block .img::before {
content: '';
display: block;
position: absolute;
left: 257.6px;
top: 92.8px;
border-left: solid 12.8px #009999;
border-bottom: solid 9.6px transparent;
border-top: solid 9.6px transparent;
}
#Item1 .explan .block h3 {
margin-bottom: 33.6px;
font-weight: 600;
font-size: 32px;
line-height: 1.5;
text-align: center;
color: #009999;
}
#Item1 .block .img p {
position: relative;
width: 240px;
font-size: 20.8px;
line-height: 1.70;
text-align: left;
}
#Item1 .block .img p::before {
content: 'Before';
position: absolute;
left: -8px;
top: -19.2px;
background-color: #666;
border-radius: 50%;
width: 83.2px;
height: 83.2px;
font-weight: 700;
font-family: 'Lato','Noto Sans JP', sans-serif;
font-size: 19.2px;
line-height: 83.2px;
text-align: center;
color: #fff;
}
#Item1 .block .img p:nth-of-type(1)::before {
content: 'Before';
background-color: #666;
}
#Item1 .block .img p:nth-of-type(2)::before {
content: 'After';
background-color: #000;
}
#Item1 .block .img img {
display: block;
margin-bottom: 16px;
}
#Item2 .explan .block {
margin: 0 auto;
padding: 64px 0 0 0;
width: 528px;
text-align: left;
}
#Item2 .explan .block h3 {
margin-bottom: 20.8px;
font-weight: 600;
font-size: 32px;
line-height: 1.5;
text-align: center;
color: #009999;
}
#Item2 .explan .block p {
margin-bottom: 36.8px;
font-size: 24px;
line-height: 1.87;
}
#Item2 .explan .block .image p {
margin: 32px 0 0 0;
font-size: 19.2px;
line-height: 1.67;
}

/* .Story
================================================== */
#Story {
box-sizing: border-box;
position: relative;
background: url("../img/sty_bg.jpg") repeat center center;
background-size: 600px auto;
}
#Story .cont {
margin: 0 auto;
padding: 52.8px 0 64px 0;
width: 528px;
}
#Story .ctg {
position: relative;
margin-bottom: 22.4px;
font-weight: 600;
font-family: 'Noto Serif JP', serif;
font-size: 19.2px;
line-height: 1.2;
text-align: center;
}
#Story .ctg span {
position: relative;
background: url("../img/sty_bg.jpg") repeat center center;
background-size: 600px auto;
padding: 0 3.2px;
z-index: 1;
}
#Story .ctg::before {
transform: translateY(-50%);
content: '';
position: absolute;
left: 0;
top: 50%;
border-top: double #000;
width: 100%;
}
#Story h2 {
margin-bottom: 27.2px;
font-weight: 600;
font-family: 'Noto Serif JP', serif;
font-size: 48px;
line-height: 1.2;
color: #009999;
text-align: center;
}
#Story .catch {
margin-bottom: 44.8px;
font-weight: 600;
font-family: 'Noto Serif JP', serif;
font-size: 25.6px;
line-height: 38.4px;
text-align: center;
}
#Story .catch span {
background-color: #fff;
padding: 0 19.2px;
}
#Story .credit {
position: absolute;
left: 150.4px;
top: 129.6px;
width: 216px;
font-size: 22.4px;
line-height: 1.43;
text-align: center;
}
#Story .exp {
font-size: 24px;
line-height: 1.87;
text-align: left;
}
#Story .exp img {
position: relative;
left: -4.8px;
margin: -17.6px 0 16px 32px;
float: right;
}
#Story .exp p {
margin-bottom: 32px;
}
#Story .exp p:last-child {
margin-bottom: 24px;
}

#LINEUP {
background-color: #d1eded;
padding-bottom: 0;
}
#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: #009999;
width: 1.6px;
height: 48px;
}
#LINEUP .head .bubble::after {
transform: rotate(30deg);
content: '';
position: absolute;
right: -24px;
bottom: 0;
background-color: #009999;
width: 1.6px;
height: 48px;
}
#LINEUP .head h2 {
margin-bottom: 16px;
font-weight: 500;
font-size: 44.8px;
line-height: 1.2;
color: #009999;
}
#LINEUP .head .lead {
font-size: 24px;
line-height: 1.8;
}
#LINEUP .item {
display: flex;
flex-direction: column;
gap: 57.6px;
margin-top: 89.6px;
padding-bottom: 96px;
}
#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;
}


#contents .banner {
background-color: #f5c8cc;
text-align: center;
}
#contents .banner a {
display: block;
}