body {
	position: relative;
	color: #333;
	background-color: var(--col-bg1);
}
@media (min-width: 768px) {
	.row{
		max-width: min(1000px,100vw);
		margin-left: auto;
		margin-right: auto;
		padding-left: var(--pixel50);
		padding-right: var(--pixel50);
	}
}
@media screen and (max-width: 767px) {
	.row{
		padding-left: var(--pixel20);
		padding-right: var(--pixel20);
	}
}
.wrap-btn{
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 767px) {
	.wrap-btn{
		flex-direction: column;
		align-items: center;
	}
}


/* 
.btn-ell{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--col-red);
	text-align: center;
	width: min(448px,35vw);
	height: var(--pixel80);
	border-radius: var(--pixel40);
	box-shadow: 0 var(--pixel5) var(--pixel5) rgba(0, 0, 0, 0.15);
}
.btn-ell>* {
    position: absolute;
	display: block;
    color: #FFF;
    font-size: var(--pixel28);
	font-weight: bold;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.btn-ell:after{
	content: '';
	display: block;
	width: calc(100% - var(--pixel12));
	height: calc(100% - var(--pixel12));
	border-radius: var(--pixel34);
	border: 1px solid #FFF;
}
@media screen and (max-width: 767px) {
	.btn-ell,
	.sec-main .part-btn.type2 .btn-ell{
		width: min(260px,69vw);
		height: var(--pixel60);
		border-radius: var(--pixel30);
	}
	
	.btn-ell>* {
		font-size: var(--pixel20);
	}
	.btn-ell:after{
		width: calc(100% - var(--pixel10));
		height: calc(100% - var(--pixel10));
		border-radius: var(--pixel25);
	}
}
 */





