@charset "UTF-8";
.p-floormap-index__button-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
.p-floormap-index__button-grid > .c-button {
  min-inline-size: var(--space-0);
}

.p-floormap-index__button-grid .c-button[data-brand=lucua-south] {
  --button-surface-enabled: var(--semantic-brand-lucua-south);
  --button-surface-hover: var(--semantic-brand-lucua-south-hover);
  --button-surface-pressed: var(--semantic-brand-lucua-south-pressed);
}

.p-floormap-index__button-grid .c-button[data-brand=lucua-1100] {
  --button-surface-enabled: var(--semantic-brand-lucua-1100);
  --button-surface-hover: var(--semantic-brand-lucua-1100-hover);
  --button-surface-pressed: var(--semantic-brand-lucua-1100-pressed);
}

.p-floormap-index__button-grid .c-button[data-brand=lucua] {
  --button-surface-enabled: var(--semantic-brand-lucua);
  --button-surface-hover: var(--semantic-brand-lucua-hover);
  --button-surface-pressed: var(--semantic-brand-lucua-pressed);
}

.p-floormap-index__restaurant {
  padding-block-start: var(--space-64);
}
.p-floormap-index__restaurant h2 {
  text-align: center;
}

.p-floormap-index__shop-link {
  inline-size: var(--ratio-full);
}

@media (min-width: 768px) {
  .p-floormap-index__button-grid {
    flex-direction: row;
    justify-content: center;
    gap: var(--layout-grid-gutter);
  }
  .p-floormap-index__button-grid > .c-button {
    flex: 0 1 var(--layout-desktop-column-width);
    max-inline-size: var(--layout-desktop-column-width);
  }
  .p-floormap-index__restaurant {
    padding-block-start: var(--space-80);
  }
  .p-floormap-index__shop-link {
    inline-size: var(--layout-desktop-column-width);
    margin-inline: auto;
  }
}
.p-floormap-detail__tabs {
  --floormap-sticky-header-reveal-extra-travel: var(--space-64);
  padding-block-end: var(--space-32);
}

.p-floormap-detail__tabs[data-sticky-tabs-active] {
  --floormap-sticky-header-offset: var(--space-0);
}
.p-floormap-detail__tabs[data-sticky-tabs-active]::after {
  display: block;
  content: "";
  block-size: var(--floormap-sticky-tabs-block-size);
}
.p-floormap-detail__tabs[data-sticky-tabs-active] > .c-tab-navigation:is([data-type=logo], [data-type=left-aligned]) {
  position: fixed;
  inset-inline-start: var(--floormap-sticky-inline-start);
  z-index: var(--layout-sticky-navigation-layer);
  background: var(--semantic-background-base);
  translate: var(--space-0);
}
@media (prefers-reduced-motion: no-preference) {
  .p-floormap-detail__tabs[data-sticky-tabs-active] > .c-tab-navigation:is([data-type=logo], [data-type=left-aligned]) {
    transition: inset-block-start var(--motion-duration) var(--motion-easing), translate var(--motion-duration) var(--motion-easing);
  }
}
.p-floormap-detail__tabs[data-sticky-tabs-active] > .c-tab-navigation[data-type=logo] {
  inset-block-start: var(--floormap-sticky-header-offset);
  inline-size: var(--floormap-sticky-building-inline-size);
}
.p-floormap-detail__tabs[data-sticky-tabs-active] > .c-tab-navigation[data-type=left-aligned] {
  inset-block-start: calc(var(--floormap-sticky-header-offset) + var(--floormap-sticky-building-block-size));
  inline-size: var(--floormap-sticky-floor-inline-size);
}

.p-floormap-detail__tabs[data-sticky-tabs-hidden] > .c-tab-navigation:is([data-type=logo], [data-type=left-aligned]) {
  translate: var(--space-0) calc(var(--floormap-sticky-tabs-block-size) * -1);
}

.p-floormap-detail__map-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-floormap-detail__title-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  inline-size: var(--ratio-full);
}
.p-floormap-detail__title-group > .c-heading {
  --heading-margin-block-end: var(--space-24);
  inline-size: var(--ratio-full);
  overflow: clip;
}

.p-floormap-detail__description {
  font-size: var(--font-size-16);
  font-weight: var(--font-weight-regular);
  letter-spacing: var(--letter-spacing-default);
  line-height: var(--line-height-default);
  inline-size: var(--ratio-full);
  color: var(--semantic-text-primary);
  word-break: break-word;
}

.p-floormap-detail__map img {
  inline-size: var(--ratio-full);
  block-size: auto;
  object-fit: contain;
  pointer-events: none;
}

.p-floormap-detail__shops-heading {
  display: grid;
  gap: var(--space-16);
  padding-block-end: var(--space-24);
}

.p-floormap-detail__filter {
  justify-self: start;
}

.p-floormap-detail__shops > .c-chip-group {
  /* SPの下端24pxにフォーカスリング描画領域を加え、負のマージンで描画領域分だけ相殺する */
  padding-block-end: calc(var(--space-24) + var(--layout-focus-outer-size));
  margin-block-end: calc(var(--layout-focus-outer-size) * -1);
}

.p-floormap-detail__return {
  inline-size: var(--ratio-full);
}

@media (max-width: 767px) {
  .p-floormap-detail__tabs .c-tab-navigation[data-type=left-aligned] {
    inline-size: calc(var(--ratio-full) + var(--layout-page-gutter));
  }
}
@media (min-width: 768px) {
  .p-floormap-detail__shops > .c-chip-group {
    padding-block-end: calc(var(--space-32) + var(--layout-focus-outer-size));
  }
  .p-floormap-detail__tabs {
    padding-block-end: var(--space-48);
  }
  .p-floormap-detail__title-group > .c-heading {
    --heading-margin-block-end: var(--space-32);
  }
  .p-floormap-detail__map {
    inline-size: var(--ratio-full);
  }
  .p-floormap-detail__shops-heading {
    grid-template-columns: minmax(var(--space-0), 1fr) auto;
    align-items: center;
    gap: var(--space-16);
  }
  .p-floormap-detail__filter {
    justify-self: end;
  }
  .p-floormap-detail__return {
    inline-size: var(--layout-desktop-column-width);
    margin-inline: auto;
  }
}
