/* ========================================
   Placd Page（PC版）
======================================== */

.place-page-header {
    width: 100%;
    padding: 2.73vw 2.42vw;
    z-index: 2;
    position: relative;
}

@media (max-width: 767px) {
    .place-page-header {
        padding: 4.27vw;
    }
}

.place-page-logo img {
    width: 16.48vw;
    height: auto;
    display: block;
}

.place-page {
    margin-top: -8vw;
    position: relative;
    z-index: 1;
}

.place-page-logo .place-logo-white {
    display: none;
}

.place-page-logo .place-logo-black {
    display: block;
}

/* =============================================================
   place.css — タワーのアワー（Place）固定ページ PC版
   基準幅: 1280px / vw単位
   ============================================================= */

/* ─────────────────────────────────────────
   0. ヘッダーカラーオーバーライド（黒ロゴ）
───────────────────────────────────────── */
/* WordPress が自動付与するテンプレートクラス: page-template-page-place-php */

/* ハンバーガー線を黒に */
.page-template-page-place-php .nav-hamburger span {
    background-color: #333333;
}

/* ─────────────────────────────────────────
   1. 右サイドナビゲーション
───────────────────────────────────────── */
.place-sidenav {
    position: fixed;
    right: 2.34vw;
    /* 30px */
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.25vw;
    /* 16px */
    pointer-events: auto;
    z-index: 200;
}

.place-sidenav-item {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 1vw;
    /* 11.2px ≈ 13px @ 1280 */
    font-weight: 500;
    color: #333333;
    text-decoration: none;
    letter-spacing: 0.02em;
    transition: color 0.2s;
    white-space: nowrap;
}

.place-sidenav-item:hover {
    color: #FF913C;
}

.place-sidenav-item.is-active {
    color: #FF913C;
}

/* ─────────────────────────────────────────
   2. KV セクション
───────────────────────────────────────── */
.place-kv {
    position: relative;
    width: 100%;
    height: 81.5vw;
    /* 1050px */
    background-color: #F3D5D3;
    overflow: hidden;
	margin-bottom: -2px;
}

/* 写真4枚 */
.place-kv-photo {
    position: absolute;
    object-fit: cover;
}

/* 左上（小） */
.place-kv-photo--tl {
    width: 23.44vw;
    /* 300px */
    height: 15.63vw;
    /* 200px */
    left: 3.67vw;
    /* 47px  */
    top: 14.53vw;
    /* 186px */
}

/* 右上（中） */
.place-kv-photo--tr {
    width: 32.81vw;
    /* 420px */
    height: 21.88vw;
    /* 280px */
    left: 54.77vw;
    /* 701px */
    top: 3.21vw;
    /* 41px  */
}

/* 左下（中） */
.place-kv-photo--bl {
    width: 32.81vw;
    /* 420px */
    height: 21.88vw;
    /* 280px */
    left: 11.07vw;
    /* 142px */
    top: 41.02vw;
    /* 525px */
}

/* 右下（大） */
.place-kv-photo--br {
    width: 42.19vw;
    /* 540px */
    height: 28.13vw;
    /* 360px */
    left: 50.55vw;
    /* 647px */
    top: 53.20vw;
    /* 681px */
}

/* タイトルラップ */
.place-kv-title-wrap {
    position: absolute;
    left: 31.25vw;
    /* 400px */
    top: 24.53vw;
    /* 314px */
    display: flex;
    flex-direction: column;
    gap: 0;
    z-index: 100;
}

.place-kv-title-img {
    display: block;
    width: 37.5vw;
    /* 480px / 1280 — 実際の画像サイズに合わせて調整 */
    height: auto;
}

/* ─── ピンク装飾ブロブ ─── */
.place-kv-blob {
    position: absolute;
    border-radius: 50%;
    background-color: #F3D5D3;
    opacity: 0.4;
    mix-blend-mode: multiply;
    pointer-events: none;
}

.place-kv-blob--lt {
    width: 12.49vw;
    /* 160px */
    height: 16.70vw;
    /* 214px */
    left: 26.58vw;
    /* 340px */
    top: 4.28vw;
    /* 55px  */
}

.place-kv-blob--rb {
    /* 右下のブロブ（ファルネル形状を近似する楕円） */
    width: 8.59vw;
    /* 110px */
    height: 14.84vw;
    /* 190px */
    right: 0;
    bottom: 12vw;
    border-radius: 50% 40% 60% 50%;
    opacity: 0.3;
}

