@charset "UTF-8";
#mfp_loading, #mfp_loading_screen, #mfp_overlay_background, #mfp_overlay{
	display: none;
}
div#mfp_hidden {
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0px;
	margin: 0px;
}
div.mfp_thanks ul.mfp_caution {
	margin: 0px;
	padding: 0px;
}
/*==================================
 table
===================================*/
form{
	width: 810px;
	background: #fff;
	margin: 0 auto;
}
form table{
	width: 100%;
}
form table th,
form table td{
	vertical-align: middle;
	font-size: 14px;
}
form table tr:last-child th{
	border-bottom: 1px solid #fff;
}
form table tr:last-child td{
	border-bottom: 1px solid #f5f5f5;
}
form table th{
	width: 254px;
	font-weight: bold;
	background: #f5f5f5;
	padding: 29px 62px 29px 32px;
	border-top: 1px solid #fff;
}
form table td{
	padding: 25px 32px;
	border-top: 1px solid #f5f5f5;
}
form table td .kome{
	font-size: 12px;
	line-height: 1.4;
	margin-top: 15px;
	padding-right: 40px;
	padding-left: 12px;
	text-indent: -12px;
}
/*==================================
 validation
===================================*/
.mfp_err{
	font-size: 12px;
	color: #c80000;
	margin-top: 10px;
	display: none;
}
.mfp_checked,
.mfp_not_checked{
	height: 0;
}
div.mfp_ok{
	display: none;
    content: "";
    width: 27px;
    height: 27px;
    border-radius: 27px;
    background: url("../../images/ic_form_checked.svg");
	background-size: 100% auto;
    position: absolute;
    right: 22px;
    top: 35px;
	text-indent: -9999px;
	overflow: hidden;
}

/*==================================
 must
===================================*/
.must{
	display: block;
    width: 38px;
    height: 20px;
    padding: 4px 5px 5px;
    font-size: 12px;
    text-align: center;
    position: absolute;
    right: 24px;
    top: 50%;
    margin-top: -10px;	
}
.must {
    background: #c1b3a2;
}

@media all and (-ms-high-contrast: none) {
	.must{
		padding: 5px 5px 5px;
		top: auto;
		margin-top: -4px;	
	}
}
/*==================================
 basic parts
===================================*/
input,
select,
textarea {
	/*reset*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	/*custom*/
	display: block;
	background: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 14px;
}
::placeholder {
  color: #c8c8c8;
}

input[type=text], 
input[type=email], 
select,
textarea{
	padding: 10px 0;
}

input[type=text], 
input[type=email], 
select{
	width: 500px;
    height: 30px;
}
select{
    background: url("../../images/ic_form_arrow.svg") no-repeat right 15px center, #f4f4f4;
    background-size: 18px 12px, auto;
	cursor: pointer;
}
@media all and (-ms-high-contrast: none) {
	select{
		background: #f4f4f4;
		background-size: auto;
	}
}
textarea{
	width: 100%;
	min-height: 250px;
	height: 250px;
	min-width: 500px;
	max-width: 500px;
}
input[type=file]{
    border: 0;
    padding: 8px 10px;
    height: 45px;
	cursor: pointer;
}

/*==================================
 radio
===================================*/
input[type=radio]{
	display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    margin-right: 5px;
    vertical-align: -4px;
	cursor: pointer;
}
input[type=radio]::after{
	content:"";
	width: 10px;
	height: 10px;
	border-radius: 10px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -5px;
	margin-top: -5px;
	background: green;
	opacity: 0;
}
.mfp_checked input[type=radio]::after{
	opacity: 1;
}
.radio_wrap label{
	display: block;
	height: 20px;
	margin-bottom: 15px;
}
.radio_wrap label:last-child{
	margin-bottom: 0;
}

