.sub-page {
  padding-block: 180px 150px;

  @media (max-width: 1280px) {
    padding-block: 26.042vw 22.135vw;
  }
}

.sub-tit {
  position: relative;
  font-size: 43px;
  font-weight: 300;
  line-height: 125%;
  padding-top: 33px;
  &::after {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
  }

  .nav {
    margin-top: 30px;
    display: flex;
    a {
      font-size: 16px;
      line-height: 1;
      margin-right: 20px;
      padding-right: 20px;
      position: relative;
      color: var(--gray02);
      font-family: var(--pretendard);
      &:first-child:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 1.5px;
        height: 14px;
        background-color: var(--gray02);
      }
      &.active {
        color: #000;
      }
    }
  }

  h3 {
    font-family: var(--itc);
  }

  @container grid-container (max-width: 768px) {
    left: 0;
    width: 100%;
    font-size: 6.818cqw;
    line-height: 1.16667;
    letter-spacing: -0.02094cqw;
    padding-top: 6.771cqw;
    &::after {
      width: 31.25cqw !important;
    }

    .nav {
      display: none;
    }
  }
}

.sub-page.news,
.sub-page.contact,
.sub-page.mua,
.sub-page.xr,
.sub-page.booking,
.sub-page.ci,
.sub-page.history {
  .sub-tit {
    left: 50%;
    &::after {
      width: 204px;
    }
  }
}

.sub-page.insight {
  .grid-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 123px;
  }

  .sub-tit {
    width: 204px;
    &::after {
      width: 100%;
    }
  }

  div:has(.gallery-list) {
    flex: 1;
  }

  .gallery-list {
    grid-template-columns: repeat(2, 1fr);

    li a b {
      margin-top: 15px;
    }
  }

  .board-view {
    margin-top: 0;
    flex: 1;
    .board-view__header {
      padding-inline: 0;
      flex-direction: column;
      align-items: flex-start;
    }
    .board-view__body {
      padding-inline: 0;
    }
  }

  .hide-default {
    display: none !important;
  }

  @media (max-width: 1280px) {
    .grid-wrapper {
      flex-direction: column;
      gap: 0;
    }

    .hide-default {
      display: block !important;
    }
  }

  @container grid-container (max-width: 768px) {
    .gallery-list {
      margin-top: 15.885cqw;
      grid-template-columns: repeat(1, 1fr);
      li a b {
        margin-top: 3.414cqw;
      }
    }

    .board-view {
      margin-top: 15.885cqw;
    }
  }
}

.sub-page.work {
  .grid-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 134px;
  }

  .sub-tit {
    width: 204px;
    &::after {
      width: 100%;
    }
  }

  div:has(.gallery-list) {
    flex: 1;
  }

  .gallery-list {
    grid-template-columns: repeat(3, 1fr);

    li a b {
      margin-top: 15px;
    }
  }

  .filter {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 90px;

    .filter-item {
      button {
        svg {
          transition: all ease 0.3s;
        }
      }
      &.active {
        button {
          svg {
            transform: rotate(180deg);
          }
        }

        /* .filter-item-content {
          display: block;
        } */
      }
    }

    input[type='hidden'] {
      position: absolute;
      top: -9999999999px;
      left: -9999999999px;
      width: 1px;
      height: 1px;
      overflow: hidden;
      opacity: 0;
      z-index: -1;
    }

    .filter-item-content {
      display: none;
      max-height: 268px;
      overflow-y: auto;
      margin-top: 12px;
      width: calc(100% - 5px);

      &::-webkit-scrollbar {
        width: 3px;
        background-color: #f1f1f1;
      }

      &::-webkit-scrollbar-thumb {
        background: var(--gray02);
      }
    }

    ul {
      display: flex;
      flex-direction: column;
      gap: 12px;
      li {
        color: var(--gray03);
        font-family: Pretendard;
        font-size: 16px;
        font-weight: 500;
        line-height: 100%;
        display: flex;
        align-items: center;
        gap: 9px;
        input {
          width: 15px;
          height: 15px;
          accent-color: var(--gray03);
        }
      }
    }

    button[type='button'] {
      font-family: Pretendard;
      font-size: 20px;
      font-weight: 600;
      letter-spacing: -0.4px;
      height: 30px;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    button[type='submit'] {
      display: none;
      color: var(--gray02);
      height: 39px;
      font-family: Pretendard;
      font-size: 18px;
      font-weight: 600;
      letter-spacing: -0.36px;
      border: 1px solid var(--gray02);
      margin-top: 23px;
      transition: all ease 0.3s;
      &:hover {
        background-color: var(--gray02);
        color: #fff;
      }
    }
  }

  .hide-default {
    display: none !important;
  }

  @media (max-width: 1280px) {
    .grid-wrapper {
      flex-direction: column;
      gap: 0;
    }

    .hide-default {
      display: block !important;
    }

    .filter-dim {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      opacity: 0;
      display: none;
      background-color: rgba(0, 0, 0, 0.2);
      z-index: 100;
    }
  }

  @container grid-container (max-width: 768px) {
    .gallery-list {
      margin-top: 15.885cqw;
      grid-template-columns: repeat(1, 1fr);
      li a b {
        margin-top: 3.409cqw;
      }
    }

    .filter {
      position: fixed;
      z-index: 101;
      bottom: 0;
      width: 100%;
      left: 0;
      gap: 4.557cqw;
      margin-block: 0;
      padding-block: 4.557cqw;
      background-color: #fff;
      border-top: 1px solid #ddd;

      .filter-item {
        width: 89.063cqw;
        margin-inline: auto;
      }

      .filter-item-content {
        display: none;
        max-height: 20vh;
        width: calc(100% - 0.651cqw);
        margin-top: 5.599cqw;

        &::-webkit-scrollbar {
          width: 0.391cqw;
        }
      }

      ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4.427cqw;
        li {
          font-size: 3.636cqw;
          gap: 1.693cqw;
          input {
            width: 3.646cqw;
            height: 3.646cqw;
          }
        }
      }

      button[type='button'] {
        font-size: 4.318cqw;

        svg {
          width: 3.125cqw;
          height: 12cqw;
        }
      }

      button[type='submit'] {
        width: 89.063cqw;
        margin-inline: auto;
        height: 10.156cqw;
        font-size: 3.636cqw;
        letter-spacing: -0.145cqw;
        margin-top: 1.563cqw;
      }
    }
  }
}