/* ----- KV 装飾SVG ----- */
.place-kv-deco {
    position: absolute;
    height: auto;
    pointer-events: none;
    mix-blend-mode: multiply;
}

.place-kv-deco--tl {
    width: 12.5vw;
    /* 160 / 1280 */
    left: 26.56vw;
    /* 340 / 1280 */
    top: 3.09vw;
    /* 39.6 / 1280 */
}

.place-kv-deco--rt {
    width: 14.06vw;
    /* 180 / 1280 */
    left: 69.61vw;
    /* 891 / 1280 */
    top: 30.23vw;
    /* 387 / 1280 */
}

.place-kv-deco--bc {
    width: 12.5vw;
    /* 160 / 1280 */
    left: 3.59vw;
    /* 46 / 1280 */
    top: 64.45vw;
    /* 825 / 1280 */
}

/* ─────────────────────────────────────────
   3. 共通セクション見出し
───────────────────────────────────────── */
.place-section-heading {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 6.25vw;
    /* 80px / 1280 */
    color: #333333;
    word-wrap: break-word;
    line-height: 1;
    margin: 0 0 4.1vw;
    /* 30px / 1280 */
}

.place-news .place-section-heading {
    margin: 0;
}

/* 白背景セクション用（Co-creation, Partners）*/
.place-section-heading-white {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 6.25vw;
    color: #333333;
    line-height: 1;
    margin: 0 0 3.13vw;
}

/* ─────────────────────────────────────────
   4. About Us セクション
───────────────────────────────────────── */
.place-about {
    background-color: #F3D5D3;
    padding: 0vw 2.34vw 5.47vw 2.34vw;
    position: relative;
}

.place-about-body {
    padding-left: 20.03vw;
    /* 256.36px / 1280 */
}

.place-about-body p {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-weight: bold;
    font-size: 1.72vw;
    /* 22px / 1280 */
    color: #333333;
    line-height: 1.6;
    margin: 0 0 3.6vw;
}

.place-about-body p:last-child {
    margin-bottom: 0;
}

/* ─────────────────────────────────────────
   5. News セクション
───────────────────────────────────────── */
.place-news {
    background-color: #ffffff;
    padding: 12.5vw 2.34vw;
}

.place-news-header {
    display: flex;
    align-items: end;
    gap: 2.34vw;
    margin-bottom: 5vw;
}
.place-news-list {
    width: 86vw;
    display: flex;
    flex-direction: column;
    border-top: 1px solid #999999;
    border-bottom: 1px solid #999999;
    margin-left: 3.91vw;
}

.place-news-card+.place-news-card {
    border-top: 1px solid #999999;
}

.place-news-more {
    display: inline-flex;
    align-items: center;
    gap: 0.55vw;
    font-size: 1.41vw;
    /* 18px / 1280 */
    font-weight: 400;
    color: #333333;
    font-family: 'Inter', sans-serif;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    margin-bottom: 0.5vw;
    text-decoration-color: #333333;
}

