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

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

.block01{
	padding: 100px 0 0;
}

.block01 .block_inner{
	width: 100%;
}

.block01 .block_inner .gaiyo_wrap{
	margin-top: 35px;
	background: #08305a;
	padding: 50px 0;
}

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

.block01 .block_inner .gaiyo_wrap .gaiyo_inn p.jigyo_txt{
	font-size: 2.0rem;
	line-height: 1.50;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
}

.block01 .block_inner .gaiyo_wrap .gaiyo_inn h2.thume_txt{
	font-size: 3.5rem;
	line-height: 1.5142;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
	padding: 59px 0 36px;
	border-bottom: 1px solid #e81c24;
}

.block01 .block_inner .gaiyo_wrap .gaiyo_inn p.sub_txt{
	margin-top: 35px;
	font-size: 1.6rem;
	line-height: 2.3125;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
}

/**/

.block01 .block_inner .bg_wrap{
	width: 100%;
	padding: 77px 0 117px;
	position: relative;
}

.block01 .block_inner .bg_wrap::before{
	content: '';
	display: inline-block;
	background: #f4f4f4;
	width: 100%;
	height: calc(100% + 10px);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -2;
}

.block01 .block_inner .bg_wrap::after{
	content: '';
	display: inline-block;
	background: url("../images/project/project-bg01.webp")no-repeat;
	background-size: cover;
	background-position: center bottom;
	width: 100%;
/*	aspect-ratio: 1480 / 1836;*/
	height: calc(100% - 517px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

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

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap{
	width: 100%;
	border-radius: 10px;
	background: rgba(255,255,255,0.8);
	padding: 60px 0 90px;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap h3.txt-midashi{
	font-size: 3.0rem;
	line-height: 1.75;
	color: #e81c24;
	text-align: center;
	padding-bottom: 17px;
	position: relative;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap h3.txt-midashi::before{
	content: '';
	display: inline-block;
	background: #e81c24;
	width: 1.625%;/*19.5*/
	height: 3px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area{
	width: 83.3333%;/*1000*/
	margin: 40px auto 0;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area p,
.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area div{
	font-size: 1.6rem;
	line-height: 2.3125;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area .f-columns{
	display: flex;
	justify-content: space-between;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area .f-columns .f-column01{
	width: 52.75%;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area .f-columns .f-column02{
	width: 42.75%;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area .f-columns .f-column02 img{
	width: 100%;
	height: auto;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area ol {
	counter-reset: number; /* カウンターをリセット */
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area ol li {
	font-size: 1.6rem;
	line-height: 2.3125;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
	position: relative;
	padding-left: 1.5em; /* 番号ぶんの余白 */
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area ol li::before {
	counter-increment: number; /* カウンターを進める */
	content: counter(number) ". "; /* 1. 2. 3. のように表示 */
	position: absolute;
	left: 0;
}

/**/

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap{
	padding-top: 107px;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap{
	margin-top: 53px;
	background: rgba(255,255,255,0.8);
	padding: 37px 0;
	border-radius: 10px;
	display: flex;
	justify-content: space-between;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap + .jigyo_wrap{
	margin-top: 34px;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_img{
	width: 50.0%;/*600*/
	padding: 0 1.0% 0 2.50%;/*12 30*/
	box-sizing: border-box;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_img img{
	width: 100%;
	aspect-ratio: 558 / 350;
	object-fit: contain;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_detail{
	width: 100%;
	padding: 0 8.3333%;/*100*/
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}


.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_img + .jigyo_detail{
	width: 50.0%;/*600*/
	padding: 0 4.1666% 0 3.8333%;/*50 46*/
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_detail p.j_name{
	margin-top: 25px;
	font-size: 3.5rem;
	line-height: 1.2571;
	letter-spacing: 0.05em;
	color: #08305a;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: keep-all;	
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_detail p.j_txt{
	margin-top: 24px;
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_detail .link_btn{
	width: 29.9%;
	margin: 1.25em 0 0 auto;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_img + .jigyo_detail .link_btn{
	width: 59.3253%;/*299*/
	margin: auto 0 0 auto;
}


.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_detail .link_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 68px;
	border-radius: 10px;
	background: url("../images/project/link_ico.webp")no-repeat #08305a right 8.3612% center;/*25*/
	background-size: 3.6789% auto;/*11*/
	font-size: 2.0rem;
	line-height: 1;
	color: #fff;
}
