/* CSS Document */

.contact_box{}
.contact_box .inner{max-width:var(--size-inner-960);}

form > dl{gap: 0.5em 0; display: flex; align-items: baseline;}
form > dl dt{font-weight: 700;}
form > dl dt > *{gap: 0.5em; display: flex; align-items: baseline;}
form > dl dd{flex-grow: 1;}
form:not(.conf) > dl dd > *[radio]{font-weight: 700; gap: 1em min(4em,calc(30 * var(--size-sp))); display: flex; flex-wrap: wrap;}
form:not(.conf) > dl dd > *[radio] label,
.doui_set label{cursor: pointer; gap: 0.5em; display: flex; align-items: center;}
@media screen and (min-width: 1000px) {
	form > dl dt{width: 310px; min-width: 310px;}
}
@media screen and (max-width: 999px) {
	form > dl{flex-direction: column;}
	form > dl > *{width:100%;}
}

form:not(.conf) > dl + dl{margin-top: 20px;}
form:not(.conf) > dl[set="お問い合わせ"]{margin-bottom: min(75px,calc(40 * var(--size-sp)));}
form:not(.conf) > dl[set="お問い合わせ"] dt{display: none;}

form.conf > dl{padding: min(30px,calc(16 * var(--size-sp))) 0; border-bottom: solid 1px var(--color-gray-E); position: relative;}
form.conf .cmn_text + dl{margin-top:min(75px,calc(40 * var(--size-sp))); border-top: solid 1px var(--color-gray-E);}
form.conf > dl dt{padding-left: 30px;}
form.conf > dl dd{padding-left: 45px;}
form.conf > dl dd > *[textarea]{white-space: pre-wrap;}
@media screen and (min-width: 1000px) {
	form.conf > dl dt,
	form.conf .cmn_text + dl::before,
	form.conf > dl::after{width: 250px; min-width: 250px;}
	form.conf .cmn_text + dl::before,
	form.conf > dl::after{content:''; display: block; position: absolute; left:0;}
	form.conf .cmn_text + dl::before{top:-1px; border-top: solid 1px var(--color-B-T050);}
	form.conf > dl::after{bottom:-1px; border-bottom: solid 1px var(--color-B-T050);}
}
@media screen and (max-width: 999px) {
	form.conf > dl dt,
	form.conf > dl dd{padding-left: 1em;}
}

form .hissu{
	font-size: 14px; font-weight: 400; background-color: var(--color-B); color: #FFF;
	min-width: 4em; text-align: center; border-radius: 0.25em;
}
form.conf .hissu{display:none;}

form input,
form select,
form textarea{margin: 0; font-size: 1em; font-family: var(--font-jp);}
form input,
form select{line-height: 1em;}
form input[type="radio"],
form input[type="checkbox"]{width: 1em; height: 1em; inline-size: 1em; block-size: 1em;}
form input[type="radio"]:checked{accent-color:var(--color-B);}
form input[type="checkbox"]{appearance: none; box-shadow: 0 0 0 1px;}
form input[type="checkbox"]:checked{appearance: auto; accent-color:#FFF;}

form input[type="text"],
form input[type="tel"],
form input[type="email"],
form select,
form textarea{
	display: block; border:none; padding: 0 2em; width:100%;
	background-color: var(--color-gray-F);
}
form input[type="text"],
form input[type="tel"],
form input[type="email"]{min-height: 50px;}
form textarea{padding: 1em 2em;}
form input::placeholder,
form textarea::placeholder{color: var(--color-gray-B);}
@media screen and (max-width: 999px) {
	form input[type="text"],
	form input[type="tel"],
	form input[type="email"],
	form select{padding: 0 1em;}
	form textarea{padding: 1em;}
}

.privacy_set{margin-top: min(50px,calc(30 * var(--size-sp)));}
.privacy_set > h4{font-size: 1em; margin-bottom: 0.25em;}
.privacy_set > .cmn_text{font-size: 1em; line-height: 1.75em;}

.doui_set{margin-top: min(60px,calc(30 * var(--size-sp))); display: flex; flex-direction: column; align-items: center;}
.doui_set > *{gap: 0.5em 1em; display: flex; flex-wrap: wrap; align-items: center;}
.doui_set .hissu{margin-left: auto;}

form *[erm]{background-color: var(--color-R); color:#FFF;
	padding: 0.25em 0.75em; margin-top: 0.25em;
}

form .submit{margin-top: min(60px,calc(30 * var(--size-sp))); gap: 20px 30px; display: flex; flex-wrap: wrap; justify-content: center;}
form .submit label{cursor: pointer; font-weight: 700;}
form .submit label.back{background-color: var(--color-gray-A); transition: opacity var(--transition-fast);}
form .submit label.back:hover{opacity:0.7;}
form .submit label.back::before{display: none;}
form .submit label > *{font-size: 1rem;}
form .submit input{display:none;}
@media screen and (max-width: 999px) {
}

.contact_box.thanks .cmn_subt1{gap:min(50px,calc(20 * var(--size-sp))) 0;}
.contact_box.thanks .cmn_subt1 .en{margin: -0.2em 0;}
.contact_box.thanks .cmn_subt1 + .cmn_text{margin-top:min(70px,calc(40 * var(--size-sp)));}
.contact_box.thanks .btn{margin-top:min(170px,calc(70 * var(--size-sp))); display: flex; justify-content: center;}