/* ページタイトルここから */
.page_title {
	position: relative;
	padding: 140px 50px;
	background: url("/2024/assets/img/contact/title.jpg") center center #efefef;
	background-size: cover;
}
.page_title h1 {
	display: block;
	font-size: 36px;
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 1em;
}
/* ページタイトルここまで */

/* フォームここから */
.contact_form {
	margin: 0;
	padding: 50px 4vw 60px;
	background: #fff;
}
.contact_form p {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 2em;
	text-align: center;
}
.contact_form form {
	display: block;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	padding: 50px 4vw 60px;
	background: #fff;
}
.form_input {
	padding: 10px;
}
.form_input label {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
	padding: 0;
}
.form_input label .form_label {
	position: relative;
	display: block;
	width: 30%;
	padding: 10px 0 10px 35px;
}
.form_input label .form_label.req::after {
	position: absolute;
	left: 0;
	top: 12.5px;
	transform: translateY(-3px);
	margin: 0;
	padding: 3px 5px;
	color: #fff;
	content: "必須";
	font-size: 10px;
	background: #900;
	border-radius: 20px;
}
.form_input label select,
.form_input label input,
.form_input label textarea {
	width: 70%;
	display: block;
	padding: 10px;
	border: 1px solid #8e8e8e;
	border-radius: 5px;
}
.privacy p {
	display: block;
	padding: 20px 0 0 0;
	font-size: 12px;
	line-height: 1.5em;
}
.bt_submit {
	margin: 0;
	padding: 50px 4vw;
}
.bt_submit button {
	display: block;
	width: 400px;
	margin: 0 auto;
	padding: 28px 0;
	color: #fff;
	font-size: 24px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	background: #1B9FFF;
	border: 1px solid #1B9FFF;
	border-radius: 50px;
	transition: .3s ease;
}
.bt_submit button:hover {
	color: #1B9FFF;
	background: #fff;
	border: 1px solid #1B9FFF;
}
/* フォームここまで */

/* サンクスここから */
.contact_thanks {
	margin: 0;
	padding: 50px 4vw 60px;
	background: #fff;
}
.contact_thanks p {
	display: block;
	margin: 0 0 2rem;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 2em;
	text-align: center;
}
.contact_thanks a {
	display: block;
	width: 400px;
	margin: 0 auto;
	padding: 28px 0;
	color: #fff;
	font-size: 24px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	background: #999999;
	border: 1px solid #999999;
	border-radius: 50px;
	transition: .3s ease;
}
.contact_thanks a:hover {
	color: #999999;
	background: #fff;
	border: 1px solid #999999;
}
/* サンクスここまで */

/* スマホここから */
@media screen and (max-width: 600px) {

/* ページタイトルここから */
.page_title {
	padding: 10vw;
}
.page_title h1 {
	font-size: 6vw;
	text-align: center;
}
/* ページタイトルここまで */

/* フォームここから */
.form_input label .form_label {
	display: block;
	width: 100%;
	padding: 10px 0 10px 35px;
}
.form_input label select,
.form_input label input,
.form_input label textarea {
	width: 100%;
	display: block;
	padding: 10px;
	border: 1px solid #8e8e8e;
	border-radius: 5px;
}
.bt_submit {
	padding: 10vw 4vw;
}
.bt_submit button {
	width: 270px;
	padding: 18px 0;
	font-size: 4vw;
}
/* フォームここまで */

/* サンクスここから */
.contact_thanks a {
	width: 270px;
	padding: 18px 0;
	font-size: 4vw;
}
/* サンクスここまで */

}
/* スマホここまで */