@charset "UTF-8";


/*--------------------------------------------------------------------
=== [TOP] ====================================
 -------------------------------------------------------------------*/

.section_ttl h2 {
  	font-family: var(--ff-en);	
	color:var(--c-bl01);
	font-size: 100px;
	font-weight: 900;	
	line-height: 1;
	}
.section_ttl .section_ttl_jp {
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.1em;
	}

/*=== [mvArea] ===*/

#mvArea {
	padding-top: min(22.222vw, 320px);
	position: relative;
	height:min(50vw, 720px);
	}
#mvArea .inner {
	max-width: 1280px;
	height: min(27.778vw, 400px);
	position: absolute;
	left: 0;
	right: 0;
	z-index: 10;
	}

#mvArea h1 {
	font-size: 32px;
	letter-spacing: 0.5em;
	line-height: 1.5;
	font-weight: bold;
	position: absolute;
	bottom: min(30.556vw, 440px);
		}
#mvArea h1 span {
	display: block;
	font-size: 14px;
	letter-spacing: 0.5em;
	font-weight: 400;
}	
#mvArea figure {
  width:100%;
  height:min(27.778vw, 400px);
  overflow:hidden;
  position: absolute;
	}
#mvArea figure img {
  width:100%;
  height:100%;
  object-fit:cover;
	}
#mvArea .mvArea_catch {
	width:min(45.347vw, 653px);
	position: absolute;
	right: 0;
	bottom: min(3.472vw, 50px);
	}

/*=== [newsArea] ===*/

#newsArea {
	margin-top: 80px;
	height: 540px;
	}

#newsArea .inner {
	position: relative;
	display: flex;
	}

#newsArea .section_ttl {
	position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

#newsArea .news_box {
	width: min(66.667vw, 960px);
	background-color: #fff;
	box-shadow: 0 4px 32px rgba(0, 0, 0, 0.1);
	padding:40px min(5.556vw, 80px) 60px;
	position: absolute;
	right: 0;
    top: 100px;
	}

#newsArea .news_box li {
	display: flex;
	padding: 20px 0;
	border-bottom: 1px solid rgba(24,29,146,0.1);
	}
#newsArea .news_box li:last-child {
	border: none;
	}

#newsArea .news_box li .date {
	font-family: var(--ff-en);	
	color: #266AB3;
	margin-right: min(5.556vw, 80px);
	}
#newsArea .news_box li a {
	font-weight: bold;
	display: block;
	width: 100%;
}

#newsArea .btn_more {
	position: absolute;
	bottom: -30px;
	}

/*=== [businessArea] ===*/
#businessArea {
	padding-bottom: 200px;
	margin-bottom: 80px;
	}
#businessArea .business_header {
	display: flex;
	align-items: center;
	}

#businessArea .business_header .inner {
	position: absolute;
    left: 0;
    right: 0;
    text-align: right;
}	

#businessArea .business_header figure {
  widthmax(60vw, 960px);
  height:min(33.333vw, 480px);
  overflow:hidden;
	}
#businessArea .business_header figure img {
  width:100%;
  height:100%;
  object-fit:cover;
	}
#businessArea .business_contents{
	max-width: 1440px;
	margin: -80px auto 0;
	background-color: #fff;
	position: relative;
	}
#businessArea .business_contents .inner{
	padding-top:80px;
	}


#businessArea ul {
	margin-top: 80px;
	display: flex;
	gap:min(5.486vw, 79px);
	flex-wrap: wrap;
	}

#businessArea ul li{
  width:calc((100% - min(5.486vw, 79px) * 2) / 3);
  display:flex;
  flex-direction:column;
}

#businessArea ul li figure{
  display:flex;
  flex-direction:column;
  flex:1;           
}
#businessArea ul li figcaption{
  display:flex;
  flex-direction:column;
  flex:1;           
}
#businessArea ul li .btn_more{
  margin-top:auto;
}

#businessArea ul li figure > a{
  display:block;
  width:100%;
  aspect-ratio:374/250;
  overflow:hidden;
}

#businessArea ul li figure > a img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#businessArea ul li h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.33;
	margin: 20px 0;
	min-height:calc(1.33em * 2);
	}
#businessArea ul li p {
	font-size: var(--fs-s);	
	margin-bottom: 20px;
	}

/*=== [contactArea] ===*/
#contactArea {
	padding-bottom: 200px;
	margin-bottom: 200px;
	}
#contactArea .inner {
	position: relative;
	}
#contactArea .contact_box {
	background-color: var(--c-bl01);
	color: #fff;
	width: min(55.556vw, 800px);
	padding: 48px;
	position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 100px;
	text-align: center;
	font-size: var(--fs-l);
	font-weight: bold;
	}
#contactArea .contact_box .btn_contact a {
	background: #fff;
	color: var(--c-bl01);
	display: flex;
	align-items: center;
	justify-content: center;
	gap:10px;
	padding:24px;
	width: min(33.333vw, 480px);
	margin: 24px auto 0;
	}
#contactArea .contact_box .btn_contact a:before {
	content: "";
	display: inline-block;
	background-image: url("../img/common/ico_mail_bl.svg");
	width: 20px;
	height: 16px;
	background-size: cover;
	}

/*=== [initiativesArea] ===*/
#initiativesArea {
	background: var(--c-grd);
	padding: 160px 0;
	}
#initiativesArea .section_ttl h2,#initiativesArea .section_ttl .section_ttl_jp,#initiativesArea .mainLead,#initiativesArea .leadTxt {
	color: #fff;
	}
