@charset "utf-8";
/*--------------------------------------------------

	FORM

--------------------------------------------------*/
#form .inner {max-width: 900px;}
#form h3 {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);font-weight: 600;}
#form table {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#form table tr {border-bottom: 1px solid #D6D6D6;}
#form table tr th {position: relative;width: 150px;padding: 20px 0;font-weight: 600;vertical-align: top;}
#form table tr:first-child th {padding-top: 0;}
#form table tr th span {margin-left: 10px;color: #EA5413;font-weight: bold;font-size: 1rem;}
#form table tr td {display: block;padding: 20px 0;}
#form table tr:first-child td {padding-top: 0;}
#form table tr:last-child td {margin-bottom: 0;}
#form table tr td .wrap {
	height: 265px;
	margin-bottom: 20px;
	padding: 14px;
	overflow-y: scroll;
	border: 1px solid #A5CCCD;
	border-radius: 5px;
}
#form table tr td .wrap p {margin-bottom: 20px;}
#form table tr td .wrap p:last-child {margin-bottom: 0;}
#form input[type="text"],
#form input[type="tel"],
#form input[type="email"],
#form .stbox select,
#form textarea {
	width: 100%;
	height: 40px;
	padding: 0 20px;
	border: 1px solid #D6D6D6;
	background: #fff;
	font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);
	cursor: pointer;
	resize: vertical;
	vertical-align: bottom;
}
#form textarea {height: auto;padding: 10px 20px;}
::placeholder {color: #AAA;}
.radio_wrap .wpcf7-form-control {display: flex;flex-wrap: wrap;gap: 20px clamp(20px, calc(20px + 65 * ((100vw - 375px) / 1545)), 85px);}
.radio_wrap .wpcf7-list-item {margin: 0;}
input[type="radio"] {appearance: none;display: none;opacity: 0;position: absolute;width: 1px;height: 1px;}
input[type="radio"] + span {
	display: inline-block;
	position: relative;
	padding: 5px 0 0 40px;
	font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);
	vertical-align: middle;
	cursor: pointer;
}
input[type="radio"] + span::before,
input[type="radio"] + span::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 10px auto 0;
	border-radius: 50%;
	box-sizing: border-box;
}
input[type="radio"] + span::before {left: 0;width: 28px;height: 28px;background: #D6D6D6;}
input[type="radio"] + span::after {opacity: 0;left: 7px;width: 14px;height: 14px;background: #707070;}
input[type="radio"]:checked + span::before {border: 2px solid #707070;}
input[type="radio"]:checked + span::after {opacity: 1;background: #707070;}
.checkbox-container {position: relative;margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
.wpcf7-acceptance {display: flex;align-items: center;margin: 15px 0 0 5px;gap: 10px;}
.wpcf7-acceptance input[type="checkbox"] {position: absolute;left: 0;
  appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid #000;
	background: #fff;
    cursor: pointer;
}
.wpcf7-acceptance input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
	left: 4px;
	bottom: 40%;
	width: 11px;
	height: 6px;
	border-left: 2px solid #000;
	border-bottom: 2px solid #000;
	transform: rotate(-45deg);
}
.wpcf7-acceptance .wpcf7-list-item {margin-left: 20px;}
.wpcf7-acceptance .wpcf7-list-item-label {cursor: pointer;line-height: 1.4;}
.wpcf7-acceptance .wpcf7-list-item-label a {text-decoration: underline;}
.wpcf7-acceptance.wpcf7-not-valid {border-color: #000;}
.wpcf7-acceptance + .wpcf7-not-valid-tip {margin-top: 5px;color: #000;}
.wpcf7-acceptance input[type="checkbox"]:hover {border-color: #000;}
.checkbox-container a {
	display: block;
	max-width: 270px;
	padding: 12px 0;
	border: 1px solid #666;
	background: #666;
	color: #fff;
	font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);
	text-align: center;
}
.checkbox-container a:hover {background: #fff;color: #666;}
#form .submit {
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 190px;
	margin: 0 auto;
	padding: clamp(15px, calc(15px + 5 * ((100vw - 375px) / 1545)), 20px);
	overflow: hidden;
	border: 1px solid #707070;
	background: #fff;
	color: #000;
	font-weight: 600;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	text-align: center;
	transition: all .3s ease-out;
}
#form .submit:hover {background: #707070;color: #fff;}
@media only screen and ( max-width : 767px ) {
	#form table tr {display: block;}
	#form table tr th {display: block;width: 100%;}
	#form table tr td {padding-top: 0;}
	#form input[type="text"],
	#form input[type="tel"],
	#form input[type="email"],
	#form .stbox select {padding: 0 10px;}
	#form textarea {padding: 10px;}
}