@charset "UTF-8";
section:after {display: none;}
.content_v2 {max-width: 1200px;margin: 0 auto;}

.top {background: url('../img/sustainability/sustainability_mv.jpg') center/cover no-repeat;height: 356px;width: 100%;margin-bottom:50px;position: relative;}
.top img {margin-bottom: 20px;}
.top .content {display: flex;justify-content: space-between;}
.top .text{color:#fff;padding: 20px;width: 1200px;margin: 0 auto;font-size: 2.4rem;}
.top .text .msg{margin: 100px auto;text-align: center;}
.button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-bottom: 70px;
}
.button .item {
	color: #000;
	font-size: 19px;
	font-weight: bold;
	width: 360px;
	height: 103px;
	text-align: center;
	line-height: 120px;
	position: relative;
	padding-left: 50px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-decoration: none;
}
.button .item:hover {
	opacity: .4;
}
.button .item::after {
	content: '';
	width: 10px;
	height: 10px;
	border-top:2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform:rotate(45deg);
	        transform:rotate(45deg);
	position: absolute;
	top: 52%;
	right: 20px;
}
.button .item:first-child { background: url('../img/sustainability/top_btn1.png') center/100%	no-repeat;}
.button .item:nth-child(2) {background: url('../img/sustainability/top_btn2.png') center/100%	no-repeat;}
.button .item:nth-child(3) {background: url('../img/sustainability/top_btn3.png') center/100%	no-repeat;}