/*==================================
 checkbox
===================================*/
input[type=checkbox] {
    display: none;
}
.checkbox_wrap {
	text-align: center;
	margin: 80px auto 75px;
	font-size: 16px;
	font-weight: bold;
}
.checkbox {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 4px 0 3px 30px;
    position: relative;
    width: auto;
}
.checkbox::before {
    background: #fff;
    border: 1px solid #c8c8c8;
    content: '';
    display: block;
    height: 20px;
    left: 0;
    position: absolute;
    top: 1px;
    width: 20px;
	box-sizing: border-box;
}
.checkbox::after {
    border-right: 3px solid #284e74;
    border-bottom: 3px solid #284e74;
    content: '';
    display: block;
    height: 10px;
    left: 6px;
    opacity: 0;
    position: absolute;
    top: 3px;
    transform: rotate(45deg);
    width: 5px;
}
.checkbox.mfp_checked::after {
    opacity: 1;
}
@media all and (-ms-high-contrast: none) {
	.checkbox {
		padding: 6px 0 3px 30px;
	}
}
.checkbox_wrap a{
	color: #aa9e94;
	text-decoration: underline;
	transition: all .3s ease;
}
.checkbox_wrap a:hover{
	opacity: 0.5;
}
/*==================================
 buttons
===================================*/
#mfp_button_send,
#mfp_element_submit,
#mfp_button_cancel{
	/*reset*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	/*custom*/
	display: block;
	width: 240px;
	height: 60px;
	text-align: center;
	cursor: pointer;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 16px;
	font-weight: bold;
	transition: all .3s ease;
	padding: 18px 0;
}
#mfp_element_submit,
#mfp_button_send{
	color: #aa9e94;
	background: url("../../common/images/btn_common_large.svg") no-repeat center;
	background-size: 100% auto;
}
#mfp_element_submit:hover,
#mfp_button_send:hover{
	background: url("../../common/images/btn_common_large_o.svg") no-repeat center;
	background-size: 100% auto;
	color: #fff;
}
#mfp_element_submit{
	margin: 0 auto;
}
#mfp_button_cancel{
	color: #958d8c;
	background: url("../../common/images/btn_gray.svg") no-repeat center;
	background-size: 100% auto;
}
#mfp_button_cancel:hover{
	opacity: 0.5;
}

.mfp_buttons{
	width: 520px;
	margin: 98px auto 0;
	overflow: hidden;
	clear: both;
}
.mfp_buttons #mfp_button_cancel{
	float: left;
}
.mfp_buttons #mfp_button_send{
	float: right;
}

/*==================================
 mfp_confirm_table
===================================*/
#mfp_phase_confirm{
	display: none;
	width: 810px;
	margin: 0 auto;
	padding: 94px 0 154px;
}
#mfp_phase_confirm h4{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 35px;
}
#mfp_confirm_table{
	width: 100%;
	border-top: 1px solid #f5f5f5;
	border-bottom: 1px solid #f5f5f5;
}
#mfp_confirm_table tr:first-child th,
#mfp_confirm_table tr:first-child td{
	padding-top: 58px;
}
#mfp_confirm_table tr:last-child th,
#mfp_confirm_table tr:last-child td{
	padding-bottom: 58px;
}
#mfp_confirm_table th,
#mfp_confirm_table td{
	vertical-align: middle;
	line-height: 1.6;
}
#mfp_confirm_table tr:last-child th,
#mfp_confirm_table tr:last-child td{
	border-bottom: 0;
}
#mfp_confirm_table th{
	width: 210px;
	font-weight: bold;
	padding: 25px 30px;
}
#mfp_confirm_table td{
	padding: 25px 0;
}


