/* Contact
=========================================================================
=========================================================================*/
body.contact .title {
	padding: 100px 20px 70px;
	text-align: center;
}

body.contact .title h1 {
	font-weight: 600;
	font-size: 27px;
	line-height: 1em;
	color: #212121;
	clip-path: inset(0 100% -20% 0);
	transition: clip-path 4s cubic-bezier(0.19, 1, 0.22, 1);
	transition-delay: 0s;
}

body.contact .title h1.active {
	clip-path: inset(0 0 -20% 0);
}

body.contact article {
	padding: 0 20px 100px;
}

body.contact article section .inner {
	margin: 0 auto;
	max-width: 652px;
}

/* ----- フォームパーツ ----- */
form#mailformpro .input_parts {
	margin-bottom: 36px;
	width: 100%;
}

form#mailformpro .form_parts label.item_name {
	display: block;
	margin-bottom: 8px;
	font-size: 16px;
	color: #2E4B5A;
}

/* テキスト・メール */
form#mailformpro input[type="text"],
form#mailformpro input[type="email"] {
	display: block;
	margin-bottom: 5px;
	padding: 0.5em 1em;
	width: 100% !important;
	font-size: 16px;
	background-color: #FFF;
}

/* テキストエリア */
form#mailformpro textarea {
	display: block;
	margin-bottom: 5px;
	padding: 0.5em 1em;
	width: 100% !important;
	min-height: 238px !important;
	font-size: 16px;
	resize: vertical;
	background-color: #FFF;
}

::placeholder {
	color: #CCC;
}

/* エラー */
div.mfp_err {
	width: 100%;
	padding-left: 0;
	font-weight: 600;
	font-size: 14px;
	color: #FF0000;
}

div#mfp_warning {
	margin-bottom: 30px;
	width: 100%;
	font-weight: 600;
	font-size: 14px;
	color: #FF0000;
	text-align: center;
}

/* ----- フォームボタン ----- */
.form_button_container {
	padding-top: 40px;
	text-align: center;
}

#mfp_hidden input[type="submit"] {
	display: none;
}

.form_button_container input[type="submit"],
.form_button_container button[type="submit"] {
	cursor: pointer;
	width: 234px;
	height: 58px;
	font-weight: 600;
	font-size: 15px;
	line-height: 58px;
	text-align: center;
	color: #FFF;
	transition: 0.75s;
}

@media(hover: hover) {

	.form_button_container input[type="submit"]:hover,
	.form_button_container button[type="submit"]:hover {
		color: #1E2E37;
	}
}

.form_button_container .button {
	overflow: hidden;
	position: relative;
	display: block;
	margin: 0 auto 10px;
	width: 234px;
	border: 1px solid #1E2E37;
	border-radius: 4px;
	z-index: 2;
	transition: 0.75s;
}

.form_button_container .button::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #1E2E37;
	z-index: -1;
	transition: 0.75s;
}

@media(hover: hover) {

	.form_button_container .button:hover::after {
		background-color: #FFF;
	}
}


/* ----- Thanks ----- */
body.contact article section .inner p.thanks {
	margin-bottom: 40px;
	font-size: 16px;
	line-height: 1.625em;
	text-align: center;
	color: #2E4B5A;
}

/*  767px以下
=========================================================================
=========================================================================*/
@media screen and (max-width:767px) {

	body.contact .title {
		padding: 0 20px 70px;
	}

	body.contact article {
		padding-bottom: 80px;
	}

	/* ----- Thanks ----- */
	body.contact article section .inner p.thanks {
		margin-bottom: 180px;
	}
}

/*  420px以下
=========================================================================
=========================================================================*/
@media screen and (max-width:420px) {}
