@charset "utf-8";
/* CSS Document */

section#firstview .inner .catchImage{
	background: url("../image/contact/mainvisual.webp") 0 0 / contain no-repeat;
}

/*===================================
	#anchor_navi
=====================================*/

#anchor_navi{
	padding: 60px 0 0;
}

#anchor_navi .inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

#anchor_navi .inner .anchor_wrap{
	width: 100%;
	min-height: 90px;
	border: 1px solid #73b1d9;
	border-radius: 45px;
	display: flex;
	align-items: center;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li{
	position: relative;
	padding: 8px 1.875em 6px;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li + li{
	border-left: 2px dotted #73b1d9;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li a{
	display: flex;
	align-items: center;
	font-size: 100%;
	font-weight: 600;
	line-height: 1;
	color: #333333;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li a::after{
	content: '';
	background: url("../image/qa/anchor_ico.svg")no-repeat;
	background-size: cover;
	width: 1.125em;/*18*/
	height: auto;
	aspect-ratio: 1 / 1;
	margin-left: 0.625em;/*10*/
	
}

/*===================================
	共通パーツ
=====================================*/

h2.coa_midashi{
	font-size: 200%;
	font-weight: 600;
	line-height: 1;
	color: #333333;
	text-align: center;
	padding-bottom: 24px;
	position: relative;
}

h2.coa_midashi::before{
	content: '';
	background: linear-gradient(
		to right,
		#0075c1 0%,
		#0075c1 50%,
		#e75297 50%,
		#e75297 100%
	);
	width: 100%;
	max-width: 220px;
	height: 5px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

/*===================================
	.contact_block01
=====================================*/

.contact_block01{
	padding: 103px 0 124px;
}

.contact_block01 .inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

.contact_block01 .inner p.large_txt{
	margin-top: 42px;
	font-size: 143.75%;/*23*/
	font-weight: 500;
	line-height: 1;
	color: #0075c1;
	text-align: center;
}

.contact_block01 .inner .guide_wrap{
	margin-top: 29px;
	width: 100%;
	border: 3px solid #0075c1;
	border-radius: 14px;
	padding: 35px 0 30px;
}

.contact_block01 .inner .guide_wrap ul.guide_list{
	list-style: none;
	width: 89.0%;
	margin: 0 auto;
}

.contact_block01 .inner .guide_wrap ul.guide_list li{
	font-size: 100%;
	font-weight: 400;
	line-height: 1.75;
	color: #333333;
	padding-left: 3.26%;/*29*/
	box-sizing: border-box;
	position: relative;
}

.contact_block01 .inner .guide_wrap ul.guide_list li::before{
	content: '';
	background: #0075c1;
	width: 1.24%;/*11*/
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 0.625em;/*10*/
	left: 0;
}
.contact_block01 .inner .guide_wrap ul.guide_list li + li{
	margin-top: 33px;
}

.contact_block01 .inner .guide_wrap ul.guide_list li a{
	font-size: 112.5%;/*18*/
	font-weight: 500;
	color: #0071b7;
}

.contact_block01 .inner .form_txtarea{
	margin-top: 63px;
}

.contact_block01 .inner .form_txtarea p{
	font-size: 100%;
	font-weight: 400;
	line-height: 2.1875;
	color: #000000;
	text-align: center;
}

.contact_block01 .inner .form_txtarea p.color-red{
	color: #ec2028;
}

.contact_block01 .inner .form_txtarea p.thx_txt{
	text-align: justify;
}

.contact_block01 .inner .form_txtarea p.thx_txt a{
	font-size: 112.5%;/*18*/
	color: #0071b7;
	text-decoration: underline;
}

.contact_block01 .inner .form_step{
	padding-bottom: 35px;
	border-bottom: 1px solid #aeaeae;
	margin-top: 47px;
}

.contact_block01 .inner .form_step ul.step_list{
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 0 1.06em;/*17*/
}

.contact_block01 .inner .form_step ul.step_list li{
	width: 19.3%;
	height: 44px;
	border-radius: 22px;
	background: #e6e6e6;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 0.94em;/*15*/
}

.contact_block01 .inner .form_step ul.step_list li p{
	font-size: 0.94em;/*15*/
	font-weight: 500;
	line-height: 1;
}

.contact_block01 .inner .form_step ul.step_list li.on{
	background: #0075c1;
}

.contact_block01 .inner .form_step ul.step_list li.on p{
	color: #fff;
}

/**/

.contact_block01 .inner .contactform{
	width: 94.3%;
	margin: 54px auto 0;
}

.contact_block01 .inner .contactform #form-tbl{
	width: 100%;
}

.contact_block01 .inner .contactform #form-tbl .form_contents{
	width: 100%;
	display: flex;
}

