@charset "utf-8";
/* CSS Document - 20261002 NISP facemilk */

/****************************************
clearfix
*****************************************/
.cf:before,
.cf:after {
display: table;
content: "";
}
.cf:after {
clear: both;
}
.cf {
zoom: 1;
}

.Noto_Sans {
font-family: 'Noto Sans JP', sans-serif;
}
.Noto_Serif {
font-family: 'Noto Serif JP', serif;
}

#contents {
font-family: 'Inter','Noto Sans JP', sans-serif;
font-weight: 400;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
letter-spacing: 0.05em;
text-align: left;
color: #333;
}
#pageBody {
background: none;
zoom: 100%;
overflow: hidden;
margin: 0 auto;
width: 375px;
}

.productBlock .itm .list,
.productBlock .item .list {
margin: 0 auto;
width: 330px;
}
.productBlock .itm .block,
.productBlock .item .block {
margin-bottom: 40px;
}
.productBlock .itm .block:last-child,
.productBlock .item .block:last-child {
margin-bottom: 0;
}
.productBlock .itm h4,
.productBlock .item h4 {
margin-bottom: 2px;
font-size: 16px;
font-weight: 500;
line-height: 1.38;
}
.productBlock .itm h4:first-child,
.productBlock .item h4:first-child {
margin-bottom: 17px;
}
.productBlock .itm h4 span,
.productBlock .item h4 span {
display: inline-block;
margin: 7px 0 -3px 0;
font-size: 13px;
}
.productBlock .itm .bonus,
.productBlock .item .bonus {
margin: 7px 0 3px 0;
font-size: 13px;
}
.productBlock .itm .bonus span,
.productBlock .item .bonus span {
display: inline-block;
background-color: #fff;
padding: 1px 5px;
}
.productBlock .itm .cnt,
.productBlock .item .cnt {
font-size: 13px;
line-height: 1.85;
}
.productBlock .itm .price,
.productBlock .item .price {
font-size: 14px;
line-height: 1.35;
font-weight: bold;
}
.productBlock .itm .price strong,
.productBlock .item .price strong {
font-size: 18px !important;
font-weight: bold;
}
.productBlock .itm .price span,
.productBlock .item .price span {
font-size: 14px;
font-weight: bold;
}
.productBlock .itm .special,
.productBlock .item .special {
position: relative;
}
.productBlock .itm .special .price,
.productBlock .item .special .price {
margin-bottom: 1px;
font-size: 15px;
line-height: 1.35;
font-weight: bold;
color: #ee0000;
}
.productBlock .itm .special .price strong,
.productBlock .item .special .price strong {
font-size: 24px !important;
font-weight: 600;
}
.productBlock .itm .special .price span,
.productBlock .item .special .price span {
font-size: 15px;
font-weight: bold;
}
.productBlock .itm .special .normal,
.productBlock .item .special .normal {
margin-top: 1px;
font-size: 13px;
}
.productBlock .itm .more,
.productBlock .item .more {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-top: 12px;
}
.productBlock .itm .lnk,
.productBlock .item .lnk {
font-family: dnp-shuei-mgothic-std, sans-serif;
font-weight: 600;
font-style: normal;
font-size: 13px;
line-height: 30px;
letter-spacing: 0;
text-align: center;
}
.productBlock .itm .lnk a,
.productBlock .item .lnk a {
box-sizing: border-box;
display: block;
position: relative;
background-color: #ffcc33;
border-radius: 15px;
padding-right: 9px;
width: 140px;
height: 30px;
color: #000;
}
.productBlock .itm .lnk a::after,
.productBlock .item .lnk a::after {
transform: translateY(-50%);
content: "\f054";
position: absolute;
right: 10px;
top: 50%;
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 10px;
color: #ff6600;
}
.productBlock .itm .lnk a:hover,
.productBlock .item .lnk a:hover {
background-color: #ff8800;
color: #fff;
text-decoration: none;
}
.productBlock .itm .lnk a:hover::after,
.productBlock .item .lnk a:hover::after {
color: #fff;
}
.productBlock .itm .number,
.productBlock .item .number {
display: flex;
flex-wrap: wrap;
margin: 0 0 9px 0;
line-height: 21px;
letter-spacing: 0;
text-align: center;
}
.productBlock .itm h4:first-child,
.productBlock .item h4:first-child {
margin: 0 0 12px 0;
}
.productBlock .itm .number dt,
.productBlock .item .number dt {
background-color: #000;
border-right: none;
border: solid 1px #000;
border-radius: 3px 0 0 3px;
width: 60px;
font-size: 11px;
color: #fff;
}
.productBlock .itm .number dd,
.productBlock .item .number dd {
background-color: #fff;
border: solid 1px #000;
border-radius: 0 3px 3px 0;
border-left: none;
padding: 0 4px;
min-width: 42px;
font-size: 12px;
}

