.form_block {
	display: grid;
	grid-template-columns: 15em 1fr;
	gap: 2em;
	margin-bottom: 2em;
}

.form_ttl {
	font-weight: bold;
	word-break: break-all;
	padding-top: 0.2em;
}

.form_ttl.required::after {
	content: "※";
	color: red;
	font-size: 0.875em;
	margin-left: 0.2em;
}

.form_detail {
	word-break: break-all;
}

.form_detail.shimei {
	display: flex;
	gap: 1em;
}

.form_detail.week {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.5em 1.5em;
	align-items: center;
	row-gap: 0.7em;
	column-gap: 1.2em;
}

.form_detail.week .note {
	width: auto;
	min-width: 3.5em;
	margin: 0;
	padding-right: 0.5em;
	text-align: right;
	white-space: nowrap;
}

#ContactForm .form_detail.week select {
	width: 100%;
	min-width: 0;
	max-width: none;
	box-sizing: border-box;
}

.form_detail .note {
	color: #666;
	margin: 0.2em 0 0.4em;
}

.form_buttons {
	display: flex;
	gap: 1em;
	justify-content: center;
	padding-top: 2em;
	border-top: 1px solid #e6e6e6;
}

#ContactForm select,
#ContactForm textarea,
#ContactForm button,
#ContactForm input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]) {
	background: #f3f3f3;
	border: 1px solid #e6e6e6;
	padding: 1em;
	width: 100%;
	border-radius: 6px;
}

#ContactForm input[type="radio"],
#ContactForm input[type="checkbox"] {
	appearance: auto;
	-webkit-appearance: auto;
	border: initial;
	background: initial;
	box-shadow: none;
	padding: 0;
	width: 1rem;
	height: 1rem;
	margin: 0 0.4rem 0 0;
	vertical-align: middle;
	cursor: pointer;
	accent-color: #b2955d;
}

.form_buttons .back,
.form_buttons .reset,
.form_buttons .submit {
	width: 30% !important;
	cursor: pointer;
}

#ContactForm .form_buttons .submit {
	background-color: var(--color-main) !important;
	color: #fff !important;
}


#ContactForm label {
	cursor: pointer;
}

#ContactForm textarea {
	width: 100%;
	min-height: 18em;
	resize: vertical;
}

@media (max-width: 768px) {
	.form_block {
		grid-template-columns: 1fr;
		gap: 0.3em;
	}

	.form_ttl,
	.form_detail {
		padding: 0;
	}

	.form_ttl {
		padding-top: 1em;
	}

	.form_ttl:first-child {
		padding-top: 0;
	}
.form_buttons .back,
.form_buttons .reset,
.form_buttons .submit {
	width: 50% !important;
}

}