@-webkit-keyframes blink_animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes blink_animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.box1 {
  margin-bottom: 13.5vw;
}

.box1 .box-pic {
  width: 82.07%;
  margin: 0 auto 2.1vw;
}

.box1-title {
  font-size: 5.3vw;
  font-weight: bold;
  letter-spacing: .15em;
  line-height: 1.2;
  color: transparent;
  width: 58%;
  margin: 0 auto;
  margin-bottom: 2.75vw;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.box1-title .ani {
  color: transparent;
  line-height: inherit;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #01b577), color-stop(50%, #d4d4d4));
  background-image: -o-linear-gradient(left, #01b577 50%, #d4d4d4 50%);
  background-image: linear-gradient(90deg, #01b577 50%, #d4d4d4 50%);
  background-size: 201% 100%;
  background-position: right center;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-transition: background-position var(--time) linear;
  -o-transition: background-position var(--time) linear;
  transition: background-position var(--time) linear;
  white-space: nowrap;
}

.box1-title.show .ani {
  background-position: left center;
}

.box1-title span.manaable {
  letter-spacing: .05em;
  line-height: inherit;
}

.box1-sub-title {
  font-size: 2.125vw;
  font-weight: bold;
  line-height: 1.5882352941;
  width: 58%;
  margin: 0 auto;
  margin-bottom: 3.5vw;
  letter-spacing: .08em;
}

.box1-textarea p {
  font-size: 1.25vw;
  line-height: 2.22;
  color: #333333;
  width: 58%;
  margin: 0 auto;
  white-space: nowrap;
}

.box-para-pic {
  width: 100%;
  height: 50vw;
  margin: 0 auto 11vw;
  background-color: #000;
  overflow: hidden;
  -webkit-transition: opacity 1s ease-out;
  -o-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
  opacity: 0;
}

.box-para-pic img {
  position: relative;
  display: block;
}

.box-para-pic.show {
  opacity: 1;
}

.box-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  border-top: 1px solid #cccccc;
  padding: 3.36vw 0 3.3vw;
}

.box-content:last-child {
  padding-bottom: 3vw;
}

.box-content:first-child {
  padding-bottom: 10vw;
}

.box-content__left {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 35%;
      -ms-flex: 0 0 35%;
          flex: 0 0 35%;
}

.box-content__title {
  font-size: 2.5vw;
  font-weight: bold;
  color: #333333;
  line-height: 1.35;
}

.box-content__right {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 65%;
      -ms-flex: 0 0 65%;
          flex: 0 0 65%;
  padding-top: 0.3vw;
}

.box-content__right .box-textarea {
  margin-bottom: 2.7vw;
}

.box-content__right .box-pic {
  margin-bottom: 2.25vw;
}

.box-content__right .category-icon {
  width: 48.75%;
  margin-bottom: 8vw;
}

.box-content__subtitle {
  font-size: 1.75vw;
  color: #333333;
  font-weight: bold;
  margin-bottom: 2.4vw;
}

@media screen and (max-width: 768px) {
  .box1 {
    margin-bottom: 25vw;
  }
  .box1 .box-pic {
    width: 96.41%;
    margin: 0 auto 3.4vw;
  }
  .box1-title {
    margin-bottom: 7.5vw;
    width: auto;
    font-size: 10.5vw;
    letter-spacing: .15em;
  }
  .box1-sub-title {
    font-size: 4.8vw;
    line-height: 1.666;
    margin-bottom: 7.5vw;
    letter-spacing: .05em;
    width: auto;
  }
  .box1-textarea p {
    font-size: 3.45vw;
    line-height: 1.846;
    width: auto;
    white-space: normal;
  }
  .box-para-pic {
    width: 112%;
    height: 93.3vw;
    left: -6%;
    margin-bottom: 30vw;
  }
  .box2 {
    margin-bottom: 9.6vw;
  }
  .box-content {
    border-top: 0.3vw solid #cccccc;
    padding: 13.4vw 0 7vw;
  }
  .box-content:first-child {
    padding-bottom: 22vw;
  }
  .box-content__left {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin-bottom: 12.2vw;
  }
  .box-content__title {
    font-size: 8vw;
  }
  .box-content__right {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0;
  }
  .box-content__right .box-textarea {
    margin-bottom: 7.1vw;
  }
  .box-content__right .box-textarea p {
    text-align: justify;
    line-height: 1.61;
  }
  .box-content__right .box-pic {
    margin-bottom: 3.466vw;
  }
  .box-content__right .category-icon {
    width: 100%;
    margin-bottom: 17vw;
  }
  .box-content__subtitle {
    font-size: 5.06vw;
    margin-bottom: 6.4vw;
  }
}
/*# sourceMappingURL=sustainability.css.map */
