@charset "shift_jis";

.Noto_Sans {
font-family: 'Noto Sans JP', sans-serif;
}
.Noto_Serif {
font-family: 'Noto Serif JP', 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.05em;
}
#pageBody {
background: none;
margin: 0 auto 0 auto;
width: 600px;
overflow: hidden;
text-align: left;
}

#pageBody a {
transition: all .2s linear;
text-decoration: none;
}

.productBlock .item .list {
margin: 0 auto;
width: 528px;
}
.productBlock .item .block {
margin-bottom: 64px;
}
.productBlock .item .block:last-child {
margin-bottom: 0;
}
.productBlock .item h4 {
margin-bottom: 3.2px;
font-size: 25.6px;
font-weight: 500;
line-height: 1.38;
}
.productBlock .item .bonus {
margin: 11.2px 0 4.8px 0;
font-size: 20.8px;
line-height: 1.55;
}
.productBlock .item .bonus span {
display: inline-block;
background-color: #fff;
padding: 1px 8px;
}
.productBlock .item .cnt {
font-size: 20.8px;
line-height: 1.85;
}
.productBlock .item .special {
position: relative;
}
.productBlock .item .special .price {
margin-bottom: 1px;
font-size: 24px;
line-height: 1.35;
font-weight: bold;
color: #ee0000;
}
.productBlock .item .special .price strong {
font-size: 38.4px !important;
font-weight: 600;
}
.productBlock .item .special .normal {
margin-top: 1px;
font-size: 20.8px;
}
.productBlock .item .more {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-top: 19.2px;
}
.productBlock .item .lnk {
font-family: dnp-shuei-mgothic-std, sans-serif;
font-weight: 600;
font-style: normal;
font-size: 20.8px;
line-height: 48px;
letter-spacing: 0;
text-align: center;
}
.productBlock .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;
}
.productBlock .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;
}
.productBlock .item .lnk a:hover {
background-color: #ff8800;
color: #fff;
text-decoration: none;
}
.productBlock .item .lnk a:hover::after {
color: #fff;
}
.productBlock .item .number {
display: flex;
flex-wrap: wrap;
margin: 0 0 20.8px 0;
line-height: 33.6px;
letter-spacing: 0;
text-align: center;
}
.productBlock .item .number dt {
background-color: #000;
border: solid 1px #000;
border-radius: 4.8px 0 0 4.8px;
width: 96px;
font-size: 17.6px;
color: #fff;
}
.productBlock .item .number dd {
background-color: #fff;
border: solid 1px #000;
border-radius: 0 4.8px 4.8px 0;
border-left: none;
padding: 0 6.4px;
min-width: 67.2px;
font-size: 19.2px;
}
.productBlock .item .off {
box-sizing: border-box;
position: absolute;
left: 372.8px;
top: -19.2px;
background-color: #ee0000;
border-radius: 50%;
padding-top: 30.4px;
width: 128px;
height: 128px;
letter-spacing: 0;
line-height: 1.1;
font-size: 25.6px;
text-align: center;
color: #fff;
}
.productBlock .item .off strong {
font-weight: 600;
font-size: 43.2px;
letter-spacing: 0.05em;
}

/* #mainVisual
================================================== */
#mainVisual {
position: relative;
margin: 0 auto;
width: 600px;
}
#mainVisual .title {
margin: 0;
}
#mainVisual .visual {}
#mainVisual .visual img {
display: block;
width: 100%;
height: auto;
}

/* campaignBanner
================================================== */
.campaignBanner {
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
background: #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: 32px;
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 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%;
}

