@charset "Shift_JIS";

@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');

/* CSS Document */


/* ---------------------------------------------------------

	01. 共通設定

--------------------------------------------------------- */

/* 既存CSSの上書き
--------------------------------------------------------- */
#Contents {
	background-color: #f8f8f8;
	overflow: hidden;
	padding: 0 !important;
}
.FatMenuWide {border-top: none;}

.cat_energy *,
.cat_energy *::before,
.cat_energy *::after {box-sizing: border-box;}

.cat_energy img {
	height: auto;
	max-width: 100%;
}


/* レイアウト
--------------------------------------------------------- */
.cmn_container {
	margin: 0 auto;
	max-width: 1305px;
	padding: 0 15px;
	position: relative;
}

.flr { float: right; }

/* オプション
--------------------------------------------------------- */
.font_roboto {font-family: 'Roboto', sans-serif;}

/*===============================================
	オプション：768px以上
===============================================*/
@media screen and (min-width:768px) {
	.only_sp {display: none;}
}

/*===============================================
	オプション：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.only_pc {display: none;}
}



/* ---------------------------------------------------------

	02. トップページ

--------------------------------------------------------- */

/* セクション：メインビジュアル
--------------------------------------------------------- */
.top_mv {
	position: relative;
}
.top_mv_slider {
	height: 320px;
	overflow: hidden;
}
.top_mv_slide {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	height: 320px;
	position: relative;
}
.top_mv_victory {background-image: url(/products/energy/portal/image/victory.jpg);}
.top_mv_ol {background-image: url(/products/energy/portal/image/mv_ol.jpg);}
.top_mv_corona {background-image: url(/products/energy/portal/image/corona.jpg);}
.top_mv_ohgishima {background-image: url(/products/energy/portal/image/ohgishima.png);}
.top_mv_efaas {background-image: url(/products/energy/portal/image/efaas.jpg);}
.top_mv_hvdc {background-image: url(/products/energy/portal/image/hvdc0.jpg);}
.top_mv_manyo {background-image: url(/products/energy/portal/image/manyo13.jpg);}
.top_mv_towa {background-image: url(/products/energy/portal/image/bg_case001.png);}
.top_mv_lumada {background-image: url(/products/energy/portal/image/mv_lumada.jpg);}
.top_mv_renewable {background-image: url(/products/energy/portal/image/mv_renewable.jpg);}
.top_mv_powergrid {background-image: url(/products/energy/portal/image/mv_powergrid.jpg);}
.top_mv_sdgs {background-image: url(/products/energy/portal/image/mv_sdgs.jpg);}

/*.top_mv_text {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	max-width: 840px;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 30%;
	left: 50%;
	transform: translate(-50%, -40%);
	width: 100%;
}*/

.top_mv_text.is-show {
	animation: mvTextShow 1.5s 1.5s forwards;
}
.pTitleStyle_left {
	position: absolute;
	width: calc(50% + 100px);
	top: 40px;
	left: 0;
	padding: 10px 25px;
	text-align: left;
	color:#fff;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
	background:rgba(0, 0, 0, 0.6);
}

.pTitleStyle_right {
	position: absolute;
	width: calc(50% + 100px);
	top: 40px;
	right: 0;
	padding: 10px 25px;
	text-align: left;
	color:#fff;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
	background:rgba(0, 0, 0, 0.6);
	opacity: 0;
}
.pTitleStyle_center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -70%);
	width: auto;
	padding: 10px 25px;
	text-align: left;
	color:#fff;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
	background:rgba(0, 0, 0, 0.6);
}
.top_mv_text.pTitleStyle_center a, .top_mv_text.pTitleStyle_center a:link, .top_mv_text.pTitleStyle_center a:visited {
	text-align: center;
}
.pTitleStyle_center .top_mv_detail {
	margin: 10px auto 0;
}

