@charset "utf-8";
/* CSS Document */

/* base
-----------------------------------------------*/
/* ========== universal reset ========== */
/* ========== base style ========== */

/* common parts
-----------------------------------------------*/
/* ========== text ========== */
/* ========== border ========== */
/* ========== float ========== */
/* ========== display ========== */
/* ========== position ========== */
/* ========== overflow ========== */
/* ========== width ========== */
/* ========== margin ========== */
/* ========== background ========== */
/* ========== device displaying ========== */
/* ========== animation for ScrollTrigger.min.js  ========== */

/* other style
-----------------------------------------------*/



/* base
-----------------------------------------------*/
/* ========== universal reset ========== */
/**
* html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
* Richard Clark (http://richclarkdesign.com)
* http://cssreset.com
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
button, input, select, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
body { line-height:1; }
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}
nav ul { list-style:none; }
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}


/* ========== base style ========== */
* { box-sizing: border-box; }

html { height: 100%; }

body {
height: 100%;
min-height: 100%;
background: #e8edf6;
color: #000;
font-size: 11px;
font-family: source-han-sans-japanese, sans-serif;
font-style: normal;
font-weight: 400;
font-feature-settings: "palt";
}
@media (max-width:374px){
	body {
	font-size: 2.93vw;
	}
}
@media (min-width:768px){
	body {
	font-size: 12px;
	}
}

a:link,
a:visited {
color: #000;
text-decoration: none;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}

a:hover,
a:hover img,
button:hover img {
opacity: 0.80;
filter: alpha(opacity=80);
}

div,p,h1,h2,h3,h4,h5,h6,li,dt,dd,th,td {
line-height: 100%;
font-family: source-han-sans-japanese, sans-serif;
font-style: normal;
font-weight: 400;
font-feature-settings: "palt";
letter-spacing: 0.075em;
}

div, article { box-sizing: border-box; }

ol, ul { list-style:none; }

img, video {
width: 100%;
display: block;
margin-left: auto;
margin-right: auto;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}



/* common parts
-----------------------------------------------*/
/* ========== text ========== */
/* align */
.al_left { text-align: left; }
.al_center { text-align: center; }
.al_right { text-align: right; }

/* size */
.fs10 { font-size: 10px; }
.fs11 { font-size: 11px; }
.fs12 { font-size: 12px; }
.fs13 { font-size: 13px; }
.fs14 { font-size: 14px; }
.fs15 { font-size: 15px; }
.fs16 { font-size: 16px; }
.fs17 { font-size: 17px; }
.fs18 { font-size: 18px; }
.fs19 { font-size: 19px; }
.fs20 { font-size: 20px; }
@media (max-width:374px){
	.fs10 { font-size: 2.67vw; }
	.fs11 { font-size: 2.93vw; }
	.fs12 { font-size: 3.2vw; }
	.fs13 { font-size: 3.47vw; }
	.fs14 { font-size: 3.73vw; }
	.fs15 { font-size: 4vw; }
	.fs16 { font-size: 4.27vw; }
	.fs17 { font-size: 4.53vw; }
	.fs18 { font-size: 4.8vw; }
	.fs19 { font-size: 5.07vw; }
	.fs20 { font-size: 5.33vw; }
}

/* weight */
.fw400 { font-weight: 400 !important; }
.fw500 { font-weight: 500 !important; }
.fw600 { font-weight: 600 !important; }
.fw700 { font-weight: 700 !important; }

/* line height */
.lh130 { line-height: 130%; }
.lh140 { line-height: 140%; }
.lh150 { line-height: 150%; }
.lh160 { line-height: 160%; }
.lh170 { line-height: 170%; }
.lh180 { line-height: 180%; }
.lh190 { line-height: 190%; }
.lh200 { line-height: 200%; }
.lh210 { line-height: 210%; }