@media screen and (max-width:750px){
/*==================================
 table
===================================*/
form{
	width: 100%;
	padding: 0 10.6vw;
}
form table,
form table tbody,
form table tr,
form table th,
form table td{
	display: block;
	width: 100%;
	font-size: 3.7vw;
}
form table{
	border: 0;
}
form table tr{
	margin-bottom: 4vw;
}
form table th,
form table td{
	border-bottom: 0;
}

form table th{
	padding: 6.6vw 4vw;
	border-bottom: 0;
	height: 16vw;
	border: none;
}
form table td{
	padding: 0;
	border-bottom: 0;
}
form table tr:last-child td{
	border-bottom: 0.3vw solid #f5f5f5;
}
form table td .kome{
	font-size: 3.2vw;
	margin-top: 4vw;
	padding-right: 0;
	padding-left: 4vw;
	text-indent: 0;
}
form table tr:last-child th{
	border-bottom: none;
}
/*==================================
 validation
===================================*/
.mfp_err{
    font-size: 3.2vw;
    margin-top: 4vw;
    margin-bottom: 4vw;
    padding-left: 4vw;
}
.mfp_checked,
.mfp_not_checked{
	height: 0;
}
div.mfp_ok{
	display: none!important;
}
/*==================================
 must / nin
===================================*/
.must,
.nin{
    width: 10.1vw;
    height: 5.3vw;
    padding: 1vw 0;
    font-size: 3.2vw;
    right: 4vw;
    top: 50%;
    margin-top: -2.7vw;
}
/*==================================
 basic parts
===================================*/

input,
select,
textarea {
	font-size: 3.7vw;
}

input[type=text], 
input[type=email], 
select,
textarea{
	padding: 4vw;
}

input[type=text], 
input[type=email], 
select{
	width: 100%;
    height: 12vw;
}

textarea{
	width: 100%;
	min-height: 46vw;
	height: 46vw;
	min-width: 100%;
	max-width: 100%;
	line-height: 1.8;
}

/*==================================
 checkbox
===================================*/
input[type=checkbox] {
    display: none;
}
.checkbox_wrap {
	margin: 15vw auto 20vw;
	font-size: 4.2vw;
}
.checkbox {
    padding: 0.7vw 0 0.3vw 8vw;
}
.checkbox::before {
    border: 0.3vw solid #ccc;
	width: 5.3vw;
    height: 5.3vw;
    top: 0.1vw;
}
.checkbox::after {
	border-right: 0.8vw solid #284e74;
    border-bottom: 0.8vw solid #284e74;
    height: 2.6vw;
    left: 1.6vw;
    top: 0.5vw;
    width: 1.3vw;
}

/*==================================
 buttons
===================================*/
#mfp_button_send,
#mfp_element_submit,
#mfp_button_cancel{
	width: 64vw;
	height: 16vw;
	font-size: 4.2vw;
	margin: 0 auto;
}
.mfp_buttons{
	width: 100%;
	margin: 12vw auto 0;
}
.mfp_buttons #mfp_button_cancel{
	float: none;
}
.mfp_buttons #mfp_button_send{
	float: none;
	margin-bottom: 2.6vw;
}

/*==================================
 mfp_confirm_table
===================================*/
#mfp_phase_confirm{
	width: 100%;
	padding: 25.3vw 10.6vw 23.3vw;
}
#mfp_confirm_table tr:first-child th{
	padding-top: 8vw;
}
#mfp_confirm_table tr:last-child th {
	padding: 2.6vw 0 0;
}
#mfp_confirm_table tr:first-child td{
	padding: 2.6vw 0;
}
#mfp_confirm_table tr:last-child td{
	padding: 2.6vw 0 8vw;
}
#mfp_phase_confirm h4{
	font-size: 4.8vw;
	margin-bottom: 6.6vw;
}
#mfp_confirm_table,
#mfp_confirm_table tbody,
#mfp_confirm_table tr,
#mfp_confirm_table th,
#mfp_confirm_table td{
	display: block;
	width: 100%;
}
#mfp_confirm_table{
	border: none;
	border-top: 0.3vw solid #f5f5f5;
	border-bottom: 0.3vw solid #f5f5f5;
}
#mfp_confirm_table tr{
	margin-bottom: 6.7vw;
}
#mfp_confirm_table tr:last-child{
	margin-bottom: 0;
}
#mfp_confirm_table th{
	padding: 2.6vw 0 0;
	border-bottom: 0;
}
#mfp_confirm_table td{
	padding: 2.6vw 0 2.6vw;
	border-bottom: 0;		
}
}