@charset "UTF-8";
:root {
	--times-new-roman: "Times New Roman", sans-serif;;
	--main-color: #fa7974;
	--base-color: #fff0de;
	--accent-color: #5f7b17;
	--beige: #fff7ec;
	--pink: #ffaba8;
	--green: #deedb4;
	--green2: #8cad39;
	--gold: #a28505;
	--gray: #747474;
	--lightgray: #e0e0e0;
	--shadow-3-3-15-b: calc(3 / 16 * 1rem) calc(3 / 16 * 1rem) var(--size-15);
	--size-1: max(1px,calc(1 / 16 * 1rem));
	--size-5: calc(5 / 16 * 1rem);
	--size-6: calc(6 / 16 * 1rem);
	--size-8: calc(8 / 16 * 1rem);
	--size-10: calc(10 / 16 * 1rem);
	--size-11: calc(11 / 16 * 1rem);
	--size-12: calc(12 / 16 * 1rem);
	--size-13: calc(13 / 16 * 1rem);
	--size-14: calc(14 / 16 * 1rem);
	--size-15: calc(15 / 16 * 1rem);
	--size-16: 1rem;
	--size-17: calc(17 / 16 * 1rem);
	--size-18: calc(18 / 16 * 1rem);
	--size-19: calc(19 / 16 * 1rem);
	--size-20: calc(20 / 16 * 1rem);
	--size-21: calc(21 / 16 * 1rem);
	--size-22: calc(22 / 16 * 1rem);
	--size-23: calc(23 / 16 * 1rem);
	--size-24: calc(24 / 16 * 1rem);
	--size-25: calc(25 / 16 * 1rem);
	--size-26: calc(26 / 16 * 1rem);
	--size-27: calc(27 / 16 * 1rem);
	--size-28: calc(28 / 16 * 1rem);
	--size-29: calc(29 / 16 * 1rem);
	--size-30: calc(30 / 16 * 1rem);
	--size-31: calc(31 / 16 * 1rem);
	--size-32: 2rem;
	--size-33: calc(33 / 16 * 1rem);
	--size-34: calc(34 / 16 * 1rem);
	--size-35: calc(35 / 16 * 1rem);
	--size-36: calc(36 / 16 * 1rem);
	--size-38: calc(38 / 16 * 1rem);
	--size-39: calc(39 / 16 * 1rem);
	--size-40: calc(40 / 16 * 1rem);
	--size-42: calc(42 / 16 * 1rem);
	--size-43: calc(43 / 16 * 1rem);
	--size-44: calc(44 / 16 * 1rem);
	--size-45: calc(45 / 16 * 1rem);
	--size-48: 3rem;
	--size-50: calc(50 / 16 * 1rem);
	--size-52: calc(52 / 16 * 1rem);
	--size-56: calc(56 / 16 * 1rem);
	--size-60: calc(60 / 16 * 1rem);
	--size-64: 4rem;
	--size-72: calc(72 / 16 * 1rem);
	--size-80: calc(80 / 16 * 1rem);
	--size-96: calc(96 / 16 * 1rem);
}
/*----------------------------
	background
-----------------------------*/
.bg--white { background-color: #fff; }
.bg--pink { background-color: #ffdbda; }
.bg--main {
	background-color: var(--main-color);
	position: relative;
	box-shadow: 0 0 var(--size-24) rgba(162,117,61,.48);
	border-radius: var(--size-80);
	overflow: hidden;
	z-index: 1;
}
.bg--main::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--main-color);
	background-image: url("../img/bg_stripe.png");
	background-size: auto;
	mix-blend-mode: multiply;
	z-index: -1;
}
.bg--beige {
	background-color: var(--beige);
	padding: var(--size-56) 6.4%;
}
.sec--registration.bg--beige,
.bg--beige-round {
	border-radius: calc(100 / 16 * 1rem);
}
.bg--beige-left,
.bg--beige-right {
	background-color: var(--beige);
	padding-top: var(--size-56);
	padding-bottom: var(--size-48);
}
.bg--beige-left {
	border-radius: 0 calc(164 / 16 * 1rem) calc(164 / 16 * 1rem) 0;
}
.bg--beige-right {
	border-radius: calc(164 / 16 * 1rem) 0 0 calc(164 / 16 * 1rem);
}
.bg--beige-left:has(.article) {
	border-radius: 0 calc(200 / 16 * 1rem) calc(200 / 16 * 1rem) 0;
}
.bg--beige-right:has(.article) {
	border-radius: calc(200 / 16 * 1rem) 0 0 calc(200 / 16 * 1rem);
}

