/* カギのSOS 詳細 v2 — 承認済みモックのモバイル情報密度をそのまま使う。 */
.kagi-detail { --kd-page:#f4f7fa; --kd-paper:#fff; --kd-ink:#18334d; --kd-muted:#546678; --kd-line:#d8e2ec; --kd-blue:#0a5fa9; --kd-soft:#edf5fd; --kd-green:#08753d; --kd-open:#e4f4e9; --kd-call:#09773d; --kd-photo:#e9eef3; background:var(--kd-page); color:var(--kd-ink); padding:0 0 84px; }
.kagi-detail__container { max-width:680px; padding:0 14px; }.kagi-detail__breadcrumb { display:flex; flex-wrap:wrap; gap:0 6px; margin:0; padding:12px 0 2px; color:var(--kd-muted); font-size:11px; line-height:1.8; }.kagi-detail__back { display:inline-flex; align-items:center; gap:4px; min-height:44px; color:var(--kd-blue); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.kagi-detail__head { padding:0 0 11px; }.kagi-detail__eyebrow,.kagi-detail-section__kicker { display:none; }.kagi-detail__head h1 { margin:0; font-size:23px; line-height:1.35; font-weight:700; }.kagi-detail__address { margin:4px 0 8px; font-size:13px; color:var(--kd-muted); }.kagi-detail__head-facts { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }.kagi-detail__head-facts p { margin:0; font-size:12px; }.kagi-detail__reception { padding:4px 8px; border-radius:5px; background:var(--kd-open); color:var(--kd-green); font-weight:700; }.kagi-detail__reception--unknown,.kagi-detail__reception--closed { background:var(--kd-photo); color:var(--kd-muted); }.kagi-detail__reviews { display:inline-flex; align-items:center; min-height:36px; color:var(--kd-blue); font-size:12px; text-decoration:underline; text-underline-offset:3px; }.kagi-detail__reviews strong { font-size:inherit; }
.kagi-detail-hero { margin:0; padding:0; background:transparent; border:0; box-shadow:none; }.kagi-detail-hero__overview { display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px; align-items:start; margin-bottom:13px; }.kagi-detail-hero__photo { width:140px; height:105px; display:grid; place-items:center; overflow:hidden; background:var(--kd-photo); border:1px dashed var(--kd-line); border-radius:7px; color:var(--kd-muted); font-size:12px; text-align:center; }.kagi-detail-hero__photo > a { display:block; width:100%; height:100%; }.kagi-detail-hero__photo img { width:100%; height:100%; object-fit:contain; display:block; }.kagi-detail-hero__photo--own img { object-fit:cover; }.kagi-detail-hero__body { padding:0; }.kagi-detail-hero__area { margin:0; font-size:14px; font-weight:600; }.kagi-detail-hero__area span { display:block; margin-bottom:1px; color:var(--kd-muted); font-size:11px; font-weight:400; }.kagi-detail-hero__area a { display:block; margin-top:2px; font-size:12px; font-weight:400; }.kagi-detail-hero__distance { margin:6px 0 0; }.kagi-detail-hero__distance summary { min-height:44px; padding:6px 0 0; color:var(--kd-blue); cursor:pointer; font-size:17px; font-weight:700; line-height:1.45; }.kagi-detail-hero__distance summary small { display:block; color:var(--kd-muted); font-size:11px; font-weight:400; }.kagi-detail-hero__distance p { margin:5px 0 0; color:var(--kd-muted); font-size:11px; }
.kagi-detail__sub-form { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:10px 0 8px; font-size:14px; font-weight:600; }.kagi-detail__sub-form select { width:195px; min-height:44px; border:1px solid var(--kd-line); border-radius:7px; background:var(--kd-paper); color:var(--kd-ink); padding:9px 11px; font:16px inherit; }.kagi-detail-hero__price { padding:12px; background:var(--kd-soft); border-radius:8px; }.kagi-detail-hero__price > p { margin:0; font-size:12px; }.kagi-detail-price-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 8px; align-items:baseline; }.kagi-detail-price-line span { font-size:13px; }.kagi-detail-price-line strong,.kagi-detail-price-line__unknown { color:var(--kd-blue); font-size:25px; line-height:1.5; }.kagi-detail-price-line small,.kagi-detail-hero__price > small { grid-column:1 / -1; color:var(--kd-muted); font-size:12px; font-weight:400; line-height:1.5; }.kagi-detail-price-line__unknown { display:block; font-size:19px; }
.kagi-detail__tel { display:block; margin:10px 0 13px; padding:10px 8px; border:1px solid var(--kd-line); border-radius:9px; background:var(--kd-paper); color:#fff; text-align:center; text-decoration:none; }.kagi-detail .kagi-detail__tel span,.kagi-detail .kagi-detail__tel strong { display:block; background:#09773d !important; color:#fff; }.kagi-detail__tel span { padding-top:7px; font-size:12px; font-weight:700; }.kagi-detail__tel strong { padding-bottom:7px; font-size:22px; letter-spacing:.02em; }.kagi-detail__tel:hover { color:#fff; text-decoration:none; }
.kagi-detail__nav { display:flex; gap:5px; flex-wrap:wrap; margin:0 0 16px; border-bottom:1px solid var(--kd-line); }.kagi-detail__nav a { flex:1; min-width:60px; padding:11px 3px; color:var(--kd-blue); font-size:13px; text-align:center; text-decoration:none; white-space:nowrap; }.kagi-detail-section { padding:18px 0; border:0; border-top:1px solid var(--kd-line); background:transparent; }.kagi-detail-section h2 { margin:0 0 12px; font-size:18px; line-height:1.5; }.kagi-detail-section h3 { margin:0 0 6px; font-size:15px; }
.kagi-detail-price-list { background:var(--kd-paper); border-radius:8px; padding:0 12px; }.kagi-detail-price-list article,.kagi-detail-fee { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; padding:11px 0; border-bottom:1px solid var(--kd-line); align-items:start; }.kagi-detail-price-list article:last-child,.kagi-detail-fee:last-child { border-bottom:0; }.kagi-detail-price-list article > strong,.kagi-detail-fee > strong { color:var(--kd-blue); font-size:18px; white-space:nowrap; }.kagi-detail-price-list h3,.kagi-detail-fee h4 { margin:0; font-size:14px; }.kagi-detail-price-list p,.kagi-detail-fee p { margin:3px 0 0; color:var(--kd-muted); font-size:12px; line-height:1.5; }.kagi-detail-chip { display:inline-block; margin-bottom:4px; padding:2px 5px; border-radius:4px; background:var(--kd-soft); color:var(--kd-blue); font-size:11px; }.kagi-detail-fees { margin-top:15px; }.kagi-detail-fees h3 { margin-bottom:6px; }.kagi-detail-fee--unconfirmed > strong { color:var(--kd-muted); font-size:14px; }.kagi-detail-fee--unconfirmed .kagi-detail-chip { background:var(--kd-photo); color:var(--kd-muted); }.kagi-detail-fees__unknown,.kagi-detail-empty { margin:0; padding:12px; border-radius:8px; background:var(--kd-paper); color:var(--kd-muted); font-size:13px; }.kagi-detail-empty p { margin:0 0 7px; }
.kagi-detail-benchmark { margin-top:12px; background:var(--kd-paper); border:1px solid var(--kd-line); border-radius:7px; padding:0 12px; }.kagi-detail-benchmark summary { min-height:44px; padding:11px 0; color:var(--kd-blue); cursor:pointer; font-size:13px; }.kagi-detail-benchmark p { margin:7px 0; color:var(--kd-muted); font-size:12px; }.kagi-detail-cases { display:grid; gap:12px; }.kagi-detail-section--quoted { color:var(--kd-muted); font-size:12px; }.kagi-detail-section--quoted h2 { font-size:15px; margin-bottom:6px; }.kagi-detail-section--quoted p { margin:0; }.kagi-detail-info { margin:0; }.kagi-detail-info > div { display:grid; grid-template-columns:77px minmax(0,1fr); gap:12px; padding:11px 0; border-bottom:1px solid var(--kd-line); font-size:13px; }.kagi-detail-info dt { color:var(--kd-muted); }.kagi-detail-info dd { margin:0; overflow-wrap:anywhere; }.kagi-detail-map { display:block; width:100%; height:260px; margin-top:14px; border:1px solid var(--kd-line); border-radius:7px; background:var(--kd-photo); }.kagi-detail-map--unavailable { display:grid; place-items:center; padding:12px; color:var(--kd-muted); font-size:12px; text-align:center; }.kagi-detail-flow ol { margin:0; padding-left:21px; }.kagi-detail-flow li { padding:3px 0 6px; font-size:14px; }.kagi-detail-compare { text-align:left; }.kagi-detail-compare p { margin:7px 0; color:var(--kd-muted); font-size:13px; }.kagi-detail-compare__button { display:block; width:100%; margin-top:10px; padding:10px; border:1px solid var(--kd-line); border-radius:7px; color:var(--kd-blue); font-size:14px; font-weight:700; text-align:center; }
.kagi-detail-sticky .sticky-cta__tel { background:#09773d !important; border-color:#09773d !important; color:#fff !important; }.kagi-detail-sticky .sticky-cta__tel.btn--tel-closed { background:#546678 !important; border-color:#546678 !important; }.kagi-detail-sticky .sticky-cta__lead,.kagi-detail-sticky .sticky-cta__number { color:#fff !important; }
/* 絶対配置の代替表示は、画面全体ではなく店舗写真の枠内に閉じ込める。 */
.kagi-detail-hero__photo { position:relative; }
.kagi-detail-fees__lead { color:var(--kd-muted); font-size:13px; line-height:1.7; }
.kagi-detail-fee-block { background:var(--kd-paper); padding:0 12px 10px; margin-bottom:8px; border:1px solid var(--kd-line); border-radius:8px; }
.kagi-detail-fee-examples summary { min-height:44px; padding:10px 0; color:var(--kd-blue); font-size:13px; cursor:pointer; }
.kagi-detail-examples { border-top:1px solid var(--kd-line); padding:8px 0; }
.kagi-detail-examples p { color:var(--kd-muted); font-size:12px; line-height:1.7; }
.kagi-detail-examples ul { padding:0; margin:8px 0; list-style:none; }
.kagi-detail-examples li { padding:10px 0; border-top:1px solid var(--kd-line); overflow-wrap:anywhere; font-size:12px; line-height:1.6; }
.kagi-detail-examples li > strong { display:block; color:var(--kd-ink); font-size:16px; }
.kagi-detail-examples small { display:block; color:var(--kd-muted); font-size:12px; }
.kagi-detail-examples a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; }
.kagi-detail-map-link a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; text-decoration:underline; }
@media (max-width:600px) {
  .kagi-detail-price-line,.kagi-detail-price-list article,.kagi-detail-fee { grid-template-columns:minmax(0,1fr); }
  .kagi-detail-price-list article > strong,.kagi-detail-fee > strong { white-space:normal; overflow-wrap:anywhere; }
}
.kagi-detail-hero__photo.is-broken > a,
.kagi-detail-hero__photo.is-broken > img { display:none; }
.kagi-detail-hero__photo.is-broken .thumb-empty--fallback { display:flex; }
@media (min-width:701px) { .kagi-detail-sticky { display:none; } }
@media (min-width:900px) {
  .kagi-detail__container { max-width:960px; }
  .kagi-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:28px; }
  .kagi-detail-hero__overview { grid-column:1; grid-row:1 / 4; }
  .kagi-detail__sub-form,.kagi-detail-hero__price,.kagi-detail__tel { grid-column:2; }
  .kagi-detail__sub-form { margin-top:0; }
}
@media (max-width:360px) { .kagi-detail-hero__overview { grid-template-columns:122px minmax(0,1fr); gap:9px; }.kagi-detail-hero__photo { width:122px; height:92px; }.kagi-detail__head h1 { font-size:21px; } }
