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

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

h2.h2-midashi{
	font-size: 3.7rem;
	line-height: 1;
	letter-spacing: -0.01em;
	color: #f74701;
	text-align: center;
	padding-bottom: 18px;
	position: relative;
}

h2.h2-midashi::before{
	content: '';
	display: inline-block;
	background: url("images/pages/midashi_line.webp")no-repeat;
	background-size: cover;
	width: 221px;
	aspect-ratio: 221 / 46;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

/*===================================
	.block01
=====================================*/

.block01{
	padding: 135px 0 257px;
}

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

.block01 .block_inner .kiyaku_wrap{
	margin-top: 70px;
	width: 100%;
	aspect-ratio: 1000 / 620;
	border: 1px solid #c7c7c7;
	background: #f9f9f9;
	padding: 45px 5.5% 53px 4.3%;
	box-sizing: border-box;
	overflow-y: auto;
}

/* スクロールバー全体 */
.block01 .block_inner .kiyaku_wrap::-webkit-scrollbar {
	width: 29px;   /* 縦スクロールの幅 */
}

/* スクロールバーのトラック（背景部分） */
.block01 .block_inner .kiyaku_wrap::-webkit-scrollbar-track {
	border-radius: 15px;
}

/* スクロールバーのつまみ */
.block01 .block_inner .kiyaku_wrap::-webkit-scrollbar-thumb {
    background: #808080;
    border-radius: 15px;
	border: 9px solid #f9f9f9; /* ← トラックと同じ色でダミー余白を作る */	
}

.block01 .block_inner .kiyaku_wrap h3.h3-midashi{
	font-size: 2.0rem;
	line-height: 1;
	color: #f74701;
}

.block01 .block_inner .kiyaku_wrap .kiyaku_txt_area{
	margin-top: 15px;
}

.block01 .block_inner .kiyaku_wrap .kiyaku_txt_area + .kiyaku_txt_area{
	margin-top: 48px;
}

.block01 .block_inner .kiyaku_wrap .kiyaku_txt_area.mt01{
	margin-top: 28px;
}

.block01 .block_inner .kiyaku_wrap .kiyaku_txt_area.mt02{
	margin-top: 80px;
}

.block01 .block_inner .kiyaku_wrap .kiyaku_txt_area p{
	font-size: 1.6rem;
	line-height: 1.5625;
	color: #333333;
	text-align: justify;
}

.block01 .block_inner .btn_wrap{
	width: 68.0%;
	margin: 65px auto 0;
	display: flex;
	justify-content: space-between;
}

.block01 .block_inner .btn_wrap .bk_btn,
.block01 .block_inner .btn_wrap .next_btn{
	width: 44.1176%;/*300*/
}

.block01 .block_inner .btn_wrap .bk_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 75px;
	border: 1px solid #000000;
	border-radius: 12px;
	background: url("images/pages/link_ico02.webp")no-repeat #a8a8a8 left 9.3333% center;/*28*/
	background-size: 13px auto;
	box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 1);
	font-size: 1.947rem;
	line-height: 1;
	color: #fff;
	padding-left: 36.0%;/*108*/
	box-sizing: border-box;
}

.block01 .block_inner .btn_wrap .next_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 75px;
	border: 1px solid #000000;
	border-radius: 12px;
	background: url("images/pages/link_ico01.webp")no-repeat #f74701 right 9.3333% center;/*28*/
	background-size: 13px auto;
	box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 1);
	font-size: 1.947rem;
	line-height: 1;
	color: #fff;
	padding-left: 36.0%;/*108*/
	box-sizing: border-box;
}

/*===================================
	.form_block01
=====================================*/

.wpcf7-form-control-wrap,
.wpcf7-form-control.wpcf7-acceptance,
.wpcf7-list-item{
    display: contents !important; /* 子要素だけ表示 */
	margin: 0 !important;
}

.form_block01{
	padding: 135px 0 415px;
}

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

.form_block01 .block_inner p.form_txt01{
	font-size: 1.6rem;
	line-height: 1;
	color: #333333;
	text-align: center;
	margin-top: 37px;
}

.form_block01 .block_inner p.form_txt01.thx_txt{
	line-height: 1.75;
}

.form_block01 .block_inner .step_wrap{
	margin-top: 79px;
}

.form_block01 .block_inner .step_wrap ul.form_step{
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 0 1.4%;
}

.form_block01 .block_inner .step_wrap ul.form_step li{
	width: 19.5%;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 52px;
	border: 2px solid #969696;
	border-radius: 5px;
	background: #e6e6e6;
	font-size: 1.5rem;
	line-height: 1;
	color: #7f8282;
	box-sizing: border-box;
}

.form_block01 .block_inner .step_wrap ul.form_step li.on{
	border: 2px solid #f74701;
	background: #f74701;
	color: #fff;
}

.form_block01 .block_inner .form_wrap{
	margin-top: 75px;
}

.form_block01 .block_inner .form_wrap .form_area01{
	width: 100%;
}

