@charset "utf-8";
/* CSS Document */

/*===================================
	.block01
=====================================*/

.block01{
	padding: 75px 0 88px;
}

.block01 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	margin: 0 auto;
}

html.pageLarge .block01 .block_inner{
	max-width: 1181px;/*1050*1.125*/
}

.block01 .block_inner .txt_area{
	margin-top: 48px;
}

.block01 .block_inner .txt_area p.large_txt{
	font-size: 1.875em;/*30*/
	line-height: 1;
	letter-spacing: 0.2em;
	color: #026a9e;
	text-align: center;
}

.block01 .block_inner .txt_area p.txt01{
	margin-top: 30px;
	line-height: 1.875;
	letter-spacing: 0.1em;
	color: #333333;
}

.block01 .block_inner .contact_area01{
	margin-top: 46px;
	width: 100%;
	border: 2px solid #026a9e;
	border-radius: 30px;
	padding: 31px 0;
}

.block01 .block_inner .contact_area01 .flex_area{
	width: 90.2%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.block01 .block_inner .contact_area01 .flex_area .tel_area{
	width: 50%;/*451*/
	padding: 5px 0 10px;
	text-align: center;
}

.block01 .block_inner .contact_area01 .flex_area .tel_area + .tel_area{
	border-left: 2px solid #026a9e;
}

.block01 .block_inner .contact_area01 .flex_area .tel_area p.tel_head{
	font-size: 1.25em;/*20*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #026a9e;
	margin-bottom: 7px;
}

.block01 .block_inner .contact_area01 .flex_area .tel_area a.tel_num{
	font-size: 2.9375em;/*47*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #026a9e;
	display: flex;
	justify-content: center;
	align-items: center;
}

.block01 .block_inner .contact_area01 .flex_area .tel_area a.tel_num::before{
	content: '';
	background: url("../images/contact/tel_ico.webp")no-repeat;
	background-size: cover;
	width: 7.5388%;/*34*/
	height: auto;
	aspect-ratio: 34 / 41;
	margin-right: 0.3617em;/*17*/
	position: relative;
	top: -2px;
}

.block01 .block_inner .contact_area01 .flex_area .tel_area p.tel_txt{
	margin-top: 10px;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #333333;
}

.block01 .block_inner .contact_area01 .flex_area .link_area{
	width: 45.2328%;/*408*/
}

.block01 .block_inner .contact_area01 .flex_area .link_area .anchor_btn{
	width: 100%;
}

.block01 .block_inner .contact_area01 .flex_area .link_area .anchor_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 65px;
	border-radius: 3.25rem;
	background: url("../images/contact/anchor_ico.webp")no-repeat #ef7c1d right 4.9019% center;/*20*/
	background-size: 7.5980% auto;/*31*/
	padding-left: 31.8627%;/*130*/
	box-sizing: border-box;
	font-size: 1.125em;/*18*/
	line-height: 1;
	color: #fff;
	box-shadow: 7px 7px 5px rgba(140, 211, 242, 0.45);
	position: relative;
}

/* 色変更 */
html:is(.pageYellow) .block01 .block_inner .contact_area01 .flex_area .link_area .anchor_btn a{
	background: url("../images/contact/anchor_ico.webp")no-repeat #F4E621 right 4.9019% center;/*20*/
	background-size: 7.5980% auto;/*31*/
	border: 1px solid #000;
}

html:is(.pageBlack) .block01 .block_inner .contact_area01 .flex_area .link_area .anchor_btn a{
	background: url("../images/contact/anchor_ico.webp")no-repeat #000 right 4.9019% center;/*20*/
	background-size: 7.5980% auto;/*31*/
	border: 1px solid #fff;
}

html:is(.pageBlue) .block01 .block_inner .contact_area01 .flex_area .link_area .anchor_btn a{
	background: url("../images/contact/anchor_ico.webp")no-repeat #0071b4 right 4.9019% center;/*20*/
	background-size: 7.5980% auto;/*31*/
	border: 1px solid #fff;
}
/**/

.block01 .block_inner .contact_area01 .flex_area .link_area .anchor_btn a::before{
	content: '';
	background: url("../images/contact/mail_ico.webp")no-repeat;
	background-size: cover;
	width: 9.3137%;/*38*/
	height: auto;
	aspect-ratio: 38 / 28;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 11.5196%;/*47*/
}