#initiativesArea .section_ttl {
	margin-bottom: 80px;
	}

#initiativesArea ul {
	margin-top: 80px;
	display: flex;
	gap:min(5.486vw, 79px);
	}

#initiativesArea ul li{
  width: 100%;
  display:flex;
  flex-direction:column;
}

#initiativesArea ul li figure{
  display:flex;
  flex-direction:column;
  flex:1;           
}
#initiativesArea ul li figcaption{
  display:flex;
  flex-direction:column;
  flex:1;       
  color: #fff;
}
#initiativesArea ul li .btn_more{
  margin-top:auto;
}

#initiativesArea ul li figure > a{
  display:block;
  width:100%;
  aspect-ratio:600/400;
  overflow:hidden;
}

#initiativesArea ul li figure > a img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#initiativesArea ul li h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.33;
	margin: 20px 0;
	}
#initiativesArea ul li p {
	font-size: var(--fs-s);	
	margin-bottom: 20px;
	}

/*=== [corporateArea] ===*/
#corporateArea {
	padding-bottom: 200px;
	margin-bottom: 80px;
	}
#corporateArea .corporate_header {
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	}

#corporateArea .corporate_header .inner {
	position: absolute;
    left: 0;
    right: 0;
    text-align: left;
}	

#corporateArea .corporate_contents{
	max-width: 1440px;
	margin: -80px auto 0;
	background-color: #fff;
	position: relative;
	}
#corporateArea .corporate_contents .inner{
	padding-top:80px;
	}


#corporateArea .corporate_header figure {
  width:max(60vw, 960px);
  height:min(33.333vw, 480px);
  overflow:hidden;
	}
#corporateArea .corporate_header figure img {
  width:100%;
  height:100%;
  object-fit:cover;
	}

#corporateArea ul {
	margin: 80px 0;
	display: flex;
	gap:min(5.486vw, 79px);
	flex-wrap: wrap;
	}

#corporateArea ul li{
  width:calc((100% - min(5.486vw, 79px) * 2) / 3);
  display:flex;
  flex-direction:column;
}

#corporateArea ul li figure{
  display:flex;
  flex-direction:column;
  flex:1;           
}
#corporateArea ul li figcaption{
  display:flex;
  flex-direction:column;
  flex:1;           
}
#corporateArea ul li .btn_more{
  margin-top:auto;
}

#corporateArea ul li figure > a{
  display:block;
  width:100%;
  aspect-ratio:374/250;
  overflow:hidden;
}

#corporateArea ul li figure > a img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#corporateArea ul li h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.33;
	margin: 20px 0;
	}


/*--------------------------------------------------------------------
=== [BTM] ====================================
 -------------------------------------------------------------------*/

/*=============== [company] ===============*/

#btm_page #corporateArea {
	padding: 0;
	margin-bottom: 160px;
	position: relative;
	}
#btm_page #corporateArea .corporate_contents {
	margin-top: 0;
	}
#btm_page #corporateArea .corporate_contents .inner {
	border-top: solid 2px var(--c-bl01);
	padding: 0;
	}
#btm_page #corporateArea .corporate_contents.bdNone {
	margin-top: -120px;
	}
#btm_page #corporateArea .corporate_contents.bdNone .inner{
	padding-top: 80px;
	border: none;
	}
/*=============== [company － message] ===============*/
#messageArea {
	position: relative;
	}
#messageArea .message_contents{
	position: relative;
	margin-bottom: 80px;
	padding-bottom: 160px;
	}
#messageArea .message_contents .inner {
	padding-left: min(38.889vw, 560px);
	position: relative;
	z-index: 10;
	}
#messageArea .message_contents figure {
  width:max(40vw, 640px);
	position: absolute;
	}
#messageArea .message_contents figure img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#messageArea .message_contents .leadTxt {
    font-size: var(--fs-xl);
    margin: 80px 0;
}

#messageArea .message_contents .name {
	text-align: right;
	}

/*=============== [company － profile] ===============*/

#profileArea {
	position: relative;
    height: 890px;
	}
#profileArea .profile_contents {
	margin-top: 40px;
	width:min(55.556vw, 800px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}

/*=============== [company － profile - about] ===============*/

#aboutArea {
	margin-top: 160px;
	}
#aboutArea .about_contents {
	margin-top: 80px;
	}
#aboutArea .about_contents .inner {
	display: flex;
	gap:80px;
	padding-bottom: 160px;
	border-bottom: solid 2px var(--c-bl01);
	}
#aboutArea .about_contents .inner ul {
	width: 100%;
	border-top: 1px solid rgba(24,29,146,0.1);	
	font-weight: bold;
	}
#aboutArea .about_contents .inner ul li {
	display: flex;
	padding: 20px 0;
	border-bottom: 1px solid rgba(24,29,146,0.1);
	gap:16px;
	}
#aboutArea .about_contents .inner ul li .ttl {
	font-family: var(--ff-en);	
	color: #266AB3;
	margin-right: min(5.556vw, 80px);
	width: min(11.111vw, 160px);
	}
#aboutArea .about_contents .inner ul li dl {
　display:grid;
  grid-template-columns: auto 1fr;
  gap:10px 20px;
	}


/*=============== [company － profile - access] ===============*/

#accessArea {
	margin-top: 80px;	
	}
#accessArea .access_contents {
	margin-top: 80px;
	}
#accessArea .access_contents .inner {
	display: flex;
	gap:80px;
	}
