.l-container {
  width: 100%;
}

.feature {
  background: #e6e6e6;
  color: #000;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-style: normal;
  font-weight: 300;
  overflow: hidden;
  padding-bottom: 175px;
  text-align: center;
  width: 100%;
}
.feature a {
  color: #000;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
.feature a:hover {
  opacity: 0.6;
}
.feature a:has(> img) {
  display: block;
}
.feature img {
  height: auto;
  width: 100%;
}
.feature .credit {
  display: flex;
  justify-content: center;
}
.feature .credit li {
  font-family: "nimbus-sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  margin: 0 5.5px;
  white-space: nowrap;
}
.feature .credit li a {
  text-decoration: underline;
}
.feature .js-inview {
  opacity: 0;
  transition-delay: 0.3s;
}
.feature .js-inview.hero__img {
  transition: all 1s ease-in-out;
}
.feature .js-inview.hero__ttl01 {
  opacity: 1;
}
.feature .js-inview.hero__ttl01 span {
  transform: translateY(49px);
  transition: transform 0.5s ease-in-out 1s;
}
.feature .js-inview.hero__ttl01.is-active span {
  transform: translateY(0);
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(2) {
  transition-delay: 1.1s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(3) {
  transition-delay: 1.2s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(4) {
  transition-delay: 1.3s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(5) {
  transition-delay: 1.4s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(6) {
  transition-delay: 1.5s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(7) {
  transition-delay: 1.6s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(8) {
  transition-delay: 1.7s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(9) {
  transition-delay: 1.8s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(10) {
  transition-delay: 1.9s;
}
.feature .js-inview.hero__ttl01.is-active span:nth-child(11) {
  transition-delay: 2s;
}
.feature .js-inview.hero__ttl02 {
  opacity: 1;
}
.feature .js-inview.hero__ttl02 span {
  transform: translateY(49px);
  transition: transform 0.5s ease-in-out 2.5s;
}
.feature .js-inview.hero__ttl02.is-active span {
  transform: translateY(0);
}
.feature .js-inview.hero__ttl02.is-active span:nth-child(2) {
  transition-delay: 2.6s;
}
.feature .js-inview.hero__ttl02.is-active span:nth-child(3) {
  transition-delay: 2.7s;
}
.feature .js-inview.hero__ttl02.is-active span:nth-child(4) {
  transition-delay: 2.8s;
}
.feature .js-inview.hero__ttl02.is-active span:nth-child(5) {
  transition-delay: 2.9s;
}
.feature .js-inview.hero__ttl02.is-active span:nth-child(6) {
  transition-delay: 3s;
}
.feature .js-inview.hero__ttl02.is-active span:nth-child(7) {
  transition-delay: 3.1s;
}
.feature .js-inview.hero__ttl02.is-active span:nth-child(8) {
  transition-delay: 3.2s;
}
.feature .js-inview.hero__ttl02.is-active span:nth-child(9) {
  transition-delay: 3.3s;
}
.feature .js-inview.hero__txt {
  filter: blur(10px);
  will-change: filter, opacity;
  transition: filter 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0s, opacity 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) 4s;
}
.feature .js-inview.hero__txt.is-active {
  filter: blur(0);
}
.feature .js-inview.cap {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  display: inline-block;
  opacity: 1;
  transition: all 1s ease-in-out;
}
.feature .js-inview.cap.is-active {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.feature .js-inview.img {
  transition: all 0.5s 0s ease-out;
}
.feature .js-inview.txt, .feature .js-inview.cr {
  filter: blur(10px);
  will-change: filter, opacity;
  transition: filter 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0s, opacity 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.feature .js-inview.txt.is-active, .feature .js-inview.cr.is-active {
  filter: blur(0);
}
.feature .js-inview.is-active {
  opacity: 1;
}
.feature .hero {
  margin: 0 auto 136px;
  position: relative;
  width: 1400px;
}
.feature .hero__ttl01 {
  color: #fff;
  font-family: "trajan-pro-3", serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 600;
  height: 49px;
  letter-spacing: -0.15em;
  overflow: hidden;
  position: absolute;
  bottom: 296px;
  left: 241px;
  width: 272px;
}
.feature .hero__ttl01 span {
  display: inline-block;
}
.feature .hero__ttl01 span:nth-child(3) {
  width: 8px;
}
.feature .hero__ttl02 {
  color: #fff;
  font-family: "trajan-pro-3", serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 600;
  height: 49px;
  letter-spacing: -0.15em;
  overflow: hidden;
  position: absolute;
  right: 276px;
  bottom: 296px;
  width: 215px;
}
.feature .hero__ttl02 span {
  display: inline-block;
}
.feature .hero__ttl02 span:nth-child(3) {
  width: 8px;
}
.feature .hero__txt {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.07em;
  line-height: 2.15;
  position: absolute;
  bottom: 194px;
  left: 50.3%;
  transform: translate(-50%, 0);
}
.feature .leadTxt {
  color: #231815;
  font-feature-settings: "palt";
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.13em;
  line-height: 2;
  margin-bottom: 127px;
}
.feature .btn {
  border-bottom: solid #000 1px;
  font-family: "nimbus-sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.035em;
  opacity: 0;
  padding: 0 5px 2px;
  text-decoration: none;
  transition: all 0.8s ease-in;
}
.feature .btn.is-active {
  opacity: 1;
}
.feature .c__01 {
  height: 790px;
  margin: 0 auto 123px;
  position: relative;
  width: 1400px;
}
.feature .c__01_img01 {
  position: absolute;
  top: 0;
  left: 167px;
  width: 550px;
}
.feature .c__01_img02 {
  position: absolute;
  top: 127px;
  right: 423px;
  width: 300px;
}
.feature .c__01_img03 {
  position: absolute;
  top: 47px;
  right: 123px;
  width: 300px;
}
.feature .c__01_txt {
  font-feature-settings: "palt";
  font-size: 13px;
  letter-spacing: 0.067em;
  line-height: 2.06;
  position: absolute;
  right: 123px;
  bottom: -8px;
  text-align: justify;
  width: 480px;
}
.feature .c__01 .cr {
  position: absolute;
  bottom: -50px;
  left: 167px;
  width: 550px;
}
.feature .c__02 {
  height: 1032px;
  margin: 0 auto 275px;
  position: relative;
  width: 1400px;
}
.feature .c__02_img01 {
  position: absolute;
  top: 145px;
  right: 230px;
  width: 470px;
}
.feature .c__02_img01:last-child {
  position: absolute;
  top: 245px;
  left: 255px;
  width: 350px;
}
.feature .c__02_txt {
  font-feature-settings: "palt";
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 2.1;
  position: absolute;
  bottom: 0;
  left: 400px;
  text-align: justify;
  width: 602px;
}
.feature .c__02 .cap {
  font-family: "trajan-pro-3", serif;
  font-size: 60px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.045em;
  margin-bottom: 61px;
  padding-left: 11px;
}
.feature .c__02 .cr {
  position: absolute;
  bottom: 236px;
  left: 224px;
}
.feature .c__03 {
  height: 1078px;
  margin: 0 auto 89px;
  position: relative;
  width: 1400px;
}
.feature .c__03_img01 {
  position: absolute;
  top: 17px;
  left: 165px;
  width: 400px;
}
.feature .c__03_img02 {
  position: absolute;
  right: 264px;
  bottom: 0;
  width: 500px;
}
.feature .c__03 .cr {
  position: absolute;
  bottom: 0;
  left: 491px;
}
.feature .c__03 .cr .credit {
  display: block;
  text-align: left;
}
.feature .c__03 .cr .credit li {
  margin-top: 14px;
}
.feature .c__04 {
  height: 1261px;
  margin: 0 auto 143px;
  position: relative;
  width: 1400px;
}
.feature .c__04_img01 {
  position: absolute;
  top: 173px;
  left: 165px;
  width: 600px;
}
.feature .c__04_img02 {
  position: absolute;
  right: 275px;
  bottom: 0;
  width: 400px;
}
.feature .c__04_txt {
  font-feature-settings: "palt";
  font-size: 13px;
  letter-spacing: 0.055em;
  line-height: 2.1;
  position: absolute;
  top: 256px;
  right: 274px;
  text-align: justify;
  width: 290px;
}
.feature .c__04 .cap {
  font-family: "trajan-pro-3", serif;
  font-size: 60px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.03em;
}
.feature .c__04 .cr {
  position: absolute;
  bottom: 187px;
  left: 253px;
}
.feature .c__05 {
  margin: 0 auto 206px;
  width: 820px;
}
.feature .c__05_img01 {
  margin-bottom: 37px;
}

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