.productBlock .itm .off,
.productBlock .item .off {
box-sizing: border-box;
position: absolute;
left: 233px;
top: -12px;
background-color: #ee0000;
border-radius: 50%;
padding-top: 19px;
width: 80px;
height: 80px;
letter-spacing: 0;
line-height: 1.1;
font-size: 16px;
text-align: center;
color: #fff;
}
.productBlock .itm .off strong,
.productBlock .item .off strong {
font-weight: 600;
font-size: 27px;
letter-spacing: 0.05em;
}
.productBlock .itm .off span,
.productBlock .item .off span {
font-size: 14px;
}

.productBlock .item .btn {
box-sizing: border-box;
background-color: #f58811;
border-radius: 12px;
margin: 36px auto 0 auto;
padding: 18px 15px 18px 15px;
width: 330px;
text-align: center;
}
.productBlock .item .btn a {
display: block;
background-color: #fff588;
border-radius: 8px;
margin-top: 15px;
font-size: 24px;
font-weight: bold;
line-height: 60px;
color: #664444;
}

/* #mainVisual
================================================== */
#mainVisual {
position: relative;
margin: 0 auto;
width: 375px;
}
#mainVisual .title {
margin: 0;
}
#mainVisual .visual {
position: relative;
box-sizing: border-box;
background: url("../img/title_bg.jpg") no-repeat center top;
background-size: 375px auto;
padding: 43px 0 0 0;
width: 375px;
height: 600px;
}
#mainVisual .visual h1 {
margin: 0 auto;
font-family: 'Noto Serif JP', serif;
font-weight: 300;
font-size: 30px;
line-height: 1.55;
letter-spacing: 0.0em;
text-align: center;
color: #222;
}
#mainVisual .visual .new {
position: absolute;
right: 28px;
top: 210px;
margin: 0;
font-family: 'Great Vibes', cursive;
font-weight: 400;
font-size: 48px;
line-height: 1;
color: #fff;
text-shadow: 0 1px 4px rgba(0,0,0,0.18);
}
/* campaignBanner
================================================== */
.campaignBanner {
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
background: #e8b45a;
margin: 0;
padding: 25px 0 0 0;
width: 375px;
height: 185px;
text-align: left;
}
.campaignBanner h3 {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 11px;
font-weight: 400;
font-size: 20px;
line-height: 1;
letter-spacing: 0;
color: #553322;
}
.campaignBanner .period {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 17px;
font-weight: 400;
font-size: 36px;
line-height: 1;
color: #553322;
}
.campaignBanner .period i {
display: flex;
justify-content: center;
align-items: center;
background-color: #553322;
border-radius: 50%;
margin: 0 5px;
width: 30px;
height: 30px;
font-weight: 400;
font-style: normal;
font-size: 16px;
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: 6px;
padding-right: 16px;
width: 280px;
height: 50px;
font-weight: 500;
font-size: 20px;
letter-spacing: 0;
text-decoration: none;
color: #664433;
}
.campaignBanner .button a:hover {
background-color: #ff8800;
color: #fff;
}
.campaignBanner .button a img {
position: absolute;
left: -32px;
top: -14px;
}
.campaignBanner .button a span {
transform: translateY(-50%);
position: absolute;
right: 16px;
top: 50%;
}