#accessArea .access_contents .access_map .address {
	margin: 16px 0;
	font-size: var(--fs-m);
	font-weight: bold;
	}

#accessArea .access_contents .access_map .btn_googlemap a {
	color:var(--c-bl01);
	display: flex;
	align-items: center;
	gap:14px;
	padding:8px 32px 8px 20px;
	width: fit-content;
	font-weight: bold;
	border: 1px solid var(--c-bl01);
	border-radius:8px;
	}
#accessArea .access_contents .access_map .btn_googlemap a:before {
	content: "";
	display: inline-block;
	background-image: url("../img/common/ico_map.svg");
	width: 16px;
	height: 20px;
	background-size: cover;
	}


/*=============== [company － profile - powerplants] ===============*/
#powerplantsArea {
	position: relative;
    height: 890px;
	margin-top: 160px;
	margin-bottom: 240px;
	}

#powerplantsArea .powerplants_contents {
	margin-top: 40px;
	width:min(55.556vw, 800px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}

/*=============== [company － vision] ===============*/

#visionArea {
	margin-bottom: 80px;
}
#visionArea .vision_contents {
	background-size: 100%;
	width: 100%;
	height: min(62.5vw, 900px);
	display: flex;
    align-items: center;
	padding: 0 80px;
	}

#visionArea .vision_contents h2 {
	font-size: 48px;
	font-family: var(--ff-en);
	line-height: 1;
	font-weight: 900;
	margin-bottom: 48px;
}
#visionArea .vision_contents h2 span {
	font-size: var(--fs-xxl);
	display: block;
	margin-top: 8px;
}
#visionArea .vision_contents .mainLead {
	font-size: 32px;
}

#visionArea .vision_contents:nth-child(1) {
	background-image: url("../img/company/vision/vision_img01.jpg");
	background-color: var(--c-bl01);
	}
#visionArea .vision_contents:nth-child(2) {
	background-image: url("../img/company/vision/vision_img02.jpg");
	justify-content: flex-end;
	background-color: #328B09;
	}
#visionArea .vision_contents:nth-child(3) {
	background-image: url("../img/company/vision/vision_img03.jpg");
	background-color: #E5A800;
	}

#visionArea .vision_contents > div {
	padding: 80px;
	color: #fff;
	width: 560px;
}

#visionArea .vision_contents:nth-child(1) > div  {
	background-color: var(--c-bl01);
	}
#visionArea .vision_contents:nth-child(2) > div  {
	background-color: #328B09;
	}
#visionArea .vision_contents:nth-child(3) > div  {
	background-color: #E5A800;
	}


/*=============== [company － history] ===============*/
#historyArea {margin-bottom: 80px;}

#historyArea .history_slider {
	position: relative;
	width: 100%;
	margin-bottom: 80px;
}

#historyArea .history_slider_list {
	margin: 0;
	padding: 0;
	list-style: none;
}
#historyArea .history_slider_list li {
	margin: 0;
	padding: 0;
}

#historyArea .history_slider_list li img {
	display: block;
	width: 100%;
	height: auto;
}

#historyArea .history_slider .history_arrow {
	position: absolute;
	top: 50%;
	z-index: 10;
	width: 60px;
	height: 60px;	
	border: none;
	padding: 0;
	background: url("../img/common/ico_arw_slide.svg") no-repeat center center / contain;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
	transform: translateY(-50%);
}

#historyArea .history_slider .history_prev {
	left: 40px;
}

#historyArea .history_slider .history_next {
	right: 40px;
	transform: translateY(-50%) scaleX(-1);
}

#historyArea .history_slider .slick-prev::before,
#historyArea .history_slider .slick-next::before {
	content: none;
}

#historyArea .history_contents{
	margin-top: 80px;
}
#historyArea .history_contents .history_acd {
	margin-bottom: 40px;
}

#historyArea .history_contents .history_acd dl {
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
	margin-bottom: 40px;
	background-color: #fff;
}

#historyArea .history_contents .history_acd dt {
	padding: 32px 48px;
	border-bottom: 1px solid #E6E6E6;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.33;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}

#historyArea .history_contents .history_acd dt .ttl {
	display: block;
}

#historyArea .history_contents .history_acd dd {
	padding: 16px 48px;
	border-bottom: 1px solid #E6E6E6;
	display: flex;
}

#historyArea .history_contents .history_acd dd:last-child {
	border-bottom: none;
}

#historyArea .history_contents .history_acd dd .ym {
	width: min(11.111vw, 160px);
	font-weight: bold;
	flex-shrink: 0;
}

#historyArea .history_contents .history_acd dd .cont {
	flex: 1;
}
#historyArea .history_contents .history_acd .acd_btn {
	width: 32px;
	height: 32px;
	border: none;
	background: none;
	padding: 0;
	position: relative;
	flex-shrink: 0;
	cursor: pointer;
}
#historyArea .history_contents .history_acd .acd_btn::before,
#historyArea .history_contents .history_acd .acd_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #1D2D8C;
	transform: translate(-50%, -50%);
	transition: 0.3s;
}

#historyArea .history_contents .history_acd .acd_btn::before {
	width: 20px;
	height: 2px;
}
#historyArea .history_contents .history_acd .acd_btn::after {
	width: 2px;
	height: 20px;
}
#historyArea .history_contents .history_acd dl.is-open .acd_btn::after {
	opacity: 0;
}
#historyArea .history_contents .history_acd dl:not(.is-open) dt {
	border-bottom: none;
}

