@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: #fceaec;
	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;
	max-width: 100%;
	width: auto;
	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 h2 {
	position: absolute;
	left: calc( 520 / 1920 * 100% );
	top: calc( 287 / 850 * 100% );
	font-size: 0;
	width: calc( 590 / 1920 * 100% );
}

/************************************************
important
************************************************/
.pbg {
	display: none;
	position:fixed;
	top: 50%;
	left:0;
	z-index:-1;
	width:100%;
	min-height:130vh;
	height: auto;
	transition: 1.5s ease 0s;
}
.active .pbg {
	display: block;
}
.important .pbg {
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_important_bg.jpg") 50% 100% / cover no-repeat;
}
.important .pbg02 {
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_important_bg.jpg") 100% 100% / cover no-repeat;
	min-height: 100vh;
	height: 1434px;
	display: none;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
}
.active .pbg02 {
	display: block;
}

.important {
}
.important ul {
	position: absolute;
	left: 0;
	top: calc( 344 / 1540 * 100% );
	width: 100%;
	display: flex;
	justify-content: center;
}
.important ul li {
	width: calc( 340 / 1920 * 100% );
	margin: 0 calc( -21 / 1920 * 100% ) 0 0;
}


/************************************************
add
************************************************/
.add {
}
.add dl {
	position: absolute;
	left: calc( 462 / 1920 * 100% );
	top: calc( 300 / 1020 * 100% );
	width: calc( 571 / 1920 * 100% );
}
.add dl dd {
	position: absolute;
	left: calc( 167 / 571 * 100% );
	top: calc( 127 / 558 * 100% );
	width: calc( 235 / 571 * 100% );
}
.add p {
	position: absolute;
	left: calc( 681 / 1920 * 100% );
	top: calc( 64 / 1020 * 100% );
	width: calc( 556 / 1920 * 100% );
}


/************************************************
reason
************************************************/
.reason {
	background: #f2f7fc;
}
.reason div.set {
	position: relative;
}
.reason h3 {
	position: absolute;
	left: calc( 651 / 1920 * 100% );
	top: calc( 305 / 1130 * 100% );
	width: calc( 619 / 1920 * 100% );
}
.reason div.img {
	position: absolute;
	left: calc( 614 / 1920 * 100% );
	top: calc( 374 / 1130 * 100% );
	width: calc( 272 / 1920 * 100% );
}
.reason .bg {
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_reason_bg01.jpg") left top / 100% auto no-repeat #fce0e2;
}
.reason .bg::after {
	content: "";
	display: block;
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_reason_btm.png") left top / 100% auto no-repeat;
	width: 100%;
	aspect-ratio: 1920 / 240;
}
.reason dl.ac {
	width: calc( 920 / 1920 * 100% );
	margin: 0 auto;
}
.reason dl.ac dt {
	position: relative;
	cursor: pointer;
}
.reason dl.ac dt::before,
.reason dl.ac dt::after {
	content: "";
	display: block;
  background: #fff;
  width: calc( 20 / 920 * 100% );
	height: calc( 2 / 120 * 100% );
  line-height: .1;
	position: absolute;
	right: calc( 10 / 920 * 100% );
	bottom: calc( 19 / 120 * 100% );
}
.reason dl.ac dt::after {
  transform: rotate(-90deg);
  transition: all 0.3s ease;
}
.reason dl.ac dt.active::after {
  transform: rotate(0deg);
}
.reason dl.result {
	position: relative;
	background: #ffedef;
}
.reason dl.result dd {
	position: absolute;
	left: calc( 501 / 1920 * 100% );
	top: calc( 157 / 641 * 100% );
	width: calc( 423 / 1920 * 100% );
}


/************************************************
change
************************************************/
.change {
	background: #fff;
}
.change div.img01 {
	position: absolute;
	left: calc( 866 / 1920 * 100% );
	top: calc( 362 / 1060 * 100% );
	width: calc( 474 / 1920 * 100% );
}
.change div.img02 {
	position: absolute;
	left: calc( 866 / 1920 * 100% );
	top: calc( 652 / 1060 * 100% );
	width: calc( 474 / 1920 * 100% );
}


/************************************************
voice
************************************************/
.voice .cnt {
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_voice_bg.jpg") 100% 100% / 100% auto no-repeat;
	padding: calc( 132 / 1920 * 100% ) 0 calc( 119 / 1920 * 100% );
  box-sizing: border-box;
  aspect-ratio: 1920 / 1170;
}
.voice h2 {
	width: calc( 762 / 1920 * 100% );
	margin: 0 auto calc( 39 / 1920 * 100% );
}
.voice .slide {
	width: 100%;
	margin: 0 auto;
	position: relative;
	margin-bottom: calc( 30 / 1920 * 100% );
}
.voice .swiper {
	position: relative;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	overflow: hidden;
}
.voice .swiper-wrapper {
	width: calc( 880 / 1920 * 100% );
	margin: 0 auto;
	justify-content: space-between;
}
.voice .swiper .swiper-slide {
	position: relative;
	width: calc( 280 / 880 * 100% );
	padding: 0;
	box-sizing: border-box;
}
.voice .slide .swipe-prev,
.voice .slide .swipe-next,
.voice .swiper-pagination {
	display: none;
}
.voice p.atte {
	display: block;
	width: calc( 880 / 1920 * 100% );
	margin: 0 auto calc( 57 / 1920 * 100% );
	color: #646673;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.05em;
}
.voice div.graph {
  position: absolute;
  left: calc( 935 / 1920 * 100% );
  top: calc( 658 / 1170 * 100% );
	width: calc( 336 / 1920 * 100% );
}
.voice div.item {
  position: absolute;
  left: calc( 809 / 1920 * 100% );
  top: calc( 608 / 1170 * 100% );
	width: calc( 491 / 1920 * 100% );
}


