/* facility.css */

.facility-page {
    padding: 114px 20px 0;
}

/* テーマ標準のブロック間余白(margin-block-start、:where(.wp-site-blocks) > *)により
   page-contentとsite-footer-shellの間に隙間ができる。他ページはPC/タブレットで
   この余白を残す方針だが、施設情報ページは全幅背景のセクションが続くため
   フッターと直接つなげたい。このページに限り全ブレークポイントで打ち消す */
.page-content:has(> .facility-page) + .site-footer-shell {
    margin-block-start: 24px;
}

/* back-to-topボタン用に確保されている.page-contentのpadding-bottom(24px、back-to-top.css)を
   施設情報ページだけ解除し、関連リンクカードの背景がフッターに直接つながるようにする。
   ボタン自体にはmargin-bottomでその高さ分を打ち消し、フッター側に少し重なって
   手前に浮いて見えるようにする（sticky+bottom:24pxの挙動自体は変更しない）。
   margin-topでボタンをコンテンツ側の末尾に重ねることで、フッター側には
   はみ出さないようにする（margin-bottomだとフッター側に重なってしまう） */
.page-content:has(> .facility-page) {
    padding-bottom: 0;
}

.facility-page + .back-to-top--page {
    margin-top: -82px;
}

.facility-page__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin: 0 0 30px;
}

.facility-page__heading-icon {
    display: block;
    width: 51.8px;
    height: 70.6px;
}

.facility-page__heading-text {
    margin: 0;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 48px;
    font-weight: 500;
    letter-spacing: 1.92px;
    line-height: 43px;
}

/* タブはFAQページ(faq-archive__tab)と同じデザインを使用する */
.facility-page__tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 0 44px;
}

.facility-page__tab {
    display: inline-flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    width: 148px;
    height: 44px;
    padding: 0 24px 2px;
    border-radius: 4.427px;
    background: #17bae5;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.facility-page__tab:hover {
    background: #0e94b8;
}

.facility-page__section {
    max-width: 976px;
    margin: 0 auto;
    /* タブクリック時のスムーススクロール先が固定ヘッダーの下に隠れないようにする */
    scroll-margin-top: var(--site-header-height, 51px);
}

/* ----- コンセプト ----- */

/* コンセプトセクションだけ、水色の背景を画面幅いっぱいに敷く。
   100vwを使う方式だとスクロールバー幅の分だけ横スクロールが発生するため、
   親の.facility-pageの実際の左右padding(20px)を打ち消す形で画面端まで広げる */
.facility-page__section--concept {
    max-width: none;
    margin-left: -20px;
    margin-right: -20px;
    padding: 62px 20px 86px;
    background: #17bae5;
}

.facility-concept__box {
    box-sizing: border-box;
    max-width: 1128px;
    margin: 0 auto;
    padding: 47px 76px 76px;
    border: 1px solid #000;
    border-radius: 48px;
    background: #fff;
}

.facility-concept__heading {
    margin: 0 0 15px;
    text-align: center;
}

.facility-concept__heading-ja {
    margin: 0 0 15px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 2.24px;
    line-height: 43px;
}

.facility-concept__heading-en {
    margin: 0;
    color: #17bae5;
    -webkit-text-stroke: 3px #000;
    text-stroke: 3px #000;
    paint-order: stroke;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 90px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    line-height: 1;
}

.facility-concept__intro {
    margin: 0 0 49px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 44px;
    text-align: center;
}

/* SP版は改行位置がPC版と異なるため、専用の文言を別途用意して出し分ける */
.facility-concept__intro--sp {
    display: none;
}

/* PC版は関係図イラスト自体に描き込まれているため、この独立テキストはSP版のみ表示する */
.facility-concept__diagram-label {
    display: none;
    margin: 0;
    color: #17bae5;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    text-align: center;
}

.facility-concept__diagram {
    margin: 50px 0 44px;
    text-align: center;
}

.facility-concept__diagram img {
    display: inline-block;
    width: 738px;
    max-width: 100%;
    height: auto;
}

.facility-concept__catchphrase-image {
    display: block;
    width: 820px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 40px;
}

/* SP版はPC版と別サイズ・別ノードの2行組みテキスト画像に差し替わる */
.facility-concept__catchphrase-image--sp {
    display: none;
}

.facility-concept__parties {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin: 0 0 90px;
    padding: 0;
    list-style: none;
}

.facility-concept__party-heading {
    /* 親テーマのリセットCSSでp要素に text-wrap: pretty; が指定されており、
       Safariだとこれが原因で段落が本来の幅まで広がらないことがあるため打ち消す */
    text-wrap: wrap;
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 8px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 28px;
    font-weight: 500;
}

.facility-concept__party-dot {
    display: inline-block;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #17bae5;
    align-self: center;
}

.facility-concept__party--group .facility-concept__party-dot {
    background: #f7d12c;
}

.facility-concept__party--resident .facility-concept__party-dot {
    background: #fd7aae;
}

.facility-concept__party--city .facility-concept__party-dot {
    background: #00adae;
}

.facility-concept__party-sub {
    font-size: 22px;
    font-weight: 500;
}

.facility-concept__party-text {
    /* 親テーマのリセットCSSでp要素に text-wrap: pretty; が指定されており、
       Safariだとこれが原因で段落が本来の幅まで広がらないことがあるため打ち消す */
    text-wrap: wrap;
    margin: 0;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 32px;
}

/* PC版の<br/>による改行と同じ見た目になるよう、各「・」行をブロック化する。
   折り返し・内部改行時は「・」の下ではなくテキスト開始位置に揃うよう
   ぶら下げインデントにする(PC/SP共通) */
.facility-concept__party-text-line {
    display: block;
    padding-left: 1em;
    text-indent: -1em;
}