@keyframes mvTextShow {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
.top_mv_text a,
.top_mv_text a:link,
.top_mv_text a:visited {
	background: none;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: left;
	justify-content: center;
	font-size: 50px;
	font-weight: bold;
	min-height: 150px;
	letter-spacing: 0.05em;
	line-height: 1.3;
	outline: none;
	padding: 0;
	text-align: left;
	text-decoration: none;
	text-shadow: 3px 3px 15px rgba(1,1,1,0.4);
	transition: opacity 0.2s;
	width: 100%;
	/*background: rgba(0, 0, 0, 0.6);*/
}

.top_mv_text h2 {
	background: none;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.3;
	margin: 0;
	padding: 0;
}


/* エネルギー x Lumada add */
.top_mv_textLmd {
	background: none;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: left;
	font-size: 25px;
	font-weight: bold;
	min-height: 200px;
	letter-spacing: 0.05em;
	line-height: 1.3;
	outline: none;
	padding: 30px 20px 20px;
	text-align: left;
	text-decoration: none;
	text-shadow: 3px 3px 15px rgba(1,1,1,0.4);
	transition: opacity 0.2s;
	width: 100%;
}
.top_mv_textLmd h2 {
	background: none;
	font-size: 28px;
	font-weight: bold;
	letter-spacing: 0.03em;
	line-height: 1.3;
	margin: 0;
	padding: 30px 20px 20px;
}
.top_mv_textLmd h2 + p {
	font-size: 20px;
}
.top_BgStyle {
        max-width: none;
	width: 100%;
	height: 320px;
	padding: 0;
	margin: 0;
	background-position: center top;
	background-color: rgba( 0, 0, 0, 0.50 );
	background-size: cover;
	position: relative;
}
.top_BgStyle.top_mv_text.is-show.top_mv_textLmd {
	transform: translate(-50%, 0%);
	top: 60px;
	height: 270px;
	width: 1000px;
}
/* エネルギー x Lumada  end */

/* sympathy add BGN */
.mv_S a,
.mv_S a:link,
.mv_S a:visited {
	text-align: left;
	font-size: 37px;
        padding: 45px 20px 20px;
}

.mv_S h2 {
	font-size: 35px;
	letter-spacing: 0.03em;
	margin: 0 0 20px;
}

/* hsif add BGN */
.top_mv_hsif {
background-color:#fff;
}

.top_mv_hsif_inner{
position: relative;
display:block;
height: 600px;
width:100%;
max-width:1275px;
margin:0 auto;
background-image: url(/products/energy/portal/image/mv_hsif.png);
background-repeat: no-repeat;
background-position: right bottom;
}

.top_mv_hsif .top_mv_text{
top:47%;
max-width:1275px;
}

.top_mv_hsif .top_mv_text a{
display:block;
padding:0 20px;
text-align:left;
}

.top_mv_text_img{
padding-left:150px;
margin-bottom:15px;
}

.top_mv_hsif_info{
display: table;
margin-left:150px;
margin-bottom:10px;
}

.top_mv_hsif_info p{
display: table-cell;
padding:2px 12px;
vertical-align: middle;
text-align:left;
}

.top_mv_hsif_info p.top_mv_hsif_info01{
font-size: 90%;
background-color: #d9d9d9;
}

.top_mv_hsif_info p.top_mv_hsif_info01,
.top_mv_hsif_info p.top_mv_hsif_info02{
font-size:10px;
text-shadow:none;
color:#333;
}

@-moz-document url-prefix(){
.top_mv_hsif_detail{
margin-left:-1px;
}
}

.top_mv_hsif_detail .top_mv_detail{
margin:0 auto;
}

/*--- hsif add END ---*/

.top_mv_detail {
	background-color: rgba(51,51,51,0.2);
	border: 2px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: normal;
	height: 40px;
	line-height: 1;
	margin-top: 10px;
	max-width: 180px;
	transition: background-color 0.2s, color 0.2s;
	width: 100%;
}
.top_mv_text a:hover .top_mv_detail {
	background-color:rgba(242,242,242,0.7);
	color: #c02;
}

.top_mv_controller {
	display: flex;
	align-items: center;
	justify-content: space-around;
	height: 70px;
	max-width: 480px;
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	background:rgba(51,51,51,0.2);
}

.top_mv_pause {
	background: url(/products/energy/portal/image/ico_pause.png) center/12px auto no-repeat;
	border: none;
	display: block;
	height: 30px;
	outline: none;
	text-indent: -9999px;
	transition: opacity 0.2s;
	width: 30px;
}
.top_mv_pause:hover {opacity: 0.7;}
.top_mv_pause.is-pause {
	background-image: url(/products/energy/portal/image/ico_play.png);
}

.top_mv_dots {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	width: 75%;
	z-index: 1;
}
.top_mv_dots button {
	background: url(/products/energy/portal/image/ico_dots_off.png) center/12px no-repeat;
	border: none;
	cursor: pointer;
	display: block;
	height: 12px;
	margin: 0;
	outline: none;
	overflow: visible;
	padding: 0;
	position: relative;
	text-indent: -9999px;
	transition: background-image 0.2s;
	width: 12px;
	z-index: 10;
}
.top_mv_dots button::after {
	content: '';
	background: url(/products/energy/portal/image/ico_dots_on.png) center/contain no-repeat;
	display: block;
	height: 34px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	transition: transform 0.6s;
	width: 34px;
}
.top_mv_dots button.is-current::after,
.top_mv_dots button.is-current_last + span + button::after {
	transform: translate(-50%, -50%) scale(1);
}

.top_mv_timeline {
	background-color: #fff;
	flex-grow: 1;
	height: 2px;
	position: relative;
}
.top_mv_timeline::after {
	content: '';
	background-color: #c02;
	display: block;
	height: 2px;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
}
.top_mv_dots button:not(:last-child).is-current:not(.is-pause) + .top_mv_timeline::after {
	animation: playTL linear forwards;
	animation-duration: inherit;
}
.top_mv_dots button.is-current_last:not(.is-pause) + .top_mv_timeline::after {
	animation: lastPlayTL linear forwards;
	animation-duration: inherit;
}
@keyframes playTL {
	0% {width: 0;}
	100% {width: 100%;}
}
@keyframes lastPlayTL {
	0% {left:0; width:100%;}
	100% {left:100%; width:0;}
}

/*===============================================
	セクション：メインビジュアル：768px以上
===============================================*/
@media screen and (min-width:768px) {
	.top_mv_dots button:hover {
		background-image: url(/products/energy/portal/image/ico_dots_on2.png);
	}
}

/*===============================================
	セクション：メインビジュアル：1024px未満
===============================================*/
@media screen and (max-width:1023px) {
	.top_mv_slider,
	.top_mv_slide {
		height: 500px;
	}

	.top_mv_text {
		max-width: 640px;
	}
	/*.top_mv_text a,
	.top_mv_text a:link,
	.top_mv_text a:visited {
		font-size: 42px;
		min-height: 150px;
		padding: 25px 20px 0;
	}
	.top_mv_text h2 {
		font-size: 42px;
	}*/
	.top_mv_detail {
		font-size: 16px;
		height: 40px;
		margin-top: 20px;
		max-width: 180px;
		padding-top: 2px;
	}

	.top_mv_controller {
		height: 60px;
		max-width: 400px;
		bottom: 5px;
	}

	.top_mv_dots button::after {
		height: 30px;
		width: 30px;
	}

	/* Lumada add  */
	.top_mv_textLmd {
		font-size: 20px;
		min-height: 150px;
		padding: 25px 20px 0;
	}
	.top_mv_textLmd h2 {
		font-size: 30px;
	}
	.top_BgStyle {
		max-width: none;
		width: 100%;
		background-position: center top;
		background-size: cover;
		height: 500px;
		position: relative;
	}

	/* hsif add BGN */
	.top_mv_hsif_inner{
		width:100%;
		height:100%;
		background-size: contain;
	}
	.top_mv_text_img{
		width:100%;
		padding-left:0;
	}
	.JS #Contents .top_mv_text_img img{
		max-width:100%;
	}
	.top_mv_hsif .top_mv_text{
		top:40%;
	}
	.top_mv_hsif_info{
		margin-left:0;
	}
	/*--- hsif add END ---*/

}

