@charset "utf-8";
/* csr */


.mvTitle{
 background-image: url("../images/bg_title_scr.jpg");
}
.policyPage .mvTitle{
 background-image: url("../images/bg_title_policy.jpg");
}

.lead h2 .subttl{
	font-size: 24px;
	display: block;
	margin-bottom: 10px;
}

@media screen and (min-width: 769px) {
}/*-PC only-*/

.topLead{
 position: relative;
 padding: 108px 0 140px;
 z-index: 0;
}
.topLead .inner{
 max-width: 1080px;
}
.topLead h2{
 margin-bottom: 45px;
 font-size: 54px;
 line-height: 1.5;
	letter-spacing: .3em
}
.topLead p{
 font-size: 16px;
 line-height: 2.55;
}
.topLead p .btnArrow{
 margin: 65px auto 0 0;
 max-width: 415px;
 font-size: 16px;
}
.topLead p .btnArrow span{
 padding-left: 0;
 padding-right: 0;
}
@media screen and (min-width: 769px) {
.topLead::before{
 content: "";
 display: block;
 background: #f5f7f7;
 width: 87.36%;
 height: 560px;
 position: absolute;
 bottom: 0;
 left: 0;
 z-index: -1;
}
 .topLead figure{
  position: absolute;
  top: 30px;
  left: 49.65vw;
  width: 54.16vw;
  max-width: 780px;
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {
	.topLead{
   padding: 32px 0 50px;
   z-index: 0;
  }
	.topLead h2{
    	margin-bottom: 20px;
		letter-spacing:-0.03em;
    	font-size: 46px;
  }
	.topLead > .inner{
		margin-bottom: 30px;
	}
	.topLead p{
		font-size: 14px;
	}
	.topLead p .btnArrow{
   margin: 20px auto 0 0;
    max-width: 320px;
	}
}/*-SP only-*/

/*#susAttempt*/
#susAttempt{
 padding-bottom: 60px;
}
#susAttempt h2{
 margin-bottom: 45px;
}
#susAttempt .column3{
 max-width: 1200px;
 padding: 0 60px 50px;
 margin: 0 auto;
background: -moz-linear-gradient(top,  rgba(237,237,235,0) 0%, rgba(221,221,221,0.5) 100%); 
background: -webkit-linear-gradient(top,  rgba(237,237,235,0) 0%,rgba(221,221,221,0.5) 100%); 
background: linear-gradient(to bottom,  rgba(237,237,235,0) 0%,rgba(221,221,221,0.5) 100%); 

}
#susAttempt .column3 li a{
 position: relative;
 display: block;
 border-radius: 16px;
 background: #fff;
 padding: 0 0 45px;
	box-shadow: 3px 3px 15px -7px #b0b0b0;
	height: 100%;
}
#susAttempt .column3 figure{
 overflow: hidden;
}
#susAttempt .column3 h3{
 margin: -85px 0 5px;
 text-align: center;
}
#susAttempt .column3 p{
 padding: 0 20px;
 text-align: center;
}
#susAttempt .column3 li a::before,
#susAttempt .column3 li a::after{
 content: "";
 display: block;
 background: #72af43;
 height: 2px;
 position: absolute;
 right: 23px;
 bottom: 23px;
}
#susAttempt .column3 li a::before{
 width: 29px;
}
#susAttempt .column3 li a::after{
 width: 8px;
 -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 transform-origin: right bottom;
}

.addGray{
  background: rgba(221,221,221,0.5);
  padding: 0 0 60px;
  text-align: center;
  max-width: 1200px;
  margin: auto
}
@media screen and (max-width: 768px) {
	#susAttempt .column3{
		padding: 0 20px 20px;
	}
	#susAttempt .column3 li{
		margin-bottom: 20px;
	}
}/*-SP only-*/
@media screen and (min-width: 769px) {
 #susAttempt .column3 li{
  width: 31%;
  max-width: 334px;
 }
}/*-PC only-*/
#susAttempt .column2{
 max-width: 1080px;
 margin: 45px auto 0;
}
#susAttempt .column2 figure{
 overflow: hidden;
}
#susAttempt .column2 h3{
 position: relative;
 margin-top: 25px;
 margin-bottom: 16px;
 font-size: 20px;
}
#susAttempt .column2 h3::before,
#susAttempt .column2 h3::after{
 content: "";
 display: block;
 background: #72af43;
 height: 2px;
 position: absolute;
 top: 50%;
 right: 3px;
}
#susAttempt .column2 h3::before{
 width: 29px;
}
#susAttempt .column2 h3::after{
 width: 8px;
 -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 transform-origin: right bottom;
}
#susAttempt .column2 p{
 line-height: 1.8;
}
@media screen and (max-width: 768px) {
	#susAttempt .column2{
		margin: 25px 20px 0;
	}
	#susAttempt .column2 li{
		margin-bottom: 20px;
	}
}/*-SP only-*/
@media screen and (min-width: 769px) {
 #susAttempt .column2 li{
  width: 48.5%;
  max-width: 520px;
 }
}/*-PC only-*/
/*sdgsAttempt*/
#sdgsAttempt{
 /*background: url("../images/bg_sdgs.png") no-repeat center bottom /cover;*/
 padding: 55px 0 115px;
}
#sdgsAttempt h2{margin-bottom: 40px;}
#sdgsAttempt > div{
 max-width: 1080px;
 margin: 0 auto;
 justify-content:space-around;
}
/*
#sdgsAttempt > div a{
 position: relative;
 border-radius: 16px;
 background: #fff;
}
#sdgsAttempt > div a::before,
#sdgsAttempt > div a::after{
 content: "";
 display: block;
 background: #fff;
 height: 2px;
 position: absolute;
 right: 32px;
 bottom: 36px;
}
#sdgsAttempt > div a::before{
 width: 29px;
}
#sdgsAttempt > div a::after{
 width: 8px;
 -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 transform-origin: right bottom;
}*/
#sdgsAttempt figure{
 /*padding: 56px 0;*/
 text-align: center;
}
#sdgsAttempt .txt{
 border-radius: 0 16px 16px 0;
 display: flex;
 flex-flow: column;
 align-items: center;
 justify-content: center;
 background: url("../images/bg_sdgs_btn.png") no-repeat left top #0098d8;
 background-size: cover;
 }
#sdgsAttempt .txt h3{
 margin-bottom: 22px;
 color: #fff;
 font-size: 36px;
}
#sdgsAttempt .txt p{
 color: #fff;
 line-height: 1.8;
}
@media screen and (min-width: 769px) {
#sdgsAttempt figure{
 background: #fff;
 }
#sdgsAttempt .txt{
 width: 52%;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
 #sdgsAttempt > div{
  margin: 0 20px;
 }
 #sdgsAttempt > div a{
  display: block;
 }