.head-foot{
	height: var(--pixel80);
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.head-foot .logo{
	/* width: min(298px,29.8vw); */
	height: var(--pixel40);
}
.head-foot .logo > img{
	height: 100%;
	width: auto;
}
.footer{
	background-color: #fff;
	/* padding-bottom: var(--pixel140); */
	padding-bottom: var(--pixel20);
}
.part-code{
	font-size: var(--pixel12);
	text-align: center;
	margin-top: 1.4em;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.head-foot{
		height: var(--pixel48);
	}
	.head-foot .logo{
		/* width: var(--pixel150); */
		height: var(--pixel20);
	}
}



.section-hero .elem1{
	background-color: #fbf4d2;
	background-image:
	url(../images/bg-p1.svg),
	url(../images/fv-bg.gif);
	background-repeat: no-repeat;
	background-size: 
	100% var(--pixel45),
	min(1410px,141vw) auto;
	background-position: 
	50% calc(100% + 2px),
	50% 20%;
	padding-top: var(--pixel40);
	padding-bottom: var(--pixel50);
}
.section-hero .elem1 .row{
	padding-left: var(--pixel110);
}
.section-hero .t1{
	position: relative;
	width: min(345px,34.5vw);
}
.section-hero .t2{
	width: min(337px,33.7vw);
	margin-top: calc(var(--pixel60)*-1);
	margin-left: var(--pixel22);
}
@media screen and (max-width: 767px) {
	.section-hero .elem1{
		background-image:
		url(../images/bg-p1.svg),
		url(../images/fv-bg_sp.gif);
		background-size: 
		100% var(--pixel22),
		cover;
		padding-top: var(--pixel34);
		padding-bottom: 32.8vw;
	}
	.section-hero .elem1 .row{
		padding-left: var(--pixel18);
	}
	.section-hero .t1{
		width: 50vw;
		margin-left: var(--pixel11);
	}
	.section-hero .t2{
		width: 48.5vw;
		margin-top: calc(var(--pixel34)*-1);
		margin-left: var(--pixel28);
	}
}


.section-hero .elem2 .row{
	position: relative;
	max-width: min(610px,61vw);
	padding: var(--pixel40) var(--pixel20) var(--pixel40);
	font-weight: bold;
	/* display: flex;
	flex-direction: column;
	align-items: flex-start; */
	display: grid;
	justify-items: start;
}
.section-hero .elem2 .type-2col{
	max-width: min(750px,75vw);
	grid-template-columns: 1fr 1fr;
	gap: var(--pixel20);
	justify-content:center;
	justify-items:center;
}
.section-hero .elem2 .type-2col .t-list{
	grid-column: 1 / -1;
}
.section-hero .t3{
	font-size: var(--pixel20);
	border: var(--pixel1) solid #000;
	padding: 0.3em 0.5em;
	margin-bottom: 0.7em;
}
.section-hero .t4{
	font-size: var(--pixel19);
	margin-bottom: 0.2em;
}

.section-hero .t-per{
	font-size: var(--pixel26);
	font-weight: 800;
	letter-spacing: -0.06em;
}
/* .section-hero .t-per>span{
	font-family: var(--wf-b);
	font-size: var(--pixel48);
} */
.section-hero .t-per>.sizeM{
	font-size: 150%;
}
.section-hero .t-per>.sizeL{
	font-size: 220%;
}
.section-hero .t-list{
	margin-top: 0.8em;
}
.section-hero .t-list li{
	position: relative;
	font-size: var(--pixel21);
	padding-left: 1.3em;
}
.section-hero .t-list li+li{
	margin-top: 0.3em;
}
.section-hero .t-list li>span{
	font-size: 150%;
}
.section-hero .t-list li .sizeS{
	font-size: var(--pixel13);
}
.section-hero .t-list li:before{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
	left: 0;
	width: 1.0em;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: var(--col-key2b);
}
.section-hero .img1{
	width: min(198px,19.8vw);
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
	right: 0;
}

@media screen and (max-width: 767px) {
	.section-hero .elem2 .row{
		max-width: 100%;
		padding: var(--pixel28) var(--pixel30) var(--pixel28);
		/* flex-direction: row;
		flex-wrap: wrap; */
		grid-template-columns: auto minmax(0, 1fr);

	}
	/* .section-hero .t3{
		writing-mode: vertical-rl;
		text-orientation: upright;
		font-size: var(--pixel16);
		padding: 0.6em 0em;
		width: var(--pixel30);
		display: flex;
		justify-content: center;
		align-items: center;
		letter-spacing: 0.08em;
	} */
	.section-hero .elem2 .type-2col{
		grid-template-columns: 1fr;
		gap: var(--pixel20);
		/* justify-content: start;
		justify-items: start ; */
	}
	.section-hero .elem2 .type-2col .t-list{
		grid-column: 1 / -1;
	}


	.section-hero .t4{
		font-size: var(--pixel14);
	}
	.section-hero .t-per{
		font-size: var(--pixel20);
	}
	.section-hero .t-per>span{
		font-size: var(--pixel26);
	}
	.section-hero .elem2b{
		flex: 1;
		padding-left: 0.5em;
		display: grid;
		align-content: center;
	}
	.section-hero .t-list{
		width: auto;
		grid-column: 1 / -1;
	}
	.section-hero .t-list li{
		font-size: var(--pixel16);
	}
	.section-hero .t-list li>span{
		font-size: 180%;
	}
	.section-hero .t-list li .sizeS{
		font-size: var(--pixel10);
	}
	.section-hero .img1{
		width: var(--pixel140);
		top: var(--pixel10);
		transform: translateY(0%);
		right: var(--pixel30);
	}
}




.sec-simu {
	position: relative;
	color: #333;
	padding-bottom: min(170px,17vw);
	background-image: url(../images/bg-p2.svg);
	background-size: 100% var(--pixel100);
	background-repeat: no-repeat;
	background-position: 50% 100%;
}
.sec-simu .mklist a,
.sec-simu .notes a{
	color: var(--col-key1a);
	text-decoration: underline;
	font-weight: bold;
}
.simu-box {
	padding: var(--pixel40) var(--pixel25) var(--pixel20);
	border-radius: var(--pixel20);
	background-color: #fff;
	text-align: center;
	box-shadow: 0 var(--pixel8) 0 rgba(120, 105, 70, 0.13);
}

.simu-box .t1 {
	font-size: var(--pixel19);
	font-family: var(--wf-a);
	font-weight: 800;
	text-align: center;
}
.simu-box .t2 {
	font-size: var(--pixel18);
	text-align: center;
	margin-top: 2em;
	line-height: 1.4;
}
.simu-box h2{
	font-size: var(--pixel60);
	font-weight: 800;
	font-family: var(--wf-a);
	color: var(--col-key1a);
	margin-top: 0.2em;
}
.simu-box>.mklist,
.simu-box>.notes{
	font-size: var(--pixel12);
	margin-top: 3em;
}
@media screen and (max-width: 767px) {
	.sec-simu {
		padding-bottom: 23vw;
		background-size: 100% var(--pixel50);
	}
	.simu-box {
		padding: var(--pixel40) var(--pixel20) var(--pixel20);
		border-radius: var(--pixel20);
		background-color: #fff;
		text-align: center;
		box-shadow: 0 var(--pixel8) 0 rgba(120, 105, 70, 0.13);
	}
	.simu-box .t1 {
		font-size: var(--pixel16);
	}
	.simu-box .t2 {
		font-size: var(--pixel16);
		margin-top: 2.2em;
	}
	.simu-box h2{
		font-size: var(--pixel40);
		margin-top: 0.4em;
		letter-spacing: -0.05em;
	}
	.simu-box>.mklist,
	.simu-box>.notes{
		text-align: justify;
		font-size: var(--pixel11);
		margin-top: 2em;
	}
}

.simu-form {
	margin-top: var(--pixel34);
	border: var(--pixel2) solid var(--col-key1a);
	border-radius: var(--pixel20);
	background-color: var(--col-key1b);
	overflow: hidden;
}
.simu-form dl {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pixel20);
	text-align: left;
	padding: var(--pixel40) var(--pixel30) var(--pixel28);
}
.simu-form dt {
	width: 44%;
	font-size: var(--pixel18);
	font-weight: 700;
}
.simu-form dt span {
	display: inline-block;
	padding: 0.3em 1em;
	border-radius: 1em;
	background-color: var(--col-key1a);
	color: #fff;
	font-size: var(--pixel12);
	margin-left: 1em;
}
.simu-form dd {
	width: calc(56% - var(--pixel20));
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: var(--pixel12);
}
.simu-form input {
	width: 100%;
	height: var(--pixel60);
	border: 0;
	border-radius: var(--pixel10);
	background-color: #fff;
	font-size: var(--pixel20);
	text-align: right;
	padding: 0.8em;
}
.simu-form em {
	width: 2.5em;
	font-size: var(--pixel18);
	color: var(--col-key1a);
	font-weight: bold;
	font-style: normal;
}
.simu-form .mklist,
.simu-form .notes{
	font-size: var(--pixel12);
	grid-column: 1 / -1;
}
.simu-form .simu-short {
	grid-template-columns: 1fr auto 1fr auto;
}
.simu-form button {
	font-size: var(--pixel30);
	font-weight: bold;
	width: 100%;
	padding: 0.8em;
	background-color: var(--col-key1a);
	color: #fff;
	
}

