@charset "UTF-8";

@font-face {
  font-family: "ZalandoSansSemiExpanded";
  src: url("images/content/ginza-flagship-store-2026/fonts/ZalandoSansSemiExpanded-VariableFont_wght.woff2?$staticlink$") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gen Interface JP";
  src: url("images/content/ginza-flagship-store-2026/fonts/GenInterfaceJP-Light.woff2?$staticlink$") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gen Interface JP";
  src: url("images/content/ginza-flagship-store-2026/fonts/GenInterfaceJP-Regular.woff2?$staticlink$") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

html {
  font-size: 16px;
  background-color: #282727;
  font-family: 'メイリオ', 'nunito-light', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
}

body {
  background-color: #282727;
  background: unset;
  font-family: 'メイリオ', 'nunito-light', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
}

.p-top {
  font-family: "Gen Interface JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img,
a {
  -webkit-user-drag: none;
  user-drag: none;
}

.p-about {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
}

.p-about__inner {
  width: 100%;
  height: 100%;
  position: relative;
  padding: 40.3125rem 0 24.25rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(34%, rgba(0, 0, 0, 0.83)), to(rgb(0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.83) 34%, rgb(0, 0, 0) 100%);
}

.p-about__text {
  color: #fff;
  position: relative;
  z-index: 2;
  text-align: center;
}

.p-about__title {
  font-family: "ZalandoSansSemiExpanded", sans-serif;
  font-size: max(1rem, 14px);
  font-weight: 400;
  letter-spacing: 0.03em;
}

.p-about__subtitle {
  font-size: max(2.5rem, 32px);
  font-weight: 400;
  margin: 0 0 1.75rem;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.p-about__desc {
  font-size: max(1.25rem, 16px);
  font-weight: 300;
  line-height: 2.2;
  margin-bottom: 0;
}

.p-about__desc + .p-about__desc {
  margin-top: max(2.5rem, 20px);
}

.p-access {
  width: 100%;
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding: 6.25rem 3.75rem;
}

.p-access__inner {
  max-width: 1476px;
  display: grid;
  grid-template-columns: 49% 51%;
  margin: 0 auto;
}

.p-access__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5rem 3.75rem;
  height: 100%;
  min-height: 26.0625rem;
}

.p-access__name {
  font-size: max(1.25rem, 16px);
  font-weight: 500;
  text-align: center;
  margin: 0 0 1.25rem;
}

.p-access__address {
  font-style: normal;
  text-align: center;
  margin-bottom: 0;
}

.p-access__address-line {
  font-family: "Gen Interface JP", sans-serif;
  font-size: max(1.125rem, 14px);
  line-height: 1.9;
  margin: 0;
}

.p-access__detail {
  margin: 0;
}

.p-access__detail-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Gen Interface JP", sans-serif;
  font-size: max(1.125rem, 14px);
  line-height: 2;
}

.p-access__detail-key {
  font-weight: 400;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-access__detail-key::after {
  content: "：";
}

.p-access__detail-val {
  margin: 0;
}

.p-access__detail-val a {
  color: inherit;
  text-decoration: none;
}

.p-access__map {
  width: 100%;
  height: 100%;
  max-height: 26.0625rem;
  overflow: hidden;
}

.p-access__map iframe {
  width: 100%;
  height: 717px;
  margin-top: -150px;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}

.p-exclusive {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 3;
  overflow: hidden;
  background-color: transparent;
  --scale: 0.2;
  --opacity: 0.2;
}

.p-exclusive::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-image: url(images/content/ginza-flagship-store-2026/images/bg-exclusive.webp?$staticlink$);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-transform: scale(var(--scale));
          transform: scale(var(--scale));
}

.p-exclusive .c-heading {
  color: white;
}

.p-exclusive__inner {
  width: 100%;
  padding: 14.8125rem 3.75rem 17.1875rem;
  position: relative;
  z-index: 2;
}

.p-exclusive__list {
  margin: 6.875rem auto 0;
  width: 100%;
  max-width: 62.9375rem;
  overflow: visible;
}

.p-exclusive__scroll-area {
  width: 100%;
}

.p-exclusive__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: visible;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.p-exclusive__items::-webkit-scrollbar {
  display: none;
}

.p-exclusive__items .swiper-wrapper {
  gap: 3.75rem;
}

.p-exclusive__item {
  width: 29.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-exclusive__items .p-exclusive__item:first-child {
  margin-right: 1rem;
}

.p-exclusive__media {
  width: 100%;
  height: auto;
  aspect-ratio: 725/878;
  position: relative;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 3px;
  cursor: pointer;
}

.p-exclusive__media[data-ginza-icon]::after {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  width: 3.75rem;
  height: 3.75rem;
  background-image: url("images/content/ginza-flagship-store-2026/images/icon-ginza.svg?$staticlink$");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
  pointer-events: none;
}

.p-exclusive__content-media[data-ginza-icon]::after {
  content: "";
  position: absolute;
  top: 2.1875rem;
  left: 2.5rem;
  width: 6.25rem;
  height: 6.25rem;
  background-image: url("images/content/ginza-flagship-store-2026/images/icon-ginza.svg?$staticlink$");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
  pointer-events: none;
}

.p-exclusive__open {
  position: absolute;
  bottom: 1.1875rem;
  right: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #fff;
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, background-color 0.3s ease;
  transition: transform 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
}

.p-exclusive__open::before,
.p-exclusive__open::after {
  content: "";
  position: absolute;
  background-color: #222222;
  border-radius: 1px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-exclusive__open::before {
  width: 0.75rem;
  height: 1px;
}

.p-exclusive__open::after {
  width: 1px;
  height: 0.75rem;
}

.p-exclusive__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.p-exclusive__media:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.p-exclusive__name {
  font-size: max(1.25rem, 18px);
  font-family: "ZalandoSansSemiExpanded", sans-serif;
  color: white;
  margin-top: max(1.625rem, 20px);
  text-align: center;
  letter-spacing: 0.02em;
}

.p-exclusive__content-name {
  font-size: 2.375rem;
  font-family: "ZalandoSansSemiExpanded", sans-serif;
  font-weight: 500;
  color: #000;
  margin-top: 2.1875rem;
  margin-bottom: 0.9375rem;
  letter-spacing: 0.02em;
}

@-webkit-keyframes exclusive-modal-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes exclusive-modal-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes exclusive-modal-out {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.96);
            transform: scale(0.96);
  }
}

@keyframes exclusive-modal-out {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.96);
            transform: scale(0.96);
  }
}