#sdgsAttempt figure{
 padding: 40px 20px;
}
#sdgsAttempt .txt{
 border-radius: 0 0 16px 16px;
 padding: 20px 20px 40px;
}
#sdgsAttempt .txt h3{
 margin-bottom: 15px;
 font-size: 24px;
}
}/*-SP only-*/
/*susTopics*/
#susTopics{
 padding-bottom: 0;
}
#susTopics h2{
 margin-bottom: 30px;
}
#susTopics .topicsSlider{
 position: relative;
 margin: 0;
}
.topicsSlider .slick-slide{
 /*max-width: 470px;*/
 padding: 10px 0px;
 margin: 0 0px;
 transition: .3s ;
 transform: scale(.75);
}
.topicsSlider .slick-current,
.topicsSlider .slick-slide.is-active-next{
 padding: 10px 0px;
 transform: scale(1);
}
.topicsSlider .slick-slide a{
 display: block;
 border-radius: 16px;
 background: #fff;
 padding: 0 0 45px;
 box-shadow: 0 0 8px 0 rgba(0,0,0,0.08);
}
.topicsSlider figure{
 overflow: hidden;
}
.topicsSlider .date{
 padding: 10px 30px 0;
 color: #b0b0b0;
 font-size: 18px;
 font-family: 'Fira Sans', sans-serif;
}
.topicsSlider h3{
 padding: 12px 30px 0;
 font-size: 18px;
 font-weight: 500;
}
.topicsSlider .slick-arrow::before{
 display: none;
}
.topicsSlider .slick-arrow{
 border-left: 2px #333 solid;
 border-bottom: 2px #333 solid;
 width: 12px;
 height: 12px;
 padding: 0;
 margin: -14px 0 0;
 -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 top: 100%;
 z-index: 1;
}
.topicsSlider .slick-prev{
 left: 40%;
}
.topicsSlider .slick-next{
 border:none;
 border-right: 2px #333 solid;
 border-top: 2px #333 solid;
 right: 40%;
}
.topicsSlider .slick-dots{
 position: relative;
 bottom: 0;
 margin: 40px 0 0;
 font-size: 0;
 line-height: 1;
}
.topicsSlider .slick-dots li{
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 12px;
 height: 12px;
 margin: 0 10px;
}
.topicsSlider .slick-dots li button{
 border-radius: 50%;
 background:#dddddd ;
 width: 8px;
 height: 8px;
 padding: 0;
 margin: 0;
}
.topicsSlider .slick-dots .slick-active button{
 background: #88bc62;
 width: 12px;
 height: 12px;
}
.topicsSlider .slick-dots li button:before{
 display: none;
}

@media screen and (max-width: 768px) {

#susTopics .topicsSlider {
  margin: 0 10px;
}	
.topicsSlider .slick-prev{
 left: 20%;
}
.topicsSlider .slick-next{
 right: 20%;
}
}/*-SP only-*/

/*----------- csr 下層--------------*/

/*------ environment --------*/
/* lead */
.lead {
 padding: 50px 0 30px;
}
.lead h2{
 margin-bottom: 30px;
 text-align: center;
}
.lead p{
 text-align: center;
}
.lead .pageNav{
 margin-top: 50px;
 max-width: 950px;
 margin-left: auto;
margin-right: auto;
}

.lead .pageNav.large{
	flex-wrap: wrap;

}

.lead .pageNav.large li{
	width: 23%;
	margin-bottom: 20px;
}

.inBox{
 padding: 60px;
 margin-top: 35px;
}
.inBox + .inBox{
 margin-top: 40px;
}
.inBox figure{
 margin-top: 35px;
 text-align: center;
}
.inBox figure figcaption{
  margin-top: 10px;
}
.inBox .ttlBar,
.mbox .ttlBar{
 margin-bottom: 20px;
}
.energyUnit{
 margin: 35px auto 0;
 max-width: 850px;
 text-align: center;
}
.energyUnit dt{
 margin-bottom: 35px;
 font-size: 18px;
 font-weight: 500;
 text-align: center;
}
.energyUnit dd ul{
}
.energyUnit dd li{
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 55px;
 border: 3px #72af43 solid;
 background: #f9fff5;
 max-width: 386px;
 height: 109px;
 color: #72af43;
 font-size: 18px;
 text-align: center;
 line-height: 1.55;
 letter-spacing: 0.12em;
}
.energyUnit dd li + li{
 border-color: #2e90c3;
 background: #f7fbff;
 color: #2e90c3;
}
.energyUnit dd li + li::before{
 content: "";
 display: block;
 border-top: 5px #72af43 solid;
 border-bottom: 5px #72af43 solid;
 width: 26px;
 height: 19px;
 box-sizing: border-box;
 position: absolute;
 right: 100%;
 margin-right: 6.6%;
}
@media screen and (min-width: 769px) {
 .energyUnit dd li{
  width: 45.5%;
 }
}/*-PC only-*/
.energyUnit dd p{
 padding: 15px 0 0;
 font-size: 10px;
 text-align: center;
}
@media screen and (max-width: 768px) {
.lead {
 padding: 40px 20px 20px;
}
.lead .pageNav.large{
  padding: 0;
}
  .lead .pageNav.large li a {
    padding: 0 5px 6px;
  }
  
	.inBox{
		padding: 30px 10px;
		margin: 35px 10px;
	}
 .energyUnit dd li{
  margin: 0 auto;
 }
.energyUnit dd li + li{
 margin-top: 60px;
}
 .energyUnit dd li + li::before{
  left: 0;
  right: 0;
  bottom: 100%;
  margin: auto auto 20px;
border-left: 5px #72af43 solid;
border-right: 5px #72af43 solid;
border-top: none;
border-bottom: none;
height: 26px;
width: 19px;
 }
.energyUnit dd ul{
	padding-left: 10px;
	padding-right: 10px;
}
}/*spOnly*/
.co2Cut{
 padding: 110px 20px 22px;
}
.co2Cut li{
 border-radius: 4px;
 border: 1px #72af43 solid;
 background: #fff;
}
.co2Cut li + li{
 margin-top: 27px;
}
.co2Cut li:first-child h4{
 margin: -87px auto 12px;
}
.co2Cut li:first-child p{
 padding: 0 30px 25px;
}
.co2Cut li.flex{
 align-items: center;
 justify-content: center;
 padding: 12px 0;
}
.co2Cut li.flex.reverse{
 flex-flow: row-reverse;
}
.co2Cut li h4{
 display: flex;
 flex-flow: column;
 align-items: center;
 justify-content: center;
 border-radius: 50%;
 border: 4px #fff solid;
 background: #72af43;
 width: 188px;
 height: 188px;
 color: #fff;
 text-align: center;
 line-height: 1.1;
}
.co2Cut li h4 img{
 margin-bottom: 14px;
}
.co2Cut li p{
 color: #72af43;
}
@media screen and (min-width: 769px) {
 .co2Cut li{
  width: 48%;
  max-width: 441px;
 }
 .co2Cut li:first-child{
  width: 100%;
  max-width: 563px;
  margin: 0 auto;
 }
.co2Cut li.flex p{
 width: calc(100% - 188px - 28px);
 max-width: 195px;
 margin: 0 14px;
}
}/*-PC only-*/
@media screen and (max-width: 768px) {
 .co2Cut li{
  display: block;
 }
.co2Cut li + li{
 margin-top: 87px;
}
.co2Cut li h4{
 margin: -87px auto 12px;
}
}/*-SP only-*/

