@charset "utf-8";

/*==============================================

	power-station

==============================================*/

main .mv {
	position: relative;
	height: 100vh;
}
main .mv:before {
	content: '';
	position: absolute;
	top: 150px;
	width: calc(100% - 60px);
	height: 1px;
	left: 0;
	right: 0;
	background-color: rgba(255, 255, 255, 0.5);
	margin: auto;
}

main .mv {
    position: relative;
    min-height: 780px;
}
main .mv > picture {
    display: block;
}
main .mv > picture img {
    width: 100%;
}
main .mv .mv_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

p.text.noto_serif1 {
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 15px;
    word-break: break-all;
	color: white;
}
p.text.noto_serif2 {
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 15px;
    word-break: break-all;
}

main .mv .subtitle {
	text-align: right;
	margin-right: 100px;
}
main .mv .subtitle img {
	display: inline-block;
}
main .mv .title span {
	color: var(--wt);
	font-size: 1.4rem;
	letter-spacing: 2px;
}
main .mv .title span.en {
	font-size: 1.3rem;
	letter-spacing: 2px;
}
main .mv .title span.en:after {
	content: '';
	display: inline-block;
	width: 100px;
	height: 1px;
	background-color: var(--line-wt);
	margin: 5px 14px;
}
main .mv .logo {
	text-align: right;
	margin-right: 100px;
	margin-top: 50px;
}
main .mv .logo img {
	display: inline-block;
}
main .mv .title {
	color: #fff;
	text-align: right;
	font-size: 1.5rem;
	padding-right: 100px;
	margin-top: 50px;
	line-height: 2.5em;
	letter-spacing: 2px;
}



.information {
	position: relative;
	margin-bottom: 100px;
	margin-top: -150px;
}
.information .en_title {
	text-align: center;
	position: absolute;
	top: -73px;
	left: calc((100% - 1260px) / 2 + 30px);
	width: 100%;
	z-index: 1;
}
.information .inner {
	max-width: 1260px;
	padding: 0 30px;
	margin: 0 auto;
	padding: 0px 30px;
	/* margin-top: 100px; */
}
.information .inner .en_heading {
	font-size: 1.6rem;
	color: var(--wt);
}
.information .inner .ja_heading {
	font-size: 1.3rem;
	color: var(--wt);
	font-weight: 300;
	margin-top: 5px;
}

.information .news_list {
	max-width: 683px;
	width: 100%;
	margin-top: 30px;
}
.information .news_list li {
	margin-bottom: 20px;
}
.information .news_list li a {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--line-wt);
	padding-right: 50px;
	position: relative;
}
.information .news_list li a:before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background-color: var(--wt);
	border-radius: 50%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.information .news_list li a:after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 1px;
	background-color: var(--line-wt);
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.information .news_list li a .date {
	font-size: 1.3rem;
	color: var(--wt);
	font-weight: 700;
	width: 90px;
}
.information .news_list li a .title {
	font-size: 1.3rem;
	color: var(--wt);
	width: calc(100% - 90px);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
}
.information .view_more {
	margin-top: 30px;
}
.information .view_more a {
	background-color: transparent;
	color: var(--wt);
	border: 1px solid transparent;
	padding-left: 0px;
}

.data {
	position: relative;
	padding: 60px 0 160px;
	overflow: hidden;
}
.data .inner {
	max-width: 1260px;
	padding: 0 30px;
	margin: 0 auto;
}
.data .heading {
	margin-bottom: 80px;
}
.data .heading h2 {
	color: var(--wt);
	font-size: 1.3rem;
	letter-spacing: 2px;
	margin-top: 40px;
	font-weight: 300;
	position: relative;
}
.data .heading h2:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100vw;
	height: 1px;
	background-color: var(--line-wt);
}
.data .data_list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 60px;
}
.data .data_list li {
	width: calc((100% - 30px * 3) / 4);
}
.data .data_list li img {
	display: block;
	margin: 0 auto 20px;
	height: 59px;
	object-fit: contain;
}
.data .data_list li h2 {
	text-align: center;
	font-size: 1.6rem;
	color: var(--wt);
	letter-spacing: 2px;
	font-weight: 700;
}
.data .data_list li .num {
	text-align: center;
	font-size: 2.2rem;
	color: var(--wt);
	border-top: 1px solid var(--line-wt);
	margin-top: 20px;
	padding-top: 10px;
}
.data .data_list li .num span {
	font-size: 4rem;
	color: inherit;
	letter-spacing: 4px;
	margin-right: 5px;
	font-weight: 600;
}
.data .data_list li .text {
	color: var(--wt);
	font-size: 1.2rem;
	line-height: 1.8em;
	margin-top: 10px;
	text-align: center;
}
.data .inner > .text {
	color: var(--wt);
}

