@charset "utf-8";

/* ------------------------------------------------------------ common */

#sustainability h3 { 
	text-align: center; 
	font-size: 32px; 
	letter-spacing: 5px;
}
#sustainability h3 span { color: #3588df; font-family: 'Lato', sans-serif; display: block; font-size: 20px; font-weight: 700; line-height: 2.5em;}

#sustainability .inner2{
	width: 780px;
	margin: 0 auto;
}

#sustainability p{
	font-size: 16px;
	line-height: 34px;
	letter-spacing: 0.13em;
}
.btn_back{
	margin: 77px auto 100px;
}
.botbox { background: url(../images/sustainability/footer_img.jpg) center center no-repeat; background-size: cover; height: 400px; }
footer { border-top: none; }
/* ------------------------------------------------------------ fv */

#fv { background: url(../images/sustainability/fv.jpg) center top no-repeat; background-size: cover; padding: 300px 0 250px; }
#fv .fv_text { font-size: 18px; letter-spacing: 5px; }
#fv .fv_text span { font-size: 68px; color: #3588df; display: block; font-family: 'Lato', sans-serif; line-height: 130%; font-weight: 700; letter-spacing: 14px;}



/* ------------------------------------------------------------ SDGs実現に向けた取り組み */

#first_efforts { padding: 75px 0 120px; }

#first_efforts .realization img{
	padding: 75px 0 60px ;
	margin: 0 auto;
}

#first_efforts .realization p{
	margin-bottom: 90px;
}

#first_efforts .socialResponsibility h3{
	margin-bottom: 20px;
}
#first_efforts .socialResponsibility p{
	margin-bottom: 60px;
}

#first_efforts .socialResponsibility .srImage{
	display: flex;
	justify-content: space-between;
}


/* ------------------------------------------------------------ 統合方針 */

#integrationPolicy {
	background-color: #eeeeee;
	padding-top: 100px;
	padding-bottom: 170px;
	margin-bottom: 110px;
}

#integrationPolicy .bgWhite{
	background-color: #fff;
}

#integrationPolicy .basicPhilosophy{
	width: 1000px;
	margin: 0 auto;
	border-bottom: 1px solid #e1e1e1;
}

#integrationPolicy h4 { text-align: center; font-size: 24px; letter-spacing: 5px; padding: 75px 0 35px;}
#integrationPolicy h4 span { color: #3588df; font-family: 'Lato', sans-serif; display: block; font-size: 14px; font-weight: bold; line-height: 25px;}
#integrationPolicy .bsCover {
	width: 880px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	margin-bottom: 70px;

}
#integrationPolicy .bsCover .bsLeft{
	width: 470px;
}

#integrationPolicy .bsCover h5{
	font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif;
	font-size: 32px;
	line-height: 60px;
	letter-spacing: 0.16em;
	margin-bottom: 10px;
}

#integrationPolicy .bsCover p{
	line-height: 40px;
}


#integrationPolicy .basicPolicy{
	padding-bottom: 80px;
}

#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap{
	display: flex;
	align-items: center;
	padding: 34px 0;
}

#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap:not(:last-child){
	border-bottom: 1px solid #e1e1e1;
}


#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap .policyLeft{
	width: 120px;
	color: #3588df; font-family: 'Lato', sans-serif; 
	display: block; 
	font-size: 40px; 
	font-weight: bold; 
	text-align: center;
}

#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap .policyRight p{
	font-size: 18px;
	line-height: 34px;
	letter-spacing: 0.05em;
}

#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap .policyRight p.longheight{
	padding-bottom: 15px;
}


/* ------------------------------------------------------------ SDGsへの取り組み */

#efforts h3{
	padding-bottom: 53px;
}
#efforts p{
	padding-bottom: 70px;
}

#efforts .boxList{
	text-align: center;
	margin-bottom: 125px;
}

#efforts .boxList img:not(:nth-child(4n)){
	margin-right: 15px;
}
#efforts .boxList img:nth-child(-n+4){
	margin-bottom: 15px;
}


#efforts .boxDetailWrap{
	display: flex;
	padding: 30px 0;
}

#efforts .boxDetailWrap:not(:last-child){
	border-bottom: 1px solid #e1e1e1;
}

#efforts .boxDetailWrap .boxDetailLeft{
	margin-right: 50px;
}

#efforts .boxDetailWrap .boxDetailRight h4{
	font-size: 24px;
	line-height: 40px;
}