/*===============================================
	セクション：メインビジュアル：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_mv_slider,
	.top_mv_slide {
		height: calc(100vh - 111px);
	}

	.top_mv_slide .top_mv_text {
    max-width: 340px;
    width: 94%;
    top: 15%;
    left: calc(50% - 170px);
	}
	.top_mv_text.pTitleStyle_center {
    top: 50%;
    left: 50%;
	}
	.top_mv_text.pTitleStyle_center {
    top: 50%;
    left: 50%;
	}
	.top_mv_text::before,
	.top_mv_text::after {
		width: 20%;
	}
	.top_mv_text a,
	.top_mv_text a:link,
	.top_mv_text a:visited {
		font-size: 24px;
		line-height: 1.2;
		min-height: 110px;
		padding: 10px 10px;
	}
	.top_mv_text a::before,
	.top_mv_text a::after {
		width: 20%;
	}
	.top_mv_text h2 {
		font-size: 24px;
		letter-spacing: 0;
	}
	.top_mv_detail {
		border: 2px solid #fff;
		font-size: 14px;
		height: 32px;
		margin-top: 15px;
		max-width: 120px;
		padding-top: 2px;
	}

	.top_mv_controller {
		height: 35px;
		max-width: 300px;
		bottom: 10px; /* 30px */
	}

	.top_mv_pause {
		height: 30px;
		width: 30px;
	}
	.top_mv_dots button::after {
		height: 26px;
		width: 26px;
	}

	/* Lumada add  */
	.top_mv_slide .top_mv_textLmd {
		max-width: none;
		width: 100%;
		top:45%;
	}
	.top_mv_textLmd {
		font-size: 14px;
		line-height: 1.0;
		min-height: 160px;
		padding: 10px 10px 0;
	}
	.top_mv_textLmd h2 {
		font-size: 20px;
		letter-spacing: 0;
	}
	.top_BgStyle {
		max-width: none;
		width: 100%;
		padding: 0;
		margin: 0;
		background-position: center top;
		background-size: cover;
		height: 900px;
		position: relative;
	}

	/* hsif add BGN */
	.top_mv_hsif .top_mv_text{
		top:5px;
		left:0;
		max-width:100%;
		transform: translate(0,0);
	}
	.top_mv_hsif_inner{
		background-size: contain;
	}
	.top_mv_text_img{
		width:90%;
		margin-bottom:5px;
	}
	.top_mv_hsif .top_mv_text{

	}
	.top_mv_hsif_info{
		margin-bottom:10px;
		line-height:1.2em;
	}
	.top_mv_hsif_info p{
		display:inline-block;
	}
	/*--- hsif add END ---*/
}