.philosophy {
	background-color: var(--owt);
	padding: 0px 0 120px;
}
.philosophy .inner {
	display: flex;
	align-items: flex-end;
	position: relative;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 30px;
}
.philosophy .inner .sub_img {
	position: absolute;
	right: calc((100% - 1280px) / 2);
	top: 0;
	width: 175px;
	left: auto;
}
.philosophy .inner .sub_img img {
	border-radius: 5px;
}
.philosophy .inner .sub_img picture {
	width: 100%;
}
.philosophy .inner .sub_img picture img {
	aspect-ratio: 175 / 180;
	object-fit: cover;
}
.philosophy .inner .img {
	width: 50%;
	display: block;
}
.philosophy .inner .img img{
	width: 100%;
	border-radius: 5px;
}
.philosophy .inner .box {
	/* width: 50%; */
	padding-left: 10%;
	/* padding-right: 2%; */
	padding-bottom: 100px;
}
.philosophy .inner .box .en {
	color: var(--green);
	font-size: 1.6rem;
	line-height: 1.8em;
	margin-bottom: 15px;
	letter-spacing: 2px;
}
.philosophy .inner .box .subtitle {
	font-size: 2.2rem;
	letter-spacing: 2px;
	margin-top: 10px;
	margin-bottom: 20px;
	line-height: 1.8em;
}
.philosophy .inner .box .catch {
	font-size: 1.8rem;
	margin-bottom: 15px;
	letter-spacing: 2px;
}
.philosophy .inner .box .text {
	max-width: 460px;
	margin-bottom: 30px;
}




.sites {
	background-color: rgba(92, 102, 90, 0.7);
	padding-bottom: 260px;
}
.sites > h2 {
	max-width: 1200px;
	padding: 0 20px;
	margin: 0px auto 100px;
}
.sites .inner {
	max-width: 1200px;
	padding: 0 20px;
	margin: 0 auto;
	position: relative;
}
.sites .inner .map {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}
.sites .box {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 30px;
	max-width: 666px;
	position: relative;
	z-index: 1;
}
.sites .box h2 {
	color: var(--wt);
	font-size: 1.5rem;
	letter-spacing: 2px;
	border-bottom: 1px solid var(--line-wt);
	padding-bottom: 10px;
	margin-bottom: 20px;
	width: 100%;
	position: relative;
	padding-left: 25px;
	width: 100%;
	font-weight: 700;
}
.sites .box h2:before {
	content: '';
	position: absolute;
	top: 4px;
	left: 0;
	width: 17px;
	height: 17px;
	background-color: var(--wt);
	border-radius: 50%;
}
.sites .box .group {
	min-width: 235px;
}
.sites .box .view_more {
	margin-top: 40px;
	width: 100%;
}
.sites .box .sites_list_wrap {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 35px;
	justify-content: space-between;
}
.sites .box .solar {
	width: 100%;
	/* height: 725px; */
}
.solar .sites_list {
	/* min-width: 235px; */
	columns: 5;
	/* column-fill: auto; */
	gap: 15px;
	/* max-height: 370px; */
}
.sites_list li {
	width: 100%;
	margin-bottom: 7px;
}
.sites_list li a {
	display: block;
	color: var(--wt);
	font-size: 1.3rem;
	letter-spacing: 2px;
	/* white-space: nowrap; */
}