/************************************************
nayami
************************************************/
.nayami .cnt {
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_nayami_bg.png") center top / 1920px auto no-repeat;
	aspect-ratio: 1920 / 720;
}
.nayami h2 {
	width: calc( 427 / 1920 * 100% );
	margin: 0 auto calc( 59 / 1920 * 100% );
	padding: 100px 0 0;
}
.nayami div.img01,
.nayami div.img02 {
	width: calc( 880 / 1920 * 100% );
	margin: 0 auto calc( 30 / 1920 * 100% );
}


/************************************************
message
************************************************/
.message {
	background: #fff;
}
.message h2 {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
}
.message p {
	position: relative;
}


/************************************************
proposal
************************************************/
.proposal {
	position: relative;
	z-index: -2;
	background: #fce9eb;
}
.proposal .inner {
}
.proposal .pbg {
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_proposal_bg.jpg") 50% 100% / cover no-repeat;
	aspect-ratio: 1920 / 1930;
	height: auto;
}


/************************************************
howto
************************************************/
.howto {
	background: #fde7e7;
}
.howto .cnt {
	padding: 0 0 calc( 80 / 1920 * 100% );
}
.howto h2 {
	margin-bottom: 70px;
}
.howto h2 img {
	width: calc( 1460 / 1920 * 100% );
	margin: 0 0 0 auto;
}
.howto ul.step {
	display: flex;
	justify-content: center;
	vertical-align: top;
}
.howto ul.step li {
	width: 227px;
}
.howto ul.step li:nth-child(1) {
	width: 200px;
}
.howto ul.step li:nth-child(2) img {
	margin-right: -36px;
	width: 263px;
	max-width: 263px;
}
.howto p.point {
	position: absolute;
	left: 1017px;
	top: 430px;
	width: 422px;
}


/************************************************
qa
************************************************/
.qa {
	border-top: 4px solid #fff;
	background: url("../../../../shopping/images/pub/ps25/b_net03/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: 341px;
	margin: 0 auto calc( 58 / 1920 * 100% );
}
.qa dl {
	max-width: 1000px;
	margin: 0 auto 10px;
}
@media (min-width: 768px) {
	.qa dl {
		max-width: none;
		width: calc( 980 / 1920 * 100% );
	}
}
.qa dl dt {
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_qa_icn01.png") 20px 15px no-repeat #fff;
	color: #10152e;
	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/ps25/b_net03/pc_qa_icn02.png") 20px 30px no-repeat;
	color: #646673;
	font-size: 16px;
	line-height: 34px;
	letter-spacing: 0.1em;
	padding: 32px 40px 20px 90px;
	display: none;
}
.qa dl dd span {
	font-size: 12px;
	line-height: 24px;
	letter-spacing: 0.1em;
}


/************************************************
CV
************************************************/
.cv {
	background: #fceaec;
	padding: 0 0 calc( 110 / 1920 * 100% );
	overflow: hidden;
}
.cv p.sttl {
	width: calc( 122 / 1920 * 100% );
	line-height: .1;
	margin: 0 auto;
	padding: 102px 0 39px;
}
 #header + .cv p.sttl {
	display: none;
}
.cv .panel {
	position: relative;
	width: calc( 880 / 1920 * 100% );
	margin: 0 auto calc( 53 / 1920 * 100% );
	background: #fff;
	overflow: hidden;
}
.cv .cv-btn-new {
	position: absolute;
	left: 0;
	top: calc( 580 / 760 * 100% );
	width: 100%;
	text-align: center;
}
.cv .cv-btn-new a {
	display: block;
	width: calc( 696 / 880 * 100% );
	margin: 0 auto 8px;
	animation: btnslide 3s ease 0s infinite;
}
.cv .cv-btn-new p.atte02 {
	position: relative;
	color: #da021a;
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.1em;
	font-weight: bold;
}
.cv .cv-btn-new p.atte02::before {
	content: "";
	background: url("../../../../shopping/images/pub/ps25/b_net03/pc_cv_arrow.png") left top / 100% auto no-repeat;
	width: 10px;
	height: 27px;
	position: absolute;
	left: 50%;
	top: -33px;
	margin-left: -5px;
}
.cv .cv-service {
	width: calc( 881 / 1920 * 100% );
	margin:  auto ;
}
.cv p.atte {
	color: #646673;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.05em;
	width: calc( 881 / 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: 696px;
	margin: 0 auto;
}


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

