@charset "UTF-8";



.l-bnr {
	border-top: 1px solid #cfc4c6;
}
.l-medmenu .c-bg-color {
	height:	calc(100% + min(20vw,250px));
	inset: auto 0 0 0;
}


/*---------------------------------------------------------
 Flow
---------------------------------------------------------*/
.flow {
	padding-bottom: 0;
}
.flow .c-bg-color {
	height: min(40vw,500px);
	background-color: var(--color-sand);
}
.flow__ttl {
	color: #FFF;
}
.flow .c-hdg--en {
	color: var(--color-sand-200);
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.flow .c-bg-color {
	height: 60vw;
}
}

/* Flow - step
-----------------------------------------------*/
.flow__step {
	list-style: none;
	counter-reset: stepCounter;
}
.flow__step > li {
	position: relative;
	counter-increment: stepCounter;
	background-color: #fff;
	padding: 5.5%;
	margin-bottom: 4.4%;
	box-shadow: 0 60px 40px -50px rgb(0 0 0 / 0.1);
}
.flow__step > li::after {
	position: absolute;
	display: block;
	content: "";
	background-color: inherit;
	width: 62px;
	aspect-ratio: 62/33;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	inset: calc(100% - 1px) 0 auto 0;
	margin: auto;
}
.flow__step > li:last-of-type {
	margin-bottom: 0;
}
.flow__step > li:last-of-type::after {
	display: none;
}
.flow__step .c-hdg--min {
	display: flex;
}

.flow__no {
	position: relative;
	width: 1.5em;
	font: var(--font-en);
	color: var(--color-sand);
	font-size: min(185%);
	letter-spacing: .1em;
	line-height: 0.8;
}
.flow__no::before {
	content: counter(stepCounter, decimal-leading-zero);
}

.flow__subbox {
	position: relative;
	width: 92%;
	max-width: 1000px;
	text-align: center;
	border: 4px solid #eed7d3;
	padding: 3.4%;
	margin-inline: auto;
}
.flow__subbox .c-hdg--bld {
	color: var(--color-sand);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.flow__step .l-flt {
	max-width: 1160px;
}
.flow__step .l-flt__img {
	width: 46%;
	margin-right: 7%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.flow__step > li {
	padding: 10% 8%;
	margin-bottom: 10%;
}
.flow__step > li::after {
	width: 10%;
}

.flow__subbox {
	width: 100%;
	border-width: 3px;
	padding: 8% 6%;
}
.flow__subbox .c-hdg--bld {
	font-size: 105%;
}
}



/*---------------------------------------------------------
 Reserve
---------------------------------------------------------*/
.reserve {
	background: url(../images/firstly/reserve-path@2x.png) no-repeat left top;
	background-size: 44% auto;
}
.reserve .c-bg-color {
	background-color: #fff;
}
.reserve .c-hdg--en {
	color: var(--color-och-200);
}

/* Reserve - qa
-----------------------------------------------*/
.qa {
	width: 90%;
	max-width: 1020px;
	text-align: center;
	background-color: #eeeedd;
}
.qa .c-hdg--en {
	position: absolute;
	width: 100%;
	color: var(--color-brw-300);
	font-size: min(4vw,272%);
	left: 0;
	top: -0.6em;
}
.qa__bbl {
	position: absolute;
	width: 32%;
	max-width: max-content;
	left: 4%;
	top: 0;
	translate: 0 -35%;
} 
.qa .c-btn-radi {
	position: absolute;
	width: 100%;
	text-align: center;
	inset: auto 0 0 0;
	margin: auto;
	translate: 0 50%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.qa {
	padding-bottom: 20%;
}
.qa .c-hdg--en {
	position: relative;
	font-size: 6.5vw;
	inset: auto;
}
.qa__bbl {
	width: 60%;
	left: 4%;
	translate: 0 -35%;
} 
.qa .c-btn-radi {
	translate: 0 25%;
}
}


/*---------------------------------------------------------
 Privacy
---------------------------------------------------------*/
.privacy {
	padding-top: min(20vw,270px);
}
.privacy .c-bg-img {
	opacity: 0.7;
}

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.privacy__inner {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 49.2% 49.2%;
}
}

/* Privacy - item
-----------------------------------------------*/
.privacy__item {
	background-color: #fff;
	box-shadow: 0 60px 20px -50px rgb(0 0 0 / 0.3);
}
.privacy__item--img {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 55% 38%;
	background-color: var(--color-sand);
}
.privacy__item--ttl {
	align-self: center;
	color: #FFF;
	font-size: min(2.2vw,168%);
	font-weight: var(--fw-bold);
	letter-spacing: .14em;
	line-height: 1.4;
}
.privacy__item--ttl span {
	display: block;
	color: var(--color-yel-200);
	font-size: 60%;
	letter-spacing: .14em;
	margin-bottom: .4em;
}
.privacy__item--txt {
	padding: 5.5% 8% 8%;
}
.privacy__item--txt:has(.c-btn-radi) {
	padding-bottom: 1px;
}
.privacy__item .c-btn-radi {
	text-align: center;
	margin-bottom: -1em;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.privacy__item:nth-of-type(n+2) {
	margin-top: 10%;
}
.privacy__item--ttl {
	font-size: 115%;
}
.privacy__item--ttl span {
	font-size: 70%;
}
}



/*---------------------------------------------------------
 
---------------------------------------------------------*/

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}