.mv {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  background-image: url("../../images/image_mv-sp.webp");
  padding: calc(var(--vw) * 56) 0 calc(var(--vw) * 180);
  @media screen and (min-width: 769px) {
    padding: 56px 0 56px;
    background-image: url("../../images/image_mv.webp");
  }
}
:where(.mv) {
  .mv__company {
    margin: 0 auto calc(var(--vw) * 57) calc(var(--vw) * 21);
    width: calc(var(--vw) * 154);
    @media screen and (min-width: 769px) {
      width: 154px;
      margin: 0 auto 74px 21px;
    }
  }
  .mv__text {
    color: #FFF;
    font-size: calc(var(--rem) * 29);
    letter-spacing: 4.35px;
    line-height: 50px;
    font-weight: bold;
    padding-left: calc(var(--vw) * 18);
    margin-bottom: 32px;
    @media screen and (min-width: 769px) {
      padding-left: 18px;
    }
  }
  .mv__cta {
    display: flex;
    margin-left: auto;
    width: calc(var(--vw) * 160);
    animation: bookingButtonScale 2s infinite ease-in-out;
    position: fixed;
    right: 12px;
    bottom: 12px;
    z-index: 100;
  }
}

.intro {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-image: url("../../images/bg_intro.webp");
  margin-bottom: calc(var(--vw) * 67);
  @media screen and (min-width: 769px) {
    margin-bottom: 67px;
  }
}

:where(.intro) {
  .intro__inner {
    padding-top: calc(var(--vw) * 66);
    background: #000000;
    padding-bottom: calc(var(--vw) * 20);
    @media screen and (min-width: 769px) {
      padding-top: 29px;
      padding-bottom: 20px;
    }
  }
  :where(.intro__list) {
    .text {
      display: flex;
      flex-direction: column;
      align-items: center;
      color: #fff;
      font-size: calc(var(--rem) * 15);
      text-transform: uppercase;
      line-height: 28px;
      letter-spacing: 2.25px;
      font-weight: bold;
    }

    .line {
      position: relative;
      display: flex;
      align-items: center;
    }

    .line:first-of-type::before {
      content: "";
      display: inline-block;
      width: 24px;
      height: 21px;
      background-image: url("../../images/icon_check.svg");
      background-size: contain;
      background-repeat: no-repeat;
      opacity: 0;
      transform: scale(0.8);
      transition: opacity 0.6s ease;
      transition-delay: calc(0.05s * 0);
    }

    .text.is-active .line:first-of-type::before {
      opacity: 1;
    }

    .text.is-active {
      --opacity: 1;
    }

    .char {
      font-size: calc(var(--rem) * 14);
      display: inline-block;
      opacity: var(--opacity, 0);
      transition: opacity 0.6s cubic-bezier(0.77, 0, 0.175, 1);
      transition-delay: calc(0.02s * var(--char-index));
    }

    .line.underline::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -1px;
      width: 100%;
      height: 1px;
      background-color: #fff;
      opacity: 0;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.6s ease, opacity 0.6s ease;
      transition-delay: calc(0.05s * 8);
    }

    .text.is-active .line.underline::after {
      opacity: 1;
      transform: scaleX(1);
    }

    .text+.text {
      margin-top: 27px;
    }
  }

  .intro__image {
    margin: 0 auto;
    width: calc(var(--vw) * 238);
    @media screen and (min-width: 769px) {
      width: 238px;
    }
  }
  .intro__bottom {
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    background-image: url("../../images/bg_intro-fade.webp");
    padding-bottom: calc(var(--vw) * 110);
    @media screen and (min-width: 769px) {
      padding-bottom: 120px;
    }
  }
  .about {
    display: flex;
    flex-direction: column;
    padding-bottom: 800px;
    align-items: start;
    padding: 0 0 0 calc(var(--vw) * 22);
    margin-top: calc(var(--vw) * -34);
    @media screen and (min-width: 769px) {
      padding: 0 0 0 22px;
      margin-top: -34px;
    }
  }
  .about__sub-title {
    font-family: "copperplate", serif;
    font-size: calc(var(--rem) * 15);
    letter-spacing: 1.9px;
    font-weight: 600;
    margin-bottom: 15px;
  }
  .about__first {
    margin-bottom: calc(var(--vw) * 8);
    @media screen and (min-width: 769px) {
      margin-bottom: 8px;
    }
    .title-bg {
      padding: 6px 10px;
    }
    .title-bg__text {
      font-size: calc(var(--rem) * 18);
      letter-spacing: 1.44px;
    }
  }
  .about__second {
    margin-bottom: calc(var(--vw) * 31);
    @media screen and (min-width: 769px) {
      margin-bottom: 31px;
    }
    .title-bg__text {
      font-size: calc(var(--rem) * 21);
      letter-spacing: 1.68px;
    }
  }
  .about__desc {
    font-weight: bold;
    font-size: calc(var(--rem) * 13);
    line-height: 30px;
    letter-spacing: 0.65px;
    margin-bottom: calc(var(--vw) * 27);
    @media screen and (min-width: 769px) {
      margin-bottom: 27px;
    }
    &.is-last {
      margin-bottom: calc(var(--vw) * 38);
      @media screen and (min-width: 769px) {
        margin-bottom: 38px;
      }
    }
  }
  .about__third {
    margin-bottom: calc(var(--vw) * 8);
    @media screen and (min-width: 769px) {
      margin-bottom: 8px;
    }
    .title-bg {
      padding: 7px 10px;
    }
    .title-bg__text {
      font-size: calc(var(--rem) * 15);
      letter-spacing: 1.2px;
    }
  }
  .about__forth {
    margin-bottom: calc(var(--vw) * 37);
    @media screen and (min-width: 769px) {
      margin-bottom: 37px;
    }
    .title-bg {
      padding: 4px 0px 4px 10px;
    }
    .title-bg__text {
      font-size: calc(var(--rem) * 19);
      letter-spacing: 1.52px;
    }
  }
  .about__image-wrap {
    display: inline-block;
    overflow: hidden;
    width: calc(var(--vw) * 343);
    @media screen and (min-width: 769px) {
      width: 343px;
    }
    img {
      display: block;
      clip-path: inset(0 100% 0 0);
      transition: clip-path 0.7s cubic-bezier(0.52, 0, 0, 0.99);
    }
    &.is-shown img {
      clip-path: inset(0 0 0 0);
    }
  }
}