.contact_block01 .inner .contactform #form-tbl .form_contents.center{
	align-items: center;
}

.contact_block01 .inner .contactform #form-tbl .form_contents + .form_contents{
	margin-top: 34px;
}

.contact_block01 .inner .contactform #form-tbl .form_block > .form_contents{
	margin-top: 34px;
}

.contact_block01 .inner .contactform #form-tbl .form_block + .form_contents{
	margin-top: 34px;
}


.contact_block01 .inner .contactform #form-tbl .form_contents.mt-55{
	margin-top: 55px;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .koumoku_area{
	width: 28.74%;/*271*/
	display: flex;
}

.contact_block01 .inner .contactform #form-tbl .form_contents:not(.center) .koumoku_area:not(.mt-0){
	margin-top: 10px;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .koumoku_area .must{
	width: 17.34%;/*47*/
}

.contact_block01 .inner .contactform #form-tbl .form_contents .koumoku_area .must p{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 30px;
	border-radius: 5px;
	background: #ec2028;
	font-size: 100%;
	font-weight: 500;
	line-height: 1;
	color: #fff;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .koumoku_area .must.any p{
	background: #aeaeae;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .koumoku_area .koumoku{
	width: calc(100% - 17.34%);/*-47*/
	padding-left: 1em;
	box-sizing: border-box;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .koumoku_area .koumoku p{
	font-size: 100%;
	font-weight: 500;
	line-height: 30px;
	color: #353535;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area{
	width: 71.26%;/*672*/
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area span.msg{
	color: #ec2028;
}


.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area input[type="text"],
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area input[type="email"],
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area input[type="tel"]{
	width: 100%;
	height: 50px;
	border: 1px solid #949494;
	padding: 0 1em;
	box-sizing: border-box;
	font-size: 100%;
	line-height: 1;
	color: #000;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area input.width01{
	width: 51.04%;/*343*/
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area textarea{
	width: 100%;
	height: 232px;
	border: 1px solid #949494;
	padding: 1em;
	box-sizing: border-box;
	font-size: 100%;
	line-height: 1.5;
	color: #000;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area select{
	width: 100%;
	height: 50px;
	border: 1px solid #000;
	border-radius: 10px;
	background: url("../image/contact/select_ico.svg")no-repeat #fff right 3.42% center;/*23*/
	background-size: 3.27% auto;/*22*/
	padding: 0 7.44% 0 3.42%;/*50 23*/
	box-sizing: border-box;
	font-size: 100%;
	font-weight: 500;
	line-height: 1;
	color: #353535;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area p.exa_txt{
	margin-top: 5px;
	font-size: 87.5%;/*14*/
	font-weight: 400;
	line-height: 1;
	color: #575757;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area p.exa_txt span{
	font-size: 107.14%;
	font-weight: 700;
	color: #ec2028;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .birth_flex{
	display: flex;
	align-items: center;
	gap: 0 1.63em;/*26*/
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .birth_flex .birth_item{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 19.35%;/*130*/
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .birth_flex .birth_item input{
	width: 69.23%;/*90*/
	text-align: right;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .birth_flex .birth_item span{
	font-size: 1em;
	font-weight: 500;
	line-height: 1;
	color: #353535;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .flex_input{
	width: 100%;
	display: flex;
	align-items: center;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .flex_input p.input_txt{
	width: calc(100% - 51.04%);
	padding-left: 1.13em;/*18*/
	box-sizing: border-box;
	font-size: 93.75%;/*15*/
	font-weight: 400;
	line-height: 1;
	color: #333333;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .flex_area{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 25px 0;
	padding-right: 17.86%;/*120*/
	box-sizing: border-box;
}

/* 共通 */
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio,
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
	min-width: 30.98%;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox.full,
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio.full {
	width: 100%;
	flex-wrap: wrap;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox.width01 {
	width: 69.02%;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox.width02 {
	width: 45.29%;/*250*/
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox.width03 {
	width: 38.04%;/*210*/
}

/* デフォルトのinputを非表示 */
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio input[type="radio"],
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox input[type="checkbox"] {
  display: none;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio span,
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox span {
	display: flex;
	align-items: center;
	gap: 0 0.63em;/*10*/
	font-size: 100%;
	font-weight: 500;
	line-height: 1;
	color: #353535;
}

/* ラジオ・チェックボックスの土台 */
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio span::before,
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox span::before {
  content: "";
	background: #fff;
  width: 1.88em;/*30*/
	height: auto;
	aspect-ratio: 1 / 1;
  border: 1px solid #949494;
  transition: 0.2s;
}

/* ラジオは丸く */
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio span::before {
  border-radius: 50%;
}

/* 選択時 */
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio input:checked + span::before,
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox input:checked + span::before {
  background: #0075c1;
  box-shadow: inset 0 0 0 6px #fff;
}


/* disabled時 */
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio input:disabled + span,
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox input:disabled + span {
	color: #999;
	cursor: not-allowed;
	opacity: 0.85;
}

/* disabled時のラジオ・チェック土台 */
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio input:disabled + span::before,
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox input:disabled + span::before {
	background: #f1f1f1;
	border-color: #ccc;
}

/* label全体も無効っぽく */
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-radio:has(input:disabled),
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox:has(input:disabled) {
	cursor: not-allowed;
}

#otherInput{
	margin: 10px 0 10px 2.51em;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .privacy_area{
	width: 100%;
	height: 58px;
	background: #f2f2f2;
	display: flex;
	align-items: center;
	padding-left: 1.64%;/*11*/
	box-sizing: border-box;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .privacy_area label span{
	font-weight: 400;
	color: #000;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .privacy_area label span a{
	color: #0071b7;
	text-decoration: underline;
}

.contact_block01 .inner .contactform #form-tbl .submit_btn{
	width: 27.25%;/*257*/
	margin: 70px auto 0;
}

/* ボタン本体 */
.contact_block01 .inner .contactform #form-tbl .submit_btn button{
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 70px;
  border: 2px solid #0075c1;
  border-radius: 35px;
  background-color: #0075c1;
  overflow: hidden;
  transition: background-color 0.75s ease;
	font-size: 112.5%;/*18*/
	font-weight: 700;
	line-height: 1;
	color: #fff;
	letter-spacing: 0.05em;
	padding-left: 30.35%;/*78*/
	box-sizing: border-box;
}

.contact_block01 .inner .contactform #form-tbl .submit_btn button.back_btn{
	background-color: #fff;
	color: #0075c1;
	padding-left: 36.58%;/*94*/
}

.contact_block01 .inner .contactform #form-tbl .submit_btn button.top_btn{
	padding-left: 24.90%;/*64*/
}

/* 通常アイコン */
.contact_block01 .inner .contactform #form-tbl .submit_btn #submit::before{
  content: "";
  position: absolute;
  right: 7.0%;/*18*/
  width: 14.0%;/*36*/
  height: auto;
	aspect-ratio: 1 / 1;
  background: url("../image/contact/submit_ico.svg") no-repeat center;
  background-size: 100%;
  transition: opacity 0.4s ease;
}

.contact_block01 .inner .contactform #form-tbl .submit_btn .back_btn::before{
  content: "";
  position: absolute;
  right: 79.77%;/*205*/
  width: 14.0%;/*36*/
  height: auto;
	aspect-ratio: 1 / 1;
  background: url("../image/contact/hov-submit_ico.svg") no-repeat center;
  background-size: 100%;
  transition: opacity 0.4s ease;
	transform: rotate(180deg);
}

/* hoverアイコン */
.contact_block01 .inner .contactform #form-tbl .submit_btn #submit::after{
  content: "";
  position: absolute;
  right: 7.0%;/*18*/
  width: 14.0%;/*36*/
  height: auto;
	aspect-ratio: 1 / 1;
  background: url("../image/contact/hov-submit_ico.svg") no-repeat center;
  background-size: contain;
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* hover時 */
.contact_block01 .inner .contactform #form-tbl .submit_btn #submit:hover{
  background-color: #fff;
	color: #0075c1;
}

.contact_block01 .inner .contactform #form-tbl .submit_btn #submit:hover::before{
  opacity: 0;
}

.contact_block01 .inner .contactform #form-tbl .submit_btn #submit:hover::after{
  opacity: 1;
}

.contact_block01 .inner .contactform #form-tbl .submit_btn button.is-inactive{
        background: #999999;
        cursor: not-allowed;
	pointer-events: none;
    }


/**/

.contact_block01 .inner .contactform #form-tbl .form_block{
	display:none;
}