@-webkit-keyframes exclusive-backdrop-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes exclusive-backdrop-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes exclusive-backdrop-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes exclusive-backdrop-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes close-rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

@keyframes close-rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

.p-exclusive__content {
  border: none;
  padding: 0;
}

.p-exclusive__content[open] {
  cursor: default;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  display: grid;
  grid-template-columns: 45.325% 54.675%;
  background-color: #F3EFE4;
}

.p-exclusive__content[open]:not(.is-closing) {
  -webkit-animation: exclusive-modal-in 0.35s ease-out forwards;
          animation: exclusive-modal-in 0.35s ease-out forwards;
}

.p-exclusive__content.is-closing {
  -webkit-animation: exclusive-modal-out 0.25s ease-in forwards;
          animation: exclusive-modal-out 0.25s ease-in forwards;
}

.p-exclusive__content::-webkit-backdrop {
  background-color: rgba(0, 0, 0, 0.6);
}

.p-exclusive__content::backdrop {
  background-color: rgba(0, 0, 0, 0.6);
}

.p-exclusive__content[open]:not(.is-closing)::-webkit-backdrop {
  -webkit-animation: exclusive-backdrop-in 0.35s ease-out forwards;
          animation: exclusive-backdrop-in 0.35s ease-out forwards;
}

.p-exclusive__content[open]:not(.is-closing)::backdrop {
  -webkit-animation: exclusive-backdrop-in 0.35s ease-out forwards;
          animation: exclusive-backdrop-in 0.35s ease-out forwards;
}

.p-exclusive__content.is-closing::-webkit-backdrop {
  -webkit-animation: exclusive-backdrop-out 0.25s ease-in forwards;
          animation: exclusive-backdrop-out 0.25s ease-in forwards;
}

.p-exclusive__content.is-closing::backdrop {
  -webkit-animation: exclusive-backdrop-out 0.25s ease-in forwards;
          animation: exclusive-backdrop-out 0.25s ease-in forwards;
}

.p-exclusive__content-media {
  position: relative;
  overflow: hidden;
  background-color: #000;
}