/* 矢印アイコン（二重四角） */
.place-news-more-icon {
    width: 1.08vw;
    /* 13.80px / 1280 */
    height: 1.08vw;
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

.place-news-more-icon::after {
    content: '';
    position: absolute;
    width: 0.54vw;
    /* 6.90px / 1280 */
    height: 0.54vw;
    border: 1px solid #333333;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.place-news-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 5vw 0;
}

.place-news-card-link:hover .place-news-card-title {
    text-decoration: underline;
}

.place-news-card-body {
    display: grid;
    grid-template-columns: 14.06vw 1fr;
    /* 180px / 1280 */
    gap: 1.56vw;
}

.place-news-card-left {
    display: flex;
    flex-direction: column;
    gap: 1.3vw;
}

.place-news-card-date {
    font-family: 'Inter', sans-serif;
    font-size: 1.56vw;
    /* 20px */
    font-weight: 500;
    color: #8AB0A5;
    display: block;
}

.place-news-card-category {
    font-family: 'Inter', sans-serif;
    font-size: 1.17vw;
    /* 15px */
    font-weight: 500;
    color: #999999;
}

.place-news-card-right {
    display: flex;
    flex-direction: column;
    gap: 0.78vw;
}

.place-news-card-title {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.56vw;
    /* 20px */
    font-weight: 700;
    color: #333333;
    margin: 0;
    line-height: 1.4;
}

.place-news-card-text {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.17vw;
    /* 15px */
    font-weight: 400;
    color: #333333;
    line-height: 1.7;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8;
    overflow: hidden;
}

.place-news-empty {
    font-family: 'Inter', sans-serif;
    font-size: 1.09vw;
    color: #333333;
}

/* ─────────────────────────────────────────
   6. Floor Map セクション
───────────────────────────────────────── */
.place-floormap {
    background-color: #F3D5D3;
    padding: 12.9vw 2.34vw;
}

.place-floormap-body {
    display: flex;
    align-items: flex-start;
}

/* ラベル列（左）*/
.place-floormap-labels {
    flex-shrink: 0;
    width: 41.49vw;
    /* 531px / 1280 */
    padding-left: 10.07vw;
    padding-top: 7.5vw;
    /* 128.84px / 1280 */
    display: flex;
    flex-direction: column;
    gap: 0;
}

.place-floormap-label {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 5.2vw;
    /* 約135px / 1280 */
}

.place-floormap-label:last-child {
    margin-bottom: 0;
}

.place-floormap-badge {
    display: inline-block;
    width: 8.30vw;
    /* 106.20px / 1280 */
    height: 2.55vw;
    /* 32.60px / 1280 */
    font-family: 'Inter', sans-serif;
    font-size: 1.46vw;
    /* 18.63px / 1280 */
    font-weight: 700;
    color: #000000;
    line-height: 2.65vw;
    text-align: center;
    border-radius: 0.8vw;
}

.place-floormap-label-text {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.56vw;
    /* 20px / 1280 */
    font-weight: 700;
    color: #000000;
    margin: 0.94vw 0 0;
    line-height: 1.4;
}

/* フロアマップ画像（右）*/
.place-floormap-image {
    flex: 1;
}

.place-floormap-image img {
    width: 36.95vw;
    height: auto;
    display: block;
}

/* ─────────────────────────────────────────
   7. Facility セクション
───────────────────────────────────────── */
.place-facility {
    background-color: #F3D5D3;
    padding: 5.47vw 2.34vw 0;
}

/* 3カラムグリッド */
.place-facility-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1vw;
    /* 30px */
}

.place-facility-card-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 420 / 280;
}

.place-facility-card-body {
    padding-top: 1.56vw;
    /* 20px */
    display: flex;
    flex-direction: column;
    gap: 0.94vw;
    /* 12px */
}

.place-facility-badge {
    display: inline-block;
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.02vw;
    font-weight: 700;
    color: #333333;
    padding: 0.39vw 1vw;
    line-height: 1;
    width: 6.48vw;
    /* 83px / 1280 */
    text-align: center;
    border-radius: 0.8vw;
}

.place-facility-text {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.25vw;
    font-weight: 400;
    color: #333333;
    line-height: 1.7;
    margin: 0;
}

.place-facility-note {
    font-family: 'Inter', sans-serif;
    font-size: 1.02vw;
    /* 13px */
    font-weight: 400;
    color: #333333;
    margin: 0;
}

/* ─────────────────────────────────────────
   8. Access / Hours セクション
───────────────────────────────────────── */
.place-access {
    background-color: #F3D5D3;
    padding: 13.5vw 2.34vw 0;
}

.place-access-body {
    display: flex;
    flex-direction: column;
    gap: 3.13vw;
    /* 40px */
}

/* 上段：住所 + 動画 */
.place-access-top {
    display: flex;
    gap: 3.13vw;
    align-items: flex-start;
}

.place-access-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4.7vw;
    margin-left: 9vw;
}

.place-access-address p {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.88vw;
    /* 24px / 1280 */
    font-weight: 700;
    color: #333333;
    margin: 0;
    line-height: 1.6;
    word-wrap: break-word;
}

.place-access-hours-table {
    display: flex;
    flex-direction: column;
    margin: 0;
}

.place-access-hours-table dt {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.25vw;
    font-weight: 400;
    color: #333333;
}

.place-access-hours-table dd {
    margin: 0;
}