/*=============== [company － reason] ===============*/

#reasonArea01,#reasonArea02,#reasonArea03,#reasonArea04,#reasonArea05 {
	position: relative;
	margin-bottom: 80px;
	}
#reasonArea02 .section_ttl_wrap,#reasonArea04 .section_ttl_wrap {
    flex-direction: row;
}
#reasonArea01 .inner,#reasonArea02 .inner,#reasonArea03 .inner,#reasonArea04 .inner,#reasonArea05 .inner {
	}
#reasonArea01 .inner .wrap,#reasonArea02 .inner .wrap,#reasonArea03 .inner .wrap,#reasonArea04 .inner .wrap{
	width:min(66.667vw, 960px);	
	}
#reasonArea02 .inner .wrap,#reasonArea04 .inner .wrap{
	width:min(66.667vw, 960px);	
	right: 0;
	position: absolute;
	}
.reason_contents {
	margin-top: 40px;
	width:min(66.667vw, 960px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}
/*#reasonArea01 .section_ttl,#reasonArea02 .section_ttl,#reasonArea03 .section_ttl,#reasonArea04 .section_ttl,#reasonArea05 .section_ttl {
	margin-left: min(5.556vw, 80px);
	}*/
.reason_contents .leadTxt {
	margin-bottom: 0;
	}
.reason_contents .btn_more {
	margin-top: 40px;
	}
#reasonArea02 .section_ttl_wrap .reason_contents ,#reasonArea04 .section_ttl_wrap .reason_contents {
	position: absolute;
	right: 0;
	padding: min(5.556vw, 80px);
	}
#reasonArea02 .section_ttl_wrap .section_ttl ,#reasonArea04 .section_ttl_wrap .section_ttl {
	margin-left: min(5.556vw, 80px);
}
#reasonArea01 figure {
	width: min(73.333vw, 1056px);
	}
#reasonArea03 figure {
	width:min(55.556vw, 800px);
	}
#reasonArea04 figure {
	width: 100%;
	}
#reasonArea04 {
	min-height: min(60.208vw, 867px);
	}
#reasonArea05 figure {
	width: min(71.111vw, 1024px);
	}

/*=============== [company － marubeni] ===============*/

#marubeniArea {
	position: relative;
	}
#marubeniArea .marubeni_contents{
	max-width: 1280px;
    margin: 120px auto;	
	}
#marubeniArea .marubeni_contents .inner {
	max-width: 800px;
	margin: 0;
	}
@media (max-width: 1440px) {
#marubeniArea .marubeni_contents .inner{
        margin: 0 20px;
    }
}
#marubeniArea .marubeni_contents .txt_box{
	margin-bottom: 32px;
	}
#marubeniArea .marubeni_contents .txt_box figure{
	margin-bottom: 32px;
}
#marubeniArea .marubeni_contents .txt_box h4{
	font-size: var(--fs-xxl);
	font-weight: bold;
	margin-bottom: 16px;
	}
#marubeniArea .marubeni_contents .txt_box .txt_list{
	margin: 16px 0;
	}
#marubeniArea .marubeni_contents .txt_box .txt_list li {
	display: flex;
	}
#marubeniArea .marubeni_contents .txt_box .txt_list li:before{
	content:"・";
	width: 1em;
	}

#marubeniArea .marubeni_contents .txt_box .btn_more{
	margin-bottom: 16px;
	}


/*=============== [business] ===============*/

#btm_page #businessArea {
	padding: 0;
	margin-bottom: 200px;
	position: relative;
	}
#btm_page #businessArea .business_contents {
	margin-top: -120px;
	}
#btm_page #businessArea .business_contents .inner,#relatedArea .related_contents .inner{
	padding-top: 80px;
	border: none;
	}
#businessArea .business_contents_top ul {
	display: flex;
	gap:min(4.444vw, 64px);
	}
#businessArea .business_contents_top ul li {
	background-color: #F2F2F2;
	width: calc((100% - min(4.444vw, 64px) * 1) / 2);
	text-align: center;
	padding: 32px;
	}
#businessArea .business_contents_top ul li img {
	width: 120px;
	margin: 0 auto;
	}
#businessArea .business_contents_top ul li .num {
	font-family: var(--ff-en);
	font-size: 80px;
	font-weight: bold;
	line-height: 1;
	margin: 16px 0;
	}

#businessArea .business_contents_top ul li .txt,#relatedArea .related_contents_top ul li .txt {
	font-size: var(--fs-l);
	font-weight: bold;
	}
#businessArea .business_contents_top .txt,#relatedArea .related_contents_top .txt {
	font-size: var(--fs-l);
	margin: 32px 0;
	}
#btm_page #businessArea ul li h3 {
    min-height:inherit;
}

#relatedArea {
	padding: 0;
	margin-bottom: 160px;
	position: relative;
	}

#relatedArea .related_contents {
    max-width: 1440px;
    margin: -120px auto 0;
    background-color: #fff;
    position: relative;
}
#relatedArea .section_ttl_wrap {
	flex-direction: row;
	}
#relatedArea .section_ttl_wrap .inner {
	text-align: right;
	}


#relatedArea ul {
	margin-top: 80px;
	display: flex;
	gap:min(5.486vw, 79px);
	flex-wrap: wrap;
	}

#relatedArea ul li{
  width:calc((100% - min(5.486vw, 79px) * 2) / 3);
  display:flex;
  flex-direction:column;
}