.sub-page.work-view {
  .board-view {
    margin-top: 0;
    .board-view__header {
      padding-block: 0;
      padding-inline: 0;
      border: none;
      flex-direction: column;
      align-items: flex-start;
    }
    .board-view__title {
      font-size: 50px;
      line-height: 1.16;
    }
    .board-view__desc {
      font-family: Pretendard;
      font-size: 20px;
      font-weight: 700;
      line-height: 150%;
      letter-spacing: 0.4px;
      margin-top: 20px;
    }
    .board-view__info {
      display: flex;
      gap: 50px;
      margin-top: 40px;
      font-family: Pretendard;
      font-size: 14px;
      span {
        color: rgba(164, 164, 165, 0.8);
        display: inline-block;
        margin-right: 10px;
      }
    }
    .board-view__body {
      padding: 30px 0;
    }
    .carousel {
      position: relative;

      .slick-dots {
        display: flex;
        position: absolute;
        bottom: 40px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        justify-content: center;
        > li {
          width: 10px;
          height: 10px;
          border-radius: 50%;
          background-color: rgba(255, 255, 255, 0.3);
          &.slick-active {
            background-color: #fff;
          }
        }
      }

      .carousel__prev,
      .carousel__next {
        position: absolute;
        top: 0;
        height: 100%;
        width: 80px;
        filter: brightness(10);
        svg {
          width: 15px;
          height: 30px;
        }
      }

      .carousel__prev {
        left: 0;
      }
      .carousel__next {
        right: 0;
      }
    }

    .board-view__nav {
      display: flex;
      flex-direction: column;
      padding: 30px 15px;
      border-top: 1px solid #000;
      gap: 27px;

      a {
        color: rgba(164, 164, 165, 0.8);
        font-family: Pretendard;
        font-size: 18px;
        font-weight: 600;
        letter-spacing: -0.36px;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
      }
      span {
        display: inline-block;
        transform: rotate(90deg);
        opacity: 0.4;
        margin-right: 23px;
      }
    }
  }

  @container grid-container (max-width: 768px) {
    .board-view {
      .board-view__header {
        padding-top: 0;
        border: none;
      }
      .board-view__title {
        font-size: 5cqw;
        line-height: 1.36;
      }
      .board-view__desc {
        font-size: 3.182cqw;
        line-height: 164%;
        letter-spacing: -0.064cqw;
        margin-top: 2.214cqw;
      }
      .board-view__info {
        flex-direction: column;
        gap: 2.272cqw;
        margin-top: 6.12cqw;
        font-size: 3.125cqw;
        span {
          width: 12cqw;
          margin-right: 0;
        }
      }
      .board-view__body {
        padding: 5.599cqw 0;
      }
      .carousel {
        .slick-dots {
          bottom: 5.469cqw;
          > li {
            width: 1.17cqw;
            height: 1.17cqw;
          }
        }

        .carousel__prev,
        .carousel__next {
          width: 10cqw;
          svg {
            width: 1.953cqw;
            height: 3.906cqw;
          }
        }
      }

      .board-view__nav {
        display: flex;
        flex-direction: column;
        padding: 4.427cqw 3.385cqw;
        gap: 3.125cqw;

        a {
          font-size: 3.125cqw;
          letter-spacing: -0.047cqw;
        }
        span {
          display: inline-block;
          transform: rotate(90deg);
          opacity: 0.4;
          margin-right: 3.208cqw;
          svg {
            height: 2.727cqw;
            width: 1.364cqw;
          }
        }
      }
    }
  }
}

.sub-page.news {
  padding-block: 142px 150px;
  @media (max-width: 1280px) {
    padding-block: 26.042vw 22.135vw;
  }
}

