@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, picture, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	background: #f9e8e8;
	box-sizing: border-box;
	overflow-x: hidden;
}
article, aside, dialog, figure, footer, header, hgroup, nav, section {
	display: block;
}
a {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
ul, ol {
	list-style: none;
}
picture {
	display: block;
}


/************************************************
common
************************************************/
.wrapper {
	width: 100%;
	max-width: 1920px;
	background: #fff;
	margin: 0 auto;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
	font-weight: 500;
	overflow: clip;
}
.wrapper section {
	overflow: hidden;
}
.wrapper .inner {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
	position: relative;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	.wrapper .inner {
		padding: 0;
	}
}
.wrapper img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.onlySP {
	display: none;
}
@media (min-width: 768px) {
	.inner .cnt {
		margin: 0 -42.3076923077vw;
		position: relative;
	}
}
@media (min-width: 1000px) {
	.inner .cnt {
		margin: 0 -460px;
	}
}
.pbg {
	display: none;
	position: fixed;
	top: 50%;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 130vh;
	transition: 1.5s ease;
}
.active .pbg {
	display: block;
}


/************************************************
header
************************************************/
#header h2 {
	width: calc(434 / 1920 * 100%);
	position: absolute;
	left: calc(459 / 1920 * 100%);
	top: calc(311 / 1090 * 100%);
	font-size: 0;
}
#header p.cpt {
	width: calc(57 / 1920 * 100%);
	position: absolute;
	left: calc(1385 / 1920 * 100%);
	top: calc(110 / 1090 * 100%);
	font-size: 0;
}
#header p.award {
	width: calc(814 / 1920 * 100%);
	position: absolute;
	left: calc(556 / 1920 * 100%);
	bottom: calc(37 / 1090 * 100%);
	font-size: 0;
}


/************************************************
point
************************************************/
.point {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_cv_bg.png") center top / 1920px auto repeat-y;
	position: relative;
}
.point .cnt {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_point_bg.jpg") center 0 / 100% auto no-repeat;
	aspect-ratio: 1920/754;
	box-sizing: border-box;
	padding: 1px 0 0;
	position: relative;
}
.point h2 {
	width: calc(147 / 1920 * 100%);
	margin: calc(105 / 1920 * 100%) calc(520 / 1920 * 100%) 0 auto;
}


/************************************************
point01
************************************************/
.point01 {}
.point01 .cnt {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_cv_bg.png") center 0 / 1920px auto repeat-y;
	position: relative;
	padding: 0 0 1px;
}
.point01 h3 {
	width: calc(332 / 1920 * 100%);
	position: absolute;
	left: calc(500 / 1920 * 100%);
	top: calc(269 / 694 * 100%);
}
.point01 p {
	width: calc(524 / 1920 * 100%);
	position: absolute;
	left: calc(916 / 1920 * 100%);
	top: calc(248 / 694 * 100%);
}
.point01 dl.ac {
	width: calc(920 / 1920 * 100%);
	margin: 0 auto 92px;
	position: relative;
	box-shadow: 11.658px 18.657px 28.48px 3.52px rgba(181, 51, 88, 0.1);
}
.point01 dl.ac dt {
	position: relative;
	cursor: pointer;
}
.point01 dl.ac dt::before, .point01 dl.ac dt::after {
	content: "";
	display: block;
	background: #fff;
	width: 22px;
	height: 2px;
	line-height: .1;
	position: absolute;
	right: 9px;
	bottom: 18px;
}
.point01 dl.ac dt::after {
	transform: rotate(-90deg);
	transition: all 0.3s ease;
}
.point01 dl.ac dt.active::after {
	transform: rotate(0deg);
}
.point01 dl.ac dt.active {}
.point01 dl.ac dt.active img {}
.point01 dl.ac dt + dd {
	display: none;
}
.point dl.ac02 dd.atte {
	color: #615b5b;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.1em;
	margin: 25px 0 0;
}


