@charset "UTF-8";
/* eco.scss • v0.0.1 */
/*--------------------------------------------------------------------------
   overwrite
---------------------------------------------------------------------------*/
/* use
-----------------------------------------------------------------*/
/*==========================================================================

   mixin

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

   keyframes

===========================================================================*/
/* section
-----------------------------------------------------------------*/
.m-page-mv__copy {
  padding-bottom: 10vw;
  background-image: url(../img/eco/mv_bg.jpg);
  background-position: 50% 50%;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .m-page-mv__copy {
    padding-bottom: 20vw;
  }
}

.g-main {
  overflow: hidden;
}

.section-wrap {
  padding: 60px 0;
  background-color: #e9e9e9;
}

.g-footer {
  margin-top: 0;
}

/*--------------------------------------------------------------------------
   common
---------------------------------------------------------------------------*/
/* use
-----------------------------------------------------------------*/
/* section
-----------------------------------------------------------------*/
.page-eco img {
  max-width: 100%;
  height: auto;
}
.page-eco .section {
  position: relative;
  text-align: center;
  padding: 0 20px;
}
.page-eco .section:not(:first-child) {
  margin-top: clamp(60px, 8.5714285714vw, 120px);
}
.page-eco .section__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(45px, 6.4285714286vw, 90px) clamp(45px, 6.4285714286vw, 90px);
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .page-eco .section__inner {
    padding: 0 40px clamp(45px, 6.4285714286vw, 90px);
  }
}
.page-eco .section__ico {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 61px;
  height: 56px;
}
@media only screen and (max-width: 767px) {
  .page-eco .section__ico {
    -webkit-transform: translateX(-50%) scale(0.8);
            transform: translateX(-50%) scale(0.8);
  }
}
.page-eco .section__ico img {
  position: absolute;
  top: -50%;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .page-eco .section__ico img {
    top: -70%;
  }
}
.page-eco .section__ttl {
  padding-top: 50px;
}
@media only screen and (max-width: 767px) {
  .page-eco .section__ttl {
    padding-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .page-eco .section__ttl img {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}
.page-eco .section__lead {
  margin-top: clamp(13px, 1.8571428571vw, 26px);
  font-size: 2.6rem;
}
@media only screen and (max-width: 767px) {
  .page-eco .section__lead {
    margin-top: 10px;
    font-size: 1.8rem;
  }
}
.page-eco .section__cap {
  padding: 60px 0 0;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .page-eco .section__cap {
    padding: 30px 0 0;
    margin: 0;
  }
}
.page-eco .section__cap-item {
  padding-left: 1em;
  text-indent: -1em;
}
@media only screen and (max-width: 767px) {
  .page-eco .section__cap-item {
    font-size: 9px;
  }
}
.page-eco .section .obj01 {
  position: absolute;
  top: -350px;
  right: 0;
  width: clamp(276px, 28.75vw, 552px);
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .page-eco .section .obj01 {
    display: none;
  }
}
@media only screen and (max-width: 1400px) {
  .page-eco .section .obj01 {
    right: calc((1400px - 100vw) * -0.5);
  }
}
.page-eco .section .obj01 img {
  position: relative;
  mix-blend-mode: multiply;
  z-index: 1;
}
.page-eco .section .obj02 {
  position: absolute;
  bottom: -350px;
  left: 0;
  width: clamp(202px, 21.0416666667vw, 404px);
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .page-eco .section .obj02 {
    display: none;
  }
}
@media only screen and (max-width: 1400px) {
  .page-eco .section .obj02 {
    left: calc((1400px - 100vw) * -0.5);
  }
}
.page-eco .section .obj02 img {
  position: relative;
  mix-blend-mode: multiply;
  z-index: 1;
}

/*--------------------------------------------------------------------------
   #sec-what
---------------------------------------------------------------------------*/
/* use
-----------------------------------------------------------------*/
/* section
-----------------------------------------------------------------*/
.sec-what {
  padding: clamp(60px, 8.5714285714vw, 120px) 0;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .sec-what {
    padding: 70px 0;
  }
}
.sec-what__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
@media only screen and (max-width: 767px) {
  .sec-what__inner {
    padding: 0 60px;
  }
}
.sec-what__ttl {
  margin-bottom: 20px;
  padding-bottom: 20px;
  text-align: center;
  border-bottom: 1px solid #000;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .sec-what__ttl {
    margin-bottom: 20px;
    padding-bottom: 0;
    border: none;
  }
}
.sec-what__txtbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: clamp(50px, 7.1428571429vw, 100px);
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .sec-what__txtbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.sec-what__txtbox-img {
  width: clamp(105px, 15vw, 210px);
}
@media only screen and (max-width: 767px) {
  .sec-what__txtbox-img {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #000;
  }
}
.sec-what__txtbox-img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .sec-what__txtbox-img img {
    width: 105px;
  }
}
.sec-what__txtbox-txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.sec-what__img {
  max-width: 784px;
  margin: 0 auto;
  padding: 0 20px;
}
@media only screen and (max-width: 767px) {
  .sec-what__img {
    width: 100%;
    padding: 0;
  }
}
.sec-what__img img {
  width: 100%;
  height: auto;
}