/* sections common
================================================== */
.section .cont {
margin: 0 auto;
}
.section .image img {
display: block;
max-width: 100%;
height: auto;
}
.section .catch {
margin: 0 auto 35.2px auto;
width: 528px;
}
.section .catch span {
position: relative;
display: inline;
padding: 0 6.4px;
font-size: 35.2px;
font-weight: 600;
line-height: 1.59;
letter-spacing: 0.02em;
color: #222;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
.section .catch span::before {
content: '';
position: absolute;
left: 0;
top: 55%;
width: 100%;
height: 45%;
background: #ffe6f5;
z-index: -1;
}
.section .body {
margin: 0 auto 44.8px auto;
width: 528px;
font-size: 24px;
line-height: 1.8;
letter-spacing: 0.04em;
}
.section .body em,
.section .mark {
font-style: normal;
background: linear-gradient(transparent 55%, #fff3a8 55%);
}

/* #Lead
================================================== */
#Lead .cont {
padding: 80px 0 0 0;
}
#Lead .lead {
margin: 0 auto 100.8px auto;
width: 480px;
font-size: 25.6px;
line-height: 2.25;
text-align: center;
letter-spacing: 0.08em;
}

/* #Recommend
================================================== */
#Recommend .cont {
padding: 0 0 70.4px 0;
}
#Recommend .box {
box-sizing: border-box;
position: relative;
margin: 0 auto;
padding: 52.8px 67.2px 28.8px 67.2px;
width: 528px;
border: 3.2px solid #ee6699;
border-radius: 16px;
}
#Recommend .box::before {
content: '';
display: block;
position: absolute;
left: 48px;
right: 48px;
bottom: -16px;
background-color: #fff;
height: 16px;
}
#Recommend .hed {
position: absolute;
left: 48px;
right: 48px;
top: -20.8px;
box-sizing: border-box;
background: #fff url("../img/rec_hed_bg.png") no-repeat center center;
background-size: auto 46.4px;
font-size: 28.8px;
font-weight: 600;
line-height: 1.3;
letter-spacing: 0.06em;
text-align: center;
color: #ee6699;
}
#Recommend ul {
margin: 0;
padding: 0;
list-style: none;
}
#Recommend li {
position: relative;
padding: 0 0 0 41.6px;
margin: 0 0 16px 0;
font-size: 24px;
line-height: 1.46;
color: #333;
}
#Recommend li:last-child {
margin-bottom: 0;
}
#Recommend li::before {
content: "";
position: absolute;
left: 0;
top: 0px;
background: #fff url("../img/rec_icn.png") no-repeat center center;
background-size: 32px 32px;
width: 32px;
height: 32px;
}

/* #Colors
================================================== */
#Colors .cont {
padding: 16px 0 48px 0;
}
#Colors .intro {
margin: 0 auto 64px auto;
width: 528px;
font-size: 24px;
line-height: 1.85;
}
#Colors .colorItem {
margin: 0 auto 64px auto;
width: 480px;
}
#Colors .colorItem .row {
display: flex;
align-items: center;
gap: 36.8px;
margin: 0 0 38.4px 0;
}
#Colors .colorItem .chip {
display: block;
width: 203.2px;
height: auto;
}
#Colors .colorItem .name {
font-weight: 500;
line-height: 1.35;
}
#Colors .colorItem .name .en {
display: block;
font-weight: 700;
font-family: 'Inter', sans-serif;
font-size: 44.8px;
letter-spacing: 0.04em;
color: #999;
}
#Colors .colorItem.coral .name .en {
color: #ee6699;
}
#Colors .colorItem .name .ja {
display: block;
font-size: 28.8px;
color: #333;
}
#Colors .colorItem .desc {
margin: 0;
font-size: 24px;
line-height: 1.85;
}
#Colors .colorItem .desc em {
background-color: #fff698;
font-style: normal;
}

/* #Lips
================================================== */
#Lips .cont {
padding: 32px 0 56px 0;
}
#Lips .wrap {
position: relative;
margin: 0 auto 32px auto;
width: 528px;
}
#Lips .wrap .body {
margin: 0 0 0 0;
width: auto;
}
#Lips .lipNone {
float: right;
width: 251.2px;
margin: 0 0 54.4px 32px;
padding: 19.2px 19.2px 0 0;
}
#Lips .lipNone img {
display: block;
width: 100%;
height: auto;
}
#Lips .lipNone .caption {
display: block;
margin-top: 6.4px;
font-weight: 600;
font-size: 22.4px;
text-align: center;
}