/************************************************
point02
************************************************/
.point02 {}
.point02 .cnt {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_cv_bg.png") center 0 / 1920px auto repeat-y;
	position: relative;
	padding: 1px 0;
}
.point02 h2 {
	position: relative;
	z-index: 1;
}
.point02 h3 {
	width: calc(310 / 1920 * 100%);
	position: absolute;
	left: calc(500 / 1920 * 100%);
	top: calc(201 / 2080 * 100%);
	z-index: 1;
}
.point02 p.p01 {
	width: calc(524 / 1920 * 100%);
	position: absolute;
	left: calc(916 / 1920 * 100%);
	top: calc(194 / 2080 * 100%);
	z-index: 1;
}
.point02 p.p02 {
	width: calc(524 / 1920 * 100%);
	position: absolute;
	left: calc(474 / 1920 * 100%);
	top: calc(660 / 2080 * 100%);
	z-index: 1;
}
.point02 p.result {
	width: calc(434 / 1920 * 100%);
	position: absolute;
	left: calc(743 / 1920 * 100%);
	top: calc(1048 / 2080 * 100%);
	z-index: 1;
}
.point02 h4 {
	margin-top: calc(-232 / 1920 * 100%);
	position: relative;
	z-index: 0;
}
.point .cnt .point04 {
	position: relative;
	background: #f7e9ee;
}
.point .cnt .point04 h3 {
	width: calc(800 / 1920 * 100%);
	margin: 0 auto;
}
.point .cnt .point04 p {
	width: calc(189 / 1920 * 100%);
	position: absolute;
	left: calc(1154 / 1920 * 100%);
	top: calc(91 / 952 * 100%);
}
.point .cnt .point04 p + p {
	width: calc(71 / 1920 * 100%);
	position: absolute;
	left: calc(659 / 1920 * 100%);
	top: calc(443 / 952 * 100%);
}
/************************************************
voice
************************************************/
.voice {
	background: #f9f0f3;
	position: relative;
	z-index: 8500;
}
.voice .cnt {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_voice_bg.jpg") center top / 100% auto no-repeat;
	aspect-ratio: 1920/650;
	box-sizing: border-box;
	padding: 1px 0;
}
.voice h2 {
	width: calc(695 / 1920 * 100%);
	margin: calc(100 / 1920 * 100%) auto calc(59 / 1920 * 100%);
}
.voice .slide {
	width: calc(840 / 1920 * 100%);
	margin: 0 auto;
	position: relative;
}
.voice .slide + p.atte {
	display: block;
	width: calc(810 / 1920 * 100%);
	margin: 0 auto;
	color: #585d5e;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.05em;
	padding: calc(20 / 1920 * 100%) 0;
}
.voice .swiper {
	position: relative;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	overflow: hidden;
}
.voice .slide .swipe-prev, .voice .slide .swipe-next {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_voice_arrow.png") left top / auto 100% no-repeat;
	width: 40px;
	height: 60px;
	position: absolute;
	right: -20px;
	top: 50%;
	margin-top: -30px;
	z-index: 20;
	cursor: pointer;
}
.voice .slide .swipe-prev {
	right: auto;
	left: -20px;
	transform: rotate(180deg);
}
.voice .slide .swiper-button-disabled {
	display: none;
}
.voice .swiper .swiper-slide {
	position: relative;
	width: 280px;
	padding: 0 9px;
	box-sizing: border-box;
}
.voice .swiper-pagination {
	position: relative;
	width: 100%;
	height: 3px;
	top: 0;
	line-height: 0.1;
	margin: calc(0 / 1920 * 100%) auto 0;
}
.voice .swiper-pagination .swiper-pagination-bullet {
	width: 40px;
	height: 3px;
	line-height: .1;
	background: #fff;
	opacity: 1;
	margin: 0 7px;
	border-radius: 0;
}
.voice .swiper-pagination .swiper-pagination-bullet-active {
	background: #cd7b96;
}
.voice .evaluation {
	position: relative;
}
.voice .evaluation ul {
	position: absolute;
	left: 50%;
	top: calc(200 / 604 * 100%);
	width: calc(252 / 1920 * 100%);
}
.voice .evaluation ul li {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}
.voice .evaluation ul li.point01 {
	width: calc(201 / 252 * 100%);
}
.voice .evaluation ul li.point02 {
	padding-top: calc(70 / 252 * 100%);
}
.voice .evaluation ul li.point03 {
	padding-top: calc(140 / 252 * 100%);
}
/************************************************
nayami
************************************************/
.nayami {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_nayami_bg02.jpg") 50% 50% / cover no-repeat;
}
.nayami .pbg {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_nayami_bg02.jpg") 50% 50% / cover no-repeat;
	z-index: 0;
}
.nayami .cnt {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_nayami_bg01.png") center top / 100% auto no-repeat;
	aspect-ratio: 1920 / 1460;
	padding-top: 1px;
}
.nayami h2 {
	width: calc(491 / 1920 * 100%);
	margin: calc(100 / 1920 * 100%) auto calc(40 / 1920 * 100%);
}
.nayami ul {
	width: calc(896 / 1920 * 100%);
	aspect-ratio: 896 / 664;
	margin: 0 auto;
	position: relative;
}
.nayami ul li {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}
.nayami ul li:nth-child(2) {
	padding-top: calc(130 / 896 * 100%);
}
.nayami ul li:nth-child(3) {
	padding-top: calc(250 / 896 * 100%);
}
.nayami div.graph {
	width: calc(474 / 1920 * 100%);
	margin: 0 auto 0 calc(911 / 1920 * 100%);
}
.nayami h3 {
	width: calc(796 / 1920 * 100%);
	margin: -285px auto 0 calc(540 / 1920 * 100%);
}
/************************************************
dev
************************************************/
.dev .inner {
	z-index: 9500;
}
.dev .cnt {
	background-color: #fff;
}
.dev h2 {
	position: relative;
	z-index: 1;
}
.dev dl {
	margin: calc(-180 / 1920 * 100%) auto 0;
	position: relative;
	z-index: 0;
}
.dev dl dd {
	width: calc(143 / 1920 * 100%);
	position: absolute;
	left: calc(1150 / 1920 * 100%);
	top: calc(543 / 1000 * 100%);
}
.dev dl dd:nth-child(3) {
	width: calc(130 / 1920 * 100%);
	margin: 0 0 0 calc(-84 / 1920 * 100%);
	padding-top: calc(170 / 1920 * 100%);
}
.dev dl dd:nth-child(4) {
	width: calc(132 / 1920 * 100%);
	margin: 0 0 0 calc(100 / 1920 * 100%);
	padding-top: calc(170 / 1920 * 100%);
}
/************************************************
component
************************************************/
.component {
	background: #fff;
}
.component .inner {
	z-index: 8500;
}
.component p.p01 {
	width: calc(735 / 1920 * 100%);
	position: absolute;
	left: calc(580 / 1920 * 100%);
	top: calc(437 / 1490 * 100%);
}
.component p.p02 {
	width: calc(758 / 1920 * 100%);
	position: absolute;
	left: calc(580 / 1920 * 100%);
	top: calc(643 / 1490 * 100%);
}
.component p.p03 {
	width: calc(735 / 1920 * 100%);
	position: absolute;
	left: calc(580 / 1920 * 100%);
	top: calc(933 / 1490 * 100%);
}
.component p.result {
	width: calc(394 / 1920 * 100%);
	position: absolute;
	left: calc(763 / 1920 * 100%);
	top: calc(1269 / 1490 * 100%);
}
/************************************************
commitment
************************************************/
.commitment {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_commitment_bg.jpg") 50% 100% / cover no-repeat;
}
.commitment .inner {
	z-index: 7500;
}
.commitment .cnt {
	aspect-ratio: 1920/2132;
}
.commitment .pbg {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_commitment_bg.jpg") 50% 100% no-repeat;
	z-index: 7400;
}
.commitment h2 {
	position: relative;
	z-index: 2;
}
.commitment h3 {
	position: relative;
	z-index: 1;
	margin: calc(-212 / 1920 * 100%) auto calc(60 / 1920 * 100%);
}
.commitment div.img {
	width: calc(1408 / 1920 * 100%);
	margin: 0 auto 0 calc(255 / 1920 * 100%);
}
.commitment p.cpt01 {
	width: calc(355 / 1920 * 100%);
	position: absolute;
	left: calc(519 / 1920 * 100%);
	bottom: calc(505 / 2132 * 100%);
}
.commitment p.cpt02 {
	width: calc(397 / 1920 * 100%);
	position: absolute;
	right: calc(519 / 1920 * 100%);
	bottom: calc(403 / 2132 * 100%);
}
/************************************************
reasonable
************************************************/
.reasonable {
	background-color: #fff;
}
.reasonable .inner {
	z-index: 7500;
}
.reasonable .cnt {}
.reasonable h2 {
	position: relative;
	z-index: 2;
}
.reasonable h3 {
	position: relative;
	z-index: 1;
	margin: calc(-181 / 1920 * 100%) auto 0;
}
/************************************************
lineup
************************************************/
.lineup {
	background: #f9f0f3;
}
.lineup .inner {
	z-index: 9500;
}
.lineup .cnt {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_cv_bg.png") center top / 100% auto repeat-y;
}
.lineup .base {
	position: relative;
}
/*.lineup div.wash {
	width: calc(1025 / 1920 * 100%);
	position: absolute;
	left: calc(396 / 1920 * 100%);
	top: calc(245 / 2520 * 100%);
}*/
.lineup div.lotion {
	width: calc(996 / 1920 * 100%);
	position: absolute;
	left: calc(499 / 1920 * 100%);
	top: calc(245 / 2100 * 100%);
}
.lineup div.day {
	width: calc(928 / 1920 * 100%);
	position: absolute;
	left: calc(493 / 1920 * 100%);
	top: calc(1039 / 2100 * 100%);
}
.lineup div.night {
	width: calc(991 / 1920 * 100%);
	position: absolute;
	left: calc(499 / 1920 * 100%);
	top: calc(1492 / 2100 * 100%);
}
.lineup dl.ac {
	width: calc(920 / 1920 * 100%);
	margin: 0 auto 92px;
	position: relative;
	box-shadow: 11.658px 18.657px 28.48px 3.52px rgba(181, 51, 88, 0.1);
}
.lineup dl.ac dt {
	cursor: pointer;
	position: relative;
}
.lineup dl.ac dt::before, .lineup dl.ac dt::after {
	content: "";
	display: block;
	background: #fff;
	width: 22px;
	height: 2px;
	line-height: .1;
	position: absolute;
	right: 9px;
	bottom: 18px;
}
.lineup dl.ac dt::after {
	transform: rotate(-90deg);
	transition: all 0.3s ease;
}
.lineup dl.ac dt.active::after {
	transform: rotate(0deg);
}
.lineup dl.ac dd {
	display: none;
}
.lineup dl.cleansing {
	width: calc(836 / 1920 * 100%);
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.lineup dl.cleansing dt {
	width: calc(588 / 836 * 100%);
	margin: 0 auto calc(51 / 836 * 100%);
}
.lineup dl.last {
	position: relative;
	margin: calc(-83 / 1920 * 100%) auto 0;
	z-index: 1;
}
.lineup dl.last dd {
	width: calc(133 / 1920 * 100%);
	position: absolute;
	right: calc(540 / 1920 * 100%);
	top: calc(302 / 980 * 100%);
}


/************************************************
brand
************************************************/
.wrapper .brand {
	overflow-y: visible;
}
.brand .cnt {
	background: url("../../../../shopping/images/pub/dl_2w/b_net01/pc_cv_bg.png") center top / 100% auto repeat-y;
	padding: 1px 0;
}
.brand h2 {
	width: calc( 880 / 1920 * 100% );
	margin: 0 auto calc( 100 / 1920 * 100% );
}


/************************************************
qa
************************************************/
.qa {}
.qa .cnt {
	padding: 100px 0;
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_qa_bg.jpg") center top / 100% no-repeat #f9f0f3;
}
.qa h2 {
	width: calc(341 / 1920 * 100%);
	margin: 0 auto calc(44 / 1920 * 100%);
}
.qa dl {
	max-width: 1000px;
	margin: 0 auto 10px;
}
@media (min-width: 768px) {
	.qa dl {
		max-width: none;
		width: calc(960 / 1920 * 100%);
	}
}
.qa dl dt {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_qa_icn01.png") 20px 15px no-repeat #fff;
	color: #0a111d;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.1em;
	font-weight: bold;
	padding: 21px 90px;
	position: relative;
	cursor: pointer;
}
.qa dl dt::before, .qa dl dt::after {
	content: "";
	display: block;
	background: #10152e;
	width: 26px;
	height: 2px;
	line-height: .1;
	position: absolute;
	right: 20px;
	top: 50%;
}
.qa dl dt::after {
	transform: rotate(-90deg);
	transition: all 0.3s ease;
}
.qa dl dt.active::after {
	transform: rotate(0deg);
}
.qa dl dd {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_qa_icn02.png") 20px 30px no-repeat;
	color: #0a111d;
	font-size: 16px;
	line-height: 34px;
	letter-spacing: 0.1em;
	padding: 32px 40px 30px 90px;
	display: none;
}
.qa dl dd span.atte {
	display: block;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.1em;
	margin-top: 15px;
}
/************************************************
CV
************************************************/
.cv {
	overflow: hidden;
}
.cv .cnt {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_cv_bg.png") center top / 100% auto repeat-y;
	padding: 80px 0;
	z-index: 100;
}
#cv02.cv .cnt::before {
	content: "";
	background:  url("../../../../shopping/images/pub/dl_hf/b_net01/pc_cv02_cpt.png") left top / 100% auto no-repeat;
	width: 100%;
	aspect-ratio: 1920/370;
	display: block;
	margin: -80px auto 40px;
}
.cv .panel {
	background: url("../../../../shopping/images/pub/dl_hf/b_net01/pc_cv_bg02.png") center bottom / 100% auto no-repeat;
	width: calc(880 / 1920 * 100%);
	margin: 0 auto;
	position: relative;
	padding: 0 0 30px;
}
.cv .cv-btn-new {
	width: calc(675 / 880 * 100%);
	animation: btnslide 3s ease 0s infinite;
	margin: 0 auto;
}
.cv .cv-btn-member {
	width: 100%;
	text-align: center;
	margin: 0 auto 25px;
	display: none;
}
.cv .cv-btn-member a {
	display: inline-block;
	color: #50545a;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.1em;
	text-decoration: none;
	border-bottom: #50545a solid 1px;
	padding-bottom: 5px;
}
.cv .cv-btn-member a::after {
	content: "▲";
	font-size: 0.75em;
	line-height: 1;
	vertical-align: middle;
	transform: rotate(90deg);
	display: inline-block;
}
#b_net01 .cv .cv-btn-member {
	display: block;
}
.cv .cv-service {
	width: calc(880 / 1920 * 100%);
	margin: auto;
}
.cv p.atte {
	color: #50545a;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: 0.075em;
	width: calc(880 / 1920 * 100%);
	margin: calc(20 / 1920 * 100%) auto calc(52 / 1920 * 100%);
}
.cv p.atte span {
	display: none;
}
#b_net01 .cv p.atte span {
	display: inline;
}
#b_net01 .cv p.atte strong {
	color: #a22147;
}
.cv .cv-service + p.atte {
	width: calc(880 / 1920 * 100%);
	margin: calc(20 / 1920 * 100%) auto 0;
}
@keyframes btnslide {
	0% {
		transform: translateX(0);
	}
	5% {
		transform: translateX(10px);
	}
	10% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(0);
	}
}
/************************************************
fixedBtn
************************************************/
.fixedBtn {
	display: none;
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 10000;
	background-color: rgba(255, 255, 255, .6);
	padding: calc(25 / 1920 * 100%) 0 calc(5 / 1920 * 100%);
	backdrop-filter: blur(8px);
}
.fixedBtn a {
	display: block;
	width: 564px;
	margin: 0 auto;
}
/************************************************
footer
************************************************/
#footer {
	background-color: #a64864;
	padding: 23px 0 0;
}
#footer ul {
	list-style: none;
	text-align: center;
	font-size: 0;
	padding-bottom: 23px;
}
#footer ul li {
	display: inline-block;
	padding: 0 16px;
	position: relative;
	line-height: 1.1;
}
#footer ul li + li {
	border-left: 1px solid #fff;
}
#footer ul li a {
	font-size: 14px;
	line-height: 1;
	text-decoration: none;
	color: #fff;
}
#footer p {
	display: block;
	background: #0a111d;
	color: #fff;
	text-align: center;
	font-size: 12px;
	line-height: 1;
	padding: 15px 0 14px;
}
