
.c-more {
  font-family: "Montserrat", sans-serif;
  color: #8B6F5E;
  display: flex;
  align-items: center;
  gap: 9px;
  justify-content: right;
  font-size: calc(var(--rem) * 10);
  letter-spacing: 3.5px;
  &::after {
    content: "";
    display: inline-block;
    width: 17px;
    height: 5px;
    background-image: url("../../images/top/icon_arrow-gold.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}


@keyframes blur {
  0% {
    opacity: 0;
    filter: blur(40px);
  }

  100% {
    opacity: 1;
    filter: blur(0px);
  }
}

.mv {
  width: 100vw;
  position: relative;
}
:where(.mv) {
  .splide__slide img {
    @media screen and (max-width: 768px) {
      height: 100svh;
      object-fit: cover;
    }
  }
  .mv__text {
    position: absolute;
    opacity: 0;
    width: calc(var(--vw) * 287);
    left: calc(var(--vw) * 24);
    bottom: calc(var(--vw) * 72);
    @media screen and (min-width: 769px) {
      width: calc(var(--vw) * 402);
      left: calc(var(--vw) * 150);
      bottom: calc(var(--vw) * 201);
    }
    &.is-shown {
      animation: blur 0.9s ease-out forwards;
    }
  }
  .mv__more {
    position: absolute;
    opacity: 0;
    width: calc(var(--vw) * 134);
    left: calc(var(--vw) * 24);
    bottom: calc(var(--vw) * 24);
    @media screen and (min-width: 769px) {
      width: calc(var(--vw) * 176);
      left: calc(var(--vw) * 150);
      bottom: calc(var(--vw) * 131);
    }
    &.is-shown {
      animation: blur 1s ease-out forwards;
    }
  }
}
.contact {
  background-image: url("../../images/top/bg_contact-sp.webp");
  background-size: cover;
  background-repeat: no-repeat;
  height: 80vh;
  padding: 55px 25px;
  @media screen and (min-width: 769px) {
    padding: 68px 0;
    background-image: url("../../images/top/bg_contact.png");
  }
}
:where(.contact) {
  .c-title-wrap {
    max-width: 1200px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.8);
  }
  .c-title, .c-title-desc {
    color: rgba(255, 255, 255, 0.8);
  }
  .contact__button {
    display: inline-block;
    margin-top: 45px;
    border: 0.5px solid;
    padding: 12px 84px;
    letter-spacing: 1.5px;
    font-size: calc(var(--rem) * 13);
    @media screen and (min-width: 769px) {
      font-size: calc(var(--rem) * 14);
    }
  }
}
/* .news {
  position: relative;
}
:where(.news) {
  .news__wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 0 70px 0;
    box-sizing: content-box;
    @media screen and (min-width: 769px) {
      padding: 13px 25px 130px 25px;
    }
  }
  .news__image {
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
  }
  .news__title {
    max-width: 1200px;
    position: relative;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0 25px;
    @media screen and (max-width: 768px) {
      flex-direction: column;
      margin-bottom: 20px;
    }
  }
  .news__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 3px;
    @media screen and (min-width: 769px) {
      gap: 5px;
      grid-template-columns: 1fr 0.7fr 0.2fr 1fr;
      grid-template-rows: 140px 140px 170px;
    }
  }
  .news__item-meta {
    color: #8B6F5E;
    display: flex;
    align-items: center;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 5px;
    @media screen and (min-width: 769px) {
      margin-bottom: 8px;
    }
    time {
      font-size: calc(var(--rem) * 10);
      letter-spacing: 1.7px;
      margin-right: 7px;
    }
    span {
      border: 1px solid;
      font-size: calc(var(--rem) * 8);
      letter-spacing: 1.6px;
      padding: 2px 4px;
    }
  }
  .news__item-text {
    color: #2D2926;
    opacity: 0.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: calc(var(--rem) * 10);
    letter-spacing: 1.15px;
    line-height: 18px;
    @media screen and (min-width: 769px) {
      line-height: 21px;
      font-size: calc(var(--rem) * 11);
      letter-spacing: 1.2px;
    }
  }
  .news__item-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: calc(var(--rem) * 12);
    letter-spacing: 1px;
    line-height: 19px;
    margin-bottom: 8px;
    @media screen and (min-width: 769px) {
      line-height: 20px;
      margin-bottom: 10px;
    }
  }
  .news__item-body {
    display: flex;
    flex-direction: column;
    background: #F5F0EA;
    width: 100%;
    justify-content: center;
    @media screen and (max-width: 768px) {
      gap: 20px;
      padding: 10px 15px;
    }
    @media screen and (min-width: 769px) {
      padding: 15px 19px;
    }
  }
  .news__item-thumbnail {
    flex-shrink: 0;
    @media screen and (max-width: 768px) {
      width: 120px;
      height: 130px;
    }
    @media screen and (min-width: 769px) {
      width: 160px;
    }
  }
  .news__item {
    &:first-child {
      @media screen and (min-width: 769px) {
        grid-row: 1 / 3;
        grid-column: 1 / 3;
      }
      .news__item-link {
        @media screen and (max-width: 768px) {
          flex-direction: column;
        }
      }
      .news__item-meta {
        margin-bottom: 11px;
        time {
          font-size: calc(var(--rem) * 11);
          letter-spacing: 1.78px;
          margin-right: 10px;
          @media screen and (min-width: 769px) {
            margin-right: 13px;
            font-size: calc(var(--rem) * 11);
            letter-spacing: 1.78px;
          }
        }
        span {
          border: 1px solid;
          font-size: calc(var(--rem) * 10);
          letter-spacing: 1.7px;
          padding: 2px 3px;
          @media screen and (min-width: 769px) {
            padding: 3px 4px;
          }
        }
      }
      .news__item-body {
        justify-content: space-between;
        padding: 20px;
        @media screen and (min-width: 769px) {
          padding: 44px 32px;
        }
      }
      .news__item-title {
        font-size: calc(var(--rem) * 14);
        letter-spacing: 1.1px;
        margin-bottom: 10px;
        @media screen and (min-width: 769px) {
          font-size: calc(var(--rem) * 16);
          letter-spacing: 1.16px;
          line-height: 27px;
          margin-bottom: 13px;
        }
      }
      .news__item-thumbnail {
        flex-shrink: 0;
        @media screen and (max-width: 768px) {
          width: 100%;
          height: 210px;
        }
        @media screen and (min-width: 769px) {
          width: 300px;
        }
      }
    }
    &:nth-child(2) {
      @media screen and (min-width: 769px) {
        grid-row: 1 / 2;
        grid-column: 3 / 5;
      }
    }
    &:nth-child(3) {
      @media screen and (min-width: 769px) {
        grid-row: 2 / 3;
        grid-column: 3 / 5;
      }
    }
    &:nth-child(4) {
      @media screen and (min-width: 769px) {
        grid-row: 3 / 4;
        grid-column: 1 / 2;
      }
    }
     &:nth-child(5) {
      @media screen and (min-width: 769px) {
        grid-row: 3 / 4;
        grid-column: 2 / 4;
      }
    }

  }
  .news__item-link {
    display: flex;
    height: 100%;
    &:hover {
      .news__item-thumbnail {
        transform: translateY(-3px);
      }
    }
  }
  .news__item-thumbnail {
    transition: transform 0.2s;
    img {
      height: 100%;
      object-fit: cover;
    }
  }
  .news__item-more {
    color: #8B6F5E;
    position: relative;
    font-size: calc(var(--rem) * 10);
    letter-spacing: 1.7px;
    &::after {
      content: "";
      display: inline-block;
      width: 36px;
      height: 0.5px;
      background: #8B6F5E;
      position: absolute;
      top: 0;
      left: 79px;
      bottom: 0;
      margin: auto 0;
    }
  }
} */

.concept {
  position: relative;
  z-index: 1;
  display: grid;
  @media screen and (min-width: 769px) {
    padding: 0 20px;
    grid-template-columns: 0.787fr 1fr;
  }
}
:where(.concept) {
  .concept__text {
    @media screen and (max-width: 768px) {
      background-color: #FFF;
      padding: 20px 24px 24px 24px;
      margin-left: 37px;
      margin-top: 205px;
    }
    @media screen and (min-width: 769px) {
      margin-top: 100px;
      display: flex;
      align-items: center;
      justify-content: end;
      margin-bottom: 50px;
    }
  }
  .concept__text-inner {
    @media screen and (min-width: 769px) {
      max-width: 408px;
    }
  }
  .c-title-wrap {
    @media screen and (min-width: 769px) {
      margin-bottom: 55px;
    }
  }
  .concept__desc {
    color: #1A1714;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: calc(var(--rem) * 12);
    letter-spacing: 1.28px;
    line-height: 23px;
    margin-bottom: 25px;
    @media screen and (min-width: 769px) {
      line-height: 26px;
      margin-bottom: 33px;
      font-size: calc(var(--rem) * 13);
      letter-spacing: 1.3px;
    }
    &.is-last {
      margin-bottom: 32px;
      @media screen and (min-width: 769px) {
        margin-bottom: 20px;
      }
    }
  }
  .concept__eng {
    color: #1A1714;
    font-family: "Montserrat", sans-serif;
    font-size: calc(var(--rem) * 12);
    letter-spacing: 1.4px;
    line-height: 22px;
    margin-bottom: 25px;
    @media screen and (min-width: 769px) {
      line-height: 23px;
      margin-bottom: 33px;
    }
  }
  .concept__image {
    @media screen and (max-width: 768px) {
      position: absolute;
      top: 58px;
      z-index: -1;
    }
    @media screen and (min-width: 769px) {
      height: 100%;
      object-fit: cover;
      width: 500px;
      margin: 120px auto 0 auto;
    }
  }
  .concept__more {
    font-family: "Montserrat", sans-serif;
    display: flex;
    align-items: center;
    gap: 9px;
    justify-content: right;
    @media screen and (min-width: 769px) {
      font-size: calc(var(--rem) * 10);
      letter-spacing: 3.5px;
    }
    &::after {
      content: "";
      display: inline-block;
      width: 17px;
      height: 5px;
      background-size: contain;
      background-repeat: no-repeat;
    }
  }
}

.talents {
  position: relative;
  @media screen and (max-width: 768px) {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  @media screen and (min-width: 769px) {
    padding: 115px 25px 120px;
  }
}
:where(.talents) {
  .talents__bg {
    position: absolute;
    width: 900px;
    top: 0px;
    left: 0;
    z-index: -1;
    @media screen and (max-width: 768px) {
      width: 88%;
    }
  }
  .talents__title {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    @media screen and (max-width: 768px) {
      flex-direction: column;
      margin-bottom: 24px;
      padding: 40px 25px 0 25px;
    }
    @media screen and (min-width: 769px) {
      margin-bottom: 7px;
      padding: 0 25px;
    }
  }
  .c-title-wrap {
    @media screen and (max-width: 768px) {
      margin-bottom: 14px;
    }
  }
  .talents__list {
    flex-wrap: wrap;
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: flex-start;
    @media screen and (min-width: 769px) {
      gap: 20px;
    }
  }
  .talent-list__link {
    position: relative;
    &::after {
      opacity: 0;
      transition: opacity 0.2s linear;
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 40%;
      background: linear-gradient(to bottom, transparent, rgba(26, 23, 20, 0.6));
      pointer-events: none;
    }
    &:hover {
      opacity: 1 !important;
      &::after {
        opacity: 1;
      }
    }
  }
  .talents__item {
    width: calc(22% - 30px);
    position: relative;
    overflow: hidden;
    transition: transform 0.2s linear opacity 0.2s linear;
    @media screen and (max-width: 768px) {
      width: calc(50% - 25px);
    }
    img {
      height: 100%;
      object-fit: cover;
    }
    &:hover {
      transform: translateY(-3px);
    }
  }
  .talents__item-body {
    color: #FFF;
    position: absolute;
    z-index: 1;
    bottom: 23px;
    left: 19px;
    @media screen and (max-width: 768px) {
      bottom: 13px;
      left: 13px;
    }
  }
  .talents__name {
    font-size: calc(var(--rem) * 14);
    @media screen and (max-width: 768px) {
      font-size: calc(var(--rem) * 12);
    }
  }
  .talents__item-en {
    line-height: 29px;
    font-family: "Cormorant Garamond", serif;
    font-size: calc(var(--rem) * 30);
    @media screen and (max-width: 768px) {
      font-size: calc(var(--rem) * 25);
      line-height: 23px;
    }
  }
}

.news-2 {
  position: relative;
  background-color: #FAF8F5;
  margin-bottom: 60px;
  @media screen and (min-width: 769px) {
    padding-top: 60px;
    margin-bottom: 100px;
  }
}
:where(.news-2) {
  .c-more {
    justify-content: center;
  }
  .news__item-meta {
    color: #8B6F5E;
    display: flex;
    align-items: center;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 5px;
    @media screen and (min-width: 769px) {
      margin-bottom: 8px;
    }
    time {
      font-size: calc(var(--rem) * 10);
      letter-spacing: 1.7px;
      margin-right: 7px;
    }
    span {
      border: 1px solid;
      font-size: calc(var(--rem) * 8);
      letter-spacing: 1.6px;
      padding: 2px 4px;
    }
  }
  .news__item-text {
    color: #2D2926;
    opacity: 0.8;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: calc(var(--rem) * 10);
    letter-spacing: 1px;
    line-height: 15px;
    @media screen and (min-width: 769px) {
      line-height: 21px;
      font-size: calc(var(--rem) * 11);
      letter-spacing: 1.1px;
    }
  }
  .news__item-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: calc(var(--rem) * 12);
    letter-spacing: 1.26px;
    line-height: 19px;
    margin-bottom: 8px;
    @media screen and (min-width: 769px) {
      line-height: 20px;
      margin-bottom: 10px;
      font-size: calc(var(--rem) * 14);
      letter-spacing: 1.3px;
    }
  }
  .c-title {
    text-align: center;
    border-bottom: 0.5px solid;
    padding-bottom: 11px;
    margin-bottom: 17px;
    @media screen and (min-width: 769px) {
      padding-bottom: 15px;
      margin-bottom: 18px;
    }
  }
  .news__item-thumbnail {
    height: calc(var(--vw) * 130);
    margin-bottom: 15px;
    @media screen and (min-width: 769px) {
      height: 280px;
      overflow: hidden;
      margin-bottom: 22px;
    }
    img {
      height: 100%;
      object-fit: cover;
    }
  }
  .news__inner{
    max-width: 1200px;
    margin: 0 auto 30px auto;
    display: grid;
    grid-template-columns: calc(var(--vw) * 200) calc(var(--vw) * 200) calc(var(--vw) * 200);
    gap: 10px;
    padding: 0 25px;
    overflow: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
    @media screen and (min-width: 769px) {
      gap: 20px;
      grid-template-columns: 1fr 1fr 1fr;
      margin: 0 auto 40px auto;
    }
    &::-webkit-scrollbar {
      display: none;
    }
  }
  .c-title-desc {
    text-align: center;
  }
  .news__title {
    max-width: 1200px;
    margin: 0 auto;
    @media screen and (max-width: 768px) {
      margin-bottom: 10px;
      padding: 40px 25px 0 25px;
    }
    @media screen and (min-width: 769px) {
      margin-bottom: 7px;
      padding: 0 25px;
    }
  }
}

/* .cta {
  display: grid;
  @media screen and (min-width: 769px) {
    grid-template-columns: 1fr 1fr;
  }
}
:where(.cta) {
  .cta__item {
    background: #1A1714;
    position: relative;
    padding: 25px;
    @media screen and (min-width: 769px) {
      padding: min(60px, calc(var(--vw) * 60)) min(20px, calc(var(--vw) * 20)) min(107px, calc(var(--vw) * 107)) min(78px, calc(var(--vw) * 78));
    }
    &.is-contact {
      background: #F8F3ED;
    }
    &.is-auditions {
      .c-title-desc {
        color: #FFF;
        opacity: 0.6;
      }
      .c-title {
        color: #FFF;
      }
    }
  }
  .contact__text {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .c-title-wrap {
    margin-bottom: 71px;
  }
  .c-more {
    justify-content: left;
  }
  .cta__item-soon {
    position: absolute;
    right: 20px;
    color: #FFF;
    font-family: "Cormorant Garamond", serif;
    @media screen and (max-width: 768px) {
      bottom: 22px;
    }
    @media screen and (min-width: 769px) {
      font-size: calc(var(--rem) * 34);
      letter-spacing: 1.7px;
    }
  }
} */

@keyframes textFloatIn {
  0% {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(16px) rotate(-4deg);
  }

  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) rotate(0deg);
  }
}