.l-container {
  width: 100%;
}

.feature {
  background: #dcdcdc;
  color: #000;
  font-feature-settings: "palt";
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-style: normal;
  font-weight: 300;
  overflow: hidden;
  padding-bottom: 172px;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 1400px) {
  .feature {
    padding-bottom: 12.2857142857vw;
  }
}
.feature img {
  height: auto;
  width: 100%;
}
.feature a {
  color: #000;
}
.feature a:has(> img) {
  display: block;
}
.feature .js-inview {
  opacity: 0;
  transition: opacity 580ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.feature .js-inview.is-active {
  opacity: 1;
}
.feature .credit {
  opacity: 0;
  transition: all 0.4s ease-in;
}
.feature .credit li {
  display: block;
  font-family: "nimbus-sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 17px;
  white-space: nowrap;
}
@media screen and (max-width: 1400px) {
  .feature .credit li {
    margin-bottom: 1.2142857143vw;
  }
}
.feature .credit li:last-child {
  margin-bottom: 0;
}
.feature .credit li a {
  border-bottom: solid #000 1px;
  display: inline-block;
  transition: all 0.2s ease-in;
}
@media screen and (max-width: 1400px) {
  .feature .credit li a {
    border-bottom: 0.0714285714vw;
  }
}
.feature .credit li a:hover {
  opacity: 0.6;
  text-decoration: none;
}
.feature .hero {
  display: flex;
  margin: 0 auto 253px;
  position: relative;
  width: 1400px;
}
@media screen and (max-width: 1400px) {
  .feature .hero {
    margin-bottom: 18.0714285714vw;
    width: 100vw;
  }
}
.feature .hero__img01, .feature .hero__img02 {
  width: 700px;
}
@media screen and (max-width: 1400px) {
  .feature .hero__img01, .feature .hero__img02 {
    width: 50vw;
  }
}
.feature .hero__ttl {
  color: #fff;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1.75;
  opacity: 0;
  position: absolute;
  top: 455px;
  left: 50.2%;
  transform: translate(-50%, 0) translateY(10px);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: 1s;
}
@media screen and (max-width: 1400px) {
  .feature .hero__ttl {
    font-size: 2.8571428571vw;
    top: 32.5vw;
  }
}
.feature .hero__txt {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.13em;
  line-height: 1.85;
  opacity: 0;
  position: absolute;
  top: 636px;
  left: 50%;
  transform: translate(-50%, 0);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: 1.1s;
}
@media screen and (max-width: 1400px) {
  .feature .hero__txt {
    font-size: 1.0714285714vw;
    top: 45.4285714286vw;
  }
}
.feature .hero.is-active .hero__ttl {
  opacity: 1;
  transform: translate(-50%, 0) translateY(0);
}
.feature .hero.is-active .hero__txt {
  opacity: 1;
}
.feature .c__img {
  align-items: center;
  background: #fff;
  display: flex;
  height: 630px;
  justify-content: center;
  position: relative;
  width: 430px;
}
@media screen and (max-width: 1400px) {
  .feature .c__img {
    height: 45vw;
    overflow: hidden;
    width: 30.7142857143vw;
  }
}
.feature .c__img img {
  transition: all 0.4s ease-in;
}
.feature .c__img:hover img {
  opacity: 0.3;
  text-decoration: none;
}
.feature .c__img:hover .credit {
  opacity: 1;
}
.feature .c__img img {
  position: absolute;
  top: 0;
  left: 0;
}
.feature .c__img .credit {
  position: relative;
  z-index: 2;
}
.feature .c__txt {
  opacity: 1;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.feature .c__txt.is-active {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}
.feature .c__01 {
  height: 1890px;
  margin: 0 auto 26px;
  position: relative;
  width: 1299px;
}
@media screen and (max-width: 1400px) {
  .feature .c__01 {
    height: 135vw;
    margin-bottom: 1.8571428571vw;
    width: 92.7857142857vw;
  }
}
.feature .c__01_img01 {
  position: absolute;
  top: 0;
  left: 0;
}
.feature .c__01_img02 {
  position: absolute;
  top: 0;
  right: 0;
}
.feature .c__01_img03 {
  position: absolute;
  top: 630px;
  left: 434px;
}
@media screen and (max-width: 1400px) {
  .feature .c__01_img03 {
    top: 45vw;
    left: 31vw;
  }
}
.feature .c__01_img04 {
  position: absolute;
  bottom: 0;
  left: 0;
}
.feature .c__01_img05 {
  position: absolute;
  right: 0;
  bottom: 0;
}
.feature .c__01_cap {
  position: absolute;
  top: 271px;
  left: 527px;
  width: 250px;
}
@media screen and (max-width: 1400px) {
  .feature .c__01_cap {
    top: 19.3571428571vw;
    left: 37.6428571429vw;
    width: 17.8571428571vw;
  }
}
.feature .c__01_txt01 {
  font-size: 13px;
  letter-spacing: 0.078em;
  line-height: 2.1;
  position: absolute;
  top: 836px;
  left: 76px;
  text-align: justify;
  width: 280px;
}
@media screen and (max-width: 1400px) {
  .feature .c__01_txt01 {
    font-size: 0.9285714286vw;
    top: 59.7142857143vw;
    left: 5.4285714286vw;
    width: 20vw;
  }
}
.feature .c__01_txt02 {
  font-size: 13px;
  letter-spacing: 0.078em;
  line-height: 2.1;
  position: absolute;
  top: 1494px;
  left: 510px;
  text-align: justify;
  width: 280px;
}
@media screen and (max-width: 1400px) {
  .feature .c__01_txt02 {
    font-size: 0.9285714286vw;
    top: 106.7142857143vw;
    left: 36.4285714286vw;
    width: 20vw;
  }
}
.feature .c__02 {
  height: 729px;
  margin: 0 auto 303px;
  position: relative;
  width: 970px;
}
@media screen and (max-width: 1400px) {
  .feature .c__02 {
    height: 52.0714285714vw;
    margin-bottom: 21.6428571429vw;
    width: 69.2857142857vw;
  }
}
.feature .c__02::before {
  background: #8d8582;
  content: "";
  height: 580px;
  position: absolute;
  top: 149px;
  left: 146px;
  width: 700px;
}
@media screen and (max-width: 1400px) {
  .feature .c__02::before {
    height: 41.4285714286vw;
    top: 10.6428571429vw;
    left: 10.4285714286vw;
    width: 50vw;
  }
}
.feature .c__02::after {
  border-bottom: solid #000 1px;
  content: "";
  height: 8px;
  position: absolute;
  top: 377px;
  left: 236px;
  width: 520px;
}
@media screen and (max-width: 1400px) {
  .feature .c__02::after {
    height: 0.5714285714vw;
    top: 26.9285714286vw;
    left: 16.8571428571vw;
    width: 37.1428571429vw;
  }
}
.feature .c__02_img01 {
  position: absolute;
  bottom: 37px;
  left: 294px;
  transition: all 0.3s ease-in;
  width: 107px;
}
@media screen and (max-width: 1400px) {
  .feature .c__02_img01 {
    bottom: 2.6428571429vw;
    left: 21vw;
    width: 7.6428571429vw;
  }
}
.feature .c__02_img01:hover {
  opacity: 0.6;
}
.feature .c__02_img02 {
  position: absolute;
  bottom: 37px;
  left: 444px;
  transition: all 0.3s ease-in;
  width: 107px;
}
@media screen and (max-width: 1400px) {
  .feature .c__02_img02 {
    bottom: 2.6428571429vw;
    left: 31.7142857143vw;
    width: 7.6428571429vw;
  }
}
.feature .c__02_img02:hover {
  opacity: 0.6;
}
.feature .c__02_img03 {
  position: absolute;
  bottom: 37px;
  left: 594px;
  transition: all 0.3s ease-in;
  width: 107px;
}
@media screen and (max-width: 1400px) {
  .feature .c__02_img03 {
    bottom: 2.6428571429vw;
    left: 42.4285714286vw;
    width: 7.6428571429vw;
  }
}
.feature .c__02_img03:hover {
  opacity: 0.6;
}
.feature .c__02_cap {
  margin: 0 0 22px 48px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1400px) {
  .feature .c__02_cap {
    margin-bottom: 1.5714285714vw;
    margin-left: 3.4285714286vw;
  }
}
.feature .c__02_txt {
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 2.05;
  margin: 0 auto;
  padding-left: 22px;
  position: relative;
  text-align: justify;
  width: 500px;
}
@media screen and (max-width: 1400px) {
  .feature .c__02_txt {
    font-size: 0.9285714286vw;
    padding-left: 1.5714285714vw;
    width: 35.7142857143vw;
  }
}
.feature .c__03 {
  margin: 0 auto 26px;
  position: relative;
  width: 1299px;
}
@media screen and (max-width: 1400px) {
  .feature .c__03 {
    margin-bottom: 1.8571428571vw;
    width: 92.7857142857vw;
  }
}
.feature .c__03_img01 {
  margin: 0 auto 5px;
}
@media screen and (max-width: 1400px) {
  .feature .c__03_img01 {
    margin-bottom: 0.3571428571vw;
  }
}
.feature .c__03_img02 {
  position: absolute;
  top: 635px;
  right: 0;
}
@media screen and (max-width: 1400px) {
  .feature .c__03_img02 {
    top: 45.3571428571vw;
  }
}
.feature .c__03_img03 {
  position: absolute;
  top: 635px;
  left: 0;
}
@media screen and (max-width: 1400px) {
  .feature .c__03_img03 {
    top: 45.3571428571vw;
  }
}
.feature .c__03_img04 {
  margin: 0 auto 5px;
}
@media screen and (max-width: 1400px) {
  .feature .c__03_img04 {
    margin-bottom: 0.3571428571vw;
  }
}
.feature .c__03_img05 {
  margin: 0 auto;
}
.feature .c__03_cap {
  position: absolute;
  top: 282px;
  left: 133px;
  width: 164px;
}
@media screen and (max-width: 1400px) {
  .feature .c__03_cap {
    top: 20.1428571429vw;
    left: 9.5vw;
    width: 11.7142857143vw;
  }
}
.feature .c__03_txt01 {
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 2.08;
  position: absolute;
  top: 140px;
  right: 74px;
  text-align: justify;
  transition-delay: 0.5s;
  width: 280px;
}
@media screen and (max-width: 1400px) {
  .feature .c__03_txt01 {
    font-size: 0.9285714286vw;
    top: 10vw;
    right: 5.2857142857vw;
    width: 20vw;
  }
}
.feature .c__04 {
  height: 732px;
  margin: 0 auto 162px;
  padding-left: 11px;
  position: relative;
  width: 700px;
}
@media screen and (max-width: 1400px) {
  .feature .c__04 {
    height: 52.2857142857vw;
    margin-bottom: 11.5714285714vw;
    padding-left: 0.7857142857vw;
    width: 50vw;
  }
}
.feature .c__04::before {
  background: #8d8582;
  content: "";
  height: 580px;
  position: absolute;
  top: 152px;
  left: 11px;
  width: 700px;
}
@media screen and (max-width: 1400px) {
  .feature .c__04::before {
    height: 41.4285714286vw;
    top: 10.8571428571vw;
    left: 0.7857142857vw;
    width: 50vw;
  }
}
.feature .c__04::after {
  border-bottom: solid #000 1px;
  content: "";
  height: 8px;
  position: absolute;
  top: 387px;
  left: 106px;
  width: 520px;
}
@media screen and (max-width: 1400px) {
  .feature .c__04::after {
    height: 0.5714285714vw;
    top: 27.6428571429vw;
    left: 7.5714285714vw;
    width: 37.1428571429vw;
  }
}
.feature .c__04_img01 {
  position: absolute;
  bottom: 40px;
  left: 143px;
  transition: all 0.3s ease-in;
  width: 120px;
}
@media screen and (max-width: 1400px) {
  .feature .c__04_img01 {
    bottom: 2.8571428571vw;
    left: 10.2142857143vw;
    width: 8.5714285714vw;
  }
}
.feature .c__04_img01:hover {
  opacity: 0.6;
}
.feature .c__04_img02 {
  position: absolute;
  bottom: 40px;
  left: 294px;
  transition: all 0.3s ease-in;
  width: 120px;
}
@media screen and (max-width: 1400px) {
  .feature .c__04_img02 {
    bottom: 2.8571428571vw;
    left: 21vw;
    width: 8.5714285714vw;
  }
}
.feature .c__04_img02:hover {
  opacity: 0.6;
}
.feature .c__04_img03 {
  position: absolute;
  bottom: 40px;
  left: 445px;
  transition: all 0.3s ease-in;
  width: 120px;
}
@media screen and (max-width: 1400px) {
  .feature .c__04_img03 {
    bottom: 2.8571428571vw;
    left: 31.7857142857vw;
    width: 8.5714285714vw;
  }
}
.feature .c__04_img03:hover {
  opacity: 0.6;
}
.feature .c__04_cap {
  margin: 0 auto 28px 56px;
  position: relative;
  width: 603px;
  z-index: 2;
}
@media screen and (max-width: 1400px) {
  .feature .c__04_cap {
    margin-bottom: 2vw;
    margin-left: 4vw;
    width: 43.0714285714vw;
  }
}
.feature .c__04_txt {
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 2.05;
  margin: 0 auto;
  padding-left: 11px;
  position: relative;
  text-align: justify;
  width: 501px;
}
@media screen and (max-width: 1400px) {
  .feature .c__04_txt {
    font-size: 0.9285714286vw;
    padding-left: 0.7857142857vw;
    width: 35.7857142857vw;
  }
}
.feature .btn {
  border-bottom: solid #000 1px;
  display: inline-block;
  font-family: "nimbus-sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.035em;
  margin: 0 auto;
  padding: 0 5px;
  transition: all 0.3s ease-in;
}
@media screen and (max-width: 1400px) {
  .feature .btn {
    font-size: 1.2857142857vw;
    padding: 0 0.3571428571vw;
  }
}
.feature .btn:hover {
  opacity: 0.6;
}
.feature .btn a:hover {
  text-decoration: none;
}

.l-footer {
  padding-top: 0;
}
.l-footer .pc-footer {
  margin-top: 0;
}