/* セクション：トピックス
--------------------------------------------------------- */
.top_topics {
	padding: 55px 0 65px;
}

.cmn_title_sec {
	background: none;
	color: #c02;
	font-size: 250%;
	font-weight: normal;
	letter-spacing: 0.03em;
	margin: 0 0 35px;
	padding: 0 0 2px;
	position: relative;
	text-align: center;
}
.cmn_title_sec::after {
	content: '';
	background-color: #888;
	display: block;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 30px;
}

.top_topics_list {
	margin-left: -26px;
	width: calc(100% + 50px);
}
.top_topics .slick-track {
	display: flex;
	padding-bottom: 5px;
}
.top_topics .slick-slide {
	height: auto;
	margin: 0 25px;
	max-width: 282px;
}
.slick-slide > div {
	height: 100%;
}

.top_topics_item {
	height: 100%;
	padding-top: 58%;
	position: relative;
}
.top_topics_item a {
	color: #333;
	outline: none;
	text-decoration: none;
	transition: opacity 0.2s;
}
.top_topics_img {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.top_topics_item a .top_topics_img img {transition: transform 0.3s;}
.top_topics_item a:hover .top_topics_img img {transform: scale(1.1);}
.top_topics_new .top_topics_img::after {
	content: 'NEW';
	background-color: #cc0022;
	color: #fff;
	font-size: 90%;
	font-weight: bold;
	padding: 3px 9px 1px;
	position: absolute;
	top: 0;
	left: 0;
}

.top_topics_text {
	background-color: #fff;
	border-top: 4px solid #e4e4e4;
	box-shadow: 1px 2px 5px rgba(51,51,51,0.1);
	display: flex;
	flex-direction: column;
	font-size: 90%;
	height: 100%;
	margin: 0 auto 0;
	padding: 15px 20px;
	position: relative;
	width: 86%;
	z-index: 1;
}
.top_topics_category {
	font-weight: bold;
	margin-bottom: 0.5em;
	position: relative;
}
.top_topics_news .top_topics_category {color: #c02;}
.top_topics_facebook .top_topics_category {color: #3c5998;}
.top_topics_youtube .top_topics_category {color: #ff0000;}
.top_topics_project .top_topics_category {color: #327774;}
.top_topics_highlight .top_topics_category {color: #30721e;}
.top_topics_ir .top_topics_category {color: #47aecc;}
.top_topics_facebook .top_topics_category::after,
.top_topics_youtube .top_topics_category::after {
	content: '';
	align-self: flex-end;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 22px;
	margin-top: auto;
	position: absolute;
	bottom: 0.3em;
	right: 0;
	width: 100%;
}
.top_topics_facebook .top_topics_category::after {background-image: url(/products/energy/portal/image/ico_topics_facebook.png);}
.top_topics_youtube .top_topics_category::after {background-image: url(/products/energy/portal/image/ico_topics_youtube.png);}

.top_topics_date {
	font-size: 85%;
	margin-top: auto;
	padding-top: 10px;
}

.top_topics_controller {
	display: flex;
	position: relative;
	top: 45px;
	width: 140px;
	margin: 0 auto;
}
.top_topics_controller button {
	background-color: #333;
	background-position: center;
	background-repeat: no-repeat;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: block;
	height: 40px;
	margin-left: 5px;
	outline: none;
	padding: 0;
	text-indent: -9999px;
	transition: background-color 0.2s;
	width: 40px;
}
.top_topics_controller button:hover {
	background-color: #c02;
}
.top_topics_prev {
	background-image: url(/products/energy/portal/image/ico_prev.png);
	background-size: 9px;
}
.top_topics_pause {
	background-image: url(/products/energy/portal/image/ico_pause.png);
	background-size: 11px;
}
.top_topics_pause.is-pause {
	background-image: url(/products/energy/portal/image/ico_play.png);
}
.top_topics_next {
	background-image: url(/products/energy/portal/image/ico_next.png);
	background-size: 9px;
	margin-right: 5px;
}


/*===============================================
	セクション：トピックス：900px未満
===============================================*/
@media screen and (max-width:900px) {
	.top_topics_list {
		margin-left: -10px;
		width: calc(100% + 20px);
	}
	.top_topics .slick-slide {
		margin: 0 10px;
		max-width: inherit;
	}
}

/*===============================================
	セクション：トピックス：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_topics {
		padding: 40px 0;
	}

	.cmn_title_sec {
		font-size: 200%;
	}
	.top_topics .cmn_title_sec {
		margin: 0 0 30px;
		padding: 0 0 10px;
	}

	.top_topics_list {
		margin-left: -5px;
		margin-bottom: 25px;
		width: calc(100% + 10px);
	}
	.top_topics .slick-track {
		padding-bottom: 5px;
	}
	.top_topics .slick-slide {
		margin: 0 5px;
		max-width: inherit;
	}
	.top_topics_img img {
		width: 100%;
	}
	.top_topics_text {
		padding: 10px;
	}

	.top_topics_controller {
		justify-content: center;
		padding-right: 1px;
		position: static;
	}
	.top_topics_controller button {
		height: 35px;
		width: 35px;
	}
	.top_topics_prev,
	.top_topics_next {
		background-size: 7px;
	}
	.top_topics_pause,
	.top_topics_pause.is-pause {
		background-size: 9px;
	}
}


/* セクション：インデックスメニュー
--------------------------------------------------------- */
.top_menu {
	padding-top: 65px;
	position: relative;
}
.top_menu::before {
	content: '';
	background: url(/products/energy/portal/image/menu_bg.jpg) center/cover no-repeat;
	display: block;
	height: 315px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
}

.top_menu_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
}
.top_menu_btn_wrap {
	max-width: 318px;
	position: relative;
	width: 20%;
}
.top_menu_btn {
	height: 320px;
	cursor: pointer;
	background-color: #FFF;
}
.top_menu_btn:hover a{
	opacity: 0.9;
}

.top_menu_btn a {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 150%;
	font-weight: bold;
	height: 100%;
	line-height: 1.5;
	pointer-events: none; /* インデックスページ公開までの暫定処置 */
	text-align: center;
	text-decoration: none;
}
.top_menu_generation .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_generation_pc.jpg);}
.top_menu_renewable .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_renewable_pc.jpg);}
.top_menu_powergrid .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_powergrid_pc.jpg);}
.top_menu_energy .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_energy_pc.jpg);}
.top_menu_nuclear .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_gen_pc.jpg);}