#relatedArea ul li figure{
  display:flex;
  flex-direction:column;
  flex:1;           
}
#relatedArea ul li figcaption{
  display:flex;
  flex-direction:column;
  flex:1;           
}
#relatedArea ul li .btn_more{
  margin-top:auto;
}
#relatedArea ul li figure > a{
  display:block;
  width:100%;
  aspect-ratio:374/250;
  overflow:hidden;
}
#relatedArea ul li figure > a img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#relatedArea ul li h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.33;
	margin: 20px 0;
	min-height:calc(1.33em * 2);	
	}
#relatedArea ul li p {
	font-size: var(--fs-s);	
	margin-bottom: 20px;
	}

#relatedArea.btm {
	}
#relatedArea.btm ul {
    margin-top: 0;
	}
#relatedArea.btm .related_contents {
	margin: 0 auto;
	}
#relatedArea.btm .related_contents .inner {
    border-top: solid 2px var(--c-bl01);
	}

/*=============== [business － generation] ===============*/

#generationArea01,#generationArea03 {
	position: relative;
	margin-bottom: 240px;
	}
#generationArea02 {
	position: relative;
	margin-bottom: 340px;
	}
#generationArea02 .section_ttl_wrap {
    flex-direction: row;
}
#generationArea01 .inner,#generationArea02 .inner,#generationArea03 .inner{
	}
#generationArea01 .inner .wrap,#generationArea02 .inner .wrap,#generationArea03 .inner .wrap{
	width:min(66.667vw, 960px);	
	}
#generationArea02 .inner .wrap{
	width:min(66.667vw, 960px);	
	right: 0;
	position: absolute;
	}
.generation_contents {
	margin-top: 40px;
	width:min(66.667vw, 960px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}

.generation_contents .leadTxt {
	margin-bottom: 0;
	}
.generation_contents .btn_more {
	margin-top: 40px;
	}
#generationArea02 .section_ttl_wrap .generation_contents {
	position: absolute;
	right: 0;
	padding: min(5.556vw, 80px);
	}
#generationArea02 .section_ttl_wrap .section_ttl{
	margin-left: min(5.556vw, 80px);
}
#generationArea01 figure,#generationArea03 figure {
	width: min(83.333vw, 1200px);
	}
#generationArea02 figure {
	width:min(66.667vw, 960px);
	}


/*=============== [business － generation - hydro] ===============*/

#hydroArea {
	position: relative;
	margin-bottom:600px;
	}
#hydroArea .inner .wrap{
	width:min(66.667vw, 960px);	
	}

#hydroArea figure {
	width: min(83.333vw, 1200px);
	}

#hydroArea .hydro_contents {
	margin-top: 40px;
	width:min(66.667vw, 960px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}

#hydroArea .hydro_contents .leadTxt {
	margin-bottom: 0;
	}

#hydroArea .hydro_contents ul {	
	display: flex;	
	padding: 0 48px;
	margin-top: 32px;
	justify-content: center;
    gap: 80px;
}

#hydroArea .hydro_contents ul figure {
	width: 192px;
	min-height: inherit;
	text-align: center;	
}
#hydroArea .hydro_contents ul figure img {
	width: 160px;
	margin: 0 auto;	
}
#hydroArea .hydro_contents ul figcaption {
	font-size: var(--fs-xl);
	font-weight: bold;
	margin: 8px 0;
}
#hydroArea .hydro_contents ul figcaption span {
	font-size: var(--fs-s);
	display: block;
}

#meritArea .merit_contents .inner {
padding-bottom: 160px;
border-bottom: solid 2px var(--c-bl01);		
	}
#meritArea .section_ttl_wrap.sub_ttl {
    margin: 0;
}
#meritArea .section_ttl_wrap.sub_ttl .section_ttl {
    text-align: center;
}

#meritArea .merit_list {
	margin-top: 80px;
}
#meritArea .merit_list .txt {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
#meritArea .merit_list ul {	
	display: flex;	
	padding: 0 48px;
	margin-top: 40px;
	justify-content: center;
    gap: 80px;
}
#meritArea .merit_list ul figure {
	width:192px;
	min-height: inherit;
	text-align: center;	
}
#meritArea .merit_list ul figure img {
	width:160px;
	margin: 0 auto;	
}
#meritArea .merit_list ul figcaption {
	font-weight: bold;
	margin: 8px 0;
}
#environmentalArea {
	margin-bottom: 160px;
}
#environmentalArea .section_ttl	{
	margin-bottom: 80px;	
}

#environmentalArea .environmental_contents .inner {
	display: flex;
	gap:80px;
}

#environmentalArea .environmental_contents .txt,#environmentalArea .environmental_contents .graph {
	width: 600px;
}
#environmentalArea .environmental_contents .graph figcaption {
	font-size: var(--fs-s);
	margin-top: 10px;
}



#s_hydroArea {
	position: relative;
	margin-bottom:360px;
	}
#s_hydroArea .section_ttl_wrap{
    flex-direction: row;
}
#s_hydroArea .inner .wrap{
	width:min(66.667vw, 960px);	
	right: 0;
    position: absolute;
	}
#s_hydroArea  .section_ttl_wrap .section_ttl {
	margin-left: min(5.556vw, 80px);
}
#s_hydroArea .s_hydro_contents {
	margin-top: 40px;
	width:min(61.111vw, 880px);
	padding: min(5.556vw, 80px) 0 min(5.556vw, 80px)min(5.556vw, 80px);
	background-color: #fff;
	position: absolute;
    right: 0;
    border-bottom: solid 2px var(--c-bl01);	
	}

