@charset "UTF-8";
/*============================
	module style
	- background
============================*/
:root {
	--white: #fff;
	--font-color: #625b71;
	--base-color: #ecedf4;
	--main-color: #2e5a8f;
	--accent-blue: #0062d4;
	--attention-color: #C30505;
	--fs-12: .75rem;
	--fs-14: .875rem;
	--fs-16: 1rem;
	--fs-18: 1.125rem;
	--fs-20: 1.25rem;
	--fs-32: 2rem;
	--fs-40: 2.5rem;
	--fs-50: 3.125rem;
	--fs-56: 3.5rem;
	--fs-60: 3.75rem;
	--fs-100: 6.25rem;
	--fs-120: 7.5rem;
	--notosansjp: "Noto Sans JP", sans-serif;
	--mincho: "Noto Serif JP", serif;
	--allura: "Allura", cursive;
	--abhaya: "Abhaya Libre", serif;
	--tt: "Old Standard TT", serif;
}
/*----------------------------
	background
-----------------------------*/
.bg--white { background-color: #fff; }
.bg--base { background-color: var(--base-color); }
.bg--base--title { background: linear-gradient(to bottom, var(--white),var(--white) 3.4375rem,var(--base-color) 3.4375rem, var(--base-color) 100%); }

/*----------------------------
	text
-----------------------------*/
.c--white { color: #fff; }
.c--red { color: var(--attention-color); }
.c--accent-blue { color: var(--accent-blue); }
.centerline { text-decoration: line-through; }

.fs--12 { font-size: var(--fs-12); }
/* .fs--large	{ font-size: 2.5rem; }
.fs--middle	{ font-size: 1.25rem; }
.fs--small	{ font-size: .875rem; } */

.bold { font-weight: bold; }

.align--l { text-align: left; }
.align--c { text-align: center; }
.align--r { text-align: right; }

/*----------------------------
	box
-----------------------------*/
.mt--16 { margin-top: 16px; }
.mr--24 { margin-right: 24px; }
.mb--16 { margin-bottom: 16px; }
.mb--120 { margin-bottom: 120px; }
.ml--10 { margin-left: 10px; }

.pt--10 { padding-top: 10px; }
.pr--10 { padding-right: 10px; }
.pb--10 { padding-bottom: 10px; }
.pl--10 { padding-left: 10px; }

.bd { border: 1px solid #000; }

/*----------------------------
	display
-----------------------------*/
.block		{ display: block; }
.inblock	{ display: inline-block; }
.flex		{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: flex; }
.sp { display: none; }

.fl--l	{ float: left; }
.fl--r	{ float: right; }
.clear	{ clear: both; }

.pst--rel { position: relative; }
.pst--abs { position: absolute; }
.pst--fix { position: fixed; }

.link--under {
	color: var(--accent-blue);
	border-bottom: 1px solid var(--accent-blue);
}

/*----------------------------
	form
-----------------------------*/
.list--form {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 32px);
}
.list--form__item {
	display: flex;
}
.list--form__item + .list--form__item {
	margin-top: 32px;
}
.list--form--confirm .list--form__item + .list--form__item {
	margin-top: 40px;
}
.list--form__item .title {
	width: 14.875rem;
	margin-right: 10px;
}
.input__outer {
	width: calc(100% - (14.875rem + 10px));
}
.form__input,.form__textarea,.form__select {
	background: var(--white);
	border: solid 1px var(--accent-blue);
	border-radius: 10px;
	padding: 12px 16px;
	box-sizing: border-box;
	color: var(--font-color);
	min-height: 60px;
}
.form__select,.form__input.narrow {
	max-width: 270px;
	width: 100%;
}
.form__input,.form__textarea {
	width: 100%;
}
.form__textarea {
	resize: none;
}
.form__label--radio, .form__label--checkbox {
	position: relative;
	padding-left: calc(1.25rem + 16px);
}
.form__label--radio::before, .form__label--checkbox::before {
    content: "";
    border: solid 1px var(--accent-blue);
	background-color: var(--white);
    width: 1.25rem;
    height: 1.25rem;
    position: absolute;
    left: 0;
    top: .125rem;
}
.form__label--radio::before {
	border-radius: 50%;
}
.form__radio:checked + .form__label--radio::after {
    content: "";
    position: absolute;
    background: var(--accent-blue);
    border-radius: 50%;
    top: .4375rem;
    left: .3125rem;
    width: .75rem;
    height: .75rem;
}
.form__checkbox:checked + .form__label--checkbox::after {
    content: "";
    position: absolute;
    border-left: 3px solid var(--accent-blue);
    border-bottom: 3px solid var(--accent-blue);
    width: .875rem;
    height: .3125rem;
    top: .4375rem;
    left: .125rem;
    transform: rotate(-45deg);
}
.policy__outer {
	text-align: center;
	margin: 50px auto 30px;
}
.btn__outer {
	max-width: max-content;
	margin: auto;
}
.form__submit {
	background: var(--white);
	color: var(--accent-blue);
	border: 1px solid var(--accent-blue);
	font-size: var(--fs-16);
	line-height: 1;
	font-weight: bold;
	padding: 16px 68px;
	box-sizing: border-box;
	cursor: pointer;
	margin: auto;
}
.g-recaptcha {
	max-width: max-content;
	margin: 0 auto 16px;
}
.warning {
	text-align: center;
	margin-bottom: 32px;
}
@media screen and (max-width: 768px){
	:root {
		/* --fs-12: .75rem;
		--fs-14: .875rem;
		--fs-16: 1rem;
		--fs-18: 1.125rem;
		--fs-20: 1.25rem;
		--fs-32: 2rem;
		--fs-40: 2.5rem;
		--fs-56: 3.5rem;
		--fs-60: 3.75rem;
		--fs-100: 6.25rem; */
		--fs-16: .875rem;
		--fs-20: 1.125rem;
		--fs-32: 1.5rem;
		--fs-40: 2rem;
		--fs-60: 2.5rem;
		--fs-100: 3.75rem;
		--fs-120: 5rem;
	}
	.sp { display: block; }
	.pc { display: none; }
	.bg--base--title { background: linear-gradient(to bottom, var(--white),var(--white) 2.5rem,var(--base-color) 2.5rem, var(--base-color) 100%); }
	/*----------------------------
		form
	-----------------------------*/
	.list--form__item {
		flex-wrap: wrap;
	}
	.list--form__item .title {
		width: 100%;
		margin-bottom: 8px;
	}
	.input__outer {
		width: 100%;
	}
}