/*--------------------------------------------------------------------------
   #sec-zeh
---------------------------------------------------------------------------*/
/* use
-----------------------------------------------------------------*/
/* section
-----------------------------------------------------------------*/
.sec-zeh .section__inner {
  padding: clamp(60px, 8.5714285714vw, 120px) clamp(22.5px, 3.2142857143vw, 45px) clamp(45px, 6.4285714286vw, 90px);
}
@media only screen and (max-width: 767px) {
  .sec-zeh .section__inner {
    padding: 20px 45px;
  }
}
.sec-zeh__txtbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .sec-zeh__txtbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sec-zeh__txtbox-txt {
  width: 45%;
  margin-left: -40px;
}
@media only screen and (max-width: 767px) {
  .sec-zeh__txtbox-txt {
    width: 100%;
    margin: 0;
  }
}
.sec-zeh__txtbox-txt .sec-zeh__ttl {
  padding: 10px;
  background-color: #6069c1;
  color: #fff;
  line-height: 1;
}
.sec-zeh__txtbox-txt .sec-zeh__txt {
  padding: 20px 0 0 clamp(22.5px, 3.2142857143vw, 45px);
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .sec-zeh__txtbox-txt .sec-zeh__txt {
    padding: 20px 0 0;
  }
}
.sec-zeh__txtbox-img {
  width: 55%;
  margin-top: -50px;
}
@media only screen and (max-width: 767px) {
  .sec-zeh__txtbox-img {
    width: 100%;
    margin-top: 20px;
  }
}
.sec-zeh__txtbox-img img {
  width: 100%;
  height: auto;
}
.sec-zeh__img {
  max-width: 874px;
  margin: 60px auto 0;
  padding: 0 20px;
}
@media only screen and (max-width: 767px) {
  .sec-zeh__img {
    width: 100%;
    margin: 20px auto 0;
    padding: 0;
  }
}
.sec-zeh__img img {
  width: 100%;
  height: auto;
}

/*--------------------------------------------------------------------------
   #sec-electric
---------------------------------------------------------------------------*/
/* use
-----------------------------------------------------------------*/
/* section
-----------------------------------------------------------------*/
.sec-electric__txtbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(50px, 7.1428571429vw, 100px);
  margin-bottom: 40px;
  padding-top: 60px;
}
@media only screen and (max-width: 767px) {
  .sec-electric__txtbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.sec-electric__txtbox-img {
  width: clamp(170.5px, 24.3571428571vw, 341px);
}
@media only screen and (max-width: 767px) {
  .sec-electric__txtbox-img {
    margin-top: -50px;
    width: 100%;
    text-align: right;
  }
}
.sec-electric__txtbox-img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .sec-electric__txtbox-img img {
    width: 50%;
  }
}
.sec-electric__txtbox-img figcaption {
  font-size: clamp(7px, 1vw, 14px);
  color: #666;
}
@media only screen and (max-width: 767px) {
  .sec-electric__txtbox-img figcaption {
    margin-top: 5px;
    text-align: right;
    font-size: 12px;
  }
}
.sec-electric__txtbox-txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.sec-electric__txtbox-txt .sec-electric__ttl {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #000;
  text-align: left;
}
.sec-electric__txtbox-txt .sec-electric__txt {
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .sec-electric__txtbox-txt small {
    display: block;
    margin-top: 1em;
  }
}
.sec-electric__imgbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .sec-electric__imgbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
.sec-electric__imgbox-img {
  width: 48%;
}
@media only screen and (max-width: 767px) {
  .sec-electric__imgbox-img {
    width: 100%;
    margin-bottom: 20px;
  }
}
.sec-electric__imgbox-img img {
  width: 100%;
  height: auto;
}

/*--------------------------------------------------------------------------
   #sec-solar
---------------------------------------------------------------------------*/
/* use
-----------------------------------------------------------------*/
/* section
-----------------------------------------------------------------*/
.sec-solar__ttl {
  margin: 80px 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #000;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .sec-solar__ttl {
    margin-top: 60px;
  }
}
.sec-solar__txt {
  text-align: left;
}
.sec-solar .section__cap {
  padding-top: 20px;
}
.sec-solar__txtbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(50px, 7.1428571429vw, 100px);
  padding-top: 60px;
}
@media only screen and (max-width: 767px) {
  .sec-solar__txtbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 0;
    gap: 20px;
  }
}
.sec-solar__txtbox-img {
  width: clamp(323px, 46.1428571429vw, 646px);
}
@media only screen and (max-width: 767px) {
  .sec-solar__txtbox-img {
    margin-top: 20px;
    width: 100%;
    text-align: center;
  }
}
.sec-solar__txtbox-img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .sec-solar__txtbox-img img {
    width: 90%;
  }
}
.sec-solar__txtbox-txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}

/*--------------------------------------------------------------------------
   custom animation
---------------------------------------------------------------------------*/
/* use
-----------------------------------------------------------------*/
/* section
-----------------------------------------------------------------*/
/*# sourceMappingURL=eco.css.map */