#s_hydroArea .s_hydro_contents .leadTxt {
	margin-bottom: 48px;
	}

#s_hydroArea .s_hydro_contents dt {
	margin-top: 24px;
	font-size: 24px;
	line-height: 1.33;
}
#s_hydroArea .s_hydro_contents dd ul {
	margin-top: 24px;
	margin-bottom: 48px;
	font-size: var(--fs-l);
}
#s_hydroArea .s_hydro_contents dd ul li {
	display: flex;
}
#s_hydroArea .s_hydro_contents dd ul li:before {
	content:"・";
	width: 1em;
}
#s_hydroArea .s_hydro_contents .btn_more {
	margin-top: 40px;
	width: 100%;
	}
#s_hydroArea .s_hydro_contents .btn_more a {
	width: 100%;
}
#s_hydroArea figure {
	width: min(55.556vw, 800px);
	}
#s_hydroArea02 {
	max-width: 1280px;
	margin: 0 auto;
	padding-top: 80px;
	}
#s_hydroArea02 .s_hydro_contents02 .inner{
	width: 800px;
	margin: 0 0 0 auto;
	}
#s_hydroArea02 h2 {
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 48px;
	}
#s_hydroArea02 .s_hydro_contents02 figure {
	margin-bottom: 32px;
	}
#s_hydroArea02 h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 24px;
	}
#s_hydroArea02 dt {
	font-size: var(--fs-l);
	font-weight: bold;
	margin-bottom: 16px;
	}
#s_hydroArea02 dd {
	margin-bottom: 32px;
	}
#s_hydroArea02 .reference {
	display: flex;
	gap:40px;
	margin-top: 160px;
	margin-bottom: 80px;
	}
#s_hydroArea02 .reference .box {
	background-color: #E6E6E6;
	padding: 16px 24px;
	width: 620px;
	margin-bottom: 16px;
	}
#s_hydroArea02 .reference .box h4 {
	font-weight: bold;
	margin-bottom: 16px;
	}
#s_hydroArea02 .reference .box li {
	font-size: var(--fs-xs);
	display: flex;
	}
#s_hydroArea02 .reference .box li:before {
	content:"・";
	width: 1em;
	}
#s_hydroArea02 .reference .box .txt {
	font-size: var(--fs-xs);
	}

/*=============== [business － generation - plants] ===============*/

#plantsArea {
	position: relative;
	height: 1300px;
	}
#plantsArea .plants_contents {
	margin-top: 40px;
	width:min(55.556vw, 800px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}
#plantsArea .plants_contents .total_output {
	background-color: var(--c-bl01);
	color: #fff;
	display: flex;
	padding: 24px;
	align-items: center;
	justify-content: center;
	margin: 32px 0;
	}
#plantsArea .plants_contents .total_output .ttl {
	font-size: var(--fs-xl);
	font-weight: bold;
	}
#plantsArea .plants_contents .total_output .data {
	font-size: 48px;
	font-weight: 900;
	font-family: var(--ff-en);
	margin: 0 24px;
	}
#plantsArea .plants_contents .total_output .data span {
	font-size: 24px;
	}
#plantsArea .plants_contents .total_output .note {
	font-size: var(--fs-s);
	}

#plantsArea .plants_contents .plant_list_anc ul {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
gap: 16px;
font-weight: bold;
	}

#plantsArea .plants_contents .plant_list_anc ul li a {
	border: 1px solid var(--c-bl01);
	border-radius: 4px;
	padding: 4px 8px 4px 16px;
		display: flex;
	align-items: center;
	gap:10px;
	}
#plantsArea .plants_contents .plant_list_anc ul li a:after {
	content: "";
	display: inline-block;
	background-image: url("../img/common/ico_anc.svg");
	width: 20px;
	height: 20px;
	background-size: cover;
	}
#plantslistArea {
	margin-bottom: 160px;
	}
#plantslist > div {
	border-top: solid 2px var(--c-bl01);
	margin-bottom: 80px;
}

#plantslist .list_header {
	background-color: var(--c-bl01);
	color: #fff;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding: 32px;
	text-align: center;
	margin-bottom: 80px;
}
#plantslist .list_header .num {
	border-right: 1px solid #fff;
	}
#plantslist .list_header dt {
	font-family: var(--ff-en);
	font-size: 48px;
	font-weight: bold;
	}
#plantslist .list_header dt span {
	font-size: 24px;	
	}

#plantslist ul li {
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
    margin-bottom: 40px;
    background-color: #fff;
	}


#plantslist ul li .plants_name .plants_txt {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	}
#plantslist ul li .plants_name .name {
	font-size: var(--fs-xxl);
	font-weight: bold;
	}

#plantslist ul li .plants_data {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	padding: 0 48px 32px 48px;	
	}

#plantslist ul li .plants_data figure{
  display:block;
  width:100%;
  aspect-ratio:580/386;
  overflow:hidden;
}

#plantslist ul li .plants_data figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#plantslist ul li .plants_data dl {
	padding: 16px 0 16px 24px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);	
	}

#plantslist ul li .plants_data dl dt,#plantslist ul li .plants_data dl dd {
	border-bottom: 1px solid #E6E6E6;
	padding: 16px 0;
}
#plantslist ul li .plants_data dl dt:nth-of-type(1),#plantslist ul li .plants_data dl dd:nth-of-type(1) {
	border-top: 1px solid #E6E6E6;
}