/*===================================
	.block02
=====================================*/

.block02{
	padding: 114px 0 122px;
	background: #f0f5f7;
	position: relative;
	z-index: 0;
}

/* 色変更 */
html:is(.pageYellow) .block02{
	background: #F4E621;
}

html:is(.pageBlack) .block02{
	background: #000;
}

html:is(.pageBlue) .block02{
	background: #0071b4;
}
/**/

.block02.no-bg{
	background: none;
}

.block02:not(.no-bg)::before{
	content: '';
	background: url("../images/contact/b02_parts.webp")no-repeat;
	background-size: 100% 100%;
	width: 101.4864%;/*1502*/
	height: 905px;
	position: absolute;
	top: 0;
	left: 0.5405%;/*8*/
	z-index: -1;
}

/* 色変更 */
html:is(.pageYellow, .pageBlack, .pageBlue) .block02:not(.no-bg)::before{
	content: none;
}
/**/

.block02 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

html.pageLarge .block02 .block_inner{
	max-width: 1181px;/*1050*1.125*/
}

.block02 .block_inner p.form_txt01{
	margin-top: 45px;
	line-height: 2.1875;
	letter-spacing: 0.1em;
	color: #333333;
}

.block02 .block_inner p.form_txt01.color-red{
	color: #e81c24;
}

.block02 .block_inner .form_step_area{
	margin-top: 67px;
}

.block02 .block_inner .form_step_area p.step_txt{
	line-height: 1;
	color: #026a9e;
	text-align: center;
}

.block02 .block_inner .form_step_area ul.step_list{
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 0 1.7%;
	margin-top: 52px;
}

.block02 .block_inner .form_step_area ul.step_list li{
	width: 19.3%;
}

.block02 .block_inner .form_step_area ul.step_list li p{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 60px;
	border-radius: 30px;
	background: #026a9e;
	font-size: 0.9375em;/*15*/
	line-height: 1.4;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}

.block02 .block_inner .form_step_area ul.step_list li.on p{
	background: #f28e1e;
}

/* 色変更 */
html:is(.pageYellow) .block02 .block_inner .form_step_area ul.step_list li p{
	background: #F4E621;
	border: 1px solid #000;
}