.p-exclusive__content-slider,
.p-exclusive__content-slider .swiper-wrapper {
  width: 100%;
  height: 100%;
}

.p-exclusive__content-slider .swiper-slide picture,
.p-exclusive__content-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-exclusive__content-nav {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  z-index: 1;
}

.p-exclusive__content-prev,
.p-exclusive__content-next {
  padding: 0.5rem;
  background: none;
  border: none;
  cursor: pointer;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.p-exclusive__content-prev:disabled,
.p-exclusive__content-next:disabled {
  opacity: 0.2;
}

.p-exclusive__content-prev img,
.p-exclusive__content-next img {
  display: block;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.p-exclusive__content-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
}

.p-exclusive__content-pagination .swiper-pagination-bullet {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  opacity: 0.4;
  margin: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.p-exclusive__content-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

.p-exclusive__content-info {
  width: 100%;
  padding: 3.625rem 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

.p-exclusive__wrap {
  width: 100%;
  max-width: 570px;
  margin: 0 auto;
}

.p-exclusive__content-close-sp {
  display: none;
}

.p-exclusive__content-close-sp-icon {
  position: relative;
  display: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.6875rem;
  height: 0.6875rem;
}

.p-exclusive__content-close-sp-icon::before,
.p-exclusive__content-close-sp-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.9375rem;
  height: 1px;
  background-color: currentColor;
}

.p-exclusive__content-close-sp-icon::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.p-exclusive__content-close-sp-icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.p-exclusive__content-close {
  position: absolute;
  top: 3.125rem;
  right: 3.125rem;
  width: 3.125rem;
  height: 3.125rem;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
  outline: none;
  mix-blend-mode: difference;
}

.p-exclusive__content-close span {
  display: none;
}

.p-exclusive__content-close::before,
.p-exclusive__content-close::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 3.75rem;
  height: 1px;
  background-color: #fff;
}

.p-exclusive__content-close::before {
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
          transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.p-exclusive__content-close::after {
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
          transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.p-exclusive__badge {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Gen Interface JP", sans-serif;
  font-size: max(0.875rem, 12px);
  line-height: 1;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #000;
}

.p-exclusive__desc {
  font-family: "Gen Interface JP", sans-serif;
  font-size: max(1.125rem, 13px);
  line-height: 1.9;
  margin-top: 1.25rem;
  margin-bottom: 0;
}

.p-exclusive__colors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  margin-top: 2.1875rem;
}

.p-exclusive__color-label {
  font-family: "ZalandoSansSemiExpanded", sans-serif;
  font-size: max(0.8125rem, 11px);
  font-weight: 500;
  line-height: 1;
}

.p-exclusive__color-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
  font-family: "Gen Interface JP", sans-serif;
  font-size: max(1.125rem, 14px);
}

.p-exclusive__prices {
  margin-top: 2.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 2.5rem;
}

.p-exclusive__price-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.9375rem;
  padding: 0 0 0.3125rem 0;
  font-size: max(1.125rem, 14px);
}

.p-exclusive__price-name {
  font-family: "Gen Interface JP", sans-serif;
  margin: 0 0 0.5rem;
}

.p-exclusive__price-value {
  font-family: "Gen Interface JP", sans-serif;
  margin: 0;
}

.p-exclusive__arrow {
  position: absolute;
  right: 1.125rem;
  bottom: 1.125rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  overflow: hidden;
}

.p-fixed-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
}

