@charset "utf-8";

/*-------------------------------
	キービジュアル
-------------------------------*/

.Keyvisual__image{
	background-image: url(../images/sustainability/img_keyvisual.jpg);
	background-image: image-set(url(../images/sustainability/img_keyvisual.jpg) 1x, url(../images/sustainability/img_keyvisual@2x.jpg) 2x);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

}



/*-------------------------------
	サステナビリティ／CSR
-------------------------------*/

.Sustainability__title{
	margin-bottom: 14rem;
}

/*----- ベースレイアウト */
.Sustainability-block:not(:last-child){
	margin-bottom: 7rem;
}
.Sustainability-block__text{
	margin-bottom: 3.2rem;
}
.Sustainability-block__image-wrap{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.Sustainability-block__image{
	width: calc((100% - 4rem) / 2);
}
.Sustainability-block__image:not(:nth-last-of-type(-n+2)){
	margin-bottom: 4rem;
}
.Sustainability-block__image img{
	width: 100%;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Sustainability-block__image{
		width: calc((100% - 2.5rem) / 2);
	}
	.Sustainability-block__image:not(:nth-last-of-type(-n+2)){
		margin-bottom: 2.5rem;
	}

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

	.Sustainability__title{
		margin-bottom: 17.5rem;
	}
	
	/*----- ベースレイアウト */
	.Sustainability-block:not(:last-child){
		margin-bottom: 8rem;
	}
	.Sustainability-block__text{
		margin-bottom: 2.5rem;
	}
	.Sustainability-block__image-wrap{
		flex-direction: column;
	}
	.Sustainability-block__image{
		width: 100%;
	}
	.Sustainability-block__image:not(:last-child){
		margin-bottom: 2.5rem;
	}

}



/*-------------------------------
	環境への取り組み
-------------------------------*/

.Environment__subtitle{
	margin-bottom: 1.5rem;
}
.Environment__text{
	margin-bottom: 4.2rem;
}
.Environment-block{
	width: 100%;
	margin-bottom: 4.2rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.Environment-block__content{
	width: calc(100% - 42rem);
	padding-right: 4.2rem;
}
.Environment-block__list{
	margin-bottom: 2rem;
	counter-reset: number 0;
}
.Environment-block__list__item{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.Environment-block__list__item > span{
	width: calc(100% - 2rem);
	font-size: 1.6rem;
	font-weight: 700;
	line-height: calc(3 / 1.6);
}
.Environment-block__list__item:not(:last-child){
	margin-bottom: 1.5rem;
}
.Environment-block__list__item::before{
	counter-increment: number 1;
	content: counter(number) ".";
	width: 2rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: calc(3 / 1.6);
}
.Environment-block__list__item span{
	display: block;
}
.Environment-block__child{
	padding-left: 1rem;
	margin-top: .8rem;
	counter-reset: number 0;
}
.Environment-block__child__item{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.Environment-block__child__item::before{
	width: 4rem;
	counter-increment: number 1;
	content: "（" counter(number) "）";
}
.Environment-block__child__item span{
	width: calc(100% - 4rem);
	display: block;
}
.Environment-block-graph{
	width: 42rem;
	padding: 3.8rem 3.6rem;
	border: 1px solid #057b69;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Environment-block-graph__left{
	width: 13.5rem;
	text-align: center;
}
.Environment-block-graph__image img{
	width: 9.7rem;
	margin-bottom: 1.6rem;
}
.Environment-block-graph__caption{
	font-size: 2.3rem;
	margin-bottom: .8rem;
	font-weight: 700;
	line-height: 1;
	color: #057b69;
}
.Environment-block-graph__text{
	font-size: 1.1rem;
	letter-spacing: 0;
	line-height: calc(1.9 / 1.1);
	text-align: center;
}
.Environment-block-graph__list{
	width: calc(100% - 13.5rem);
	padding-left: 2.5rem;
}
.Environment-block-graph__list__item:not(:last-child){
	margin-bottom: 1rem;
}
.Environment-block-graph__list__item__en{
	font-size: 1.3rem;
	margin-bottom: .8rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	display: block;
	color: #50a396;
}
.Environment-block-graph__list__item__jp{
	font-size: 1.1rem;
	letter-spacing: 0;
	line-height: 1;
	display: block;
}
.Environment-eco{
	border: 1px solid var(--graycolor);
	width: 100%;
	padding: 3.6rem 7rem 3.8rem 4rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Environment-eco__content{
	width: calc(100% - 18.6rem);
	padding-right: 6rem;
}
.Environment-eco__title{
	font-size: 2rem;
	margin-bottom: .8rem;
	font-weight: 700;
	line-height: calc(3 / 2);
}
.Environment-eco__text{
	margin-bottom: 3rem;
}
.Environment-eco__image{
	width: 18.6rem;
}
.Environment-eco__image img{
	width: 100%;
}
.Environment-eco__button{
	width: 20rem;
	height: 5rem;
}
.Environment-eco__button a{
	padding-right: 2.5rem;
}
.Environment-eco__button a::before,
.Environment-eco__button a::after{
	width: 1.2rem;
	height: .9rem;
	right: 1.6rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Environment-block{
		flex-direction: column;
	}
	.Environment-block__content{
		width: 100%;
		padding-right: 0;
	}
	.Environment-block-graph{
		margin-top: 2.5rem;
		margin-left: auto;
		margin-right: auto;
	}
	.Environment-eco{
		padding-right: 4rem;
	}
	.Environment-eco__content{
		width: calc(100% - 17.5rem);
		padding-right: 5rem;
	}
	.Environment-eco__image{
		width: 17.5rem;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Environment-block-graph{
		width: 100%;
	}

	.Environment-eco{
		padding-left: 3.5rem;
		padding-right: 3.5rem;
	}
	.Environment-eco__content{
		width: calc(100% - 12.5rem);
		padding-right: 3.5rem;
	}
	.Environment-eco__image{
		width: 12.5rem;
	}

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

	.Environment__subtitle{
		margin-bottom: 2rem;
	}
	.Environment__text{
		margin-bottom: 5rem;
	}
	.Environment-block{
		margin-bottom: 3rem;
		flex-direction: column;
	}
	.Environment-block__content{
		width: 100%;
		padding-right: 0;
		margin-bottom: 6rem;
	}
	.Environment-block__list{
		margin-bottom: 3rem;
	}
	.Environment-block__list__item > span{
		width: calc(100% - 3.5rem);
		font-size: 2.8rem;
		line-height: calc(5.4 / 2.8);
	}
	.Environment-block__list__item:not(:last-child){
		margin-bottom: 2rem;
	}
	.Environment-block__list__item::before{
		width: 3.5rem;
		font-size: 2.8rem;
		line-height: calc(5.4 / 2.8);
	}
	.Environment-block__child{
		padding-left: 2rem;
		margin-top: 1.5rem;
	}
	.Environment-block__child__item::before{
		width: 7.5rem;
	}
	.Environment-block__child__item span{
		width: calc(100% - 7.5rem);
	}
	.Environment-block-graph{
		width: 100%;
		padding: 4.5rem 4rem;
		border: 2px solid #057b69;
	}
	.Environment-block-graph__left{
		width: 24.5rem;
	}
	.Environment-block-graph__image img{
		width: 16.5rem;
		margin-bottom: 2.5rem;
	}
	.Environment-block-graph__caption{
		font-size: 3.8rem;
		margin-bottom: 1.2rem;
	}
	.Environment-block-graph__text{
		font-size: 2rem;
		line-height: calc(3.8 / 2);
	}
	.Environment-block-graph__list{
		width: calc(100% - 24.5rem);
		padding-left: 1.5rem;
	}
	.Environment-block-graph__list__item:not(:last-child){
		margin-bottom: 2.2rem;
	}
	.Environment-block-graph__list__item__en{
		font-size: 2.4rem;
		margin-bottom: 1rem;
	}
	.Environment-block-graph__list__item__jp{
		font-size: 2rem;
	}
	.Environment-eco{
		border: 2px solid var(--graycolor);
		padding: 5.5rem 4.8rem;
		flex-direction: column-reverse;
	}
	.Environment-eco__content{
		width: 100%;
		padding-right: 0;
	}
	.Environment-eco__title{
		font-size: 3.2rem;
		margin-bottom: 1.5rem;
		line-height: calc(5.2 / 3.2);
		letter-spacing: 0;
		text-align: center;
	}
	.Environment-eco__text{
		margin-bottom: 5rem;
	}
	.Environment-eco__image{
		width: 23.2rem;
		margin-bottom: 5.2rem;
	}
	.Environment-eco__button{
		width: 40rem;
		height: 10rem;
		margin-left: auto;
		margin-right: auto;
	}
	.Environment-eco__button a{
		padding-right: 5rem;
		font-size: 2.8rem;
	}
	.Environment-eco__button a::before,
	.Environment-eco__button a::after{
		width: 2.2rem;
		height: 1.6rem;
		right: 4.8rem;
	}

}



/*-------------------------------
	私たちのSDGs
-------------------------------*/

.Sdgs__inner{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
}
.Sdgs__subtitle{
	margin-bottom: 1.5rem;
}
.Sdgs__text{
	margin-bottom: 4rem;
}
.Sdgs__image{
	width: 100%;
	max-width: 32rem;
	margin-bottom: 3.5rem;
	line-height: 1;
	align-self: flex-end;
}
.Sdgs__image img{
	width: 100%;
}
.Sdgs-block{
	border-bottom: 1px solid var(--graycolor);
	padding-top: 4rem;
	padding-bottom: 4rem;
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.Sdgs-block:first-child{
	border-top: 1px solid var(--graycolor);
}
.Sdgs-block__content{
	width: calc(100% - 32rem);
	padding-right: 6rem;
}
.Sdgs-block__title{
	width: 100%;
	margin-bottom: 2.8rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Sdgs-block__mark{
	width: 10rem;
}
.Sdgs-block__mark img{
	width: 100%;
}
.Sdgs-block__title span{
	width: calc(100% - 10rem);
	font-size: 2rem;
	padding-left: 3rem;
	font-weight: 700;
}
.Sdgs-block__image{
	width: 32rem;
}
.Sdgs-block__image img{
	width: 100%;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Sdgs-block__content{
		width: calc(100% - 25rem);
		padding-right: 3.5rem;
	}
	.Sdgs-block__image{
		width: 25rem;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Sdgs-block__content{
		width: calc(100% - 20rem);
	}
	.Sdgs-block__mark{
		width: 7.5rem;
	}
	.Sdgs-block__title span{
		width: calc(100% - 7.5rem);
		padding-left: 2.5rem;
	}
	.Sdgs-block__image{
		width: 20rem;
	}

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

	.Sdgs__subtitle{
		margin-bottom: 1.5rem;
	}
	.Sdgs__text{
		margin-bottom: 4.5rem;
	}
	.Sdgs__image{
		max-width: 40rem;
		margin-bottom: 4.8rem;
		align-self: center;
	}
	.Sdgs-block{
		border-bottom: 2px solid var(--graycolor);
		padding-top: 5rem;
		padding-bottom: 6.2rem;
		flex-direction: column;
	}
	.Sdgs-block:first-child{
		border-top: 2px solid var(--graycolor);
	}
	.Sdgs-block__content{
		width: 100%;
		padding-right: 0;
		margin-bottom: 5.5rem;
	}
	.Sdgs-block__title{
		margin-bottom: 3.2rem;
	}
	.Sdgs-block__mark{
		width: 14rem;
	}
	.Sdgs-block__title span{
		width: calc(100% - 14rem);
		font-size: 3.2rem;
		padding-left: 3.5rem;
	}
	.Sdgs-block__image{
		width: 40rem;
		margin-left: auto;
		margin-right: auto;
	}

}



/*-------------------------------
	社会貢献活動
-------------------------------*/

.Social__subtitle{
	margin-bottom: 3.2rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

}



/*-------------------------------
	安全衛生管理
-------------------------------*/

.Hygiene__subtitle{
	margin-bottom: 3.2rem;
}
.Hygiene-block{
	width: 100%;
	margin-bottom: 4rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.Hygiene-block__content{
	width: calc(100% - 32rem);
	padding-right: 5.4rem;
}
.Hygiene-block__title{
	font-size: 2rem;
	margin-bottom: .5rem;
	font-weight: 700;
}
.Hygiene-block__button{
	width: 32rem;
	height: 7rem;
}
.Hygiene-block__button a{
	font-size: 1.6rem;
	padding-right: 5rem;
}
.Hygiene-block__button a::before,
.Hygiene-block__button a::after{
	width: 1.2rem;
	height: 1.3rem;
	right: 3rem;
}
.Hygiene-block__button a::before{
	background-image: url(../images/common/icon_download--white.svg);
}
.Hygiene-block__button a::after{
	background-image: url(../images/common/icon_download.svg);
}
.Hygiene-block__button a:hover::after{
	animation: C-hover-animation-y .3s forwards .15s;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Hygiene-block{
		flex-direction: column;
		align-items: center;
	}
	.Hygiene-block__content{
		width: 100%;
		padding-right: 0;
	}
	.Hygiene-block__text{
		margin-bottom: 2.5rem;
	}

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

	.Hygiene__subtitle{
		margin-bottom: 3rem;
	}
	.Hygiene-block{
		margin-bottom: 8rem;
		flex-direction: column;
		align-items: center;
	}
	.Hygiene-block__content{
		width: 100%;
		padding-right: 0;
		margin-bottom: 4.5rem;
	}
	.Hygiene-block__title{
		font-size: 3rem;
	}
	.Hygiene-block__button{
		width: 56rem;
		height: 14rem;
	}
	.Hygiene-block__button a{
		font-size: 3.2rem;
		padding-right: 5.5rem;
	}
	.Hygiene-block__button a::before,
	.Hygiene-block__button a::after{
		width: 3rem;
		height: 3.4rem;
		right: 5.5rem;
	}

}



/*-------------------------------
	コミュニケーション
-------------------------------*/

.Communication__subtitle{
	margin-bottom: 3.2rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.Communication__subtitle{
		margin-bottom: 3rem;
	}

}