.mbox{
 margin-top: 80px;
 padding: 60px;
 align-items: flex-start;
}
.mbox + .mbox{
 margin-top: 40px;
}
@media screen and (min-width: 769px) {
 .mbox .txt{
  width: 50%;
  max-width: 480px;
 }
 .mbox figure{
  width: 42%;
  max-width: 400px;
  margin-top: 0;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
.mbox{
 padding: 30px 10px;
}
 .mbox figure{
  margin-top: 20px;
  text-align: center;
 }
}/*spOnly*/

/*202306add*/
@media screen and (min-width: 769px) {
		.txt7 p{
			width: 60%;
		}
		.txt7 figure{
			width: 38%;
		}
	.boxcover{
	padding-top: 120px;	
  margin-top: -120px;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {
	.boxcover{
	padding-top: 75px;
 margin-top: -75px;
	}
}/*spOnly*/
		.tcfd table{
			border: 1px solid #ccc;
			width:100%;
		}
		
		.tcfd table td,
		.tcfd table th{
			border: 1px solid #999;
			padding: 5px
		}
		.tcfd table thead th{
			background: #9bd3d9;
			text-align: center;
			white-space: nowrap;
		}
		.tcfd table tbody th{
			background: #def0f2;
			white-space: nowrap;
		}
		
		.tcfd table td li{
			list-style: disc;
			margin-left: 2em;
		}
		.tcfd table td p{
			margin-left: 1em;
		}
		
.accBox.tcfd table td ol li {
  font-size: 14px;
  font-weight: normal;
  margin-bottom: 0;
  /*202408modified*/
  margin-left: 1.5em;
  list-style: none;
  text-indent: -1em;
  /*//202408modified*/
}
			
/*//202306add*/


/*202408add*/
.bg01 .gTable td{
	background: #fff;
}
.mA{
	margin: auto;
}

.gTable.lheadline.environmentEnergyManage th:nth-child(2){
	min-width: 26em;
}
.gTable.lheadline.environmentEnergyManage td{
	width: auto;
  text-align: center
}

.gTable.lheadline.environmentAttempt th{
    width: 30%;
    white-space: initial;
}
.gTable.lheadline.environmentAttempt td {
    width: 70%;
}

.gTable.lheadline.environmentInspect th{
    white-space: initial;
}
.gTable.lheadline.environmentInspect td{
    text-align: center;
}


@media screen and (min-width: 769px) {
	.w660{
		width: 660px;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {
}/*spOnly*/

/*//202408add*/

/*------ society ---------*/
.mbox figcaption{
 padding: 16px 0 0;
 text-align: center;
 font-size: 14px;
 line-height: 2;
}
.inBox .btnArrow,
.mbox .btnArrow{
 display: inline-block;
 max-width: none;
 margin: 50px auto 0 0;
 font-size: 14px;
}
.inBox .btnArrow span,
.mbox .btnArrow span{
 padding-left: 38px;
 padding-right: 62px;
}
.column3Img{
 margin-bottom: -25px;
}
.column3Img li{
 margin-bottom: 25px;
}
.inBox .column3Img figure{
 margin: 0;
  border-radius: 4px;
  overflow: hidden
}
.column3Img figcaption{
 padding: 18px 0 0;
 text-align: center;
}
/*230720 add*/
.gTable.lheadline caption{
	text-align: left;
	margin-bottom: 10px;
	font-weight: bold;
	color: #72af43;
}
.gTable.lheadline th{
	background: #ecf4e5;
	white-space: nowrap;
	width: auto;
}

.gTable.lheadline td,
.gTable.lheadline tbody th{
	text-align: left;
	color: #333;
	padding: 8px;

}
.gTable.lheadline td{
	width: 34%	
}

@media screen and (max-width: 768px) {
	.accBox .btnNormal.inline {
  display: block;
}
	main .inner .accBox p{
		padding: 0
	}
	.spmBtm20{
		margin-bottom: 20px;
	}
  .inBox .btnArrow{
    max-width: 295px
  }
}/*-SP only-*/


@media screen and (min-width: 769px) {
 .column3Img{
  justify-content: flex-start;
  margin: 0 -10px;
 }
 .column3Img li{
  width: calc(100% / 3);
  padding: 0 10px;
 }
	.pcmR20{
		margin-right: 20px;
	}
}/*-PC only-*/


.inBoxinbox{
	margin: 0 0 30px;
}
.inBoxinbox h4{
	margin-bottom: 15px;
	
}
.inBoxinbox h4:before{
	content: "●";
	font-size: 14px;
	color: #72af43;
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}

dl.inBox dt{
	margin-bottom: 10px;
}

dl.inBox dt:before{
	content: "●";
	font-size: 12px;
	color: #72af43;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}

dl.inBox dd{
	margin-bottom: 20px;
	margin-left: 20px;
}

.inBoxinbgG{
	background: #ecf4e5;
	padding: 20px;
	margin-top: 20px;
}
.inBoxinbgG h4{
	color: #72af43;
}

@media screen and (min-width: 769px) {/*PC */
.inBoxinbgG p,
.inBoxinbgG ul{
	margin: 20px;
}
}

@media screen and (max-width: 768px) {/*SP */
.spScroll img{
 max-width: auto !important;
	width: 600px
}
	
	.inBoxinbgG p,
.inBoxinbgG ul{
	margin-top: 20px;
	margin-bottom: 20px;
}

}


/*------ society > kyoseiken ---------*/
.kConstruction{
 padding-top: 40px;
}
.kConstruction .inner{
 position: relative;
}
.kConstruction .img{
 width: 81.1%;
 max-width: 865px;
 margin: 0 0 0 auto;
}
.kConstruction .num{
 position: absolute;
 left: 0;
 top: 0;
 width: 26%;
 max-width: 278px;
 margin: 23.4% 0 0 0;
 color: #72af43;
 line-height: 1;
 text-align: center;
}
.kConstruction .num span{
 display: block;
 font-size: 120px;
}
.kConstruction .num span span{
 border-radius: 22px;
 background: #72af43;
 max-width: 260px;
 margin: 0 auto;
 font-size: 24px;
 line-height: 1.66;
  color: #fff
}
.kConstruction .num span + span{
 border-top:1.4px #72af43 solid;
 margin-top: 28px;
 padding-top: 15px;
}
@media screen and (min-width: 1001px) {
.kConstruction .txt{
 position: absolute;
 left: 0;
 top: 68%;
 width: 45.2%;
 max-width: 488px;
}
}/*-PC only-*/
@media screen and (max-width: 1000px) {
.kConstruction .num span{
 font-size: 12vw;
}
.kConstruction .num span span{
 max-width: 238px;
 margin: 0 auto;
 font-size: 2.4vw;
}
.kConstruction .num span + span{
 margin-top: 2.8vw;
 padding-top: 1.5vw;
}
.kConstruction .txt{
 margin-top: -25vw;
}
}/*-max1080 only-*/
.kSustainable h2{
 margin-bottom: 40px;
 line-height: 1.5;
}
.kSustainable figure{
 margin-bottom: 35px;
}
.kSustainable p + p{
 margin-top: 2em;
}
.kSustainable .btnArrow{
 margin: 50px 0 0 0;
 max-width: 255px;
 font-size: 14px;
}
.kSustainable .btnArrow span{
 padding-left: 0px;
 padding-right: 20px;
}
@media screen and (max-width: 768px) {/*SP kyoseiken*/
.kConstruction .txt{
 margin-top: 10px;
}

}/*-SP only-*/
/*------ governance ---------*/
figure.bgW{
 padding: 40px 20px;
 margin-bottom: 80px;
}
.accBox{
 padding: 0 0 60px;
}
.accBox h4{
 margin-top: 55px;
}
.accBox h5{
 line-height: 1.75;
}
.accBox p + h5,
.accBox ul + h5{
 margin-top: 25px;
}
.accBox h6{
 font-weight: 500;
 line-height: 2;
}
.accBox p + h6,
.accBox ul + h6{
 margin-top: 18px;
}
.accBox ol li{
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 25px;
}
.accBox ol li:last-of-type{
	margin-bottom: 0;
}
.accBox ol li p{
	font-weight: 400;
	margin-top: 2px;
}
.gTable{
 border: 1px #dddddd solid;
 width: 100%;
 margin:30px 0 40px;
}
.gTable th{
 border: 1px #dddddd solid;
 background: #f5f7f7;
 width: 50%;
 padding: 8px 0;
 font-weight: 500;
 text-align: center;
  vertical-align: middle;
}
.gTable td{
 border: 1px #dddddd solid;
 padding: 8px 0;
 text-align: center;
	vertical-align: middle
}

.gTable.colm3 th{
	width: 33%;
}
.gTable.skill thead th{
	background: #ecf4e5;
	vertical-align: middle;
	line-height: 1.5;
	padding: 8px;
	width: 10%;
}
.gTable.skill tbody th{
	background: #ffffff;
	padding: 8px;
	width: 15%;
}
.gTable.skill tbody td{
	color: #72af43;
	padding: 8px;
}

/*202408add*/
.gTable.executiveCompensation{
	table-layout: fixed;
}
.gTable.lheadline.executiveCompensation th:first-child {
    width: 12em;
}
.gTable.lheadline.executiveCompensation th {
	white-space: initial;
}
.gTable.lheadline.executiveCompensation td {
    text-align: center;
}
.gTable.lheadline.internalReport{
	table-layout: fixed;
}
.gTable.lheadline.internalReport th:first-child{
    width: 12em;
}
.gTable.lheadline.internalReport tr:first-child th,
.gTable.lheadline.internalReport td{
	text-align: center;
}
@media screen and (min-width: 769px) {
	.gTable.skill{
		table-layout: fixed;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {
	.spScroll .gTable.executiveCompensation{	
		width: 800px;
	}
	.gTable.lheadline.internalReport th:first-child{
		width: 10em;
	}
	.gTable.lheadline.internalReport th{
		white-space: initial;
	}
}/*spOnly*/

/*//202408add*/

/*---------sdgs --------*/
.sdgsLead{
 padding: 0 0 80px;
}
.sdgsLead h2{
 text-align: center;
}
.sdgsLead p{
 font-size: 22px;
 text-align: center;
}
.sdgsLead .pageNav{
 max-width: 950px;
 margin: 80px auto 0;
}
.sdgsPage section:not(.sdgsLead) h2{
 position: relative;
 padding-right: 140px;
}
.sdgsPage section:not(.sdgsLead) h2::after{
 content: "";
 display: block;
 background: url("../images/sdgs_pct01.png") no-repeat left top/100% auto;
 width: 134px;
 height: 179px;
 position: absolute;
 right: 0;
 bottom: -18px;
}
.sdgsPage section:not(.sdgsLead):nth-of-type(3) h2::after,
.sdgsPage section:not(.sdgsLead):nth-of-type(7) h2::after{
 background: url("../images/sdgs_pct02.png") no-repeat left top/100% auto;
 width: 162px;
 height: 122px;
 bottom: -1px;
}
.sdgsPage section:not(.sdgsLead):nth-of-type(4) h2::after,
.sdgsPage section:not(.sdgsLead):nth-of-type(8) h2::after{
 background: url("../images/sdgs_pct03.png") no-repeat left top/100% auto;
 width: 125px;
 height: 161px;
 bottom: 0px;
}
.sdgsPage section:not(.sdgsLead):nth-of-type(5) h2::after,
.sdgsPage section:not(.sdgsLead):nth-of-type(9) h2::after{
 background: url("../images/sdgs_pct04.png") no-repeat left top/100% auto;
 width: 163px;
 height: 172px;
 bottom: -48px;
}
@media screen and (max-width: 768px) {
	.sdgsLead h2{
		padding-left: calc(5.3% + 5px);
		padding-right: calc(5.3% + 5px);
	}
	.sdgsLead p{
		padding-left: calc(5.3% + 5px);
		padding-right: calc(5.3% + 5px);
		letter-spacing: 0.02em;
	}
	.sdgsPage section:not(.sdgsLead) h2{
	 padding-right: 75px;
    font-size: 25px;
	}
	.sdgsPage section:not(.sdgsLead) h2::after{
	 width: 66px;
	 height: 94px;
		right: 5px;
	 bottom: -8px;
	}
	.sdgsPage section:not(.sdgsLead):nth-of-type(3) h2::after,
	.sdgsPage section:not(.sdgsLead):nth-of-type(7) h2::after{
	 width: 81px;
	 height: 63px;
	 bottom: -1px;
	}
	.sdgsPage section:not(.sdgsLead):nth-of-type(4) h2::after,
	.sdgsPage section:not(.sdgsLead):nth-of-type(8) h2::after{
	 width: 63px;
	 height: 85px;
	 bottom: 0px;
	}
	.sdgsPage section:not(.sdgsLead):nth-of-type(5) h2::after,
	.sdgsPage section:not(.sdgsLead):nth-of-type(9) h2::after{
	 width: 82px;
	 height: 87px;
	 bottom: -24px;
	}
}/* //end for SP */

.catch{
 padding-right: 55px;
}
.catch.wide{
 padding: 0;
 flex-flow: row wrap;
}
.catch > img{
 width: 140px;
 margin-right: 50px;
}
.catch p{
 font-size: 22px;
 letter-spacing: 0.12em;
}
@media screen and (min-width: 769px) {
.catch{
 display: flex;
 flex-flow: row nowrap;
 align-items: center;
 justify-content: flex-start;
}
.catch span{
 white-space: nowrap;
 margin-right: 50px;
}
}/*-pcOnly-*/
.catch span img {
 width: 140px;
}
.catch span img + img{
 margin-left: 8px;
}
.catch.wide p{
 margin: 0;
 padding: 40px 68px 0;
 width: 100%;
 white-space:normal;
}

.inner_in{
 padding: 42px 67px 0;
}
.sdgsImg{
 position: relative;
 margin-top: 35px;
}
.sdgsImg figure{
 text-align: center;
}
.sdgsImg figcaption,
.sdgsImg p{
 text-align: center;
 padding: 20px 0 0;
 font-size: 14px;
}
.sdgsImg ul.pcflex{
 max-width: 1005px;
 margin: 0 auto;
}
 .sdgsImg ul.pcflex li br + img{
  margin-top: 18px;
}
@media screen and (min-width: 769px) {
 .sdgsImg ul.pcflex li{
  width: 55%;
 }
 .sdgsImg ul.pcflex li + li{
  width: 43%;
 }
}/*-PC only-*/
.progress{
 display: flex;
 flex-flow: column;
 align-content: center;
 align-items: center;
 justify-content: center;
 border-radius: 50%;
 background: #2e90c3;
 width:240px;
 height: 240px;
 margin: -30px 0 -170px auto;
 position: relative;
 z-index: 1;
}
.progress *{
 color: #fff;
}
.progress dt{
 border-bottom: 1px #fff solid;
 font-size: 18px;
}
.progress dd{
 font-size: 18px;
}
.progress dd span{
 font-size: 36px;
}
.progress dd .note{
 text-align: center;
}
@media screen and (max-width: 468px) {
	.catch{
		max-width: calc(300px + 40px);
		margin-right: auto;
		margin-left: auto;
	}
	 .catch p{
	  	letter-spacing: 0.04em;
	 }
	.catch + .inner_in{
		max-width: calc(300px + 40px);
		margin-right: auto;
		margin-left: auto;
	 }
}/*-SP468 only-*/
@media screen and (max-width: 768px) {
.catch{
 padding-right: 0;
 text-align: center;
}
.catch span img{
 margin:0 4px 5px;
}
 .catch p{
  padding-top: 20px;
  letter-spacing: 0.04em;
 }
.catch.wide p{
 padding: 20px 20px 0;	
	}
}/*-SP only-*/

/*------ info ---------*/
.btnList + h4{
 margin-top: 60px;
}
.btnList + h5{
 margin-top: 40px;
}


/*------ policy ---------*/
/* 2022.9.27~ */
.policyProcessWrap{
	position: relative;
	max-width: 680px;
    margin: 40px auto 0;
	background: url("../images/policy_img_process_bg_01.svg") no-repeat center top / auto 100%;
	padding: 30px 0;
} 
#policyProcess01,
#policyProcess02{
	max-width: 660px;
	margin: auto;
}
.policyProcess{
	padding: 20px 0 0;
}
.policyProcess.icArrow::after{
	content: "";
	display: block;
	margin: 30px auto 0;
	width: 40px;
	height: 20px;
	background: url("../images/policy_img_process_ic_arrow.svg") no-repeat center/ 100%;
}
.policyProcess > dt{
	margin-bottom: 10px;
	font-weight: bold;
	color: #389d38;
	text-align: center;
	line-height: 1.4em;
}
.policyProcess > dd{
	margin: auto;
}
.policyProcess > dd.policyProcessListWrap{
	background: #fff;
	border-radius: 10px;
	border: 1px solid #22ac38;
}
#policyProcess01 .policyProcessList,
#policyProcess02 .policyProcessList{
	padding: 20px 10px;
}
.policyProcessList > dt{
	margin-bottom: 6px;
	font-weight: bold;
	color: #389d38;
	text-align: center;
	font-size: 12px;
}
.policyProcessList > dd{
}
.policyProcessList .listSq li{
	position: relative;
	padding: 0 0 0 1.4em;
	font-size: 11px;
}
.policyProcessList .listSq li::before{
	content: "\025a1";
	position: absolute;
	left: 0;
	top: 0.1em;
}
#policyProcess03{
}
#policyProcess03 .img{
	width: 90%;
	max-width: 420px;
	margin: auto;
}
.policyProcess03Basis{
	width: 100%;
	margin-top: -76px;
	padding: 80px 0 2px;
	background: url("../images/policy_img_process_bg_02.svg") no-repeat center bottom / 100% auto;
}
.policyProcess03Basis dt{
	font-size: 11px;
	font-weight: bold;
	text-align: center;
}
.policyProcess03Basis dd{
	text-align: center;
}
.policyProcess03Basis dd li{
	display: inline-block;
	background: #fff;
	border-radius: 3px;
	margin-bottom: 6px;
	padding: 10px 24px 8px;
	font-size: 11px;
	font-weight: bold;
}
#policyProcess04{
	max-width: 600px;
	margin: auto;
	padding: 30px 0 0;
}
#policyProcess04.policyProcess dt{
}
.policyProcess04ListWrap{
	position: relative;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-pack: center;
	justify-content: center;
}
.policyProcess04SubTi{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: flex; 
	-ms-flex-align: center;
	align-items: center;   
	-ms-flex-pack: center;
	justify-content: center;

	width: 6em;
	height: 6em;
	background: #63a531;
	border-radius: 50%;
	text-align: center;
	color: #fff;
	line-height: 1.2em;
}
.policyProcess04List{
	margin: 0 20px;
	padding: 20px 10px;
	width: 180px;
	background: #fff;
	border: #00913a 1px solid;
	border-radius: 10px;
	text-align: center;
}
.policyProcess04List dt{
    margin-bottom: 6px;
	font-size: 12px;
    font-weight: bold;
    color: #389d38;
}
.policyProcess04List dd li{
	font-size: 11px;
}
#policyProcess04.policyProcess dd{
}
#policyProcess04.policyProcess dd{
}
.policyProcessWrap .date{
    position: absolute;
	right: 0;
	bottom: 10px;
	text-align: right;
	font-size: 10px;
}
@media screen and (min-width: 769px) {
	.policyProcess > dd.policyProcessListWrap{
		display: flex;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.policyProcess > dd.policyProcessListWrap .policyProcessList{
		width: 33%;
	}
	#policyProcess02 .policyProcessList {
		width: 36%;
	}
	#policyProcess02 .policyProcessList:nth-of-type(3) {
		width: 28%;
	}
	#policyProcess02 .policyProcessList:nth-of-type(n+4) {
		width: 46%;
		padding-top: 0px
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {
	.policyProcessWrap{
	} 
	#policyProcess01,
	#policyProcess02{
		width: 90%;
	}
	#policyProcess01 .policyProcessList,
	#policyProcess02 .policyProcessList{
		border-top: 1px solid #22ac38;
	}
	.policyProcess03Basis{
		background: url("../images/policy_img_process_bg_02.svg") no-repeat center bottom / 100% 100%;
	}
}/*SP only-*/
/* ~2022.9.27 */
.process{
 position: relative;
 background: url("../images/policy_bar.png") no-repeat center top / 33px 99%;
 max-width: 630px;
 margin:40px auto 0;
}
.process dl + dl{
 margin-top: 20px;
}
.process dt{
 background: #fff;
 padding: 6px 0;
 color: #13b8d6;
 font-weight: 500;
 text-align: center;
 line-height: 1;
}
.process01{
 background: url("../images/policy_bg_process01.png") no-repeat center top/auto 100% ;
 min-height: 194px;
}
.process01 dt{
 background: none;
 padding:20px 0 14px;
}
.process01 dd{
 max-width: 440px;
 margin: 0 auto;
 text-align: center;
}
.process01 dd span{
 display: inline-block;
 border-radius: 8px;
 background: #fff;
 padding: 8px 10px;
 margin: 0 6px 6px 0;
 font-size: 11px;
 line-height: 1;
 letter-spacing: 0;
}
.process02 dd{
 border-radius: 8px;
 border: 1px #13b8d6 solid;
 background: #fff;
 padding: 16px 0 25px;
}
.process02 dd ul li figure{
 text-align: center;
}
.process02 dd ul li p{
  padding: 8px 0 0;
  line-height: 1.4;
  letter-spacing: 0;
 }
