@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: #f2eef1;
	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%;
	margin: 0;
	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;
	}
}


/************************************************
header
************************************************/
#header ul {
	position: absolute;
	left: calc( 973 / 1920 * 100% );
	top: calc( 451 / 1086 * 100% );
	font-size: 0;
	width: calc( 500 / 1920 * 100% );
}
#header ul li {
	display: inline-block;
	max-width: 166px;
	width: calc( 166 / 500 * 100% );
}
#header ul li.icn02 {
	max-width: 161px;
	width: calc( 161 / 500 * 100% );
	margin-left: calc( -34 / 500 * 100% );
}
#header ul li.icn03 {
	max-width: 165px;
	width: calc( 165 / 500 * 100% );
	margin-left: calc( -30 / 500 * 100% );
}


/************************************************
nayami
************************************************/
.pbg {
	display: none;
	position:fixed;
	top: 50%;
	left:0;
	z-index:-1;
	width:100%;
	height:130vh;
	transition: 1.5s ease;
}
.active .pbg {
	display: block;
}
.nayami .pbg {
	background: url("../../../../shopping/images/pub/prima24_2w/b_net03b/pc_nayami_bg.jpg") 50% 100% / cover no-repeat;
}
.nayami {
}
.nayami ul {
	position: absolute;
	left: 0;
	top: calc( 344 / 1540 * 100% );
	width: 100%;
	display: flex;
	justify-content: center;
}
.nayami ul li {
	width: calc( 340 / 1920 * 100% );
	margin: 0 calc( -21 / 1920 * 100% ) 0 0;
}


/************************************************
fact
************************************************/
.fact {
	background: #fff;
}


/************************************************
dry
************************************************/
.dry {
	background: #e9f1f6;
}
.dry p {
	position: absolute;
	left: calc( 700 / 1920 * 100% );
	bottom: calc( 158 / 1270 * 100% );
	max-width: 520px;
	width: calc( 520 / 1920 * 100% );
}


/************************************************
component
************************************************/
.component {
	overflow: hidden;
	background: #fff;
}
.component h2 {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 9400;
}
.component h2 + p {
	z-index: 9300;
}


/************************************************
effect
************************************************/
.effect {
	background: #ebeaef;
}
.effect .inner {
	z-index: 8500;
}
.effect ul {
	position: absolute;
	left: calc( 739 / 1920 * 100% );
	top: calc( 395 / 1566 * 100% );
	font-size: 0;
	width: calc( 500 / 1920 * 100% );
}
.effect ul li {
	display: inline-block;
	max-width: 168px;
	width: calc( 168 / 500 * 100% );
	vertical-align: top;
}
.effect ul li + li {
	margin: calc( 62 / 500 * 100% ) 0 0 calc( 86 / 500 * 100% );
	max-width: 183px;
	width: calc( 183 / 500 * 100% );
}


/************************************************
proposal
************************************************/
.proposal {
	background: #ebeaef;
}
.proposal .inner {
	z-index: 7500;
}
.proposal .pbg {
	background: url("../../../../shopping/images/pub/prima24_2w/b_net03b/pc_proposal_bg.jpg") 50% 100% / cover no-repeat;
	z-index: 7400;
}


/************************************************
voice
************************************************/
.voice {
	background: #f4e8ec;
	position: relative;
	z-index: 8500;
}
.voice h2 {
	width: calc( 1000 / 1920 * 100% );
	margin: 0 auto calc( 45 / 1920 * 100% );
}
.voice .slide {
	width: calc( 810 / 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/prima24_2w/b_net03b/pc_voice_arrow.png") left top / auto 100% no-repeat;
	width: 32px;
	height: 32px;
	position: absolute;
	right: -20px;
	top: 50%;
	margin-top: -16px;
	z-index: 20;
}
.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: calc( 270 /  810 * 100% );
	padding: 0 calc( 5 /  810 * 100% );
	box-sizing: border-box;
}
.voice .swiper-pagination {
	position: relative;
	width: 100%;
	height: 12px;
	top: 0;
	line-height: 0.1;
	margin: 0 auto calc( 46 / 1920 * 100% );
}
.voice .swiper-pagination .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #fff;
	opacity: 1;
	margin: 0 8px;
}
.voice .swiper-pagination .swiper-pagination-bullet-active {
	background: #5e606e;
}


/************************************************
aroma
************************************************/
.aroma {
	background: #fff;
}
.aroma h2 {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 5400;
}
.aroma h2 + p {
	z-index: 5300;
}