#Lips .shot {
margin: 0 auto 59.2px auto;
width: 528px;
}
#Lips .shot img {
display: block;
width: 528px;
height: auto;
margin: 0 auto;
border-radius: 16px;
}
#Lips .shot span {
display: block;
margin-top: -4.8px;
font-weight: 600;
font-size: 24px;
text-align: center;
}

/* Product
================================================== */
.productBlock {
background: #ffe6f5;
padding: 0 0 96px 0;
}
.productBlock .prdVisual {
position: relative;
box-sizing: border-box;
margin: 0 auto;
padding: 51.2px 0 16px 0;
width: 600px;
text-align: center;
}
.productBlock .prdVisual .newMark {
position: absolute;
left: 35.2px;
top: -16px;
z-index: 2;
}
.productBlock .prdVisual .bottles {
display: block;
margin: 44.8px auto 51.2px auto;
width: 275.2px;
height: auto;
}
.productBlock .prdVisual .prdName {
margin: 0 auto 16px auto;
width: 528px;
font-size: 25.6px;
font-weight: 600;
text-align: left;
}
.productBlock .item {
margin: 0 auto;
width: 528px;
}
.productBlock .item .shade {
margin: 0 0 12.8px 0;
font-size: 25.6px;
font-weight: 600;
}

/* Features
================================================== */
#Features {
padding: 86.4px 0 3.2px 0;
}
#Features .feat {
margin: 0 auto 108.8px auto;
width: 528px;
}
#Features .feat .catch {
width: auto;
margin: 0 0 36.8px 0;
}
#Features .feat .body {
width: auto;
margin: 0 0 64px 0;
}
#Features .effectHead {
margin: 0 0 32px 0;
font-size: 25.6px;
font-weight: 600;
text-align: center;
color: #555;
}
#Features .effectList {
display: flex;
justify-content: space-between;
gap: 24px;
margin: 0;
padding: 0;
list-style: none;
}
#Features .effectList li {
position: relative;
box-sizing: border-box;
flex: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 25.6px 6.4px;
border: 1px solid #ee6699;
border-radius: 12.8px;
background: #fff;
font-size: 24px;
font-weight: 600;
line-height: 1.35;
text-align: center;
color: #ee6699;
}
#Features .effectList li::before {
content: '';
display: block;
position: absolute;
top: 16px;
bottom: 16px;
left: -8px;
background-color: #fff;
width: 16px;
}
#Features .effectList li::after {
content: '';
display: block;
position: absolute;
top: 16px;
bottom: 16px;
right: -8px;
background-color: #fff;
width: 16px;
}
#Features .diagram {
display: block;
margin: -35.2px auto 0 auto;
width: 440px;
height: auto;
}
#Features .compare {
display: flex;
justify-content: space-between;
gap: 16px;
margin: 0;
}
#Features .compare figure {
margin: 0;
width: 252.8px;
}
#Features .compare img {
display: block;
width: 252.8px;
height: auto;
}
#Features .compare figcaption {
margin-top: 17.6px;
font-size: 22.4px;
line-height: 1.4;
text-align: center;
}
#Features .ba {
margin: 12.8px 0 0 0;
}
#Features .ba .main {
display: block;
width: 544px;
height: auto;
}
#Features .ba .labels {
display: flex;
justify-content: space-between;
margin: 9.6px 6.4px 16px 6.4px;
font-size: 19.2px;
color: #555;
}
#Features .ba .details {
display: flex;
justify-content: space-between;
gap: 16px;
position: relative;
}
#Features .ba .details img {
display: block;
width: 252.8px;
height: auto;
border-radius: 9.6px;
}
#Features .ba .bubble {
position: absolute;
right: -6.4px;
top: 42%;
box-sizing: border-box;
padding: 12.8px 16px;
border-radius: 64px;
background: #e96b98;
font-size: 19.2px;
font-weight: 500;
line-height: 1.3;
text-align: center;
color: #fff;
}

