@charset "UTF-8";
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: opacity 1s ease-in;
}
.js-fade.is-active {
  opacity: 1;
}

/*左から右*/
.-clipl-r {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transition: -webkit-clip-path 1s;
  transition: clip-path 1s;
  transition: clip-path 1s, -webkit-clip-path 1s;
}
.-clipl-r.is-active {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}

/*右から左*/
.-clipr-l {
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
  transition: -webkit-clip-path 1s;
  transition: clip-path 1s;
  transition: clip-path 1s, -webkit-clip-path 1s;
}
.-clipr-l.is-active {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}

.feature {
  box-sizing: border-box;
  color: #000;
  margin: 0 auto;
  position: relative;
  width: 100%;
}
.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 .wrap {
  display: flex;
}
.feature .wrap .LeftCont {
  width: 50%;
}
.feature .wrap .LeftCont__Inner {
  position: sticky;
  top: 80px;
  width: 100%;
  height: calc(100vh - 80px);
  background-image: url(./../img/img_mv.jpg);
  background-size: cover;
  background-repeat: no-repeat, no-repeat;
  background-position: top center;
}
.feature .wrap .LeftCont__Ttl {
  position: absolute;
  width: 61.3rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transition: -webkit-clip-path 1s;
  transition: clip-path 1s;
  transition: clip-path 1s, -webkit-clip-path 1s;
  transition-delay: 1s;
}
.feature .wrap .LeftCont__Ttl.is-active {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.feature .wrap .RightCont {
  padding-top: calc(80px + 6.3333333333rem);
  width: 50%;
  padding-bottom: 3rem;
}
.feature .wrap .RightCont__Inner {
  overflow: hidden;
  width: 50rem;
  margin: auto;
}
.feature .sec {
  margin-bottom: 10.6666666667rem;
}
.feature .sec__Main {
  margin-bottom: 0.6666666667rem;
  position: relative;
}
.feature .sec__Main-Icon {
  position: absolute;
  top: 3.2rem;
}
.feature .sec__Sub {
  margin-bottom: 4.1333333333rem;
}
.feature .sec__Sub .swiper .swiper-slide {
  width: 22rem;
}
.feature .sec.-sec01 .sec__Ttl {
  margin: 0 auto 2.7333333333rem;
  width: 46rem;
  transform: translateX(0.5333333333rem);
}
.feature .sec.-sec01 .sec__Main-Icon {
  width: 8.5733333333rem;
  right: 1.8rem;
}
.feature .sec.-sec02 {
  margin-bottom: 8.3333333333rem;
}
.feature .sec.-sec02 .sec__Ttl {
  margin: 0 auto 2.7333333333rem;
  width: 46rem;
  transform: translateX(0.5333333333rem);
}
.feature .sec.-sec02 .sec__Main-Icon {
  width: 10.6666666667rem;
  left: 1.3333333333rem;
}
.feature .sec.-sec02 .credit .item:nth-child(2) .price {
  letter-spacing: -0.03em;
}
.feature .sec.-sec02 .credit .item:last-child {
  transform: translateY(-2.6666666667rem);
}
.feature .sec.-sec02 .credit .item:last-child:before {
  top: 1.6666666667rem;
}
.feature .sec.-sec03 .sec__Ttl {
  margin: 0 auto 2.7333333333rem;
  width: 46rem;
  transform: translateX(0.5333333333rem);
}
.feature .sec.-sec03 .sec__Main-Icon {
  width: 7.8rem;
  left: 2.3333333333rem;
  top: 3rem;
}
.feature .sec.-sec04 .sec__Ttl {
  margin: 0 auto 2.7333333333rem;
  width: 46rem;
  transform: translateX(0.5333333333rem);
}
.feature .sec.-sec04 .sec__Main-Icon {
  width: 11.3333333333rem;
  left: 1.8666666667rem;
}
.feature .sec.-sec05 .sec__Ttl {
  margin: 0 auto 2.7333333333rem;
  width: 46rem;
  transform: translateX(0.5333333333rem);
}
.feature .sec.-sec05 .sec__Main-Icon {
  width: 10rem;
  right: 0.7333333333rem;
}
.feature .sec.-sec05 .credit .item:nth-child(4) {
  white-space: nowrap;
}
.feature .sec.-sec06 .sec__Ttl {
  margin: 0 auto 2.7333333333rem;
  width: 46rem;
  transform: translateX(0.5333333333rem);
}
.feature .sec.-sec06 .sec__Main-Icon {
  width: 8.5733333333rem;
  right: 1.8666666667rem;
}
.feature .sec.-sec06 .credit .item {
  width: 100%;
  display: block;
}
.feature .sec.-sec06 .credit .item a {
  padding-bottom: 0.2rem;
  width: 18.9333333333rem;
}
.feature .sec.-sec07 {
  margin-bottom: 8.6666666667rem;
}
.feature .sec.-sec07 .sec__Ttl {
  margin: 0 auto 2.7333333333rem;
  width: 46rem;
  transform: translateX(0.5333333333rem);
}
.feature .sec.-sec07 .sec__Main-Icon {
  width: 7.0666666667rem;
  right: 1.8666666667rem;
}
.feature .sec.-sec07 .credit .item:nth-child(3) {
  white-space: nowrap;
}
.feature .sec .credit {
  width: 45.8666666667rem;
  transform: translateX(0.3333333333rem);
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.4rem 0;
}
.feature .sec .credit .item {
  width: 21.6rem;
  padding-left: 2.6666666667rem;
  position: relative;
}
.feature .sec .credit .item:before {
  position: absolute;
  width: 1.3333333333rem;
  height: 1.3333333333rem;
  box-sizing: border-box;
  border: 1px solid #000;
  content: "";
  left: 0;
  top: 0.3333333333rem;
}
.feature .sec .credit .item a {
  font-family: "pragmatica", sans-serif;
  font-weight: 300;
  font-style: normal;
  display: block;
  font-size: 2rem;
  padding-bottom: 0.0666666667rem;
  line-height: 1;
  border-bottom: 1px solid #000;
}
.feature .sec .credit .item a .txt {
  margin-right: 0.4666666667rem;
  white-space: nowrap;
}
.feature .sec .credit .item a .txt .-small {
  font-size: 1.3333333333rem;
  padding-bottom: 0.6rem;
  display: inline-block;
  transform: translateY(-0.3333333333rem);
}
.feature .sec .credit .item a .price {
  letter-spacing: 0;
}
.feature .sec .credit .item.-mr0, .feature .sec .credit .item:last-child {
  margin-right: 0;
}
.feature .allitemBtn {
  text-align: center;
  margin-bottom: 5.4666666667rem;
}
.feature .allitemBtn a {
  display: inline-block;
  width: 29.3333333333rem;
}
.feature .staff {
  margin-bottom: 8rem;
  text-align: center;
  font-size: 1.6rem;
  font-family: "quincy-cf", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 3.3333333333rem;
}
.feature .staff span {
  font-weight: 600;
}

.l-container {
  width: 100%;
}

.l-footer {
  padding: 0;
}

.pc-footer {
  margin: 0;
}