@media screen and (max-width: 767px) {
	.simu-form {
		margin-top: var(--pixel20);
		border-radius: var(--pixel10);
	}
	.simu-form dl {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: var(--pixel16);
		padding: var(--pixel20) var(--pixel20) var(--pixel20);
	}
	.simu-form dt {
		width: 100%;
		font-size: var(--pixel16);
	}
	.simu-form dt span {
		font-size: var(--pixel11);
	}
	.simu-form dd {
		width: 100%;
		gap: var(--pixel12);
	}
	.simu-form input {
		width: 100%;
		height: var(--pixel40);
	}
	.simu-form em {
		font-size: var(--pixel16);
	}
	.simu-form .mklist,
	.simu-form .notes{
		font-size: var(--pixel10);
		grid-column:1 / -1;
	}
	.simu-form button {
		font-size: var(--pixel20);
	}
}


.section-merit{
	background-color: #fff;
	padding-bottom: min(170px,17vw);
	background-image: url(../images/bg-p3.svg);
	background-size: 100% min(111px,11.1vw);
	background-repeat: no-repeat;
	background-position: 50% 100%;
}
.section-merit .part-head{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: var(--wf-a);
	padding-top: var(--pixel10);
}
.section-merit .part-head .t1{
	font-size: var(--pixel27);
	font-weight: 900;
	margin-left: 2em;
	letter-spacing: -0.08em;
}
.section-merit .part-head h2{
	font-size: var(--pixel60);
	font-weight: 900;
	color: var(--col-key1a);
	margin-top: -0.6em;
	letter-spacing: -0.04em;
}
.section-merit .part-head h2 span{
	font-size: 180%;
	font-family: var(--wf-b);
	position: relative;
	top: 0.05em;
}

.merit-list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--pixel30);
}

.merit-list > section:first-child{
	grid-column:1 / -1;
}

.merit-list>section{
	background-color: var(--col-key1b);
	border-radius: var(--pixel20);
	margin-top: var(--pixel70);
	padding: 0 var(--pixel25) var(--pixel25);
}
.merit-list .part-tit{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.merit-list .num{
	width: var(--pixel53);
	margin-top: calc(var(--pixel28)*-1);
}
.merit-list .title-h3{
	font-size: var(--pixel30);
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin-top: 0.8em;
	letter-spacing: 0.08em;
}
.merit-list .part-lead{
	font-size: var(--pixel18);
	line-height: 1.4;
	text-align: center;
	margin-top: 1.6em;
}
.merit-list .part-tit .t1{
	font-size: var(--pixel18);
	font-weight: bold;
	color: var(--col-key1a);
	text-align: center;
	line-height: 1.1;
	margin-top: var(--pixel20);
}
.merit-list .part-tit .t1 .sizeL{
	font-size: 160%;
}
.merit-list .part-tit .t1 .wf-b{
	font-size: 130%;
	position: relative;
	top: 0.05em;
}
.merit-list .part-tit .t1 .wf-b:before{
	content: "";
	display: block;
	background-image: url(../images/txt-add_r.svg); 
	background-size: contain;
	background-repeat: no-repeat;
	width: 0.4em;
	aspect-ratio: 1/1;
	position: absolute;
	left: -0.3em;
	top: 0;
}

.merit-list .elem1{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--pixel30);
}
.merit-list .elem1 .box{
	font-size: var(--pixel18);
	background-color: #fff;
	border-radius: var(--pixel10);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: var(--pixel25);
	margin-top: var(--pixel25);
}
.merit-list .elem1 .mklist,
.merit-list .elem1 .notes{
	font-size: var(--pixel12);
}


.merit-list .elem1 dl{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0.3em;
}
.merit-list .elem1 dl.type-row{
	flex-direction: row;
	align-items: flex-end;
}
.merit-list .elem1 dl.type-column dd{
	margin-top: var(--pixel14);
}
.merit-list .elem1 dt{
	margin-bottom: 0.4em;
}
.merit-list .elem1 .box:first-child dt{
	margin-right: 1.4em;
}
.merit-list .elem1 dd{
	font-size: var(--pixel35);
	font-weight: bold;
	color: var(--col-key1a);
	
}
.merit-list .elem1 dd span{
	font-family: var(--wf-b);
	font-size: 160%;
	position: relative;
	top: 0.05em;
}




@media screen and (max-width: 767px) {
	.section-merit{
		padding-top: var(--pixel20);
		padding-bottom: var(--pixel90);
		background-size: 100% 15vw;
	}
	.section-merit .part-head .t1{
		font-size: var(--pixel18);
	}
	.section-merit .part-head h2{
		font-size: var(--pixel40);
		margin-top: -0.5em;
	}
	.merit-list{
		grid-template-columns:1fr;
		/* gap: 0 var(--pixel30); */
	}
	.merit-list>section{
		margin-top: var(--pixel60);
		padding: 0 var(--pixel20) var(--pixel40);
	}
	.merit-list .num{
		width: var(--pixel40);
		margin-top: calc(var(--pixel22)*-1);
	}
	.merit-list .title-h3{
		font-size: var(--pixel24);
	}
	.merit-list .part-lead{
		font-size: var(--pixel16);
		margin-top: 1.0em;
	}
	.merit-list .part-tit .t1{
		font-size: var(--pixel14);
	}
	.merit-list .elem1{
		grid-template-columns:1fr;
		gap: var(--pixel12);
		margin-top: var(--pixel22);
	}
	.merit-list .elem1 .box{
		font-size: var(--pixel16);
		padding: var(--pixel14);
		margin-top: 0;
	}
	.merit-list .elem1 .mklist,
	.merit-list .elem1 .notes{
		font-size: var(--pixel11);
	}
	.merit-list .elem1 dl.type-column dd{
		margin-top: var(--pixel14);
	}
	.merit-list .elem1 dd{
		font-size: var(--pixel28);
	}
	.merit-list .elem1 .img1{
		width: 59vw;
	}
}




