.ml10{
	margin-left: 10px;
}

.form_wrap{
	border: 1px solid #DEDEDE;
	background: #fff;
	padding: 80px 40px;
	box-sizing: border-box;
}

.form_step{
	max-width: 610px;
	width: 100%;
	background: linear-gradient(transparent 48%, #0057AA 48%, #0057AA 52%, transparent 52%);
	margin: 0 auto;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.form_step li{
	border-radius: 50%;
	background: #EBEBEB;
	width: 170px;
	aspect-ratio: 1 / 1;
	display: flex;
	flex-direction: column;
	text-align: center;
	align-items: center;
	justify-content: center;
}

.form_step li.current{
	background: #194296;
}

.form_step li span.eng{
	font-size: clamp(12px, 2.4vw, 22px);
	color: #0057AA;
	font-weight: normal;
}

.form_step li span.jpn{
	font-size: clamp(14px, 2.8vw, 22px);
	margin-top: 0.5em;
	font-weight: normal;
}

.form_step li.current span.eng,
.form_step li.current span.jpn{
	color: #fff;
}

h2.form_title{
	color: #194296;
	font-size: clamp(18px, 3vw, 28px);
	font-weight: normal;
	padding-bottom: 30px;
	border-bottom: 1px dashed #707070;
	margin-top: 80px;
}

.form_table{
display: flex;
	border-bottom: 1px dashed #707070;
	padding: 25px 0;
}

.form_table .form_table_th{
	width: 300px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items:center;
	line-height: 1.6;
}

.form_table .form_table_th.top{
	align-items: flex-start;
}

.form_table .form_table_th h3{
	font-weight: normal;
	font-size: clamp(16px, 3vw, 18px);
}

.form_table .form_table_th h3 span.notes{
	font-weight:normal;
	font-size: clamp(12px, 2vw, 14px);
	display: block;
}

.form_table .form_table_th span.required{
	font-size: clamp(10px, 1.8vw, 12px);
	background: #D00000;
	color: #fff;
	font-weight: normal;
	padding: 0.2em 0.6em;
	display: block;
	margin-left: 1em;
}

.form_table .form_table_th span.optional{
	font-size: clamp(10px, 1.8vw, 12px);
	background: #909090;
	color: #fff;
	font-weight: normal;
	padding: 0.2em 0.6em;
	display: block;
	margin-left: 1em;
}


.form_table .form_table_td{
	box-sizing: border-box;
	padding-left: 25px;
	flex: 1;
	font-size: clamp(14px, 2.4vw, 16px);
	line-height: 1.6;
}

.subtext{
	font-size: clamp(14px, 2.4vw, 16px);
	margin-left: 0.5em;
}

ul.form_list{
	list-style: none;
	line-height: 1.6;
}

ul.form_list li{
	margin-top: 20px;
}

ul.form_list li:first-child{
	margin-top: 0px;
}

textarea{
	width: 100%;
}

.form_ui_wrap{
	margin: 40px 0 0 0;
}

.privacy_check_wrap{
	text-align: center;
	padding: 60px 0 0 0;
}

.privacy_check_wrap a{
	color: #0057AA;
}

.form_ui_wrap{
	text-align: center;
}

.form_complete{
	text-align: center;
	padding: 60px 0;
}

.form_complete h2{
	font-size: clamp(18px, 3vw, 28px);
	line-height: 1.8;
	margin-bottom: 1em;
}

.form_complete p{
	font-size: clamp(14px, 2.4vw, 16px);
	line-height: 1.8;
}

.half_size{
	width: 160px;
}

.m_size{
	width: 390px;
}

.l_size{
	width: 100%;
}



/*------------------------------------------------------------------------------------------------------------

SP

------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 976px) {
	
	
.half_size{
	width: 47%;
}
	
.m_size{
	width: 100%;
}


	.form_wrap{
		width: 100vw;
   		margin: 0 calc(50% - 50vw);
		padding: 40px 20px;
	}

	
.form_step li{
	width: 28%;
	
}
	

h2.form_title{
	margin-top: 40px;
}
	
.form_table{
display: flex;
	flex-direction: column;
	border-bottom: 1px dashed #707070;
	padding: 20px 0;
}
	

.form_table .form_table_th{
	width: 100%;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding-top: 0px;
	
}
	

.form_table .form_table_th h3 span.notes{
	display: inline-block;
	margin-left: 0.5em;
}

.form_table .form_table_th span.required{
	margin-top: 0.5em;
}

.form_table .form_table_th span.optional{
	margin-top: 0.5em;
}


.form_table .form_table_td{
	box-sizing: border-box;
	padding-left: 0;
	padding-top: 15px;
	flex: 1;
}
	
.privacy_check_wrap{
	text-align: center;
	padding: 40px 0;
}

}