.our_policy {
	background-color: var(--owt);
	position: relative;
	padding-bottom: 140px;
}
.our_policy .inner {
	padding-top: 120px;
	position: relative;
}
.our_policy .slider_wrap {
	position: relative;
	display: flex;
}
.our_policy .slider_wrap .fade_slider {
	width: 50%;
}
.our_policy .slider_wrap .fade_slider img {
	width: 100%;
	aspect-ratio: 682 / 580;
	object-fit: cover;
}
.our_policy .heading {
	position: absolute;
	top: -73px;
	z-index: 1;
	left: 0;
	right: 0;
}
.our_policy .heading .en_heading {
	text-align: center;
}
.our_policy .heading .en_heading img {
	display: inline-block;
}
.our_policy .heading h2 {
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: 2px;
	/* margin-top: 10px; */
	font-weight: 300;
}
.our_policy .heading .catch {
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 2px;
	margin-top: 30px;
}
.our_policy .inner {
	display: flex;
	/* padding-left: calc((100% - 1160px) / 2); */
	align-items: flex-start;
	/* padding-left: 50px; */
}
.our_policy .inner .img {
	width: 50%;
	position: sticky;
	top: 70px;
	padding-left: calc((100% - 1160px) / 2);
}
.our_policy .inner .img img {
	width: 100%;
	border-radius: 5px;
}
.our_policy .inner .box {
	width: 50%;
	padding-left: 7%;
	padding-right: 20px;
	overflow: hidden;
}

main {
	overflow: unset;
}
.our_policy .inner .box h2 {
	font-size: 1.6rem;
	color: var(--green);
	position: relative;
	margin-bottom: 20px;
	margin-top: 40px;
}
.our_policy .inner .box h2:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100vw;
	height: 1px;
	background-color: var(--line-gray);
}
.our_policy .inner .box h3 {
	font-size: 2.2rem;
	letter-spacing: 0.15em;
	line-height: 1.8em;
	margin-bottom: 10px;
}
.our_policy .inner .box .text {
	max-width: 482px;
}