.place-access-hours-table dd p {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.25vw;
    /* 16px / 1280 */
    font-weight: 400;
    color: #333333;
    margin: 0;
    line-height: 1.7;
    word-wrap: break-word;
}

.place-access-hours-note {
    font-size: 1.02vw !important;
    /* 13px */
}

/* 右：YouTube動画 */
.place-access-video {
    width: 67.5vw;
        /* 864px / 1280 */
    flex: 1;
    aspect-ratio: 9 / 16;
    /* 縦動画 */
}

.place-access-video iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* 下段：Google Map */
.place-access-map {
    width: 100vw;
    margin-left: -2.34vw;
    height: 50vw;
}

.place-access-map iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

.place-video-cover {
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
    overflow: hidden;
}

.place-video-cover img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* 再生ボタン */
.place-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, .7);
    cursor: pointer;
}

.place-video-play::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-35%, -50%);
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 18px solid #fff;
}

/* ─────────────────────────────────────────
   9. Co-Creation セクション
───────────────────────────────────────── */
.place-cocreation {
    background-color: #ffffff;
    padding: 12.2vw 2.34vw 0;
}

.place-cocreation-header {
    display: flex;
    align-items: flex-start;
    gap: 11.4vw;
    margin-bottom: 9.2vw;
}

.place-cocreation-header-left {
    flex-shrink: 0;
}

.place-cocreation-ja {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-weight: bold;
    font-size: 4.88vw;
    /* 62.5px / 1280 */
    color: #333333;
    margin: 0;
    line-height: 1;
}

.place-cocreation-lead {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.25vw;
    /* 16px / 1280 */
    font-weight: 400;
    color: #333333;
    line-height: 1.7;
    margin: 0;
    letter-spacing: -0.05em;
}

/* 2カラムグリッド */
.place-cocreation-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1vw;
}

.place-cocreation-card-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 600 / 400;
}

.place-cocreation-card-body {
    padding-top: 3.2vw;
    display: flex;
    flex-direction: column;
    gap: 2.3vw;
}

.place-cocreation-card-title {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.56vw;
    /* 20px / 1280 */
    font-weight: 700;
    color: #333333;
    margin: 0;
}

.place-cocreation-card-text {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.25vw;
    /* 16px / 1280 */
    font-weight: 400;
    color: #333333;
    line-height: 1.7;
    margin: 0;
    letter-spacing: -0.05em;
}

.place-cocreation-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: 3vw;
    width: 22.30vw;
    height: 6.55vw;
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 2.02vw;
    font-weight: 400;
    color: #ffffff;
    text-decoration: none;
    transition: opacity 0.2s;
    align-self: center;
}

.place-cocreation-btn:hover {
    opacity: 0.85;
}

.place-cocreation-btn--pink {
    background-color: #F3D5D3;
}

.place-cocreation-btn--green {
    background-color: #8AB0A5;
}

/* ─────────────────────────────────────────
   10. Partners セクション
───────────────────────────────────────── */
.place-partners {
    background-color: #ffffff;
    padding: 13vw 2.34vw;
}

.place-partners-logos {
    margin-top: 2.34vw;
}

.place-partners-img {
    max-width: 100%;
    height: auto;
    display: block;
}

.place-partners-img--sp {
    display: none;
}

/* ===========================================
   place.css SP追加分
   Figma基準: 375px
   ※ place.css の末尾に追記してください
=========================================== */