/* ========== float ========== */
/* clearfix */
.clearfix:before,
.clearfix:after {
display: table;
content: " ";
}
.clearfix:after { clear: both; }

/* float */
.float_left { float: left; }
.float_right { float: right; }


/* ========== display ========== */
.disp_block { display: block !important;}
.disp_iblock { display: inline-block !important;}
.disp_inline { display: inline !important;}
.disp_none { display: none;}
.disp_flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }


/* ========== position ========== */
.posi_relative { position: relative !important; }
.posi_absolute { position: absolute !important; }
.posi_fixed { position: fixed !important; }


/* ========== overflow ========== */
.overflow_hidden { overflow: hidden !important; }


/* ========== margin ========== */
/* margin-auto */
.mx_auto { margin-left: auto; margin-right: auto; }


/* ========== device displaying ========== */
.sp_none{ display: none; }
@media (min-width:768px){.sp_none{display: block;} .tab_none { display: none; }}
.sp_only{ display: block; }
@media (min-width:768px){.sp_only{display: none;}}
.spc_none{ display: block; }
@media (min-width:991px){.s-pc_none{display: none;}}
.spc_above{ display: block; }
@media (max-width:992px){.s-pc_above{ display:none;}}
.pc_none{ display: block; }
@media (min-width:999px){.pc_none{display: block;}}
.pc_only{ display: none; }
@media (min-width:1000px){.pc_none{display: none;}
.pc_only{display: block;}
.tab_none{ display: block; }
}


/* ========== animation for ScrollTrigger.min.js  ========== */
.invisible {
transition: opacity 1s ease;
opacity: 0.0;
}
.visible {
transition: opacity 1s ease;
opacity: 1.0;
}


/* other style
-----------------------------------------------*/
.allwrapper { /* Xscroll bar hidden */
width: 100%;
overflow: hidden;
}
.ff_marugo {
font-family: dnp-shuei-mgothic-std, sans-serif;
}

.headerlogo {
width: 93.33vw;
margin: 0 0 0 auto;
padding: 23.33vw 12vw 33.7vw 13.6vw;
background: #fff;
}
.headerlogo img {
animation-delay: 0.75s;
}
.headertitle {
margin: -11.33vw auto 0 12.67vw;
font-size: 8.53vw;
font-family: sweet-sans-pro, sans-serif;
font-weight: 800;
letter-spacing: 0.05em;
animation-delay: 1.5s;
}
.headertitle span {
font-size: 3.73vw;
font-family: source-han-sans-japanese, sans-serif;
}
@media (min-width:768px){
	.headerlogo {
	width: 700px;
	margin: 0 auto;
	padding: 95px 190px 120px 182px;
	}
	.headertitle {
	margin: -20px auto 0 calc(50% - 300px);
	font-size: 36px;
	}
	.headertitle span {
	font-size: 16px;
	}
}
@media (min-width:1000px){
	.headertitle {
	margin-left: calc(50% - 325px);
	}

}

.intro {
width: 86.67vw;
margin-top: 12.66vw;
padding: 14vw 0 14.67vw;
border-top: 1px solid #000;
animation-delay: 2.5s;
}
.intro h2 {
margin-bottom: 17px;
}
.introsec:nth-child(2) {
margin-top: 40px;
}
.introsec p {
margin-bottom: 0.916em;
}
.introsec p:last-child {
margin-bottom: 0;
}
@media (min-width:768px){
	.intro {
	width: 650px;
	margin-top: 70px;
	padding: 75px 0 80px;
	}
	.intro h2 {
	font-size: 20px;
	margin-bottom: 17px;
	}
	.introsec:nth-child(2) {
	margin-top: 45px;
	}
	.introsec p {
	margin-bottom: 1.03em;
	font-size: 14px;
	line-height: 207%;
	}
}

