.sub__heading {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;

}
.sub__heading .en {
  color: var(--light-green);
  font-size: clamp(1.5rem, 1.409rem + 0.45vw, 1.75rem);
  font-weight: 400;
  letter-spacing: .05em;
}
.sub__heading .jp {
  font-family: var(--jp-mincho);
}
.sub__heading .dot {
  background-color: var(--light-green);
}
.sub__title {
  width: min(80%, 1280px);
  margin: -4rem auto 0;
  padding-top: 7rem;
}
.sub__title--jp {
  margin-top: 1.5rem;
  line-height: 1.5;
  font-family: var(--jp-mincho);
  font-size: clamp(2rem, 1.792rem + 1.04vw, 2.625rem);
}
.photo__bgslide {
  display: flex;
  overflow: hidden;
  margin-top: 4rem;
}
.photo__bgslide__item {
  display: flex;
  animation: photoSlider 40s infinite linear 0.5s both;
}
.photo__bgslide__item__box {
  width: clamp(12.5rem, 5.682rem + 34.09vw, 31.25rem);
  margin-left: 1.25rem;
}
.photo__bgslide__item .image {
  border-radius: 10px;
  aspect-ratio: 1 / 1;
}
@keyframes photoSlider {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@media screen and (min-width: 786px) {
  .sub__title {
    padding-top: 10rem;
  }
}
/*—————————————————————————————————
page-mv
—————————————————————————————————*/
.page-mv {
  display: flex;
  flex-direction: column-reverse;
}
.page-mv_image {
  width: 90%;
  align-self: end;
}
.page__heading {
  padding-left: 10%;
}
.page__heading .en {
  font-size: clamp(4rem, 2.833rem + 5.83vw, 7.5rem);
}
@media screen and (min-width: 786px) {
  .page-mv {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
  }
  .page-mv_image {
    width: 100%;
    max-width: 33vw;
  }
  .page__heading {
    margin-right: auto;
  }
}
/*—————————————————————————————————
features
—————————————————————————————————*/
.feature__desc {
  width: 80%;
  margin: auto;
}
.feature__contents {
  position: relative;
}
.feature__num {
  display: flex;
  align-items: center;
  color: var(--light-green);
  opacity: .5;
  line-height: 1;
  transform: translateY(30%);
}
.feature__heading .en {
  writing-mode: vertical-rl;
  font-size: 1.5rem;
  font-family: var(--jp-font);
  font-weight: 100;
  letter-spacing: .1em;
}
.feature__heading .num {
  font-size: 6rem;
  font-weight: 100;
}
.feature__title {
  font-family: var(--jp-mincho);
  font-size: clamp(1.375rem, 1.102rem + 1.36vw, 2.125rem);
  line-height: 1.5;
}
.feature__text {
  margin-top: 2rem;
}
.feature__desc .sub__title {
  width: 100%;
}
.feature__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem auto 0;
  z-index: 10;
}
@media (min-width: 1024px) {
  .feature__contents.point02 {
    margin-top: 10rem;
  }
  .feature__desc {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
  }
  #feature__desc {
    position: static;
    width: min(80%, 1000px);
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .feature__contents.point01 .feature__desc {
    left: 50%;
  }
  .feature__contents.point02 .feature__desc {
    left: 25%;
  }
  .feature__desc__wrap {
    max-width: 540px;
    height: 100%;
    padding: 0 2.5rem;
    background-color: #fff;
  }
}
/*—————————————————————————————————
step
—————————————————————————————————*/
swiper-container {
  width: min(95%, 900px);
  height: clamp(14.875rem, 6.708rem + 40.83vw, 39.375rem);
  aspect-ratio: 3 / 2;
  height: auto;
}
swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background-size: cover;
  background-repeat: no-repeat;
  border: 1px solid var(--light-green);
}
swiper-slide:nth-child(1n) {
  background-image: url(../images/concept/step-01.jpg);
}
swiper-slide:nth-child(2n) {
  background-image: url(../images/concept/step-02.jpg);
}
swiper-slide:nth-child(3n) {
  background-image: url(../images/concept/step-03.jpg);
}
swiper-slide:nth-child(4n) {
  background-image: url(../images/concept/step-04.jpg);
}
swiper-slide:nth-child(5n) {
  background-image: url(../images/concept/step-05.jpg);
}
.step__transition {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 85%;
  margin: auto;
  padding: 1rem 0 2rem;
  z-index: 100;
}
.swiper-button {
  position: relative;
  color: var(--light-green);
  font-size: clamp(1.125rem, 0.917rem + 1.04vw, 1.75rem);
  opacity: 1;
  transition: opacity 0.3s ease;
}
.swiper-button.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.swiper-button::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1rem;
  height: 1rem;
  background-size: contain;
  background-repeat: no-repeat;
}
.swiper-button-prev::after {
  left: -1.125rem;
  transform: translate(-50%, -57%) rotate(180deg);
  background-image: url(../images/icon/arrow-green.svg);
}
.swiper-button-next:after {
  right: -2rem;
  transform: translate(-50%, -40%);
  background-image: url(../images/icon/arrow-green.svg);
} 
.inner.step__inner {
  position: relative;
  width: min(95%, 1200px);
  margin: 6rem auto 0;
}
.step__scroll {
  position: absolute;
  top: -12%;
  left: 50%;
}
.step__scroll--line {
  height: clamp(12.5rem, 10.682rem + 9.09vw, 17.5rem);
  z-index: 3;
}
.step__scroll--line:before {
  -webkit-animation: scrollBorder 3s infinite;
  animation: scrollBorder 3s infinite;
  content: "";
  display: block;
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 1px;
  background: var(--light-green);
  z-index: 2;
}
.step__scroll--line:after {
  content: "";
  display: block;
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 1px;
  background: #D6B473;
}
@-webkit-keyframes scrollBorder {
  0% {
      height: 0;
  }
  100% {
      height: 100%;
  }
}
.step__scroll--star {
  position: absolute;
  margin-top: 2.5rem;
  transform: translateX(calc(-50% + 1px));
  background-image: url(../images/icon/point-star.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.5rem;
  height: 1.5rem;
}
.step__wrap {
  border: 1px solid var(--green);
  border-radius: clamp(12.5rem, 3.409rem + 45.45vw, 37.5rem);
  background: linear-gradient(15deg, rgba(127, 186, 170, .15) 0%, rgba(216, 243, 239, .15) 100%);
}
.step__list {
  position: relative;
  padding: 12rem clamp(1.75rem, -0.341rem + 10.45vw, 7.5rem);
}
.step__list.pc {
  display: none;
}
.step__heading {
  line-height: 1;
}
.step__list__item {
  display: none;
}
.step__list__item.active {
  display: block;
  margin: -5rem auto 0;
  animation: stepList 0.5s ease-in-out forwards;
}
@keyframes stepList {
  0% {
    transform: translateY(1rem);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.step__num {
  display: flex;
  align-items: center;
  color: var(--green);
  opacity: .5;
  line-height: 1;
  transform: translateY(70%);
}
.step__heading .en {
  writing-mode: vertical-rl;
  font-size: 1.5rem;
  font-family: var(--jp-font);
  font-weight: 100;
  letter-spacing: .1em;
}
.step__heading .num {
  font-size: 6rem;
  font-weight: 100;
  opacity: .5;
}
.step__title {
  margin-top: 1rem;
  line-height: 1.5;
  font-size: clamp(1.375rem, 1.102rem + 1.36vw, 2.125rem);
  font-family: var(--jp-mincho);
}
.step__text {
  font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
}
.step__text_title {
  margin-bottom: 1rem;
  font-size: clamp(1.125rem, 0.917rem + 1.04vw, 1.75rem);
  font-weight: 500;
}
.step__list__item:last-of-type .btn__link.step__btn:before {
  left: 10%;
  width: clamp(1.375rem, 1.239rem + 0.68vw, 1.75rem);
  height: clamp(1.375rem, 1.239rem + 0.68vw, 1.75rem);
  transform: translate(-50%, -50%);
  background-image: url(../images/icon/calendar-white.svg);
}
.step__btn {
  display: flex;
  justify-content: center;
  align-items: center;
}
.step__message {
  width: clamp(10rem, 5.455rem + 22.73vw, 22.5rem);
  margin: auto;
  transform: translateY(-50%);
}
@media (min-width: 990px) {
  swiper-container {
    width: 90%;
  }
  .inner.step__inner {
    margin: 7rem auto 0;
  } 
  .step__list {
    padding-top: 20rem;
    padding-bottom: 12rem;
  }
  .step__list.pc {
    display: block;
  }
  .step__list.sp {
    display: none;
  }
  .step__list__item {
    height: 100%;
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, .6);
  }
  .step__list__item:nth-child(n+2) {
    padding-top: 7rem;
  }
  .step__list__item:nth-of-type(2) .step__list__item__content {
    gap: 5rem;
  }
  .step__list__item:nth-of-type(2) .step__list__item__content {
    flex-direction: row;
  }
  .step__list__item__desc {
    padding: 0 4rem;
  }
  .step__heading {
    display: flex;
    gap: 2rem;
  }
  .step__num {
    justify-content: flex-start;
    transform: translateY(0);
  }
  .step__list__item:nth-child(2n) .step__num {
    padding-left: 0;
  }
  .step__title {
    margin-top: 2rem;
  }
  .step__text {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--light-green);
  }
  .step__list__item:nth-child(n+2) .step__text {
    padding-top: 2rem;
  }
  .step__btn {
    margin: 80px auto 0;
  }
  .swiper-button-prev::after {
    left: -1.75rem;
  }
  .swiper-button-next:after {
    right: -2.75rem;
  }
}
/*—————————————————————————————————
style-intro
—————————————————————————————————*/
.style-intro {
  margin-top: 4rem;
}
.style-intro__inner {
  margin-top: 2rem;
}
.style-intro_image {
  width: min(90%, 900px);
  margin: auto;
}
.style-intro_text {
  margin-top: 2rem;
}
@media screen and (min-width: 786px) {
  .style-intro {
    margin-top: 6rem;
    text-align: center;
  }
}