.facility-concept__summary {
    box-sizing: border-box;
    position: relative;
    margin: 94px 0 90px;
    padding: 30px 24px;
    border-radius: 12px;
    background: rgba(23, 186, 229, 0.15);
}

/* ボックス上端に約35px食い込むように重ねる装飾矢印 */
.facility-concept__summary-arrow {
    display: block;
    position: absolute;
    top: -83px;
    left: 50%;
    width: 147px;
    height: auto;
    transform: translateX(-50%);
    pointer-events: none;
}


.facility-concept__summary-heading {
    /* 親テーマのリセットCSSでp要素に text-wrap: pretty; が指定されており、
       Safariだとこれが原因で段落が本来の幅まで広がらないことがあるため打ち消す */
    text-wrap: wrap;
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 8px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 28px;
    font-weight: 500;
}

.facility-concept__summary-dot {
    display: inline-block;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #17bae5;
    align-self: center;
}

.facility-concept__summary-text {
    /* 親テーマのリセットCSSでp要素に text-wrap: pretty; が指定されており、
       Safariだとこれが原因で段落が本来の幅まで広がらないことがあるため打ち消す */
    text-wrap: wrap;
    margin: 0;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 32px;
}

/* 「この場所で生まれること」「活動が生まれる場所」の中見出し（コンセプト内で共通） */
.facility-concept__heading--sub {
    margin: 0 0 30px;
    text-align: center;
}

.facility-concept__heading-sub-text {
    margin: 0 0 16px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 1.44px;
    line-height: 1.3;
}

.facility-concept__heading-accent {
    display: flex;
    justify-content: center;
    gap: 0;
}

.facility-concept__heading-accent span {
    display: block;
    width: 36px;
    height: 6px;
}

.facility-concept__heading-accent span:nth-child(1) {
    background: #17bae5;
}

.facility-concept__heading-accent span:nth-child(2) {
    background: #f7d12c;
}

.facility-concept__heading-accent span:nth-child(3) {
    background: #ff8e00;
}

.facility-concept__heading-accent span:nth-child(4) {
    background: #00adae;
}

.facility-concept__heading-accent span:nth-child(5) {
    background: #fd7aae;
}

.facility-concept__heading-accent span:nth-child(6) {
    background: #0070bc;
}

.facility-concept__circles {
    margin: -40px 0 110px;
    text-align: center;
}

.facility-concept__circles img {
    display: inline-block;
    width: 649px;
    max-width: 100%;
    height: auto;
}

.facility-concept__catchphrase-wrap {
    position: relative;
    display: table;
    margin: 0 auto 24px;
}

/* マーカーで下線を引いたような蛍光色の帯。文字の少し下に重なるよう
   画像本体の下から見て配置し、文字(img)の背面に敷く */
.facility-concept__catchphrase-marker {
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 103%;
    height: 37.7%;
    background: #fff86e;
    transform: translateX(-50%);
    z-index: 0;
}

.facility-concept__catchphrase {
    position: relative;
    z-index: 1;
    display: block;
    width: 683px;
    max-width: 100%;
    height: auto;
}

/* ----- 活動が生まれる場所：スペース紹介 ----- */