@media screen and (min-width: 769px) {
 .process02 dd ul{
  justify-content: center;
  align-items: center;
 }
 .process02 dd ul li{
  margin: 0 9px;
  max-width: 90px;
 }
 .process02 dd ul li p{
  font-size: 11px;
  text-align: center;
  
 }
}/*-PC only-*/
.process03{
 position: relative;
}
.process03 dd{
 text-align: center;
}
.process03 dd> img{
 margin-bottom: 18px;
}
.process03 dd p{
 max-width: 272px;
 margin: 0 auto;
 font-size: 10px;
 font-weight: 500;
 line-height: 1.5;
 text-align: center;
}
.process03 dd p span{
 display: block;
 color: #13b8d6;
 font-size: 10px;
 font-weight: 700;
}
.process03 dd p.large{
 font-size:17px ;
}
.process03 dd p + p{
 border-top: 1px #3e3a39 solid;
 margin-top: 8px;
 padding-top: 10px;
}
@media screen and (min-width: 769px) {
.process03 dd:not(.pct){
 background: url("../images/policy_bg_plan01.png") no-repeat center top/100% auto;
 width: 540px;
 height: 540px;
 padding: 35px 0 0;
 margin: 0 auto;
}
 .process03 dd.pct{
  position: absolute;
  right: -15px;
  top: 0;
  bottom: 0;
  width: 152px;
  height: 152px;
  margin: auto;
 }
}/*-PC only-*/
.process04 dd{
 border-radius: 8px;
 border: 1px #13b8d6 solid;
 background: #fff;
 max-width: 422px;
 padding: 19px 0 19px 14px;
 margin: 0 auto;
}
.process04 dd ul li + li{
  border-left: 1px #13b8d6 solid;
}
.process04 dd ul li p{
 font-size: 9px;
 line-height: 1.8;
}
.process04 dd ul li p span{
 display: block;
 font-size: 11px;
 font-weight: 500;
}
@media screen and (min-width: 769px) {
 .process04 dd ul li{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 53.5%;
  max-width: 218px;
  padding: 0 20px 0 26px;
 }
 .process04 dd ul li + li{
  width: 46.5%;
  max-width: 190px;
 }
 .process04 dd ul li p{
  width: calc(100% - 28px);
  padding: 0 0 0 26px;
 }
}/*-PC only-*/
.process05 dd{
 background: url("../images/policy_bg_process02.png") no-repeat center bottom/ auto 100%;
 height: 255px;
 flex-flow: row wrap;
 justify-content: center;
 align-items: flex-end;
 padding: 0 0 17px;
 box-sizing: border-box;
}
.process05 dd p{
 position: relative;
 width: 122px;
}
.process05 dd p span{
 position: absolute;
 top: -20px;
 left: -10px;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 50%;
 background: #13b8d6;
 width: 72px;
 height: 72px;
 color: #fff;
 font-size: 11px;
 line-height: 1.2;
 text-align: center;
 letter-spacing: 0;
}
@media screen and (min-width: 769px) {
 .process05 dd .ttl{
  position: absolute;
  bottom: 22px;
  left: 0;
  right: 0;
  width: 204px;
  margin: auto;
 }
 .process05 dd p:nth-of-type(1){
 }
 .process05 dd p:nth-of-type(2){
  margin: 0 72px 96px -28px;
 }
 .process05 dd p:nth-of-type(4){
  margin: 0 -24px 96px 0;
 }
 .process05 dd p:nth-of-type(4) span,
 .process05 dd p:nth-of-type(5) span{
  left: auto;
  right: -10px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP policy >process*/
.process{
 max-width: none;
 margin:36px auto 0;
}
.process dl + dl{
 margin-top: 18px;
}
.process dt{
 padding: 8px 0 10px;
 font-size: 16px;
}
 
 .process01{
 background: url("../images/policy_bg_process01.png") no-repeat center top/auto 100% ;
 min-height: 194px;
  padding: 0 0 55px;
}
.process01 dt{
 background: none;
 padding:20px 0 16px;
}
.process01 dd{
 max-width: none;
 padding: 0 5.3%;
 text-align: left;
}
.process01 dd span{
 padding: 6px 6px;
 margin: 0 5px 5px 0;
 font-size: 13px;
}
.process02 dd{
 width: 91.2%;
 margin: 0 auto;
 padding: 28px 18px 12px;
}
 .process02 dd ul{
  margin-left: -3%;
 }
 .process02 dd ul li{
  width: 31%;
  margin-left: 2.3%;
  margin-bottom: 20px;
 }
 .process02 dd ul li figure{
  display: flex;
  align-items: center;
  justify-content: center;
 height: 13.2vw;  
 }
.process02 dd ul li figure img{
 width: auto;
 max-height: 100%;
}
.process02 dd ul li p{
  padding: 8px 0 0;
  line-height: 1.4;
  letter-spacing: 0;
 }
 
.process03 dd:not(.pct){
 background: url("../images/policy_bg_plan01_sp.png") no-repeat center top/100% auto, url("../images/policy_bg_plan02_sp.png") no-repeat center bottom/100% auto #fff;
 padding: 30px 0 115px;
}
.process03 dd> img{
 width: 73.46vw;
 margin-bottom: 25px;
}
.process03 dd p{
 max-width: 89.46%;
 font-size: 13px;
}
.process03 dd p span{
 font-size: 12px;
}
.process03 dd p.large{
 font-size:21px ;
}
.process03 dd p + p{
 margin-top: 12px;
 padding-top: 14px;
}
 .process03 dd.pct{
  width: 50.66vw;
  margin:-83px auto 0;
 }
 
 .process04 dd{
  width: 91.3%;
 max-width: none;
 padding: 16px 0 ;
 }
 .process04 dd ul li{
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  width: 50%;
  padding: 8px 15px;
  text-align: center;
 }
 .process04 dd ul li img{
  width: 35px;
 }
 .process04 dd ul li+ li img{
  width: 59px;
 }
.process04 dd ul li p{
 margin-top: 12px;
 font-size: 11px;
 letter-spacing: 0;
}
.process04 dd ul li p span{
 font-size: 14px;
 text-align: center;
}
 
.process .process05{margin-top: 55px;}
.process05 dd{
 background: url("../images/policy_bg_process02_sp.png") no-repeat center bottom/100% 100%;
 height: auto;
 justify-content: space-between;
 align-items: flex-start;
 padding: 14px 7.7% 15px;
}
.process05 dd p{
 width: 150px;
}
.process05 dd p span{
 width: 80px;
 height: 80px;
 font-size: 13px;
}
 .process05 dd .ttl{
  width: 100%;
  padding: 16px 0 18px;
  text-align: center;
 }
 .process05 dd p:nth-of-type(2) span,
 .process05 dd p:nth-of-type(5) span{
  left: auto;
  right: -10px;
 }
 .process05 dd p:nth-of-type(4) span,
 .process05 dd p:nth-of-type(5) span{
  top: auto;
  bottom: -20px;
 }
}/*-SP only-*/
/**/
.esgList{
 max-width: 777px;
 margin: 130px auto 0;
}
.esgList li{
 position: relative;
 border-radius: 8px;
 border: 2px #72af43 solid;
 background: #fafff6;
 padding: 0 24px 70px;
}
.esgList li::after{
 content: "など";
 display: block;
 font-size: 12px;
 position: absolute;
 left: 24px;
 bottom: 38px;
}
.esgList li h3{
 display: flex;
 flex-flow: column;
 justify-content: center;
 align-content: center;
 align-items: center;
 border-radius: 50%;
 background: #72af43;
 width: 146px;
 height: 146px;
 margin: -100px auto 0;
 color: #fff;
 font-size: 16px;
}
.esgList li h3 span{
 display: block;
}
.esgList li h3 span:first-child{
 font-size: 43px;
}
.esgList li h3 span:last-child{
 margin-top: 6px;
 font-size: 10px;
}
.esgList li h4{
 margin-top: 20px;
 margin-bottom: 5px;
 font-size: 14px;
 letter-spacing: 0.04em;
}
.esgList li h4::before{
 content: "● ";
 color: #72af43;
 font-size: 14px;
}
.esgList li p{
 text-indent: -1em;
 padding-left: 1em;
 margin-bottom: 5px;
 font-size: 12px;
 line-height: 1.5;
}
.esgList li:nth-of-type(2){
 border-color: #437daf;
 background:#f7fbff ;
}
.esgList li:nth-of-type(2) h3{
 background:#437daf ;
}
.esgList li:nth-of-type(2) h4::before{
 color: #437daf ;
}
.esgList li:nth-of-type(3){
 border-color: #d0a138;
 background:#fefbf3 ;
}
.esgList li:nth-of-type(3) h3{
 background:#d0a138 ;
}
.esgList li:nth-of-type(3) h4::before{
 color: #d0a138 ;
}
@media screen and (max-width: 768px) {
	.esgList li{
		margin-bottom: 80px;
	}
	.esgList li h3{
		margin: -70px auto 0;
	}
}/*-SP only-*/
@media screen and (min-width: 769px) {
.esgList li{
 width: 30%;
 max-width: 232px;
 }
}/*-PC only-*/
/**/
.policySdgsImg{
 margin-top: 45px;
 margin-bottom: 60px;
 text-align: center;
}
.policySdgsImg figcaption{
 display: block;
 margin-bottom: 28px;
 font-size: 20px;
 font-weight: 500;
 text-align: center;
}
.policySdgsImg + p .btnArrow{
 max-width: 216px;
}
.policySdgsImg + p .btnArrow span{
 padding-left: 20px;
 padding-right: 40px;
}
@media screen and (max-width: 768px) {
 .policySdgsImg{
  padding-left: 20px;
  padding-right: 20px;
 }
}/*-SP only-*/
/**/
.report{
 margin-top: 65px;
}
.report .txt p + p{
 margin-top: 40px;
}
.report .txt p .note{
 display: block;
 line-height: 1.5;
}
.report .txt .btnNormal + .note{
 margin-top: 12px;
}
.report .txt .note +.btnNormal{
 margin-top: 8px;
}
.report .txt .note a{
 color: #333;
 text-decoration: underline;
}
@media screen and (min-width: 769px) {
 .report figure{
  margin: 0;
  max-width: 543px;
 }
 .report .txt{
  max-width: 354px;
 }
}/*-PC only-*/

/*--- transportation_safety ---*/
.basicPolicy li{
 position: relative;
 padding: 0 0 12px 58px;
 font-size: 18px;
 font-weight: 500;
 line-height: 1.8;
}
.basicPolicy li span{
 position: absolute;
 top: 0;
 left: 0;
 border: 1px #72af43 solid;
 background: #fff;
 width: 30px;
 height: 30px;
 color: #72af43;
 font-family: 'Noto Sans JP', sans-serif;
 font-size: 16px;
 font-weight: 500;
 line-height: 26px;
 text-align: center;
}

.saftyManager{
 flex-flow: row wrap;
 justify-content: space-around;
}
.saftyManager dt{
 font-weight: 500;
}
.saftyManager dd{
  font-size: 20px;
  font-weight: 500;
}
 .saftyManager dd span{
  font-size: 14px;
  font-weight: 400;
 }
@media screen and (min-width: 769px) {
.saftyManager dt{
 width: 315px;
 padding: 20px 0 20px;
 line-height: 2;
 border-bottom: 1px #dddddd solid;
 }
 .saftyManager dd{
 border-bottom: 1px #dddddd solid;
  width: calc(100% - 315px);
 padding: 20px 0 26px;
 line-height: 1.2;
 }
 .saftyManager dd span{
  display: inline-block;
  width: 11em;
 }
}/*-PC only-*/
.c2centerImg{
 justify-content: center;
 margin-bottom: -20px;
}
.c2centerImg li figure{
 margin: 0;
}
@media screen and (min-width: 769px) {
 .c2centerImg li{
  width: 36.5%;
  max-width: 350px;
  margin: 0 10px 20px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP transportation_safety*/
.saftyManager dt{
 padding: 20px 0 5px;
 line-height: 1.5;
 }
 .saftyManager dd{
 border-bottom: 1px #dddddd solid;
 padding: 0 0 26px;
 line-height: 1.2;
 }
 .saftyManager dd span{
  display: inline-block;
  margin-right: 1em;
  font-size: 14px;
  font-weight: 400;
 }
/**/
 .c2centerImg li{
  margin-bottom: 20px;
 }
	
/*SP policy*/	
	.policyPage #p03 .btnArrow{
  margin-left: 20%;
}
}/*-SP only-*/


.reportBox p{text-indent: 1em; margin-bottom: 15px;}
.reportBox ol li,.reportBox ul li{text-indent: -1em; margin-left: 1em;}
.reportBox dl,.reportBox ul{margin-left: 1em;}
@media screen and (max-width: 768px) {
	.reportBox p,.reportBox ol,.reportBox ul{padding-left: 0 !important; padding-right: 0 !important;}
				}

/*202308Add*/
#cboxLoadedContent {
  overflow: hidden !important;
  border-radius: 16px;
}
.modalBox {
  border-radius: 16px;
  background: #fff;
 /* height: 90vh;*/
  max-width: 1300px;
  padding: 0;
  margin: 0 auto;
	overflow: hidden
}
#cboxClose {
  position: absolute;
  top: 29px;
  right: 10px;
  display: block;
  background: url("/assets/images/colorbox_close.svg") no-repeat top center;
  width: 30px;
  height: 307px;
  text-indent: -9999px;
	
}
.modalInner {
  height: 100%;
  padding: 0 20px 10px;
}

