html {
  scroll-behavior: smooth;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 1400px) {
  html {
    font-size: 0.7142857143vw;
  }
}
.js-fade {
  opacity: 0;
  transition: all 1.2s cubic-bezier(0.12, 0.92, 0.31, 0.95);
}
.js-fade.js-fade-bottom {
  transform: translateY(30px);
}
.js-fade.is-active {
  opacity: 1;
  transform: translate(0, 0);
}

.feature {
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-feature-settings: "palt";
  box-sizing: border-box;
  color: #000;
  margin: 0 auto;
  position: relative;
  width: 100%;
  overflow-x: hidden;
}
.feature * {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
  scroll-margin-top: 50px;
}
.feature a {
  color: #000;
  text-decoration: none;
}
.feature img {
  vertical-align: bottom;
  max-width: 100%;
}
.feature .credit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
}
.feature .credit .item {
  display: inline-block;
  border-bottom: 0.1rem solid;
  line-height: 1;
}
.feature .credit .item .link {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-family: "nimbus-sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.feature .credit .item .link .price {
  padding-left: 0.6rem;
}
.feature .mv {
  margin-bottom: 20.2rem;
}
.feature .mv__Inner {
  width: 120rem;
  margin: auto;
  position: relative;
  transform: translateX(0.5rem);
}
.feature .mv__Ttl {
  font-size: 5.5rem;
  color: #fff;
  position: absolute;
  top: 32.8rem;
  left: 0;
  line-height: 1;
  font-family: "nimbus-sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: bold;
  letter-spacing: 0.015em;
  z-index: 10;
  text-align: center;
  width: 100%;
  overflow: hidden;
}
.feature .mv__Ttl .-pop span {
  display: inline-block;
  transform: translate(0, 101%);
}
.feature .mv__Ttl .-pop.is-active span {
  transform: none;
  transition: transform 2s cubic-bezier(0.8, 0, 0.15, 1) 2s;
}
.feature .mv__Ttl .-slide {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
.feature .mv__Ttl .-slide.is-active {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transition: -webkit-clip-path 1.2s cubic-bezier(0.8, 0, 0.15, 1) 3.5s;
  transition: clip-path 1.2s cubic-bezier(0.8, 0, 0.15, 1) 3.5s;
  transition: clip-path 1.2s cubic-bezier(0.8, 0, 0.15, 1) 3.5s, -webkit-clip-path 1.2s cubic-bezier(0.8, 0, 0.15, 1) 3.5s;
}
.feature .mv__Txt {
  font-size: 1.4rem;
  color: #fff;
  position: absolute;
  top: 40rem;
  left: 0;
  line-height: 2.5rem;
  letter-spacing: 0.05em;
  z-index: 10;
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: 1s;
  transform: translateX(0.7rem);
}
.feature .mv__Txt.is-active {
  opacity: 1;
}
.feature .mv__Thum {
  display: flex;
  justify-content: space-between;
}
.feature .mv__Thum li {
  transition: -webkit-clip-path 1.2s cubic-bezier(0.8, 0, 0.15, 1) 1s;
  transition: clip-path 1.2s cubic-bezier(0.8, 0, 0.15, 1) 1s;
  transition: clip-path 1.2s cubic-bezier(0.8, 0, 0.15, 1) 1s, -webkit-clip-path 1.2s cubic-bezier(0.8, 0, 0.15, 1) 1s;
  width: 40rem;
}
.feature .mv__Thum li:nth-child(1) {
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
          clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}
.feature .mv__Thum li:nth-child(2) {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
          clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition-delay: 1.2s;
}
.feature .mv__Thum li:nth-child(3) {
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
          clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  transition-delay: 1.6s;
}
.feature .mv__Thum.is-active li {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) !important;
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) !important;
}
.feature .sec01 {
  padding-bottom: 18rem;
}
.feature .sec01__Flex {
  display: flex;
  justify-content: space-between;
  gap: 6.5rem;
  width: 109rem;
  margin: 0 auto 5.9rem;
}
.feature .sec01__Flex-Detail {
  width: 57.2rem;
}
.feature .sec01__Flex-Detail-Ttl {
  display: flex;
  justify-content: flex-end;
  transform: translateY(-0.2rem);
  margin-bottom: 1.8rem;
}
.feature .sec01__Flex-Detail-Ttl span {
  font-family: "trajan-pro-3", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.08em;
  position: relative;
  padding-bottom: 1.9rem;
  opacity: 0;
}
.feature .sec01__Flex-Detail-Ttl span:before {
  bottom: 0;
  left: -3.2rem;
  position: absolute;
  width: 37.2rem;
  height: 0.1rem;
  content: "";
  background: #000;
  transform: scale(0, 1);
  transform-origin: left;
}
.feature .sec01__Flex-Detail-Ttl.is-active span {
  opacity: 1;
}
.feature .sec01__Flex-Detail-Ttl.is-active span:before {
  transform: none;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
}
.feature .sec01__Flex-Detail-Txt {
  text-align: right;
  margin-bottom: 5.2rem;
}
.feature .sec01__Flex-Detail-Txt span {
  display: inline-block;
  font-weight: 600;
  text-align: right;
  font-size: 1.8rem;
  line-height: 2.98rem;
  letter-spacing: 0.05em;
  transform: translateX(-0.2rem);
}
.feature .sec01__Flex-Detail-Thum {
  margin-left: auto;
  width: 49.5rem;
  transform: translateX(1.8rem);
}
.feature .sec01__Flex-Thum {
  width: 50rem;
  position: relative;
}
.feature .sec01__Flex-Thum .swiper-pagination {
  position: static;
  margin-top: 1.7rem;
}
.feature .sec01__Flex-Thum .swiper-pagination .swiper-pagination-bullet {
  margin: 0 0.55rem;
  width: 1.157rem;
  height: 1.157rem;
  background: #B2B2B2;
  border-radius: 0;
  opacity: 1;
}
.feature .sec01__Flex-Thum .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #000;
}
.feature .sec01__Flex-Thum .credit {
  margin-top: 3.4rem;
}
.feature .sec01__Item-Catch {
  margin: 0 auto 1.3rem;
  width: 54.4rem;
  position: relative;
  text-align: justify;
  font-size: 1.6rem;
  line-height: 2.6rem;
  padding: 1.2rem 2.1rem;
  letter-spacing: 0.05em;
  transform: translateX(0.6rem);
}
.feature .sec01__Item-Catch:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.438rem;
  height: 10.2rem;
  content: "";
  background: url("./../img/kakko_sec01_before.svg") no-repeat;
  background-size: cover;
}
.feature .sec01__Item-Catch:after {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.438rem;
  height: 10.2rem;
  content: "";
  background: url("./../img/kakko_sec01_after.svg") no-repeat;
  background-size: cover;
}
.feature .sec01__Item-Thum {
  position: relative;
  margin: auto;
  width: 48.5rem;
}
.feature .sec01__Item-Thum a {
  display: inline-block;
  transform: translateX(0.8rem);
}
.feature .sec01__Item-Thum-Comment {
  position: absolute;
  top: 20.3rem;
  left: 50.1rem;
  width: 24.5rem;
  height: 15.1rem;
  display: flex;
  align-items: center;
  text-align: justify;
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: 0.075em;
}
.feature .sec01__Item-Thum-Comment:before {
  position: absolute;
  top: -0.4rem;
  left: -23.3rem;
  width: 21.5rem;
  height: 15.1rem;
  content: "";
  background: url("./../img/icon_comment.svg") no-repeat;
  background-size: contain;
}
.feature .sec02 {
  padding-bottom: 19.2rem;
}
.feature .sec02__Flex {
  display: flex;
  flex-direction: row-reverse;
  gap: 6.4rem;
  width: 109rem;
  margin: 0 auto 5.9rem;
}
.feature .sec02__Flex-Detail {
  width: 57.2rem;
}
.feature .sec02__Flex-Detail-Ttl {
  transform: translateY(-0.2rem);
  margin-bottom: 1.8rem;
}
.feature .sec02__Flex-Detail-Ttl span {
  font-family: "trajan-pro-3", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.08em;
  padding-bottom: 1.9rem;
  position: relative;
  display: inline-block;
}
.feature .sec02__Flex-Detail-Ttl span:before {
  bottom: 0;
  left: 0;
  position: absolute;
  width: 24.4rem;
  height: 0.1rem;
  content: "";
  background: #000;
  transform: scale(0, 1);
  transform-origin: left;
}
.feature .sec02__Flex-Detail-Ttl.is-active span {
  opacity: 1;
}
.feature .sec02__Flex-Detail-Ttl.is-active span:before {
  transform: none;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
}
.feature .sec02__Flex-Detail-Txt {
  margin-bottom: 7.5rem;
}
.feature .sec02__Flex-Detail-Txt span {
  display: inline-block;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 2.98rem;
  letter-spacing: 0.15em;
  transform: translateX(0.4rem);
}
.feature .sec02__Flex-Detail-Thum {
  width: 48rem;
}
.feature .sec02__Flex-Detail-Thum a {
  display: inline-block;
  transform: translateX(0.6rem);
}
.feature .sec02__Flex-Thum {
  width: 50rem;
  position: relative;
}
.feature .sec02__Flex-Thum .swiper-pagination {
  position: static;
  margin-top: 1.7rem;
}
.feature .sec02__Flex-Thum .swiper-pagination .swiper-pagination-bullet {
  margin: 0 0.55rem;
  width: 1.157rem;
  height: 1.157rem;
  background: #B2B2B2;
  border-radius: 0;
  opacity: 1;
}
.feature .sec02__Flex-Thum .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #000;
}
.feature .sec02__Flex-Thum .credit {
  margin-top: 3.3rem;
}
.feature .sec02__Item-Catch {
  margin: 0 auto 2.2rem;
  width: 54.6rem;
  position: relative;
  text-align: justify;
  font-size: 1.6rem;
  line-height: 2.6rem;
  padding: 1.4rem 2.2rem;
  letter-spacing: 0.05em;
  transform: translateX(0.4rem);
}
.feature .sec02__Item-Catch:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.27rem;
  height: 8rem;
  content: "";
  background: url("./../img/kakko_sec02_before.svg") no-repeat;
  background-size: cover;
}
.feature .sec02__Item-Catch:after {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.27rem;
  height: 8rem;
  content: "";
  background: url("./../img/kakko_sec02_after.svg") no-repeat;
  background-size: cover;
}
.feature .sec02__Item-Thum {
  position: relative;
  margin: auto;
  width: 50rem;
}
.feature .sec02__Item-Thum a {
  display: inline-block;
  transform: translateX(0.8rem);
}
.feature .sec02__Item-Thum-Comment {
  position: absolute;
  top: 19.5rem;
  left: 50.8rem;
  width: 24.6rem;
  height: 15.1rem;
  display: flex;
  align-items: center;
  text-align: justify;
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: 0.075em;
}
.feature .sec02__Item-Thum-Comment:before {
  position: absolute;
  top: -0.2rem;
  left: -23.3rem;
  width: 21.5rem;
  height: 15.1rem;
  content: "";
  background: url("./../img/icon_comment.svg") no-repeat;
  background-size: contain;
}
.feature .sec03 {
  padding-bottom: 16.8rem;
}
.feature .sec03__Flex {
  display: flex;
  justify-content: space-between;
  gap: 6rem;
  width: 109rem;
  margin: 0 auto 5.3rem;
}
.feature .sec03__Flex-Detail {
  width: 57.2rem;
}
.feature .sec03__Flex-Detail-Ttl {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2rem;
}
.feature .sec03__Flex-Detail-Ttl span {
  font-family: "trajan-pro-3", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
  padding-bottom: 1.9rem;
}
.feature .sec03__Flex-Detail-Ttl span:before {
  bottom: 0;
  left: 0;
  position: absolute;
  width: 35.5rem;
  height: 0.1rem;
  content: "";
  background: #000;
  transform: scale(0, 1);
  transform-origin: left;
}
.feature .sec03__Flex-Detail-Ttl.is-active span {
  opacity: 1;
}
.feature .sec03__Flex-Detail-Ttl.is-active span:before {
  transform: none;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
}
.feature .sec03__Flex-Detail-Txt {
  text-align: right;
  margin-bottom: 9rem;
}
.feature .sec03__Flex-Detail-Txt span {
  display: inline-block;
  font-weight: 600;
  text-align: right;
  font-size: 1.8rem;
  line-height: 2.98rem;
  letter-spacing: 0.05em;
  transform: translateX(-0.2rem);
}
.feature .sec03__Flex-Detail-Thum {
  width: 46.5rem;
  transform: translateX(3.2rem);
}
.feature .sec03__Flex-Thum {
  width: 50rem;
  position: relative;
}
.feature .sec03__Flex-Thum .swiper-pagination {
  position: static;
  margin-top: 1.7rem;
}
.feature .sec03__Flex-Thum .swiper-pagination .swiper-pagination-bullet {
  margin: 0 0.55rem;
  width: 1.157rem;
  height: 1.157rem;
  background: #B2B2B2;
  border-radius: 0;
  opacity: 1;
}
.feature .sec03__Flex-Thum .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #000;
}
.feature .sec03__Flex-Thum .credit {
  margin-top: 3.4rem;
}
.feature .sec03__Item-Catch {
  margin: 0 auto 1.1rem;
  width: 59.6rem;
  position: relative;
  text-align: justify;
  font-size: 1.6rem;
  line-height: 2.6rem;
  padding: 1rem 2.2rem;
  letter-spacing: 0.05em;
  transform: translateX(0.4rem);
}
.feature .sec03__Item-Catch:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.27rem;
  height: 7.2rem;
  content: "";
  background: url("./../img/kakko_sec03_before.svg") no-repeat;
  background-size: cover;
}
.feature .sec03__Item-Catch:after {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.27rem;
  height: 7.2rem;
  content: "";
  background: url("./../img/kakko_sec03_after.svg") no-repeat;
  background-size: cover;
  background-position: right;
}
.feature .sec03__Item-Thum {
  position: relative;
  margin: auto;
  width: 48.1rem;
}
.feature .sec03__Item-Thum a {
  display: inline-block;
  transform: translateX(0.5rem);
}
.feature .sec03__Item-Thum-Comment {
  position: absolute;
  top: 17.3rem;
  left: 49.8rem;
  width: 24.4rem;
  height: 15.1rem;
  display: flex;
  align-items: center;
  text-align: justify;
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: 0.12em;
}
.feature .sec03__Item-Thum-Comment:before {
  position: absolute;
  top: 0.1rem;
  left: -23.3rem;
  width: 21.5rem;
  height: 15.1rem;
  content: "";
  background: url("./../img/icon_comment.svg") no-repeat;
  background-size: contain;
}
.feature .allitemBtn {
  text-align: center;
  margin-bottom: 17rem;
}
.feature .allitemBtn a {
  display: inline-block;
  font-size: 1.8rem;
  letter-spacing: 0.036em;
  font-family: "nimbus-sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  border-bottom: 0.1rem solid #000;
  padding: 0 0.4rem;
}

.l-container {
  width: 100%;
}

.l-footer {
  padding: 0;
}

.pc-footer {
  margin: 0;
}