.facility-concept__spaces {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.facility-concept__space-title {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin: 20px 0 12px;
    font-family: "Noto Sans JP", sans-serif;
}

.facility-concept__spaces > .facility-concept__space:first-child .facility-concept__space-title {
    margin-top: 0;
}

.facility-concept__space-title-main {
    color: #17bae5;
    font-size: 36px;
    font-weight: 600;
}

.facility-concept__space-title-kari {
    font-size: 26px;
}

.facility-concept__space-title-sub {
    color: #17bae5;
    font-size: 26px;
    font-weight: 500;
}

.facility-concept__space-stripe {
    display: flex;
    gap: 0;
    height: 3px;
    margin: 0 0 28px;
}

.facility-concept__space-stripe span {
    display: block;
    width: 36px;
    height: 100%;
}

.facility-concept__space-stripe span:nth-child(6n+1) { background: #17bae5; }
.facility-concept__space-stripe span:nth-child(6n+2) { background: #f7d12c; }
.facility-concept__space-stripe span:nth-child(6n+3) { background: #ff8e00; }
.facility-concept__space-stripe span:nth-child(6n+4) { background: #00adae; }
.facility-concept__space-stripe span:nth-child(6n+5) { background: #fd7aae; }
.facility-concept__space-stripe span:nth-child(6n) { background: #0070bc; }

.facility-concept__space-highlight {
    padding: 14px 25px 20px;
    border-radius: 12px;
    background: rgba(23, 186, 229, 0.15);
}

.facility-concept__space-highlight .facility-concept__space-name {
    margin: 0 0 8px;
}

.facility-concept__space-highlight .facility-concept__space-text {
    margin: 0;
}

.facility-concept__space-name {
    /* 親テーマのリセットCSSでp要素に text-wrap: pretty; が指定されており、
       Safariだとこれが原因で段落が本来の幅まで広がらないことがあるため打ち消す */
    text-wrap: wrap;
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 8px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 28px;
    font-weight: 500;
}

.facility-concept__space-text {
    /* 親テーマのリセットCSSでp要素に text-wrap: pretty; が指定されており、
       Safariだとこれが原因で段落が本来の幅まで広がらないことがあるため打ち消す */
    text-wrap: wrap;
    margin: 0;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 32px;
}

/* PC版の<br/>による改行と同じ見た目になるよう、各「・」行をブロック化する */
.facility-concept__space-text-line {
    display: block;
}

/* ----- フロアガイド ----- */

.facility-page__section--floor {
    max-width: none;
    margin-left: -20px;
    margin-right: -20px;
    padding: 70px 20px 70px;
    background: #f6f6f6;
}

.facility-floor__box {
    box-sizing: border-box;
    max-width: 1128px;
    margin: 0 auto;
    padding: 47px 76px 76px;
    border: 5px solid #17bae5;
    border-radius: 48px;
    background: #fff;
}

.facility-floor__box .facility-concept__heading {
    margin: 0 0 42px;
}

.facility-floor__nav {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    gap: 42px;
    margin: 0 0 40px;
}

.facility-floor__nav-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 250px;
}

.facility-floor__nav-link {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 63px;
    margin: 0 0 16px;
    padding: 0 62px 0 24px;
    border: 1px solid #000;
    border-radius: 12px;
    background: #17bae5;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    font-weight: 500;
    text-decoration: none;
    box-sizing: border-box;
}

.facility-floor__nav-link:hover {
    background: #0e94b8;
}

.facility-floor__nav-icon {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 16px;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    transform: translateY(-50%);
}

.facility-floor__group {
    margin: 0 0 80px;
    /* アンカークリック時のスクロール先が固定ヘッダーの下に隠れないようにする */
    scroll-margin-top: var(--site-header-height, 51px);
}

#floor-6f.facility-floor__group {
    margin-bottom: 40px;
}

.facility-floor__label {
    display: block;
    position: relative;
    z-index: 1;
    width: fit-content;
    margin: 0 0 24px 90px;
    padding: 0 24px;
    height: 44px;
    line-height: 44px;
    border-radius: 8px;
    background: #17bae5;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 23px;
    font-weight: 700;
}

.facility-floor__rooms {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 500;
}

.facility-floor__rooms li {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* PC/タブレットは塗りつぶし円で見せる(インラインstyleのcolorをbackgroundとして
   流用し、テキスト"●"自体はfont-size:0で隠す)。SP版は"●"をテキストのまま見せる
   ("行頭●は別図形ではなくテキストの一部"という指定のため) */
.facility-floor__room-dot {
    display: inline-block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: currentColor;
    font-size: 0;
    line-height: 0;
}

.facility-floor__map {
    position: relative;
    text-align: center;
}

.facility-floor__map img {
    display: inline-block;
    max-width: 100%;
    height: auto;
}

.facility-floor__map[data-floor-panel="1f"] img {
    width: 760px;
    margin-top: -60px;
}

.facility-floor__map[data-floor-panel="2f"] img {
    width: 888px;
}

.facility-floor__map[data-floor-panel="6f"] img {
    width: 400px;
    margin-top: -60px;
    margin-left: 210px;
}

.facility-floor__cta {
    display: flex;
    justify-content: flex-end;
    margin: 40px 0 0;
}

.facility-floor__equipment-button {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 309px;
    padding: 0 30px;
    height: 70px;
    border: 1px solid #000;
    border-radius: 72px;
    background: #3e3e3e;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.facility-floor__equipment-button:hover {
    background: #fff;
    color: #3e3e3e;
}

.facility-floor__equipment-icon {
    display: block;
    position: absolute;
    top: 50%;
    right: 26px;
    width: 26px;
    height: 26px;
    transform: translateY(-50%);
}

/* ----- DATA ----- */

.facility-page__section--data {
    max-width: none;
    margin-left: -20px;
    margin-right: -20px;
    padding: 70px 20px 70px;
    background: #17bae5;
}

.facility-data__box {
    box-sizing: border-box;
    max-width: 1128px;
    margin: 0 auto;
    padding: 50px 76px 62px;
    border: 1px solid #000;
    border-radius: 48px;
    background: #fff;
}

.facility-data__info {
    margin: 0 0 50px;
}

.facility-data__row {
    /* 親テーマのリセットCSSでp要素に text-wrap: pretty; が指定されており、
       Safariだとこれが原因で段落が本来の幅まで広がらないことがあるため打ち消す */
    text-wrap: wrap;
    margin: 0 0 24px;
}

.facility-data__label {
    display: block;
    margin: 0 0 4px;
    color: #17bae5;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 31px;
}

.facility-data__value {
    display: block;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 31px;
}

/* word-break:keep-allは行内の文字間改行を全面的に禁止してしまい、
   別の箇所ではみ出す原因になったため使わない。「年1回」「１月」など
   分割したくない数字+助数詞だけを.facility-data__nowrapで個別に囲んで
   その部分だけ改行させないようにする */
.facility-data__nowrap {
    white-space: nowrap;
}

/* TELのSP版は改行位置がPC版と異なるため、専用の文言を別途用意して出し分ける */
.facility-data__value--sp {
    display: none;
}

.facility-data__phone-label {
    display: inline-block;
    width: 190px;
}

.facility-data__phone {
    font-size: 22px;
}

.facility-data__note {
    font-size: 16px;
}

.facility-data__note--access {
    display: inline-block;
}

.facility-data__map {
    max-width: 976px;
    margin: 0 auto;
    border-radius: 22px;
    overflow: hidden;
}

.facility-data__map iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: none;
}

/* ----- CTA「あなたも参加してみませんか？」 ----- */

.facility-page__cta {
    max-width: none;
    margin-left: -20px;
    margin-right: -20px;
    padding: 70px 20px 70px;
    background: #f6f6f6;
}

.facility-cta__box {
    box-sizing: border-box;
    max-width: 1128px;
    margin: 0 auto;
    padding: 60px 76px 66px;
    border: 5px solid #17bae5;
    border-radius: 48px;
    background: #fff;
}

.facility-cta__box .facility-concept__parties {
    margin: 0;
}

/* ----- 関連リンクカード ----- */

.facility-page__related-links {
    max-width: none;
    margin-left: -20px;
    margin-right: -20px;
    padding: 60px 20px 60px;
    background: #17bae5;
}

.facility-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.facility-links__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 236px;
    height: 154px;
    border: 1px solid #000;
    border-radius: 22.887px;
    background: #fff;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.facility-links__card:hover {
    opacity: 0.7;
}

.facility-links__icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
}

.facility-links__icon img {
    display: block;
    max-height: 100%;
    width: auto;
}

/* トップページのicon-fee.svg(1枚に合成済み)を流用する。以前は3枚のSVGを
   absoluteで手動重ねしていたが、微妙にパスがズレるため単一画像に統一した */
.facility-links__icon--fee {
    height: 71.37px;
}

.facility-links__icon--fee img {
    width: 71.37px;
    height: 71.37px;
    max-height: none;
}

.facility-links__icon--coordinator {
    height: 80.68px;
}

.facility-links__icon--coordinator img {
    width: 101.07px;
    height: 80.68px;
    max-height: none;
}

.facility-links__icon--tool {
    height: 76.41px;
}

.facility-links__icon--tool img {
    width: 50.66px;
    height: 76.41px;
    max-height: none;
}

.facility-links__icon--faq {
    height: 67.15px;
}

.facility-links__icon--faq img {
    width: 67.01px;
    height: 67.15px;
    max-height: none;
}

.facility-links__label {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    line-height: 1.4;
}

/* 782px〜1279px：PC版(1366px基準)のサイズ感をvwでそのまま縮小 */
@media (max-width: 1279px) {
    .facility-page {
        padding: 8.346vw 1.464vw 0;
    }

    .page-content:has(> .facility-page) + .site-footer-shell {
        margin-block-start: 1.757vw;
    }

    .facility-page + .back-to-top--page {
        margin-top: -6.003vw;
    }

    .facility-page__section--concept {
        margin-left: -1.464vw;
        margin-right: -1.464vw;
        padding: 4.539vw 1.464vw 6.296vw;
    }

    .facility-concept__box {
        max-width: 82.577vw;
        padding: 3.441vw 5.564vw 5.564vw;
        border-radius: 3.514vw;
    }

    .facility-page__heading {
        gap: 1.757vw;
        margin-bottom: 2.196vw;
    }

    .facility-page__heading-icon {
        width: 3.792vw;
        height: 5.168vw;
    }

    .facility-page__heading-text {
        font-size: 3.514vw;
        letter-spacing: 0.141vw;
        line-height: 3.148vw;
    }

    .facility-page__tabs {
        gap: 1.464vw;
        margin-bottom: 3.221vw;
    }

    .facility-page__tab {
        width: 10.834vw;
        height: 3.221vw;
        padding: 0 1.757vw 0.146vw;
        border-radius: 0.324vw;
        font-size: 1.611vw;
    }

    .facility-page__section {
        max-width: 71.45vw;
    }

    .facility-page__section--concept,
    .facility-page__section--floor,
    .facility-page__section--data,
    .facility-page__cta,
    .facility-page__related-links {
        max-width: none;
    }

    .facility-concept__heading {
        margin-bottom: 1.098vw;
    }

    .facility-concept__heading-ja {
        margin-bottom: 1.098vw;
        font-size: 2.343vw;
        letter-spacing: 0.164vw;
        line-height: 3.148vw;
    }

    .facility-concept__heading-en {
        font-size: 6.588vw;
        letter-spacing: 0.293vw;
    }

    .facility-concept__intro {
        margin-bottom: 3.587vw;
        font-size: 1.464vw;
        line-height: 3.221vw;
    }

    .facility-concept__diagram {
        margin-top: 3.66vw;
        margin-bottom: 3.221vw;
    }

    .facility-concept__diagram img {
        width: 54.026vw;
    }

    .facility-concept__catchphrase-image {
        width: 60.029vw;
        margin-bottom: 2.928vw;
    }

    .facility-concept__parties {
        gap: 2.343vw;
        margin-bottom: 6.588vw;
    }

    .facility-concept__party-heading {
        gap: 0.586vw;
        margin-bottom: 0.586vw;
        font-size: 2.05vw;
    }

    .facility-concept__party-dot {
        width: 1.904vw;
        height: 1.904vw;
    }

    .facility-concept__summary-dot {
        width: 1.904vw;
        height: 1.904vw;
    }

    .facility-concept__party-sub {
        font-size: 1.611vw;
    }

    .facility-concept__party-text,
    .facility-concept__summary-text {
        font-size: 1.318vw;
        line-height: 2.343vw;
    }

    .facility-concept__summary {
        margin-top: 6.883vw;
        margin-bottom: 6.588vw;
        padding: 2.196vw 1.757vw;
        border-radius: 0.878vw;
    }

    .facility-concept__summary-arrow {
        top: -6.076vw;
        width: 10.762vw;
    }

    .facility-concept__summary-heading {
        gap: 0.586vw;
        margin-bottom: 0.586vw;
        font-size: 2.05vw;
    }

    .facility-concept__heading--sub {
        margin-bottom: 2.196vw;
    }

    .facility-concept__heading-sub-text {
        margin-bottom: 1.171vw;
        font-size: 2.635vw;
        letter-spacing: 0.105vw;
    }

    .facility-concept__heading-accent span {
        width: 2.635vw;
        height: 0.439vw;
    }

    .facility-concept__circles {
        margin-top: -2.928vw;
        margin-bottom: 8.053vw;
    }

    .facility-concept__circles img {
        width: 47.51vw;
    }

    .facility-concept__catchphrase-wrap {
        margin-bottom: 1.757vw;
    }

    .facility-concept__catchphrase {
        width: 50vw;
    }

    .facility-concept__spaces {
        gap: 2.196vw;
    }

    .facility-concept__space-title {
        gap: 1.171vw;
        margin-top: 1.464vw;
        margin-bottom: 0.878vw;
    }

    .facility-concept__space-title-main {
        font-size: 2.635vw;
    }

    .facility-concept__space-title-kari {
        font-size: 1.904vw;
    }

    .facility-concept__space-title-sub {
        font-size: 1.904vw;
    }

    .facility-concept__space-stripe {
        height: 0.22vw;
        margin-bottom: 2.05vw;
    }

    .facility-concept__space-stripe span {
        width: 2.635vw;
    }

    .facility-concept__space-highlight {
        padding: 1.025vw 1.831vw 1.464vw;
        border-radius: 0.878vw;
    }

    .facility-concept__space-highlight .facility-concept__space-name {
        margin-bottom: 0.586vw;
    }

    .facility-concept__space-name {
        gap: 0.586vw;
        margin-bottom: 0.586vw;
        font-size: 2.05vw;
    }

    .facility-concept__space-text {
        font-size: 1.318vw;
        line-height: 2.343vw;
    }

    .facility-page__section--floor {
        margin-left: -1.464vw;
        margin-right: -1.464vw;
        padding: 5.125vw 1.464vw 5.125vw;
    }

    .facility-floor__box {
        max-width: 82.577vw;
        padding: 3.441vw 5.564vw 5.564vw;
        border-width: 0.366vw;
        border-radius: 3.514vw;
    }

    .facility-floor__box .facility-concept__heading {
        margin-bottom: 3.075vw;
    }

    .facility-floor__map[data-floor-panel="1f"] img {
        width: 55.637vw;
        margin-top: -4.392vw;
    }

    .facility-floor__map[data-floor-panel="2f"] img {
        width: 65.007vw;
    }

    .facility-floor__map[data-floor-panel="6f"] img {
        width: 29.283vw;
        margin-top: -4.392vw;
        margin-left: 15.373vw;
    }

    .facility-floor__nav {
        gap: 3.075vw;
        margin-bottom: 2.928vw;
    }

    .facility-floor__nav-item {
        width: 18.302vw;
    }

    .facility-floor__nav-link {
        height: 4.612vw;
        margin-bottom: 1.171vw;
        padding: 0 4.539vw 0 1.757vw;
        border-radius: 0.878vw;
        font-size: 1.757vw;
    }

    .facility-floor__nav-icon {
        right: 1.171vw;
        width: 1.611vw;
        height: 1.611vw;
    }

    .facility-floor__group {
        margin-bottom: 5.857vw;
    }

    #floor-6f.facility-floor__group {
        margin-bottom: 2.928vw;
    }

    .facility-floor__label {
        margin-bottom: 1.757vw;
        margin-left: 6.588vw;
        padding: 0 1.757vw;
        height: 3.221vw;
        line-height: 3.221vw;
        border-radius: 0.586vw;
        font-size: 1.684vw;
    }

    .facility-floor__rooms {
        gap: 0.439vw;
        margin-bottom: 1.757vw;
        font-size: 1.318vw;
    }

    .facility-floor__room-dot {
        width: 1.318vw;
        height: 1.318vw;
    }

    .facility-floor__cta {
        margin-top: 2.928vw;
    }

    .facility-floor__equipment-button {
        width: 22.628vw;
        padding: 0 2.196vw;
        height: 5.125vw;
        border-radius: 5.271vw;
        font-size: 1.464vw;
    }

    .facility-floor__equipment-icon {
        right: 1.904vw;
        width: 1.903vw;
        height: 1.903vw;
    }

    .facility-page__section--data {
        margin-left: -1.464vw;
        margin-right: -1.464vw;
        padding: 5.125vw 1.464vw 5.125vw;
    }

    .facility-data__box {
        max-width: 82.577vw;
        padding: 3.66vw 5.564vw 4.539vw;
        border-radius: 3.514vw;
    }

    .facility-data__info {
        margin-bottom: 3.66vw;
    }

    .facility-data__row {
        margin-bottom: 1.757vw;
    }

    .facility-data__label {
        margin-bottom: 0.293vw;
        font-size: 1.318vw;
        line-height: 2.27vw;
    }

    .facility-data__value {
        font-size: 1.318vw;
        line-height: 2.27vw;
    }

    .facility-data__phone-label {
        width: 13.909vw;
    }

    .facility-data__phone {
        font-size: 1.611vw;
    }

    .facility-data__note {
        font-size: 1.171vw;
    }

    .facility-data__map {
        border-radius: 1.611vw;
    }

    .facility-data__map iframe {
        height: 32.94vw;
    }

    .facility-page__cta {
        margin-left: -1.464vw;
        margin-right: -1.464vw;
        padding: 5.125vw 1.464vw 5.125vw;
    }

    .facility-cta__box {
        max-width: 82.577vw;
        padding: 4.392vw 5.564vw 4.832vw;
        border-width: 0.366vw;
        border-radius: 3.514vw;
    }

    .facility-page__related-links {
        margin-left: -1.464vw;
        margin-right: -1.464vw;
        padding: 4.392vw 1.464vw 4.392vw;
    }

    .facility-links {
        gap: 0.805vw;
    }

    .facility-links__card {
        gap: 0.878vw;
        width: 17.277vw;
        height: 11.273vw;
        border-radius: 1.676vw;
    }

    .facility-links__icon {
        height: 3.221vw;
    }

    .facility-links__icon--fee {
        height: 5.226vw;
    }

    .facility-links__icon--fee img {
        width: 5.226vw;
        height: 5.226vw;
    }

    .facility-links__icon--coordinator {
        height: 5.908vw;
    }

    .facility-links__icon--coordinator img {
        width: 7.399vw;
        height: 5.908vw;
    }

    .facility-links__icon--tool {
        height: 5.594vw;
    }

    .facility-links__icon--tool img {
        width: 3.709vw;
        height: 5.594vw;
    }

    .facility-links__icon--faq {
        height: 4.916vw;
    }

    .facility-links__icon--faq img {
        width: 4.906vw;
        height: 4.916vw;
    }

    .facility-links__label {
        font-size: 1.171vw;
    }
}

/* 375px(Figmaスマホ実測値)基準：782pxまでvwで滑らかに拡大縮小する。
   602〜782pxはヘッダーがまだposition:fixedのまま（header.css参照）で、
   この幅ではヘッダー自体もvwで拡大するため、通常の隙間分(5.333vw)だけでは
   タイトルがヘッダーに隠れてしまう。ヘッダー実高さ(padding 3.6vw×2 + ロゴ5.333vw +
   border-bottom 1px = 12.533vw + 1px)を上乗せしたフルオフセットをここで確保する。
   600px以下でヘッダーがstickyに変わった時の分は下の@media(max-width:600px)で減らす */
@media (max-width: 782px) {
    .facility-page {
        padding: calc(17.866vw + 1px) 4.267vw 0;
    }

    .facility-page__section,
    .facility-floor__group {
        scroll-margin-top: calc(12.533vw + 1px);
    }

    .page-content:has(> .facility-page) + .site-footer-shell {
        margin-block-start: 6.4vw;
    }

    .facility-page + .back-to-top--page {
        margin-top: -21.867vw;
    }

    .facility-page__section--concept {
        margin-left: -4.267vw;
        margin-right: -4.267vw;
        padding: 8vw 5.333vw 10.667vw;
    }

    .facility-concept__box {
        max-width: 100%;
        padding: 9.6vw 5.333vw 13.067vw;
        border-radius: 4.267vw;
    }

    .facility-page__heading {
        gap: 4.267vw;
        margin-bottom: 5.333vw;
    }

    .facility-page__heading-icon {
        width: 9.704vw;
        height: 13.227vw;
    }

    .facility-page__heading-text {
        font-size: 8vw;
        letter-spacing: 0.512vw;
        line-height: 8vw;
    }

    .facility-page__tabs {
        gap: 2.4vw;
        margin-bottom: 8.8vw;
    }

    .facility-page__tab {
        width: 24vw;
        height: 5.867vw;
        padding: 0 2.667vw 0.8vw;
        border-radius: 0.708vw;
        font-size: 3.525vw;
    }

    .facility-page__section {
        max-width: 100%;
    }

    .facility-page__section--concept,
    .facility-page__section--floor,
    .facility-page__section--data,
    .facility-page__cta,
    .facility-page__related-links {
        max-width: none;
    }

    .facility-concept__heading {
        margin-bottom: 4.267vw;
    }

    .facility-data__box .facility-concept__heading {
        margin-bottom: 6.667vw;
    }

    .facility-concept__diagram-label {
        display: block;
        margin: 0 0 2.133vw;
        font-size: 5.804vw;
        letter-spacing: -0.076vw;
    }

    .facility-concept__diagram-label-kari {
        font-size: 3.807vw;
    }

    .facility-concept__heading-ja {
        margin-bottom: 3.2vw;
        font-size: 4.8vw;
        letter-spacing: 0.336vw;
        line-height: 6.453vw;
    }

    .facility-concept__heading-en {
        font-size: 13.333vw;
        letter-spacing: 1.067vw;
        word-spacing: -2.667vw;
        white-space: nowrap;
    }

    .facility-concept__intro {
        margin-bottom: 13.067vw;
        font-size: 5.333vw;
        line-height: 11.733vw;
    }

    .facility-concept__diagram {
        margin-top: 0;
        margin-bottom: 6.933vw;
    }

    .facility-concept__diagram img {
        width: 100%;
    }

    .facility-concept__catchphrase-image--pc {
        display: none;
    }

    .facility-concept__catchphrase-image--sp {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5.333vw;
        margin-bottom: 7.467vw;
    }

    .facility-concept__catchphrase-image--sp img:first-child {
        width: 73.6vw;
    }

    .facility-concept__catchphrase-image--sp img:last-child {
        width: 73.867vw;
    }

    .facility-concept__intro--pc {
        display: none;
    }

    .facility-concept__intro--sp {
        display: block;
        white-space: nowrap;
    }

    .facility-concept__intro {
        font-size: 4.267vw;
        line-height: 8.533vw;
    }

    .facility-concept__parties {
        gap: 7.467vw;
        margin-bottom: 16vw;
    }

    /* SP版は●込みの1本のテキストとして折り返す必要があるため、flexではなく
       padding-left+text-indentのぶら下げインデント方式にする。
       (flexのままだと折り返し位置が「カラム(子要素)の幅」基準になってしまい、
       ●の直後ではなく子要素の左端に戻ってしまう) */
    .facility-concept__party-heading {
        display: block;
        padding-left: 1.2em;
        text-indent: -1.2em;
        margin-bottom: 1.867vw;
        font-size: 5.333vw;
        line-height: 1.3;
    }

    .facility-concept__party-dot {
        display: none;
    }

    .facility-concept__party-heading::before {
        content: "●";
        margin-right: 0.3em;
        color: #17bae5;
    }

    .facility-concept__party--group .facility-concept__party-heading::before {
        color: #f7d12c;
    }

    .facility-concept__party--resident .facility-concept__party-heading::before {
        color: #fd7aae;
    }

    .facility-concept__party--city .facility-concept__party-heading::before {
        color: #00adae;
    }

    .facility-concept__party-sub {
        font-size: 4vw;
    }

    .facility-concept__party-text {
        font-size: 4vw;
        line-height: 7.2vw;
    }

    .facility-concept__summary-text {
        font-size: 4vw;
        line-height: 7.2vw;
    }

    .facility-concept__summary-text-break {
        display: none;
    }

    .facility-concept__party-text-break {
        display: none;
    }

    .facility-concept__summary {
        margin-top: 21.867vw;
        margin-bottom: 16vw;
        padding: 6.133vw 4vw 4.8vw 5.6vw;
        border-radius: 3.2vw;
    }

    .facility-concept__summary-arrow {
        top: -16.525vw;
        width: 29.362vw;
    }

    /* SP版は行頭の●がインラインテキストのため、party-headingと同じ
       ぶら下げインデント方式に変更する */
    .facility-concept__summary-heading {
        display: block;
        padding-left: 1.2em;
        text-indent: -1.2em;
        margin-bottom: 1.6vw;
        font-size: 5.333vw;
        line-height: 7.2vw;
        font-weight: 500;
    }

    .facility-concept__summary-dot {
        display: none;
    }

    .facility-concept__summary-heading::before {
        content: "●";
        color: #17bae5;
        margin-right: 0.3em;
    }

    .facility-concept__heading--sub {
        margin-bottom: 0;
    }

    .facility-cta__box .facility-concept__heading--sub {
        margin-bottom: 8vw;
    }

    .facility-concept__heading--spaces {
        margin-bottom: 5.333vw;
    }

    .facility-concept__heading-sub-text {
        margin-bottom: 4.267vw;
        font-size: 5.6vw;
        letter-spacing: 0.224vw;
    }

    /* CTA見出しは他のサブ見出しと違いletter-spacingが無い */
    .facility-cta__box .facility-concept__heading-sub-text {
        letter-spacing: 0;
        white-space: nowrap;
    }

    .facility-concept__heading-accent span {
        width: 7.111vw;
        height: 1.067vw;
    }

    .facility-concept__circles {
        margin-top: 0;
        margin-bottom: 11.2vw;
    }

    .facility-concept__circles img {
        width: 100%;
    }

    .facility-concept__catchphrase-wrap {
        margin-bottom: 4.267vw;
    }

    .facility-concept__catchphrase-marker {
        bottom: -3px;
    }

    .facility-concept__catchphrase {
        width: 86.933vw;
    }

    .facility-concept__spaces {
        gap: 8vw;
    }

    .facility-concept__space-title {
        gap: 1.867vw;
        margin-top: 5.333vw;
        margin-bottom: 0.8vw;
        white-space: nowrap;
        line-height: 9.6vw;
    }

    .facility-concept__space-title-main {
        font-size: 6.4vw;
    }

    .facility-concept__space-title-kari {
        font-size: 4.8vw;
    }

    .facility-concept__space-title-sub {
        font-size: 4.8vw;
        font-weight: 600;
    }

    /* SP版は見出し用ストライプと違い、6色+3色の計9セグメント構成になる
       (PC版は6色×4セット+3色の27セグメントを使い回しているため、
       10番目以降を非表示にして先頭9個だけ見せる) */
    .facility-concept__space-stripe {
        height: 0.533vw;
        margin-bottom: 4.533vw;
    }

    .facility-concept__space-stripe span {
        width: 8.978vw;
    }

    .facility-concept__space-stripe span:nth-child(n+10) {
        display: none;
    }

    .facility-concept__space-highlight {
        padding: 5.333vw;
        border-radius: 3.2vw;
    }

    .facility-concept__space-highlight .facility-concept__space-name {
        margin-bottom: 2.133vw;
    }

    .facility-concept__space-name {
        gap: 2.133vw;
        margin-bottom: 2.133vw;
        font-size: 5.333vw;
    }

    .facility-concept__space-name::before {
        content: "●";
        color: #17bae5;
    }

    .facility-concept__space-text {
        font-size: 4vw;
        line-height: 7.2vw;
    }

    .facility-concept__space-text-line {
        padding-left: 1em;
        text-indent: -1em;
    }

    .facility-page__section--floor {
        margin-left: -4.267vw;
        margin-right: -4.267vw;
        padding: 10.667vw 5.333vw 10.667vw;
    }

    .facility-floor__box {
        max-width: 100%;
        padding: 8.8vw 5.333vw 12.533vw;
        border-width: 0.8vw;
        border-radius: 4.267vw;
        overflow-x: hidden;
    }

    .facility-floor__box .facility-concept__heading {
        margin-bottom: 11.2vw;
    }

    .facility-floor__box .facility-concept__heading-en {
        letter-spacing: 0.747vw;
    }

    /* SP版はデザインが異なり、3階分のボタン+部屋リストをまとめて縦積み表示した後、
       3階分のフロアマップ(ラベル+画像)をまとめて表示する構成になる。
       アンカーリンクによる横並びタブ切り替えのPC/タブレット版とはレイアウトが異なる */
    .facility-floor__map[data-floor-panel="1f"] img {
        width: 161.6vw;
        max-width: none;
        margin-top: 14.133vw;
    }

    .facility-floor__map[data-floor-panel="2f"] img {
        width: 194.4vw;
        max-width: none;
        margin-top: 11.133vw;
    }

    .facility-floor__map[data-floor-panel="6f"] img {
        width: 73.333vw;
        margin-top: 14.133vw;
        margin-left: 0;
    }

    .facility-floor__nav {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 9.333vw;
        margin-bottom: 12.533vw;
    }

    .facility-floor__nav-item {
        width: auto;
        align-items: center;
    }

    .facility-floor__nav-link {
        width: 61.867vw;
        height: 13.6vw;
        margin-bottom: 0.933vw;
        padding: 0 12.8vw 0 4.267vw;
        border-radius: 2.179vw;
        font-size: 5.333vw;
    }

    .facility-floor__nav-icon {
        right: 3.2vw;
        width: 5.333vw;
        height: 5.333vw;
    }

    .facility-floor__group {
        margin-bottom: 12vw;
    }

    #floor-6f.facility-floor__group {
        margin-bottom: 10.667vw;
    }

    /* SP版は画像の上に横幅いっぱいで重ねる帯になる(PC版は画像の上の小さいpillバッジ) */
    .facility-floor__label {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: auto;
        margin: 0;
        padding: 0;
        height: 8.8vw;
        line-height: 8.8vw;
        border-radius: 1.067vw;
        letter-spacing: 0.533vw;
        font-size: 5.333vw;
        text-align: center;
        z-index: 1;
    }

    /* ulの左端をボタンの左端(タグのスタートライン)に揃える */
    .facility-floor__rooms {
        width: 61.867vw;
        gap: 0.533vw;
        margin-bottom: 0;
        font-size: 4.8vw;
        line-height: 9.067vw;
    }

    .facility-floor__room-dot {
        width: auto;
        height: auto;
        border-radius: 0;
        background: none;
        font-size: 4.8vw;
        line-height: inherit;
    }

    /* ラベルとスクロールヒントは.facility-floor__map(非スクロール)側に置き、
       画像だけを内側の.facility-floor__map-scrollでスクロールさせることで、
       横スクロールしてもラベル/バッジの位置が動かないようにする */
    /* facility-floor__boxのpaddingで見切れないよう、box端(枠)までスクロール領域を
       広げる(paddingと同じ幅の負のmarginではみ出し、同じ幅のpaddingで開始位置を戻す) */
    .facility-floor__map-scroll {
        max-width: none;
        margin-left: -5.333vw;
        margin-right: -5.333vw;
        padding-left: 5.333vw;
        padding-right: 5.333vw;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .facility-floor__map[data-floor-panel="1f"] .facility-floor__map-scroll,
    .facility-floor__map[data-floor-panel="2f"] .facility-floor__map-scroll {
        text-align: left;
    }

    /* SP版は右寄せではなく中央寄せになる */
    .facility-floor__cta {
        justify-content: center;
        margin-top: 14.133vw;
    }

    .facility-floor__equipment-button {
        width: 61.867vw;
        padding: 0 8vw;
        height: 13.6vw;
        border-radius: 14.979vw;
        font-size: 4.056vw;
    }

    .facility-floor__equipment-icon {
        right: 3.2vw;
        width: 5.409vw;
        height: 5.409vw;
    }

    .facility-page__section--data {
        margin-left: -4.267vw;
        margin-right: -4.267vw;
        padding: 10.667vw 5.333vw 10.667vw;
    }

    .facility-data__box {
        max-width: 100%;
        padding: 10.667vw 5.333vw 9.333vw;
        border-radius: 4.267vw;
    }

    .facility-data__info {
        margin-bottom: 8vw;
    }

    .facility-data__row {
        margin-bottom: 6.667vw;
    }

    .facility-data__label {
        margin-bottom: 0;
        font-size: 4.267vw;
        line-height: 6.667vw;
    }

    .facility-data__value {
        font-size: 4vw;
        line-height: 6.667vw;
    }

    .facility-data__value--pc {
        display: none;
    }

    .facility-data__value--sp {
        display: block;
    }

    .facility-data__value-break {
        display: none;
    }

    .facility-data__phone-label {
        display: inline;
        width: auto;
    }

    /* SP版のTELは日付+電話番号が別行になるため、日付部分の幅を揃えて
       電話番号の開始位置を統一する(PC版のcolumn揃えと同じ考え方) */
    .facility-data__value--sp .facility-data__phone-label {
        display: inline-block;
        width: 42.133vw;
    }

    .facility-data__phone {
        font-size: 5.067vw;
    }

    .facility-data__note {
        font-size: 3.467vw;
    }

    .facility-data__note--access {
        line-height: 6.4vw;
    }

    .facility-data__map {
        border-radius: 4.267vw;
    }

    .facility-data__map iframe {
        height: 51.2vw;
    }

    .facility-page__cta {
        margin-left: -4.267vw;
        margin-right: -4.267vw;
        padding: 10.667vw 5.333vw 10.667vw;
    }

    .facility-cta__box {
        max-width: 100%;
        padding: 10.667vw 5.333vw 12vw;
        border-width: 0.8vw;
        border-radius: 4.267vw;
    }

    .facility-page__related-links {
        margin-left: -4.267vw;
        margin-right: -4.267vw;
        padding: 10.667vw 5.333vw 10.667vw;
    }

    .facility-links {
        gap: 2.933vw;
    }

    .facility-links__card {
        gap: 3.2vw;
        width: 62.933vw;
        height: 41.067vw;
        border-radius: 6.103vw;
    }

    .facility-links__icon {
        height: 11.733vw;
    }

    .facility-links__icon--fee {
        height: 19.032vw;
    }

    .facility-links__icon--fee img {
        width: 19.032vw;
        height: 19.032vw;
    }

    .facility-links__icon--coordinator {
        height: 21.515vw;
    }

    .facility-links__icon--coordinator img {
        width: 26.952vw;
        height: 21.515vw;
    }

    .facility-links__icon--tool {
        height: 20.376vw;
    }

    .facility-links__icon--tool img {
        width: 13.509vw;
        height: 20.376vw;
    }

    .facility-links__icon--faq {
        height: 17.907vw;
    }

    .facility-links__icon--faq img {
        width: 17.869vw;
        height: 17.907vw;
    }

    .facility-links__label {
        font-size: 4.267vw;
    }
}

/* 600px以下：header.css側でヘッダーがposition:stickyに切り替わり、通常フロー上の
   高さ(51px)を持つようになるため、アンカースクロール時にscroll-margin-topで
   別途確保していた固定ヘッダー分の隙間は不要になる（そのまま残すと二重に
   オフセットされ、スクロール先が本来の位置より下にずれてしまう） */
@media (max-width: 600px) {
    .facility-page {
        padding-top: 5.333vw;
    }

    .facility-page__section,
    .facility-floor__group {
        scroll-margin-top: 0;
    }
}