/*202310Add*/
.column2Img p{
	margin-top: 15px;
  
}
.alliance30 .column2Img p{
	text-align: center;
}
.column2Img figure{
	border-radius: 4px;
  overflow: hidden;
  text-align: center;
	margin-top: 10px
}
@media screen and (min-width: 769px) {
.column2Img{
  justify-content: space-between !important;
 }
.column2Img li{
  width: 46%;
  max-width: 440px;
 }
 }


/*202408Add*/

/* media bnr */
.irTop__indexInner {
  max-width: 1080px;
  margin: 50px auto;
}
.irTop__bnrLink{
	background: #72af43;
	border-radius: 10px;
}
.irTop__bnrLink a.pcflex{
	align-items: center;
}
.irTop__bnrLink p{
	color: #fff;
	font-size: 33px;
	font-weight: 500;
	letter-spacing: 0.25em;
	line-height: 1.2;
}
.irTop__bnrLink p span{
	display: block;
	font-size: 13px;
	letter-spacing: 0.24em;
}

/* materiality page */
.gTable.material{
	margin: 0
}
.gTable.material thead th{
	width: 21%
}
.gTable.material thead th:last-child{
	width: 55%
}
.gTable.material td{
	padding: 8px;
  text-align: left;
}
.gTable.material tbody th{
	width: 3%;
	text-align: center;
}

