@charset "utf-8";
form#mail_form {
	width: 100%;
	max-width: 1000px;
	background-color: var(--color-secondary);
    box-shadow: 0.3rem 0.3rem 1.5rem rgb(0 0 0 / 5%);
    border: 1px solid var(--color-secondary);
    border-radius: 5px;
    line-height: 1.8;
}
form#mail_form dl {
	width: 90%;
	max-width: 850px;
	margin: 0 auto;
}
form#mail_form dl dt {
	padding: 25px 0 10px;
	font-weight: 600;
	letter-spacing: 0.1em;
}
form#mail_form dl dd {
	padding: 0px 0 20px 0px;
}
form#mail_form dl dt span.required {
	display: inline-block;
	margin: 0  0 0 15px;
	padding: 2px 7px;
	background: #c2482d;
	color: var(--color-secondary);
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}
form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"] {
	width: 100%;
	height: 50px;
	padding: 10px;
	background-color: #f2f2f2;
	-webkit-appearance: none;
	font-size: 1.6rem;
	line-height: normal;
}
form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form input[type="tel"]:focus,
form#mail_form textarea:focus {
	box-shadow: 0px 0px 5px #55ccff;
	background: var(--color-secondary);
}
form#mail_form input[name="name_1"],
form#mail_form input[name="name_2"],
form#mail_form input[name="read_1"],
form#mail_form input[name="read_2"],
form#mail_form input[name="postal"] {
	width: 49%;
}
form#mail_form input[name="postal"] + a {
	display: inline-block;
	padding: 13px 15px;
	background-color: #cbcbcb;
	font-size: 1.6rem;
	line-height: normal;
	color: var(--color-secondary);
}
form#mail_form textarea {
	display: block;
	width: 100%;
	height: 250px;
	padding: 10px;
	resize: vertical;
	background: #f2f2f2;
	-webkit-appearance: none;
	font-size: 1.6rem;
	line-height: normal;
}
form#mail_form p#form_submit {
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
}
form#mail_form input[type="button"] {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 21.7rem;
	height: 4.8rem;
	margin: 0 auto;
	background: var(--color-accent);
	box-shadow: 0.3rem 0.3rem 1.5rem rgb(0 0 0 / 5%);
	border-radius: 6.95rem;
	color: var(--color-secondary);
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}
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: #c2482d;
	margin-top: 5px;
}

div.loading-layer {
	width: 100vw;
	height: 100vh;
	background: rgba( 0, 0, 0, 0.7 );
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 10000;
}
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 var(--color-secondary);
	-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 (min-width: 600px) {
	form#mail_form {
		padding-top: max(20px, min(3.255208vw, 40px));
		padding-top: clamp(20px, 3.255208vw, 40px);
		padding-bottom: max(20px, min(3.255208vw, 40px));
		padding-bottom: clamp(20px, 3.255208vw, 40px);
	}
}
@media screen and (min-width: 1025px) {
	form#mail_form input[name="postal"] + a,
	form#mail_form input[type="button"] {
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
		word-break: break-all;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		vertical-align: baseline;
	}
	form#mail_form input[name="postal"] + a:hover,
	form#mail_form input[type="button"]:hover {
		cursor: pointer;
		opacity: 0.6;
		filter: alpha(opacity=80);
		-moz-opacity: 0.8;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
}