/* sections common
================================================== */
.section .cont {
margin: 0 auto;
width: 375px;
}
.section .image img {
display: block;
max-width: 100%;
height: auto;
}

/* #Lead
================================================== */
#Lead .cont {
padding: 49px 0 0 0;
}
#Lead .lead {
margin: 0 auto 50px auto;
width: 300px;
font-weight: 400;
font-size: 16px;
line-height: 2.25;
text-align: center;
letter-spacing: 0.08em;
}
#Lead .checkBox {
box-sizing: border-box;
position: relative;
margin: 0 auto 54px auto;
padding: 15px 15px 24px 15px;
width: 330px;
background: #f9d2a4;
border: 4px solid #f9d2a4;
box-shadow: inset 0 0 0 2px #fff;
}
#Lead .checkBox .hed {
display: flex;
align-items: center;
justify-content: center;
margin: 0 0 15px 0;
padding: 8px;
background: #ee8800;
color: #fff;
font-family: 'Noto Serif JP', serif;
font-size: 20px;
font-weight: 200;
line-height: 1.25;
text-align: center;
letter-spacing: 0.04em;
}
#Lead .checkBox ul {
margin: 0;
padding: 0;
list-style: none;
}
#Lead .checkBox li {
position: relative;
padding: 0 0 0 26px;
margin: 0 0 11px 0;
font-weight: 400;
font-size: 14px;
line-height: 1.5;
color: #443322;
}
#Lead .checkBox li:last-child {
margin-bottom: 0;
}
#Lead .checkBox li::before {
content: "";
position: absolute;
left: 0;
top: 5px;
box-sizing: border-box;
background: url("../img/icn_check.png") no-repeat center center;
background-size: 20px 20px;
width: 20px;
height: 20px;
}
#Lead .checkBox li u {
font-weight: 700;
font-size: 18px;
text-decoration: underline;
text-underline-offset: 3px;
}

