@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

.noto-sans-jp-400 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.noto-sans-jp-500 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.noto-sans-jp-600 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.noto-sans-jp-700 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

body{
	overflow: hidden;
}

/*===================================
	.main_img
=====================================*/

.form_block{
	padding: 107px 0 108px;
	margin-bottom: 50px;
	position: relative;
}

.form_block::before{
	content: '';
	display: inline-block;
	background: #E8C425;
	background: linear-gradient(63deg,rgba(232, 196, 37, 1) 6%, rgba(253, 228, 112, 1) 21%, rgba(253, 238, 144, 1) 29%, rgba(253, 239, 146, 1) 49%, rgba(251, 218, 79, 1) 72%, rgba(199, 160, 18, 1) 100%);
	width: 100%;
	height: calc(100% + 500px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}


.form_block .block_inner{
	width: 90.2777%;/*650*/
	margin: 0 auto;
}

.form_block .block_inner .form_bg{
	width: 100%;
	border-radius: 14px;
	background: #f2f2f2;
	padding: 40px 0 36px;
}

.form_block .block_inner .form_bg h2.form_midashi{
	font-size: 2.1rem;
	line-height: 1.3095;
	letter-spacing: 0.1em;
	color: #9b3131;
	text-align: center;
	padding-bottom: 14px;
	position: relative;
}

.form_block .block_inner .form_bg h2.form_midashi::before{
	content: '';
	display: inline-block;
	background: url("index/f-midashi_ico.svg")no-repeat;
	background-size: contain;
	width: 7.8461%;/*51*/
	aspect-ratio: 51 / 10;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.form_block .block_inner .form_bg .form_txtarea{
	margin-top: 31px;
}

body.end .form_block .block_inner .form_bg .form_txtarea{
	display: none;
}

.form_block .block_inner .form_bg .form_txtarea p{
	font-size: 1.3rem;
	line-height: 1.4583;
	color: #333333;
	text-align: center;
}

body.confirm .form_block .block_inner .form_bg .form_txtarea p{
	text-align: justify;
	padding: 0 2em;
	box-sizing: border-box;
}

.form_block .block_inner .form_bg ul.form_step{
	width: 92.3076%;/*600*/
	margin: 50px auto 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}

.form_block .block_inner .form_bg ul.form_step li{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 31.5%;/*189*/
	height: 46px;
	border-radius: 0.45rem;
	background: #D5B24A;
	background: linear-gradient(90deg, rgba(213, 178, 74, 1) 0%, rgba(234, 208, 71, 1) 43%, rgba(213, 178, 74, 1) 100%);
	font-size: 1.25rem;
	line-height: 1.1412;
	color: #fff;
	box-shadow: 1px 2px 1px 1px rgba(153, 153, 153, 0.5);
}

.form_block .block_inner .form_bg ul.form_step li.on{
	background: #EBEBEB;
	background: linear-gradient(90deg, rgba(235, 235, 235, 1) 0%, rgba(250, 250, 250, 1) 50%, rgba(235, 235, 235, 1) 100%);
	color: #c4a41e;
}

.form_block .block_inner .form_bg .form_wrap{
	width: 92.3076%;/*600*/
	margin: 25px auto 0;
	border-top: 1px solid #aeaeae;
}

.form_block .block_inner .form_bg .form_wrap p.form_large_txt{
	margin-top: 20px;
	font-size: 1.4rem;
	line-height: 1;
	color: #222222;
}

.form_block .block_inner .form_bg .form_wrap p.form_large_txt.mt75{
	margin-top: 55px;
}

.form_block .block_inner .form_bg .form_wrap .form_content{
	margin-top: 12px;
}

.form_block .block_inner .form_bg .form_wrap .form_content + .form_content{
	margin-top: 32px;
}

.form_block .block_inner .form_bg .form_wrap .form_content .koumoku{
	width: 100%;
	display: flex;
}

.form_block .block_inner .form_bg .form_wrap .form_content .koumoku .mark{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12.0%;/*78*/
	height: 2.45rem;
	border-radius: 4px;
	background: #808080;
	font-size: 1.33rem;
	color: #fff;
}

.form_block .block_inner .form_bg .form_wrap .form_content .koumoku .mark.hissu{
	background: #dc0000;
}

.form_block .block_inner .form_bg .form_wrap .form_content .koumoku p.koumoku_name{
	display: inline-block;
	width: calc(100% - 12.0%);/*-78*/
	line-height: 2.45rem;
	padding-left: 7px;
	box-sizing: border-box;
	font-size: 1.4rem;
	color: #353535;
	text-align: justify;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area{
	width: 100%;
	margin-top: 11px;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area span.msg{
	color: #dc0000;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area select{
	width: 100%;
	height: 40px;
	border: 1px solid #000000;
	border-radius: 5px;
	padding: 0 10.7692% 0 3.8461%;/*70 25*/
	box-sizing: border-box;
	background: url("index/select_ico.svg")no-repeat #fff right 5.5384% center;/*36*/
	background-size: 4.3076% auto;/*28*/
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
	font-size: 1.4rem;
	color: #353535;
}


.form_block .block_inner .form_bg .form_wrap .form_content .input_area input[type="text"],
.form_block .block_inner .form_bg .form_wrap .form_content .input_area input[type="number"],
.form_block .block_inner .form_bg .form_wrap .form_content .input_area input[type="tel"],
.form_block .block_inner .form_bg .form_wrap .form_content .input_area input[type="email"]{
	width: 100%;
	height: 40px;
	border: 1px solid #949494;
	padding: 0 1em;
	box-sizing: border-box;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	color: #333;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area input[type="number"].half-size{
	width: 50%;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area .wpcf7-form-control-wrap + span{
	padding-left: 1em;
	font-size: 1.3rem;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area ul.radio_list{
	list-style: none;
	display: flex;
	align-items: center;
	gap: 0 35px;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area div.c_area{
	background: #e0e0e0;
	padding: 0;
	height: 4.75rem;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	position: relative;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area div.c_area input[type="checkbox"],
.form_block .block_inner .form_bg .form_wrap .form_content .input_area ul.radio_list li input[type="radio"]{
	display: none;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area div.c_area .policy_check{
	font-size: 1.4rem;
	padding-left: 9.3846%;/*61*/
	box-sizing: border-box;
	position: relative;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area div.c_area .policy_check a{
	text-decoration: underline;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area ul.radio_list li .radio_check{
	font-size: 1.4rem;
	padding-left: 20px;
	box-sizing: border-box;
	position: relative;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area div.c_area .policy_check::before,
.form_block .block_inner .form_bg .form_wrap .form_content .input_area ul.radio_list li .radio_check::before{
    border: 1px solid #949494;
    border-radius: 50%;
    content: '';
    display: block;
    background: #fff;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
    left: 0.85rem;
	transform: translateY(-50%);
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area ul.radio_list li .radio_check::before{
	left: 0;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area div.c_area .policy_check::after,
.form_block .block_inner .form_bg .form_wrap .form_content .input_area ul.radio_list li .radio_check::after{
    content: '';
    display: block;
    background: #ec2028;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
	left: 12px;
	transform: translateY(-50%);
	z-index: 1000;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area ul.radio_list li .radio_check::after{
	left: 0.275rem;
}

input[type=checkbox]:checked + .policy_check::after,
input[type=radio]:checked + .radio_check::after {
    opacity: 1 !important;
}
.form_block .block_inner .form_bg .form_wrap .form_content .input_area p.f_txt{
	margin-top: 7px;
	font-size: 1.25rem;
	color: #575757;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area p.h_txt{
	margin-bottom: 6px;
	font-size: 1.25rem;
	color: #dc0000;
	text-align: justify;
}


.form_block .block_inner .form_bg .form_wrap .form_content .input_area .flex_area{
	display: flex;
	flex-direction: column-reverse;
}

.form_block .block_inner .form_bg .form_wrap .form_content .input_area .flex_area p.flex_txt{
	font-size: 1.25rem;
	line-height: 1;
	color: #333333;
	margin-bottom: 7px;
}

/**/

.form_block .block_inner .form_bg .form_wrap .caution_area{
	width: 100%;
	margin: 25px auto 0;
	background: rgba(220,0,0,0.1);
	padding: 19px 0 25px;
}

.form_block .block_inner .form_bg .form_wrap .caution_area p{
	font-size: 1.3rem;
	line-height: 1.75;
	text-align: center;
	color: #000000;
}

.form_block .block_inner .form_bg .form_wrap .caution_area p a{
	color: #ec2028;
	text-decoration: underline;
}

/**/

.form_block .block_inner .form_bg .form_wrap .submit_btn {
	width: 58.3333%; /*350*/
	margin: 25px auto 0;
	position: relative;
}

/* ▼ 通常アイコン */
.form_block .block_inner .form_bg .form_wrap .submit_btn::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8.5714%;/*30*/
	margin: auto;
	width: 1.25rem;
	height: 9px;
	background: url("index/input_ico.svg") no-repeat center/contain;
	opacity: 1;
	z-index: 1;
	pointer-events: none;
}

/* ▼ ボタン本体 */
.form_block .block_inner .form_bg .form_wrap .submit_btn input.maru {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	border-radius: 25px;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	text-align: center;
	background: linear-gradient(90deg, rgba(147, 42, 42, 1) 0%, rgba(187, 72, 59, 1) 42%, rgba(147, 42, 42, 1) 100%);
	color: #fff;
	transition: background 0.5s ease-in-out, color 0.5s ease-in-out;
	outline: none;
	border: none;
	cursor: pointer;
	box-shadow: 1px 0.15rem 0.15rem 0px rgba(0, 0, 0, 0.3);
}

.form_block .block_inner .form_bg .form_wrap .submit_btn span.ajax-loader{
	display: none;
}

.form_block .block_inner .form_bg .form_wrap .bak_btn{
	width: 29.9%;
	margin: 60px auto 0;
	position: relative;
	transition: 0.3s;
}

.form_block .block_inner .form_bg .form_wrap .submit_btn + .bak_btn{
	margin-top: 4.26rem;/*63*/
}

.form_block .block_inner .form_bg .form_wrap .bak_btn:hover{
	opacity: 0.6;
}


.form_block .block_inner .form_bg .form_wrap .bak_btn::before{
	content: '';
	display: inline-block;
	background: url("../images/contact/btn_ico.svg")no-repeat;
	filter: invert(100%);
	background-size: contain;
	width: 10px;
	height: 20px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 8.3612%;/*25*/
	transform: rotate(180deg);
	/* 回転の中心を調整（必要に応じて） */
	transform-origin: center;
	z-index: 1;
	pointer-events: none;
}


.form_block .block_inner .form_bg .form_wrap .bak_btn input.maru{
	display: flex;
	justify-content: center;

	align-items: center;
	width: 100%;
	height: 68px;
	border-radius: 10px;
	position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
	font-size: 2.0rem;
	letter-spacing: 0.05em;
	text-align: center;
	background-color: #e6e6e6;
	color: #333;
}


.form_block .block_inner .form_bg .form_wrap .submit_btn input.is-inactive{
	background-color: #d3d3d3;
	pointer-events: none;
}

/**/

.form_block .block_inner .form_bg .ga_area{
	width: 92.3076%;/*600*/
	margin: 105px auto 0;
	background: #fff;
	border-radius: 23px;
	padding: 22px 4.1666% 27px;/*25*/
	box-sizing: border-box;
}

.form_block .block_inner .form_bg .ga_area h3{
	font-size: 1.4rem;
	line-height: 1;
	color: #333333;
	text-align: center;
	padding-bottom: 16px;
	border-bottom: 1px solid #aeaeae;
}

.form_block .block_inner .form_bg .ga_area p{
	margin-top: 1.75rem;
	padding: 0 2.7272%;/*15*/
	box-sizing: border-box;
	font-size: 1.25rem;
	line-height: 1.1958;
	text-align: justify;
	color: #222222;
}

.visually-hidden {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
}

hr.kazoku_border {
	display: block;
	padding: 1.5em 0 0;
	margin-top: 3.5em;
	border: none;
	border-top: 2px dotted #ccc; /* 太め・薄いグレーの点線 */
}

.form_block .block_inner .form_bg .form_wrap .submit_btn input.maru:disabled {
  cursor: not-allowed;
  opacity: 0.6; /* 見た目も無効っぽくしたい場合 */
}

/**/

.confirm-wrap {
	width: 92.3076%;/*600*/
	margin: 25px auto 0;
	border-top: 1px solid #aeaeae;
}
.confirm-wrap h3{
	margin-top: 20px;
	font-size: 1.4rem;
	line-height: 1;
	color: #222222;
}

.confirm-wrap dl.confirm-list{
	margin-top: 2em;
	display: flex;
	flex-direction: column;
	gap: 3px 0;
}

.confirm-wrap dl.confirm-list dt{
	width: 100%;/*210*/
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	font-size: 1.4rem;
	line-height: 1.75;
	color: #353535;
	text-align: justify;
}

.confirm-wrap dl.confirm-list dd{
	width: 100%;/*210*/
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	font-size: 1.4rem;
	line-height: 1.75;
	color: #353535;
	text-align: justify;
}

.confirm-wrap dl.confirm-list dd + dt{
	margin-top: 10px;
}

.confirm-wrap .confirm-buttons{
	width: 58.3333%; /*350*/
	margin: 30px auto 0;
}

.confirm-wrap .confirm-buttons .submit_btn{
	width: 100%;
	position: relative;
}


/* ▼ 通常アイコン */
.confirm-wrap .confirm-buttons .submit_btn::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8.5714%;/*30*/
	margin: auto;
	width: 1.25rem;
	height: 9px;
	background: url("index/input_ico.svg") no-repeat center/contain;
	opacity: 1;
	z-index: 1;
	pointer-events: none;
}

/* ▼ ボタン本体 */
.confirm-wrap .confirm-buttons .submit_btn button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	border-radius: 25px;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	text-align: center;
	background: linear-gradient(90deg, rgba(147, 42, 42, 1) 0%, rgba(187, 72, 59, 1) 42%, rgba(147, 42, 42, 1) 100%);
	color: #fff;
	transition: background 0.5s ease-in-out, color 0.5s ease-in-out;
	outline: none;
	border: none;
	cursor: pointer;
	box-shadow: 1px 0.15rem 0.15rem 0px rgba(0, 0, 0, 0.3);
}

.confirm-wrap .confirm-buttons .bak_btn{
	width: 100%;
	margin-top: 30px;
	position: relative;
}

/* ▼ 通常アイコン */
.confirm-wrap .confirm-buttons .bak_btn::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 8.5714%;/*30*/
	margin: auto;
	width: 1.25rem;
	height: 9px;
	background: url("index/hov-input_ico.svg") no-repeat center/contain;
	transform: scaleX(-1); /* ← 左右反転 */
	opacity: 1;
	z-index: 1;
	pointer-events: none;
}

/* ▼ ボタン本体 */
.confirm-wrap .confirm-buttons .bak_btn button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	border-radius: 25px;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	text-align: center;
	background: linear-gradient(90deg, rgba(200, 200, 200, 1) 0%, rgba(240, 240, 240, 1) 52%, rgba(200, 200, 200, 1) 100%);
	color: #932a2a;
	transition: background 0.5s ease-in-out, color 0.5s ease-in-out;
	outline: none;
	border: none;
	cursor: pointer;
	box-shadow: 1px 0.15rem 0.15rem 0px rgba(0, 0, 0, 0.3);
}

/**/

.thanks-wrap {
	width: 92.3076%;/*600*/
	margin: 25px auto 0;
}


.thanks-wrap p{
	font-size: 1.4rem;
	line-height: 1.4583;
	color: #333333;
	text-align: justify;
}

.thanks-wrap p a{
	color: #0083b9;
	text-decoration: underline;
}

.thanks-wrap .totop_btn{
	width: 58.3333%; /*350*/
	margin: 30px auto 0;
	position: relative;
}


/* ▼ 通常アイコン */
.thanks-wrap .totop_btn::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8.5714%;/*30*/
	margin: auto;
	width: 1.25rem;
	height: 9px;
	background: url("index/input_ico.svg") no-repeat center/contain;
	opacity: 1;
	z-index: 1;
	pointer-events: none;
}

/* ▼ ボタン本体 */
.thanks-wrap .totop_btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	border-radius: 25px;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	text-align: center;
	background: linear-gradient(90deg, rgba(147, 42, 42, 1) 0%, rgba(187, 72, 59, 1) 42%, rgba(147, 42, 42, 1) 100%);
	color: #fff;
	transition: background 0.5s ease-in-out, color 0.5s ease-in-out;
	outline: none;
	border: none;
	cursor: pointer;
	box-shadow: 1px 0.15rem 0.15rem 0px rgba(0, 0, 0, 0.3);
}

.wpcf7-response-output{
	display: none !important;
}
