@charset "utf-8";
/* businessfield */

.mvTitle{
 background-image: url("../images/bg_title_business.jpg");
}
.wastePage .mvTitle{
 background-image: url("../images/bg_title_waste.jpg");
}
.soilPage .mvTitle{
 background-image: url("../images/bg_title_soil.jpg");
}
.generationPage .mvTitle{
 background-image: url("../images/bg_title_generation.jpg");
}
.forestPage .mvTitle{
 background-image: url("../images/bg_title_forest.jpg");
}
.facilityPage .mvTitle{
 background-image: url("../images/bg_title_facility.jpg");
}
.consultingPage .mvTitle{
 background-image: url("../images/bg_title_consulting.jpg");
}
.othersPage .mvTitle{
 background-image: url("../images/bg_title_others.jpg");
}
.othersPage .mvTitle h1{
 text-shadow: 0 0 8px rgba(0,0,0,0.4);
}
.sportsPage .mvTitle {
  background-image: url("../../../businessfield/images/bg_title_sports.jpg");
  position: relative;
}
.sportsPage .mvTitle:after{
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  top:0;
  left: 0;
  background: rgba(0,0,0,0.25);
  content: '';
  z-index: 99
}
.sportsPage .mvTitle > div{
  z-index: 101
}
.sportsPage .mvTitle h1{
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.9),-2px -3px 3px rgba(0, 0, 0, 0.9);
  
}

@media screen and (max-width: 768px) {
.othersPage .mvTitle h1{
 text-shadow: 0 0 8px rgba(0,0,0,0.6);
}

}/*-SP only-*/
.aluminumpelletsPage .mvTitle{
 background-image: url("../images/bg_title_aluminumpellets.jpg");
}
.palletPage .mvTitle{
 background-image: url("../images/bg_title_pallet.jpg");
}


/*----------- businessfield トップ--------------*/
#topLead{
 padding: 60px 20px 0;
 font-size: 16px;
 text-align: center;
 line-height: 2.5;
 letter-spacing: 0.13em;
}
#wasteRelated{
 position: relative;
}
#wasteRelated::before{
 content: "";
 display: block;
 background:url("../images/top_bg01.png") no-repeat center bottom / cover #f5f7f7;
 width: 100%;
 height: 79%;
 position: absolute;
 left: 0;
 bottom: 0;
 z-index: -1;
}
.businessList{
 margin-bottom: -55px;
}

/*202404add sports*/
#topRecycling .businessList,
#topSports .businessList{
	justify-content: center;
}
/*//202404add sports*/

.businessList li{
 border-radius: 8px;
 background: #fff;
 box-shadow: 0 0 8px 0 rgba(0,0,0,0.08);
 margin: 0 2.36% 55px;
}
.businessList li a{
 display: block;
 padding: 55px 16% 48px;
 text-align: center;
  position: relative;
  height: 100%;
  z-index: 0
}
.businessList li h3{
 display: flex;
 justify-content: center;
 align-items: center;
 min-height: 60px;
 margin: 20px -15px 0;
 font-size: 20px;
 font-weight: 500;
 line-height: 1.4;
 text-align: center;
}
.businessList li p{
 padding: 22px 0 0;
}
@media screen and (min-width: 769px) {
#wasteRelated h2{
 font-size: 32px;
 margin-bottom: 50px;
}
 .businessList li{
  width: 28.6%;
  max-width: 308px;
 }
    .businessList li a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  border-radius: 7px;
  background: #e8f2da;
  width: 100%;
  height: 100%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.businessList li a:hover::before{
  transform-origin:left top;
  transform:scale(1, 1);
} 
}/*-PC only-*/
#topRecycling{
 position: relative;
}
#topRecycling::before{
 content: "";
 display: block;
 background:url("../images/top_bg02.png") no-repeat center bottom / cover #f2f7f2;
 width: 100%;
 height: 52%;
 position: absolute;
 left: 0;
 bottom: 0;
 z-index: -1;
}
@media screen and (min-width: 769px) {
#topRecycling h2{
 font-size: 32px;
 margin-bottom: 50px;
}
}/*-PC only-*/
#topOthers{
 position: relative;
 padding-bottom: 0;
}
#topOthers::before{
 content: "";
 display: block;
 background:#f5f7f7;
 width: 100%;
 height: 322px;
 position: absolute;
 left: 0;
 bottom: 20px;
 z-index: -1;
}
#topOthers .pcflex div{
 background: url("../images/ic_golf.svg") no-repeat left top /75px auto;
 padding: 0 0 0 98px;
}
#topOthers .pcflex h3{
 margin-bottom: 14px;
 font-size: 20px;
}
#topOthers .pcflex p + p{
 margin-top: 25px;
}
#topOthers .pcflex .btnNormal{
 border-radius: 8px;
}
@media screen and (min-width: 769px) {
#topOthers h2{
 font-size: 32px;
 margin-bottom: 30px;
}
 #topOthers .pcflex{
  align-items: center;
 }
 #topOthers figure{
  width: 52.6%;
  max-width: 568px;
 }
 #topOthers .pcflex div{
  width: 42%;
  max-width: 452px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP business TOP*/
 #topLead{
 padding: 30px 20px 0;
 font-size: 14px;
 line-height: 1.9;
}
.businessList{
 margin-bottom: -40px;
 justify-content: space-between;
}
.businessList li{
 width: 46%;
 margin: 0 2% 40px;
}
.businessList li a{
 padding: 30px 8% 24px;
}
.businessList li h3{
 min-height: 50px;
 margin: 20px -15px 0;
 font-size: 18px;
}
.businessList li p{
 padding: 14px 0 0;
}
#wasteRelated h2{
 margin-bottom:30px;
 line-height: 1.1;
}
#topRecycling h2{
 margin-bottom: 60px;
 line-height: 1.1;
}
 #topOthers h2{
  margin-bottom: 20px;
 }