.gTable.actionplan thead th{
  /*width: calc(66% / 3);*/
  padding: 4px;
}
.gTable.actionplan thead th:first-child{
  width: 12%
}
.gTable.actionplan thead th:nth-child(5),
.gTable.actionplan thead th:nth-child(6){
   width: 12%
}
.gTable.actionplan td{
  text-align: left;
  padding: 4px;
  width: auto;
}
main.susMaterial .inBoxinbox{
	padding: 20px;
background: #fff;
	margin-top: 20px;
}
main.susMaterial .inBoxinbox h4{
  margin: 10px 0 20px;
  font-weight: bold;
  color: #72af43;
}
main.susMaterial .inBoxinbox h5{
	margin-bottom: 10px;
}
main.susMaterial .inBoxinbox h5 + p{
	margin-left: 15px;
	margin-bottom: 20px
}
main.susMaterial .attention{
  background: #72af43;
  display: inline-block;
  padding: 3px 8px;
  font-size: 14px;
  color: #fff;
  margin-left: 10px
}

@media screen and (min-width: 769px){
#susMateriality .btnArrow{
	max-width: 420px;
}	
.irTop__bnrLink p{
	padding: 0 5.2%;
	width: 60%;
}
.irTop__bnrLink figure{
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	overflow: hidden;
	width: 40%;
}
}/*-PC only-*/
@media screen and (max-width: 768px) {
.irTop__bnrLink{
 padding: 0;
 margin: 60px 0 0;
}
.irTop__bnrLink figure{
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	overflow: hidden;
	width: 100%;
}
.irTop__bnrLink p{
  padding: 20px 5%;
 font-size: 20px;
 width: 100%;
}
.irTop__bnrLink p span{
 font-size: 12px;
}
}/*-SP only-*/