.p-fixed-video video {
  width: 100%;
  height: 100%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-fixed-video__mv {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}

.p-fixed-video__mv::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.p-fixed-video__visit {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  visibility: hidden;
}

.p-loading {
  width: 100%;
  height: 100vh;
  height: 100svh;
  position: fixed;
  inset: 0;
  z-index: 999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #060606;
  background-image: url(images/content/ginza-flagship-store-2026/images/bg-loading.jpg?$staticlink$);
  background-size: cover;
  background-repeat: no-repeat;
}

.p-loading__logo {
  position: relative;
  width: 154px;
}

.p-loading__logo-img {
  display: block;
  width: 100%;
  height: auto;
}

.p-loading__logo-img.--base {
  opacity: 0.25;
}

.p-loading__logo-img.--fill {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}

.p-mv {
  position: relative;
  width: 100%;
  height: calc(100vh - 64px);
  height: calc(100svh - 64px);
  overflow: hidden;
  z-index: 2;
}

.p-mv__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.p-mv__video {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}

.p-mv__content {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
  color: #fff;
  padding: 0 0 3.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-mv__top {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: 28px 3.75rem;
  z-index: 2;
}

@-webkit-keyframes p-mv-reserve-text-fly {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  45% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }

  46% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes p-mv-reserve-text-fly {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  45% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }

  46% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

.p-mv__reserve {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
  font-size: 16px;
  font-weight: 300;
  padding: 11px 17px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  letter-spacing: 0.03em;
  line-height: 1;
  overflow: hidden;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}

.p-mv__heading {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto auto 0;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.p-mv__heading--sp {
  display: none;
}

.p-mv__heading-line {
  display: block;
  overflow: hidden;
}

.p-mv__heading-line + .p-mv__heading-line {
  margin-top: 1rem;
}

.p-mv__heading-svg {
  display: block;
  width: max(31.9375rem, 400px);
  height: auto;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.p-mv__copy {
  margin-top: 15px;
  font-size: 18px;
  margin-bottom: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.p-mv__logo {
  width: 154px;
  height: auto;
  aspect-ratio: 105/24;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.p-mv__logo img {
  width: 100%;
  height: auto;
}

.p-mv__copy {
  opacity: 0;
  visibility: hidden;
}

.p-service {
  width: 100%;
  height: 100%;
  background-color: #000;
  position: relative;
  z-index: 2;
}

.p-service__heading {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: sticky;
  top: 64px;
  z-index: 1;
  padding: 10.625rem 1.25rem;
  --scale: 0.2;
  --opacity: 0.2;
}

.p-service__heading .js-fadeIn-block {
  position: relative;
  z-index: 1;
}

.p-service__heading::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #F0ECDF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-transform: scale(var(--scale));
          transform: scale(var(--scale));
  opacity: var(--opacity);
}

.p-service__heading > p,
.p-service__heading > h2 {
  position: relative;
  z-index: 2;
}

.p-service__wrap {
  width: 100%;
  height: 400vh;
  height: 400svh;
  position: relative;
  z-index: 2;
  background-color: #F0ECDF;
}

.p-service__accordion {
  width: 100%;
  height: 100vh;
  height: 100svh;
  position: sticky;
  top: 64px;
}

.p-service__accordion-item {
  width: 100%;
  height: calc(100% - 64px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #F0ECDF;
  position: relative;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.p-service__accordion-item:nth-child(1) {
  z-index: 1;
  position: static;
  top: initial;
  left: initial;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

.p-service__accordion-item:nth-child(2) {
  z-index: 2;
  -webkit-transform: translateY(calc(100% + 64px + 47px));
          transform: translateY(calc(100% + 64px + 47px));
  height: calc(100% - 64px - 47px);
}

.p-service__accordion-item:nth-child(3) {
  z-index: 3;
  -webkit-transform: translateY(calc(100% + 64px + 94px));
          transform: translateY(calc(100% + 64px + 94px));
  height: calc(100% - 64px - 94px);
}

.p-service__accordion-item:nth-child(4) {
  z-index: 4;
  -webkit-transform: translateY(calc(100% + 64px + 141px));
          transform: translateY(calc(100% + 64px + 141px));
  height: calc(100% - 64px - 141px);
}

.p-service__accordion-header {
  width: 100%;
  height: 47px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 14px 3.75rem;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  position: relative;
  z-index: 2;
  background-color: #F0ECDF;
  cursor: pointer;
}

.p-service__accordion-label {
  font-size: 16px;
  font-weight: 400;
  font-family: "ZalandoSansSemiExpanded", sans-serif;
  margin-right: auto;
  letter-spacing: 0.01em;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.p-service__view-more {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
}

.p-service__view-more::before,
.p-service__view-more::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #222222;
  border-radius: 1px;
}

.p-service__view-more::before {
  width: 0.875rem;
  height: 1px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-service__view-more::after {
  width: 1px;
  height: 0.875rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-service__view-more.is-open::after {
  -webkit-transform: translate(-50%, -50%) scaleY(0);
          transform: translate(-50%, -50%) scaleY(0);
}

.p-service__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 10px;
}

.p-service__text-heading {
  font-size: max(1.75rem, 20px);
  margin: 0;
  text-align: center;
}

.p-service__text-desc {
  font-size: max(1rem, 14px);
  margin: 1.5625rem 0 0;
  text-align: center;
  line-height: 1.9;
}

.p-service__text .c-button {
  width: 100%;
  max-width: 340px;
  margin-top: 2.8125rem;
  text-align: center;
}

.p-service__reveal-mask {
  display: block;
  overflow: hidden;
}

.p-service__reveal-inner {
  display: inline-block;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.p-service__accordion-wrap {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}

.p-service__accordion-content {
  width: 100%;
  display: grid;
  grid-template-columns: 35.2% 64.8%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
  position: relative;
  z-index: 1;
}

.p-service__media {
  height: 100%;
  overflow: hidden;
  position: relative;
}

.p-service__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-service__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-visit {
  display: block;
  width: 100%;
  background-color: #fff;
  padding: 1px 3.75rem 9.375rem;
  margin-top: -1px;
}

.p-visit__inner {
  width: 100%;
  max-width: 1476px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: white;
  background-color: #111;
  border-radius: 4px;
  border: 1px solid #000;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.p-visit__inner:hover {
  color: white;
}

.p-visit__body {
  text-align: center;
  padding: 4.375rem 1.25rem;
  width: 100%;
}

@-webkit-keyframes visit-heading-fly {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  45% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
    opacity: 0;
  }

  46% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes visit-heading-fly {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  45% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
    opacity: 0;
  }

  46% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

.p-visit__sub {
  font-family: "Gen Interface JP", sans-serif;
  font-size: max(1rem, 11px);
  margin: 0 0 1.0625rem;
  line-height: 1;
}

.p-visit__heading {
  font-family: "ZalandoSansSemiExpanded", sans-serif;
  font-size: max(2.375rem, 30px);
  font-weight: 500;
  margin: 0;
  letter-spacing: 0.02em;
  color: #fff;
}

.c-arrow-icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-arrow-icon--2 {
  -webkit-transform: translateX(-160%);
          transform: translateX(-160%);
}

.c-button {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.9375rem 3.125rem;
  border-radius: 3px;
  background-color: #222222;
  border: 1px solid #222222;
  color: #fff;
  font-size: max(1.125rem, 14px);
  font-weight: 300;
  position: relative;
  overflow: hidden;
}

.c-button:visited {
  color: #fff;
}

@-webkit-keyframes c-button-label-fly {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  45% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }

  46% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes c-button-label-fly {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  45% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }

  46% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

.c-button__label {
  display: block;
}

.c-button.--white {
  background-color: white;
  color: #000;
}

.c-button.--white:visited {
  color: #000;
}

.c-button.--white .c-button__label--inverted {
  background-color: #222222;
  color: #fff;
}

.c-circle-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4.375rem;
  height: 4.375rem;
  border-radius: 50%;
  background-color: #222222;
  border: 1px solid rgba(255, 255, 255, 0.25);
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}

.c-circle-link:hover,
.p-visit:hover .c-circle-link {
  border-color: rgba(255, 255, 255, 0.7);
}

@-webkit-keyframes c-circle-link-arrow-fly {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  40% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
    opacity: 0;
  }

  42% {
    -webkit-transform: translateX(-8px);
            transform: translateX(-8px);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@keyframes c-circle-link-arrow-fly {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  40% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
    opacity: 0;
  }

  42% {
    -webkit-transform: translateX(-8px);
            transform: translateX(-8px);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

.c-circle-link__icon {
  display: block;
  width: 1.1875rem;
  height: 1.5625rem;
  position: relative;
}

.c-circle-link__icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-circle-link:hover .c-circle-link__icon img,
.p-visit:hover .c-circle-link__icon img {
  -webkit-animation: c-circle-link-arrow-fly 0.5s forwards;
          animation: c-circle-link-arrow-fly 0.5s forwards;
}

.c-heading {
  text-align: center;
}

.c-heading__sub {
  font-family: "Gen Interface JP", sans-serif;
  font-size: 16px;
  margin-bottom: 0.875rem;
}

.c-heading__en {
  font-family: "ZalandoSansSemiExpanded", sans-serif;
  font-size: max(3rem, 40px);
  font-weight: 500;
  margin: 0 0 1.5625rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

.c-heading__desc {
  font-family: "Gen Interface JP", sans-serif;
  font-size: 16px;
  line-height: 1.9;
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.js-heading-animation .js-heading-line {
  display: block;
  overflow: hidden;
}

.js-heading-animation .js-heading-line__inner {
  display: inline-block;
  -webkit-transform: translateY(200%);
          transform: translateY(200%);
}

.js-fadeIn-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
}

.js-fadeIn-block {
  opacity: 0;
  visibility: hidden;
  -webkit-filter: blur(3px);
          filter: blur(3px);
  will-change: filter;
}

.c-link {
  font-size: 18px;
  line-height: 1.9;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.c-link:hover {
  opacity: 0.7;
}

.c-link.--map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: underline;
  color: #000;
  font-weight: 300;
}

.c-link.--map::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 13px;
  background-image: url(images/content/ginza-flagship-store-2026/images/icon-location.svg?$staticlink$);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 5px;
}

.c-page-top {
  position: fixed;
  right: 3.125rem;
  bottom: 2.5rem;
  width: 3.125rem;
  height: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #222222;
  border-radius: 0.25rem;
  overflow: hidden;
  z-index: 998;
}

@-webkit-keyframes c-page-top-arrow-fly {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  45% {
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
    opacity: 0;
  }

  46% {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes c-page-top-arrow-fly {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }

  45% {
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
    opacity: 0;
  }

  46% {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
    opacity: 0;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

.c-page-top__arrow {
  display: block;
  width: 0.8125rem;
  height: 0.625rem;
  background-image: url(images/content/ginza-flagship-store-2026/images/icon-arrow-top-white.svg?$staticlink$);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.c-page-top:hover .c-page-top__arrow {
  -webkit-animation: c-page-top-arrow-fly 0.5s forwards;
          animation: c-page-top-arrow-fly 0.5s forwards;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.u-sp {
  display: none !important;
}

@media screen and (min-width: 769px) {
  .p-exclusive__content-close:hover {
    -webkit-animation: close-rotate 0.4s forwards;
            animation: close-rotate 0.4s forwards;
  }
}

@media screen and (max-width: 1440px) {
  html {
    font-size: 1.1111111111vw;
  }
}

@media screen and (max-width: 1000px) {
  .p-service__accordion-content {
    grid-template-columns: 40% 60%;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 4.2666666667vw;
  }

  .p-about__inner {
    padding: 26.875rem 1.5625rem 14.0625rem;
  }

  .p-about__title {
    font-size: 0.8125rem;
  }

  .p-about__subtitle {
    font-size: 1.5625rem;
    line-height: 1.6;
    margin: 0 0 1.25rem;
  }

  .p-about__desc {
    font-size: 0.9375rem;
    word-break: keep-all;
    overflow-wrap: break-word;
    line-height: 2;
  }

  .p-about__desc + .p-about__desc {
    margin-top: 1.25rem;
  }

  .p-access {
    padding: 3.75rem 1.625rem 3.5625rem;
  }

  .p-access__inner {
    grid-template-columns: 1fr;
  }

  .p-access__info {
    padding: 0;
    min-height: unset;
    min-height: initial;
  }

  .p-access__name {
    font-size: max(1rem, 13px);
    margin-bottom: 1.125rem;
  }

  .p-access__address-line {
    line-height: 1.7;
    font-size: max(0.9375rem, 12px);
  }

  .p-access__detail-row {
    line-height: 1.7;
    font-size: max(0.9375rem, 12px);
  }

  .p-access__map {
    height: auto;
    aspect-ratio: 323/219;
    margin-top: 2.5rem;
  }

  .p-access__map iframe {
    height: calc(100% + 9.375rem);
    margin-top: -135px;
  }

  .p-exclusive .c-heading__desc {
    margin-top: 0.9375rem;
  }

  .p-exclusive__inner {
    padding: 8.75rem 0 7.5rem;
  }

  .p-exclusive__list {
    width: calc(100% - 1.25rem);
    max-width: none;
    margin: 3.25rem 0 0 1.25rem;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
  }

  .p-exclusive__scroll-area {
    width: calc(100% - 1.25rem);
  }

  .p-exclusive__items.swiper {
    overflow: visible;
    display: block;
  }

  .p-exclusive__scrollbar {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    margin-top: 2.375rem;
    border-radius: 0;
    position: relative;
  }

  .p-exclusive__scrollbar .swiper-scrollbar-drag {
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 0;
    cursor: -webkit-grab;
    cursor: grab;
  }

  .p-exclusive__scrollbar .swiper-scrollbar-drag:active {
    cursor: -webkit-grabbing;
    cursor: grabbing;
  }

  .p-exclusive__items {
    cursor: -webkit-grab;
    cursor: grab;
  }

  .p-exclusive__items.is-dragging {
    cursor: -webkit-grabbing;
    cursor: grabbing;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }

  .p-exclusive__items .swiper-wrapper {
    gap: 0;
  }

  .p-exclusive__item {
    width: 15.4375rem;
  }

  .p-exclusive__media {
    width: 100%;
    height: auto;
    aspect-ratio: 218/264;
  }

  .p-exclusive__media[data-ginza-icon]::after {
    width: 2.5rem;
    height: 2.5rem;
    top: 0.9375rem;
    left: 0.9375rem;
  }

  .p-exclusive__content-media[data-ginza-icon]::after {
    top: 1.3125rem;
    left: 1.3125rem;
    width: 3.75rem;
    height: 3.75rem;
  }

  .p-exclusive__open {
    bottom: 0.625rem;
    right: 0.625rem;
    width: 1.875rem;
    height: 1.875rem;
  }

  .p-exclusive__open::before {
    width: 0.5625rem;
  }

  .p-exclusive__open::after {
    height: 0.5625rem;
  }

  .p-exclusive__name {
    font-size: max(1rem, 14px);
    margin: max(0.9375rem, 14px) 0 0 0;
  }

  .p-exclusive__content-name {
    font-size: 1.875rem;
    margin-top: 1.25rem;
    margin-bottom: 0;
  }

  .p-exclusive__content[open] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow-y: auto;
  }

  .p-exclusive__content-media {
    width: 100%;
    aspect-ratio: 375/454;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

  .p-exclusive__content-nav {
    bottom: 0.625rem;
  }

  .p-exclusive__content-pagination {
    gap: 0.25rem;
  }

  .p-exclusive__content-pagination .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
  }

  .p-exclusive__content-info {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 3.125rem 1.25rem 4.875rem;
  }

  .p-exclusive__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .p-exclusive__content-close-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.6875rem;
    width: 100%;
    margin-top: auto;
    padding: 4.375rem 0 0;
    background: none;
    border: none;
    font-size: 0.75rem;
    cursor: pointer;
    color: #222222;
  }

  .p-exclusive__content-close-sp-icon {
    display: block;
  }

  .p-exclusive__content-close::before,
  .p-exclusive__content-close::after {
    width: 1.4375rem;
  }

  .p-exclusive__content-close {
    position: sticky;
    top: 1.25rem;
    right: initial;
    -ms-flex-item-align: end;
        align-self: flex-end;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 1.25rem;
    margin-bottom: -1.875rem;
    width: 1.875rem;
    height: 1.875rem;
  }

  .p-exclusive__badge {
    font-size: 0.6875rem;
  }

  .p-exclusive__desc {
    margin-top: 1rem;
    font-size: 0.9375rem;
    text-align: center;
    overflow-wrap: break-word;
  }

  .p-exclusive__colors {
    width: 100%;
    margin-top: 1.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .p-exclusive__color-list {
    font-size: max(0.9375rem, 14px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .p-exclusive__prices {
    width: 100%;
    margin-top: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .p-exclusive__price-item {
    font-size: max(0.9375rem, 14px);
  }

  .p-mv__content {
    width: 100%;
    padding: 0.75rem 1.25rem 1.875rem 1.25rem;
  }

  .p-mv__top {
    padding: 1.25rem;
  }

  .p-mv__reserve {
    padding: 0.4375rem 0.6875rem;
    font-size: 0.75rem;
    -webkit-transition: none;
    transition: none;
  }

  .p-mv__heading--pc {
    display: none;
  }

  .p-mv__heading--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .p-mv__heading-line + .p-mv__heading-line {
    margin-top: 0.875rem;
  }

  .p-mv__heading-svg {
    width: 18.75rem;
  }

  .p-mv__copy {
    margin-top: 0.625rem;
    font-size: 0.875rem;
  }

  .p-mv__logo {
    width: 6.25rem;
  }

  .p-service__heading {
    padding: 10rem 2.5rem 10rem;
  }

  .p-service__wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }

  .p-service__accordion-item:nth-child(2) {
    height: calc(100% - 64px);
  }

  .p-service__accordion-item:nth-child(3) {
    height: calc(100% - 64px);
  }

  .p-service__accordion-item:nth-child(4) {
    height: calc(100% - 64px);
  }

  .p-service__accordion-header {
    height: auto;
    padding: 0.40625rem 1.25rem;
  }

  .p-service__accordion-label {
    font-size: 0.75rem;
  }

  .p-service__view-more {
    width: 1.125rem;
    height: 1.125rem;
  }

  .p-service__view-more::before {
    width: 0.625rem;
  }

  .p-service__view-more::after {
    height: 0.625rem;
  }

  .p-service__text-heading {
    font-size: max(1rem, 13px);
  }

  .p-service__text-desc {
    font-size: max(0.75rem, 12px);
    margin: 0.625rem 0 0;
    line-height: 1.7;
  }

  .p-service__text .c-button {
    margin-top: 1.25rem;
    max-width: 75%;
  }

  .p-service__accordion-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    min-height: initial;
    gap: 1rem;
  }

  .p-service__media {
    width: 100%;
    height: auto;
    max-height: 38vh;
    aspect-ratio: 375/250;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

  .p-service__media img {
    -o-object-position: 50% 40%;
       object-position: 50% 40%;
  }

  .p-visit {
    padding: 1px 1.625rem 6.25rem;
  }

  .p-visit__body {
    padding: 2.625rem 1.25rem 2.9375rem;
  }

  .p-visit__heading {
    font-size: max(1.3125rem, 16px);
  }

  .c-button {
    border-radius: 0.1875rem;
    padding: 0.625rem 1.875rem;
    font-size: max(0.9375rem, 13px);
  }

  .c-circle-link {
    width: 3.25rem;
    height: 3.25rem;
  }

  .c-circle-link__icon {
    width: 0.875rem;
    height: 0.6875rem;
  }

  .c-heading__sub {
    margin-bottom: 0.5rem;
    font-size: 0.8125rem;
  }

  .c-heading__en {
    font-size: 1.875rem;
    margin: 0 0 0.5rem;
  }

  .c-heading__desc {
    font-size: 0.8125rem;
    word-break: keep-all;
    overflow-wrap: break-word;
    margin-top: 0.9375rem;
    line-height: 1.7;
  }

  .c-link {
    font-size: 0.9375rem;
  }

  .c-link.--map::before {
    width: 0.625rem;
    height: 0.8125rem;
  }

  .c-page-top {
    right: 1.25rem;
    bottom: 1.5rem;
    width: 2.6875rem;
    height: 2.6875rem;
  }

  .c-page-top__arrow {
    width: 0.8125rem;
    height: 0.625rem;
  }

  .u-pc {
    display: none !important;
  }

  .u-sp {
    display: inline !important;
  }
}

@media screen and (max-width: 600px) {
  .p-access__map iframe {
    height: calc(100% + 12.5rem);
  }

  .p-fixed-video__mv {
    aspect-ratio: 608/1080;
  }

  .p-service__text-heading {
    font-size: max(1.25rem, 13px);
  }

  .p-service__text-desc {
    font-size: max(0.8125rem, 12px);
    margin: 0.8125rem 0 0;
  }

  .p-service__accordion-content {
    gap: 1.875rem;
  }
}

@media screen and (max-width: 450px) {
  .p-access__map iframe {
    height: 100%;
    margin-top: 0;
  }
}

@media (hover: hover) {
  .p-mv__reserve:hover {
    color: #fff;
    border-color: #fff;
  }

  .p-mv__reserve:hover span {
    -webkit-animation: p-mv-reserve-text-fly 0.4s forwards ease-out;
            animation: p-mv-reserve-text-fly 0.4s forwards ease-out;
  }

  .p-visit__inner:hover .p-visit__body {
    -webkit-animation: visit-heading-fly 0.7s forwards ease-out;
            animation: visit-heading-fly 0.7s forwards ease-out;
  }

  .c-button:hover .c-button__label {
    -webkit-animation: c-button-label-fly 0.4s forwards ease-out;
            animation: c-button-label-fly 0.4s forwards ease-out;
  }
}
/*# sourceMappingURL=style.css.map */