#topOthers .inner{
 padding: 0 20px;
}
 #topOthers figure{
  margin-bottom: 20px;
  text-align: center;
 } 
#topOthers .pcflex div{
 background-size: 55px auto;
 padding: 0 0 0 55px;
}
#topOthers .pcflex h3{
 font-size: 18px;
}
#topOthers .pcflex p + p{
 margin-top: 20px;
}
#topOthers .pcflex .btnNormal{
 padding-left: 30px;
 line-height: 1.4;
}
}/*-SP only-*/

/*202404add sports*/
#topSports{
 position: relative;
}
#topSports::before{
 content: "";
 display: block;
 background:url("../images/top_bg03.png") no-repeat center bottom / cover #f2f7f2;
 width: 100%;
 height: 52%;
 position: absolute;
 left: 0;
 bottom: 0;
 z-index: -1;
}
/*//202404add sports*/

@media screen and (max-width: 480px) {/*SP business TOP 480*/
 .businessList{
  display: block;
  margin-bottom: -20px;
 }
.businessList li{
 width: auto;
 margin: 0 2% 20px;
}
}/*-SP only-*/

/*下層*/
/* lead */
.lead {
 padding: 0px 20px 80px;
}
.lead h2{
 margin-bottom: 30px;
 line-height: 1.5;
 text-align: center;
}
.lead figure{
 margin-top: 65px;
}
.lead p{
 text-align: center;
}
.lead .pageNav{
 max-width: 960px;
 margin: 50px auto 0;
}
.inBox{
 padding: 60px;
 margin-top: 35px;
}
.inBox + .inBox{
 margin-top: 40px;
}
.inBox figure{
 margin-top: 35px;
 border-radius: 4px;
 overflow: hidden;
 text-align: center;
}
.inBox .ttlBar{
 margin-bottom: 20px;
}
.inBox h4{
 margin-bottom: 15px;
}
.imgTxt.pcflex .txt h4{
 line-height: 1.4;
 margin-bottom: 15px;

}
.inBox .txt p + h3{
 margin-top: 45px;
}
.column2Img p,
.column4Img p{
 margin-top: 15px;
 text-align: center;
}
.bdBox{
 border: 1px #dddddd solid;
 padding: 60px 60px 45px;
 margin-top: 35px;
}
.imgTxt figure{
 border-radius: 4px;
 overflow: hidden;
}
@media screen and (min-width: 769px) {
.lead .pageNav.forestPageNav a {
    height: 135px;
}
 .inBox.pcflex.reverse,
 .imgTxt.pcflex.reverse{
  flex-flow: row-reverse;
 }
 .inBox.pcflex > h3{
  width: 100%;
 }
 .inBox.pcflex .txt{
  width: 50%;
  max-width: 480px;
 }
 .inBox.pcflex figure{
  width: 42%;
  max-width: 400px;
  margin-top: 0;
 }
 .inBox .inBox2equal.pcflex{
  justify-content: space-between !important;
 }
 .inBox .inBox2equal.pcflex > *{
  width: 48%;
  max-width: 400px;
 }
 .column2Img{
  justify-content: space-between !important;
 }
 .column2Img li{
  width: 46%;
  max-width: 440px;
 }
 .column2Img >img{
  width: 48.5%;
 }
 .column4Img li{
  width: 23.6%;
  max-width: 254px;
  margin-right:1.86% ;
 }
 .column4Img li:nth-of-type(4n){
  margin-right: 0;
 }
 .imgTxt.pcflex .txt{
  width: 55.56%;
  max-width: 600px;
 }
 .imgTxt.pcflex figure{
  width: 37.1%;
  max-width: 400px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP 下層*/
 .lead {
 padding: 0px 20px 40px;
}
.lead h2{
 margin-bottom: 20px;
}
.lead figure{
 margin-top: 30px;
}
.lead .pageNav{
 margin: 30px auto 0;
}
	.inBox{
		padding: 30px 10px;
		margin: 35px 10px;
	}
 .inBox figure + .txt{
  padding-top: 20px;
 }
.inBox h4{
 padding-left: 20px;
 padding-right: 20px;
}
 .column2Img img + img{
  margin-top: 10px;
 }
 .column4Img.flex{
  justify-content: space-between;
 }
 .column4Img.flex li{
  width: 48%;
 }
.bdBox{
 padding: 30px 10px 30px;
 margin-top: 30px;
}
.imgTxt figure{
 padding: 0 20px 20px;
}
	.imgTxt.pcflex .txt h4{
		padding-left: 20px
}
}/*-SP only-*/


/*------ waste ---------*/
.wasteBox{
 overflow: hidden;
}
.wasteBox .inner{
 position: relative;
 max-width: 980px;
}
.wasteBox h2{
 position: relative;
 padding: 0 0 32px;
 text-align: center;
}
.wasteBox h2 img{
 margin-bottom: 15px;
}
.wasteInbox{}
.wasteInbox >.pcflex{
 margin-bottom: 30px;
}
.wasteInbox .pcflex dt{
 font-size: 18px;
 line-height: 1.4;
 text-align: center;
}
.wasteInbox .pcflex dd{
 font-size: 25px;
 font-weight: 500;
 letter-spacing: 0;
 line-height: 1;
 text-align: center;
 white-space: nowrap;
}
.wasteInbox .pcflex dd span{
 font-size: 32px;
}
.wasteInbox .pcflex dd .num{
 color: #72af43;
 font-size: 90px;
 font-weight: bold;
}
.wasteInbox .pcflex dd span.note{
 display: block;
 font-size: 10px;
 text-align: right;
}
.wasteInbox sup{
 vertical-align: 1em;
}
.wasteInbox p + p,
.wasteInbox figure + p{
 margin-top: 40px;
}
.wasteInbox .btnNormal.icPopup{
 padding-left: 35px;
 padding-right: 12px;
}
@media screen and (min-width: 769px) {
 .wasteBox >.inner.pcflex{
  align-items: flex-start;
 }
 .wasteBox > .inner::before{
  content: "";
  display: block;
  background: #72af43;
  width: 2px;
  height: 200%;
  position: absolute;
  top: -120px;
  left: 120px;
  z-index: 0;
 }
 .wasteBox h2{
  background: #fff;
  width: 200px;
  font-size:24px;
 }
 .wasteBox.bg01 h2{
  background: #f5f7f7;
 }
.wasteInbox{
 width: calc(100% - 200px);
 padding: 0 0 0 74px;
 }
 .wasteInbox .pcflex{
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
 }
 .wasteInbox .pcflex dt{
  white-space: nowrap;
 }
 .wasteInbox >.pcflex figure{
  margin-left: 38px;
 }
 /**/
 .wastePage #p01 > .inner::before{
  top: 0;
 }
 .wastePage #p01 .wasteInbox .pcflex dt{
  min-width: 340px;
 }
 .wasteInbox h3.txtCenter{
  margin-top: 95px;
 }
 .wastePage #p04 > .inner::before{
  height: 140px;
 }
 .wasteInbox .wasteLast{
  justify-content: space-between;
  align-items: flex-start;
   flex-wrap: wrap;
  margin-top: 30px;
 }
 .wasteInbox .wasteLast li{
  width: 48%;
  max-width: 285px;
 }
 .wasteInbox .wasteLast li:nth-of-type(n+3){
   margin-top: 35px;
 }
   .wasteInbox .wasteLast li img{
    border-radius: 4px;
  }
 .wasteInbox .wasteLast li h4{
  margin: 25px 0 12px;
  font-size: 18px;
 }
}/*-PC only-*/
@media screen and (min-width: 769px) and (max-width: 900px) {
.wasteInbox{
 width: calc(100% - 200px);
 padding: 0 0 0 20px;
 }
 .wasteInbox .pcflex dd .num {
    font-size: 80px;
}
}/*-PC max900 only-*/
@media screen and (max-width: 768px) {/*SP waste*/
.wasteBox h2{
 padding: 0 0 20px;
}
.wasteBox h2 img{
 width: 100px;
 margin-bottom: 15px;
}
.wasteInbox{
 padding: 0 20px;
 }
.wasteInbox >.pcflex{
 margin-bottom: 30px;
}
.wasteInbox .pcflex dt{
 font-size: 16px;
}
.wasteInbox .pcflex dd{
 padding: 0 0 20px;
 font-size: 20px;
 text-align: center;
}
.wasteInbox .pcflex dd span{
 font-size: 28px;
}
.wasteInbox .pcflex dd .num{
 font-size: 60px;
}
 .wasteInbox .pcflex figure{
  padding: 0 20px;
  text-align: center;
 }
.wasteInbox p + p,
.wasteInbox figure + p{
 margin-top: 20px;
}

 .wasteInbox h3.txtCenter{
  margin-top: 50px;
 }
 .wasteInbox .wasteLast{
  margin-top: 40px;
 }
 .wasteInbox .wasteLast li{
  text-align: center;
 }
 .wasteInbox .wasteLast li + li{
  margin-top: 30px;
 }
 .wasteInbox .wasteLast li h4{
  margin: 15px 0 8px;
  font-size: 16px;
 }
 main .inner .wasteInbox .wasteLast li p{
  padding: 0;
 }
}/*-SP only-*/