.top_menu_acc {
	height: 32px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}
.top_menu_acc a {
	background-color: rgba(51,51,51,0.8);
	display: block;
	height: 100%;
	position: relative;
	transition: background-color 0.2s;
}
.top_menu_acc a.is-open {
	background-color: rgba(239,239,239,0.9);
}
.top_menu_acc a::after {
	content: '';
	background: url(/products/energy/portal/image/ico_acc_arrow.png) center/22px auto no-repeat;
	height: 12px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.1s;
	width: 22px;
}
.top_menu_acc a.is-open::after {
	background-image: url(/products/energy/portal/image/ico_acc_arrow_open.png);
	transform: translate(-50%, -50%) scaleY(-1);
}
.top_menu_acc a:hover {
	background-color: rgba(51,51,51,1);
}
.top_menu_acc a.is-open:hover {
	background-color: #efefef;
}

.top_menu_panel {
	display: none;
	height: 0;
	order: 5;
	overflow: hidden;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	z-index: 1;
}
.top_menu_panel::before {
	content: '';
	background-color: #efefef;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	z-index: -1;
}
#js-top_menu_list .top_menu_panel .MMColumnArea {
	padding: 40px 15px;
}

.top_menu_list_grid {
	width: 23%;
}
.col5set .top_menu_list_grid {
	width: 18%;
}

