@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: 42px 0 0;
}

#anchor_navi .inner{
	width: 86.1111%;/*620*/
	margin: 0 auto;
}

#anchor_navi .inner .anchor_wrap{
	width: 100%;
	border: 1px solid rgba(115,177,217,0.5);
	border-radius: 15px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 13px 0 16px;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 0;
	width: 100%;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li{
	width: 50%;
	padding: 0 0.88em;/*14*/
	box-sizing: border-box;
	position: relative;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li:nth-child(even){
	border-left: 2px dotted #73b1d9;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 29px;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	color: #333333;
	padding-right: 2.4em;/*60*/
	box-sizing: border-box;
	position: relative;
}

#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.2em;/*30*/
	height: auto;
	aspect-ratio: 1 / 1;	
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

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

h2.coa_midashi{
	font-size: 103.13%;/*33*/
	font-weight: 600;
	line-height: 1;
	color: #333333;
	text-align: center;
	padding-bottom: 12px;
	position: relative;
}

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

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

.contact_block01{
	padding: 47px 0 48px;
}

.contact_block01 .inner{
	width: 86.11%;/*620*/
	margin: 0 auto;
}

.contact_block01 .inner p.large_txt{
	margin-top: 36px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.3333;
	color: #0075c1;
	text-align: justify;
}

.contact_block01 .inner .guide_wrap{
	margin-top: 27px;
	width: 100%;
	border: 0.14rem solid #0075c1;
	border-radius: 7px;
	padding: 19px 0;
}

.contact_block01 .inner .guide_wrap ul.guide_list{
	list-style: none;
	width: 85.16%;/*526*/
	margin: 0 auto;
}

.contact_block01 .inner .guide_wrap ul.guide_list li{
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.6071;
	color: #333333;
	padding-left: 7.6045%;/*40*/
	box-sizing: border-box;
	position: relative;
}

.contact_block01 .inner .guide_wrap ul.guide_list li::before{
	content: '';
	background: #0075c1;
	width: 4.1825%;/*22*/
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 0.65rem;
	left: 0;
}
.contact_block01 .inner .guide_wrap ul.guide_list li + li{
	margin-top: 21px;
}

.contact_block01 .inner .guide_wrap ul.guide_list li a{
	font-weight: 500;
	color: #0071b7;
}

.contact_block01 .inner .form_txtarea{
	margin-top: 3.65rem;
}

.contact_block01 .inner .form_txtarea p{
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.6666;
	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: 1.4rem;
	color: #0071b7;
	text-decoration: underline;
}

.contact_block01 .inner .form_step{
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(174,174,174,0.5);
	margin-top: 29px;
}

.contact_block01 .inner .form_step ul.step_list{
	list-style: none;
	display: flex;
	justify-content: space-between;
}

.contact_block01 .inner .form_step ul.step_list li{
	width: 32.258%;/*200*/
	height: 50px;
	border-radius: 25px;
	background: #e6e6e6;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 3px 0;
}

.contact_block01 .inner .form_step ul.step_list li p{
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.1538;
}

.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: 96.77%;/*600*/
	margin: 18px auto 0;
}

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

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

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

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

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

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

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

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

.contact_block01 .inner .contactform #form-tbl .form_contents .koumoku_area .must p{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 25px;
	border-radius: 8px;
	background: #ec2028;
	font-size: 1.33rem;
	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% - 13.0%);
	padding-left: 8px;
	box-sizing: border-box;
}

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

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area{
	width: 100%;
	margin-top: 11px;
}

.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: 40px;
	border: 1px solid rgba(157,165,168,0.5);
	padding: 0 0.63em;
	box-sizing: border-box;
	font-size: 1.6rem;
	line-height: 1;
	color: #000;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area textarea{
	width: 100%;
	height: 145px;
	border: 1px solid rgba(157,165,168,0.5);
	padding: 0.63em;
	box-sizing: border-box;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #000;
}

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


.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area p.exa_txt{
	margin-top: 7px;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
	color: #575757;
}

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

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .birth_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

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

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .birth_flex .birth_item input{
	width: calc(100% - 1.5em);
	text-align: right;
}

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

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .flex_input{
	width: 100%;
	position: relative;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .flex_input p.input_txt{
	width: fit-content;
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1;
	color: #333333;
	position: absolute;
	top: -1.55rem;
	right: 0;
	transform: translateY(-100%);
	z-index: 1;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .flex_area{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 22px 0;
}

/* 共通 */
.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: 35.0%;/*210*/
}

.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,
.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox.sp-full{
	min-width: 100%;
	flex-wrap: wrap;
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox.sp-width {
	min-width: 30.0%;/*180*/
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox.sp-width03 {
	min-width: 41.67%;/*250*/
}

.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .custom-checkbox.sp-width02 {
	min-width: 100%;
}


/* デフォルトの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;/*20*/
	font-size: 1.35rem;
	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.56em;/*50*/
	height: auto;
	aspect-ratio: 1 / 1;
  border: 1px solid rgba(148,148,148,0.8);
  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 4.5px #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;
}

/* 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: #e5e5e5;
	border-color: #cfcfcf;
}

/* ラベル全体 */
.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) {
	opacity: 0.9;
	pointer-events: none;
}

#otherInput{
	margin: 7px 0 7px 2.19em;
}



.contact_block01 .inner .contactform #form-tbl .form_contents .detail_area .privacy_area{
	width: 100%;
	height: 4.75rem;
	background: #f2f2f2;
	display: flex;
	align-items: center;
	padding-left: 0.5em;/*16*/
	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{
	font-size: 1.35rem;
	color: #0071b7;
	text-decoration: underline;
}

.contact_block01 .inner .contactform #form-tbl .submit_btn{
	width: 58.33%;/*350*/
	margin: 40px auto 0;
}

/* ボタン本体 */
.contact_block01 .inner .contactform #form-tbl .submit_btn button{
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 50px;
  border: 1px solid #0075c1;
  border-radius: 25px;
  background-color: #0075c1;
  overflow: hidden;
  transition: background-color 0.75s ease;
	font-size: 1.45rem;
	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;
}

.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: 51px 0 54px;
	background: #f4f9fc;
}

.contact_block02 .inner{
	width: 86.11%;/*620*/
	margin: 0 auto;
}

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

.contact_block02 .inner .pp_wrap p.large_txt{
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	color: #0075c1;
	text-align: center;
}

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

.contact_block02 .inner .pp_wrap .pp_area + .pp_area{
	margin-top: 2.25rem;
}

.contact_block02 .inner .pp_wrap .pp_area p{
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.6071;
	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 4px;
}

.contact_block02 .inner .pp_wrap .pp_area p span::before{
	content: '';
	background: #0075c1;
	width: 3.5483%;/*22*/
	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: 1.4rem;
	font-weight: 400;
	line-height: 1.6071;
	color: #333333;
	text-align: justify;
	padding-left: 4.5161%;/*28*/
	box-sizing: border-box;
	position: relative;
}

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

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

.contact_block03{
	padding: 50px 0 155px;
}

.contact_block03 .inner{
	width: 86.11%;/*620*/
	margin: 0 auto;
}

.contact_block03 .inner h3.contact_sub_midashi{
	padding-bottom: 1.45rem;
	border-bottom: 1px solid rgba(172,172,172,0.5);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: #333333;
	text-align: center;
}

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

.contact_block03 .inner .txt_area p{
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.6666;
	color: #000000;
	text-align: justify;
}

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