/**modal**/
#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;
}
#cboxClose:hover{
	background-position: top center;
}
#cboxLoadedContent{
	overflow: hidden !important;
 border-radius: 16px;
}
.modalBox{
 border-radius: 16px;
 background: #fff;
 width: 100vw;
 height: 90vh;
 max-width: 1080px;
 padding: 65px 65px;
 margin: 0 auto;
}
.modalInner{
    overflow-y: scroll;
    height: 100%;
 padding: 0 85px 10px;
}
@media screen and (max-width: 1080px) {
.modalBox{
 width: 100%;
 padding: 65px 65px;
}
.modalInner{
 padding: 0 7vw 40px;
}
}/*-max1080 only-*/
.modalBox h3{
 margin-bottom: 30px;
 font-size: 26px;
 text-align: center;
}
.arrowTtlList{}
.arrowTtlList li figure{
 margin-bottom: 15px;
}
.arrowTtlList li h4{
 position: relative;
 display: flex;
 align-items: center;
 justify-content: flex-start;
 /*min-height: 46px;*/
 width: 100%;
 font-size: 18px;
 line-height: 1.3;
}
.arrowTtlList li a h4{
 padding-right: 25px;}
.arrowTtlList li a h4::before,
.arrowTtlList li a h4::after{
 content: "";
 display: block;
 background: #72af43;
 height: 2px;
 position: absolute;
 top: 50%;
 right: 3px;
}
.arrowTtlList li a h4::before{
 width: 25px;
}
.arrowTtlList li a h4::after{
 width: 7px;
 -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 transform-origin: right bottom;
}
.arrowTtlList li p{
 margin-top: 15px;
}
@media screen and (min-width: 769px) {
.arrowTtlList{
 justify-content: flex-start;
 margin-bottom: -20px;
}
.arrowTtlList li{
  width: 30%;
  max-width: 227px;
  margin-right: 5%;
  margin-bottom: 35px;
 }
.arrowTtlList li:nth-of-type(3n){
  margin-right: 0;
 }
.arrowTtlList li a:hover h4{
  color: #72af43;
 }
 .arrowTtlList figure{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 152px;  
  }
 .arrowTtlList figure img{
  max-height: 100%;
 }
 #facilityIntroduction.modalBox .arrowTtlList{
 	margin-top: 35px;
 }
 #facilityIntroduction.modalBox .arrowTtlList li{
 	width: 47%;
	max-width: 356px;
 }
 #facilityIntroduction.modalBox .arrowTtlList li:nth-of-type(2){
 	margin-right: 0;
 }
 #facilityIntroduction.modalBox .arrowTtlList figure{
 	height: auto;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