/* free / additive
================================================== */
.productBlock #Free {
background: none;
margin: 0 auto -8px auto;
padding: 72px 0 0 0;
width: 528px;
}
#Free h2 {
margin: 0 0 22.4px 0;
font-size: 28.8px;
font-weight: 600;
color: #333;
}
#Free .tags {
display: flex;
flex-wrap: wrap;
gap: 16px;
margin: 0 0 28.8px 0;
padding: 0;
list-style: none;
}
#Free .tags li {
flex: 1;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 6.4px 0;
border-radius: 6.4px;
background: #ee6699;
color: #fff;
font-size: 25.6px;
line-height: 1.35;
text-align: center;
}
#Free .tags li span {
font-size: 22.4px;
}
#Free .tags li.wide {
flex: initial;
width: 100%;
}
#Free ul.list {
margin: 0;
padding: 0;
list-style: none;
}
#Free ul.list li {
position: relative;
padding: 0 0 0 28.8px;
margin: 0 0 0 0;
text-indent: 0;
font-size: 24px;
line-height: 1.8;
color: #333;
}
#Free ul.list li::before {
content: "";
position: absolute;
left: 0;
top: 11.2px;
width: 22.4px;
height: 22.4px;
border-radius: 50%;
background: #ee6699;
}
#Free .note {
margin: 0 0 0 0;
font-size: 24px;
line-height: 1.8;
color: #333;
}
#Free .note small {
display: block;
margin-top: 1px;
font-size: 19.2px;
color: #666;
}

/* HOW TO USE
================================================== */
#Howto .cont {
box-sizing: border-box;
position: relative;
margin: 107.2px auto 80px auto;
padding: 48px 49.6px 44.8px 49.6px;
width: 528px;
border: 3.2px solid #ee6699;
border-radius: 16px;
}
#Howto .cont::before {
content: '';
display: block;
position: absolute;
left: 48px;
right: 48px;
bottom: -16px;
background-color: #fff;
height: 16px;
}
#Howto .head {
position: absolute;
left: 48px;
right: 48px;
top: -20.8px;
box-sizing: border-box;
background: #fff;
background-size: auto 46.4px;
}
#Howto .head h2 {
font-size: 32px;
font-weight: 500;
line-height: 1.3;
letter-spacing: 0.06em;
text-align: center;
color: #ee6699;
}
#Howto .head h2 span {
background-color: #fff;
padding: 0 24px;
}
#Howto .lead {
margin: 0 0 36.8px 0;
font-size: 24px;
line-height: 1.8;
}
#Howto .row {
display: flex;
align-items: center;
gap: 25.6px;
}
#Howto .row .chip {
display: block;
width: 176px;
height: auto;
}
#Howto .uses {
margin: 0;
padding: 0;
list-style: none;
flex: 1;
}
#Howto .uses li {
position: relative;
padding: 16px 0 16px 25.6px;
border-bottom: 1px dotted #e96b98;
font-size: 22.4px;
font-weight: 400;
line-height: 1.4;
}
#Howto .uses li:last-child {
border-bottom: none;
}
#Howto .uses li::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 19.2px;
height: 19.2px;
border-radius: 50%;
background: #ee6699;
}
#Howto .spacer {
height: 64px;
}


#brightcoveMASK {
position: fixed;
left: 0;
top: 0;
background-color: rgba(0,0,0,0.7);
width: 100%;
height: 100%;
z-index: 1000;
display: none;
}
#brightcoveCONT {
transform: translateY(-50%) translateX(-50%);
position: fixed;
left: 50%;
top: 50%;
z-index: 1001;
display: none;
width: 100%;
}
#brightcoveCONT .video-js {
width: 100%;
height: 100%;
aspect-ratio: 16 / 9;
}
#brightcoveCONT .close {
content: '';
position: absolute;
right: -64px;
top: -64px;
width: 48px;
height: 48px;
cursor: pointer;
}
#brightcoveCONT .close::before {
transform: translateY(-50%) translateX(-50%) rotate(-45deg);
content: '';
position: absolute;
right: 50%;
top: 50%;
width: 1px;
height: 48px;
background-color: #fff;
}
#brightcoveCONT .close::after {
transform: translateY(-50%) translateX(-50%) rotate(45deg);
content: '';
position: absolute;
right: 50%;
top: 50%;
width: 1px;
height: 48px;
background-color: #fff;
}
