@charset "UTF-8";
.form_wrap{
	background: #fff;
	padding: 60px 0;
}

.footer_info a{
	display: none!important;
}
.mv{
	position: relative;
}
main{
	display: block;
}
#wrap{
	overflow: hidden;
}
.mv >div{
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50% , -50%);
	text-align: center;
	white-space: nowrap;
}
.mv h1{
	font-size: 34px;
	letter-spacing: 0.2em;
	line-height: 1;
	color: #fff;
	font-weight: 600;
	margin-bottom: 20px;
}
.h1_en{
	font-size: 13px;
	letter-spacing: 0.08em;
	margin-bottom: 20px;
	color: #fff;
	font-weight: 500;
}
.mv div p{
  color: #fff;
}

main{
	/* background: #f5f5f5; */
	/* padding-bottom: 100px; */
}
/* .form_wrap{
	width: calc(100vw - 18.75%);
	margin: 100px 0 0px auto;
	background-color: #fff;
	padding: 125px 0;
} */
.form_wrap > div{
	max-width: 640px;
	padding: 0 20px;
	width: 100%;
	margin: 0px auto 0;
	}
.form_wrap h2,.h2_lead{
	max-width: 1000px;
	margin: 0 auto;
}
.form_wrap div form{
	max-width: 1000px;
	width: auto;
	margin: 0 auto;
	padding: 0;
}
.contact_ttl{
	color: #b40000;
	font-size: 54px;
	position: relative;
	display: block;
	margin-bottom: 10px;
	text-align: center;
	text-transform: uppercase;
}

.h2_lead{
	line-height: 2;
	color: #4e4e4e;
	/* padding-bottom: 50px;
	border-bottom: solid 1px #eaeaea;
	margin-bottom: 50px; */
	text-align: center;
	width: 100%;
	/* margin: 0 auto; */
}
.contact_image{
	margin: 20px auto 40px;
}
.form_flex01{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
	position: relative;
	flex-wrap: wrap;
}
.input_box01{
	width: 100%;
}
.input_box01 input{
	background: #f7f7f7;
	width: 100%;
	font-weight: 100;
	padding: 0px 20px;
	height: 60px;
	letter-spacing: 0.05em;
} 
.input_box01 select{
	background: #f7f7f7;
	width: 100%;
	font-weight: 100;
	padding: 0px 20px;
	height: 60px;
	letter-spacing: 0.05em;
	color: #4e4e4e;
	/* text-align: center; */
	/* width: 50%; */
	font-weight: 300;
	appearance: none;
	} 
.select_box{
	position: relative;
}
.select_box::after{
	position: absolute;
	content: "";
	display: block;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	border-top: 9px solid #707070; /* 好みで高さ色を変えてください */
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	pointer-events: none;
}
.form_name01{
	width: 100%;
	color: #4e4e4e;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 60px;
	line-height: 1.5;
	position: relative;
	}