/*-- /202408Add --*/


/*-- 202508Add --*/
.icspcase{
  display: flex;
  gap:20px;
  margin-top: 30px
}



.icspcase li{
  width: calc((100% - 40px)/3);
  padding: 10px;
  border: 2px solid #ecf4e5;
}

.icspcase li h5{
background: #ecf4e5;
  padding: 10px;
  margin-bottom: 15px;
  text-align: center;
}

.icspcase li h6{
  font-weight: bold;
  margin-bottom: 15px;
}


.icspcase li li{
  list-style: disc;
width: 100%;
  border: none;
  margin-left: 15px;
  padding: 0;
  line-height: 1.5;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px){
.holder-img img{
  width: 50%
  
}
}
@media screen and (max-width: 768px) {
  .icspcase{
    flex-direction: column;
  }
  .icspcase li{
  width: 100%
}
  .spScroll table.environmentEnergyManage{
    width: 100%
  }
  .gTable.lheadline.environmentEnergyManage th:nth-child(2){
    min-width: initial
  }
  
  .inBox figure.holder-img{
    margin-top: 10px;
  }
}


.csrpolicy .inBox h3{
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
	padding-bottom: 10px;
	
}

.csrpolicy .inBox ul{
	display: flex;
	gap:20px 50px;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.csrpolicy .inBox ul li{
	font-size: 16px;
	margin-left: 0;

}


.csrpolicy .inBox ul li a{
	position: relative;
	padding-right: 30px;
	color: #333333;
}
.csrpolicy .inBox ul li a::before,
.csrpolicy .inBox ul li a::after{
	content: "";
    display: block;
    background: #72af43;
    position: absolute;
    right: -2px;
	top: 50%;
    height: 2px;
}
.csrpolicy .inBox ul li a::before {
    width: 20px;
}
.csrpolicy .inBox ul li a::after {
    width: 10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: right bottom;
}
.flex.column3{
	gap: 20px 60px;
	justify-content: flex-start;
}
.flex.column3 a{
	max-width: initial;
	margin: 0;
}
@media screen and (max-width: 768px) {
	.flex.column3 a{
	margin: 0 20px;
    max-width: 85%;
}
}