html:is(.pageBlack) .block02 .block_inner .form_step_area ul.step_list li p{
	background: #000;
	border: 1px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .form_step_area ul.step_list li p{
	background: #0071b4;
	border: 1px solid #fff;
}

html:is(.pageYellow) .block02 .block_inner .form_step_area ul.step_list li.on p{
	border: 4px solid #000;
}

html:is(.pageBlack) .block02 .block_inner .form_step_area ul.step_list li.on p{
	border: 4px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .form_step_area ul.step_list li.on p{
	border: 4px solid #fff;
}

/**/

/**/

.block02 .block_inner .form_wrap{
	width: 100%;/*1000*/
	margin-top: 34px;
	padding-top: 42px;
	border-top: 1px solid #026a9e;
}

.block02 .block_inner .form_wrap .form_contents{
	width: 96.0%;/*960*/
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.block02 .block_inner .form_wrap .form_contents.confirm{
	align-items: center;
}

.block02 .block_inner .form_wrap .form_contents.wrap_cont{
	flex-wrap: wrap;
}

.block02 .block_inner .form_wrap .form_contents + .form_contents{
	margin-top: 37px;
}

.block02 .block_inner .form_wrap .form_contents .koumoku_area{
	width: 28.125%;/*270*/
	display: flex;
}

.block02 .block_inner .form_wrap .form_contents .koumoku_area:not(.mt-0){
	margin-top: 10px;
}

.block02 .block_inner .form_wrap .form_contents .koumoku_area.mt-6{
	margin-top: 6px;
}

.block02 .block_inner .form_wrap .form_contents .koumoku_area.mt-15{
	margin-top: 15px;
}

.block02 .block_inner .form_wrap .form_contents .koumoku_area .must{
	width: 17.4074%;/*47*/
}

.block02 .block_inner .form_wrap .form_contents .koumoku_area .must p{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 30px;
	background: #ec2028;
	border-radius: 5px;
	line-height: 1;
	color: #fff;
}

.block02 .block_inner .form_wrap .form_contents .koumoku_area .must.any p{
	background: #aeaeae;
}

/* 色変更 */
html:is(.pageYellow) .block02 .block_inner .form_wrap .form_contents .koumoku_area .must p{
	background: #F4E621;
	border: 1px solid #000;
}

html:is(.pageBlack) .block02 .block_inner .form_wrap .form_contents .koumoku_area .must p{
	background: #000;
	border: 1px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .form_wrap .form_contents .koumoku_area .must p{
	background: #0071b4;
	border: 1px solid #fff;
}

/**/


.block02 .block_inner .form_wrap .form_contents .koumoku_area .koumoku{
	width: calc(100% - 17.4074%);/*47*/
	padding-left: 1.0625em;/*17*/
	box-sizing: border-box;
}

.block02 .block_inner .form_wrap .form_contents .koumoku_area .koumoku p{
	line-height: 30px;
	color: #353535;
}

.block02 .block_inner .form_wrap .form_contents .detail_area{
	width: 71.875%;/*690*/
}

.block02 .block_inner .form_wrap .form_contents .detail_area select,
.block02 .block_inner .form_wrap .form_contents .detail_area input[type=text],
.block02 .block_inner .form_wrap .form_contents .detail_area input[type=email],
.block02 .block_inner .form_wrap .form_contents .detail_area input[type=tel],
.block02 .block_inner .form_wrap .form_contents .detail_area textarea{
	width: 97.3913%;/*672*/
}

.block02 .block_inner .form_wrap .form_contents .detail_area select{
	height: 50px;
	border: 1px solid #000000;
	border-radius: 10px;
	background: url("../images/contact/select_ico.webp")no-repeat #fff right 3.5714% center;/*24*/
	background-size: 3.125% auto;/*21*/
	padding: 0 7.4404% 0 3.5714%;/*50 24*/
	box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
	font-size: 1em;
	font-weight: 500;
	line-height: 1;
	color: #353535;
}

/* 色変更 */
html:is(.pageYellow) .block02 .block_inner .form_wrap .form_contents .detail_area select{
	background: url("../images/contact/select_ico.webp")no-repeat #F4E621 right 3.5714% center;/*24*/
	background-size: 3.125% auto;/*21*/
	border: 1px solid #000;
}

html:is(.pageBlack) .block02 .block_inner .form_wrap .form_contents .detail_area select{
	background: url("../images/contact/select_ico.webp")no-repeat #000 right 3.5714% center;/*24*/
	background-size: 3.125% auto;/*21*/
	border: 1px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .form_wrap .form_contents .detail_area select{
	background: url("../images/contact/select_ico.webp")no-repeat #0071b4 right 3.5714% center;/*24*/
	background-size: 3.125% auto;/*21*/
	border: 1px solid #fff;
}

/**/

.block02 .block_inner .form_wrap .form_contents .detail_area input[type=text],
.block02 .block_inner .form_wrap .form_contents .detail_area input[type=email],
.block02 .block_inner .form_wrap .form_contents .detail_area input[type=tel]{
	height: 50px;
	border: 1px solid #949494;
	font-size: 1em;
	padding: 0 1em;
	box-sizing: border-box;
}

.block02 .block_inner .form_wrap .form_contents .detail_area textarea{
	height: 232px;
	border: 1px solid #949494;
	padding: 1em;
	box-sizing: border-box;
	font-size: 1em;
}

/* 色変更 */
html:is(.pageYellow) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=text],
html:is(.pageYellow) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=email],
html:is(.pageYellow) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=tel]{
	background: #F4E621 !important;
	border: 1px solid #000;
	
}

html:is(.pageBlack) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=text],
html:is(.pageBlack) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=email],
html:is(.pageBlack) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=tel]{
	background: #000 !important;
	border: 1px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=text],
html:is(.pageBlue) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=email],
html:is(.pageBlue) .block02 .block_inner .form_wrap .form_contents .detail_area input[type=tel]{
	background: #0071b4 !important;
	border: 1px solid #fff;
}

html:is(.pageYellow) .block02 .block_inner .form_wrap .form_contents .detail_area textarea{
	background: #F4E621 !important;
	border: 1px solid #000;
	
}

