/* CSS Document */

.contact_box{}
.contact_box .inner{}

form{width:100%;}
form .cmn_text + dl{margin-top:min(60px,calc(40 * var(--size-sp)));}
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 dt .t{min-width: 3em; text-align: justify; text-align-last: justify;}
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: 300px; min-width: 300px;}
}
@media screen and (max-width: 999px) {
	form > dl{flex-direction: column;}
	form > dl > *{width:100%;}
}

form:not(.conf) > dl + dl{margin-top: 30px;}
/*
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-C); position: relative;}
form.conf .cmn_text + dl{margin-top:min(75px,calc(40 * var(--size-sp))); border-top: solid 1px var(--color-gray-C);}
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: 0.75em; font-weight: 500; background-color: var(--color-B); color: #FFF;
	min-width: 4em; text-align: center; border-radius: 1em;
}
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 var(--color-B); border-radius: 1px;}
form input[type="checkbox"]:checked{appearance: auto; box-shadow: none; accent-color: var(--color-B);
font-size: calc(1em + 2px); margin: -1px;}

form input[type="text"],
form input[type="tel"],
form input[type="email"],
form select,
form textarea{
	display: block; border:none; padding: 0 1em; width:100%; border-radius: 10px;
	background-color: var(--color-gray-F); /* border: solid 1px var(--color-gray-C); */
}
form input[type="text"],
form input[type="tel"],
form input[type="email"]{min-height: 50px;}
form textarea{padding: 1em;}
form input::placeholder,
form textarea::placeholder{color: var(--color-gray-C);}
@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;
gap: 0 0.5em; display: flex; align-items: baseline;}
.privacy_set .cmn_text{font-size: 1em; line-height: 1.75em;}
.privacy_set a{text-decoration: underline;
text-decoration-color: var(--color-B);
text-underline-position: under;
text-underline-offset: 3px;}
.privacy_set a:hover{color: var(--color-B);}

.doui_set{margin-top: min(60px,calc(30 * var(--size-sp))); display: flex; flex-direction: column; align-items: center;}
.privacy_set .doui_set{margin-top: 2em; align-items: flex-start;}
.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(80px,calc(40 * var(--size-sp))); gap: 20px 30px; display: flex; flex-wrap: wrap; justify-content: center;}
form .submit label{cursor: pointer; font-size: 70px; font-weight: 500; width: 400px;}
form .submit label.back{background-color: var(--color-gray-C); /* 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: 24px;}
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;}