.form_name01 span{
	font-size: 12px;
	color: #fff;
	background: #c40e0e;
	padding: 3px 10px;
	white-space: nowrap;
}
.form_name01 a{
	color: #c40e0e;
}
.form_name01 span.any{
	background: #78909C;
}
.form_flex02{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
	flex-wrap: wrap;
}
.form_flex02 .form_name01{
	/* align-items: flex-start; */
}
.input_flex{
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
.form_name02{
	width: 19%;
	margin-right: 20px;
	min-width: 128px;
	color: #4e4e4e;
}
.input_box02{
	width: 78%;
}
.radio_box{
	width: 100%;
}
.radio_btn{
	width: 20px;
	height: 20px;
	display: inline-block;
	margin-right: 5px;
	/* position: relative; */
	/* bottom: 1px; */
}
label{
	/* margin-top: 2px; */
	position: relative;
	color: #4e4e4e;
	top: 1px;
}
.form_text{
	width: 67%;
}
.form_text textarea{
	width: 100%;
	background: #f7f7f7;
	padding: 20px;
}
.radio_box p{
	/* margin-right: 20px; */
	display: inline-block;
	margin: 5px 20px 5px 0;
}
.privacy{
	text-align: center;
	margin: 60px auto;
}
div.submit{
	text-align: center;
	max-width: 670px;
	display: flex;
	justify-content: center;
	margin: 60px auto 0;
}
.submit_btn{
	width: 100%;
	max-width: 300px;
	background: #c5c5c5;
	color: #fff;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	/* margin: 0 10px; */
}
.submit_area{
	width: 100%;
	max-width: 300px;
	position: relative;
	margin: 0 5px;
}
.submit_ready{
	position: absolute;
	top: 0;
	left: 0;
	background: #111111;
	cursor: pointer;
}


.form_privacy a{
	display: inline;
	color: #007cff;
	text-decoration: underline;
}
.form_privacy > div{
  height: 200px;
  overflow-y: scroll;
  border: 1px solid #dcdcdc;
  padding: 15px !important;
  box-sizing: border-box;
  text-align: left !important;
}
.form_privacy h2{
  margin: 20px 0 10px;
  font-weight: bold;
  letter-spacing: 1px;
  font-size: 12px;
  padding: 0;
}

.form_privacy p{
	font-size: 12px;
  line-height: 1.5;
  margin: 0 0 20px;
}

.form_privacy_p{
	font-size: 14px;
    font-weight: bold;
	margin: 0 0 10px !important;
}


/* 元々のチェックボックス（非表示） */
.privacy input[type="checkbox"]{
    display: none;
}
/* チェックボックスの代わりを成すラベル */
.privacy input[type="checkbox"]+label{
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding-left: 25px;
    padding-right: 10px;
}
/* ラベルの左に表示させる正方形のボックス□ */
.privacy input[type="checkbox"]+label::before{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    left: 0;
    top: 50%;
    border: 1px solid;
    border-color: #d1d1d1; /* 枠の色変更 お好きな色を */
    background-color: #FFF; /* 背景の色変更 お好きな色を */
}
/* チェックが入った時のレ点 */
.privacy input[type="checkbox"]:checked+label::after{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 18px;
    height: 9px;
    margin-top: -9px;
    top: 50%;
    left: 3px;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color: #2e3175; /* チェックの色変更 お好きな色を */
}
.pri_link{
	border-bottom: 1px solid #4e4e4e;
	padding-bottom: 5px;
	transition: 0.3s;
}
.pri_link:hover{
	color: #888;
	transition: 0.3s;
}


input[type=radio] {
	margin-right: 8px;
  }
  input[type=checkbox] {
	margin-right: 8px;
  }
  
  /* ラジオボタン */
  .radio_btns input[type=radio] {
	display: none;
  }
  .radio_btns input[type=checkbox] {
	display: none;
  }
  
  .radio_btns label {
	position: relative;
	padding-left: 30px;
	}
  
  .radio_btns input[type=radio] + label::before {
	position: absolute;
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	/* border-radius: 50%; */
	background: #fff;
	border: 1px solid #ddd;
	left: 0;
	top: 50%;
	transform: translateY(-46%);
	border-radius: 50%;}
	.radio_btns input[type=checkbox] + label::before {
		position: absolute;
		content: '';
		display: block;
		width: 20px;
		height: 20px;
		/* border-radius: 50%; */
		background: #fff;
		border: 1px solid #ddd;
		left: 0;
		top: 50%;
		transform: translateY(-46%);
	}

  .radio_btns input[type=radio] + label::after {
	position: absolute;
	content: '';
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #2e3175;
	left: 3px;
	top: 50%;
	opacity: 0;
	transition: .3s;
	transform: translateY(-45%);
	}
	.radio_btns input[type=checkbox] + label::after {
		content: "";
    	position: absolute;
		display: block;
		box-sizing: border-box;
		width: 18px;
		height: 9px;
		margin-top: -9px;
		top: 50%;
		left: 3px;
		transform: rotate(-45deg);
		border-bottom: 3px solid;
		border-left: 3px solid;
		border-color: #2e3175;
		opacity: 0;
		}
  
  .radio_btns input[type=radio]:checked + label::after {
   opacity: 1;
  }
  .radio_btns input[type=checkbox]:checked + label::after {
	opacity: 1;
   }
 

  .br500{
	display: none;
}

.thanks{
	min-height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.thanks_title{
	font-size: 42px;
	font-weight: 500;
	margin-bottom: 60px;
	position: relative;
}
.thanks_title::after{
	content: "";
	width: 20%;
	height: 1px;
	background: #333;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.thanks_text{
	line-height: 1.8;
}
.top_btn{
	margin-top: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: 0.3s;
	border: 1px solid #111111;
	color: #111111;
	width: 200px;
	height: 50px;
	margin: 80px auto 0;
	font-size: 16px;
}
.top_btn:hover{
	background: #111111;
	color: #fff;
}
.top_btn a{
	display: block;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.card_box{
	max-width: 100px;
	margin: 0 10px 0 0;
}

ul {
	position: relative;
}
ul p.input_err{
	width: 100%;
	position: absolute;
	top: -17px;
	font-size: 10px;
	margin: 0px;
	color: #e74c3b;
}
.br600{
	display: none;
}

.form_name02 {
	width: 30%;
	margin-right: 10px;
	min-width: 128px;
	color: #4e4e4e;
}
.form_name01 span.regi_cap{
	background: none;
	display: block;
	color: #000;
	white-space: break-spaces;
	padding: 0;
	font-size:10px;
	position:
	absolute; 
	bottom:-20px;
	margin: unset;
}
.radio_box p.purpose_other{
	margin: 0;
    border: solid 1px #ddd;
    padding: 10px;
    box-sizing: border-box;
}
.purpose_other_box{
	display: inline-block;
	align-items: center;
	margin: 5px 20px 5px 0;
}

.form_cap{
	font-size: 11px;
    color: #999;
    margin: 10px 0 0 !important;
}

@media screen and (max-width: 1200px) {
	/* .form_wrap {
		width: calc(100vw - 40px);
		margin: 100px auto auto;
		padding: 100px 0;
	} */
	.form_name01 {
		min-width: 215px;
		/* margin-right: 30px; */
	}
}

@media screen and (max-width: 1000px){
	.mv h1 {
		font-size: 23px;
	}
	.h1_en {
		font-size: 10px;
	}
	.mv_text{
		font-size: 14px;
	}
}

@media screen and (max-width: 650px){
	.form_flex01 {
		display: block;
		margin-bottom: 20px;
	}
	.input_box01 {
		width: 100%;
	}
	.form_name01 {
		min-width: inherit;
		margin-right: 0;
		width: 100%;
		justify-content: left;
	}
	.form_name02{
		margin-right: 0;
	}
	.form_name01 span {
		margin-left: 20px;
	}
	.form_flex02 {
		display: block;
	}
	.radio_box {
		width: 100%;
	}
	.form_text {
		width: 100%;
	}
	.h2_lead {
		font-size: 14px;
	}
	.contact_ttl {
		font-size: 40px;
		/* margin-bottom: 30px; */
	}
	.contact_ttl::after {
		width: 10%;
		margin-left: 30px;
	}
	/* .form_wrap {
		padding: 80px 0;
	} */
	.h2_lead {
		margin-bottom: 30px;
	}
	.input_box01 input {
		height: 50px;
	}
	input::placeholder{
		font-size: 14px;
	}
	input::placeholder{
		font-size: 14px;
	}
	textarea::placeholder{
		font-size: 14px;
	}
	.input_box01 select{
		font-size: 14px;
	}
	#address_area .form_name01{
		margin-bottom: 10px;
	}
	.privacy{
		font-size: 14px;
	}
	div.submit {
		font-size: 14px;
	}
	.submit_btn {
		height: 50px;
	}
}
@media screen and (max-width: 600px){
	.br600{
		display: block;
	}
}
@media screen and (max-width: 500px){
	.input_flex {
		display: block;
	}
	.input_box02 {
		width: 100%;
		margin: 10px 0 0 0;
	}
	.input_flex {
		margin-bottom: 20px;
	}
	.br500{
		display: block;
	}
	.privacy label{
		line-height: 2;
	}
	.thanks_title::after {
		bottom: -30px;
	}
	.thanks_title {
		font-size: 34px;
	}
	.h2_lead br{
		/* display: none; */
	}
	.form_name02{
		width: 100%;
	}
	.form_name01 br{
		display: none;
	}
}
@media screen and (max-width: 650px){
	.form_name01 span.regi_cap{
		bottom: 0px;
	}
}

@media screen and (max-width: 400px){
	.radio_box p.purpose_other{
		width: 60%;
	}
}