@charset "utf-8";

/* business / top */
.business .catch{
	display:block;
	position:relative;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
	margin:0;
}
.business .catch img{
	width:100%;
	min-height:180px;
	border-radius:0;
	object-fit:cover;
}
.bg_gray{
	display:flex;
	align-items:center;
	justify-content:space-between;
	position:relative;
	padding:45px 0;
}
.bg_gray::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
	height:100%;
	background:#F1F5F2;
}
.bg_gray h2{margin-top:0;}
.bg_gray p{margin-bottom:30px;}
.bg_gray p:last-child{margin:50px 0 0;}
.bg_gray div:first-child{flex-shrink:0;}
.bg_gray div:last-child{
	max-width:516px;
	padding-right:65px;
}


/* common */
.page_title + p img{
	min-height:160px;
	object-fit:cover;
}
.img_txt.reverse{flex-direction:row-reverse;}
.img_txt > p{width:52.727%;}
.img_txt strong, h3 + p strong{font-weight:bold;}
.content_area > h2{
	padding-top:25px;
	border-top:1px solid #338633;
}


/* role */
.role .catch{
	position:relative;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
	padding:0 20px;
	margin-bottom:45px;
}
.role .catch h2{
	position:absolute;
	z-index:1;
	right:20px;
	bottom:-25px;
	left:20px;
	max-width:1100px;
	margin:auto;
	color:#fff;
}
.role .catch h2 span{
	display:inline-block;
	padding:4px 12px 6px 20px;
	margin-top:10px;
	background:linear-gradient(270deg, #3C933A 0%, #369336 20%, #115316 100%);
}
.role .catch p{
	max-width:1366px;
	margin:auto;
}
.role .catch img{
	min-height:225px;
	object-fit:cover;
}
.column_role{
	counter-reset:column;
	display:grid;
	grid-template-columns:1fr 1fr;
}
.column_role div{
	counter-increment:column;
	position:relative;
	padding-top:40px;
	padding-bottom:30px;
}
.column_role div:nth-child(-n+2){border-bottom:1px solid #ccc;}
.column_role div:nth-child(odd){padding-right:50px;}
.column_role div:nth-child(even){padding-left:50px;}
.column_role div:nth-child(odd)::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	width:1px;
	height:calc(100% - 40px);
	margin:auto;
	background:#ccc;
}
.column_role h3{margin-top:0;}
.column_role h3::before{
	content:counter(column, decimal-leading-zero);
	position:relative;
	top:3px;
	margin-right:15px;
	color:#338633;
	font-family:var(--font_montserrat);
	font-size:5.4rem;
	font-weight:600;
	letter-spacing:0;
	line-height:6.6rem;
}


@media screen and (max-width:1180px){

/* role */
.role .catch{padding:0;}
.role .catch img{border-radius:0;}

}


@media screen and (min-width:768px) and (max-width:1024px){

/* business / top */
.bg_gray div:last-child{padding:0;}
.bg_gray p:last-child{margin-top:40px;}


/* role */
.role .catch{margin-bottom:85px;}
.role .catch h2{
	bottom:-65px;
	font-size:2.4rem;
	letter-spacing:1.44px;
	line-height:3.5rem;
}
.role .catch h2 span{padding:4px 10px 6px 15px;}
.column_role div{
	padding-top:30px;
	padding-bottom:20px;
}
.column_role div:nth-child(odd){padding-right:20px;}
.column_role div:nth-child(even){padding-left:20px;}
.column_role h3{
	margin-bottom:10px;
	font-size:2rem;
	letter-spacing:1.2px;
	line-height:2.9rem;
}
.column_role h3::before{
	font-size:4.8rem;
	line-height:5.9rem;
}

}


@media screen and (max-width:767px){

/* business / top */
.bg_gray{
	flex-direction:column-reverse;
	padding:40px 0 50px;
}
.bg_gray div:last-child{
	padding:0;
	margin-bottom:20px;
}
.bg_gray p{margin-bottom:25px;}
.bg_gray p:last-child{
	margin-top:35px;
	text-align:center;
}


/* common */
.img_txt{display:block;}
.img_txt > p{
	max-width:none;
	width:100%;
}
.content_area > h2{padding-top:20px;}

/* role */
.role .catch{margin-bottom:125px;}
.role .catch h2{
	bottom:-100px;
	font-size:2rem;
	letter-spacing:1.2px;
	line-height:2.9rem;
}
.role .catch h2 span{
	padding:3px 8px 4px 10px;
	margin-top:8px;
}
.column_role{
	display:block;
	margin-top:35px;
	border-top:1px solid #ccc;
}
.column_role div{
	padding:15px 0 10px !important;
	border-bottom:1px solid #ccc;
}
.column_role div::after{display:none !important;}
.column_role h3{margin-bottom:5px;}
.column_role h3::before{
	margin-right:10px;
	font-size:4.2rem;
	line-height:5.2rem;
}

}