.top_menu_list_list li {
	font-size: 83%;
	padding-top: 7px;
}
.top_menu_list_list li + li.MM_indent_parent {
	margin-top: 0.25em;
}
.top_menu_list_list li.MM_indent {
	padding-left: 1em;
}
.top_menu_list_list a:link,
.top_menu_list_list a:visited {
	color: #c02;
	font-size: 92%;
	line-height: 120%;
	text-decoration: none;
}
.top_menu_list_list a:hover {
	text-decoration: underline;
}
.top_menu_list_list a.MM_blank::after {
	content: '';
	background: url(/products/energy/portal/image/ico_window.png) right center/10px no-repeat;
	display: inline-block;
	height: 10px;
	margin-left: 6px;
	width: 10px;
}

/*===============================================
	セクション：インデックスメニュー：1024px未満
===============================================*/
@media screen and (max-width:1023px) {
	.top_menu_btn {
		height: 250px;
	}
	.top_menu_btn a {
		font-size: 105%;
		padding: 0 10px;
	}
}

/*===============================================
	セクション：インデックスメニュー：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_menu {
		padding-top: 30px;
	}
	.top_menu::before {
		height: 115px;
	}

	.top_menu_list {
		display: block;
		position: static;
		transform: none;
		width: 100%;
	}
	.top_menu_btn_wrap {
		max-width: inherit;
		width: 100%;
	}
	.top_menu_btn_wrap:not(:first-child) {
		margin-top: 5px;
	}
	.top_menu_btn {
		height: 100px;
	}
	.top_menu_btn a {
		font-size: 112%;
		padding-bottom: 30px;
	}
	.top_menu_generation .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_generation_sp.jpg);}
	.top_menu_renewable .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_renewable_sp.jpg);}
	.top_menu_powergrid .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_powergrid_sp.jpg);}
	.top_menu_energy .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_energy_sp.jpg);}
	.top_menu_nuclear .top_menu_btn a {background-image: url(/products/energy/portal/image/menu_gen_sp.jpg);}

	.top_menu_acc a.is-open,
	.top_menu_acc a.is-open:hover {
		background-color: rgba(239,239,239,0.8);
	}
	.top_menu .top_menu_acc a.is-open::after {
		background-image: url(/products/energy/portal/image/ico_acc_arrow_open.png);
	}

	.top_menu_panel {
		height: auto;
		position: relative;
		top: 0;
	}
	.top_menu_panel::before {
		background-color: #ededed;
	}
	#js-top_menu_list .top_menu_panel .MMColumnArea {
		padding: 20px 15px;
	}

	.top_menu_list_grid {
		width: 100%;
	}
	.top_menu_list_grid .MM_heading {
		font-size: 90%;
	}
	.top_menu_list_grid .MM_heading:not(:first-child),
	.top_menu_list_grid:not(:first-child) .MM_heading {
		margin-top: 25px;
	}
}


/* セクション：インフォメーション
--------------------------------------------------------- */
.top_info .cmn_container {
	display: block;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 60px;
	padding-top: 60px;
}

.top_news {
	background-color: #fff;
	box-shadow: 0 0 6px rgba(51,51,51,0.2);
	padding: 40px 50px;
	width: 100%;
	margin-bottom: 60px;
}
.top_news_list {
	font-size: 90%;
	max-height: 370px;
	overflow-y: auto;
}
.top_news_list li + li {
	margin-top: 2em;
}
.top_news_date {
	color: #818181;
	margin-bottom: 0.8em;
}
.top_news_tag {
	border: 1px solid #c02;
	color: #c02;
	display: inline-block;
	font-size: 83%;
	line-height: 1;
	margin-left: 1.5em;
	padding: 4px 15px 3px;
	position: relative;
	top: -1px;
	vertical-align: middle;
}
.top_news_new::after {
	content: '新着';
	background-color: #c02;
	border-radius: 2px;
	color: #fff;
	display: inline-block;
	font-size: 83%;
	line-height: 1;
	margin-left: 10px;
	padding: 6px 10px 4px;
	position: relative;
	top: -1px;
}
.top_news_list a,
.top_news_list a:link,
.top_news_list a:visited {
	color: #c02;
	text-decoration: none;
}
.top_news_list a:hover {
	text-decoration: underline;
}

.top_archive{
	max-width:1305px;
	margin: 50px auto 0;
	padding: 0 15px;
}

.top_news_archive,
.top_archive {
	margin-top: 50px;
	text-align: right;
}
.top_news_archive a,
.top_archive a {
	color: #333;
	font-size: 125%;
	position: relative;
	text-decoration: none;
	transition: color 0.2s;
}
.top_news_archive a::before,
.top_news_archive a::after,
.top_archive a::before,
.top_archive a::after {
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	top: 50%;
	right: calc(100% + 10px);
	transform: translateY(-50%);
	width: 135%;
}
.top_news_archive a::before,
.top_archive a::before{
	background-color: #dfdfdf;
}
.top_news_archive a::after,
.top_archive a::after {
	background-color: #c02;
	transition: width 0.3s;
	transform-origin: right center;
	width: 35%;
}
.top_news_archive a:hover,
.top_archive a:hover {
	color: #c02;
}
.top_news_archive a:hover::after,
.top_archive a:hover::after {
	width: 135%;
}