.sub-page.mua {
  padding-top: 0;
  .video-box {
    margin-bottom: 120px;
    margin-top: 0;
    iframe {
      width: 100%;
      aspect-ratio: 16/9;
    }
  }
  .text-box {
    display: flex;
    justify-content: space-between;
    margin-top: 145px;
    .text-box__left {
      p {
        font-family: var(--itc);
        font-size: 45px;
        font-weight: 300;
        line-height: 133.333%;
        letter-spacing: -0.9px;
      }
    }
    .text-box__right {
      width: 50%;
      p {
        &:first-of-type {
          font-size: 22px;
          font-weight: 700;
          line-height: 154.545%;
          letter-spacing: -0.88px;
        }
        &:last-of-type {
          color: var(--gray03);
          font-size: 18px;
          line-height: 166.667%;
          margin-top: 25px;
          letter-spacing: -0.36px;
        }
      }
    }
  }

  .linkBox {
    margin-top: 63px;
    > a {
      position: relative;
      width: 203px;
      display: inline-block;
      text-align: center;
      &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        height: 100%;
        background-image: url('/assets/images/sub/img_dash.svg');
        background-position: center;
        background-repeat: no-repeat;
      }
      span {
        opacity: 0.4;
        transition: all ease 0.3s;
        color: var(--gray03);
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 0.32px;
        em {
          font-size: 24px;
          line-height: 187.5%;
          font-weight: 200;
          display: inline-block;
          transform: translateY(0.25em);
        }
      }

      &:hover {
        span {
          opacity: 1;
        }
      }
      &:last-child {
        width: 232px;
        &::after {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          width: 1px;
          height: 100%;
          background-image: url('/assets/images/sub/img_dash.svg');
          background-position: center;
          background-repeat: no-repeat;
        }
      }
    }
  }

  .carousel {
    margin-top: 176px;
  }

  .slick-dots {
    margin-top: -45px;
    position: relative;
    z-index: 1;
    > li {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.3);
      &.slick-active {
        background-color: #fff;
        width: 10px;
        height: 10px;
      }
    }
  }

  @media (max-width: 1280px) {
    .video-box {
      margin-bottom: 104px;
    }
  }

  @media (max-width: 768px) {
    .video-box {
      margin-top: 11.328cqw;
      margin-bottom: 13.542vw;
    }
  }

  @container grid-container (max-width: 768px) {
    .text-box {
      margin-top: 18.229cqw;
      flex-direction: column;
      .text-box__left {
        p {
          font-size: 5.455cqw;
          line-height: 141.667%;
          letter-spacing: -0.109cqw;
        }
      }
      .text-box__right {
        width: 100%;
        margin-top: 7.943cqw;
        p {
          &:first-of-type {
            font-size: 3.864cqw;
            line-height: 147.059%;
            letter-spacing: -0.155cqw;
          }
          &:last-of-type {
            font-size: 3.636cqw;
            line-height: 156.25%;
            letter-spacing: -0.073cqw;
            br {
              display: none;
            }
          }
        }
      }
    }

    .linkBox {
      margin-top: 9.896cqw;
      display: flex;
      justify-content: center;
      > a {
        display: inline-block;
        width: 33.854cqw;

        span {
          font-size: 3.182cqw;
          line-height: 1;
          letter-spacing: -0.127cqw;
          position: relative;
          padding-right: 4.167cqw;
          em {
            top: -2.5cqw;
            right: 0;
            font-size: 4.318cqw;
            position: absolute;
          }
        }
        &:last-child {
          width: 34.318cqw;
        }
      }
    }

    .carousel {
      margin-top: 15.885cqw;
    }

    .slick-dots {
      margin-top: -4.545cqw;
      > li {
        width: 0.966cqw;
        height: 0.966cqw;
        &.slick-active {
          background-color: #fff;
          width: 1.209cqw;
          height: 1.209cqw;
        }
      }
    }
  }
}