.form_block01 .block_inner .form_wrap .form_area01 + .form_area01{
	margin-top: 106px;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_midashi{
	width: 100%;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_midashi p{
	display: flex;
	align-items: center;
	width: 100%;
	height: 57px;
	background: #fff5f2;
	border: 1px solid #f74701;
	border-radius: 2.85rem;
	padding-left: 4.0%;
	box-sizing: border-box;
	font-size: 2.2rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #f74701;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content{
	width: 96.0%;
	margin: 45px auto 0;
	display: flex;
	justify-content: space-between;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content + .form_content{
	margin-top: 50px;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .koumoku{
	width: 30.1041%;/*289*/
	display: flex;
	margin-top: 10px;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .koumoku .mark{
	width: 16.2629%;/*47*/
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .koumoku .mark p{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 2.96rem;
	background: #aeaeae;
	border-radius: 5px;
	font-size: 1.6rem;
	line-height: 1;
	color: #fff;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .koumoku .mark.hissu p{
	background: #ec2028;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .koumoku p.koumoku_name{
	width: calc(100% - 16.2629%);/*-47*/
	padding: 1px 0 0 5.1903%;/*15*/
	box-sizing: border-box;
	font-size: 1.6rem;
	line-height: 1.75;
	color: #333333;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area{
	width: 69.7916%;/*670*/
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area input[type="text"],
.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area input[type="email"]{
	width: 100%;
	height: 50px;
	border: 1px solid #949494;
	padding: 0 1em;
	box-sizing: border-box;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	color: #333;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area input[type="text"].half-size{
	width: 51.1940%;/*343*/
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area textarea{
	width: 100%;
	height: 94px;
	border: 1px solid #949494;
	padding: 0.5em 1em;
	box-sizing: border-box;
	font-size: 1.6rem;
	line-height: 1.50;
	letter-spacing: 0.05em;
	color: #333;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area p.ex_txt{
	margin-top: 5px;
	font-size: 1.4rem;
	color: #575757;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area p.rule_txt{
	margin-top: 22px;
	font-size: 1.4rem;
	line-height: 1.75;
	color: #353535;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area p.rule_txt span{
	color: #ec2028;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .flex_input_area{
	display: flex;
	gap: 0 5.5223%;/*37*/
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .flex_input_area select{
	width: 40.2985%;/*270*/
	height: 50px;
	border: 1px solid #000000;
	border-radius: 8px;
	background: url("images/pages/select_ico.webp")no-repeat #fff right 3.5820% center;/*24*/
	background-size: 22px auto;
	padding-left: 1em;
	box-sizing: border-box;
	font-size: 1.6rem;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .flex_input_area02{
	display: flex;
	align-items: center;
	gap: 0 2.9850%;/*20*/
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .flex_input_area02 p.ex_txt02{
	font-size: 1.5rem;
	line-height: 1;
	color: #333333;
}


.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .c_area + .c_area{
	margin-top: 20px;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .c_area label{
	display: flex;
	align-items: center;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .c_area .wpcf7-list-item + .wpcf7-list-item label{
	margin-top: 20px;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .c_area label input{
	width: 4.4776%;/*30*/
	aspect-ratio: 30 / 30;
	border: 1px solid #949494;
	background: #f9f9f9;
	box-sizing: border-box;
}

.form_block01 .block_inner .form_wrap .form_area01 .form_content .input_area .c_area label span.wpcf7-list-item-label{
	width: calc(100% - 4.4776%);
	padding: 0 0 0 1.940%;/*13*/
	box-sizing: border-box;
	font-size: 1.6rem;
	color: #333333;
	white-space: nowrap;
}

.form_block01 .block_inner .form_wrap .submit_btn{
	width: 33.0%;
	margin: 113px auto 0;
}

.form_block01 .block_inner .form_wrap .submit_btn input{
	display: flex;
	align-items: center;
	width: 100%;
	height: 75px;
	background: url("images/pages/link_ico01.webp")no-repeat #f74701 right 8.878% center;/*29*/
	background-size: 13px auto;
	border: 1px solid #000000;
	border-radius: 12px;
	padding-left: 36.0606%;/*119*/
	box-sizing: border-box;
	font-size: 1.947rem;
	line-height: 1;
	color: #fff;
	text-align: left;
	box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 1);
	transition: 0.3s;
}

.form_block01 .block_inner .form_wrap .submit_btn input:hover{
	opacity: 0.6;
}


.form_block01 .block_inner .top_btn{
	width: 33.0%;
	margin: 130px auto 0;
}

.form_block01 .block_inner .top_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 75px;
	background: url("images/pages/link_ico01.webp")no-repeat #f74701 right 8.878% center;/*29*/
	background-size: 13px auto;
	border: 1px solid #000000;
	border-radius: 12px;
	padding-left: 31.5151%;/*104*/
	box-sizing: border-box;
	font-size: 1.947rem;
	line-height: 1;
	color: #fff;
	text-align: left;
	box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 1);
	transition: 0.3s;
}

.codedropz-btn-wrap{
	margin: 20px auto;
}

.codedropz-btn-wrap a.cd-upload-btn{
	font-weight: 700;
	color: #f74701;
	background: #fff5f2;
	padding: 0.5em 2.5em;
	border: 1px solid #c5c5c5;
	border-radius: 3px;
	box-sizing: border-box;
	box-shadow: 3px 3px 0px 0px rgba(197, 197, 197, 1) !important;
}