/* 2019.09.03 add BGN */
.top_news_readMoreBox{
margin-top:25px;
padding-top:25px;
border-top:1px solid #dfdfdf;
}

.top_news_readMore{
text-align:center;
}

.top_news_readMore a{
color: #333;
font-size: 125%;
position: relative;
text-decoration: none;
transition: color 0.2s;
padding: 0 17px 0 0;
}
/* --- 2023.1.23 非表示
background:url("/products/energy/portal/image/icon_link_archiveListP.gif") no-repeat right 68%;
background-size:16px 16px;
--- */


.top_news_readMore a:hover {
color: #c02;
}

.active .top_news_readMore a{
background-size:16px 16px;
}
/* --- 2023.1.23 非表示
background:url("/products/energy/portal/image/icon_link_archiveListM.gif") no-repeat right 68%;
--- */


#top_news_readMore_list{
margin-bottom:0;
padding:10px 0 0;
}

.top_news_readMoreBox.hide ul{
display:none;
}

/*-- 2019.09.03 add END ---*/

.top_links_related {
	background-color: #eaeaea;
	padding: 30px 2.4%;
	width: 100%;
}
.top_links_related  ul li {
	float: left;
	width: 18.4%;
	margin-right: 2%;
}
.top_links_related  ul li:last-child {
	margin-right: 0;
}
h2.cmn_title_info {
	background: none;
	color: #c02;
	font-size: 125%;
	font-weight: normal;
	margin: 0 0 20px;
	padding: 0 0 10px;
	position: relative;
	text-align: center;
	width: 100%;
}
h2.cmn_title_info::after {
	content: '';
	background-color: #333;
	display: block;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 30px;
}
.top_links_related a {
	transition: opacity 0.2s;
}
.top_links_related a:hover {
	opacity: 0.7;
}

/*===============================================
	セクション：インフォメーション：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_info .cmn_container {
		display: block;
		margin-bottom: 40px;
		padding-top: 40px;
	}

	.top_news .cmn_title_sec {
		margin: 0 0 25px;
		padding: 0 0 10px;
	}

	.top_news {
		margin-bottom: 30px;
		padding: 30px 20px;
		width: 100%;
	}
	.top_news_list {
		max-height: inherit;
		overflow-y: visible;
	}
	.top_news_list li + li {
		margin-top: 1.2em;
	}
	.top_news_date {
		margin-bottom: 0.5em;
	}
	.top_news_tag {
		margin-left: 0.5em;
		padding: 3px 10px 3px;
		top: -2px;
	}
	.top_news_new::after {
		margin-left: 0.5em;
		padding: 5px 8px 4px;
		top: -1px;
	}

	.top_news_archive {
		margin-top: 35px;
	}
	.top_news_archive a::before {
		width: 100%;
	}

	.top_links_related {
		padding: 20px 20px;
		width: 100%;
	}
	.top_links_related ul {
		margin: 0 auto;
		max-width: 220px;
	}
	.top_links_related li + li {
		margin-top: 10px;
	}
	.top_links_related ul li {
    float: none;
    width: 100%;
    margin-right: 0;
	}
}


/* セクション：関連会社
--------------------------------------------------------- */
.top_company {
	background-color: #333;
	padding: 35px 0;
}
.top_company h2 {
	background: none;
	color: #fff;
	font-size: 100%;
	font-weight: normal;
	margin: 0 0 15px;
	padding: 0;
}
.top_company_list_wrap {
	display: flex;
	justify-content: space-between;
}
.top_company_list {
	width: 23%;
}
.top_company_list li {
	color: #fff;
	font-size: 90%;
}
.top_company_list li + li {
	margin-top: 5px;
}
.top_company_list a {
	color: #fff;
	text-decoration: none;
}
.top_company_list a[target="_blank"]::after {
	content: '';
	background: url(/products/energy/portal/image/ico_window_sp.png) right center/10px no-repeat;
	display: inline-block;
	height: 10px;
	margin-left: 6px;
	width: 10px;
}
.top_company_list a:hover {
	text-decoration: underline;
}