/*===================================
	.contact_block02
=====================================*/

.contact_block02{
	padding: 104px 0 112px;
	background: #f4f9fc;
}

.contact_block02 .inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

.contact_block02 .inner .pp_wrap{
	width: 100%;
	margin-top: 39px;
}

.contact_block02 .inner .pp_wrap p.large_txt{
	font-size: 143.75%;/*23*/
	font-weight: 500;
	line-height: 1;
	color: #0075c1;
	text-align: center;
}

.contact_block02 .inner .pp_wrap .pp_area{
	width: 100%;
	margin-top: 37px;
}

.contact_block02 .inner .pp_wrap .pp_area + .pp_area{
	margin-top: 32px;
}

.contact_block02 .inner .pp_wrap .pp_area p{
	font-size: 100%;
	font-weight: 400;
	line-height: 1.75;
	color: #333333;
	text-align: justify;
}

.contact_block02 .inner .pp_wrap .pp_area p span{
	font-weight: 500;
	color: #0075c1;
	display: flex;
	align-items: center;
	gap: 0 5px;
}

.contact_block02 .inner .pp_wrap .pp_area p span::before{
	content: '';
	background: #0075c1;
	width: 1.3%;
	height: auto;
	aspect-ratio: 1 / 1;
}

.contact_block02 .inner .pp_wrap .pp_area ul.list01{
	list-style: none;
}