@media (max-width: 767px) {

    /* SP: ハンバーガー線を白に */
    .page-template-page-place-news-php .hamburger_menu--dark span {
            background-color: #ffffff;
        }

    /* SP: ロゴ白表示・黒非表示 */
    .place-page-logo .place-logo-white {
        display: block;
    }

    .place-page-logo .place-logo-black {
        display: none;
    }

    /* ─────────────────────────────────────────
     place-page
  ───────────────────────────────────────── */
    .place-page {
        margin-top: -14vw;
    }

    /* ─────────────────────────────────────────
     place-page-logo
  ───────────────────────────────────────── */
    .place-page-logo img {
        width: 29.33vw;
        /* 155px / 375 */
    }

    /* ─────────────────────────────────────────
     1. サイドナビゲーション：SP非表示
  ───────────────────────────────────────── */
    .place-sidenav {
        display: none;
    }

    /* ─────────────────────────────────────────
     2. KV セクション
  ───────────────────────────────────────── */
    .place-kv {
        height: 160vw;
        /* 600px / 375 */
    }

    /* 写真4枚 */
    .place-kv-photo--tr {
        width: 48vw;
        /* 180px / 375 */
        height: 32vw;
        /* 120px / 375 */
        left: 55.52vw;
        /* 208.20px */
        top: -3.8vw;
        /* -14.24px */
    }

    .place-kv-photo--tl {
        width: 32vw;
        /* 120px */
        height: 21.33vw;
        /* 80px */
        left: 6.18vw;
        /* 23.18px */
        top: 30.82vw;
        /* 115.56px */
    }

    .place-kv-photo--bl {
        width: 32vw;
        /* 120px */
        height: 21.33vw;
        /* 80px */
        left: -8vw;
        /* -30px */
        top: 111.1vw;
        /* 416.62px */
    }

    .place-kv-photo--br {
        width: 64vw;
        /* 240px */
        height: 42.67vw;
        /* 160px */
        left: 40.27vw;
        /* 151px */
        top: 110.25vw;
        /* 413.43px */
    }

    /* タイトル */
    .place-kv-title-wrap {
        left: 11.42vw;
        /* 42.83px */
        top: 70.31vw;
        /* 263.66px */
    }

    .place-kv-title-img {
        width: 75.61vw;
        /* 283.54px */
    }

    /* 装飾SVG */
    .place-kv-deco--tl {
        width: 15.47vw;
        left: 26.93vw;
        top: 3.73vw;
    }

    .place-kv-deco--rt {
        width: 19.20vw;
        left: 71.47vw;
        top: 41.33vw;
    }

    .place-kv-deco--bc {
        width: 12.27vw;
        left: 12.00vw;
        top: 145.33vw;
    }

    /* ─────────────────────────────────────────
     3. 共通セクション見出し
  ───────────────────────────────────────── */
    .place-section-heading {
        font-size: 16vw;
        /* 60px / 375 */
        margin-bottom: 8vw;
    }

    .place-news .place-section-heading {
        margin: 0;
    }

    /* ─────────────────────────────────────────
     4. About Us
  ───────────────────────────────────────── */
    .place-about {
        padding: 15vw 3.73vw 14.67vw;
    }

    .place-about-body {
        padding-left: 0;
    }

    .place-about-body p {
        font-size: 4.27vw;
        /* 16px */
        letter-spacing: -0.05em;
        margin: 0 0 8vw;
    }

    @media (max-width: 767px) {
        .place-about-body br {
            display: none;
        }
    }

    /* ─────────────────────────────────────────
     5. News
  ───────────────────────────────────────── */
    .place-news {
        padding: 20vw 3.5vw;
    }

    .place-news-header {
        justify-content: flex-start;
        align-items: flex-end;
        gap: 4vw;
        margin-bottom: 13vw;
    }

    .place-news-more {
        font-size: 4.8vw;
        /* 18px / 375 */
        margin-bottom: 1.5vw;
        gap: 1vw;
    }

    .place-news-more-icon {
        width: 3.68vw;
        /* 13.80px / 375 */
        height: 3.68vw;
    }

    .place-news-list {
        width: auto;
        display: flex;
        flex-direction: column;
        border-top: 1px solid #999999;
        border-bottom: 1px solid #999999;
        margin-left: 0;
    }

    .place-news-card-link {
        padding: 10vw 0;
    }

    /* SP: 日付（左）+ カテゴリ（右）行、その下にタイトル→本文 */
    .place-news-card-body {
        grid-template-columns: 1fr;
        gap: 5.6vw;
    }

    .place-news-card-left {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .place-news-card-date {
        font-size: 5.33vw;
        /* 20px */
    }

    .place-news-card-category {
        font-size: 4vw;
        /* 15px */
    }

    .place-news-card-title {
        font-size: 5.33vw;
        /* 20px */
    }

    .place-news-card-text {
        font-size: 4.27vw;
        /* 16px */
        -webkit-line-clamp: 14;
        line-height: 1.2;
    }

    .place-news-card-right {
        gap: 5.6vw;
    }

    /* ─────────────────────────────────────────
     6. Floor Map
  ───────────────────────────────────────── */
    .place-floormap {
        padding: 20vw 3.73vw 0;
    }

    .place-floormap-body {
        flex-direction: column;
        gap: 8vw;
    }

    /* SP: マップ画像→ラベルの順 */
    .place-floormap-image {
        order: 1;
    }

    .place-floormap-image img {
        width: 100%;
    }

    .place-floormap-labels {
        order: 2;
        width: 100%;
        padding-left: 0;
        padding-top: 0;
    }

    .place-floormap-label {
        margin-bottom: 9vw;
        align-items: center;
    }

    .place-floormap-badge {
        width: 25.33vw;
        height: 7.73vw;
        padding: 0.5vw 0;
        font-size: 4.43vw;
        /* 16.61px */
        line-height: 7.73vw;
        border-radius: 3vw;
    }

    .place-floormap-label-text {
        font-size: 4.27vw;
        /* 16px */
        margin-top: 3vw;
    }

    /* ─────────────────────────────────────────
     7. Facility
  ───────────────────────────────────────── */
    .place-facility {
        padding: 20vw 4vw 0;
    }

    .place-facility-grid {
        grid-template-columns: 1fr;
        gap: 10.67vw;
    }

    .place-facility-card-body {
        padding-top: 9.3vw;
        gap: 4vw;
    }

    .place-facility-badge {
        font-size: 2.88vw;
        width: 18vw;
        padding: 1vw 0;
    }

    .place-facility-text {
        font-size: 4.27vw;
        /* 16px */
    }

    .place-facility-note {
        font-size: 3.47vw;
        /* 13px */
    }

    /* ─────────────────────────────────────────
     8. Access / Hours
  ───────────────────────────────────────── */
    .place-access {
        padding: 20vw 0 0;
    }

    .place-access .place-section-heading {
        padding: 0 4vw;
    }

    .place-access-body {
        gap: 8vw;
    }

    .place-access-top {
        flex-direction: column;
        gap: 8vw;
        padding: 0 4vw;
    }

    .place-access-info {
        margin-left: 0;
        gap: 5.33vw;
        text-align: center;
    }

    .place-access-address p {
        font-size: 4.53vw;
        /* 17px */
    }

    .place-access-hours-table dt {
        font-size: 4.27vw;
    }

    .place-access-hours-table dd p {
        font-size: 4.27vw;
    }

    .place-access-hours-note {
        font-size: 3.47vw !important;
    }

    .place-access-video {
        width: 100%;
        aspect-ratio: 9 / 16;
    }

    /* Map: 345px × 613px → Figma実寸に合わせる */
    .place-access-map {
        margin-top: 0;
        width: 92vw;
        /* 345px / 375 */
        margin-left: 4vw;
        /* 15px / 375 */
        height: 140vw;
        /* 613px / 375 */
    }

    /* ─────────────────────────────────────────
     9. Co-Creation
  ───────────────────────────────────────── */
    .place-cocreation {
        padding: 20vw 4vw 0;
    }

    .place-cocreation-header {
        flex-direction: column;
        gap: 6.5vw;
        margin-bottom: 8vw;
    }

    .place-cocreation .place-section-heading {
        font-size: 15.5vw;
        margin-bottom: 8vw;
    }

    .place-cocreation-ja {
        font-size: 10.67vw;
        /* 40px */
    }

    .place-cocreation-lead {
        font-size: 4.27vw;
        letter-spacing: 0;
    }

    .place-cocreation-grid {
        grid-template-columns: 1fr;
        gap: 10.67vw;
    }

    .place-cocreation-card-body {
        padding-top: 5.33vw;
        gap: 4vw;
    }

    .place-cocreation-card-title {
        font-size: 5.33vw;
        /* 20px */
    }

    .place-cocreation-card-text {
        font-size: 4.27vw;
        /* 16px */
        letter-spacing: 0;
    }

    /* ボタン：324.33px × 52px */
    .place-cocreation-btn {
        width: 86.49vw;
        /* 324.33px / 375 */
        height: 13.87vw;
        /* 52px / 375 */
        font-size: 4.27vw;
        margin-top: 5.33vw;
        text-align: center;
    }

    /* ─────────────────────────────────────────
     10. Partners
  ───────────────────────────────────────── */
    .place-partners {
        padding: 20vw 4vw;
    }

    .place-partners-img--pc {
        display: none;
    }

    .place-partners-img--sp {
        display: block;
        width: 100%;
    }

}