/*===============================================
	セクション：関連会社：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_company {
		padding: 30px 0;
	}
	.top_company_list_wrap {
		display: block;
	}
	.top_company_list {
		width: 100%;
	}
	.top_company_list:nth-child(n+3) {
		margin-top: 10px;
	}
	.top_company_list li + li {
		margin-top: 10px;
	}
}


/* パーツ：FOLLOW US
--------------------------------------------------------- */
.top_links_follow {
	padding: 30px 0;
}
.top_follow_list {
	display: flex;
	justify-content: center;
}
.top_follow_list li {
	flex: 0 0 auto;
	margin: 0 10px;
	width: 3.5em;
}
.top_follow_list a {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
	border: 1px solid transparent;
	color: #333;
	display: block;
	font-size: 76%;
	padding-top: 60px;
	text-align: center;
	text-decoration: none;
	transition: background-image 0.2s;
}
.top_follow_list li:first-child a {background-image: url(/products/energy/portal/image/ico_facebook_off.png);}
.top_follow_list li:last-child a {background-image: url(/products/energy/portal/image/ico_youtube_off.png);}
.top_follow_list li:first-child a:hover {background-image: url(/products/energy/portal/image/ico_facebook_on.png);}
.top_follow_list li:last-child a:hover {background-image: url(/products/energy/portal/image/ico_youtube_on.png);}
.top_follow_list a img {
	margin-bottom: 8px;
}

/*===============================================
	パーツ：FOLLOW US：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_links_follow {
		padding: 20px 0;
	}
}


/* パーツ：トップに戻るボタン
--------------------------------------------------------- */
.top_btn_pagetop {
	padding-bottom: 10px;
	text-align: right;
}
.top_btn_pagetop a,
.top_btn_pagetop a:link,
.top_btn_pagetop a:visited {
	color: #c02;
	font-size: 125%;
	position: relative;
	text-decoration: none;
	transition: opacity 0.2s;
}
.top_btn_pagetop a::before {
	content: '';
	border-top: 2px solid #c02;
	border-right: 2px solid #c02;
	display: inline-block;
	height: 15px;
	margin-right: 10px;
	transform: translate(-50%, 30%) rotate(-45deg);
	width: 15px;
}
.top_btn_pagetop a:hover {
	opacity: 0.7;
}

/*===============================================
	パーツ：トップに戻るボタン：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_btn_pagetop a,
	.top_btn_pagetop a:link,
	.top_btn_pagetop a:visited {
		font-size: 100%;
	}
	.top_btn_pagetop a::before {
		height: 12px;
		margin-right: 5px;
		width: 12px;
	}
}


/* パーツ：背景アニメーション
--------------------------------------------------------- */
.top_bg_light_wrap {
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.top_bg_light {
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
}
.top_bg_light > div {
	animation-name: lightRun;
	animation-duration: 15s;
	animation-iteration-count: infinite;
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(.17,.37,.83,.63);
	background: url(/products/energy/portal/image/ico_light.png) center/contain no-repeat;
	display: block;
	height: 215px;
	position: absolute;
	top: 0;
	width: 3px;
}
@keyframes lightRun {
	0% {top: -215px;}
	80% {top: -215px;}
	100% {top: 100%;}
}
.top_bg_light_item01 {
	animation-delay: 0s;
	left: -2%;
}
.top_bg_light_item02 {
	animation-delay: -8s;
	left: 24.5%;
}
.top_bg_light_item03 {
	animation-delay: -11s;
	left: 49.9%;
}
.top_bg_light_item04 {
	animation-delay: -3s;
	left: 75.4%;
}
.top_bg_light_item05 {
	animation-delay: -5s;
	left: 102%;
}

/*===============================================
	パーツ：背景アニメーション：1024px未満
===============================================*/
@media screen and (max-width:1023px) {
	.top_bg_light_item01 {display: none;}
	.top_bg_light_item02 {left: 25.2%;}
	.top_bg_light_item04 {left: 74.8%;}
	.top_bg_light_item05 {display: none;}
}

/*===============================================
	パーツ：背景アニメーション：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_bg_light_item02 {left: 1%;}
	.top_bg_light_item03 {left: 49.7%;}
	.top_bg_light_item04 {left: 98.8%;}
}

/*===============================================
	パーツ：背景アニメーション：500px未満
===============================================*/
@media screen and (max-width:500px) {
	.top_bg_light > div {animation-duration: 18s;}
	.top_bg_light_item02 {
		animation-delay: -8s;
		left: 2%;
	}
	.top_bg_light_item03 {
		animation-delay: -14s;
		left: 49.6%;
	}
	.top_bg_light_item04 {
		animation-delay: -2s;
		left: 97.2%;
	}
}