.contact_block02 .inner .pp_wrap .pp_area ul.list01 li{
	font-size: 100%;
	font-weight: 400;
	line-height: 1.75;
	color: #333333;
	text-align: justify;
	padding-left: 1.3%;
	box-sizing: border-box;
	position: relative;
}

.contact_block02 .inner .pp_wrap .pp_area ul.list01 li::before{
	content: '';
	background: #0075c1;
	width: 0.9%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	position: absolute;
	top: 0.625em;/*10*/
	left: 0;
}

/*===================================
	.contact_block03
=====================================*/

.contact_block03{
	padding: 103px 0 220px;
}

.contact_block03 .inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

.contact_block03 .inner h3.contact_sub_midashi{
	padding-bottom: 17px;
	border-bottom: 1px solid #aeaeae;
	font-size: 125%;/*20*/
	font-weight: 700;
	line-height: 1;
	color: #333333;
	text-align: center;
}

.contact_block03 .inner .txt_area{
	width: 100%;
	margin-top: 16px;
}

.contact_block03 .inner .txt_area p{
	font-size: 100%;
	font-weight: 400;
	line-height: 1.8125;
	color: #000000;
	text-align: justify;
}

.g-recaptcha{
	display: flex;
	justify-content: center;
	margin: 35px auto 0;
	
}