/* Point sections
================================================== */
.point {
padding: 20px 0 10px 0;
}
.point .pointLabel {
display: block;
margin: 0 0 10px 22px;
}
.point .catch {
margin: 0 auto 22px auto;
width: 330px;
}
.point .catch span {
position: relative;
padding: 0 5px;
font-family: 'Noto Serif JP', serif;
font-size: 24px;
font-weight: 500;
line-height: 1.46;
letter-spacing: 0.0em;
color: #222;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
.point .catch span::before {
content: '';
position: absolute;
left: 0;
top: 2px;
width: 100%;
height: 32px;
background: #f9ddb8;
z-index: -1;
}
.point .body {
margin: 0 auto 34px auto;
width: 330px;
font-weight: 400;
font-size: 15px;
line-height: 1.8;
letter-spacing: 0.04em;
}
.point .featTitle {
margin: 0 auto 21px auto;
padding: 14px 0 0 0;
width: 330px;
font-size: 18px;
font-weight: 600;
line-height: 1.5;
text-align: center;
color: #8e562e;
}
.point .featList {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 auto 60px auto;
padding: 0;
width: 330px;
list-style: none;
}
.point .featList li {
position: relative;
flex: 1;
padding: 0 6px;
font-family: 'Noto Serif JP', serif;
font-size: 16px;
font-weight: 400;
line-height: 1.31;
text-align: center;
color: #333;
}
.point .featList li:not(:last-child)::after {
content: "";
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 1px;
height: 66px;
background: #000;
}
.point .frame {
position: relative;
box-sizing: border-box;
margin: 0 auto 44px auto;
padding: 24px 24px 30px 24px;
width: 330px;
background: linear-gradient(0deg, #fff 50%,#f2e9df 100%);
}
.point .frame::before {
content: '';
position: absolute;
left: 0;
top: 5px;
bottom: 5px;
border-left: 2px solid #ba9881;
}
.point .frame::after {
content: '';
position: absolute;
right: 0;
top: 5px;
bottom: 5px;
border-right: 2px solid #ba9881;
}
.point .frame .inner::before {
content: '';
position: absolute;
left: 5px;
right: 5px;
top: 0px;
border-top: 2px solid #ba9881;
}
.point .frame .inner::after {
content: '';
position: absolute;
left: 5px;
right: 5px;
bottom: 0px;
border-bottom: 2px solid #ba9881;
}
.point .frame h3 {
margin: 0 0 7px 0;
font-size: 16px;
font-weight: 600;
line-height: 1.43;
color: #8e562e;
}
.point .frame p {
margin: 0 0 24px 0;
font-weight: 400;
font-size: 15px;
line-height: 1.8;
}
.point .frame .image {
display: flex;
flex-direction: column;
gap: 20px;
margin: 0 0 36px 0;
}
.point .frame .image:last-child {
margin-bottom: 0;
}
.point .frame .image img {
display: block;
width: 100%;
height: auto;
}

/* ingredients
================================================== */
#Point3 .ingHead {
margin: 12px auto 22px auto;
width: 330px;
font-size: 18px;
font-weight: 600;
text-align: center;
color: #8e562e;
}
#Point3 .ingGrid {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 18px auto;
padding: 0;
width: 344px;
list-style: none;
}
#Point3 .ingGrid li {
width: 172px;
margin: 0 0 32px 0;
text-align: center;
font-weight: 400;
}
#Point3 .ingGrid li img {
display: block;
margin: 0 auto 9px auto;
width: 100px;
height: 100px;
border-radius: 50%;
object-fit: cover;
}
#Point3 .ingGrid li span {
display: block;
margin: 0 0 2px 0;
font-size: 13px;
line-height: 1.45;
color: #555;
}
#Point3 .ingGrid li strong {
display: block;
font-size: 14px;
font-weight: 500;
line-height: 1.4;
}
#Point3 .beautyHead {
margin: 0 auto 17px auto;
width: 330px;
font-size: 18px;
font-weight: 600;
text-align: center;
color: #8e562e;
}
#Point3 .beautyGrid {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 30px auto;
padding: 0;
width: 350px;
list-style: none;
}
#Point3 .beautyGrid li {
width: 175px;
margin: 0 0 32px 0;
text-align: center;
}
#Point3 .beautyGrid .circle {
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 0 auto 10px auto;
padding: 12px 10px;
width: 120px;
height: 120px;
border-radius: 50%;
background: #f9ddb8;
font-size: 14px;
font-weight: 600;
line-height: 1.28;
color: #333;
}
#Point3 .beautyGrid .circle i {
display: block;
margin: 4px 0;
width: 82px;
height: 0;
border-top: 1px dashed #c9a07a;
}
#Point3 .beautyGrid li span {
display: block;
font-size: 13px;
line-height: 1.45;
font-weight: 400;
color: #444;
}

/* Product
================================================== */
.productBlock {
background: #fceedb url("../img/prd_bottle.jpg") no-repeat top center;
background-size: 375px auto;
padding: 0 0 50px 0;
}
.productBlock .prdVisual {
position: relative;
box-sizing: border-box;
margin: 0 auto;
padding: 65px 22px 20px 40px;
width: 375px;
min-height: 365px;
overflow: hidden;
}
.productBlock .prdVisual .txt {
position: relative;
z-index: 2;
width: 170px;
}
.productBlock .prdVisual .txt h3 {
margin: 0 0 2px 0;
font-weight: 400;
font-size: 14px;
line-height: 1.5;
color: #8e562e;
}
.productBlock .prdVisual .txt p {
margin: 0;
font-weight: 400;
font-size: 12px;
line-height: 1.7;
color: #333;
}
.productBlock .prdVisual .bottle {
position: absolute;
right: 52px;
top: 50px;
z-index: 1;
width: 112px;
height: auto;
}
.productBlock .prdVisual .texture {
position: absolute;
left: 110px;
bottom: 70px;
z-index: 2;
width: 120px;
height: 120px;
border-radius: 50%;
}
.productBlock .prdVisual .newMark {
position: absolute;
left: 28px;
bottom: 40px;
z-index: 3;
width: 126px;
height: auto;
}
.productBlock .item {
margin: 0 auto;
width: 330px;
}
.productBlock .block {
position: relative;
}

