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

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

.block01{
	padding: 52px 0 0;
}

.block01 .block_inner{
	width: 100%;
}

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

.block01 .block_inner .gaiyo_wrap .gaiyo_inn{
	width: 83.3333%;/*600*/
	margin: 0 auto;
}

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

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

.block01 .block_inner .gaiyo_wrap .gaiyo_inn p.sub_txt{
	margin-top: 15px;
	font-size: 1.3rem;
	line-height: 1.4230;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: justify;
}

/**/

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

.block01 .block_inner .bg_wrap::before{
	content: '';
	display: inline-block;
	background: #f4f4f4;
	width: 100%;
	height: calc(100% + 5px);
	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%;
	height: calc(100% - 523px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.block01 .block_inner .bg_wrap .bg_inner{
	width: 90.2777%;/*650*/
	margin: 0 auto;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap{
	width: 100%;
	border-radius: 5px;
	background: #fff;
	padding: 29px 0 31px;
}

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

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

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area{
	width: 92.3076%;/*600*/
	margin: 16px 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.3rem;
	line-height: 1.7307;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area .f-columns{
	display: flex;
	flex-direction: column;
}

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

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area .f-columns .f-column02{
	width: 100%;
	margin-top: 1em;
}

.block01 .block_inner .bg_wrap .bg_inner .txt_wrap .txt_area .f-columns .f-column02 img{
	max-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.3rem;
	line-height: 1.7307;
	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: 45px;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap{
	margin-top: 21px;
	background: rgba(255,255,255,0.8);
	padding: 23px 0 30px;
	border-radius: 5px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

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

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_img{
	width: 85.8461%;/*558*/
	margin: 0 auto;
}

.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: 85.8461%;/*558*/
	margin: 0 auto;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_img + .jigyo_detail{
	margin: 15px auto 0;
}

.block01 .block_inner .bg_wrap .bg_inner .kanren_wrap .jigyo_wrap .jigyo_detail p.j_name{
	font-size: 1.75rem;
	line-height: 1.2571;
	letter-spacing: 0.05em;
	color: #08305a;
	text-align: left;
/*	text-align: justify;*/
	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: 10px;
	font-size: 1.3rem;
	line-height: 1.7307;
	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: 78.1362%;/*436*/
	margin: 25px auto 0;
}

.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: 50px;
	border-radius: 5px;
	background: url("../images/project/link_ico.webp")no-repeat #08305a right 8.4862% center;/*37*/
	background-size: 3.2110% auto;/*14*/
	font-size: 1.5rem;
	line-height: 1;
	color: #fff;
}