#efforts .boxDetailWrap .boxDetailRight .boxDetailRightEfforts{
	margin-top: 10px;
}
#efforts .boxDetailWrap .boxDetailRight span{
	display: inline-block;
	color: #3588df;
	border: 1px solid #3588df;
	padding: 2px 35px;
	border-radius: 20px;

}
#efforts .boxDetailWrap .boxDetailRight ol{
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
	margin: 0;
}
#efforts .boxDetailWrap .boxDetailRight li{
	font-size: 16px;
	padding-left: 2em;
	letter-spacing: 0.05em;
	position: relative;
	margin: 10px auto;
}
#efforts .boxDetailWrap .boxDetailRight li::before{
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #3588df;
	border: 1px solid;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 22px;
	width: 22px;
	color: #ffffff;
	font-size: 85%;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
}






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

/* ------------------------------------------------------------ common */
#sustainability {  }
#sustainability h3 { font-size: 20px; line-height: 170%;}
#sustainability h3 span{
	line-height: 120%;
}

#sustainability p{
	font-size: 14px;
	line-height: 170%;
	letter-spacing: 0.13em;
}

#sustainability .inner2{
	width: 94%;
	margin: 0 auto;
}
#sustainability .inner2 *{
	max-width: 100%;
}


.botbox { background: url(../images/sustainability/footer_img.jpg) center center no-repeat; background-size: cover; height: 30vw; }
/* ------------------------------------------------------------ fv */

#fv { 
	background: url(../images/sustainability/fv.jpg) center center no-repeat; 
	padding: 100px 0 50px; 
	background-size: cover;
	text-align: center;
}
#fv .fv_text { font-size: calc(100vw / 30);  }
#fv .fv_text span { font-size: calc(100vw / 20); }


/* ------------------------------------------------------------ SDGs実現に向けた取り組み */
#first_efforts{
	padding: 75px 0 40px;
}

#first_efforts .realization img {
	padding: 45px 0 20px;
	width: 90%;
	height: auto;
	display: block;
	margin: 0 auto;
}

#first_efforts .realization p {
	margin: 0 0 50px;
}

#first_efforts .socialResponsibility .srImage{
	flex-direction: column;
}
#first_efforts .socialResponsibility .srImage img{
	display: block;
	margin: 0 auto 3%;
	max-width: 370px;
	height: auto;
	width: 100%;
}

#first_efforts .socialResponsibility p {
	margin: 0 0 30px;
}

/* ------------------------------------------------------------ 統合方針 */

#integrationPolicy h3{
	padding: 70px 0 35px;
}

#integrationPolicy{
	padding: 50px 0 60px;
	margin: 0 0 50px;
}

#integrationPolicy h4{
	padding: 40px 0 30px;
}

#integrationPolicy .basicPhilosophy{
	width: 94%;
	margin: 0 auto;
	padding-bottom: 60px;
}

#integrationPolicy .bsCover{
	width: 94%;
	margin: 0 auto;
	flex-direction: column;
}

#integrationPolicy .bsCover .bsLeft {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 20px;
}
#integrationPolicy .bsCover img {
	width: 100%;
	height: auto;
}
#integrationPolicy .bsCover h5 {
	font-size: 24px;
	text-align: center;
	line-height: 1.6em;
	margin-bottom: 20px;
}
#integrationPolicy .bsCover p {
	line-height: 170%;
}

#integrationPolicy .basicPolicy {
	padding-bottom: 15px;
}
#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap{
	align-items: flex-start;
}

#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap:first-child {
	padding: 0 0 30px;
}
#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap:not(:first-child) {
	padding: 30px 0;
}

#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap .policyLeft{
	width: auto;
	margin: 0 0.8em;
	font-size: 32px;
}

#integrationPolicy .basicPolicy .policyDetail .policyDetailWrap .policyRight p{
	font-size: 14px;
	line-height: 170%;
}


/* ------------------------------------------------------------ SDGsへの取り組み */
#efforts h3{
	padding-bottom: 30px;
}

#efforts p {
	padding: 0 0 30px;
}

#efforts .boxList {
	text-align: center;
	margin-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#efforts .boxList img{
	width: 70px;
	height: auto;
}

/* #efforts .boxList img:not(:nth-child(4n)){
	margin-right: 0;
}
#efforts .boxList img:nth-child(-n+4){
	margin-bottom: 0;
} */

#efforts .boxDetailWrap {

}

#efforts .boxDetailWrap .boxDetailLeft{
	margin-right: 0;
	padding: 0 20px 0 0;
	width: 60px;
}
#efforts .boxDetailWrap .boxDetailLeft img{

	
}

#efforts .boxDetailWrap .boxDetailRight {
	width: 100%;

}

#efforts .boxDetailWrap .boxDetailRight h4 {
	/* padding: 1em 0 0; */
	font-size: 18px;
	line-height: 140%;
}

#efforts .boxDetailWrap .boxDetailRight .boxDetailRightEfforts{
	margin: 20px;
	text-align: center;
}

#efforts .boxDetailWrap .boxDetailRight .boxDetailRightEfforts span{
	font-size: 16px;
}

#efforts .boxDetailWrap .boxDetailRight li{
	font-size: 14px;
}



}