/* free / additive
================================================== */
.productBlock #Free {
background: none;
padding: 35px 0 5px 0;
}
.productBlock #Free .cont {
padding-top: 10px;
}
#Free h2 {
margin: 0 0 16px 22px;
font-size: 18px;
font-weight: 600;
color: #996644;
}
#Free .tags {
display: flex;
gap: 10px;
margin: 0 0 21px 22px;
padding: 0;
list-style: none;
}
#Free .tags li {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 4px 14px;
border-radius: 4px;
background: #ee8800;
color: #fff;
font-size: 15px;
font-weight: 500;
}
#Free ul.list {
margin: 0 0 0 22px;
padding: 0;
list-style: none;
}
#Free ul.list li {
position: relative;
padding: 0 0 0 18px;
text-indent: 0;
margin: 0 0 6px 0;
font-size: 14px;
line-height: 1.5;
color: #443322;
}
#Free ul.list li::before {
content: "";
position: absolute;
left: 0;
top: 5px;
width: 14px;
height: 14px;
border-radius: 50%;
background: #ee8800;
}
#Free .note {
margin: 0 22px;
font-size: 14px;
line-height: 1.8;
color: #443322;
}
#Free .note small {
display: block;
margin-top: 4px;
font-size: 12px;
color: #666;
}

/* Movie
================================================== */
#Movie {
margin: 0;
font-size: 0;
}
#Movie img {
display: block;
width: 375px;
height: auto;
}

/* HOW TO USE
================================================== */
#Howto .cont {
box-sizing: border-box;
position: relative;
border: solid 1px #f38200;
border-radius: 8px;
margin: 70px auto 75px auto;
padding: 29px 0 34px 0;
width: 330px;
}
#Howto .head {
margin: 0 0 25px 0;
text-align: center;
}
#Howto .head h2 {
display: inline-block;
position: absolute;
left: 0;
top: -22px;
width: 100%;
font-family: 'Noto Serif JP', serif;
font-size: 26px;
font-weight: 600;
letter-spacing: 0.08em;
color: #f38200;
}
#Howto .head h2 span {
background-color: #fff;
padding: 0 15px;
}
#Howto .head p {
margin: 0;
font-weight: 600;
font-size: 18px;
line-height: 1.45;
color: #f38200;
}
#Howto .step {
margin: 0 auto 43px auto;
width: 290px;
}
#Howto .step:last-child {
margin: 0 auto 0 auto;
width: 290px;
}
#Howto .step .num {
float: left;
display: flex;
align-items: center;
justify-content: center;
margin: 8px 15px 0 0;
width: 40px;
height: 40px;
background: #f38200;
border-radius: 4px;
color: #fff;
font-family: 'Noto Serif JP', serif;
font-size: 26px;
font-weight: 600;
}
#Howto .step .txt {
margin: 0 0 24px 0;
font-weight: 400;
font-size: 15px;
line-height: 1.8;
}
#Howto .step .txt em {
font-style: normal;
color: #f38200;
font-weight: 600;
}
#Howto .step .image img {
display: block;
width: 270px;
height: auto;
border-radius: 10px;
margin: 0 auto;
}

#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: -40px;
top: -40px;
width: 30px;
height: 30px;
cursor: pointer;
}
#brightcoveCONT .close::before {
transform: translateY(-50%) translateX(-50%) rotate(-45deg);
content: '';
position: absolute;
right: 50%;
top: 50%;
width: 1px;
height: 30px;
background-color: #fff;
}
#brightcoveCONT .close::after {
transform: translateY(-50%) translateX(-50%) rotate(45deg);
content: '';
position: absolute;
right: 50%;
top: 50%;
width: 1px;
height: 30px;
background-color: #fff;
}
