@charset "UTF-8";
.footer_info a{
	display: none!important;
}
.mv{
	position: relative;
}
/* common */
.sec_ttl_en{
    font-family: "din-condensed", sans-serif;
    font-size: 20px;
    text-align: center;
    margin-bottom: 15px;
}
.sec_ttl_ja{
    font-size: 28px;
    color: #00bbab;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}
.sec_ttl_ja.blk{
	color: #333;
	margin: 60px auto 40px;
}
.sec_lead{
    font-size: 18px;
    line-height: 1.8;
    text-align: center;
    font-weight: 500;
}
main{
	margin-bottom: 100px;
}
.form_wrapper{
	max-width: 1000px;
	margin: 0 auto;
}

.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: 1040px;
	padding: 0 20px;
	width: 100%;
	
margin: 180px auto 120px;}
h2,.h2_lead{
	max-width: 1000px;
	margin: 0 auto;
}
.form_wrap div form{
	max-width: 1000px;
	margin: 0 auto;
}
.contact_ttl{
	font-size: 30px;
	position: relative;
	display: block;
	margin-bottom: 40px;
text-align: center;}

.h2_lead{
	line-height: 2;
	color: #4e4e4e;
	padding-bottom: 50px;
	border-bottom: solid 1px #eaeaea;
	margin-bottom: 50px;
text-align: center;}
.form_flex01{
	display: flex;
	justify-content: space-between;
/*	align-items: center;*/
	margin-bottom: 40px;
	position: relative;
}
.input_box01.flex{
	display: flex;
	align-items: inherit;
}
.input_box01.flex input{
	max-width: 200px;
}
.input_box01.flex p{
	white-space: nowrap;
	padding: 0 10px;
}
.input_box01{
	width: 67%;
}
.input_box01 input{
	background: #fff;
	width: 100%;
	font-weight: 100;
	padding: 0px 20px;
	height: 60px;
	letter-spacing: 0.05em;
} 
.input_box01 select{
	background: #fff;
	width: 100%;
	font-weight: 100;
	padding: 0px 20px;
	height: 60px;
	letter-spacing: 0.05em;
	color: #4e4e4e;
	/* text-align: center; */
	/* width: 50%; */
	font-weight: 300;
	} 
.select_box{
	position: relative;
}
.select_box::after{
	position: absolute;
	content: "";
	display: block;
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
	border-top: 9px solid #707070; /* 好みで高さ色を変えてください */
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
}
.form_name01{
	width: 24%;
	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: #ff0f01;
	padding: 3px 10px;
	white-space: nowrap;
	}
	.form_name01 span.option{
		background: #c3c3c3;
	}
.form_flex02{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.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: 67%;
}
.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: #fff;
	padding: 20px;
	line-height: 1.5;
}
.radio_box p{
	/* margin-right: 20px; */
	display: inline-block;
	margin: 5px 20px 5px 0;
}
.privacy{
	text-align: center;
	margin: 60px auto;
	line-height: 1.5;
}
div.submit{
	text-align: center;
	max-width: 670px;
	display: flex;
	justify-content: center;
	margin: 60px auto 0;
}
div.close{
	text-align: center;
	max-width: 670px;
	display: flex;
	justify-content: center;
	margin: 20px 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;
}


.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;
	display: block;
	}
  
  .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_box{
	margin-top: 60px;
}
.thanks_title{
	font-size: 42px;
	font-weight: 500;
	margin-bottom: 60px;
	position: relative;
	text-align: center;
	font-weight: 500;
}
.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;
	text-align: center;
}
.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;
}

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

@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%;
		font-size: 14px;
	}
	.form_name01 {
		min-width: inherit;
		margin-right: 30px;
		width: 100%;
		justify-content: left;
		font-size: 13px;
		height: 40px;
	}
	.form_name01 span {
		margin-left: 20px;
	}
	.form_flex02 {
		display: block;
	}
	.radio_box {
		width: 100%;
		font-size: 14px;
	}
	.form_text {
		width: 100%;
	}
	.h2_lead {
		font-size: 14px;
	}
	.contact_ttl {
		font-size: 24px;
		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: 40px;
		font-size: 14px;
		padding: 0 10px;
	}
	input::placeholder{
		font-size: 14px;
	}
	input::placeholder{
		font-size: 14px;
	}
	textarea::placeholder{
		font-size: 14px;
	}
	.input_box01 select{
		font-size: 14px;
		height: 40px;
	}
	#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;
	}
}
.form_name02 {
	width: 30%;
	margin-right: 10px;
	min-width: 128px;
	color: #4e4e4e;
}
@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;
	}
}




.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 #fff;
	padding: 10px;
	background: #fff;
	box-sizing: border-box;
}
.radio_box p.ask_other{
	margin: 0;
	border: solid 1px #fff;
	padding: 10px;
	background: #fff;
	box-sizing: border-box;
}
.purpose_other_box{
	display: inline-block;
	align-items: center;
	margin:5px 20px 5px 0;
}
@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%;
	}
	.radio_box p.ask_other{
		width: 60%;
	}
}