.modalBox{
 padding: 60px 35px;
}
 
 .arrowTtlList li{
  margin:0 auto 30px;
 }
 .arrowTtlList figure{
  text-align: center;
  }
 .arrowTtlList figure img{
  max-height: 200px;
 }
}/*-SP only-*/

/*--soil---*/
.abilityNum{
 display: inline-block;
 border-bottom: 1px #72af43 solid;
 margin-top: 20px;
 color: #72af43;
 font-size: 24px;
 font-weight: 500;
 line-height: 1.5;
}
.abilityNum span{
 font-family: 'Noto Sans JP',sans-serif;
 font-size: 48px;
}
/*--generation---*/
.gFacility{}
.gFacility h5{
 background: #ecf4e5;
 font-size: 18px;
 line-height: 1.94;
 text-align: center;
}
.gFacility ul h6{
 font-size: 18px;
 line-height: 2;
}
.gFacility ul p{
 text-align: left;
}
.gFacility ul a{
 margin-top: 30px;
}
.gFacility ul li.pcflex .btnNormal{
 padding-left: 25px;
 padding-right: 40px;
}
 .gFacility ul li figure{
	 border-radius: 5px;
    overflow: hidden;
 }
.gFacility ul li figure img{
	border-radius: 5px;
}
@media screen and (min-width: 769px) {
 .gFacility ul{
  padding-top: 20px;
  margin-bottom: -50px;
 }
 .gFacility ul li{
  width: 48%;
  max-width: 400px;
  margin-bottom: 50px;
 }
 .gFacility ul li.pcflex{
  flex-flow: row-reverse;
  width: 100%;
  max-width: none;
 }
 .gFacility ul li figure{
  margin-top: 0;
 }
 .gFacility ul li.pcflex figure{
  width: 48%;
  max-width: 400px;
  margin-top: 0;
 }
 .gFacility ul li.pcflex .txt{
  width: 48%;
 }
 .generationPage .note.txtRight{
  max-width: 840px;
  margin: 0 auto;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
 .gFacility ul li h6{
  margin-top: 20px;
 }
 .gFacility ul li .txt{
  padding-top: 0;
 }
}/*-SP only-*/

/**forest**/
.forestPage .inBox p.mTop20 span{
 color: #2e90c3;
}
.forestPage #p01 .column2Img{
	margin-top: -20px;
}
.forestPage #p01 .column2Img li{
	margin-top: 20px;
}
.forestPage #p01 .column2Img figure{
	width: 100%;
	max-width: 440px;
	margin-top: 0;
}
.forestPage #p01 .column2Img figure img{
	border-radius: 6px;
}
.forestPage #p01 .column2Img figcaption{
	margin-top: 15px;
}
.forestPage #p02 figure img{
	width: 100%;
	max-width: 440px;
}
.forestPage #p03 .inBox figure{
	margin-top: 0;
}

/*------ sports ---------*/
.sportsPage #p01 p:not(:last-child){
	margin-bottom: 1.2em;
}
.sportsPage #p01 .column2Img p{
	margin-bottom: 0;
	text-align: left;
}
@media screen and (min-width: 769px) {
.sportsPage #p01 .inBox li:nth-child(1) figure,
.sportsPage #p01 .inBox li:nth-child(2) figure{
	margin-top: 0;
}
}/*-PC only-*/
@media screen and (max-width: 768px) {
.sportsPage #p01 .inBox li:nth-child(1) figure{
	margin-top: 0;
}
.sportsPage #p01 .column2Img p{
	padding: 0;
}
}/*-SP only-*/

.sportsPage .txtCopy{
  margin-top: -120px;
  padding-bottom: 120px;
  margin-right: 30px;
  color: #fff;
  text-align: right;
  font-size: 12px;
    z-index: 101;
  position: relative;
}