.merit-list>section{
	display: flex;
	flex-direction: column;
}
.merit-list .elem2{
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
}
.merit-list .elem2 .boxb .part-lead{
	margin-top: 0;
}
.merit-list .elem2 .boxb{
	width: 100%;
	background-color: #fff;
	border-radius: var(--pixel10);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.4em 1em;
	margin-top: auto;
}
.merit-list .elem2 .img2{
	margin-top: var(--pixel30);
}
.merit-list .elem2 .img3{
	width: min(148px,14.8vw);
	margin-top: var(--pixel30);
	
}
.merit-list .elem2 .img3,
.merit-list .elem2 .img2 + .part-lead{
	margin-bottom: var(--pixel25);
}
@media screen and (max-width: 767px) {
	.merit-list .elem2 .wrap-sp{
		display: flex;
		align-items: center;
		gap: var(--pixel30);
	}
	.merit-list .elem2 .img2{
		margin-top: var(--pixel15);
	}
	.merit-list .elem2 .img3{
		width: var(--pixel120);
		margin-top: var(--pixel30);
	}
}


.section-worry{
	padding-top: var(--pixel95);
	padding-bottom: var(--pixel40);
	background-color: var(--col-key2c);
	margin-top: -1px;
}
.section-worry .title-h2{
	font-size: var(--pixel58);
	font-weight: 800;
	font-family: var(--wf-a);
	color: var(--col-key2a);
	text-align: center;
	line-height: 1.2;
}
.section-worry .title-h2 .dot{
	background-image: radial-gradient(circle at center, var(--col-key2a) 25%, transparent 0);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1em .3em;
    padding-top: .3em;
}
.worry-list{
	display: flex;
	gap: var(--pixel24);
	margin-top: var(--pixel70);
}
.worry-list>section{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.worry-list>section:nth-child(even){
	flex-direction: column-reverse;
}
.worry-list h3{
	font-size: var(--pixel24);
	font-weight: bold;
	line-height: 1.4;
	flex: 1;
	display: flex;
	align-items: center;
	min-height: min(136px,13.6vw);
}
.worry-list .img{
	border-radius: var(--pixel30);
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.section-worry{
		padding-top: var(--pixel45);
		padding-bottom: var(--pixel30);
	}
	.section-worry .title-h2{
		font-size: var(--pixel30);
	}
	.worry-list{
		flex-direction: column;
		gap: var(--pixel20);
		margin-top: var(--pixel40);
	}
	.worry-list>section{
		flex-direction: row;
		align-items: center;
		text-align: left;
	}
	.worry-list>section:nth-child(even){
		flex-direction: row-reverse;
		text-align: right;
	}
	.worry-list h3{
		position: relative;
		font-size: var(--pixel20);
		min-height: auto;
	}
	.worry-list>section:nth-child(odd) h3{
		margin-right: calc(var(--pixel100) *-1);
		justify-content: flex-start;
	}
	.worry-list>section:nth-child(even) h3{
		margin-left: calc(var(--pixel100) *-1);
		justify-content: flex-end;
	}
	.worry-list .img{
		width: 51.3vw;
		border-radius: var(--pixel20);
	}
}


.section-solution{
	position:relative;
	background-color: var(--col-key2a);
	background-image: url(../images/bg-p4a.svg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100% var(--pixel100);
	padding: min(140px,14vw) 0 0;
	text-align:center;
}
.section-solution .title-h2{
	position:relative;
	z-index:1;
	color:#fff;
	font-size:var(--pixel40);
	line-height:1.4;
	letter-spacing: 0.05em;
	font-weight:bold;
}
.section-solution .title-h2 .sizeL{
	font-size: 150%;
}
.section-check{
	margin-top: calc(var(--pixel30)*-1);
	position:relative;
	background-color: var(--col-key2c);
	background-image: url(../images/bg-p4b.svg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100% var(--pixel100);
	padding: min(140px,14vw) 0 var(--pixel70);
	text-align:center;
}
.check-list{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: var(--pixel24);
	padding-top: var(--pixel40);
}
.check-list li{
	position: relative;
	font-size: var(--pixel30);
	font-weight: bold;
	line-height: 1.4;
	padding-top: var(--pixel90);
}
.check-list li:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
    transform: translateX(-50%);
	width: var(--pixel50);
	aspect-ratio: 1/1;
	background-color: #fff;
	border-radius: var(--pixel5);
	box-shadow: 0 var(--pixel5) 0 #FADAB7;
}
.check-list li:after{
	content: "";
	display: block;
	position: absolute;
	top: var(--pixel7);
	left: calc(50% - var(--pixel20));
	width: var(--pixel50);
	aspect-ratio: 50/36;
	background: url(../images/worr-chk.svg) no-repeat 50% 50%;
}

@media screen and (max-width: 767px) {
	.section-solution{
		background-size: 100% var(--pixel50);
		padding: 20vw 0 0;
	}
	.section-solution .title-h2{
		font-size:var(--pixel20);
		line-height:1.2;
	}
	.section-check{
		margin-top: 0;
		background-size: 100% var(--pixel50);
		padding: 14vw 0 var(--pixel70);
		text-align: justify;
	}
	.check-list{
		grid-template-columns: 1fr;
		gap: var(--pixel30);
		padding-top: var(--pixel30);
		padding-left: var(--pixel20);
	}
	.check-list li{
		font-size: var(--pixel24);
		padding-top: 0;
		padding-left: var(--pixel60);
	}
	.check-list li:before{
		top: -0.1em;
		left: 0%;
		transform: translateX(0%);
		width: var(--pixel40);
		box-shadow: 0 var(--pixel3) 0 #FADAB7;
	}
	.check-list li:after{
		top: var(--pixel3);
		left: var(--pixel3);
		width: var(--pixel40);
	}
}



.section-step{
	margin-top: calc(var(--pixel30)*-1);
	position:relative;
	background-color:#fff;
	background-image: url(../images/bg-p4a.svg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100% var(--pixel100);
	padding: min(140px,14vw) 0 var(--pixel70);
}
.section-step .t1{
	font-size: var(--pixel24);
	font-weight: bold;
	color: var(--col-key2a);
	margin-bottom: 0.5em;
}
.section-step .title-h2{
	position: relative;
	font-size: var(--pixel39);
	font-family: var(--wf-a);
	font-weight: 800;
	background-color: var(--col-key2a);
	color: #fff;
	text-align: center;
	border-radius: var(--pixel20) var(--pixel20) 0 0;
	padding-bottom: var(--pixel10);
}
.section-step .title-h2 .wf-b{
	position: relative;
	top: 0.01em;
	font-size: var(--pixel88);
}
.section-step .title-h2 .sizeL{
	font-size: 166%;
}
.section-step .title-h2 .wrap{
	position: relative;
	padding-right: 0.2em;
}
.section-step .title-h2:before{
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - var(--pixel66));
	bottom: 0;
	width: min(132px,13.2vw);
	aspect-ratio: 1/1;
	background-color: var(--col-key2a);
	border-radius: 50%;
}
.step-list{
	background-color: var(--col-bg1);
	border-radius: 0 0 var(--pixel20) var(--pixel20);
	box-shadow: 0 var(--pixel10) 0 #EAE1D8;
	padding: var(--pixel68) var(--pixel40) var(--pixel40);
	
}
.step-list .t2{
	position: absolute;
	top: -1.6em;
	left: 0;
	font-size: var(--pixel21);
	font-weight: 900;
	color: var(--col-key2a);
}
.step-list .t2 .wf-b{
	font-size: 130%;
}
.step-list .t3{
	font-size: var(--pixel24);
	line-height: 1.4;
	letter-spacing: 0.1em;
	font-weight: bold;
	color: #fff;
	min-height: 3em;
	/* outline: 1px solid #F00; */
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.step-list .img1{
	width: var(--pixel88);
	margin-top: var(--pixel20);
}
.step-list .elem-in{
	display: flex;
	background: url(../images/step-bg_pc.svg) no-repeat 50%;
	background-size: contain;
	height: min(240px,24vw);
}
.step-list .elem-in section{
	position: relative;
	color: #fff;
	width: calc(100% / 3.001);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}
@media (min-width: 768px) {
	.step-list .elem-in section:nth-child(2){
		padding-left: var(--pixel10);
	}
	.step-list .elem-in section:nth-child(3){
		padding-left: var(--pixel20);
	}
}

@media screen and (max-width: 767px) {

	.section-step{
		margin-top: calc(var(--pixel60)*-1);
		background-size: 100% var(--pixel50);
		padding: 18vw 0 var(--pixel35);
	}
	.section-step .t1{
		font-size: var(--pixel16);
	}
	.section-step .title-h2{
		font-size: var(--pixel24);
		padding-bottom: var(--pixel6);
	}
	.section-step .title-h2 .wf-b{
		font-size: var(--pixel58);
	}
	.section-step .title-h2 .sizeL{
		font-size: 160%;
	}
	.section-step .title-h2 .wrap{
		padding-right: 0.4em;
	}
	.section-step .title-h2:before{
		left: calc(50% - var(--pixel40));
		width: var(--pixel80);
	}
	.step-list{
		box-shadow: 0 var(--pixel5) 0 #EAE1D8;
		padding: var(--pixel30) var(--pixel40);
	}
	.step-list .t2{
		position: absolute;
		top:0;
		left:calc(var(--pixel14) * -1.8);
		font-size: var(--pixel14);
		writing-mode:vertical-rl;
		text-orientation:mixed;
	}
	.step-list .t3{
		font-size: var(--pixel20);
		justify-content: flex-start;
		text-align: left;
	}
	.step-list .img1{
		width: var(--pixel60);
		margin-top: 0;
	}
	.step-list .elem-in{
		background: url(../images/step-bg_sp.svg) no-repeat 50%;
		background-size: contain;
		height: 97vw;
		flex-direction: column;
	}
	.step-list .elem-in section{
		width: 100%;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding-left: var(--pixel25);
		padding-right: var(--pixel20);
		height: calc(100% / 3.001);
	}
	.step-list .elem-in section:nth-child(1){
		padding-bottom: var(--pixel20);
	}
	.step-list .elem-in section:nth-child(2){
		padding-bottom: var(--pixel8);
	}
	.step-list .elem-in section:nth-child(3){
		padding-top: var(--pixel12);
	}
	.step-list .elem-in section:nth-child(2) .t2{
		top:-1.4em;
	}
	.step-list .elem-in section:nth-child(3) .t2{
		top:-0.6em;
	}
}




.section-overview{
	padding-top: var(--pixel60);
	padding-bottom: var(--pixel100);
}
.section-overview .title-h2{
	font-size: var(--pixel24);
	font-family: var(--wf-a);
	font-weight: 800;
	text-align: center;
	line-height: 1.4;
}
.section-overview .title-h2 .sizeL{
	font-size: 130%;
}
.section-overview .prod-list{
	background-color: #fff;
	border-radius: var(--pixel20);
	padding: var(--pixel25);
	margin-top: var(--pixel40);
}
.section-overview dl{
	display: grid;
	grid-template-columns: 12.5em 1fr;	
	gap: var(--pixel4);
}
.section-overview dt,
.section-overview dd{
	padding: 1em;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
.section-overview dd .notes>*{
	line-height: 1.6;
}
.section-overview dt{
	padding-right: 0;
	font-weight: bold;
	background-color: var(--col-key1b);
	border-left: var(--col-key1a) solid var(--pixel4);
}
.section-overview dd{
	background-color: var(--col-key1c);
}
.section-overview dd *+p{
	margin-top: 1.4em;
}
@media screen and (max-width: 767px) {
	.section-overview{
		padding-top: var(--pixel40);
		padding-bottom: var(--pixel50);
	}
	.section-overview .title-h2{
		font-size: var(--pixel20);
	}
	.section-overview .prod-list{
		border-radius: var(--pixel20);
		padding: var(--pixel20);
		margin-top: var(--pixel30);
	}
	.section-overview dl{
		grid-template-columns: 1fr;	
		gap: 0;
	}
	.section-overview dt,
	.section-overview dd{
		padding: 0.6em;
	}
	.section-overview dd{
		background-color: #fff;
		padding: 0.6em 0;
	}
	.section-overview dd+dt{
		margin-top: 0.8em;
	}
}











.section-agree{
	background-color: var(--col-bg2);
	padding-top: var(--pixel80);
	padding-bottom: var(--pixel100);
}
.section-agree .title-h2{
	font-size: var(--pixel24);
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}
.section-agree .title-h2 +.lead,
.section-agree .elem-btn+.lead{
	margin-top: 2em;
}
.section-agree .lead{
	font-size: var(--pixel18);
}
.section-agree .elem-btn{
	margin-top: var(--pixel40);
	display: flex;
	flex-direction: column;
	gap: var(--pixel30);
}
.section-agree .elem-btn a{
	font-size: var(--pixel16);
	font-weight: bold;
	background-color: #fff;
	color: var(--col-cta0);
	text-align: center;
	padding: 1.5em;
}
.section-agree .wrap-btn{
	margin-top: var(--pixel40);
}
@media screen and (max-width: 767px) {
	.section-agree{
		padding-top: var(--pixel35);
		padding-bottom: var(--pixel35);
	}
	.section-agree .title-h2{
		font-size: var(--pixel20);
	}
	.section-agree .title-h2 +.lead{
		margin-top: 1.6em;
	}
	.section-agree .elem-btn+.lead{
		margin-top: 0.4em;
	}
	.section-agree .lead{
		font-size: var(--pixel16);
	}
	.section-agree .elem-btn{
		margin-top: var(--pixel10);
		gap: var(--pixel10);
	}
	.section-agree .elem-btn a{
		font-size: var(--pixel12);
		padding: 1.2em;
	}
	.section-agree .wrap-btn{
		margin-top: var(--pixel20);
	}
}


.agree-check {
	cursor: pointer;
	font-size: var(--pixel24);
	font-weight: bold;
	line-height: 1.4;
	background-color: var(--col-cta0);
	color: #fff;
	padding: 0.9em;
	min-width: min(300px,30vw);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: var(--pixel40);
	box-shadow: 0 var(--pixel5) 0 #AC967B;
	transition: transform 0.5s cubic-bezier(.5,0,0,1),
				box-shadow 0.5s cubic-bezier(.5,0,0,1);
}
.agree-check:has(input:checked){
	box-shadow: 0 0 0 #AC967B;
	transform:translateY(var(--pixel5));
}

@media (min-width: 768px) {
	.agree-check:hover{
		box-shadow: 0 0 0 #AC967B;
		transform:translateY(var(--pixel5));
	}
}
.agree-check input {
	position:absolute;
	opacity:0;
	pointer-events:none;
}
.agree-check span{
	position:relative;
	padding-left:calc(var(--pixel30) + var(--pixel30));
}
.agree-check span::before{
	content:"";
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	width:var(--pixel30);
	height:var(--pixel30);
	border-radius:50%;
	background-color: #fff;
}
.agree-check input:checked + span::after{
	content:"";
	position:absolute;
	left:calc(var(--pixel30) * .34);
	top:50%;
	width:var(--pixel7);
	height:var(--pixel12);
	border-right:var(--pixel3) solid var(--col-cta0);
	border-bottom:var(--pixel3) solid var(--col-cta0);
	transform:translateY(-60%) rotate(45deg);
}
@media screen and (max-width: 767px) {
	.agree-check {
		font-size: var(--pixel20);
		padding: 0.5em;
		min-width: 51.3vw;
		border-radius: var(--pixel40);
		box-shadow: 0 var(--pixel5) 0 #AC967B;
	}
	.agree-check:has(input:checked){
		box-shadow: 0 0 0 #AC967B;
		transform:translateY(var(--pixel5));
	}
	.agree-check input {
		position:absolute;
		opacity:0;
		pointer-events:none;
	}
	.agree-check span{
		position:relative;
		padding-left:calc(var(--pixel20) + var(--pixel12));
	}
	.agree-check span::before{
		width:var(--pixel20);
		height:var(--pixel20);
	}
	.agree-check input:checked + span::after{
		left:calc(var(--pixel20) * .34);
		width:var(--pixel5);
		height:var(--pixel8);
		border-right:var(--pixel2) solid var(--col-cta0);
		border-bottom:var(--pixel2) solid var(--col-cta0);
	}
}




.section-entry{
	margin-top: calc(var(--pixel30)*-1);
	position:relative;
	background-color:#fff;
	background-image: url(../images/bg-p4c.svg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100% var(--pixel100);
	padding: min(160px,16vw) 0 var(--pixel80);
}

@media screen and (max-width: 767px) {
	.section-entry{
		margin-top: 0;
		background-size: 100% var(--pixel50);
		padding: 18vw 0 var(--pixel40);
	}
}



.entry-list{
	display: flex;
	gap: var(--pixel32);
}
.entry-list .box{
	flex: 1;
	background-color: #fffad9;
	padding: var(--pixel36) var(--pixel25) var(--pixel40);
	border-radius: var(--pixel20);
	text-align: center;
}
.entry-list .title-h2{
	font-size: var(--pixel30);
	font-weight: bold;
}
.entry-list .title-h2+.btn-cta{
	margin-top: var(--pixel30);
}
.entry-list .btn-cta,
.fix-btn .btn-cta{
	display: block;
	padding-bottom: var(--pixel5);
	transition: padding 0.3s cubic-bezier(0,0,.5,1);
}

@media (min-width: 768px) {
	.entry-list .btn-cta:hover,
	.fix-btn .btn-cta:hover{
		padding-top: var(--pixel5);
		padding-bottom: 0;
	}
	.entry-list .btn-cta:hover span,
	.fix-btn .btn-cta:hover span{
		box-shadow: 0 0 var(--pixel4) rgba(0, 0, 0, 0.2);
	}
}

.entry-list .btn-cta>span{
	position: relative;
	overflow: hidden;
	display: block;
	font-size: var(--pixel31);
	border-radius: var(--pixel10);
	background-color: var(--col-cta1a);
	background-image: url(../images/step-ico1.png);
	background-repeat: no-repeat;
	background-size: var(--pixel58) auto;
	background-position: calc(50% - 4em) 50%;
	padding-left: 2em;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.06em;
	color: #FFF;
	width: 100%;
	height: var(--pixel100);
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 var(--pixel4) var(--pixel4) rgba(0, 0, 0, 0.2);
	transition: box-shadow 0.3s cubic-bezier(0,0,.5,1);
}
.entry-list .btn-cta>span:after,
.fix-btn .btn-cta>span:after{
	content: "";
	display: block;
	width: 0.4em;
	aspect-ratio: 1/1;
	transform: rotate(45deg);
	border-top: var(--pixel2) solid #fff;
	border-right: var(--pixel2) solid #fff;
	margin-left: 0.5em;
}

.entry-list .btn-cta>span:before,
.fix-btn .btn-cta>span:before{
	content:"";
	position:absolute;
	top:-30%;
	left:-35%;
	width:34%;
	height:170%;
	background:linear-gradient(
		90deg,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,.85) 50%,
		rgba(255,255,255,0) 100%
	);
	transform:rotate(25deg);
	animation:shine 3s cubic-bezier(.5,0,0,1) infinite;
	pointer-events:none;
}
@keyframes shine{
	0%{
		left:-40%;
	}
	60%{
		left:120%;
	}
	100%{
		left:120%;
	}
}

.fix-btn{
	position: fixed;
	z-index: 2;
	width: 100%;
	bottom: calc(min(130px,13vw)*-1);
	background-color: #FCD59D;
	display: flex;
	justify-content: center;
	padding: var(--pixel20);
	transition: bottom 0.3s cubic-bezier(0,0,.5,1);
}
.fix-btn.is-show{
	bottom: 0;
}

.fix-btn .btn-cta>span{
	position: relative;
	overflow: hidden;
	display: block;
	font-size: var(--pixel30);
	border-radius: var(--pixel40);
	background-color: #ff7c45;
	padding-left: 1em;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.06em;
	color: #FFF;
	width: min(480px,48vw);
	height: var(--pixel80);
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 var(--pixel4) var(--pixel4) #B18152;
	transition: box-shadow 0.3s cubic-bezier(0,0,.5,1);
}
@media screen and (max-width: 767px){
	.fix-btn{
		padding: var(--pixel14);
		bottom: -21vw;
	}
	.fix-btn .btn-cta>span{
		font-size: var(--pixel20);
		border-radius: var(--pixel25);
		width: 82.1vw;
		height: var(--pixel50);
	}
}





.entry-list .wrap-fill{
	background-color: #fff;
	box-shadow: 0 var(--pixel4) var(--pixel4) rgba(0, 0, 0, 0.15);
	border-radius: var(--pixel10);
	margin-top: var(--pixel30);
	padding: var(--pixel20);
}
.entry-list .t1{
	font-size: var(--pixel16);
	color: var(--col-cta1a);
	font-weight: bold;
	padding-bottom: 0.4em;
	border-bottom: var(--pixel2) solid var(--col-cta1a);
	letter-spacing: 0.05em;
}
.entry-list .t1 .sizeM{
	font-size: 150%;
}
.entry-list .t1 .sizeL{
	font-size: 200%;
}
.entry-list .wrap-fill ol{
	display: flex;
	gap: var(--pixel2);
	border-radius: var(--pixel10);
	margin-top: var(--pixel20);
	overflow: hidden;
}
.entry-list .wrap-fill li{
	background-color: var(--col-cta1b);
	flex: 1;
	display: flex;
	flex-direction: column;
}
.entry-list .wrap-fill li .num{
	display: block;
	font-size: var(--pixel16);
	font-weight: bold;
	width: 100%;
	background-color: var(--col-cta1a);
	color: #fff;
	padding: 0.3em;
}
.entry-list .wrap-fill li .txt{
	font-size: var(--pixel12);
	min-height: 3em;
	flex: 1;
	line-height: 1.4;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	min-height: 6.2em;
}



.entry-list .box.shop{
	background-color: var(--col-cta2b);
}
.entry-list .shop .btn-cta>span{
	background-color: var(--col-cta2a);
	background-image: url(../images/step-ico4.png);
	background-position: calc(50% - 2.8em) 50%;
}
.entry-list .shop .t1{
	color: var(--col-cta2a);
	border-bottom: var(--pixel2) solid var(--col-cta2a);
}
.entry-list .shop .wrap-fill li{
	background-color: var(--col-cta2b);
}
.entry-list .shop .wrap-fill li .num{
	background-color: var(--col-cta2a);
}
@media screen and (max-width: 767px) {
	.entry-list{
		flex-direction: column;
		gap: var(--pixel20);
	}
	.entry-list .box{
		padding: var(--pixel28) var(--pixel20) var(--pixel20);
	}
	.entry-list .title-h2{
		font-size: var(--pixel24);
	}
	.entry-list .title-h2+.btn-cta{
		margin-top: var(--pixel18);
	}
	.entry-list .btn-cta>span{
		font-size: var(--pixel24);
		background-size: var(--pixel46) auto;
		height: var(--pixel78);
	}
	.entry-list .wrap-fill{
		padding: var(--pixel17) var(--pixel15) var(--pixel15);
		margin-top: var(--pixel16);
	}
	.entry-list .t1{
		font-size: var(--pixel12);
	}
	.entry-list .wrap-fill ol{
		margin-top: var(--pixel16);
	}
	.entry-list .wrap-fill li .num{
		font-size: var(--pixel12);
	}
	.entry-list .wrap-fill li .txt{
		font-size: var(--pixel11);
	}
}









.simu-result {
	margin-top: var(--pixel30);
	border: var(--pixel2) solid var(--col-key1a);
	border-radius: var(--pixel20);
	overflow: hidden;
	text-align: left;
}
.simu-result h3 {
	font-size: var(--pixel34);
	font-weight: 800;
	font-family: var(--wf-a);
	color: #fff;
	text-align: center;
	background-color: var(--col-key1a);
	padding: 0.65em 1em;
}
.simu-result-block {
	padding: var(--pixel30);
	background-color: var(--col-key1b);
}
.simu-result-block + .simu-result-block {
	border-top: var(--pixel2) solid var(--col-key1a);
}
.simu-result-block h4 {
	display: inline-block;
	font-size: var(--pixel22);
	font-weight: 800;
	font-family: var(--wf-a);
	color: var(--col-key1a);
	margin-bottom: 1em;
	padding-left: 0.8em;
	position: relative;
}
.simu-result-block h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 0.35em;
	height: 1.25em;
	border-radius: 1em;
	background-color: var(--col-key1a);
	transform: translateY(-50%);
}
.simu-result dl {
	display: grid;
	grid-template-columns: 44% 56%;
	gap: var(--pixel10) 0;
}
.simu-result dt,
.simu-result dd {
	font-size: var(--pixel16);
	line-height: 1.4;
	padding: 1em 1.2em;
	background-color: #fff;
}
.simu-result dt {
	font-weight: 700;
	border-radius: var(--pixel10) 0 0 var(--pixel10);
}
.simu-result dd {
	font-weight: 700;
	text-align: right;
	border-radius: 0 var(--pixel10) var(--pixel10) 0;
	color: var(--col-key1a);
}
.simu-result dd span {
	font-size: var(--pixel22);
	font-weight: 800;
	font-family: var(--wf-a);
}

@media screen and (max-width: 767px) {
	.simu-result {
		margin-top: var(--pixel20);
		border-radius: var(--pixel10);
	}
	.simu-result h3 {
		font-size: var(--pixel24);
	}
	.simu-result-block {
		padding: var(--pixel20);
	}
	.simu-result-block h4 {
		font-size: var(--pixel18);
	}
	.simu-result dl {
		display: block;
	}
	.simu-result dt {
		font-size: var(--pixel14);
		border-radius: var(--pixel10) var(--pixel10) 0 0;
		padding: 0.8em 1em 0.4em;
	}
	.simu-result dd {
		font-size: var(--pixel15);
		text-align: right;
		border-radius: 0 0 var(--pixel10) var(--pixel10);
		padding: 0.4em 1em 0.8em;
		margin-bottom: var(--pixel10);
	}
	.simu-result dd span {
		font-size: var(--pixel20);
	}
}


@media (min-width: 768px) {

}





.section-hero .t1,
.section-hero .t2{
	position: relative;
	opacity:0;
	/* transition: opacity .8s ease; */
}
.section-hero .t1{
	z-index: 1;
	transform: rotate(14deg) scale(1.4);
	transition: opacity .8s ease,
				transform .8s ease;
}
.section-hero .t2{
	z-index: 0;
	transform: translateY(calc(var(--pixel20)*-1));
	transition: opacity .4s ease 0.5s,
				transform .4s ease 0.5s;
}
.is-loaded .section-hero .t1{
	opacity: 1;
	transform: rotate(0deg) scale(1);
	
}
.is-loaded .section-hero .t2{
	opacity: 1;
	transform:translateY(0);
}