.news {
	padding: 0 60px;
	margin-bottom: 45px;
}
.news .title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding-bottom: 15px;
	margin-bottom: 30px;
	border-bottom: 1px solid #333;
}
.news .title h2 {
	font-size: 44px;
	font-weight: bold;
}
.news .title h2 span {
	font-size: 16px;
	margin-left: 20px;
}
.news .title a {
	color: #333;
	font-size: 14px;
	text-decoration: none;
	position: relative;
	padding-right: 20px;
}
.news .title a::after {
	content: '';
	width: 6px;
	height: 6px;
	border-right:2px solid #d7092f;
	border-bottom: 2px solid #d7092f;
	-webkit-transform:translateY(-50%) rotate(-45deg);
	        transform:translateY(-50%) rotate(-45deg);
	position: absolute;
	top: 50%;
	right: 5px;
}
.news ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 15px;
}
.news .date {
	color: #d7092f;
	font-size: 14px;
	font-weight: bold;
	width: 110px;
}
.news .link {
	font-size: 14px;
}
.stakeholders {
	background: url('../img/sustainability/to_stakeholders2.jpg') center no-repeat;
	height: 500px;
	width: 100%;
	margin-bottom: 80px;
}
.csr .title {
	font-size: 30px;
	text-align: center;
	margin-bottom: 50px;
}
.csr .content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-bottom: 90px;
}
.csr .content .item{
	width: 367px;
	height: 358px;
	border-radius: 6px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.csr .item:first-child {
	background: url('../img/sustainability/philosophy_bg.jpg');
}
.csr .item:nth-child(2) {
	background: url('../img/sustainability/history_bg.jpg');
}
.csr .item:nth-child(3) {
	background: url('../img/sustainability/evaluation_bg.jpg');
}
.csr .content .item .mask {
	color: #333;
	font-size: 18px;
	background: rgba(255, 255, 255, 0.8);
	width: 100%;
	height: 66px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
	-webkit-transition-duration: .3s;
	        transition-duration: .3s;
}
.csr .content .item .sub-title::after {
	content: '';
	width: 27px;
	height: 8px;
	border-right: 3px solid #d7092f;
	border-bottom: 2px solid #d7092f;
	-webkit-transform: skew(45deg);
	        transform: skew(45deg);
	position: absolute;
	bottom: 15px;
	right: 25px;
}
#str_sec.lazyloaded {
	background: url('../img/sustainability/strategy_bg.jpg') center/cover no-repeat;
	height: 564px;
	width: 100%;
	padding: 82px 80px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	        flex-direction: column;
	-webkit-box-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	        align-items: center;
	margin-bottom: 90px;
}
#str_sec.strategy .title {font-size: 30px;margin-top:12px;}
#str_sec.strategy .message {font-size: 21px; margin:41px;}
#str_sec.strategy .items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin: auto 0 0;
}
#str_sec.strategy .item {
	text-decoration: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	/* background: rgba(0, 0, 0, .6); */
	margin: 0 20px;
	width: 458px;
	/* height: 95px; */
	position: relative;
}
#str_sec.strategy .item::before {content: '';width: 100%;height: 100%;background: #fff;position: absolute;top: 0;left: 0;opacity: 0;}
#str_sec.strategy .item:hover::before {opacity: .2;}
#str_sec.strategy .item::after {
	content: '';width: 27px;height: 8px;border-right: 3px solid #fff;border-bottom: 2px solid #fff;
	-webkit-transform: skew(45deg);
	        transform: skew(45deg);
	position: absolute;bottom: 15px;right: 20px;
}
#str_sec.strategy .item .text {display: flex;align-items: center;justify-content: center;background: rgba(0, 0, 0, .6);text-align: center;height: 95px;width: 100%;box-sizing: border-box;}
#str_sec.strategy .text p {color: #fff;font-size: 19px;font-weight: bold;padding: 0;}
#str_sec.strategy .text p span {font-size: 14px;}
.activities {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-bottom: 120px;
}
.activities .left {
	margin-right: 80px;
}
.activities .right {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.activities .item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.activities .item img {
	margin-bottom: 15px;
}
.activities .item a {
	color: #333;
	font-size: 22px;
	font-weight: bold;
	text-decoration: none;
	position: relative;
}
.activities .item a::after {
	content: '';
	width: 40px;
	height: 10px;
	border-right: 3px solid #d7092f;
	border-bottom: 2px solid #d7092f;
	-webkit-transform: skew(45deg);
	        transform: skew(45deg);
	position: absolute;
	bottom: 11px;
	right: -55px;
}
.contents {
	background: url('../img/sustainability/content_bg.png') center/cover no-repeat;
	height: 430px;
/:	max-width: 1300px;*/
	width:100%;
	margin: 0 auto;
	padding-top: 20px;
	box-sizing: border-box;
}
.contents .title {
	font-size: 30px;
	text-align: center;
	margin-bottom: 80px;
}
.contents .items {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width:1080px;
	gap:20px;
	margin:0 auto;
}
.contents .items a {
	text-decoration: none;
}

.contents .items a .mask {
	position: relative;
	margin-bottom: 10px;
}
.contents .items a .mask::before {
	content: '';
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
}
.contents .items a:hover .mask::before {
	opacity: .3;
}
.contents .items a p{
	color: #000;
	font-size: 14px;
	margin-left: 15px;
	position: relative;
}
.contents .items a p::before{
	content: '';
	width: 8px;
	height: 8px;
	border-top: 1px solid #c7000d;
	border-right: 1px solid #c7000d;
	transform: rotate(45deg);
	position: absolute;
	top: 8px;
	left: -15px;
}
.contents .items a img {width: 255px;}


#bottom_v2{ }
#bottom_v2 a{ color:inherit; }


.button_human {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	margin-bottom: 70px;
}
.button_human .item {
	color: #000;
	font-size: 22px;
	font-weight: bold;
	letter-spacing:4px;
	width: 1200px;
	height:auto;
	text-align: center;
	line-height: 120px;
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-decoration: none;
	background: url('../img/sustainability/btn_human.jpg') center/100%	no-repeat;
}
.button_human .item:hover {
	opacity: .4;
}
.button_human .item::after {
	content: '';
	width: 10px;
	height: 10px;
	border-top:2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform:rotate(45deg);
	        transform:rotate(45deg);
	position: absolute;
	top: 45%;
	right: 500px;
}

.blog{margin-bottom: 70px;}
.blog img{width:100%;}

/* PC */
@media print, screen and (min-width:768px){
	#breadcrumbs{width: 1200px;margin: 3px auto;}
	#bottom_v2 .logo{ padding:28px 0 24px; }
	#bottom_v2 .logo a{display:block;height:58px;background:url("/common/footer/logo.png") no-repeat center;margin:0 auto;font-size:0; line-height:0;}
	@-webkit-keyframes swing-horizontal {
	0% {-webkit-transform:skew(45deg) translateX(0px);transform:skew(45deg) translateX(0px)}
	100% {-webkit-transform:skew(45deg) translateX(10px);transform:skew(45deg) translateX(10px);}
}
@keyframes swing-horizontal {
	0% {-webkit-transform:skew(45deg) translateX(0px);transform:skew(45deg) translateX(0px)}
	100% {-webkit-transform:skew(45deg) translateX(10px);transform:skew(45deg) translateX(10px);}
}
	.csr .content .item:hover .mask {height: 100%;-webkit-transition-duration: .5s;transition-duration: .5s;}
	.csr .content .item:hover .sub-title::after {
		-webkit-animation: swing-horizontal 1s ease-in-out infinite alternate;
		animation: swing-horizontal 1s ease-in-out infinite alternate;
	}
}

/* SP */
@media screen and (max-width:767px){
	#bottom_v2 .logo{ padding:20px 0; text-align:center; }
	#bottom_v2 .logo a{display:block;height:44px;background:url("/common/footer/logo.png") no-repeat center/190px auto;font-size:0; line-height:0; margin:0 auto;}
	.top {background: url('../img/sustainability/sustainability_mv_sp.jpg') center/cover no-repeat;height:calc(100vw* 334 / 600);;width: 100%;margin-bottom:30px;}
	.top img {width: 100%;height:auto;}
	.top .text{width: auto;font-size: 2.2rem;}
	.top .text .msg{margin: 25px auto;text-align: left;}
	.button {flex-direction: column;margin-bottom: 40px;}
	.button .item {margin: 0 auto;width: 80%;font-size: 17px;padding-left: 40px;}
	.button .item::after {width: 8px;height: 8px;top: 53%;}
	.news {width: 80%;margin: 0 auto;padding: 0;}
	.news .title {margin-bottom: 20px;}
	.news .title h2 {font-size: 27px;font-weight: normal;}
	.news ul li {flex-direction: column;margin-bottom: 20px;}
	.news ul li:last-of-type {margin-bottom: 50px;}
	.news .date {font-size: 15px;margin-bottom: 10px;}
	.news .link {font-size: 15px;}
	.stakeholders {background: none;height: auto;margin-bottom: 35px;}
	.stakeholders img {width: 100%;}
	.csr .title {font-size: 21px;margin-bottom: 20px;}
	.csr .content {flex-direction: column;align-items: center;margin-bottom: 35px;}
	.csr .content .item {width: 285px;height: 278px;background-size: cover;margin-bottom: 20px;}
	.csr .content .item .mask {font-size: 15px;}
	.csr .content .item .sub-title::after {width: 20px;height: 6px;bottom: 12px;right: 20px;}
	#str_sec.lazyloaded {background: url('../img/sustainability/strategy_bg_sp.jpg') no-repeat top/cover;padding: 30px 0 20px;height: auto;margin-bottom: 35px;}
	#str_sec.strategy .title {font-size: 21px;margin-bottom:15px;margin-top:35px;}
	#str_sec.strategy .message {font-size: 19px; margin:41px;}
	#str_sec.strategy .items {flex-direction: column;align-items: center;width: 100%;}
	#str_sec.strategy .item {width: 80%;margin-bottom: 20px;}
	#str_sec.strategy .item img {width: 100%;}
	#str_sec.strategy .item .text {height: 65px;}
	#str_sec.strategy .item .text p {font-size: 15px;}
	#str_sec.strategy .item::after {width: 20px;height: 6px;bottom: 10px;right: 15px;}
	.contents {background: url('../img/sustainability/content_bg_sp.png') top/cover no-repeat;height:auto;}
	.contents .title {margin-bottom: 25px;}
	.contents .items {flex-wrap: wrap;width:100%;gap:0;}
	.contents .items a {width: 45%;margin: 0 7px 20px;}
	.contents .items a .mask {margin-bottom: 5px;}
	.contents .items a p {font-size: 12px;margin-left: 12px;}
	.contents .items a p::before{top:5px;}
	.contents .items a img {width:100%;}
	.button_human {margin-bottom: 20px;}
	.button_human .item {                                                                                                                                                                                                                                                                                                                                                                                                             
		margin: 0 auto;
		width: 80%;
		font-size: 17px;
		background: url('../img/sustainability/btn_human_sp.jpg') center/100%	no-repeat;
	}
	.button_human .item::after {width: 8px;height: 8px;top:45%;right: 20px;}
}