/*----------------------------
	text
-----------------------------*/
.c--white { color: #fff; }
.c--main { color: var(--main-color); }
.c--accent { color: var(--accent-color); }

.fs--small {
	font-size: var(--size-13);
	line-height: 1.6923;
}
.fs--17 { font-size: var(--size-17); }
.fs--20 { font-size: var(--size-20); }
.fs--26 { font-size: var(--size-26); }

.bold { font-weight: bold; }

.align--l { text-align: left; }
.align--c { text-align: center; }
.align--r { text-align: right; }

/*----------------------------
	box
-----------------------------*/
.mb--6 { margin-bottom: calc(6 / 16 * 1rem); }
.mb--11 { margin-bottom: calc(11 / 16 * 1rem); }
.mb--12 { margin-bottom: calc(12 / 16 * 1rem); }
.mb--15 { margin-bottom: var(--size-15); }
.mb--16 { margin-bottom: var(--size-16); }
.mb--19 { margin-bottom: var(--size-19); }
.mb--20 { margin-bottom: var(--size-20); }
.mb--24 { margin-bottom: var(--size-24); }
.mb--30 { margin-bottom: var(--size-30); }
.mb--36 { margin-bottom: var(--size-36); }
.mb--32 { margin-bottom: var(--size-32); }
.mb--40 { margin-bottom: var(--size-40); }
.mb--52 { margin-bottom: var(--size-52); }
.mb--56 { margin-bottom: var(--size-56); }
.mb--64 { margin-bottom: var(--size-64); }
.mb--96 { margin-bottom: var(--size-96); }

.mr--1em { margin-right: 1em; }
.mr--6 { margin-right: calc(6 / 16 * 1rem); }
.mr--8 { margin-right: calc(8 / 16 * 1rem); }
.ml--6 { margin-left: calc(6 / 16 * 1rem); }
.mt--8 { margin-top: calc(8 / 16 * 1rem); }

.w--full { width: 100%; }

/*----------------------------
	display
-----------------------------*/
.block		{ display: block; }
.inblock	{ display: inline-block; }
.flex		{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: flex; }
.al--center { align-items: center; }

.pc { display: none; }

.pst--rel { position: relative; }
.pst--abs { position: absolute; }
.pst--fix { position: fixed; }

/*----------------------------
	link
-----------------------------*/
.link {
	font-size: var(--size-17);
	line-height: 1;
	max-width: calc(294 / 16 * 1rem);
	text-align: center;
	position: relative;
	border: var(--size-1) solid;
	color: var(--accent-color);
	border-color: var(--accent-color);
	width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding: var(--size-15) var(--size-13) var(--size-16);
	border-radius: calc(50 / 16 * 1rem);
}
.link--c-green {
	color: var(--green2);
	text-decoration: underline;
	transition: .3s;
}
.link--c-green:hover {
	opacity: .7;
	text-decoration: none;
}
.link--green {
	background: url(../img/icon_right.png) right var(--size-14) center / calc(6 / 16 * 1rem) no-repeat,var(--green);
}
.link--white {
	background: url(../img/icon_right.png) right var(--size-14) center / calc(6 / 16 * 1rem) no-repeat,#fff;
}
.link--green--window {
	background: url(../img/icon_window.png) right var(--size-14) center / var(--size-18) no-repeat,var(--green);
}
.link--white--window {
	background: url(../img/icon_window.png) right var(--size-14) center / var(--size-18) no-repeat,#fff;
}
.link--gray {
	background: url(../img/icon_right_gray.png) right var(--size-14) center / calc(6 / 16 * 1rem) no-repeat,#fff;
	border-color: #999;
	color: #333;
	max-width: calc(279 / 16 * 1rem);
	padding: var(--size-16) var(--size-16) var(--size-15);
}
.link--prev + .link--gray {
	padding: var(--size-11) var(--size-16) var(--size-10);
}
.link--prev {
	background: url(../img/icon_left_gray.png) left var(--size-14) center / calc(6 / 16 * 1rem) no-repeat,#fff;
	border-color: #999;
	color: #333;
	padding: var(--size-11) var(--size-16) var(--size-10);
	max-width: calc(279 / 16 * 1rem);
}
.link--under,
.link--under--l {
	font-size: var(--size-17);
	line-height: 1;
	color: var(--green2);
	display: block;
	max-width: max-content;
}
.link--under {
	padding-right: var(--size-22);
}
.link--under.icon--right::after,
.link--under--l.icon--right::after,
.link--window.icon--right::after {
	width: calc(6 / 16 * 1rem);
	background-color: var(--green2);
}
.link--under span,
.link--under--l span,
.link--window span {
	text-decoration: underline;
}
.link--under--l {
	padding-left: var(--size-16);
}
.link--under--l.icon--right::after {
	left: 0;
	right: auto;
}
.link--window {
	padding: 0 var(--size-18) 0 var(--size-24);
	color: var(--green2);
	display: block;
	max-width: max-content;
}
.link--window ::before {
	content: "";
	width: var(--size-18);
	height: var(--size-18);
	mask: url(../img/icon_window.png) no-repeat center / contain;
	-webkit-mask: url(../img/icon_window.png) no-repeat center / contain;
	background-color: var(--green2);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.link--black{
    color: #333;
}
.done {
	border: var(--size-1) solid var(--main-color);
	border-radius:  calc(8 / 16 * 1rem);
	padding: var(--size-11) var(--size-16) var(--size-11);
	text-align: center;
	font-size: var(--size-16);
	font-weight: 700;
	line-height: 1;
	color: var(--main-color);
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
/*----------------------------
	list
-----------------------------*/
.list__item {
	font-size: var(--size-17);
	position: relative;
	padding-left: var(--size-26);
}
.list__item::before {
	content: "●";
	color: var(--pink);
	position: absolute;
	top: 0;
	left: 0;
	font-size: var(--size-10);
	line-height: 2.2;
}
.list--order {
	counter-reset: number 0;
}
.list--order__item,
.list--normal__item {
	padding-left: 1em;
	position: relative;
	font-size: var(--size-17);
	line-height: 1.5294;
}
.list--normal__item::before,
.list--order__item::before {
	position: absolute;
	left: 0;
	top: 0;
}
.list--order__item::before {
	counter-increment: number 1;
  	content: counter(number) ".";
}
.list--normal__item + .list--normal__item,
.list--order__item + .list--order__item {
	margin-top: var(--size-10);
}
.list--normal__item::before {
	content: "・";
}

/*----------------------------
	form parts
-----------------------------*/
.form__select {
	line-height: 1;
	width: 100%;
	border: solid var(--size-1) var(--main-color);
	background: url(../img/icon_down.png) right var(--size-14) center / var(--size-12) no-repeat,var(--beige);
	border-radius: calc(5 / 16 * 1rem);
	font-size: var(--size-13);
	padding: var(--size-19) var(--size-14) var(--size-18) var(--size-15);
}

/*----------------------------
	icon
-----------------------------*/
.icon,.icon--progress,.icon--right {
	position: relative;
}
.icon::before {
	content: "";
	background-size: 100%;
	background-repeat: no-repeat;
	display: block;
}
.icon--person::before {
	mask: url(../img/icon_person.png) no-repeat center / contain;
	-webkit-mask: url(../img/icon_person.png) no-repeat center / contain;
	width: var(--size-16);
	height: var(--size-16);
	background-color: var(--accent-color);
}
.icon--doc::before {
	mask: url(../img/icon_doc.png) no-repeat center / contain;
	-webkit-mask: url(../img/icon_doc.png) no-repeat center / contain;
	width: var(--size-14);
	height: var(--size-18);
	background-color: var(--accent-color);
}
.icon--clock::before {
	mask: url(../img/icon_clock.png) no-repeat center / contain;
	-webkit-mask: url(../img/icon_clock.png) no-repeat center / contain;
	width: var(--size-16);
	height: var(--size-16);
	background-color: var(--accent-color);
}
.icon--mark::before {
	mask: url(../img/icon_mark.png) no-repeat center / contain;
	-webkit-mask: url(../img/icon_mark.png) no-repeat center / contain;
	width: var(--size-12);
	height: var(--size-16);
	background-color: var(--accent-color);
}
.icon--notice::before {
	background-image: url(../img/icon_notice.png);
	width: var(--size-16);
	height: var(--size-16);
}
.icon--privatejet::before {
	mask: url(../img/icon_privatejet.png) no-repeat center / contain;
    -webkit-mask: url(../img/icon_privatejet.png) no-repeat center / contain;
	background-color: var(--green2);
	width: calc(75 / 16 * 1rem);
	height: var(--size-22);
}
.icon--bullettrain::before {
	mask: url(../img/icon_bullettrain.png) no-repeat center / contain;
    -webkit-mask: url(../img/icon_bullettrain.png) no-repeat center / contain;
	background-color: var(--green2);
	width: calc(68 / 16 * 1rem);
	height: var(--size-21);
}
.icon--hirecar::before {
	mask: url(../img/icon_hirecar.png) no-repeat center / contain;
    -webkit-mask: url(../img/icon_hirecar.png) no-repeat center / contain;
	background-color: var(--green2);
	width: calc(53 / 16 * 1rem);
	height: var(--size-22);
}
.icon--midwife::before {
	mask: url(../img/icon_midwife.png) no-repeat center / contain;
    -webkit-mask: url(../img/icon_midwife.png) no-repeat center / contain;
	background-color: var(--green2);
	width: var(--size-26);
	height: var(--size-39);
}
.icon--rental::before {
	mask: url(../img/icon_rental.png) no-repeat center / contain;
    -webkit-mask: url(../img/icon_rental.png) no-repeat center / contain;
	background-color: var(--green2);
	width: calc(43 / 16 * 1rem);
	height: var(--size-38);
	margin-right: var(--size-10);
}
.icon--courier::before {
	mask: url(../img/icon_courier.png) no-repeat center / contain;
    -webkit-mask: url(../img/icon_courier.png) no-repeat center / contain;
	background-color: var(--green2);
	width: var(--size-40);
	height: var(--size-38);
}
.icon--progress::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
}
.progress--waiting .icon--progress::after {
	content: none;
}
.progress--success .icon--progress::after,
.progress--fail .icon--progress::after {
	width: var(--size-32);
	height: var(--size-32);
	right: var(--size-21);
}
.progress--success .icon--progress::after {
	background: url(../img/icon_success.png) no-repeat center / contain;
}
.progress--fail .icon--progress::after {
	background: url(../img/icon_fail.png) no-repeat center / contain;
}
.icon--right::after {
	content: "";
	background: var(--green2);
    mask: url(../img/icon_right.png) no-repeat center center / contain;
    -webkit-mask: url(../img/icon_right.png) no-repeat center center / contain;
	width: calc(6 / 16 * 1rem);
	height: var(--size-12);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	display: block;
	transition: .3s;
}
.icon--arrow::before {
	background-image: url(../img/icon_arrow.png);
	width: var(--size-15);
	height: var(--size-16);
	position: absolute;
	left: 0;
	top: 0;
}

/*----------------------------
	media query
-----------------------------*/
@media screen and (min-width: 768px){
	.pc { display: block; }
	.sp { display: none; }
	/*----------------------------
		background
	-----------------------------*/
	.bg--main {
		border-radius: calc(162 / 16 * 1rem);
	}
	.bg--beige {
		padding: var(--size-80) 2.222%;
	}
	.sec--registration.bg--beige,
	.bg--beige-round {
		border-radius: calc(200 / 16 * 1rem);
		max-width: calc(1068 / 16 * 1rem);
	}
	.bg--beige-left,
	.bg--beige-right {
		padding-top: var(--size-96);
		padding-bottom: var(--size-96);
	}
	.bg--beige-left,
	.bg--beige-left:has(.article) {
		border-radius: 0 calc(264 / 16 * 1rem) calc(264 / 16 * 1rem) 0;
	}
	.bg--beige-right,
	.bg--beige-right:has(.article) {
		border-radius: calc(264 / 16 * 1rem) 0 0 calc(264 / 16 * 1rem);
	}
	/*----------------------------
		box
	-----------------------------*/
	.mb--64,.mb--56 { margin-bottom: var(--size-96); }
	/*----------------------------
		link
	-----------------------------*/
	.link {
		font-size: var(--size-20);
		max-width: calc(432 / 16 * 1rem);
		padding: var(--size-25) var(--size-16) var(--size-25);
		background-size: calc(9 / 16 * 1rem);
		background-position: right var(--size-16) center;
		transition: .3s;
		cursor: pointer;
	}
	.link--green--window,
	.link--white--window {
		background-size: var(--size-18);
	}
	.link--gray {
		font-size: var(--size-17);
		max-width: calc(279 / 16 * 1rem);
		padding: var(--size-16) var(--size-16) var(--size-15);
		font-size: var(--size-17);
	}
	.link--prev + .link--gray {
		padding: var(--size-11) var(--size-16) var(--size-10);
	}
	.link--prev {
		max-width: calc(279 / 16 * 1rem);
		background-position: left var(--size-16) center;
		padding: var(--size-11) var(--size-16) var(--size-10);
		font-size: var(--size-17);
	}
	.link:hover {
		opacity: .7;
	}
	.link--black{
        transition: .3s;
    }
    .link--black:hover {
		color: #999;
        border-color: #999;
	}
	/*----------------------------
		icon
	-----------------------------*/
	.icon--person::before {
		width: var(--size-32);
		height: var(--size-32);
	}
	.icon--doc::before {
		width: var(--size-28);
		height: var(--size-36);
	}
	.icon--clock::before {
		width: var(--size-32);
		height: var(--size-32);
	}
	.icon--mark::before {
		width: var(--size-24);
		height: calc(31 / 16 * 1rem);
	}
	.icon--privatejet::before {
		width: calc(114 / 16 * 1rem);
		height: var(--size-34);
	}
	.icon--bullettrain::before {
		width: calc(88 / 16 * 1rem);
		height: var(--size-26);
	}
	.icon--hirecar::before {
		width: calc(75 / 16 * 1rem);
		height: var(--size-32);
	}
	.icon--midwife::before {
		width: var(--size-38);
		height: var(--size-56);
	}
	.icon--rental::before {
		width: calc(60 / 16 * 1rem);
		height: calc(54 / 16 * 1rem);
		margin-right: var(--size-13);
	}
	.icon--courier::before {
		width: calc(58 / 16 * 1rem);
		height: var(--size-56);
	}
	.icon--right::after {
		width: calc(9 / 16 * 1rem);
		height: var(--size-18);
	}
}
@media screen and (min-width: 1280px){
	.bg--beige-left {
		margin-right: 4.930%;
	}
	.bg--beige-right {
		margin-left: 4.930%;
	}
	.bg--beige-left .inner {
		transform: translateX(3%);
	}
	.bg--beige-right .inner {
		transform: translateX(-3%);
	}
}