@charset "utf-8";

body {
	width: 900px;
}
#mail_form {
	position: relative;
}
#mail_form dl {
	color: var(--color-main);
	letter-spacing: 0.06em;
}
#mail_form dl.form_line {
	display: flex;
	flex-wrap: wrap;
	height: 80px;
}
#mail_form dl.form_line dt {
	width: 134px;
	line-height: 50px;
	text-align: right;
	padding-right: 0.7em;
}
#mail_form .name_box input,
#mail_form .tel_box input {
	width: 316px;
}
#mail_form .name_box {
	float: left;
}
#mail_form .mail_box input {
	width: 766px;
}
#mail_form dl.msg_box dt {
	height: 34px;
	margin: 10px 0 0;
}
#mail_form dl.msg_box dd {
	height: 250px;
}
#mail_form dl.msg_box textarea {
	width: 900px;
	height: 220px;
}
#form_submit_button {
	margin: 0 auto;
	display: block;
	width: 180px;
	padding: 14px 0;
	color: #ffffff;
	letter-spacing: 0.1em;
	background-color: var(--color-main);
	cursor: pointer;
	transition: .4s;
}
#form_submit_button:hover {
	background-color: #ffb57b;
}

/* フォーム項目装飾 */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
	font-size: 17px;
	color: #c21c24;
	border: 1px solid #ddd0ca;
	margin: 0;
	padding: 10px 12px;
	line-height: 1.6;
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
	border: 1px solid #ffb57b;
}

/*
　for JavaScript
*/

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
	display: none;
}
form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
	display: block;
	color: #ff0000;
	margin-top: 3px;
	font-size: 0.875em;
}

span.loading {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border-top: 5px solid rgba( 255, 255, 255, 0.2 );
	border-right: 5px solid rgba( 255, 255, 255, 0.2 );
	border-bottom: 5px solid rgba( 255, 255, 255, 0.2 );
	border-left: 5px solid #ffffff;
	-webkit-transform: translateZ( 0 );
	-ms-transform: translateZ( 0 );
	transform: translateZ( 0 );
	-webkit-animation: load-circle 1.0s linear infinite;
	animation: load-circle 1.0s linear infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -30px;
	margin-left: -30px;
}
@-webkit-keyframes load-circle {
	0% {
		-webkit-transform: rotate( 0deg );
		transform: rotate( 0deg );
	}
	100% {
		-webkit-transform: rotate( 360deg );
		transform: rotate( 360deg );
	}
}
@keyframes load-circle {
	0% {
		-webkit-transform: rotate( 0deg );
		transform: rotate( 0deg );
	}
	100% {
		-webkit-transform: rotate( 360deg );
		transform: rotate( 360deg );
	}
}
@media screen and (max-width: 834px) {
	input, button, textarea, select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border-radius: 0;
	}
	body {
		width: 100%;
		font-size: 15px;
	}
	#mail_form dl.form_line {
		display: block;
		height: auto;
	}
	#mail_form dl.form_line dt {
		width: auto;
		line-height: inherit;
		text-align: left;
		padding: 0 0 6px;
		margin: 18px 0 0;
	}
	#mail_form .name_box dd,
	#mail_form .tel_box dd,
	#mail_form .mail_box dd {
		width: 100%;
	}
	#mail_form .name_box input,
	#mail_form .tel_box input {
		width: 100%;
		max-width: 360px;
	}
	#mail_form .name_box input,
	#mail_form .tel_box input,
	#mail_form .mail_box input {
		width: 100%;
	}
	#mail_form .name_box {
		float: none;
	}
	#mail_form dl.msg_box dt {
		height: auto;
		line-height: 1.5;
		padding: 0 0 6px;
		margin: 16px 0 0;
	}
	#mail_form dl.msg_box dd {
		height: auto;
	}
	#mail_form dl.msg_box textarea {
		width: 100%;
		height: auto;
	}
	form#mail_form dl dd span.error_blank,
	form#mail_form dl dd span.error_format,
	form#mail_form dl dd span.error_match {
		line-height: 1.4;
	}
	#form_submit_button {
		margin: 10px auto 0;
	}

}
/*----------------------------------------------------
 完了画面
----------------------------------------------------*/
#thanks {
	width: 600px;
	border-top: 1px solid var(--color-sub);
	display: block;
	margin: 30px auto 0;
}
#thanks h3 {
	text-align: center;
	color: var(--color-main);
	font-size: 1.375em;
	letter-spacing: 0.1em;
	margin: 60px 0 0;
}
#thanks p {
	text-align: center;
	margin: 40px 0 0;
	line-height: 2.2;
}