/************************************************
lineup
************************************************/
.lineup {
	background: #f1e7ed;
}
.lineup div.wash {
	position: absolute;
	left: calc( 378 / 1920 * 100% );
	top: calc( 226 / 2500 * 100% );
	width: calc( 578 / 1920 * 100% );
}
.lineup div.lotion {
	position: absolute;
	left: calc( 962 / 1920 * 100% );
	top: calc( 317 / 2500 * 100% );
	width: calc( 554 / 1920 * 100% );
}
.lineup div.day {
	position: absolute;
	left: calc( 428 / 1920 * 100% );
	top: calc( 1247 / 2500 * 100% );
	width: calc( 528 / 1920 * 100% );
}
.lineup div.night {
	position: absolute;
	left: calc( 962 / 1920 * 100% );
	top: calc( 1358 / 2500 * 100% );
	width: calc( 521 / 1920 * 100% );
}

/************************************************
qa
************************************************/
.qa {
	background: url("../../../../shopping/images/pub/prima24_2w/b_net03b/pc_qa_bg.jpg") center center / cover no-repeat;
}
.qa .cnt {
	padding: calc( 98 / 1000 * 100% ) 0 calc( 130 / 1000 * 100% );
}
.qa h2 {
	max-width: 406px;
	margin: 0 auto calc( 58 / 1920 * 100% );
}
.qa dl {
	max-width: 1000px;
	margin: 0 auto 2px;
}
@media (min-width: 768px) {
	.qa dl {
		max-width: none;
		width: calc( 980 / 1920 * 100% );
	}
}
.qa dl dt {
	background: url("../../../../shopping/images/pub/prima24_2w/b_net03b/pc_qa_icn01.png") 20px 15px no-repeat #fff;
	color: #5e606e;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.1em;
	font-weight: bold;
	padding: 21px 90px;
	position: relative;
	cursor: pointer;
}
.qa dl dt::after {
	content: "";
	display: block;
	background: url("../../../../shopping/images/pub/prima24_2w/b_net03b/pc_qa_icn04.png") center center / 100% auto no-repeat;
	width: 28px;
	height: 28px;
	position: absolute;
	right: 30px;
	top: 50%;
	margin-top: -14px;
}
.qa dl dt.active::after {
	background: url("../../../../shopping/images/pub/prima24_2w/b_net03b/pc_qa_icn03.png") center center / 100% auto no-repeat;
}
.qa dl dd {
	background: url("../../../../shopping/images/pub/prima24_2w/b_net03b/pc_qa_icn02.png") 20px 30px no-repeat;
	color: #5e606e;
	font-size: 18px;
	line-height: 34px;
	letter-spacing: 0.1em;
	padding: 32px 40px 20px 90px;
	display: none;
}


/************************************************
message
************************************************/
.message {
	background: #efdfe6;
}


/************************************************
CV
************************************************/
.cv {
	background: #f2eef1;
	padding: 0 0 calc( 110 / 1920 * 100% );
	overflow: hidden;
}
.message + .cv {
	padding-top: calc( 100 / 1920 * 100% );
}
#header + .cv .cnt {
	background: url("../../../../shopping/images/pub/prima24_2w/b_net03b/pc_mv_bg.jpg") center top / 100% auto no-repeat #f2eef1;
}
.cv .panel {
	width: calc( 800 / 1920 * 100% );
	margin: 0 auto calc( 34 / 1920 * 100% );
	background: #fff;
	border-radius: 0 50px 0 50px;
	overflow: hidden;
	padding-bottom: calc( 50 / 1920 * 100% );
}
.cv .cv-btn-new {
	width: calc( 674 / 800 * 100% );
	margin: 0 auto 0 calc( 75 / 800 * 100% );
	animation: btnslide 3s ease 0s infinite;
}
.cv .cv-btn-member {
	width: calc( 300 / 800 * 100% );
	margin: 0 auto calc( 25 / 800 * 100% );
	display: none;
}
#b_net01 .cv .cv-btn-member {
	display: block;
}
.cv .cv-service {
	width: calc( 797 / 1920 * 100% );
	margin:  auto ;
}
.cv p.atte {
	color: #585d5e;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.05em;
	width: calc( 630 / 800 * 100% );
	margin: calc( 25 / 800 * 100% ) auto 0;
}
.cv p.atte strong {
	display: none;
}
#b_net01 .cv p.atte strong {
	display: inline;
	color: #d15058;
}
.cv .cv-service + p.atte {
	width: calc( 800 / 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);
	}
}

/************************************************
footer
************************************************/
#footer {
	background-color: #d5809f;
	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: #a8091f;
	color: #fff;
	text-align: center;
	font-size: 12px;
	line-height: 1;
	padding: 15px 0 14px;
}