html:is(.pageBlack) .block02 .block_inner .form_wrap .form_contents .detail_area textarea{
	background: #000 !important;
	border: 1px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .form_wrap .form_contents .detail_area textarea{
	background: #0071b4 !important;
	border: 1px solid #fff;
}

/**/

.block02 .block_inner .form_wrap .form_contents .detail_area input.width01{
	width: 51.0416%;/*343*/
}

.block02 .block_inner .form_wrap .form_contents .detail_area p.exa_txt{
	font-size: 0.875em;/*14*/
	line-height: 1;
	color: #575757;
	margin-top: 7px;
}

.block02 .block_inner .form_wrap .form_contents .detail_area .flex_input{
	display: flex;
	align-items: center;
	gap: 0 1.125em;/*18*/
}

.block02 .block_inner .form_wrap .form_contents .detail_area .flex_input p.input_txt{
	font-size: 0.9375em;/*15*/
	line-height: 1;
	color: #333333;
}

.block02 .block_inner .form_wrap .form_contents .detail_area .check_area{
	padding: 10px 0;
}

.block02 .block_inner .form_wrap .form_contents .detail_area .check_area input[type=checkbox]{
	display: none;
}

.block02 .block_inner .form_wrap .form_contents .detail_area .check_area label.check01{
	display: inline-block;
	width: 100%;
	padding-left: 5.7971%;/*40*/
	box-sizing: border-box;
	line-height: 1;
	color: #353535;
	position: relative;
}

.block02 .block_inner .form_wrap .form_contents .detail_area .check_area label.check01::before{
	content: '';
	background: #fff;
	width: 4.3478%;/*30*/
	height: auto;
	aspect-ratio: 1 / 1;
	border: 1px solid #949494;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	z-index: 1;
}

.block02 .block_inner .form_wrap .form_contents .detail_area .check_area label.check01::after{
	content: '';
	background: #026a9e;
	width: 2.7536%;/*19*/
	height: auto;
	aspect-ratio: 1 / 1;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: calc(4.3478% / 2 + 0.14%); /* beforeの中央 */
	transform: translate(-50%, -50%);
	z-index: 1;
}

/* 色変更 */
html:is(.pageYellow, .pageBlack) .block02 .block_inner .form_wrap .form_contents .detail_area .check_area label.check01::after{
	background: #000;
}

/**/

.block02 .block_inner .form_wrap .form_contents .detail_area .check_area input[type=checkbox]:checked + .check01::after {
    opacity: 1 !important;
}

.block02 .block_inner .form_wrap .form_contents .privacy_wrap{
	margin-top: 29px;
	width: 100%;
	height: 190px;
	border: 1px solid #c7c7c7;
	padding: 14px 2.5em 18px 1em;/*40 16*/
	box-sizing: border-box;
	overflow-y: scroll;
	background: #fff;
}

/* 色変更 */
html:is(.pageYellow) .block02 .block_inner .form_wrap .form_contents .privacy_wrap{
	background: #F4E621;
	border: 1px solid #000;
}

html:is(.pageBlack) .block02 .block_inner .form_wrap .form_contents .privacy_wrap{
	background: #000;
	border: 1px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .form_wrap .form_contents .privacy_wrap{
	background: #0071b4;
	border: 1px solid #fff;
}
/**/

.block02 .block_inner .form_wrap .form_contents .privacy_wrap p.p_txt01{
	font-size: 1.25em;/*20*/
	line-height: 1.6;
	color: #000;
}

.block02 .block_inner .form_wrap .form_contents .privacy_wrap p.p_txt02{
	line-height: 1.5625;
	color: #000;
	text-align: justify;
	margin-top: 8px;
}

.block02 .block_inner .form_wrap .form_contents .privacy_wrap p.p_txt02 + p.p_txt02{
	margin-top: 23px;
}

.block02 .block_inner .form_wrap .form_contents .privacy_area{
	width: 100%;
	height: 58px;
	background: rgba(2,106,158,0.1);
	display: flex;
	align-items: center;
	margin-top: 23px;
}

/* 色変更 */
html:is(.pageYellow) .block02 .block_inner .form_wrap .form_contents .privacy_area{
	background: #F4E621;
	border: 1px solid #000;
}

html:is(.pageBlack) .block02 .block_inner .form_wrap .form_contents .privacy_area{
	background: #000;
	border: 1px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .form_wrap .form_contents .privacy_area{
	background: #0071b4;
	border: 1px solid #fff;
}
/**/

.block02 .block_inner .form_wrap .form_contents .privacy_area input[type=checkbox]{
	display: none;
}

.block02 .block_inner .form_wrap .form_contents .privacy_area label.policy_check{
	display: inline-block;
	width: 100%;/*960*/
	padding-left: 6.5625%;/*63*/
	box-sizing: border-box;
	line-height: 1;
	color: #000;
	position: relative;
}

.block02 .block_inner .form_wrap .form_contents .privacy_area label.policy_check::before{
	content: '';
	background: #fff;
	width: 3.125%;/*30*/
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1px solid #000000;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 1.875%;/*18*/
}

.block02 .block_inner .form_wrap .form_contents .privacy_area label.policy_check::after{
	content: '';
	background: #026a9e;
	width: 1.9791%;/*19*/
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: calc(3.125% / 2 + 2.0%); /* beforeの中央 */
	transform: translate(-50%, -50%);
}

.block02 .block_inner .form_wrap .form_contents .privacy_area input[type=checkbox]:checked + .policy_check::after {
    opacity: 1 !important;
}

/* 色変更 */
html:is(.pageYellow, .pageBlack) .block02 .block_inner .form_wrap .form_contents .privacy_area input[type=checkbox]:checked + .policy_check::after{
	background: #000;
}

.block02 .block_inner .form_wrap .submit_btn{
	width: 28.7%;
	margin: 61px auto 0;
}

button.common_btn{
	border: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 65px;
	background: #ef7c1d;
	border-radius: 31px;
	box-shadow: 7px 7px 5px rgba(140, 211, 242, 0.45);
	overflow: hidden;
	position: relative;
	transition: ease .2s;
	cursor: pointer;
}

button.common_btn.bgwhite{
	background: #fff;
}

button.common_btn:hover{
	opacity: 1;
}

button.common_btn::after{
	content: '';
	background: url("../images/common/link_ico_blue02.webp")no-repeat;
	background-size: cover;
	width: 1.875em;/*30*/
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1.25em;/*20*/
	z-index: 3;
}

button.common_btn.bgwhite{
	border: 1px solid #333333;
	box-sizing: border-box;
}
button.common_btn.bgwhite::after{
	background: url("../images/contact/bak_ico.webp")no-repeat;
	background-size: cover;
	right: 0;
	left: 1.25em;
}

button.common_btn span{
	font-size: 1.125em;/*18*/
	line-height: 1;
	color: #fff;
	position: relative;
	z-index: 3;
	transition: ease .5s;
}

button.common_btn.bgwhite span{
	color: #333333;
}

button.common_btn:not(.bgwhite):hover span{
	color: #026a9e;
}

button.common_btn.bgwhite:hover{
	opacity: 0.6;
}



/*== 背景が流れる（左から右） */
button.bgleft:before {
 	content: '';
    /*色や形状*/
	background: #fff;
 	width: 100%;
	height: 100%;
    /*絶対配置で位置を指定*/
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;	
    /*アニメーション*/
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
button.bgleft:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}

button.is-inactive{
	background: #d3d3d3;
	pointer-events: none;
}

/**/

/* 色変更 */
html:is(.pageYellow) button.common_btn{
	background: #F4E621 !important;
	border: 1px solid #000;
}

html:is(.pageBlack) button.common_btn{
	background: #000;
	border: 1px solid #fff;
}

html:is(.pageBlue) button.common_btn{
	background: #0071b4;
	border: 1px solid #fff;
}

html:is(.pageYellow) button.bgleft:before{
	background: #F4E621;
}

html:is(.pageBlack) button.bgleft:before{
	background: #000;
}

html:is(.pageBlue) button.bgleft:before{
	background: #0071b4;
}

/**/

.block02 .block_inner .form_wrap .form_contents .detail_area span.msg{
	color: #e81c24;
}

/*===================================
	.block03
=====================================*/

.block03{
	padding: 87px 0 117px;
}

.block03 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	margin: 0 auto;
}

html.pageLarge .block03 .block_inner{
	max-width: 1181px;/*1050*1.125*/
}

.block03 .block_inner h3.ga_midashi{
	padding-bottom: 16px;
	border-bottom: 1px solid #aeaeae;
	font-size: 1.25em;/*20*/
	line-height: 1;
	color: #333333;
	text-align: center;
}

.block03 .block_inner p.ga_txt{
	margin-top: 16px;
	line-height: 1.8125;
	color: #000000;
}
