/* CSS Document */

main.contact .inner{
	width:var(--size-inner-W);
	margin: 0 auto;
}
main.contact .inner + .inner{margin-top:min(110px,max(70px,calc(1vw * 70 / 3.75)));}
main.contact h3.contact_subt{
	text-align: center;
	font-size: var(--font-24-20);
	min-height: calc(1em * 40 / 24);
	border-radius:var(--radius-10);
	background-color: #000; color: #FFF;
	padding: 0 0.5em;
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
}
main.contact .contact_catch{
	text-align: center;
	margin-top: 0.5em;
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
}
main.contact .contact_catch a,
main.contact .qa_set dd a{text-decoration: underline;}
main.contact .qa_set{margin-top:min(45px,max(30px,calc(1vw * 30 / 3.75)));}
main.contact .qa_set h4,
main.contact .qa_set dt,
main.contact .qa_set dd::before{font-size: 18px;}
main.contact .qa_set h4{color: var(--color-R); margin-left: -0.5em;}
main.contact .qa_set h4 ~ h4{margin-top: 3em;}
main.contact .qa_set h4 + dl{margin-top: 0.5em;}
main.contact .qa_set dl + dl{
	margin-top: 1em; padding-top: 1em;
	border-top: dashed 1px var(--color-dark30);
}
main.contact .qa_set dt{font-weight: 900; margin-bottom: 0.75em;}
main.contact .qa_set dd{white-space: pre-wrap;}
main.contact .qa_set dt::before,
main.contact .qa_set dd::before{min-width: 1.25em; text-align: center; display: inline-block; vertical-align: bottom;}
main.contact .qa_set dt::before{content:'Q.';}
main.contact .qa_set dd::before{content:'A.';}
@media screen and (max-width: 870px){
	main.contact .contact_catch{text-align: justify; justify-content: flex-start;}
}

form{}
main.contact * + form{margin-top: 2em;}
form .form_set,
form .form_set dl{display: flex; flex-direction: column;}
form .form_set{gap:min(20px,var(--font-limit16));}
form .form_set dl{gap: 0.25em;}
form .form_set dt{gap:1em; display: flex; flex-wrap: wrap; align-items: baseline;}
form .form_set dt span.red{font-size:0.75em; color:var(--color-R);}
form .form_set dt span.red::before{content:'※';}
form .form_set dd{}
form .form_set .flex_box{gap:0.25em 1em; display: flex; flex-wrap: wrap; align-items: baseline;}
form .form_set .flex_box span{gap:0.5em; display: inline-flex; align-items: center;}
form.conf .form_set{gap:0;}
form.conf .form_set dl:nth-of-type(n+2){margin-top: 1em; padding-top: 1em; border-top: dashed 1px var(--color-dark30);}
form input,
form select,
form textarea{margin: 0; font-size: 1em;}
form input[type="radio"],
form input[type="checkbox"]{margin-top: -4px; width: 1em; height: 1em; inline-size: 1em; block-size: 1em;}
form input[type="radio"]:checked,
form input[type="checkbox"]:checked{accent-color:var(--color-R);}
form input[type="text"],
form select,
form textarea{
	display: block;
	border:solid 1px #d2d2d3;
	padding: 0.25em 0.5em;
	border-radius:var(--radius-10);
}
form input[type="text"],
form select{width:min(550px,100%);}
form input[type="text"][name*="｜件名"],
form textarea{width:100%;}
form select{min-height: 2em;}
form .form_er{}
form .form_set dd .form_er{margin-top: 0.25em;}
form .form_er .erm{font-size:14px; background-color:var(--color-R); color:#FFF;
padding-left: 0.5em; border-radius: 0 0.5em 0.5em 0.5em; position: relative;}
form .form_er .erm .arrow{
	position: absolute; bottom:calc(100% - 1px); left: 0;
	border-style: solid;
	border-width: 0 0.25em 0.75em;
	border-color: var(--color-R) transparent;
}

form .privacy_text{
	margin-top: 2em;
	font-size: 15px;
	white-space: pre-wrap;
}
form .privacy_text a{text-decoration: underline;}

form .doui_set{
	margin-top: 2em; font-size: 14px;
	display: flex; flex-direction: column; align-items: center;
}
form .doui_set label{gap:0.5em; display: flex; align-items: center;}
form .doui_set label input,
form .doui_set .form_er{font-size: 16px;}
form .submit_set,
form .submit_set label{display: flex; justify-content: center; align-items: center;}
form .submit_set{
	margin-top: 2em;
	gap: 1em; display: flex; justify-content: center; align-items: center;
}
form .submit_set label{
	border:solid 1px var(--color-R);
	background-color: #FFF;
	color:var(--color-R);
	font-weight: 900;
	cursor: pointer;
	width: min(262px,100%);
	max-width: 100%;
	min-height: 38px;
	padding: 0 1em;
	border-radius: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
}
form .submit_set label.disabled{cursor: auto; opacity:0.5;}
form .submit_set label[send]{background-color:var(--color-R);color:#FFF;}
form .submit_set label[send] svg *{stroke:#FFF;}
form .submit_set label[back]{border-color:var(--color-gray-2);color:var(--color-gray-2);}
form .submit_set label[back] svg *{stroke:var(--color-gray-2);}
form .submit_set input,
.page_contact input[name="honey"]{display: none;}
form .submit_set .text{margin: auto; padding-left: 1em;}
form .submit_set .arrow{
	width: 1em;
	height: 1em;
	display: grid; align-items: center; justify-items: end;
}
form .submit_set .arrow svg *{stroke:var(--color-R);}