.what {
  display: flex;
  flex-direction: column;
}
:where(.what) {
  .what__title {
    letter-spacing: 4.2px;
    font-size: calc(var(--rem) * 45);
    font-family: "copperplate", serif;
    font-weight: 600;
    background-image: linear-gradient(
      70deg,
      #000 45%,
      #FFF 50%,
      #000 55%
    );
    background-size: 500% 100%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: calc(var(--vw) * 16);
    padding-left: calc(var(--vw) * 21);
    @media screen and (min-width: 769px) {
      margin-bottom: 16px;
      padding-left: 21px;
    }

    &.is-shown {
      animation: shine 3s;
    }
  }
  .what__sub-title {
    font-weight: bold;
    letter-spacing: 1.2px;
    font-size: calc(var(--rem) * 15);
    margin-bottom: calc(var(--vw) * 22);
    padding-left: calc(var(--vw) * 21);
    @media screen and (min-width: 769px) {
      margin-bottom: 22px;
      padding-left: 21px;
    }
  }
  .what__line {
    background: linear-gradient(to right, #A7A660, #DFDFBF);
    width: 0;
    height: 3px;
    margin-bottom: calc(var(--vw) * 53);
    transition: width 0.3s cubic-bezier(0.52, 0, 0, 0.99);
    opacity: 0;
    display: block;
    @media screen and (min-width: 769px) {
      margin-bottom: 53px;
    }
    &.is-shown {
      opacity: 1;
      width: 274px;
    }
  }
  .point__list {
    margin-bottom: 80px;
    padding-left: calc(var(--vw) * 20);
    @media screen and (min-width: 769px) {
      padding-left: 20px;
    }
  }
  .point__title-wrap {
    display: flex;
    align-items: center;
    gap: 21px;
    margin-bottom: 35px;
  }
  .point__title-texts {
    display: flex;
    flex-direction: column;
    font-weight: bold;
  }
  .point__item {
    .point__title-bg {
      font-size: calc(var(--rem) * 19);
      letter-spacing: 1.52px;
    }
    .point__title-image {
      width: 75px;
    }
  }
  .point__item + .point__item {
    margin-top: 49px;
  }
  .point__title-point {
    font-family: "copperplate", serif;
    letter-spacing: 1.04px;
    font-size: calc(var(--rem) * 13);
  }
  .point__title-sub {
    font-size: calc(var(--rem) * 19);
    letter-spacing: 1.52px;
    margin-bottom: 6px;
  }
  .point__desc {
    font-weight: bold;
    font-size: calc(var(--rem) * 13.5);
    letter-spacing: 0.675px;
    line-height: 23px;
    max-height: 20px;
    overflow: hidden;
    opacity: 0;
    transition: max-height 2s ease, opacity 0.4s linear;
    .strong {
      color: #A7A660;
    }
    &.is-shown {
      opacity: 1;
      max-height: 500px;
    }
  }
}

.question {
  position: relative;
}
:where(.question) {
  .question__bg {
    position: absolute;
    right: 0;
    z-index: -1;
    top: -324px;
    width: 242px;
  }
  .question__title {
    font-family: "copperplate", serif;
    font-weight: bold;
    font-size: calc(var(--rem) * 17);
    letter-spacing: 1.7px;
    margin-bottom: 10px;
    padding-left: calc(var(--vw) * 28);
    @media screen and (min-width: 769px) {
      padding-left: 28px;
    }
  }
  .question__sub-title {
    padding-left: calc(var(--vw) * 28);
    font-size: calc(var(--rem) * 24);
    letter-spacing: 1.92px;
    font-weight: bold;
    line-height: 39px;
    margin-bottom: 17px;
    @media screen and (min-width: 769px) {
      padding-left: 28px;
    }
  }
  .question__list {
    display: grid;
    grid-template-columns: calc(var(--vw) * 157) calc(var(--vw) * 157);
    gap: calc(var(--vw) * 12);
    place-content: center;
    margin-bottom: calc(var(--vw) * 19);
    @media screen and (min-width: 769px) {
      gap: 12px;
      grid-template-columns: 157px 157px;
      margin-bottom: 19px;
    }
  }
  .question__answer {
    font-size: calc(var(--rem) * 17);
    letter-spacing: 1.36px;
    line-height: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: calc(var(--vw) * 21);
    @media screen and (min-width: 769px) {
      margin-bottom: 21px;
    }
    .underline {
      background: linear-gradient(transparent 58%, #DFDEBB 67%);
      background-size: 0% 100%;
      background-repeat: no-repeat;
      transition: background-size 0.4s ease;
      &.is-shown {
        background-size: 100% 100%;
      }
    }
  }
  .question__arrow {
    margin: 0 auto calc(var(--vw) * 5) auto;
    width: calc(var(--vw) * 83);
    @media screen and (min-width: 769px) {
      width: 83px;
      margin: 0 auto 5px auto;
    }
  }
  .question__icon {
    margin: 0 auto calc(var(--vw) * 17) auto;
    width: calc(var(--vw) * 200);
    @media screen and (min-width: 769px) {
      width: 200px;
      margin: 0 auto 17px auto;
    }
  }
}

.point {
  position: relative;
  margin-top: calc(var(--vw) * -70);
  @media screen and (min-width: 769px) {
    margin-top: -70px;
  }
}
:where(.point)  {
  .point__bg-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
  .point__bg {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    z-index: -1; 
  }
  .point__list {
    padding-left: calc(var(--vw) * 58);
    margin-bottom: 73px;
    @media screen and (min-width: 769px) {
      padding-left: 58px;
    }
  }
  .point__title {
    font-size: calc(var(--rem) * 24);
    letter-spacing: 1.92px;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    padding-left: calc(var(--vw) * 27);
    align-items: baseline;
    margin-bottom: 45px;
    @media screen and (min-width: 769px) {
      padding-left: 27px;
    }
  }
  .point__sub-title {
    margin-bottom: 12px;
  }
  .point__lead-title {
    border: 2px solid #000;
    padding: 3px 5px;
    .strong {
      color: #A7A660;
    }
  }
  .point__point {
    font-family: "copperplate", serif;
    font-weight: bold;
  }
  .point__point {
    font-size: calc(var(--rem) * 13);
    letter-spacing: 1.3px;
    font-weight: bold;
    margin-bottom: 5px;
  }
  .point__content {
    position: relative;
    z-index: 1;
    margin-top: -90vh;
  }
  .point__head {
    display: flex;
    gap: 39px;
    margin-bottom: 20px;
    align-items: center;
  }
  .point__icon {
    width: 81px;
  }
  .point__item {
    position: relative;
    padding-bottom: 82px;
    &.is-active {
      .point__progress-dot {
        width: 25px;
        height: 25px;
        left: -43px;
      }
      .point__desc {
        color: #000;
      }
    }
  }
  .point__progress-dot {
    position: absolute;
    left: -38px;
    top: 0;
    width: 15px;
    height: 15px;
    background-color: #000000;
    border-radius: 50%;
  }
  .point__progress-bar {
    position: absolute;
    left: -31px;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: #000000;
  }
  .point__item:nth-child(2) {
    .point__head {
      gap: 35px;
    }
    .point__icon {
      width: 94px;
    }
  }
  .point__item:nth-child(3) {
    .point__head {
      gap: 61px;
    }
    .point__icon {
      width: 103px;
    }
  }
  .point__item:nth-child(4) {
    .point__head {
      gap: 31px;
    }
    .point__icon {
      width: 84px;
    }
  }
  .point__item:nth-child(5) {
    padding-bottom: 0;
    .point__head {
      gap: 25px;
    }
    .point__progress-bar {
      display: none;
    }
    .point__icon {
      width: 91px;
    }
  }
  .point__head-text {
    display: flex;
    flex-direction: column;
  }
  .point__text {
    font-weight: bold;
    font-size: calc(var(--rem) * 21);
    letter-spacing: 1.68px;
    .strong {
      color: #A7A660;
    }
  }
  .point__desc {
    font-weight: bold;
    letter-spacing: 1.04px;
    line-height: 27px;
    font-size: calc(var(--rem) * 13);
    color: #A0A0A0;
    transition: color 0.3s linear;
    .underline {
      background: linear-gradient(transparent 58%, #DFDEBB 67%);
    }
  }
  .point__sub-wrap {
    font-weight: bold;
    font-size: calc(var(--rem) * 15);
    letter-spacing: 1.2px;
    line-height: 30px;
    padding-left: calc(var(--vw) * 22);
    margin-bottom: 30px;
    @media screen and (min-width: 769px) {
      padding-left: 22px;
    }
  }
  .point__wrap {
    font-weight: bold;
    font-size: calc(var(--rem) * 20);
    letter-spacing: 1.6px;
    line-height: 41px;
    margin-bottom: 8px;
    padding-left: calc(var(--vw) * 22);
    @media screen and (min-width: 769px) {
      padding-left: 22px;
    }
  }
  .point__wrap-bg {
    padding-left: calc(var(--vw) * 22);
    margin-bottom: 73px;
    @media screen and (min-width: 769px) {
      padding-left: 22px;
    }
    .title-bg__text {
      font-size: calc(var(--rem) * 20);
      letter-spacing: 1.6px;
    }
  }
}

.voice {
  background: #000000;
  border-radius: 30px 30px 0 0;
  padding: 66px 0 0;
}
:where(.voice) {
  .voice__title-wrap {
    display: flex;
    flex-direction: column;
    gap: 17px;
    color: #FFF;
    font-weight: bold;
    padding-left: calc(var(--vw) * 22);
    margin-bottom: 20px;
    @media screen and (min-width: 769px) {
      padding-left: 22px;
    }
  }
  .voice__title {
    font-family: "copperplate", serif;
    font-size: calc(var(--rem) * 42);
    letter-spacing: 4.4px;
    line-height: 48px;
  }
  .voice__line {
    background: linear-gradient(to right, #A7A660, #DFDFBF);
    width: 0;
    height: 3px;
    display: block;
    opacity: 0;
    transition: width 0.3s cubic-bezier(0.52, 0, 0, 0.99);
    &.is-shown {
      width: 274px;
      opacity: 1;
    }
  }
  .voice__list {
    padding: 57px 0 40px 0;
    width: 100%;
  }
  .voice__item {
    color: #FFF;
    width: 100%;
    padding: 0 calc(var(--vw) * 20);
    @media screen and (min-width: 769px) {
      padding: 0 20px;
    }
  }
  .voice-swiper {
    width: 100%;
  }
  .swiper-slide { height: auto; }  
  .voice__head {
    display: flex;
    gap: 26px;
    align-items: center;
    font-weight: bold;
    margin-bottom: 18px;
  }
  .voice__icon {
    width: 133px;
  }
  .voice__info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    .name {
      font-size: calc(var(--rem) * 20);
      letter-spacing: 1.6px;
    }
    .info {
      font-size: calc(var(--rem) * 14);
      letter-spacing: 1.12px;
    }
  }
  .voice__sub-title {
    font-size: calc(var(--rem) * 16);
    letter-spacing: 1.28px;
  }
  .voice__text {
    font-size: calc(var(--rem) * 13);
    letter-spacing: 0.39px;
    line-height: 29px;
    font-weight: bold;
    .strong {
      color: #E6E5BC;
    }
  }
  .swiper-scrollbar {
    background-color: #D9D9D9 !important;
    height: 16px !important;
    border-radius: 0 !important;
    width: 100% !important;
    left: 0 !important;
    bottom: 0 !important;
  }
  .swiper-scrollbar-drag {
    background-color: #575757 !important;
    border-radius: 0 !important;
  }
}

.flow {
  position: relative;
}
:where(.flow) {
  .flow__bg {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    z-index: -1;
  }
  .flow__content {
    padding: 77px 0 0 0;
    margin-top: -100vh;
  }
  .flow__title-wrap {
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-weight: bold;
    margin-bottom: 27px;
    padding-left: calc(var(--vw) * 28);
    @media screen and (min-width: 769px) {
      padding-left: 28px;
    }
  }
  .flow__title {
    font-size: calc(var(--rem) * 55);
    letter-spacing: 4.4px;
    font-family: "copperplate", serif;
  }
  .flow__sub-title {
    font-size: calc(var(--rem) * 16);
    letter-spacing: 1.28px;
  }
  .flow__line {
    background: linear-gradient(to right, #A7A660, #DFDFBF);
    width: 0;
    opacity: 0;
    height: 4px;
    display: block;
    transition: width 0.3s cubic-bezier(0.52, 0, 0, 0.99);
    margin-bottom: 35px;
    &.is-shown {
      opacity: 1;
      width: 274px;
    }
  }
  .flow__icon {
    width: 115px;
  }
  .flow__item {
    display: flex;
    align-items: center;
    gap: 17px;
  }
  .flow__item + .flow__item {
    margin-top: 36px;
  }
  .flow__arrow {
    width: calc(var(--vw) * 79);
    margin: 0 auto calc(var(--vw) * 16) auto;
    @media screen and (min-width: 769px) {
      margin: 0 auto 16px auto;
      width: 79px;
    }
  }
  .flow__list {
    padding-left: calc(var(--vw) * 20);
    margin-bottom: 11px;
    @media screen and (min-width: 769px) {
      padding-left: 20px;
    }
  }
  .flow__desc {
    display: flex;
    flex-direction: column;
    font-weight: bold;
    gap: 10px;
    .title {
      font-size: calc(var(--rem) * 17.8);
      letter-spacing: 1.424px;
    }
    .desc {
      font-size: calc(var(--rem) * 13);
      letter-spacing: 1.04px;
      line-height: 21.3px;
    }
    .bg-text {
      background: #000;
      color: #FFF;
      font-size: calc(var(--rem) * 11);
      letter-spacing: 0.88px;
      border-radius: 3px;
      padding: 3px 8px;
    }
  }
  .flow__wrap {
    color: #FFF;
    font-weight: bold;
    font-size: calc(var(--rem) * 17);
    letter-spacing: 1.36px;
    display: flex;
    justify-content: center;
  }
  .flow__wrap-text  {
    background: #000;
    padding: 5px 14px;
  }
  .flow__company {
    margin: 0 auto calc(var(--vw) * 60) auto;
    width: calc(var(--vw) * 229);
    @media screen and (min-width: 769px) {
      width: 229px;
      margin: 0 auto 60px auto;
    }
  }
  .flow__question {
    font-size: calc(var(--rem) * 14);
    letter-spacing: 1.12px;
    padding-left: calc(var(--vw) * 27);
    font-weight: bold;
    line-height: 27px;
    margin-bottom: 18px;
    @media screen and (min-width: 769px) {
      padding-left: 27px;
    }
    .underline{
      background: linear-gradient(transparent 58%, #DFDEBB 67%);
    }
  }
}

.contact {
  position: relative;
  overflow-x: clip;
  padding: 0 calc(var(--vw) * 27);
  @media screen and (min-width: 769px) {
    padding: 0 27px;
  }
}
:where(.contact) {
  .contact__title {
    font-size: calc(var(--rem) * 29);
    font-weight: bold;
    letter-spacing: 2.32px;
    margin-bottom: 40px;
  }
  input:not([type="submit"]), textarea, select {
    width: 100%;
    margin-top: 10px;
    background: #000;
    border: none;
    border-radius: 3px;
    font-size: calc(var(--rem) * 14);
    letter-spacing: 1.12px;
    font-weight: 600;
    color: #858585;
    padding: 7px 16px;
  }
  select::-ms-expand {
    display: none;
  }
  select {
    background-image: url(../../images/icon_select.svg);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 18px 18px;
    -webkit-appearance: none;
    appearance: none;
  }
  label {
    font-size: calc(var(--rem) * 15);
    font-weight: 600;
    letter-spacing: 1.28px;
  }
  .must {
    color: #FFF;
    background: #A7A660;
    border-radius: 3px;
    font-size: calc(var(--rem) * 11);
    letter-spacing: 0.88px;
    font-weight: bold;
    padding: 3px 8px;
    margin-left: 13px;
  }
  .contact__form-item + .contact__form-item {
    margin-top: 12px;
  }
  input[type=submit] {
    width: calc(var(--vw) * 340);
    height: calc(var(--vw) * 83);
    margin: 0 auto;
    background-image: url(../../images/button_submit.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: transparent;
    border: none;
    text-indent: -9999px;
    cursor: pointer;
    transition: opacity 0.8s linear;
    margin-top: 17px;
    @media screen and (min-width: 769px) {
      width: 100%;
      height: 98px;
    }
    &:hover {
      opacity: 0.6;
    }
  }
  .contact__decoration {
    font-size: calc(var(--rem) * 95);
    letter-spacing: 7.2px;
    position: absolute;
    writing-mode: vertical-rl;
    font-weight: bold;
    color: #F2F2F2;
    font-family: "copperplate", serif;
    right: -37px;
    top: -47px;
    @media screen and (min-width: 769px) {
      right: -37px;
      top: -47px;
    }
  }
  .wpcf7-form-control-wrap {
    > .wpcf7-not-valid-tip {
      display: none;
    }
  
    &.is-show {
      > .wpcf7-not-valid-tip {
        display: block;
      }
    }
  }
}

.last {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-image: url("../../images/bg_point.webp");
  padding: calc(var(--vw) * 60) 0 calc(var(--vw) * 230);
  margin-top: calc(var(--vw) * -29);
  @media screen and (min-width: 769px) {
    padding: 60px 0 230px;
    margin-top: -29px;
  }
}
:where(.last) {
  .last__company {
    margin: 0 auto calc(var(--vw) * 31) auto;
    width: calc(var(--vw) * 203);
    @media screen and (min-width: 769px) {
      margin: 0 auto 31px auto;
      width: 203px;
    }
  }
  .last__text {
    font-weight: bold;
    font-size: calc(var(--rem) * 21);
    letter-spacing: 1.76px;
    text-align: center;
    line-height: 36px;
    margin-bottom: 87px;
  }
  .last__copyright {
    padding-left: calc(var(--vw) * 28);
    font-weight: bold;
    font-size: calc(var(--rem) * 11);
    letter-spacing: 1.68px;
    display: block;
    line-height: 32px;
    @media screen and (min-width: 769px) {
      padding-left: 30px;
    }
  }
}


@keyframes shine {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes gradation {
  0%{
    background-position: 100% 0%;
  }
  50%{
    background-position: 0% 0%;
  }
  100%{
    background-position: 0% 0%;
  }
}

@keyframes bookingButtonScale {
  0% { 
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}