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

/*===================================
	.main_visual
=====================================*/

.main_visual{
	width: 100%;
	position: relative;
}

.main_visual::before{
	content: '';
	display: inline-block;
	background: url("images/top/main_bg.webp");
	background-size: cover;
	background-position: center top;
	aspect-ratio: 1480 / 725;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.main_visual .main_inner{
	width: 100%;
	max-width: 1050px;
	padding: 76px 25px 0;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

.main_visual .main_inner::before{
	content: '';
	display: inline-block;
	background: url("images/top/left-parts01.webp")no-repeat;
	background-size: cover;
	width: 29.3333%;/*308*/
	aspect-ratio: 308 / 514;
	position: absolute;
	top: 0;
	left: -264px;
	z-index: -1;
}

.main_visual .main_inner::after{
	content: '';
	display: inline-block;
	background: url("images/top/right-parts01.webp")no-repeat;
	background-size: cover;
	width: 43.7142%;/*459*/
	aspect-ratio: 459 / 620;
	position: absolute;
	top: 22px;
	right: -222px;
	z-index: -1;
}

.main_visual .main_inner h1.main_catch{
	margin: 0 0 0 16.0%;
	width: 73.1%;
	position: relative;
}

.main_visual .main_inner h1.main_catch::before{
	content: '';
	display: inline-block;
	background: url("images/top/left-parts02.webp")no-repeat;
	background-size: cover;
	width: 25.3077%;/*185*/
	aspect-ratio: 185 / 537;
	position: absolute;
	top: 123px;
	left: -17.2366%;/*-126*/
}

.main_visual .main_inner h1.main_catch img{
	width: 100%;
	height: auto;
}

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

.block01{
	padding-top: 88px;
	position: relative;
	z-index: 1;
}

.block01::before{
	content: '';
	display: inline-block;
	background: url("images/top/b01-bg.webp")no-repeat;
	background-size: cover;
	width: 100%;
	aspect-ratio: 1480 / 492;
	position: absolute;
	top: -25px;
	left: 0;
	z-index: -1;
}

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

.block01 .block_inner .flex_area{
	width: 100%;
	display: flex;
	position: relative;
}

.block01 .block_inner .flex_area::before{
	content: '';
	display: inline-block;
	background: url("images/top/b01-left-parts01.webp")no-repeat;
	background-size: cover;
	width: 30.75%;/*369*/
	aspect-ratio: 369 / 347;
	position: absolute;
	bottom: -166px;
	left: -19.0%;/*-228*/
	z-index: -1;
}

.block01 .block_inner .flex_area::after{
	content: '';
	display: inline-block;
	background: url("images/top/b01-right-parts01.webp")no-repeat;
	background-size: cover;
	width: 32.0%;/*384*/
	aspect-ratio: 384 / 371;
	position: absolute;
	top: -42px;
	right: -25.0%;/*-300*/
	z-index: -1;
}

.block01 .block_inner .flex_area .left_area{
	width: 47.9166%;/*575*/
	position: relative;
	left: -20px;
}

.block01 .block_inner .flex_area .left_area img{
	width: 100%;
	height: auto;
}

.block01 .block_inner .flex_area .right_area{
	width: 40.0%;/*480*/
	margin: 50px 0 0 5.8333%;/*70*/
}

.block01 .block_inner .flex_area .right_area h2{
	width: 56.25%;/*270*/
}

.block01 .block_inner .flex_area .right_area h2 img{
	width: 100%;
	height: auto;
}

.block01 .block_inner .flex_area .right_area .txt_area{
	margin: 30px 0 0 2.0833%;/*10*/
}

.block01 .block_inner .flex_area .right_area .txt_area p{
	font-size: 1.6rem;
	line-height: 2.0625;
	color: #333333;
	text-align: justify;
}

/*===================================
	.block02
=====================================*/

.block02{
	padding: 105px 0 210px;
	position: relative;
	z-index: 1;
}

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

.block02 .block_inner h2.kirapos_midashi02{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.3rem;
	line-height: 1;
	color: #f74701;
	padding-bottom: 15px;
	position: relative;
}

.block02 .block_inner h2.kirapos_midashi02 span{
	font-size: 2.6rem;
}

.block02 .block_inner h2.kirapos_midashi02::before{
	content: '';
	display: inline-block;
	background: url("images/top/line01.webp")no-repeat;
	background-size: cover;
	width: 82.6%;
	aspect-ratio: 826 / 30;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.block02 .block_inner .detail_area{
	margin-top: 20px;
	width: 100%;
	border: 2px solid #ff2501;
	border-radius: 20px;
	padding: 35px 0 52px;
	box-sizing: border-box;
}

.block02 .block_inner .detail_area p.large_txt{
	font-size: 1.8rem;
	line-height: 1;
	color: #000000;
	text-align: center;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: #000;
	text-underline-offset: 8px;
}

.block02 .block_inner .detail_area p.large_txt span{
	color: #f74701;
}

.block02 .block_inner .detail_area .txt_area{
	width: 90.0%;
	margin: 35px auto 0;
}

.block02 .block_inner .detail_area .txt_area p.small_txt{
	font-size: 1.6rem;
	line-height: 1.75;
	text-align: justify;
	color: #333333;
}

.block02 .block_inner .large_btn{
	width: 55.0%;
	margin: 65px auto 0;
}

.block02 .block_inner .large_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 100px;
	border: 1px solid #000;
	background: url("images/top/link_ico-wh.webp")no-repeat #f74701 right 7.2727% center;/*40*/
	background-size: 16px auto;
	border-radius: 15px;
	font-size: 2.596rem;
	line-height: 1;
	color: #fff;
	padding-left: 24.0%;/*132*/
	box-sizing: border-box;
	box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 1);
}













