.mainvisual{
	position: relative;
	background: url(../images/mainvisual_contact.jpg) no-repeat center top fixed;
	-webkit-background-size: auto 100%;
	     -o-background-size: auto 100%;
	        background-size: auto 100%;
}
.inner_mainvisual{
	min-height: 399px;
	background-image: url(../images/bg-mainvisual_contact.jpg);
	-webkit-background-size: auto;
	     -o-background-size: auto;
	        background-size: auto;
	background-position: center 90px;
	background-attachment: fixed;
}
.inner_mainvisual h1{
	position: relative;
	height: 399px;
	background: url(../images/ttl-contact.png) no-repeat left center;
	-webkit-background-size: 192px auto;
	     -o-background-size: 192px auto;
	        background-size: 192px auto;
}
@media (max-width:1050px) {
	.inner_mainvisual{
		margin-top: 120px;
		background-position: 0 120px;
	}
}
@media (max-width:745px) {
	.inner_mainvisual{
		margin-top: 50px;
	}
	.inner_mainvisual,
	.main-box:before{
		background-position: center 50px;
	}
	.inner_mainvisual h1{
		background-position: left 50px;
	}
}

#contact{
	position: relative;
	background: #F7F7F7;
}

#contact .cnt_inner{
	border-bottom: 1px solid #ccc;
}
#contact .cnt_inner:last-child{
	border-bottom: 0px;
}
.notes{
	font-size: 14px;
	padding: 0 10px;
}
.mw_wp_form_confirm .notes{display: none;}

.require{
	float: right;
	display: inline-block;
	background: #AF884E;
	color: #FFF;
	padding: 2px 10px;
	margin-right: 10px;
	font-size: 12px;
}

.contact-atention .require{float: none;}
.contact-atention p{
	color: #ec3333;
}

.contact-table{
	position: relative;
	width: 100%;
	max-width: 780px;
	margin: 30px auto;
	border-collapse: collapse;
}
.contact-table input,.contact-table textarea{
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}


.contact-table th{
	text-align: left;
	font-weight: normal;
	padding: 15px 10px;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.contact-table td{
	padding: 15px 30px;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}


.contact-table td input[type='text']{
	min-height: 32px;
	width: 300px;
	border: 1px solid #d2d2d2;
	-webkit-appearance: none;
}
.contact-table td .mwform-zip-field input[type='text'],
.contact-table td .mwform-tel-field input[type='text']{
	width: 100px;
}
.contact-table td textarea{
	width: 360px;
	max-width: 100%;
	height: 300px;
	border: 1px solid #d2d2d2;
	-webkit-appearance: none;
}

@media (max-width:745px) {
	.notes{font-size: 10px;}
	.require{float: none;}
	.contact-table tr{display: block; padding: 10px 0; border-bottom: 1px solid #ccc;}
	.contact-table tr:last-child{border-bottom: 0px;}
	.contact-table th{display: block;width: 100%; padding: 5px 0;}
	.contact-table td{display: block; padding: 0;}
	.contact-table td input[type='text']{width: 80%;}
	.contact-table td .mwform-zip-field input[type='text'],
	.contact-table td .mwform-tel-field input[type='text']{
		width: 55px;
	}
	.contact-table td textarea{
		width: 100%;
	}
}





.about-contact{
	position: relative;
	width: 100%;
	background: #FFF;
}
.about-contact .inner{
	width: 100%;
	max-width: 780px;
	padding: 30px 0;
	margin: 0 auto;
}
.about-contact h3{
	width: 100%;
	height: 30px;
	margin-bottom: 30px;
	background: url(../images/ttl-about-contact.png) no-repeat;
	-webkit-background-size: 350px auto;
	     -o-background-size: 350px auto;
	        background-size: 350px auto;
}
@media (max-width:745px) {
	.about-contact h3{
		-webkit-background-size: 200px auto;
		     -o-background-size: 200px auto;
		        background-size: 200px auto;
	}

}


.wpcf7-form-control-wrap {
	> .wpcf7-not-valid-tip {
	  display: none;
	}
  }

/* 手動で追加したエラーメッセージのスタイル */
.error-message {
    color: red;
    display: none;
}

.error-furi:has(.wpcf7-not-valid-tip) .error-message {
    display: block;
}
.error-name:has(.wpcf7-not-valid-tip) .error-message {    display: block;
}
.error-yubin:has(.wpcf7-not-valid-tip) .error-message {
    display: block;
}
.error-tel:has(.wpcf7-not-valid-tip) .error-message {
    display: block;
}
.error-info:has(.wpcf7-not-valid-tip) .error-message {
    display: block;
}


.about-contact p{
	font-size: 14px;
	line-height: 20px;
	color: #333;
}
.about-contact a{
	font-size: 14px;
	color: #052e56;
}
.action-buttons{
	width: 100%;
	text-align: center;
	padding: 50px 0;
}
/* .action-buttons input[name='submitConfirm']{
	font-size: 20px;
	width: 100%;
	max-width: 350px;
	color: #FFF;
	background: #052E56;
	border: 1px solid #052e56;
	padding: 10px 0;
	-webkit-appearance: none;
	-webkit-transition: .4s;
	-ms-transition: .4s;
	-moz-transition-property: opacity;
	-moz-transition-duration: .4s;
} */
.action-buttons input.submit-confirm{
	font-size: 20px;
	width: 100%;
	max-width: 350px;
	color: #FFF;
	background: #052E56;
	border: 1px solid #052e56;
	padding: 10px 0;
	-webkit-appearance: none;
	-webkit-transition: .4s;
	-ms-transition: .4s;
	-moz-transition-property: opacity;
	-moz-transition-duration: .4s;
}
.action-buttons input:hover{
	opacity: 0.5;
}
.action-buttons input[name='submitBack']{
	font-size: 20px;
	width: 100%;
	max-width: 350px;
	color: #FFF;
	background: #7F7F7F;
	padding: 10px 0;
	border: 0px;
	-webkit-appearance: none;
	-webkit-transition: .4s;
	-ms-transition: .4s;
	-moz-transition-property: opacity;
	-moz-transition-duration: .4s;
}
.action-buttons input[value='送信する']{
	font-size: 20px;
	width: 100%;
	max-width: 350px;
	color: #FFF;
	background: #052E56;
	padding: 10px 0;
	border: 0px;
	-webkit-appearance: none;
	-webkit-transition: .4s;
	-ms-transition: .4s;
	-moz-transition-property: opacity;
	-moz-transition-duration: .4s;
}

#contact .contact-atention .cnt_inner{
	border-bottom: 1px solid #ccc;
}
#contact .contact-atention .cnt_inner p{
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
	padding: 70px 0 10px;
}


