/* ============================================================
   撮影ロケーション・フロアマップ 専用スタイル（2026-09-30 追加）

   【置き場所を変えないこと】public/ 直下（grandprix.css と同じ理由）
   【変更したらバージョンを上げること】参照側の location.css?v= を上げる
   共通スタイル（style.css）には足さない。トップの表示に影響を出さないため。

   方針：ウォームホワイト地に写真を並べる。写真が主役なので装飾は足さない。
   赤は番号・選択中のタブ・ボタンだけ。影は付けない（既存LPの方針）。
   ============================================================ */

.br-pc{display:none}
@media (min-width:768px){ .br-pc{display:inline} }

/* ---- パンくず ---- */
.lc-crumb{background:var(--warm);border-bottom:1px solid var(--hair)}
.lc-crumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .5rem;
  padding:.5rem 0;margin:0;list-style:none;font-size:12px;font-weight:700;color:var(--muted)}
.lc-crumb a,.lc-crumb [aria-current="page"]{display:inline-flex;align-items:center;min-height:44px}
.lc-crumb a{color:var(--muted);text-decoration:none}
.lc-crumb a:hover{color:var(--red);text-decoration:underline}
.lc-crumb li+li::before{content:"／";margin-right:.5rem;color:var(--hair)}
.lc-crumb [aria-current="page"]{color:var(--ink)}

/* ---- 本体・見出し ---- */
.lc-main{background:var(--warm);padding:var(--sp-5) 0 var(--sp-6)}
.lc-head .en{font-family:var(--en);font-size:13px;letter-spacing:.22em;color:var(--red);line-height:1}
.lc-head h1{margin-top:.6rem;font-size:clamp(26px,7vw,40px);font-weight:900;line-height:1.3;color:var(--ink)}
.lc-head .lead{margin-top:var(--sp-2);font-size:clamp(14px,3.8vw,16px);line-height:1.9;color:var(--ink)}
.lc-head .lead b{font-weight:900}

/* 目次。PCは横並び、SPは3つを同じ幅で並べる */
.lc-jump{margin:var(--sp-3) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:2px solid var(--rule);border-bottom:1px solid var(--hair)}
.lc-jump li+li{border-left:1px solid var(--hair)}
.lc-jump a{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-height:56px;
  padding:.7rem .45rem;text-decoration:none;color:var(--ink);font-size:clamp(11.5px,3.1vw,14px);font-weight:900;line-height:1.35;
  white-space:nowrap}
/* ★ 「プラザ平成ゾーン」（8文字）が 375px の1列（約111px）に収まる寸法。文言を長くすると折れる */
.lc-jump .no{font-family:var(--en);font-weight:400;color:var(--red);font-size:14px;line-height:1}
.lc-jump a:hover{color:var(--red)}
.lc-jump a:focus-visible{outline:2px solid var(--red);outline-offset:-2px}

.lc-sec{margin-top:var(--sp-6);scroll-margin-top:80px}
.lc-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .7rem;
  border-bottom:2px solid var(--rule);padding-bottom:.6rem}
.lc-h .no{font-family:var(--en);color:var(--red);font-size:clamp(26px,7vw,36px);line-height:1}
.lc-h h2{font-size:clamp(19px,5.2vw,26px);font-weight:900;line-height:1.4;color:var(--ink)}
.lc-h .en{font-family:var(--en);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.lc-sec-lead{margin-top:var(--sp-2);font-size:14px;line-height:1.85;color:var(--ink)}
.lc-sec-lead b{font-weight:900}

/* ---- フロアマップ ---- */
.lc-tabs{margin-top:var(--sp-2);display:inline-flex;border:2px solid var(--rule);border-radius:var(--r-sm);overflow:hidden}
.lc-tabs button{min-width:72px;min-height:44px;padding:0 1rem;border:0;background:var(--white);
  font-family:var(--en);font-size:18px;color:var(--ink);cursor:pointer}
.lc-tabs button+button{border-left:2px solid var(--rule)}
.lc-tabs button[aria-selected="true"]{background:var(--red);color:#fff}
.lc-tabs button:hover:not([aria-selected="true"]){background:var(--warm)}
.lc-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}
.lc-map{margin-top:var(--sp-2)}
.lc-map figure{margin:0;background:var(--white);border:1px solid var(--hair);border-radius:var(--r-lg);overflow:hidden}
.lc-map-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.lc-map-btn:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.lc-lb-nav[hidden]{display:none}
.lc-map img{display:block;width:100%;height:auto}
.lc-map-tip{margin-top:.5rem;font-size:12px;color:var(--muted)}
.lc-rules{margin-top:var(--sp-3);padding:1rem 1.1rem;background:var(--white);
  border:1px solid var(--hair);border-left:3px solid var(--ink);border-radius:var(--r-sm);
  font-size:14px;font-weight:900;line-height:1.7;color:var(--ink)}

/* ---- 写真の一覧 ----
   SP 2列・768px 以上 3列・1000px 以上 4列。縦長の写真は2行分を使う */
.lc-grid{margin-top:var(--sp-3);display:grid;grid-template-columns:repeat(2,1fr);gap:8px;grid-auto-flow:dense}
.lc-ph{display:block;padding:0;border:0;background:var(--hair);border-radius:8px;overflow:hidden;cursor:zoom-in;
  aspect-ratio:3/2}
.lc-ph.is-tall{aspect-ratio:auto;grid-row:span 2}
.lc-ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.lc-ph:hover img{transform:scale(1.03)}
.lc-ph:focus-visible{outline:3px solid var(--red);outline-offset:2px}
@media (min-width:768px){ .lc-grid{grid-template-columns:repeat(3,1fr);gap:12px} }
@media (min-width:1000px){ .lc-grid{grid-template-columns:repeat(4,1fr)} }

/* ---- 末尾 ---- */
.lc-end{margin-top:var(--sp-6);display:flex;flex-direction:column;align-items:center;gap:var(--sp-2)}
.lc-end .btn{width:100%;max-width:420px}
.lc-back{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:900;
  color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.lc-back:hover{color:var(--red)}

/* ---- 拡大表示 ---- */
.lc-lb{padding:0;border:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh}
.lc-lb::backdrop{background:rgba(16,25,35,.92)}
.lc-lb-in{position:relative;width:100%;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:56px 12px 24px}
.lc-lb img{display:block;max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain}
.lc-lb-cap{margin-top:.7rem;color:#fff;font-size:13px;font-weight:900;letter-spacing:.04em}
.lc-lb-close,.lc-lb-nav{position:absolute;display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;
  font-family:var(--en);font-size:22px}
.lc-lb-close{top:8px;right:8px;font-size:28px}
.lc-lb-prev{left:8px;top:50%;transform:translateY(-50%)}
.lc-lb-next{right:8px;top:50%;transform:translateY(-50%)}
.lc-lb-close:hover,.lc-lb-nav:hover{background:var(--red)}
.lc-lb-close:focus-visible,.lc-lb-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:767px){
  /* SP は写真に重ならないよう、左右ボタンを下に並べる */
  .lc-lb-in{padding-bottom:84px}
  .lc-lb-prev,.lc-lb-next{top:auto;bottom:16px;transform:none}
  .lc-lb-prev{left:calc(50% - 60px)} .lc-lb-next{right:calc(50% - 60px)}
}