.profile {
	background-color: var(--owt);
	/* z-index: 1; */
	margin-top: -1px;
}
.profile .heading{
	max-width: 1220px;
	padding: 0 30px;
	margin: 0 auto 30px;
}
.profile .heading .en {
	color: var(--green);
	font-size: 1.6rem;
	letter-spacing: 1px;
	margin-bottom: 10px;
}
.profile .heading .ja_heading {
	margin-top: 10px;
	font-size: 1.3rem;
}
.profile .inner{
	max-width: 1220px;
	padding: 0 30px;
	margin: 0 auto 0;
	display: flex;
	gap: 40px;
}
.profile_list {
	width: 50%;
}
.profile_list > li {
	display: flex;
	flex-wrap: wrap;
	padding: 15px 0;
	border-top: 1px solid var(--line-gray);
}
.profile_list > li h3 {
	width: 110px;
	font-size: 1.3rem;
}
.profile_list li .box {
	width: calc(100% - 110px);
}
.profile_list li .box img {
	display: inline-block;
	margin-right: 10px;
	margin-top: 10px;
}
.profile_list li .box p {
	font-size: 1.3rem;
}
.profile_list li .box li {
	padding-left: 18px;
	position: relative;
}
.profile_list li .box li:before {
	content: '・';
	position: absolute;
	font-size: inherit;
	left: 0;
}
.profile_list li .box h4 {
	font-size: 1.3rem;
	margin-bottom: 10px;
}
.profile_list li .box .mb30 {
	margin-bottom: 20px;
}
.profile_list li .box .view_more a {
	min-width: unset;
}
.profile > .btn_more {
	background-color: transparent;
	width: 100%;
	padding: 15px 0;
	display: block;
	border: 1px solid var(--green);
	color: var(--green);
	font-weight: 700;
	font-size: 1.5rem;
	letter-spacing: 2px;
	margin-top: 40px;
	cursor: pointer;
	max-width: 1160px;
	margin: 0 auto;
	position: relative;
	transition: all .3s;
}
.profile > .btn_more:hover {
	opacity: .7;

}
.profile > .btn_more:after {
	content: '';
	display: block;
	width: 15px;
	height: 10px;
	background-image: url(../../common/img/arrow-b.svg);
	background-size: 15px;
	background-repeat: no-repeat;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.profile > .btn_more.is-show:after {
	transform: translateY(-50%) rotate(180deg);
}
.company_content {
	padding-top: 60px;
}

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

	main .mv:before {
		top: 90px;
		width: calc(100% - 40px);
	}

	main .mv .mv_inner {
		padding: 0 20px;
	}
	main .mv .title {
		margin-top: 20px;
		padding: 0;
		text-align: left;
	}
	main .mv .title span.en:after {
		width: 50px;
	}
	main .mv .subtitle {
		width: 100%;
		text-align: left;
	}
	main .mv .logo {
		margin-right: 0;
		text-align: left;
		margin-top: 30px;
	}

	.information {
		margin-bottom: 0;
	}
	.information .en_title {
		left: 0;
		padding-left: 30px;
		top: -42px;
	}
	.information .inner .swiper {
		margin-top: 30px;
	}
	.information .news_list li a {
		flex-direction: column;
	}
	.information .news_list li a .title {
		width: 100%;
	}
	.information .news_list li a:before {
		top: auto;
		bottom: 12px;
	}
	.information .news_list li a:after {
		top: auto;
		bottom: 19px;
	}
	.information .view_more a {
		display: inline-block;
		width: 210px;
	}

	.data {
		padding-bottom: 100px;
	}
	.data .inner {
		padding: 0 20px;
	}
	.data .data_list li {
		width: calc((100% - 20px) / 2);
	}
	.data .data_list li img {
		margin-bottom: 5px;
	}

	.data .data_list li .num span {
		font-size: 3.2rem;
		letter-spacing: 1px;
	}
	.data .data_list li .num {
		font-size: 1.8rem;
		margin-top: 5px;
	}
	.data .data_list li h2 {
		font-size: 1.3rem;
		height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 600;
	}
	.data .data_list {
		gap: 20px;
		margin-bottom: 20px;
	}
	.data .heading {
		margin-bottom: 40px;
	}

	.philosophy .inner {
		flex-direction: column;
		padding: 0 20px;
	}
	.philosophy .inner .box {
		padding: 0;
		margin-top: 30px;
	}
	.philosophy .inner .img {
		margin-right: auto;
		width: 215px;
	}
	.philosophy .inner .sub_img {
		right: 0;
		width: calc(100% - 240px);
	}
	.philosophy .inner .box .subtitle {
		font-size: 1.9rem
	}
	.philosophy .inner .img img {
		border-radius: 0 0 5px 5px;
	}
	.philosophy .inner .sub_img img {
		border-radius: 0 0 0 5px;
	}
	.philosophy {
		padding-bottom: 60px
	}

	.sites {
		padding-bottom: 120px;
	}
	.solar .sites_list {
		columns: 2;
		column-gap: 50px;
	}
	.sites > h2 {
		padding-top: 60px;
		margin-bottom: 50px;
	}
	.sites .box .group {
		width: 100%;
	}
	.sites .inner .map {
		opacity: .3;
		top: -165px;
	}

	.our_policy {
		padding-bottom: 60px
	}
	.our_policy .slider_wrap {
		flex-direction: column;
	}
	.our_policy .slider_wrap .fade_slider {
		width: 100%;
	}
	.our_policy .slider_wrap .fade_slider img {
		aspect-ratio: 390 / 250;
	}
	.our_policy .heading {
		top: -47px;
	}
	.our_policy .inner {
		flex-direction: column;
		padding: 80px 20px 0;
	}
	.our_policy .inner .img {
		width: 100%;
		position: static;
	}
	.our_policy .inner .box {
		width: 100%;
		padding: 0;
	}
	.our_policy .inner .box h3 {
		font-size: 2rem;
		letter-spacing: 0.1em;
	}
	.our_policy .inner .box h2:before {
		bottom: 5px;
	}
	
	.profile {
		padding: 0 20px;
	}
	.profile .inner {
		flex-direction: column;
		padding: 0;
	}
	.profile_list {
		width: 100%;
	}
	.profile .heading {
		padding: 0 0px;
	}
	.profile_list > li h3 {
		width: 90px;
	}
	.profile_list li .box {
		width: calc(100% - 90px);
	}
	.company_content {
		padding-top: 40px;
	}
}