@charset "UTF-8";
/* CSS Document */


/*
01 form
========================================================================== */
/* General ===================== */
input,textarea,select {
	color: var(--black);
	background-color: var(--screen);
	border: 1px solid var(--ash-grn);
	border-radius: 8px;
	transition: .2s ease;
	-webkit-appearance: none;
}
input,textarea {
	padding: 5px 10px;
	cursor: pointer;
}
input:focus,textarea:focus,select:focus { background-color: var(--white); }
textarea { min-height: 200px; }
label { letter-spacing: .04rem; cursor: pointer; }
select {
	min-width: 150px;
	height: 30px;
	padding: 0 15px 0 10px;
	position: relative;
	cursor: pointer;
}
select option{ background-color: var(--white); color: var(--black) }
select::-ms-expand { display: none; }

.typeSelect {	position: relative; }

.typeCheck { position: relative; }
.typeCheck > span + span { margin: 0 0 0 15px; }
.typeCheck label {
	position: relative;
	padding: 0 0 0 20px;
}
.typeCheck label:before,
.typeCheck label:after {
	content: '';
	display: block;
	border-radius: 50%;
	position: absolute;
}
.typeCheck label:before {
	width: 6px;
	height: 6px;
	background-color: var(--white);
	top: 12px;
	left: 5px;
	opacity: 0;
	z-index: 2;
}
.typeCheck label:after {
	width: 12px;
	height: 12px;
	border: 2px solid var(--black);
	border-radius: 50%;
	top: 7px;
	left: 0;
}

.typeSelect .wrap {
	display: inline-flex;
	position: relative;
}
.typeSelect .wrap:before,
.typeSelect .wrap:after {
	content: '';
	position: absolute;
	pointer-events: none;
	z-index: 3;
}
.typeSelect .wrap:before {
	width: 20px;
	height: calc(100% - 2px);
	background-color: var(--black);
	border-radius: 0 8px 8px 0;
	top: 1px;
	right: 1px;
}
.typeSelect .wrap:after {
	width: 3px;
	height: 3px;
	border-top: 2px solid var(--white);
	border-right: 2px solid var(--white);
	top: 50%;
	right: 9px;
	transform: translate(0,-50%) rotate(135deg);
}

input[type=radio],
input[type=checkbox] { display: none; }
input[type=radio]:checked + label,
input[type=checkbox]:checked + label { color: var(--black); }
input[type=radio]:checked + label:before,
input[type=checkbox]:checked + label:before { opacity: 1; }
input[type=radio]:checked + label:after,
input[type=checkbox]:checked + label:after { background-color: var(--green); border: 2px solid var(--green); }

:placeholder-shown { color: var(--graytic); }
::-webkit-input-placeholder { color: var(--graytic); }

.col100 { width: 100%; }
.col95 { width: 95%; }
.col90 { width: 90%; }
.col85 { width: 85%; }
.col80 { width: 80%; }
.col75 { width: 75%; }
.col70 { width: 70%; }
.col65 { width: 65%; }
.col60 { width: 60%; }
.col55 { width: 55%; }
.col50 { width: 50%; }
.col45 { width: 45%; }
.col40 { width: 40%; }
.col35 { width: 35%; }
.col30 { width: 30%; }
.col25 { width: 25%; }
.col20 { width: 20%; }
.col15 { width: 15%; }
.col10 { width: 10%; }
.col05 { width: 5%; }

.formInner { padding: 0 0 125px 320px; }
.formInner hr {
	width: 100%;
	height: 1px;
	background-color: var(--gray);
	margin: 40px 0;
}
.inner dl {
	display: flex;
	flex-direction: column;
	width: calc(100% - 100px);
}
.inner > dl + dl { margin: 15px 0 0 0; }
.inner dl dt,
.inner dl dd { position: relative; }
.inner dl.verReq dt:before {
	content: '※';
	color: red;
	font-size: 11px;
	position: absolute;
	top: 0;
	left: -15px;
}
.inner dl dd {
	width: 100%;
	margin: 3px 0 0 0;
}
.inner dl dd i {
	display: flex;
	align-items: center;
}
.inner dl dd > i + i { margin: 10px 0 0 0; }
.inner dl dd i small {
	margin: 0 0 0 12px;
	font-size: 11px;
}
.inner dl dd i span { display: inline-flex; }
.inner dl dd i > span + span { margin: 0 0 0 10px; }
.inner dl dd i sub { padding: 0 15px 0 7px; }
.inner dl dd i > sub + small { margin: 0 0 0 .75em; }
.inner dl dd sub { font-size: 11px; }
.inner dl dd > b { display: flex; }

/* has err */
.inner dl dd b {
	margin: 5px 0 10px;
	font-size: 11px;
	color: red;
}
.inner dl dd b:before {
	content: '↑';
	color: red;
}
.inner dl dd > b + i { padding: 10px 0 0 0; }

/* confirm */
.inner.verConfirm dl dd { line-height: 1.8; }

/* Button ===================== */
.inner .button {
	display: flex;
	align-items: center;
	margin: 35px 0 0;
}
.inner .button > * {
	display: inline-flex;
	justify-content: center;
	width: 35%;
	border-radius: 8px;
	color: var(--white);
	line-height: 1.2;
	padding: 20px 0;
	margin: 0 25px 0 0;
	white-space: nowrap;
	position: relative;
	cursor: pointer;
}
.inner .button .next { background-color: var(--green); }
.inner .button .back { background-color: var(--black); }


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


.formInner { padding: 0 0 125px 225px; }


}


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

.formInner { padding: 0 75px; }
.inner dl { width: 100%; }

.entry.inner .button { justify-content: center; }
.entry.inner .button > * {
	width: 60vw;
	margin: 0;
}
.confirm.inner .button { justify-content: space-between; }

}


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

.typeCheck label:before { top: 9px; }
.typeCheck label:after { top: 4px; }

.col100 { width: 100%; }
.col95 { width: 100%; }
.col90 { width: 100%; }
.col85 { width: 100%; }
.col80 { width: 100%; }
.col75 { width: 100%; }
.col70 { width: 100%; }
.col65 { width: 100%; }
.col60 { width: 100%; }
.col55 { width: 100%; }
.col50 { width: 100%; }
.col45 { width: 100%; }
.col40 { width: 100%; }
.col35 { width: 100%; }
.col30 { width: 100%; }
.col25 { width: 100%; }
.col20 { width: 100%; }
.col15 { width: 100%; }
.col10 { width: 100%; }
.col05 { width: 100%; }

.formInner { padding: 0 30px; }
.inner dl dd i {}
.inner dl dd i sub {}
.inner dl dd b { font-size: 11px; }


}