.sub-page.xr {
  padding-top: 0;
  .video-box {
    margin-bottom: 120px;
    margin-top: 0;
    iframe {
      width: 100%;
      aspect-ratio: 16/9;
    }
  }

  .xr-article {
    &:not(:last-child) {
      margin-bottom: 145px;
    }

    .video-box {
      margin-bottom: 0;
      iframe {
        width: 100%;
        height: 100%;
        aspect-ratio: 16/9;
      }
    }
  }

  .text-box {
    display: flex;
    justify-content: space-between;
    margin-top: 145px;
    > div {
      flex-basis: 50%;
    }
    h4 {
      font-family: var(--itc);
      font-size: 45px;
      font-weight: 300;
      line-height: 133.333%;
      letter-spacing: -0.9px;
    }
    h6 {
      color: var(--gray03);
      font-family: var(--pretendard);
      font-size: 22px;
      font-weight: 700;
      line-height: 154.545%;
      letter-spacing: -0.88px;
      sup {
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 14px;
        font-weight: 600;
        letter-spacing: -0.14px;
        transform: translateY(-0.5em);
        display: inline-block;
        margin-inline: 2px;
      }
    }
    p {
      color: var(--gray03);
      font-family: var(--pretendard);
      font-size: 18px;
      line-height: 166.667%;
      letter-spacing: -0.36px;
      margin-top: 20px;
    }
    img {
      display: block;
      width: 100%;
      margin-top: 40px;
    }
  }

  .img-box {
    margin-top: 145px;
    img {
      width: 100%;
      object-fit: cover;
    }

    &.flex {
      display: flex;
      gap: 7px;
      img {
        height: 552px;
      }
    }
  }

  .cards {
    display: grid;
    grid-template-columns: repeat(2, 295px);
    gap: 33px 0;
    margin-top: 50px;
    li {
      position: relative;
      padding-left: 20px;
      border-left: 1px dashed rgba(164, 164, 165, 0.8);
      p {
        margin-top: 0;
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 16px;
        font-weight: 500;
        line-height: 162.5%;
        letter-spacing: -0.32px;
      }
    }
  }

  .list {
    margin-top: 62px;
    border-top: 0.7pt dashed rgba(164, 164, 165, 0.8);
    &:not(:has(.list-second)) {
      margin-top: 0;
      > li {
        .list-first {
          width: 351px;
        }
        .list-third {
          width: auto;
        }
      }
    }
    li {
      display: flex;
      border-bottom: 0.7pt dashed rgba(164, 164, 165, 0.8);
      padding-block: 20px 27px;
      padding-inline: 20px;

      .list-first {
        width: 227px;
        strong {
          color: var(--gray03);
          font-family: var(--pretendard);
          font-size: 22px;
          font-weight: 700;
          letter-spacing: -0.44px;
        }
      }
      .list-second {
        width: 125px;
        p {
          color: var(--gray03);
          font-family: var(--pretendard);
          font-size: 16px;
          font-weight: 600;
          line-height: 162.5%;
          letter-spacing: -0.32px;
        }
      }
      .list-third {
        p {
          color: var(--gray03);
          font-family: var(--pretendard);
          font-size: 16px;
          font-weight: 400;
          line-height: 162.5%;
          letter-spacing: -0.32px;
        }
      }
      p {
        margin-top: 0;
      }
    }
  }

  @media (max-width: 1280px) {
    .video-box {
      margin-bottom: 104px;
    }
  }

  @media (max-width: 768px) {
    .video-box {
      margin-top: 11.328cqw;
      margin-bottom: 13.542vw;
    }

    .xr-article {
      .video-box {
        margin-top: 0;
      }
    }
  }

  @container grid-container (max-width: 768px) {
    .xr-article {
      &:not(:last-child) {
        margin-bottom: 15.885cqw;
      }

      .video-box {
        margin-bottom: 0;
        iframe {
          width: 100%;
          height: 100%;
          aspect-ratio: 16/9;
        }
      }
    }

    .text-box {
      flex-direction: column;
      margin-top: 18.229cqw;
      > div {
        flex-basis: 50%;
      }
      h4 {
        font-size: 5.455cqw;
        line-height: 141.667%;
        letter-spacing: -0.117cqw;
        br {
          display: none;
        }

        &.mb {
          margin-bottom: 7.943cqw;
        }
      }
      h6 {
        font-size: 3.864cqw;
        line-height: 147%;
        letter-spacing: -0.155cqw;
        margin-top: 7.943cqw;

        sup {
          font-size: 2.955cqw;
          transform: translateY(-0.3em);
        }
      }
      p {
        margin-top: 3.385cqw;
        font-size: 3.636cqw;
        line-height: 156.25%;
        letter-spacing: -0.073cqw;
        br {
          display: none;
        }
      }
      img {
        display: block;
        width: 100%;
        margin-top: 16.406cqw;
      }
    }

    .img-box {
      margin-top: 15.885cqw;
      &.flex {
        flex-direction: column;
        gap: 1.302cqw;
        img {
          height: 46.484cqw;
        }
      }
    }

    .cards {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 7.422cqw 0;
      margin-top: 4.427cqw;
      li {
        padding-left: 3.385cqw;
        p {
          font-size: 3.182cqw;
          line-height: 1;
          letter-spacing: -0.064cqw;
          &:not(:last-child) {
            margin-bottom: 2.214cqw;
          }
        }
      }
    }

    .list {
      margin-top: 7.943cqw;
      &:not(:has(.list-second)) {
        > li {
          .list-first {
            width: 31.25cqw;
          }
          .list-third {
            width: auto;
          }
        }
      }
      li {
        display: flex;
        padding-block: 4.427cqw 5.339cqw;
        padding-inline: 0;

        .list-first {
          width: 31.25cqw;
          strong {
            font-size: 3.864cqw;
            line-height: 147%;
            letter-spacing: -0.155cqw;
          }
        }
        .list-second {
          width: 22.135cqw;
          p {
            font-size: 3.182cqw;
            line-height: 142.857%;
            letter-spacing: -0.127cqw;
          }
        }
        .list-third {
          p {
            font-size: 3.182cqw;
            line-height: 142.857%;
            letter-spacing: -0.064cqw;
          }
        }
        p {
          margin-top: 0;
        }
      }
    }
  }
}