.campaign_bnr{
    margin-top: 25px;
    margin-bottom: 10px;
    filter: drop-shadow(0px 7px 11px rgba(66,66,66,0.3));
}
.campaign_bnr_box{
    max-width: 1000px;
    margin: 50px auto 0px;
}

@media screen and (max-width: 1000px) {
    .campaign_bnr_box {
        max-width: 680px;
    }
}
@media screen and (max-width: 650px) {
    .campaign_bnr_box {
        max-width: 500px;
    }
}

@media screen and (max-width: 450px) {
	.campaign_bnr_box{

	}
}




/* common */
.sec_ttl_en{
    font-family: "din-condensed", sans-serif;
    font-size: 20px;
    text-align: center;
    margin-bottom: 15px;
}
.sec_ttl_ja{
    font-size: 28px;
    color: #00bbab;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}
.sec_lead{
    font-size: 18px;
    line-height: 1.8;
    text-align: center;
    font-weight: 500;
}
@media screen and (max-width: 1000px) {
/* common */
.sec_lead {
	font-size: 14px;
}
.campaign_bnr_box {
	max-width: 680px;
}
.sec_ttl_en {
	font-size: 16px;
}
.sec_ttl_ja {
	font-size: 20px;;
}
}
@media screen and (max-width: 650px) {
.sec_ttl_en {
	margin-bottom: 5px;
}
.sec_ttl_ja {
	font-size: 20px;
	line-height: 1.5;
}

}


/*-----------------------
         3 STEP 
-----------------------*/

.Remaining{
	width:90%;
	max-width:840px;
	height:50px;
	margin: 40px auto 0px;
	/* margin-top:50px; */
	position:relative;
}
.Remaining .one{
	position:absolute;
	width:29.76190476%; /* 250px [250/840*100] */
	top:0;
	left:0;
	z-index:12;
}
.Remaining .two{
	position:absolute;
	width:34.52380952%; /* 290px [290/840*100] */
	top:0;
	left:28.57142857%; /* 240px [240/840*100] */
	z-index:11;
}
.Remaining .three{
	position:absolute;
	width:34.52380952%; /* 290px [290/840*100] */
	top:0;
	left:61.90476190%; /* 520px [520/840*100] */
	z-index:10;
}

.Remaining .allow div{
	height:50px;
	position:relative;
}
.Remaining .allow p{
	height:50px;
	line-height:50px;
	color:#FFFFFF;
	position: absolute;
	top:0;
	font-size: 18px;
	text-shadow:1px 1px 3px rgba(0,0,0,0.12);
	z-index: 15;
	left: 50%;
	/* transform: translateX(-50%); */
}
.Remaining .allow.one p{/* left:15px; */}
.Remaining .allow.two p{/* left:55px; */}
.Remaining .allow.three p{/* left:55px; */}


.Remaining .allow span.bg{
	background: #8fbbb8;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	border-top-left-radius:3px;
	border-bottom-left-radius:3px;
}
.Remaining .allow span.try{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 0 25px 30px;
	border-color: transparent transparent transparent #8fbbb8;
	position:absolute;
	right:-30px;
	top:0;
}
.Remaining .allow.beafter span.bg{
	background: #a8cecb;
}
.Remaining .allow.beafter span.try{
	border-color: transparent transparent transparent #a8cecb;
}
.Remaining .allow.beafter-end span.bg{
	background: #c4e0de;
}
.Remaining .allow.beafter-end span.try{
	border-color: transparent transparent transparent #c4e0de;
}





.form_category{
	background: #f3f3f3;
	padding: 40px;
	margin-bottom: 20px;
}
.form_category .form_flex01:last-child{
	margin-bottom: 0;
}
.form_category_ttl{
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 20px;
}
@media screen and (max-width: 650px) {
.form_category {
    padding: 20px;
}
.Remaining .allow p {
    font-size: 13px;
}
}

.Remaining .allow .active span.bg{
	background: #00bbab;
}
.Remaining .allow .active span.try{
	border-color: transparent transparent transparent #00bbab;
}




.side_menu_box{
	display: none!important;
}
.privacy{
	font-size: 12px;
	text-align: center;
}
.privacy a{
	color: #0062ca;
	text-decoration: underline;
}
.sec_text_box{
	margin-top:40px;
}



/* PlusCss */
.form_category { margin-top:30px; }
.radio_box p.purpose_other { padding:0; background:none; border:none; }
.radio_box p.purpose_other input { padding:10px; margin-top:5px; }
.radio_box p.purpose_other textarea,.radio_box p.purpose_other input {
  background:#fff;
  border:solid 1px #fff;
}
.radio_box p.purpose_other .input_err {
  width: 100%;
  top: -17px;
  font-size: 10px;
  margin:0 0 5px;
  display:block;
  color: #e74c3b;
}

.purpose_other_box.otbMax { width:100%; }
.radio_area .radio_box .otherTextBox {
  display:block;
  margin-top:5px;
  width:100%;  
  padding:0;
}
.radio_area .radio_box .otherTextBox textarea { width:100%; padding:10px; resize: vertical; }
#purpose_other.notact,#type_other.notact { pointer-events:none; }

@media screen and (max-width: 650px) {
  
  .purpose_other_box { margin:0; width:100%; }
  .radio_box p.purpose_other input { width:100%; }
  
}