@charset "utf-8";
/*------------------------------------------------*/
/*★ TOPページスタイル設定 ★*/
/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
/*mv*/
#mv {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  position: relative;
  --mv-h: max(100lvh, 500px);
  --header-h: calc(var(--hisnav-h) + var(--breadcrumb-h) + var(--gnavi-h));
  --logo-posi-add: 3lvh;
  @media (width > 860px) {
    --logo-posi-add: 0px;
  }
  .mv-back {
    transform: translateZ(0); /*iOS描画対策*/
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: var(--mv-h);
    .mv-logo {
      position: absolute;
      width: 100%;
      height: min((430vw / 7.5), 430px);
      top: 50%;
      translate: 0 calc(-50% - var(--logo-posi-add) + (var(--header-h) / 2));
      opacity: 1;
      transition: opacity .3s ease-out;
      z-index: 5;
      .mv-logo__image {
        width: 100%;
        height: 100%;
        object-fit: contain;
        filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, .8));
      }
    }
    .mv-cover {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: rgba(1, 10, 32, .6);
      opacity: 0;
      transition: opacity .3s ease-out;
      z-index: 3;
    }
    .mv-bg {
      width: 100%;
      height: 100%;
      position: relative;
      .mv-bg__photo {
        inset: 0;
        position: absolute;
        animation: mv-slide 16s var(--mv-bg-delay, 0s) infinite;
        transform: translateZ(0); /*iOS描画対策*/
        opacity: 0;
        z-index: 1;
        &.is-num-1 {
          --mv-bg-sp: url("../images/mv_bg_01_sp.webp");
          --mv-bg-pc: url("../images/mv_bg_01_pc.webp");
        }
        &.is-num-2 {
          --mv-bg-sp: url("../images/mv_bg_02_sp.webp");
          --mv-bg-pc: url("../images/mv_bg_02_pc.webp");
          --mv-bg-delay: 4s;
        }
        &.is-num-3 {
          --mv-bg-sp: url("../images/mv_bg_03_sp.webp");
          --mv-bg-pc: url("../images/mv_bg_03_pc.webp");
          --mv-bg-delay: 8s;
        }
        &.is-num-4 {
          --mv-bg-sp: url("../images/mv_bg_04_sp.webp");
          --mv-bg-pc: url("../images/mv_bg_04_pc.webp");
          --mv-bg-delay: 12s;
        }
        --mv-bg: var(--mv-bg-sp);
        @media (width > 600px) {
          --mv-bg: var(--mv-bg-pc);
        }
        background: var(--mv-bg) no-repeat center center / cover;
      }
    }
  }
  .mv-contents {
    position: relative;
    z-index: 5;
    --mv-h-add: 8lvh;
    min-height: calc(var(--mv-h) + var(--mv-h-add) + var(--header-h));
    .mv-lead {
      width: max-content;
      color: #fff;
      text-align: center;
      /*font-size: min((26vw / 7.5), 18px);*/
      line-height: calc(67 / 24);
      position: absolute;
      top: 50%;
      left: 50%;
      translate: -50% calc(-50% - (var(--mv-h-add) / 2) + (var(--header-h) / 2));
      opacity: 0;
      transform: translateY(1em);
      transition: opacity .8s ease-out, transform .8s ease-out;
      @media (width > 860px) {
        line-height: calc(48 / 16);
      }
    }
  }
  &.is-dsp-switch {
    .mv-back {
      .mv-logo {
        opacity: 0;
      }
      .mv-cover {
        opacity: 1;
      }
    }
    .mv-contents {
      .mv-lead {
        opacity: 1;
        transform: translateY(0);
      }
    }
  }
}
@keyframes mv-slide {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  40% {
    opacity: 0;
    z-index: 2;
  }
  100% {
    opacity: 0;
  }
}
/**/
.photo-runner__wrapper {
  background: #fff;
  padding: min((46vw / 7.5), 50px) 0 min((32vw / 7.5), 25px);
  .photo-runner {
    display: grid;
    grid-template-columns: repeat(2, min((2508vw / 7.5), 2508px));
    &.is-bottom {
      --slide-animation-name: slide-yoko-to-left;
    }
    &:not(:first-child) {
      margin-top: min((32vw / 7.5), 32px);
    }
  }
  .photo-runner--item {
    width: 100%;
    height: min((276vw / 7.5), 276px);
    animation: var(--slide-animation-name, slide-yoko-to-rigth) var(--slide-speed, 80s) var(--default-animation-loop);
    .is-pc & {
      --slide-speed: 60s;
    }
  }
}
/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
/*enjoy*/
#enjoy {
  .section__inner {
    .is-sp & {
      width: 100%;
    }
  }
  .section__title.is-type-A {
    --sec-ttl-kazari-bg: #fff;
    --sec-ttl-kazari-text-h: min((70vw / 7.5), 47px);
    --sec-ttl-mb: 0;
  }
  background: var(--default-color-gold);
  padding: min((104vw / 7.5), 79px) 0 min((75vw / 7.5), 63px);
  .enjoy-lineup {
    position: relative;
    padding-bottom: min((48vw / 7.5), 44px);
    margin-top: var(--item-posi, calc((52 / 750) * 100%));
    .is-pc & {
      --bg-w: calc((797 / var(--default-width-pc-val)) * 100%);
      --img-w: calc((964 / var(--default-width-pc-val)) * 100%);
      --img-h: calc((1242 / 964) * 100%);
      --item-posi: calc((46 / var(--default-width-pc-val)) * -100%);
    }
    .enjoy-lineup__bg {
      width: var(--bg-w, calc((1084 / 750) * 100%));
      position: absolute;
      bottom: 0;
      left: 50%;
      translate: -50% 0;
    }
    .enjoy-lineup__bg--item {
      width: 100%;
      height: 0;
      padding-top: calc((1780 / 1084) * 100%);
      position: relative;
    }
    .enjoy-lineup__bg--item--image {
      width: 100%;
      height: 100%;
      object-fit: contain;
      position: absolute;
      top: 0;
      left: 0;
    }
    .enjoy-lineup__item {
      position: relative;
      z-index: 1;
      .enjoy-lineup__item--photo {
        width: var(--img-w, calc((744 / 750) * 100%));
        height: 0;
        padding-top: var(--img-h, calc((1599 / 744) * 100%));
        position: relative;
        .base-picture__image {
          transform: translateZ(0); /*iOS描画対策*/
          width: 100%;
          height: 100%;
          object-fit: contain;
          position: absolute;
          top: 0;
          left: 0;
        }
      }
    }
  }
}
/*location*/
#location {
  color: #fff;
  position: relative;
  .section__bg {
    transform: translateZ(0); /*iOS描画対策*/
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  .section__inner {
    position: relative;
    z-index: 1;
    .is-pc & {
      width: min(((1248 / 1280) * 100%), 1760px);
    }
  }
  .section__title.is-type-A {
    --sec-ttl-kazari-text-h: min((52vw / 7.5), 40px);
  }
  background: var(--default-color-blue1);
  padding: min((105vw / 7.5), 70px) 0 min((73vw / 7.5), 58px);
  .location-lineup {
    display: grid;
    --gap: min((40vw / 7.5), 28px);
    --col-num: 2;
    grid-template-columns: repeat(auto-fit, calc((100% - var(--gap) * (var(--col-num) - 1)) / var(--col-num)));
    justify-content: center;
    gap: var(--gap);
    .is-pc & {
      --col-num: 5;
      @media(width < 1300px) {
        --col-num: 3;
      }
    }
    + .location-lineup {
      margin-top: var(--gap);
    }
    .location-lineup__item {
      --item-mh: min((196vw / 7.5), 200px);
      --item-inner-yohaku: 1em min((60vw / 7.5), 50px);
      &:has(.location-lineup__item--text) {
        --item-mh: min((500vw / 7.5), 500px);
        --item-inner-yohaku: min((40vw / 7.5), 30px) 1em;
        grid-column: span var(--col-num);
        .location-lineup__item--link {
          &::after {
            content: none;
          }
        }
      }
    }
    .location-lineup__item--link {
      height: 100%;
      min-height: var(--item-mh);
      display: grid;
      justify-items: center;
      align-content: center;
      gap: min((50vw / 7.5), 65px);
      position: relative;
      text-align: center;
      font-weight: bold;
      border: 1px solid #fff;
      padding: var(--item-inner-yohaku);
      position: relative;
      > [class*="location-lineup__item--"]:not(.location-lineup__item--bg) {
        position: relative;
        z-index: 1;
      }
      &::after {
        content: var(--default-ico-arrow-r);
        font-family: var(--default-ff-icon);
        position: absolute;
        right: 0;
        top: 50%;
        translate: max((-24vw / 7.5), -20px) calc(-50% + .075em);
        font-weight: 600;
        font-size: 1.5em;
      }
    }
    .location-lineup__item--title {
      font-size: min((36vw / 7.5), 30px);
      line-height: calc(36 / 30);
    }
    .location-lineup__item--text {
      font-size: min((24vw / 7.5), 16px);
      line-height: calc(34 / 24);
      .is-pc & {
        line-height: calc(36 / 16);
      }
    }
    .location-lineup__item--button {
      display: grid;
      grid-template-columns: 1fr max-content;
      align-items: center;
      gap: .5em;
      width: min((360vw / 7.5), 240px);
      height: min((80vw / 7.5), 40px);
      border: 1px solid;
      border-radius: min((10vw / 7.5), 10px);
      background: rgba(1, 10, 32, .5);
      padding: .1em min((40vw / 7.5), 28px) .25em;
      margin-top: min((20vw / 7.5), 20px);
      &::after {
        content: var(--default-ico-arrow-r);
        font-family: var(--default-ff-icon);
        translate: 0 .05em;
      }
    }
    .location-lineup__item--logo {
      display: block;
      width: min((100vw / 7.5), 150px);
      height: min((47vw / 7.5), 71px);
      object-fit: contain;
      position: absolute !important;
      .is-sp & {
        top: min((23vw / 7.5), 23px);
        right: min((26vw / 7.5), 26px);
      }
      .is-pc & {
        bottom: min((19vw / 7.5), 19px);
        right: min((26vw / 7.5), 26px);
      }
    }
    .location-lineup__item--bg {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}
/*------------------------------------------------*/
/*★ ＝＝ footerArea ＝＝ ★*/
#footerArea {
  background: #f1ecd9;
  position: relative;
  .footer-bg {
    width: var(--default-bg-width-pc);
    height: auto;
    max-width: inherit;
    aspect-ratio: 1920 / 970;
    object-fit: contain;
    object-position: center top;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
  }
  .footer-contents {
    position: relative;
    z-index: 1;
  }
}
/*faq*/
#faq {
  --sec-ttl-fc: var(--default-color-blue1);
  --sec-ttl-kazari-text-h: min((61vw / 7.5), 35px);
  --accordion-radius: 10px;
  padding: min((73vw / 7.5), 70px) 0 0;
  .is-pc & {
    padding-bottom: min((57vw / 7.5), 57px);
  }
  .faq-lineup {
    display: grid;
    gap: min((24vw / 7.5), 14px);
    color: var(--default-color-blue1);
  }
  .ui-static-accordion-trigger {
    color: inherit;
    background: #fff;
    gap: .5em;
    &, &[data-state=closed] {
      border-radius: var(--accordion-radius);
    }
    &[data-state=open] {
      border-radius: var(--accordion-radius) var(--accordion-radius) 0 0;
    }
    .ui-static-accordion-text {
      font-size: min((28vw / 7.5), 18px);
      line-height: calc(36 / 28);
      color: inherit;
      .is-pc & {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 11px;
        &::before {
          content: "";
          width: 22px;
          height: 25px;
          background: url("../../all/images/link_kazari_rich.svg") no-repeat center / contain;
        }
      }
    }
    .ui-static-icon {
      color: var(--default-color-gold);
      font-size: 1.4em;
    }
  }
  .ui-static-accordion-content {
    border: none;
    border-radius: 0 0 var(--accordion-radius) var(--accordion-radius);
    top: calc(var(--accordion-radius) * -1);
    .ui-static-accordion-content-inner {
      padding-top: 0;
    }
    .ui-static-accordion-content-text {
      border-top: 1px solid var(--default-color-gold);
      padding-top: 1em;
      font-size: min((24vw / 7.5), 18px);
      line-height: calc(34 / 24);
    }
    .ui-static-accordion-content-links {
      margin-top: .5em;
    }
  }
}
/*article*/
#article {
  --sec-ttl-fc: var(--default-color-blue1);
  --sec-ttl-kazari-text-h: min((50vw / 7.5), 34px);
  padding: min((73vw / 7.5), 70px) 0 0;
  --slider-item-w: min((460vw / 7.5), 280px);
  --slider-gap: min((30vw / 7.5), 20px);
  @media(width > 1140px) {
    --slider-item-w: 240px;
    --slider-gap: 10px;
  }
  .article__item {
    background: #fff;
    .article__link {
      height: 100%;
      display: grid;
      grid-template-rows: var(--img-h, calc((250 / 460) * 100%)) 1fr;
      .is-pc & {
        --img-h: calc((120 / 240) * 100%);
      }
    }
    .article__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .article__detail {
      font-size: min((28vw / 7.5), 16px);
      line-height: calc(38 / 28);
      color: #0c2137;
      padding: 1em;
    }
    .article__detail--label, .article__detail--text {
      display: none;
    }
  }
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .location-lineup__item--link, .article__link {
    transition: var(--default-hover-transition-opacity);
    &:hover {
      opacity: var(--default-hover-opacity);
    }
  }
}