.sub-page.booking {
  .flex {
    margin-top: 120px;
    display: flex;
    justify-content: space-between;
  }
  .calendar {
    width: 440px;

    .calendar-header {
      display: flex;
      align-items: center;
      color: var(--gray03);
      font-size: 33px;
      font-weight: 600;
      line-height: 1;
      margin-bottom: 25px;
      font-family: 'din-2014', sans-serif;

      p {
        width: 110px;
      }

      nav {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: 30px;
        gap: 20px;
        transform: translateY(-4px);

        button {
          opacity: 0.4;
          transition: all ease 0.3s;
          &:hover {
            opacity: 1;
          }
        }

        svg {
          width: 20px;
          height: 20px;
        }
      }
    }
    .calendar-week {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      border-top: 1px solid var(--gray02);
      border-bottom: 1px solid var(--gray02);
      li {
        color: var(--gray03);
        text-align: center;
        font-family: var(--pretendard);
        font-size: 14px;
        font-weight: 600;
        line-height: 142.857%;
        letter-spacing: -0.28px;
        padding-block: 4px;
        &.is-red {
          color: var(--red);
        }
      }
    }
    .calendar-day {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      li {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 80px;
        &.is-red {
          p {
            color: var(--red);
          }
        }
        p {
          color: var(--gray03);
          font-family: var(--pretendard);
          font-size: 16px;
          line-height: 1;
          width: 35px;
          height: 35px;
          display: flex;
          align-items: center;
          justify-content: center;
          &.is-booked {
            color: var(--gray03);
            font-family: var(--pretendard);
            font-size: 16px;
            line-height: 1;
            border-radius: 6px;
            background: rgba(206, 0, 0, 0.1);
          }
          &.is-disabled {
            color: var(--gray03);
            font-family: var(--pretendard);
            line-height: 1;
            border-radius: 6px;
            background: rgba(244, 244, 244, 0.8);
            color: rgba(40, 40, 40, 0.3);
          }
        }
      }
    }
    .calendar-footer {
      border-top: 1px solid var(--gray02);
      display: flex;
      padding-top: 25px;
      justify-content: space-between;
    }
    .calendar-footer__left {
      display: flex;
      align-items: center;
      p {
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 16px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0.32px;
        margin-right: 14px;
      }
      a {
        color: var(--gray03);
        font-size: 16px;
        font-weight: 400;
        line-height: 1;
        font-family: 'din-2014', sans-serif;
      }
    }
    .calendar-footer__right {
      display: flex;
      align-items: center;
      margin-left: auto;
      gap: 24px;
      p {
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 16px;
        line-height: 1;
        letter-spacing: -0.32px;
        display: flex;
        align-items: center;
        &::before {
          content: '';
          width: 13px;
          height: 13px;
          border-radius: 2px;
          display: inline-block;
          margin-right: 7px;
        }
        &:first-child {
          &::before {
            border: 1px solid #cfcfcf;
            background: #fff;
          }
        }
        &:last-child {
          &::before {
            background: rgba(206, 0, 0, 0.15);
          }
        }
      }
    }
  }
  .form {
    width: 50%;
    accent-color: #000;

    h3 {
      font-family: var(--pretendard);
      font-size: 24px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: -0.24px;
      margin-bottom: 40px;
    }

    .form-section {
      &:not(:last-of-type) {
        margin-bottom: 90px;
      }
    }

    .form-input {
      display: flex;
      flex-direction: column;
      gap: 10px;
      &:not(:last-of-type) {
        margin-bottom: 42.95px;
      }
      label {
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 20px;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: -0.4px;
      }
      input {
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 18px;
        line-height: 1.66;
        letter-spacing: -0.36px;
        border-bottom: 1px solid var(--gray02);
        padding-bottom: 5px;
      }
    }

    .msg {
      color: var(--gray03);
      font-family: var(--pretendard);
      font-size: 20px;
      font-weight: 600;
      line-height: 1.5;
      letter-spacing: -0.4px;
      margin-bottom: 23px;
    }

    .form-setting {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .form-date {
      display: flex;
      align-items: center;
      gap: 20px;
      margin-top: 20px;
      border-bottom: 1px solid var(--gray02);
      padding-bottom: 5px;
      font-size: 18px;

      input[type='date'] {
        font-family: var(--pretendard);
        font-size: 18px;
        line-height: 1.66;
        letter-spacing: -0.36px;
      }
    }

    textarea {
      border: 1px solid #c8c8c9;
      height: 270px;
      resize: none;
      width: 100%;
      padding: 15px 26px;
      font-family: var(--pretendard);
      font-size: 18px;
      line-height: 1.66;
      letter-spacing: -0.36px;
    }

    .terms {
      padding: 25px;
      background-color: #efefef;
      margin-bottom: 15px;
      p {
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 14px;
        line-height: 1.42;
        letter-spacing: -0.28px;
        &:not(:last-of-type) {
          margin-bottom: 21.29px;
        }
      }
    }
    .input-radio,
    .input-checkbox {
      display: flex;
      align-items: center;
      label {
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 18px;
        line-height: 1.66;
        letter-spacing: -0.36px;
      }
    }

    input[type='checkbox'],
    input[type='radio'] {
      width: 20px;
      height: 20px;
      margin-right: 10px;
      border: 1px solid var(--gray02);
      cursor: pointer;
    }

    .submit-btn {
      width: 124px;
      height: 39px;
      border: 1px solid var(--gray02);
      color: var(--gray02);
      font-family: var(--pretendard);
      font-size: 18px;
      font-weight: 600;
      letter-spacing: -0.36px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      margin-top: 60px;
      transition: all ease 0.3s;
      &:hover {
        background-color: var(--gray02);
        color: #fff;
      }
    }

    .alert {
      color: var(--red);
      font-family: var(--pretendard);
      font-size: 16px;
      font-weight: 400;
      line-height: 1.625;
      letter-spacing: -0.32px;
      display: none;
    }

    input[type='text']:focus + .alert {
      display: inline; /* 포커스 시 노출 */
    }
    input[type='tel']:focus + .alert {
      display: inline; /* 포커스 시 노출 */
    }
    input[type='email']:focus + .alert {
      display: inline; /* 포커스 시 노출 */
    }
    input[type='date']:focus + .alert {
      display: inline; /* 포커스 시 노출 */
    }
    input:not(:invalid) + .alert {
      opacity: 0; /* 값이 유효하면 숨김 */
    }

    .blind {
      display: none;
    }
  }

  @container grid-container (max-width: 768px) {
    .flex {
      margin-top: 15.885cqw;
      flex-direction: column;
    }
    .calendar {
      width: 100%;

      .calendar-header {
        font-size: 5.909cqw;
        line-height: 1;
        margin-bottom: 3.906cqw;

        p {
          width: 19.324cqw;
        }

        nav {
          margin-left: 8.724cqw;
          gap: 4.167cqw;
          transform: translateY(-0.2cqw);

          svg {
            width: 3.646cqw;
            height: 3.646cqw;
          }
        }
      }
      .calendar-week {
        li {
          font-size: 2.727cqw;
          line-height: 1;
          padding-block: 1.563cqw;
        }
      }
      .calendar-day {
        li {
          height: 15.625cqw;
          p {
            font-size: 3.182cqw;
            width: 7.273cqw;
            height: 7.273cqw;
            &.is-booked {
              font-size: 3.182cqw;
              border-radius: 0.781cqw;
            }
          }
        }
      }
      .calendar-footer {
        padding-top: 3.906cqw;
      }
      .calendar-footer__left {
        p {
          font-size: 3.182cqw;
          line-height: 142.857%;
          letter-spacing: -0.127cqw;
          margin-right: 2.214cqw;
        }
        a {
          font-size: 3.182cqw;
        }
      }
      .calendar-footer__right {
        gap: 4.557cqw;
        p {
          font-size: 3.182cqw;

          &::before {
            width: 2.734cqw;
            height: 2.734cqw;
            margin-right: 1.563cqw;
            border-radius: 0.469cqw;
          }
        }
      }
    }
    .form {
      width: 100%;
      margin-top: 21.094cqw;

      h3 {
        font-size: 5cqw;
        line-height: 136.364%;
        margin-bottom: 9.115cqw;
      }

      .form-section {
        &:not(:last-of-type) {
          margin-bottom: 15.885cqw;
        }
        &:last-of-type {
          .input-checkbox {
            justify-content: center;
          }
          .alert {
            text-align: center;
          }
        }
      }

      .form-input {
        gap: 0;
        &:not(:last-of-type) {
          margin-bottom: 4.427cqw;
        }
        label {
          font-size: 4.091cqw;
          line-height: 1;
          letter-spacing: -0.041cqw;
          margin-bottom: 6.771cqw;
        }
        input {
          font-size: 3.636cqw;
          line-height: 156.25%;
          letter-spacing: -0.073cqw;
          padding-bottom: 2.214cqw;
        }
      }

      .msg {
        font-size: 4.091cqw;
        line-height: 1;
        letter-spacing: -0.052cqw;
        margin-bottom: 4.557cqw;
      }

      .form-setting {
        gap: 4.167cqw;
      }

      .form-date {
        gap: 2.604cqw;
        margin-top: 4.818cqw;
        padding-bottom: 0.781cqw;

        input[type='date'] {
          font-size: 3.636cqw;
          letter-spacing: -0.073cqw;
        }
      }

      textarea {
        height: 61.198cqw;
        padding: 3.516cqw 4.167cqw;
        font-size: 3.636cqw;
        line-height: 156.25%;
        letter-spacing: -0.073cqw;
      }

      .terms {
        padding: 5.599cqw 4.688cqw;
        margin-bottom: 3.385cqw;
        p {
          font-size: 3.182cqw;
          line-height: 142.857%;
          letter-spacing: -0.127cqw;
          &:not(:last-of-type) {
            margin-bottom: 3.293cqw;
          }
        }
      }
      .input-radio,
      .input-checkbox {
        label {
          font-size: 3.636cqw;
          line-height: 156.25%;
          letter-spacing: -0.073cqw;
        }
      }

      input[type='checkbox'],
      input[type='radio'] {
        width: 4.427cqw;
        height: 4.427cqw;
        margin-right: 2.214cqw;
      }

      .submit-btn {
        width: 33.984cqw;
        height: 9.089cqw;
        font-size: 3.636cqw;
        line-height: 1;
        letter-spacing: -0.145cqw;
        margin-inline: auto;
        margin-top: 6.771cqw;
      }

      .alert {
        font-size: 2.734cqw;
        line-height: 1.25;
        margin-top: 1.302cqw;
      }
    }
  }
}

@keyframes aboutSection01 {
  0% {
    top: 0;
  }
  100% {
    top: 100%;
  }
}

@keyframes aboutSection01Split {
  to {
    opacity: 1;
    visibility: visible;
  }
}

.sub-page.about {
  .hide-default {
    display: none;
  }

  .sub-tit {
    &::after {
      width: 203px;
    }
    br {
      display: none;
    }
    + p {
      font-family: Pretendard;
      font-size: 30px;
      font-weight: 700;
      line-height: 113.333%;
      letter-spacing: -1.2px;
      + p {
        font-family: 'ITC Avant Garde Gothic Pro';
        font-size: 41px;
        font-weight: 600;
        line-height: 97.561%;
        letter-spacing: -0.82px;
        margin-top: 30px;
      }
    }

    h3 {
      font-weight: 300;
      line-height: 174.419%;
    }
  }
  .section01 {
    .splitting .char {
      opacity: 0;
      animation: aboutSection01Split 0.7s
        calc(0.2s + 0.05s * (var(--char-index))) linear forwards;
    }
    article {
      margin-left: 220px;
      margin-top: 148px;
      h6 {
        font-family: Pretendard;
        font-size: 30px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 28.5px;
      }
      h2 {
        font-family: 'ITC Avant Garde Gothic Pro';
        font-size: 115px;
        font-weight: 600;
        line-height: 95.652%;
        letter-spacing: -1.38px;
        margin-top: 24px;
        margin-left: -0.06em;
      }
    }
    ul {
      position: relative;
      overflow: hidden;
      &::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
      }
    }
    .list01 {
      margin-top: 50px;
      display: flex;
      gap: 115px;
      &::after {
        animation: aboutSection01 0.5s 2s linear forwards;
      }
      li {
        font-family: 'ITC Avant Garde Gothic Pro';
        font-size: 28px;
        font-weight: 300;
        line-height: 33px; /* 117.857% */
        letter-spacing: -0.56px;
      }
    }
    .list02 {
      margin-top: 62px;
      display: flex;
      gap: 115px;
      &::after {
        animation: aboutSection01 0.5s 2.5s linear forwards;
      }
      li {
        font-family: Pretendard;
        font-size: 22px;
        font-weight: 700;
        line-height: 136.364%;
        letter-spacing: -0.44px;
      }
    }
  }

  .section02 {
    margin-top: 260px;
    picture {
      margin-top: 175px;
      display: inline-block;
    }
  }

  .section03 {
    margin-top: 260px;

    ul {
      margin-top: 175px;
      display: flex;
      flex-direction: column;
      gap: 100px;

      li {
        display: flex;
        justify-content: space-between;
        > div {
          width: 580px;
          h3 {
            font-family: 'ITC Avant Garde Gothic Pro';
            font-size: 75px;
            font-weight: 300;
            line-height: 1;
            letter-spacing: -3px;
            padding-top: 30px;
            border-top: 1px solid #282828;
          }
          p {
            margin-top: 40px;
            font-family: Pretendard;
            font-size: 18px;
            line-height: 1.5;
            letter-spacing: -0.36px;
          }
        }
        picture {
          width: 626px;
          height: 370px;
          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }
      }
    }
  }

  .section04 {
    margin-top: 260px;
    picture {
      margin-top: 175px;
      display: inline-block;
    }
  }

  .section05 {
    margin-top: 225px;

    .motion {
      position: relative;
      height: 900px;
      position: relative;
      margin-top: 155px;
      &::before {
        content: '';
        height: 985px;
        width: 2px;
        background-color: #ce0000;
        transform: rotate(25deg);
        position: absolute;
        top: -70px;
        left: 214px;
        z-index: 3;
      }

      .img01 {
        position: absolute;
        top: 0;
        width: 378px;
        z-index: 2;
        .mask {
          position: absolute;
          top: 0;
          right: 0;
          width: 100%;
          height: 100%;
          background-color: #fff;
        }
      }

      .img02 {
        position: absolute;
        top: 1px;
        left: 164px;
        width: 1125px;
        z-index: 1;
        .mask {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: #fff;
        }
      }

      p {
        display: none;
      }
    }

    article {
      margin-top: 110px;
      display: flex;
      gap: 127px;
      h4 {
        font-family: Pretendard;
        font-size: 35px;
        font-weight: 600;
        line-height: 1.314;
      }

      div {
        flex: 1;
        padding-block: 32px;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 16px;
        border-block: 1px solid #282828;

        p {
          font-family: Pretendard;
          font-size: 16px;
          font-weight: 700;
          line-height: 1.625;
          letter-spacing: -0.32px;
        }
      }
    }

    .img-box {
      margin-top: 175px;
      display: inline-block;

      & + iframe {
        position: absolute;
        top: 254px;
        left: 0;
        width: calc(100% + 2px);
        margin-left: -1px;
        aspect-ratio: 16/9.1;
        z-index: 1;
      }
    }
  }

  .section06 {
    margin-top: 295px;
    picture {
      margin-top: 175px;
      display: inline-block;
    }
  }

  @container (max-width: 768px) {
    .hide-default {
      display: block;
    }

    .sub-tit {
      padding-top: 4.409cqw;
      br {
        display: block;
      }
      + p {
        font-size: 3.409cqw;
        line-height: 166.667%;
        letter-spacing: -0.136cqw;
        margin-top: 2.865cqw;
        + p {
          font-size: 5cqw;
          line-height: 122.727%;
          letter-spacing: -0.1cqw;
          margin-top: 3.776cqw;
        }
      }
      h3 {
        font-size: 6.818cqw;
        line-height: 116.667%;
        letter-spacing: -0.136cqw;
      }
    }
    .section01 {
      article {
        margin-left: 5.859cqw;
        margin-top: 16.667cqw;
        h6 {
          font-size: 2.727cqw;
          line-height: 133.333%;
          letter-spacing: 2.127cqw;
          margin-left: 0.455cqw;
        }
        h2 {
          font-size: 9.545cqw;
          line-height: 100%;
          letter-spacing: -0.115cqw;
          margin-top: 1.693cqw;
          transform: translateX(-1cqw);
          margin-left: 0.06em;
        }
      }
      .list01 {
        margin-top: 2.474cqw;
        gap: 6.12cqw;
        li {
          font-size: 3.182cqw;
          line-height: 128.571%;
          letter-spacing: -0.064cqw;
        }
      }
      .list02 {
        margin-top: 3.385cqw;
        gap: 6.12cqw;
        li {
          font-size: 2.727cqw;
          line-height: 133.333%;
          letter-spacing: -0.055cqw;
        }
      }
    }

    .section02 {
      margin-top: 36.328cqw;
      picture {
        width: 85cqw;
        margin-top: 15.625cqw;
      }
    }

    .section03 {
      margin-top: 36.328cqw;

      ul {
        margin-top: 16.016cqw;
        gap: 9.766cqw;

        li {
          flex-direction: column;
          > div {
            width: 100%;
            h3 {
              font-family: 'ITC Avant Garde Gothic Pro';
              font-size: 6.818cqw;
              line-height: 116.667%;
              letter-spacing: -0.273cqw;
              padding-top: 3.385cqw;
            }
            p {
              font-size: 3.636cqw;
              line-height: 156.25%;
              letter-spacing: -0.073cqw;
              margin-top: 4.427cqw;
              br {
                display: none;
              }
            }
          }
          picture {
            width: 100%;
            height: 50cqw;
            margin-top: 11.328cqw;
          }
        }
      }
    }

    .section04 {
      margin-top: 36.328cqw;
      picture {
        margin-top: 10.807cqw;
      }
    }

    .section05 {
      margin-top: 25cqw;

      .motion {
        margin-top: 14.453cqw;
        height: 132.943cqw;
        &::before {
          height: 39.714cqw;
          transform: rotate(35deg);
          top: -3cqw;
          left: 20cqw;
        }

        .img01 {
          width: 28.636cqw;
        }

        .img02 {
          width: 87.5cqw;
          left: 1cqw;
          top: 17.9cqw;
        }

        p {
          display: block;
          color: var(--NP-Red, #ce0000);
          font-family: Pretendard;
          font-size: 3.636cqw;
          font-weight: 600;
          line-height: 125%;
          letter-spacing: -0.145cqw;
          position: absolute;
          top: 0.1cqw;
          left: 34cqw;
          z-index: 10;
          opacity: 0;
        }
      }

      article {
        margin-top: 14.323cqw;
        flex-direction: column;
        gap: 4.036cqw;
        display: none;
        h4 {
          font-size: 3.636cqw;
          line-height: 1;
          letter-spacing: -0.145cqw;
        }

        div {
          padding-block: 3.125cqw;
          grid-template-columns: repeat(3, 1fr);
          gap: 1.6667cqw;
          p {
            font-size: 2.5cqw;
            line-height: 2;
            letter-spacing: -0.05cqw;
          }
        }
      }

      .img-box {
        margin-top: 14.453cqw;
        & + iframe {
          top: 23cqw;
        }
      }
    }

    .section06 {
      margin-top: 35.677cqw;
      picture {
        margin-top: 14.453cqw;
      }
    }
  }
}

.sub-page.ci {
  .ci-list {
    margin-top: 100px;
    display: flex;
    flex-direction: column;
    gap: 105px;
    li {
      display: flex;
    }
    .text-box {
      width: 50%;
      h4 {
        font-family: var(--itc);
        font-size: 35px;
        font-weight: 300;
        line-height: 1;
      }
      p {
        margin-top: 25px;
        color: var(--gray03);
        font-family: var(--pretendard);
        font-size: 18px;
        line-height: 1.66;
        letter-spacing: -0.36px;
      }
    }
    .img-box {
      width: 50%;
    }

    @container (max-width: 768px) {
      margin-top: 15.885cqw;
      gap: 13.542cqw;
      li {
        flex-direction: column;
      }
      .text-box {
        width: 100%;
        h4 {
          font-size: 5cqw;
        }
        p {
          font-size: 3.636cqw;
          letter-spacing: -0.073cqw;
          margin-top: 2.272cqw;
          br {
            display: none;
          }
        }
      }
      .img-box {
        width: 100%;
        margin-top: 7.943cqw;
      }
    }
  }
}

.sub-page.history {
  .history-list {
    margin-top: 100px;
    position: relative;
    width: 620px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 28px;
    overflow: hidden;
    transform: translateX(24px);
    padding-bottom: 24px;

    &::before {
      content: '';
      display: block;
      width: 2px;
      height: calc(100% - 12px);
      background: linear-gradient(#282828 98.03%, rgba(40, 40, 40, 0) 100%);
      position: absolute;
      left: 5px;
      top: 12px;
    }
    li {
      position: relative;
      display: flex;
      padding-left: 37px;
      &.is-red {
        &::before {
          background-color: var(--red);
        }
        > p {
          color: var(--red);
        }
        > div {
          > p {
            &:nth-child(1) {
              color: var(--red);
            }
          }
        }
      }
      &::before {
        content: '';
        display: block;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #000;
        position: absolute;
        left: 0;
        top: 9px;
      }
      > p {
        font-family: 'din-2014', sans-serif;
        font-size: 20px;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: -0.2px;
        width: 68px;
        margin-right: 181px;
        display: flex;
        justify-content: space-between;
      }
      > div {
        flex: 1;
        > p {
          &:nth-child(1) {
            font-family: var(--pretendard);
            font-size: 18px;
            font-weight: 600;
            line-height: 1.66;
            letter-spacing: -0.36px;
          }
          &:nth-child(2) {
            color: #000000;
            font-family: var(--pretendard);
            font-size: 15px;
            font-weight: 350;
            line-height: 1.625;
            letter-spacing: -0.32px;
          }
        }
      }
    }
    @container (max-width: 768px) {
      margin-top: 12.885cqw;
      width: 100%;
      gap: 7.943cqw;
      transform: translateX(0);
      padding-bottom: 7cqw;

      &::before {
        width: 0.456cqw;
        height: calc(100% - 1.172cqw);
        left: 0.71cqw;
        top: 1.172cqw;
      }
      li {
        padding-left: 4.557cqw;
        &::before {
          width: 1.693cqw;
          height: 1.693cqw;
          top: 1.172cqw;
        }
        > p {
          font-size: 4.091cqw;
          font-weight: 600;
          line-height: 1;
          letter-spacing: -0.082cqw;
          width: 13.5cqw;
          margin-right: 3.906cqw;
        }
        > div {
          > p {
            &:nth-child(1) {
              font-size: 3.636cqw;
              letter-spacing: -0.145cqw;
              line-height: 1.4;
            }
            &:nth-child(2) {
              font-size: 3.182cqw;
              line-height: 1.4;
              letter-spacing: -0.064cqw;
            }
          }
        }
      }
    }
  }
}

@container grid-container (max-width: 768px) {
  .grid-wrapper {
    width: 89.063cqw;
    margin-inline: auto;
  }

  .sub-page.news,
  .sub-page.contact,
  .sub-page.mua,
  .sub-page.xr,
  .sub-page.booking,
  .sub-page.ci,
  .sub-page.history {
    .sub-tit {
      left: 0;
      width: 100%;
      font-size: 6.818cqw;
      line-height: 1.16667;
      letter-spacing: -0.02094cqw;
      padding-top: 6.771cqw;
      &::after {
        width: 31.25cqw;
      }
    }
  }
}