.project {
width: 93vw;
margin: 0 auto 0 0;
padding: 4vw 0 0 0;
background: #fff;
}
.project .title {
top: -3.33vw;
left: 3.6vw;
width: 51.33vw;
}
.projectsec {
margin-top: 50px;
}
.projectsec_title {
top: 0;
left: 8vw;
width: 4.53vw;
}
.projectsec_inner {
width: 80vw;
margin: 0 -7vw 0 auto;
border-bottom: 1px solid #000;
}
.projectsec_inner.last {
padding-bottom: 1px;
border-bottom: none;
}
.project_innerbox {
margin-bottom: 40px;
}
.project_innerbox .detail {
width: 69.33vw;
margin-top: 20px;
}
.project_innerbox .detail h3 {
letter-spacing: 0.125em;
}
.project_innerbox .detail p {
margin-top: 15px;
}
.project_innerbox .detail .btn {
width: 117px;
margin-top: 15px;
}
.partner {
margin: -15px 0 40px;
}
.partner_title {
margin-bottom: 15px;
font-family: sweet-sans-pro, sans-serif;
font-weight: 800;
}
.partner_list {
width: 66.67vw;
align-items: center;
}
.partner_list li {
margin-top: 12px;
}
.partner_list img {
width: auto;
height: 8.53vw;
margin: 0;
}
.partner .btn {
width: 69.33vw;
margin-top: 25px;
}
.energy_list {
width: 62.4vw;
margin: -30px 0 45px;
align-items: center;
}
.energy_list li {
margin-top: 14px;
}
.energy_list img {
width: auto;
height: 5.33vw;
margin: 0;
}
@media (min-width:768px){
	.project {
	width: 100%;
	padding: 0;
	background: linear-gradient(90deg, #fff 0%, #fff 50%, #e8edf6 50%, #e8edf6 100%);
	}
	.project .title {
	top: -17px;
	left: calc(50% - 350px);
	width: 225px;
	}
	.project_inner {
	width: 650px;
	padding-top: 5px;
	background: #fff;
	}
	.projectsec {
	margin-top: 75px;
	}
	.projectsec_title {
	left: 0;
	width: 21px;
	}
	.projectsec_inner {
	width: 620px;
	margin: 0 -40px 0 auto;
	}
	.project_innerbox {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-bottom: 75px;
	}
	.project_innerbox figure {
	width: 295px;
	}
	.project_innerbox .detail {
	width: 295px;
	margin: 0;
	}
	.project_innerbox .detail h3 {
	font-size: 16px;
	line-height: 130%;
	}
	.project_innerbox .detail .btn {
	width: 130px;
	}
	.partner {
	margin: -40px 0 75px;
	}
	.partner_title {
	font-size: 16px;
	}
	.partner_list {
	width: 530px;
	}
	.partner_list img {
	height: 45px;
	}
	.partner .notice {
	font-size: 11px;
	}
	.partner .btn {
	width: 305px;
	margin-top: 25px;
	}
	.energy_list {
	width: 590px;
	margin: -50px 0 75px;
	}
	.energy_list img {
	height: 29px;
	}
}
@media (min-width:1000px){
	.project {
	width: 1000px;
	margin: 0 auto;
	}
	.project_inner {
	width: 700px;
	}
	.projectsec_title {
	left: 50px;
	}
	.projectsec_inner {
	position: relative;
	left: 120px;
	width: 760px;
	margin: 0;
	}
	.project_innerbox {
	width: 635px;
	}
	.project_innerbox figure,
	.project_innerbox .detail {
	width: 300px;
	}
}

.footer {
margin-top: 45px;
padding-bottom: 40px;
}
.footer_btn {
width: 74.67vw;
max-width: 345px;
}
.footer_insta {
margin-top: 60px;
letter-spacing: 0.04em;
}
.footer_insta img {
width: 36px;
margin-bottom: 15px;
}
.footer_copy {
margin-top: 115px;
letter-spacing: 0;
font-family: aktiv-grotesk, sans-serif;
}