#plantslist ul li .plants_name {
	display: grid;
	grid-template-columns: 1fr 32px;
	align-items: center;
	column-gap: 24px;
	padding: 32px 48px;
	cursor: pointer;
}

#plantslist ul li .plants_name .plants_txt {
	min-width: 0;
}


#plantslist ul li .plants_name .outline {
	margin-top: 12px;
}

#plantslist ul li .acd_btn {
	width: 32px;
	height: 32px;
	border: none;
	background: none;
	padding: 0;
	position: relative;
	cursor: pointer;
	justify-self: end;
	align-self: center;
	flex-shrink: 0;
}

#plantslist ul li .acd_btn::before,
#plantslist ul li .acd_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: var(--c-bl01);
	transform: translate(-50%, -50%);
	transition: 0.3s;
}

#plantslist ul li .acd_btn::before {
	width: 20px;
	height: 2px;
}

#plantslist ul li .acd_btn::after {
	width: 2px;
	height: 20px;
}

#plantslist ul li.is-open .acd_btn::after {
	opacity: 0;
}
#plantslistArea .btn_more a {
	margin: 80px auto;
	}

/*=============== [business － service] ===============*/


#serviceArea01 {
	position: relative;
	margin-bottom: 490px;
	}
#serviceArea02 {
	position: relative;
	margin-bottom: 420px;
	}
#serviceArea03 {
	position: relative;
	margin-bottom: 500px;
	}
#serviceArea01 .section_ttl_wrap,#serviceArea03 .section_ttl_wrap {
    flex-direction: row;
}
#serviceArea01 .inner,#serviceArea02 .inner,#serviceArea03 .inner{
	}
#serviceArea01 .inner .wrap,#serviceArea02 .inner .wrap,#serviceArea03 .inner .wrap{
	width:min(66.667vw, 960px);	
	}
#serviceArea01 .inner .wrap,#serviceArea03 .inner .wrap{
	width:min(66.667vw, 960px);	
	right: 0;
	position: absolute;
	}
.service_contents {
	margin-top: 40px;
	width:min(66.667vw, 960px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}

.service_contents .leadTxt {
	margin-bottom: 0;
	}
.service_contents .btn_more {
	margin-top: 40px;
	}
#serviceArea01 .section_ttl_wrap .service_contents,#serviceArea03 .section_ttl_wrap .service_contents {
	position: absolute;
	right: 0;
	padding: min(5.556vw, 80px);
	}
#serviceArea01 .section_ttl_wrap .section_ttl,#serviceArea03 .section_ttl_wrap .section_ttl{
	margin-left: min(5.556vw, 80px);
}
#serviceArea02 .section_ttl_wrap .section_ttl h2 {
	font-size: 80px;
	}
#serviceArea01 figure {
	width: min(55.556vw, 800px);
	}
#serviceArea02 figure {
	width:min(83.333vw, 1200px);
	}
#serviceArea03 figure {
	width:100%;
	}


/*=============== [business － service - maintenance] ===============*/


#maintenanceArea {
	position: relative;
	margin-bottom: 590px;
	}

#maintenanceArea .inner .wrap{
	width:min(66.667vw, 960px);	
	}

.maintenance_contents {
	margin-top: 40px;
	width:min(66.667vw, 960px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}

.maintenance_contents .leadTxt {
	margin-bottom: 0;
	}
.maintenance_contents .btn_more {
	margin-top: 40px;
	}

#maintenanceArea .section_ttl_wrap .section_ttl h2 {
	font-size: 80px;
	}

#maintenanceArea figure {
	width:min(83.333vw, 1200px);
	}

#serviceArea .service_contents {
	width: 100%;
	margin: 0;
	padding: 0;
	}

#serviceArea .inner {
    border-top: solid 2px var(--c-bl01);
	padding-top: 80px;
}

#serviceArea .service_contents .service_list {
	margin-top: 80px;
	display: flex;
	gap:min(5.486vw, 79px);
	flex-wrap: wrap;
	}

#serviceArea .service_contents .service_list > li{
  width:calc((100% - min(5.486vw, 79px) * 2) / 3);
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
    background-color: #fff;
}
#serviceArea .service_contents .service_list li figure{
  display:block;
  width:100%;
  aspect-ratio:374/250;
  overflow:hidden;
}
#serviceArea .service_contents .service_list li figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


#serviceArea .service_contents .service_list .cont {
	padding: 24px;
	text-align: center;
	}
#serviceArea .service_contents .service_list .cont h3 {
	font-size: var(--fs-xxl);
	font-weight: bold;
	margin-bottom: 16px;
	}

#serviceArea .service_contents .service_list .cont_list {
	border-top: solid 2px var(--c-bl01);
	text-align: left;
	font-size: var(--fs-s);
	padding-top: 16px;
	margin-top: 16px;
	}
#serviceArea .service_contents .service_list .cont_list li {
	display: flex;
	}
#serviceArea .service_contents .service_list .cont_list li:before {
    content: "・";
    width: 1em;
}
	
/*=============== [business － service - consulting] ===============*/


#consultingArea {
	position: relative;
	margin-bottom: 610px;
	}

#consultingArea .section_ttl_wrap {
    flex-direction: row;
}

#consultingArea .inner .wrap{
	width:min(66.667vw, 960px);	
	}
#consultingArea .inner .wrap{
	width:min(66.667vw, 960px);	
	right: 0;
	position: absolute;
	}
