.main{overflow:hidden;}

.form_section { max-width: 980px;margin: 100px auto 50px auto;}
.form_wrapper { padding: 6% 12%;box-sizing: border-box;}

.form_section h2{width: 200%; border-bottom: solid 1px #000; margin-left: 0;}
.form_section h2 img{ margin-bottom: -5px;}

form#mailformpro dl dt{float:none; border: none;background:none;padding: 0;font-size: 16px; width: 100%; text-align: left;}
form#mailformpro dl dd {padding: 10px 5px 40px 0;background:none;border:none;}
.must { background: #c0020d;border: none;text-shadow: none;border-radius:0;box-shadow:none;padding: 6px 18px;font-size: 16px;margin: -6px 25px 0 0;}
.any { color: #FFF;float: left; margin: 0px 5px;background: #d8be74;border: none;text-shadow: none;border-radius:0;box-shadow:none;padding: 6px 18px;font-size: 16px;margin: -6px 25px 0 0;}
#mailformpro .mfp_element_text, 
#mailformpro .mfp_element_number, 
#mailformpro .mfp_element_select-one, 
#mailformpro .mfp_element_email, 
#mailformpro .mfp_element_tel, 
#mailformpro .mfp_element_textarea { margin:2% 0 1% 0 !important; width: 100% !important; border: none; border-bottom: solid 1px #000; border-radius: 0; box-shadow: none; font-size: 16px; padding: 8px;}
#mailformpro dd ul { overflow: hidden;}
#mailformpro dd ul li { float: left;}

div.mfp_ok{margin: 0 !important;background: #090;border-radius: 0;}
.form_description {padding: 3%;box-sizing: border-box;border: solid 1px #333;margin-bottom: 2%;}
.form_description p{margin:0 ;font-size: 12px;line-height: 1.6em;}

@media screen and (max-width: 640px){
	.form_section{ margin: 50px auto;}
	.form_wrapper{ padding: 6% 2%;}
	.form_section h2 img { width: 200px;}
	.must, .any{margin-right:10px;font-size:13px;}
	form#mailformpro dl dt{font-size:13px;}
	#mailformpro .mfp_element_text, 
	#mailformpro .mfp_element_number, 
	#mailformpro .mfp_element_select-one, 
	#mailformpro .mfp_element_email, 
	#mailformpro .mfp_element_tel, 
	#mailformpro .mfp_element_textarea{font-size:13px;}
}




/* 各ベンダープレフィックスが取れた標準版 */
:placeholder-shown { color: #9a9a9a; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder { color: #9a9a9a; }

/* Firefox 18- */
:-moz-placeholder { color: #9a9a9a;}

/* Firefox 19+ */
::-moz-placeholder { color: #9a9a9a;  }

/* IE 10+ */
:-ms-input-placeholder { color: #9a9a9a; }



.mfp_element_submit, 
.mfp_element_reset, 
.mfp_element_button { background: #fff; border: solid #333 1px; border-radius: 0; box-shadow: none; color: #333; width: 100%; padding: 45px 0 35px; position:relative;}
.mfp_element_submit:hover, 
.mfp_element_reset:hover, 
.mfp_element_button:hover {background: none;box-shadow: none;}
.mfp_element_submit:after {display: block; content: "."; color: rgba(0,0,0,0); border: solid #333 1px; padding: 40px 0; font-size: 24px; position: absolute; width: 100%; top: 8px;left: 8px;}

.mfp_buttons button:hover {opacity: 0.5;}
div.mfp_buttons { clear: both; padding: 10px 0px;text-align: center;width: 740px;margin:70px auto;}

@media screen and (max-width: 1280px){
	div.mfp_buttons {max-width: 100%; margin-left: 0;}
}

@media screen and (max-width: 640px){

	.mfp_element_submit, 
	.mfp_element_reset, 
	.mfp_element_button{ font-size: 18px; padding: 35px 0 25px;}
	.mfp_element_submit:after { font-size: 18px;padding: 30px 0;}
	div.mfp_buttons { margin-top: 30px; width: 97%;}

}


/*確認モーダル*/
#mfp_overlay_inner div.mfp_buttons{max-width:100%;margin:0 auto;}
#mfp_overlay_inner .mfp_element_reset,
#mfp_overlay_inner .mfp_element_button { width: 200px; padding: 20px 0; margin: 4% 0 2%;}

@media screen and (max-width: 640px){
	div#mfp_phase_confirm h4 { font-size: 20px;}
}