@charset "utf-8";
.sustainability .page_title{
	text-align:left;
	display:flex;
	align-items:center;
	padding:60px 20px 80px;
	height:362px;
}
.sustainability .page_title{margin-bottom:90px;max-width:1300px;}
.page_title h1[data-name]{margin:0;}
.sustainability .page_title::before{display:none;}
.s_catch{
	position:absolute;
	margin:0 calc(50% - 50vw);
	width:100vw;
	height:100%;
	top:0;
	left:0;
	z-index:-1;
}
.s_catch img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.sustainability_top_content{
	display:flex;
	justify-content:space-between;
}
.sustainability_top_txt{width:48.33333333333%;}
.sustainability_top_txt h2{
	border:none;
	padding:0;
	margin:0 0 33px;
	font-size:3.8rem;
	letter-spacing:3.8px;
}
.sustainability_top_txt h2::before{display:none;}
.sustainability_top_txt p{line-height:2;}

.sustainability_top_link{width:45%;padding-top:10px;}
.sustainability_top_link a{
	display:block;
	text-decoration:none;
	border-radius:10px;
	overflow:hidden;
	border:1px solid #ccc;
	color:#333 !important;
}
.sustainability_top_link a:hover{color:#fff !important;}
.sustainability_top_thumb{overflow:hidden;position:relative;border-radius:10px 10px 0 0;}
.sustainability_top_thumb img{
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	transition:transform 0.3s;
	width:100%;
	height:auto;
	border-radius:0;
}
.sustainability_top_link p{
	position:relative;
	padding:14px 50px 16px 20px;
	margin:auto;
	font-size:2.2rem;
	letter-spacing:2.2px;
	font-weight:bold;
	background:url(/img/common/arrow_r_red.svg) right 20px center no-repeat;
	transition:background .3s;
}
.sustainability_top_link:hover p{background:#03163C url(/img/common/arrow_r_white.svg) right 20px center no-repeat;color:#fff !important;}
.sdgs_catchimg{max-width:858px;margin:20px auto;}

.s_list{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	margin-bottom:97px;
	border-top:1px solid #ccc;
}
.s_item{
	list-style:none;
	border-bottom:1px solid #ccc;
	width:calc(100% / 3);
}
.s_item:nth-child(2),.s_item:nth-child(3){border-left:1px solid #ccc;}
.s_link{
	display:block;
	text-decoration:none;
	color:#333 !important;
}
.s_link:hover{color:#fff !important;}
.s_thumb{overflow:hidden;position:relative;}
.s_link img{
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	transition:transform 0.3s;
	width:100%;
	height:auto;
}
.s_title{
	position:relative;
	padding:16px 50px 18px 30px;
	margin:auto;
	font-size:1.8rem;
	letter-spacing:1.8px;
	font-weight:bold;
	background:url(/img/common/arrow_r_red.svg) right 30px center no-repeat;
	transition:background .3s;
}
a:hover .s_title{background:#03163C url(/img/common/arrow_r_white.svg) right 30px center no-repeat;}

/* sdgs */
.sus_catchcopy{
	text-align:center;
	margin:60px 0 40px;
	font-size:2.6rem;
	letter-spacing:2.6px;
	color:#135AA8;
}
.sdgs_list{padding:0;}
.sdgs_item{
	list-style:none;
	padding-left:220px;
	position:relative;
}
.sdgs_h h3{padding-top:15px;}
.sdgs_3 h3{border-color:#1B973A;}
.sdgs_4 h3{border-color:#C50E28;}
.sdgs_5 h3{border-color:#E83418;}
.sdgs_7 h3{border-color:#FABD00;}
.sdgs_8 h3{border-color:#970A31;}
.sdgs_9 h3{border-color:#EC6A06;}
.sdgs_11 h3{border-color:#F5A20B;}
.sdgs_13 h3{border-color:#407936;}
.sdgs_14 h3{border-color:#0075BA;}
.sdgs_15 h3{border-color:#28A838;}
.sdgs_icon{
	position:absolute;
	left:0;
	top:0;
	width:160px;
}
.content_area .sdgs_icon img{border-radius:0;}
.sdgs_content{
	display:flex;
	justify-content:space-between;
}
.sdgs_content li{list-style:disc;}
.sdgs_txt{width:calc(100% - 328px);}
.sdgs_txt *:first-child{margin-top:0 !important;}
.sdgs_txt *:last-child{margin-bottom:0 !important;}
.sdgs_img{width:298px;}
.sdgs_img img{border-radius:10px;}

.sdgs_bg{
	border-radius:10px;
	background:#E8DCC7;
	padding:40px 50px;
	margin-top:30px;
}
.sdgs_bg *:first-child{margin-top:0 !important;}
.sdgs_bg *:last-child{margin-bottom:0 !important;}
.sdgs_bg h3{border:none;padding:0;}

/* 環境への取り組み */
.env_catchcopy{font-size:2rem;letter-spacing:2px;}
.env_txt_box{
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
	margin-bottom:40px;
}
.env_txt{width:calc(100% - 414px);}
.env_txt *:first-child{margin-top:0 !important;}
.env_txt *:last-child{margin-bottom:0 !important;}
.env_img{width:373px;}
.tech_list{
	display:grid;
	margin:45px 0 20px;
	grid-template-columns:repeat(auto-fit, 22.273%);
	gap:30px 3.636%;
	padding:0;
}
.tech_item{list-style:none;margin:0 !important;}
.tech_img{overflow:hidden;}
.tech_img img{
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	transition:transform 0.3s;
	width:100%;
	height:auto;
}
.c_item{list-style:none;margin:0 !important;}
.c_link{
	display:flex;
	flex-direction:column;
	height:100%;
	padding:0 !important;
	background:none !important;
	text-decoration:none;
	font-size:2rem;
	font-weight:bold;
	letter-spacing:1.2px;
	transition:color .3s;
	border-radius:10px;
	border:1px solid #ccc;
	overflow:hidden;
}
.c_thumb{border-radius:0;overflow:hidden;}
.c_link img{
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	transition:transform 0.3s;
	width:100%;
	height:auto;
	border-radius:0;
}

.c_title{
	margin:0;
	display:flex;
	align-items:center;
	height:100%;
	flex:1;
	font-size:2rem;
	letter-spacing:2px;
	line-height:2.7rem;
	vertical-align:middle;
	padding:15px 40px 17px 18px;
	transition:color .3s,background .3s;
	background:url(/img/common/arrow_r_red.svg) right 20px center no-repeat;
}
.c_link:hover .c_title{
	color:#fff !important;
	background:#03163C url(/img/common/arrow_r_white.svg) right 20px center no-repeat;
}
.tech_list .c_title{font-size:1.7rem;letter-spacing:1.7px;}

.works_list{
	display:grid;
	grid-gap:40px;
	grid-template-columns:repeat(auto-fit, calc((100% - 80px) / 3));
	margin:20px 0 0;
	padding:0;
}
.works_item{list-style:none;}
.works_link{
	display:block;
	height:100%;
	text-decoration:none !important;
	color:#333 !important;
}
.works_thumb{
	position:relative;
	padding-bottom:68%;
	background:#EBEBEB;
	border-radius:10px;
	overflow:hidden;
}
.works_thumb::after{
	content:'';
	position:absolute;
	right:10px;
	bottom:10px;
	display:block;
	width:36px;
	height:36px;
	border-radius:50%;
	background:rgba(255,255,255,0.9) url(/img/common/arrow_r_red.svg) center no-repeat;
	transition:background .3s;
}
.works_link:hover .works_thumb::after{
	background:#D93A23 url(/img/common/arrow_r_white.svg) center no-repeat;;
	transition:background .3s;
}
.works_img{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	max-height:100%;
	margin:auto;
	transition:transform 0.3s;
}
a:hover .works_img{transform:scale(1.05);}
.works_link h4{
	margin:10px 0 0;
	font-size:1.8rem;
	letter-spacing:1.8px;
	font-weight:bold;
	line-height:1.5;
}
.works_link:hover h4{text-decoration:underline;}
.works_list_info{
	display:flex;
	flex-wrap:wrap;
}
.works_list_info span{
	display:inline-block;
	position:relative;
	margin-right:12px;
	margin-top:5px;
	padding-right:12px;
	font-size:1.2rem;
	letter-spacing:1.2px;
}
.works_list_info span::after{
	content:'';
	display:block;
	width:1px;
	height:12px;
	position:absolute;
	right:0;
	top:calc(50% - 5px);
	background:#333;
}
.works_list_info span:last-child{
	margin-right:0;
	padding-right:0;
}
.works_list_info span:last-child::after{display:none;}

/* 社会への取り組み */
.bor_box{
	border-radius:10px;
	border:1px solid #008CD7;
	padding:37px 20px 34px;
}
.social_health{
	width:fit-content;
	margin:auto;
	font-size:2rem;
	letter-spacing:2px;
}
.social_health li{margin-bottom:1px;}
.social_health li:last-child{margin-bottom:0 !important;}

.social_linklist{
	padding:0;
	margin-top:30px;
	border-top:1px dotted #ddd;
}
.social_link_item{
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
	border-bottom:1px dotted #ddd;
	padding:30px 0;
	margin-bottom:0;
}
.social_link_txt{
	width:calc(100% - 414px);
}
.social_link_txt h3{margin:0 0 20px;padding:0;border:none;}
.social_link_txt *:first-child{margin-top:0 !important;}
.social_link_txt *:last-child{margin-bottom:0 !important;}
.social_link_img{width:373px;}


@media screen and (max-width:1100px){
.sustainability .page_title{height:258px;padding:77px 40px 79px;margin-bottom:50px;}
.sustainability .content_area{padding:0 30px;}
.sustainability_top_txt{width:45%;}
.sustainability_top_txt h2{
	margin:0 0 26px;
	font-size:2.8rem;
	letter-spacing:2.8px;
}
.sustainability_top_txt p{line-height:2.7rem;}
.sustainability_top_link{width:48.5875%;padding-top:10px;}
.sustainability_top_link a,.sustainability_top_link a:hover{
	display:block;
	text-decoration:none;
	color:#333 !important;
}

.sustainability_top_link p{
	padding:10px 50px 12px 20px;
	font-size:1.8rem;
	letter-spacing:1.8px;
}
.s_list{margin-top:50px;border:none;}
.s_link{color:#333 !important;}
.s_link:hover{color:#333 !important;}
.s_title{
	padding:8px 30px 9px 20px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	background:url(/img/common/arrow_r_red.svg) right 20px center no-repeat !important;
}
.s_title:hover{
	padding:8px 30px 9px 20px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	background:url(/img/common/arrow_r_red.svg) right 20px center no-repeat !important;
}
.sdgs_catchimg{max-width:600px;}

.sus_catchcopy{
	margin:50px 0 30px;
	font-size:2.5rem;
	letter-spacing:2.5px;
}
.sdgs_item{padding-left:120px;}
.sdgs_h h3{margin:54px 0 22px;}
.sdgs_icon{width:100px;}
.sdgs_txt{width:calc(100% - 220px);}
.sdgs_img{width:200px;}
.sdgs_img img{border-radius:10px;}
.sdgs_bg{padding:44px 20px;margin-top:20px;}
.sdgs_bg h3{margin-bottom:21px;}
.sdgs_bg .link_btn{text-align:center;margin-top:17px;}

.tech_list{
	display:grid;
	grid-template-columns:repeat(auto-fit, 30.909%);
	grid-gap:50px 3.636%;
}
.tech_list .c_title{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.1rem;
	padding:9px 40px 11px 14px;
	background-position:right 10px center;
}

.env_catchcopy{font-size:1.7rem;letter-spacing:1.7px;}
.env_txt{width:calc(100% - 250px);}
.env_img{width:230px;}

.works_list{
	grid-gap:20px 30px;
	grid-template-columns:repeat(auto-fit, calc((100% - 60px) / 3));
	margin:18px 0 0;
}
.works_thumb{margin-bottom:8px;}
.works_thumb::after{display:none;}

.works_link{line-height:1.5;}
.works_link h4{
	margin:6px 0 0;
	font-size:1.6rem;
	letter-spacing:1.6px;
	display:inline;
}
.works_link h4::after{
	content:url(/img/common/arrow_r_red.svg);
	margin-left:5px;
	position:relative;
	bottom:6px;
}
.works_list_info{margin-top:4px;}
.works_list_info span{
	margin-right:10px;
	margin-top:3px;
	padding-right:10px;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.7rem;
}
.works_list_info span::after{
	height:10px;
	top:calc(50% - 5px);
}
.bor_box{padding:30px 28px;}
.social_health{font-size:1.7rem;letter-spacing:1.7px;}
.social_link_item{padding:24px 0;}
.social_link_txt{width:calc(100% - 250px);}
.social_link_img{width:230px;}
}

@media screen and (max-width:767px){
.sustainability .page_title{
	padding:40px 20px 40px;
	height:190px;
}
.sustainability .content_area{padding:0 20px;}
.sustainability .page_title{margin-bottom:40px;}
.sustainability .content_area{padding-bottom:7px;}
.sustainability_top_content{display:block;}
.sustainability_top_txt{width:auto;}
.sustainability_top_txt h2{
	margin:0 0 22px;
	font-size:2.6rem;
	letter-spacing:2.6px;
}
.sustainability_top_txt p{line-height:2.7rem;}
.sustainability_top_link{width:auto;padding-top:0;margin-top:26px;}
.sustainability_top_link p{
	font-size:1.7rem;
	letter-spacing:1.7px;
}
.s_list{
	display:block;
	padding:0;
	margin-bottom:70px;
}
.s_item{width:auto;margin-bottom:20px !important;border:none !important;}
.s_title{
	padding:5px 50px 6px 20px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	background:url(/img/common/arrow_r_red.svg) right 20px center no-repeat;
}
.s_link img{border-radius:0;}

/* sdgs */
.sus_catchcopy{
	margin:36px 0 30px;
	font-size:1.7rem;
	letter-spacing:1.7px;
}
.sdgs_item{padding-left:0;}
.sdgs_h{position:relative;margin-bottom:18px;min-height:120px;}
.sdgs_h h3{margin-top:60px;padding:20px 0 0 120px;}
.sdgs_icon{width:100px;top:20px;}
.sdgs_content{display:block;}
.sdgs_txt{width:auto;}
.sdgs_txt p,.sdgs_bg p{line-height:2.7rem;}
.sdgs_img{width:auto;}
.sdgs_img img{width:auto;max-width:100%;margin:20px auto 0;}
.sdgs_bg{padding:43px 20px;}
.sdgs_bg .link_btn{text-align:center;margin-top:12px;}
.sdgs_bg h3{margin-bottom:11px;}

/* 環境への取り組み */
.env_catchcopy{font-size:1.7rem;letter-spacing:1.7px;}
.works_list{
	grid-gap:20px 11px;
	grid-template-columns:repeat(auto-fit, calc((100% - 22px) / 3));
	margin:18px 0 0;
}
.works_link{line-height:1.5;}
.works_link h4{
	margin:6px 0 0;
	font-size:1.4rem;
	letter-spacing:1.4px;
	display:inline;
}
.works_link h4::after{
	content:url(/img/common/arrow_r_red.svg);
	margin-left:5px;
	position:relative;
	bottom:6px;
}
.works_thumb{margin-bottom:8px;}
.works_thumb::after{display:none;}

.works_list_info{margin-top:4px;}
.works_list_info span{
	margin-right:10px;
	margin-top:3px;
	padding-right:10px;
	font-size:1.1rem;
	letter-spacing:1.1px;
	line-height:1.7rem;
}
.works_list_info span::after{
	height:10px;
	top:calc(50% - 5px);
}

/* 社会への取り組み */
.bor_box{padding:13px 20px 11px;}
.social_health{
	font-size:1.5rem;
	letter-spacing:1.5px;
}
.social_health li{margin-bottom:0 !important;line-height:3.2rem;}

}

@media screen and (max-width:599px){
.env_txt_box{
	flex-direction:column-reverse;
	margin-bottom:30px;
}
.env_txt{width:auto;}
.env_img{width:auto;margin-bottom:20px;}
.tech_list{
	display:grid;
	grid-template-columns:repeat(auto-fit, 48.181%);
	grid-gap:0 3.636%;
}
.tech_list .tech_item{margin-bottom:15px !important;}
.works_list{
	grid-gap:20px 11px;
	grid-template-columns:repeat(auto-fit, calc((100% - 11px) / 2));
}

.social_link_item{
	flex-direction:column-reverse;
	padding:20px 0;
	margin:0 !important;
}
.social_link_txt{width:auto;}
.social_link_img{width:auto;margin-bottom:20px;}
}