.consulting_contents {
	margin-top: 40px;
	width:min(66.667vw, 960px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}

.consulting_contents .leadTxt {
	margin-bottom: 0;
	}
.consulting_contents .btn_more {
	margin-top: 40px;
	}
#consultingArea .section_ttl_wrap .consulting_contents {
	position: absolute;
	right: 0;
	padding: min(5.556vw, 80px);
	}
#consultingArea .section_ttl_wrap .section_ttl{
	margin-left: min(5.556vw, 80px);
}

#consultingArea figure {
	width: min(55.556vw, 800px);
	}
#consultingArea02 {
	margin-bottom: 160px;
	}
#consultingArea02 ul {
	display: flex;
	justify-content: space-between;
	}
#consultingArea02 ul li {
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
    background-color: #fff;
	width: 346px;
	text-align: center;
	padding: 24px;
	position: relative;
	}
#consultingArea02 ul li:after {
	content:"";
	background-image: url("../img/business/service/consulting/ico_arw.svg");
	background-size: contain;
	width: 40px;
	height: 80px;
	display: inline-block;
	position: absolute;
	top:0;
	bottom:0;
	margin: auto;
	right: -80px;
	}
#consultingArea02 ul li:last-child:after {
	content:none;
}

#consultingArea02 ul li figcaption {
	font-size: var(--fs-xxl);
	font-weight: bold;
	margin: 10px 0;
	}
#consultingArea02 ul li figcaption span {
	font-size: var(--fs-m);
	display: block;
	font-weight: normal;
	text-align: left;
	}
#serviceDetailArea .inner {
	border-top: solid 2px var(--c-bl01);
	padding-top: 80px;
	}
#serviceDetailArea .section_ttl {
	margin-bottom: 80px;
	}

#commercializationArea {
	position: relative;
	margin-bottom: 806px;
	margin-top: 160px;
	}

#commercializationArea .inner .wrap{
	width:min(66.667vw, 960px);	
	}

#commercializationArea .commercialization_contents {
	margin-top: 40px;
	width:min(66.667vw, 960px);
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	background-color: #fff;
	}

#commercializationArea .commercialization_contents .leadTxt {
	margin-bottom: 48px;
	}

#commercializationArea .section_ttl_wrap .section_ttl h2 {
	font-size: 80px;
	}

#commercializationArea figure {
	width:min(55.556vw, 800px);
	}
#commercializationArea ul {
	margin-bottom:48px;
	}
#commercializationArea ul li {
	background-color: #E6E6E6;
	padding:20px 16px;
	display: flex;
	gap:20px;
	margin-bottom: 8px;
	}
#commercializationArea ul li:before {
	content: "";
    display: inline-block;
    background-image: url("../img/common/ico_check.svg");
    width: 22px;
    height: 17px;
    background-size: cover;
	}


/*=============== [business － service - partnership] ===============*/

#partnershipArea01 {
	position: relative;
	margin-bottom: 960px;
	}
#partnershipArea02 {
	position: relative;
	margin-bottom: 1830px;
	}
#partnershipArea03 {
	position: relative;
	margin-bottom: 234px;
	}
#partnershipArea01 .section_ttl_wrap,#partnershipArea03 .section_ttl_wrap {
    flex-direction: row;
}

#partnershipArea01 .inner .wrap,#partnershipArea02 .inner .wrap,#partnershipArea03 .inner .wrap{
	width:min(66.667vw, 960px);	
	}
#partnershipArea01 .inner .wrap,#partnershipArea03 .inner .wrap{
	width:min(66.667vw, 960px);	
	right: 0;
	position: absolute;
	}
.partnership_contents {
	margin-top: 40px;
	width:min(66.667vw, 960px);
	background-color: #fff;
	}

.partnership_contents .leadTxt {
	margin-bottom: 0;
	}
.partnership_contents .btn_more {
	margin-top: 40px;
	}
#partnershipArea01 .section_ttl_wrap .partnership_contents,#partnershipArea03 .section_ttl_wrap .partnership_contents {
	position: absolute;
	right: 0;
	padding: min(5.556vw, 80px);
	}
#partnershipArea02 .section_ttl_wrap .partnership_contents {
	position: absolute;
	padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
	}
#partnershipArea01 .section_ttl_wrap .section_ttl,#partnershipArea03 .section_ttl_wrap .section_ttl{
	margin-left: min(5.556vw, 80px);
}
#partnershipArea02 .section_ttl_wrap .section_ttl h2 {
	font-size: 80px;
	}
#partnershipArea01 figure {
	width:100%;
	}
#partnershipArea02 figure,#partnershipArea03 figure {
	width:min(66.667vw, 960px);
	}

#partnershipArea01 dl dt,#partnershipArea02 dl dt,#partnershipArea03 dl dt {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 16px;
	margin-top: 32px;
	}

#partnershipArea01 .merit {
	margin-top: 32px;
	display: flex;
	gap:24px;
	}

#partnershipArea01 .merit > li {
	background-color: #F2F2F2;
	padding: 16px;
	}
#partnershipArea01 .merit > li .ttl {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
	}
#partnershipArea01 .merit > li > ul li {
	display: flex;
	}
#partnershipArea01 .merit > li > ul li:before {
	content:"・";
	width: 1em;
	}

#partnershipArea02 .list {
	background-color: #F2F2F2;
	padding: 16px;
	margin-top: 16px;
	}
#partnershipArea02 .list li {
	display: flex;
	}
#partnershipArea02 .list li:before {
	content:"・";
	width: 1em;
	}