.contact-flow{
	padding: 70px 0 0;
}
.contact-flow ul{
	overflow: hidden;
	background: #5B7895;
}
.contact-flow ul li{
	float: left;
	width: 33.33%;
	color: #FFF;
	text-align: center;
	font-size: 18px;
	padding: 16px 0;
	background: url("../images/right_normal.gif") no-repeat right center;
	-webkit-background-size: auto 100%;
	     -o-background-size: auto 100%;
	        background-size: auto 100%;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.contact-flow ul li:last-child{
	background-image: none;
}


@media (min-width:746px) {
	.mw_wp_form_input ul li.input,
	.mw_wp_form_confirm ul li.confirm{
		background-color: #052e56;
		background-image: url(../images/right_active.gif);
	}
	.mw_wp_form_complete ul li.input,
	.mw_wp_form_confirm ul li.input,
	.mw_wp_form_complete ul li.confirm{
		background-color: #052e56;
		background-image: url(../images/active.gif);
	}
	.mw_wp_form_complete ul li.end{
		background-color: #052e56;
	}
}

@media (max-width:1050px) {
	.contact-flow ul li{
		font-size: 15px;
	}
}
@media (max-width:745px) {

	.action-buttons input{
		display: block;
		margin: 10px auto;
	}
	.contact-flow ul{background: none;}
	.contact-flow ul li{
		float: none;
		width: 100%;
		margin-bottom: 5px;
		background: #5B7895;
	}
	.contact-flow ul li.sp-view{
		height: 17px;
		padding: 0;
		background: url(../images/sp-arrow.png) no-repeat center bottom;
		-webkit-background-size: 17px auto;
		     -o-background-size: 17px auto;
		        background-size: 17px auto;
		margin-bottom: 0;
	}
	.mw_wp_form_input .input,.mw_wp_form_confirm .input,.mw_wp_form_complete .input{background: #052e56;}
	.mw_wp_form_confirm .confirm,.mw_wp_form_complete .confirm{background: #052e56;}
	.mw_wp_form_complete .end{background: #052e56;}


	.contact-flow ul li:last-child{padding-bottom: 16px;}
}

.contact-thanks{
	padding: 50px 0;
}



.contact-thanks{
	font-size: 14px;
}
.contact-thanks a{
	color: #052E56;
}

