/* がけ条例チェックマップ 共通スタイル（engine.css）— 全市共通。市固有はページ側 */
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  :root{
    --ink:#2A363B; --ink-soft:rgba(42,54,59,.82); --mut:rgba(42,54,59,.56);
    --surface:#FCFFF7; --surface-2:#EFF6EC; --card:#fff;
    --accent:#3CB1FF; --cta:#1769c4; --line:rgba(42,54,59,.10); --line-2:rgba(42,54,59,.14); --warn:#c2410c;
    /* がけトグルON状態の色（PC用ピル/モバイル用バーで共有＝色の真実を1箇所に） */
    --gake-body-on:rgba(180,50,50,.18); --gake-body-bd:rgba(180,50,50,.72);
    --gake-reg-on:rgba(230,140,90,.26); --gake-reg-bd:rgba(230,140,90,.8);
    /* 情報ボックス（青系）とCTAホバーのトークン（旧: 生hexが各所に散在＝1箇所へ集約） */
    --info-bg:#edf7ff; --info-bd:#b9d9f3; --info-fg:#155f93; --info-fg-strong:#114f7a; --cta-hover:#12559f;
  }
  :focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px;}
  html,body{margin:0;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
  body{display:flex;flex-direction:column;background:var(--surface);color:var(--ink-soft);
       font-family:'Noto Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
       line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
  b,strong{font-weight:600;}
  #map{flex:1 1 auto;position:relative;background:#dfe7dc;}
  /* ヘッダ（tochi-map 準拠：すりガラス・ロゴ・見出しフォント） */
  .hdr{flex:0 0 auto;position:relative;z-index:1600;height:58px;display:flex;align-items:center;gap:12px;padding:0 14px;
       background:rgba(252,255,247,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
       box-shadow:0 1px 0 var(--line),0 2px 12px rgba(42,54,59,.05);}
  .brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;text-decoration:none;}
  .brand-logo{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .brand-logo img{width:40px;height:40px;object-fit:contain;display:block;}
  .brand-txt h1{font-size:15.5px;margin:0;font-weight:700;color:var(--ink);
       font-family:'M PLUS Rounded 1c','Hiragino Sans','Noto Sans JP',sans-serif;letter-spacing:.02em;white-space:nowrap;line-height:1.15;}
  .brand-txt .sub{font-size:10.5px;color:var(--mut);letter-spacing:.03em;margin-top:1px;}
  .hdr .disc-btn{flex:0 0 auto;font-size:11.5px;font-weight:700;color:var(--warn);background:rgba(194,65,12,.07);
       border:1px solid rgba(194,65,12,.25);border-radius:9px;padding:7px 12px;cursor:pointer;transition:background .15s;font-family:inherit;}
  .hdr .disc-btn:hover{background:rgba(194,65,12,.13);}
  /* 市切替（②導線・cities.json） */
  .city-switch{display:flex;align-items:center;gap:4px;flex:0 0 auto;}
  .city-switch .cs-ic{font-size:13px;opacity:.75;}
  .city-switch select{font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink);background:#fff;border:1.5px solid var(--line-2);border-radius:9px;padding:6px 22px 6px 8px;min-height:36px;cursor:pointer;}
  .city-switch select:hover{border-color:var(--ink);}
  @media(max-width:680px){ .city-switch select{font-size:12px;padding:5px 20px 5px 6px;min-height:34px;} }

  /* がけ表示ピル（tochi-map の mode-pill 準拠・色連動トグル） */
  .gpills{display:flex;gap:6px;flex:0 0 auto;}
  .gpill{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:20px;border:1.5px solid var(--line-2);
        background:#fff;color:var(--mut);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;
        min-height:38px;font-family:inherit;transition:background .2s,border-color .2s,color .2s;}
  .gpill:hover{border-color:var(--ink);color:var(--ink);}
  .gpill .sw{width:12px;height:12px;border-radius:3px;flex:0 0 auto;opacity:.3;transition:opacity .2s;}
  .gpill.on{color:var(--ink);}
  .gpill.on .sw{opacity:1;}
  .gpill.on::before{content:'✓';font-weight:800;font-size:11px;line-height:1;color:currentColor;}   /* ON時のみチェック＝複数選択できることを明示 */
  .gpill.body.on{background:var(--gake-body-on);border-color:var(--gake-body-bd);}
  .gpill.reg.on{background:var(--gake-reg-on);border-color:var(--gake-reg-bd);}
  .gpill:active{transform:scale(.96);}
  @media(max-width:980px){ .gpill{padding:6px 10px;font-size:12px;} }
  @media(max-width:680px){ .brand-txt .sub{display:none;} .brand-txt h1{font-size:13.5px;} .gpills{display:none!important;} }
  @media(max-width:680px){
    .leaflet-bottom.leaflet-right,.leaflet-bottom.leaflet-left{bottom:env(safe-area-inset-bottom,0);}
    .info{bottom:14px;}
  }
  /* 情報カード */
  .info{position:absolute;z-index:1000;bottom:24px;left:14px;width:290px;max-width:calc(100vw - 28px);
        background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.14);
        font-size:12px;line-height:1.55;overflow:hidden;}
  .info summary{cursor:pointer;list-style:none;padding:10px 12px;font-weight:700;font-size:12.5px;display:flex;align-items:center;gap:7px;}
  .info summary::-webkit-details-marker{display:none;}
  .info .body{padding:0 12px 12px;color:var(--ink-soft);}
  .info .body b{color:var(--ink);}
  .info .row{display:flex;gap:8px;align-items:flex-start;margin-top:7px;}
  .info .sw{flex:0 0 16px;height:12px;border-radius:3px;margin-top:2px;}
  .info hr{border:none;border-top:1px solid var(--line);margin:10px 0;}
  .info .note{font-size:11px;background:var(--surface-2);border-radius:8px;padding:8px 9px;margin-top:9px;}
  .info .note b{color:var(--warn);}
  /* 筆ポップアップ */
  .parcel-pop .leaflet-popup-content-wrapper{background:var(--surface);color:var(--ink);border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.18);}
  .parcel-pop .leaflet-popup-content{margin:0;padding:0;font-size:13px;min-width:210px;
        max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(42,54,59,.25) transparent;}
  .parcel-pop .leaflet-popup-content::-webkit-scrollbar{width:4px;}
  .parcel-pop .leaflet-popup-content::-webkit-scrollbar-thumb{background:rgba(42,54,59,.25);border-radius:4px;}
  .pp{padding:12px 14px;}
  .pp .prec{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:2px 7px;}
  .pp .gake{margin:0 0 10px;padding:9px 10px;border-radius:8px;background:var(--surface-2);font-size:11.5px;color:var(--ink-soft);}
  .pp .gake b{color:var(--ink);}
  /* .zoomhint は撤去：低ズームのタップはズーム後に自動判定するため文言不要 */
  /* 検索（tochi-map 準拠） */
  .search-wrap{position:relative;flex:1 1 0%;max-width:400px;}
  .search-wrap input{width:100%;height:40px;font-size:14px;padding:0 46px 0 18px;border:1px solid var(--line-2);
        border-radius:999px;background:#fff;color:var(--ink);outline:none;font-family:inherit;
        box-shadow:0 2px 6px rgba(42,54,59,.08);transition:box-shadow .15s,border-color .15s;}   /* 地価マップ風のピル型 */
  .search-wrap input:hover{box-shadow:0 3px 10px rgba(42,54,59,.12);}
  .search-wrap input::placeholder{color:rgba(42,54,59,.45);}
  .search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(60,177,255,.18);}
  .search-wrap.onboard-focus input{animation:searchOnboardPulse 1.5s ease;}
  @keyframes searchOnboardPulse{
    0%,100%{border-color:var(--line-2);box-shadow:0 2px 6px rgba(42,54,59,.08);}
    35%,70%{border-color:var(--accent);box-shadow:0 0 0 5px rgba(60,177,255,.22);}
  }
  .search-go{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;
        background:var(--accent);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s;}
  .search-go:hover{background:#2a9fe8;}
  .suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line-2);
        border-radius:12px;box-shadow:0 12px 34px rgba(42,54,59,.18);max-height:56vh;display:none;z-index:1200;overflow:hidden auto;}
  .suggest.on{display:block;}
  .suggest .si{display:flex;align-items:center;gap:10px;padding:11px 15px;cursor:pointer;font-size:14px;color:var(--ink-soft);border-bottom:1px solid var(--line);transition:background .12s;}
  .suggest .si:last-child{border-bottom:none;}
  .suggest .si:hover,.suggest .si.hi{background:var(--surface-2);}
  .suggest .si.si-exact{background:var(--info-bg);border-left:3px solid var(--accent);padding-left:12px;}
  .suggest .si .si-badge{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:1.5;vertical-align:1px;}
  .suggest .suggest-label{padding:8px 15px 3px;color:var(--mut);font-size:11px;font-weight:700;letter-spacing:.02em;background:#fff;}
  .suggest .si .pin{flex:0 0 auto;color:var(--cta);display:flex;}
  .suggest .si b{color:var(--ink);font-weight:600;}
  .suggest .si small{color:var(--mut);font-weight:400;}
  .suggest .msg{padding:13px 15px;font-size:12.5px;color:var(--mut);text-align:center;}
  .suggest .si-addr{border-top:1px solid var(--line-2);}
  @media(max-width:680px){
    .hdr{flex-wrap:wrap;height:auto;gap:8px;padding:8px 10px;}
    .search-wrap{order:3;flex-basis:100%;max-width:none;}
  }
  /* 免責モーダル */
  .disc-overlay{position:fixed;inset:0;z-index:3000;background:rgba(20,26,28,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
        display:none;align-items:center;justify-content:center;padding:18px;}
  .disc-overlay.on{display:flex;}
  .disc-card{background:var(--surface);border-radius:16px;max-width:520px;width:100%;max-height:86vh;overflow-y:auto;
        box-shadow:0 20px 60px rgba(0,0,0,.4);padding:22px 24px;}
  .disc-card h2{margin:0 0 4px;font-size:18px;font-weight:800;}
  .disc-card .lead{font-size:12.5px;color:var(--ink-soft);margin:0 0 14px;}
  .disc-card .benefit{margin:10px 0 14px;padding:11px 12px;border-radius:10px;background:var(--info-bg);border:1px solid var(--info-bd);
        color:var(--info-fg);font-size:13px;line-height:1.65;}
  .disc-card .benefit b{color:var(--info-fg-strong);}
  .disc-card ul{margin:0 0 16px;padding:0;list-style:none;}
  .disc-card li{position:relative;padding:8px 0 8px 26px;font-size:13px;line-height:1.6;border-top:1px solid var(--line);}
  .disc-card li:before{content:'⚠';position:absolute;left:0;top:8px;color:var(--warn);font-size:13px;}
  .disc-card li b{color:var(--ink);}
  .disc-card .src{font-size:11px;color:var(--ink-soft);background:var(--surface-2);border-radius:8px;padding:9px 11px;margin-bottom:16px;line-height:1.55;}
  .disc-card .ok{width:100%;font-size:14px;font-weight:800;color:#fff;background:var(--cta);border:none;border-radius:10px;padding:13px;cursor:pointer;}
  .disc-more{margin:0 0 16px;border:1px solid var(--line);border-radius:10px;overflow:hidden;}   /* 案C：残りの注意事項・出典を折りたたみ（全文は保持） */
  .disc-more summary{cursor:pointer;padding:11px 13px;font-size:12.5px;font-weight:700;color:var(--cta);list-style:none;user-select:none;}
  .disc-more summary::-webkit-details-marker{display:none;}
  .disc-more[open] summary{border-bottom:1px solid var(--line);}
  .disc-more-body{padding:2px 13px 10px;}
  .disc-more-body ul{margin:0 0 10px;}
  .disc-more-body .src{margin:0;}
  .disc-card .ok:hover{background:var(--cta-hover);}
  /* Leaflet コントロール（tochi-map 準拠：円形ズーム・白カード） */
  .leaflet-control-zoom{border:none!important;box-shadow:none!important;background:transparent!important;display:flex;flex-direction:column;gap:7px!important;margin:14px!important;}
  .leaflet-control-zoom a{width:40px!important;height:40px!important;border-radius:50%!important;background:#fff!important;color:var(--ink)!important;
        box-shadow:0 2px 10px rgba(42,54,59,.2)!important;border:none!important;line-height:40px!important;font-size:20px!important;font-weight:600!important;transition:transform .12s;}
  .leaflet-control-zoom a:hover{background:#fff!important;transform:scale(1.07);}
  .leaflet-control-layers{display:none!important;} /* 表示設定は左上の「地図」シートへ一本化 */
  .leaflet-control-layers-toggle{width:40px!important;height:40px!important;background-size:20px 20px!important;}
  .leaflet-control-layers-expanded{padding:12px 14px!important;color:var(--ink-soft);font-size:13px;font-family:inherit;min-width:170px;}
  .leaflet-control-layers-list{line-height:1.9;}
  .leaflet-control-layers label{margin:1px 0;display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer;}
  .leaflet-control-layers label span{display:flex;align-items:center;gap:8px;}
  .leaflet-control-layers input[type=radio],.leaflet-control-layers input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;}
  .leaflet-control-layers-separator{border-top:1px solid var(--line)!important;margin:9px -2px!important;}
  .leaflet-bar a{color:var(--ink);}
  .leaflet-popup-close-button{color:var(--mut)!important;font-size:22px!important;width:28px!important;height:28px!important;padding:4px 4px 0 0!important;}
  .leaflet-container{font-family:'Noto Sans JP','Hiragino Sans',sans-serif;}
  .leaflet-control-attribution{font-size:10px;background:rgba(252,255,247,.82)!important;color:var(--mut)!important;}
  /* 筆界なし地点のピン（Leaflet div-icon 既定の白背景・枠を打ち消す） */
  .leaflet-div-icon.pt-pin{background:transparent;border:none;}
  .pt-pin svg{display:block;filter:drop-shadow(0 2px 3px rgba(42,54,59,.35));}
  /* 右上アクションボタン群（災害/凡例/共有・地価マップ準拠／明色テーマ） */
  .map-action-btns{position:absolute;top:14px;right:14px;z-index:1000;display:flex;flex-direction:column;gap:9px;align-items:center;}
  .map-action-btn{width:46px;height:46px;border-radius:50%;background:#fff;border:none;cursor:pointer;box-shadow:0 2px 10px rgba(42,54,59,.2);
        display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--ink);font-family:inherit;padding:0;transition:transform .12s,box-shadow .15s;}
  .map-action-btn:hover{transform:scale(1.07);box-shadow:0 4px 14px rgba(42,54,59,.26);}
  .map-action-btn:active{transform:scale(.94);}
  .map-action-btn .mab-ic{display:flex;align-items:center;justify-content:center;}
  .map-action-btn .mab-ic svg{width:19px;height:19px;display:block;}
  .map-action-btn .btn-label{font-size:10px;font-weight:700;line-height:1;margin-top:1px;}
  .map-action-btn.legend-on{box-shadow:0 0 0 2px var(--accent),0 2px 8px rgba(42,54,59,.2);}
  .map-action-btn.hazard-active{background:#ff9800;color:#fff;box-shadow:0 2px 12px rgba(255,152,0,.45);}
  .map-action-btn.hazard-active:hover{background:#fb8c00;}
  @media(max-width:680px){ .map-action-btns{top:10px;right:10px;gap:8px;} .map-action-btn{width:44px;height:44px;}
    #hazardBtn,#shareBtn{display:none;}   /* モバイルは「災害」「共有」を地図シートへ集約し、右上は「凡例」のみに */
  }
  /* 表示設定は丸ボタン「地図」→シートへ集約。大きな常設レイヤー一覧は出さない */
  .map-left-btns{display:flex;position:absolute;top:14px;left:14px;z-index:1000;}
  @media(max-width:680px){
    .map-left-btns{display:flex;position:absolute;top:10px;left:10px;z-index:1000;}
  }
  /* 地図設定ボトムシート（Googleマップ風・基図サムネイル＋重畳トグル） */
  .map-sheet-overlay{position:fixed;inset:0;z-index:8000;display:flex;align-items:flex-end;justify-content:center;visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s ease;}
  .map-sheet-overlay.open{visibility:visible;opacity:1;transition:visibility 0s,opacity .2s ease;}
  .map-sheet-backdrop{position:absolute;inset:0;background:rgba(42,54,59,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}
  .map-sheet-card{position:relative;z-index:1;width:100%;max-width:480px;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -4px 32px rgba(42,54,59,.22);padding:16px 16px calc(18px + env(safe-area-inset-bottom,0));transform:translateY(100%);transition:transform .3s cubic-bezier(.22,1,.36,1);}
  .map-sheet-overlay.open .map-sheet-card{transform:translateY(0);}
  .map-sheet-grip{width:38px;height:4px;border-radius:2px;background:var(--line-2);margin:0 auto 12px;}
  .map-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
  .map-sheet-header span{font-size:15px;font-weight:700;color:var(--ink);}
  .map-sheet-close{width:30px;height:30px;border-radius:50%;border:none;background:var(--surface-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--mut);}
  .map-sheet-sec{font-size:11.5px;font-weight:700;color:var(--mut);margin:6px 2px 8px;letter-spacing:.02em;}
  .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
  .ms-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 15px;}
  .ms-mode{min-height:72px;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--ink);padding:8px 6px;cursor:pointer;font:inherit;text-align:left;line-height:1.35;}
  .ms-mode b{display:block;font-size:12px;}
  .ms-mode small{display:block;margin-top:3px;color:var(--mut);font-size:10px;line-height:1.35;}
  .ms-mode.active{border-color:var(--accent);background:var(--info-bg);box-shadow:0 0 0 1px var(--accent);}
  .ms-mode.active b::before{content:'✓ ';color:var(--accent);}
  .ms-mode-note{margin:-8px 2px 12px;color:var(--mut);font-size:10.5px;line-height:1.45;}
  .map-sheet-bases{display:flex;gap:12px;margin-bottom:14px;}
  .ms-base{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;}
  .ms-thumb{width:100%;height:76px;border-radius:12px;background-size:cover;background-position:center;border:3px solid transparent;box-shadow:0 1px 4px rgba(42,54,59,.14);transition:border-color .15s;}
  .ms-thumb-pale{background-image:url('https://cyberjapandata.gsi.go.jp/xyz/pale/14/14515/6483.png');}
  .ms-thumb-photo{background-image:url('https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/14/14515/6483.jpg');}
  .ms-base-lb{font-size:12.5px;font-weight:600;color:var(--mut);}
  .ms-base.active .ms-thumb{border-color:var(--accent);}
  .ms-base.active .ms-base-lb{color:var(--ink);}
  .ms-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px;border-radius:12px;background:var(--surface-2);margin-bottom:8px;cursor:pointer;}
  .ms-toggle span{font-size:14px;font-weight:600;color:var(--ink);}
  .ms-switch{position:relative;width:44px;height:26px;flex:0 0 auto;}
  .ms-switch input{opacity:0;width:0;height:0;position:absolute;}
  .ms-switch .ms-slider{position:absolute;inset:0;background:var(--line-2);border-radius:26px;transition:background .18s;}
  .ms-switch .ms-slider::before{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s;}
  .ms-switch input:checked + .ms-slider{background:var(--accent);}
  .ms-switch input:checked + .ms-slider::before{transform:translateX(18px);}
  .ms-more{margin:0 0 8px;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
  .ms-more summary{list-style:none;padding:11px 12px;cursor:pointer;color:var(--ink);font-size:13px;font-weight:700;}
  .ms-more summary::-webkit-details-marker{display:none;}
  .ms-more[open] summary{border-bottom:1px solid var(--line);}
  .ms-more .ms-toggle{margin:0;border-radius:0;background:#fff;border-bottom:1px solid var(--line);}
  .ms-more .ms-toggle:last-child{border-bottom:none;}
  /* シート内アクション（共有など）。トグル行と同じ見た目で統一 */
  .ms-action{display:flex;align-items:center;gap:10px;width:100%;padding:12px 12px;border:none;border-radius:12px;background:var(--surface-2);margin-bottom:8px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;color:var(--ink);text-align:left;}
  .ms-action svg{width:18px;height:18px;flex:0 0 auto;color:var(--ink-soft);}
  .ms-action:active{background:var(--line);}
  /* 検索候補「現在地から探す」 */
  .suggest .si.si-loc .pin{color:var(--cta);}
  .suggest .si.si-loc b{color:var(--cta);font-weight:700;}
  /* 共有モーダル（地価マップ準拠・明色テーマ） */
  .share-modal-overlay{position:fixed;inset:0;z-index:8000;display:flex;align-items:flex-end;justify-content:center;visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s ease;}
  .share-modal-overlay.open{visibility:visible;opacity:1;transition:visibility 0s,opacity .2s ease;}
  .share-modal-backdrop{position:absolute;inset:0;background:rgba(42,54,59,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}
  .share-modal-card{position:relative;z-index:1;width:100%;max-width:420px;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 32px rgba(42,54,59,.2);padding:20px 16px calc(20px + env(safe-area-inset-bottom,0));transform:translateY(100%);transition:transform .3s cubic-bezier(.22,1,.36,1);}
  .share-modal-overlay.open .share-modal-card{transform:translateY(0);}
  .share-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
  .share-modal-header span{font-size:15px;font-weight:700;color:var(--ink);}
  .share-modal-close{width:32px;height:32px;border-radius:50%;border:none;background:var(--surface-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--mut);transition:background .15s;}
  .share-modal-close:hover{background:var(--line-2);}
  .share-modal-body{display:flex;flex-direction:column;gap:8px;}
  .share-modal-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:var(--surface-2);border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);transition:background .15s,transform .1s;font-family:inherit;text-align:left;}
  .share-modal-option:hover{background:var(--line-2);}
  .share-modal-option:active{transform:scale(.98);}
  .share-opt-icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .share-opt-icon.copy-icon{background:#e8f4fd;color:#2196f3;}
  .share-opt-icon.line-icon{background:#e8fbe8;color:#06c755;}
  .share-opt-icon.x-icon{background:#eceef1;color:#1a1a2e;}
  .share-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--accent);color:#fff;padding:10px 22px;border-radius:24px;font-size:13px;font-weight:700;box-shadow:0 4px 16px rgba(60,177,255,.35);opacity:0;transition:opacity .25s,transform .25s;z-index:8500;pointer-events:none;white-space:nowrap;}
  .share-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
  /* インラインSVGアイコン */
  .ic{width:15px;height:15px;vertical-align:-3px;flex:0 0 auto;}
  /* ポップアップ（tochi-map 準拠: 見出し22px・stat行・コメント枠・折りたたみ） */
  .pp .pp-head{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:11px;}
  .pp .pp-chiban{font-size:21px;font-weight:600;letter-spacing:-.3px;color:var(--ink);}
  .pp .pp-oaza{font-size:11.5px;color:var(--mut);margin-left:8px;}
  .pp-stat{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;font-size:12.5px;}
  .pp-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 9px;}
  .pp-metric{min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);}
  .pp-metric.is-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;}
  .pp-metric .k{display:block;color:var(--mut);font-size:10.5px;line-height:1.25;}
  .pp-metric .v{display:block;margin-top:2px;color:var(--ink);font-size:12px;font-weight:700;line-height:1.35;word-break:break-word;}
  .pp-metric.is-wide .k{grid-row:1}.pp-metric.is-wide .v{grid-column:2;grid-row:1;margin:0;font-size:14px}
  .pp-metric .sub{display:block;margin-top:2px;color:var(--mut);font-size:9px;line-height:1.35}
  .pp-metric.is-wide .sub{grid-column:1/-1}
  .pp-map-state{display:flex;align-items:center;gap:6px;margin:6px 0 8px;padding:5px 8px;min-height:34px;border:1px solid var(--info-bd);border-radius:8px;background:#f5faff;color:var(--info-fg);font-size:10.5px;line-height:1.35;}
  .pp-map-state .ic{width:14px;height:14px;flex:0 0 auto;}
  .pp-map-state span{flex:1 1 auto;}
  .pp-map-state button{flex:0 0 auto;padding:3px 6px;border:1px solid #93c5e8;border-radius:6px;background:#fff;color:var(--info-fg);font:inherit;font-size:9.5px;font-weight:700;cursor:pointer;}
  .pp-map-state.action{width:100%;justify-content:flex-start;text-align:left;cursor:pointer;font-family:inherit;}
  .pp-related{margin-top:5px;padding-top:12px;border-top:1px solid var(--line);}
  .pp-related-title{font-size:12px;font-weight:800;color:var(--ink);}
  .pp-related p{margin:3px 0 0;color:var(--mut);font-size:10px;line-height:1.5;}
  .pp-maps{display:flex;gap:8px;margin:8px 0 2px;}
  .pp-maps a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:7px 6px;border:1px solid var(--line-2);border-radius:9px;font-size:11px;font-weight:600;color:var(--ink);text-decoration:none;text-align:center;background:var(--surface-2);}
  .pp-maps a:hover{border-color:#1769c4;color:#1769c4;}
  /* 共有は主CTAと競合させないテキストリンク。タップ領域は44pxを確保 */
  .pp-share-row{text-align:center;margin:6px 0 0;font-size:11.5px;}
  .pp-share-row a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;color:#1769c4;text-decoration:none;font-weight:600;}
  .pp-stat .label{color:var(--mut);}
  .pp-stat .value{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;}
  .pp-stat .value small{font-weight:400;color:var(--mut);}
  .pp-comment{background:var(--surface-2);border-left:3px solid var(--ink);border-radius:8px;padding:10px 12px;margin:10px 0;
        font-size:12px;line-height:1.7;color:var(--ink-soft);}
  .pp-comment b{color:var(--ink);}
  .pp-reglink{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:0;background:none;border:none;
        color:var(--cta);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
  .pp-reglink:hover{text-decoration:underline;}
  .pp-reglink .ic{width:14px;height:14px;vertical-align:-2px;color:var(--warn);}
  .sec-fold{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink);
        cursor:pointer;padding:12px 2px;border-top:1px solid var(--line);user-select:none;min-height:44px;box-sizing:border-box;}
  .sec-fold:hover{color:var(--cta);}
  .sec-fold:active{opacity:.6;}
  .sec-fold .sf-sub{font-weight:400;font-size:10.5px;color:var(--mut);margin-left:6px;}
  .sec-fold .pc-fold-i{color:var(--cta);font-weight:600;flex-shrink:0;}
  .pp-fold-body{animation:ppFoldIn .16s ease;}
  .pp-detail-list{padding:7px 2px 1px;}
  .pp-detail-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:5px 0;font-size:11.5px;color:var(--mut);}
  .pp-detail-list>div b{flex:0 0 auto;color:var(--ink);font-size:13px;}
  .pp-detail-list>p{margin:-1px 0 5px;color:var(--mut);font-size:10px;line-height:1.55;}
  .pp-detail-source{margin:5px 2px 9px;color:var(--mut);font-size:9.8px;line-height:1.55;}
  @keyframes ppFoldIn{from{opacity:0;transform:translateY(-3px);}to{opacity:1;transform:translateY(0);}}
  .pp-share:active,.sec-fold:active{transform:scale(.97);}
  /* 用語ツールチップ */
  .jw{position:relative;display:inline-flex;align-items:center;gap:4px;}
  .jq{width:15px;height:15px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface-2);color:var(--mut);
        font-size:10px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 auto;font-family:inherit;}
  .jq:hover{color:var(--ink);border-color:var(--ink);}
  .jbub{display:none;position:absolute;bottom:calc(100% + 7px);left:-6px;z-index:3500;width:236px;max-width:70vw;
        background:#fff;color:var(--ink-soft);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 10px 30px rgba(42,54,59,.22);
        padding:10px 12px;font-size:11.5px;line-height:1.6;font-weight:400;white-space:normal;text-align:left;}
  .jbub b{color:var(--ink);}
  .jw.on .jbub{display:block;}
  .pp-share{display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:0;background:none;border:none;
        color:var(--cta);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
  .pp-share:hover{text-decoration:underline;}
  .pp-share .ic{width:14px;height:14px;vertical-align:-2px;}
  /* 詳細カード先頭のアクション行（相談／電話／共有）＝結論のすぐ下に主要アクションを配置 */
  .pp-actions{display:flex;gap:8px;margin:12px 0 4px;}
  .pp-act{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
        padding:9px 4px;min-height:58px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);
        color:var(--cta);font-size:11.5px;font-weight:700;text-decoration:none;cursor:pointer;font-family:inherit;transition:background .15s,transform .1s;}
  .pp-act:hover{background:#e6efe3;}
  .pp-act:active{transform:scale(.96);}
  .pp-act svg{width:20px;height:20px;flex:0 0 auto;}   /* class有無に関わらず全アイコンを制約（IC.shareはic無し） */
  .pp-act span{color:var(--ink);}
  .pp-act.primary{background:var(--cta);border-color:var(--cta);color:#fff;}
  .pp-google-review{
        display:flex;align-items:center;gap:6px;min-height:54px;margin:7px 0 2px;padding:7px 10px;
        border:1px solid #d6ddd4;border-radius:11px;background:#f3f7ef;color:var(--ink);text-decoration:none;
        box-sizing:border-box;transition:border-color .15s,background .15s,transform .1s;}
  .pp-google-review:hover{border-color:#bfc9bb;background:#eef4e9;}
  .pp-google-review:active{transform:scale(.985);}
  .pp-google-review:focus-visible{outline:3px solid rgba(23,105,196,.25);outline-offset:2px;}
  .pp-google-mark{display:inline-flex;flex:0 0 auto;width:23px;height:23px;}
  .pp-google-mark svg{display:block;width:100%;height:100%;}
  .pp-google-stars{flex:0 0 auto;color:#f9ab00;font-size:11.5px;letter-spacing:.5px;line-height:1;white-space:nowrap;}
  .pp-google-review strong{flex:0 0 auto;color:var(--ink);font-size:18px;line-height:1;font-variant-numeric:tabular-nums;}
  .pp-google-label{min-width:0;flex:1 1 auto;color:var(--ink-soft);font-size:10.5px;line-height:1.3;white-space:nowrap;}
  .pp-google-label .short{display:none;}
  .pp-google-arrow{flex:0 0 auto;margin-left:2px;color:var(--mut);font-size:17px;line-height:1;}
  .pp-trust-line{margin:3px 0 3px;color:var(--mut);font-size:10.5px;line-height:1.45;text-align:center;}
  /* ④/⑥ ローディングの体感改善（うっすら明滅） */
  @keyframes ppPulse{0%,100%{opacity:.5}50%{opacity:1}}
  .pp-loading{animation:ppPulse 1.2s ease-in-out infinite;}
  .pp-act.primary span{color:#fff;}
  .pp-act.primary:hover{background:var(--cta-hover);}
  @media(max-width:360px){
    .pp-google-review{gap:5px;padding-left:8px;padding-right:8px}
    .pp-google-stars{font-size:10.5px;letter-spacing:0}
    .pp-google-label .full{display:none}
    .pp-google-label .short{display:inline}
  }
  /* 現在地FAB（右下・ズームの上） */
  .map-locate-btns{position:absolute;right:14px;bottom:96px;z-index:1000;}
  @media(max-width:680px){ .map-locate-btns{bottom:calc(150px + env(safe-area-inset-bottom,0));} }
  /* モバイル ボトムシート（tochi-map 準拠: transformベース＝GPU加速・56dvh→90dvh・safe-area） */
  #bottomSheet{position:fixed;left:0;right:0;bottom:0;z-index:2600;background:#fff;border-radius:18px 18px 0 0;
        box-shadow:0 -6px 30px rgba(42,54,59,.24);max-height:56dvh;overflow:hidden;display:flex;flex-direction:column;
        padding-bottom:env(safe-area-inset-bottom,0);
        transform:translateY(105%);visibility:hidden;
        transition:transform .35s cubic-bezier(.32,.72,.24,1.02), max-height .3s ease, visibility 0s .35s;}
  #bottomSheet.peek,#bottomSheet.full{transform:translateY(0);visibility:visible;
        transition:transform .35s cubic-bezier(.32,.72,.24,1.02), max-height .3s ease;}
  #bottomSheet.full{max-height:calc(90dvh - env(safe-area-inset-top,0));}
  #bottomSheet .bs-handle{position:relative;padding:10px 0 6px;display:flex;justify-content:center;flex:0 0 auto;cursor:grab;touch-action:none;}
  #bottomSheet .bs-handle i{width:42px;height:5px;border-radius:3px;background:var(--line-2);display:block;}
  #bottomSheet .bs-close{position:absolute;right:10px;top:8px;width:32px;height:32px;border:none;background:var(--surface-2);
        border-radius:50%;color:var(--mut);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
  #bottomSheet .bs-body{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px 0 24px;flex:1 1 auto;}
  #bottomSheet .bs-body .pp{padding:6px 18px 0;}
  /* モバイルのsticky相談バー: 上部アクションが見えなくなった時だけ表示 */
  #bottomSheet .bs-sticky{flex:0 0 auto;display:none;padding:8px 14px;border-top:1px solid var(--line);background:#fff;}
  #bottomSheet.sticky-on .bs-sticky{display:block;}
  #bottomSheet .bs-sticky-btn{width:100%;padding:13px;border:none;border-radius:12px;background:var(--cta);color:#fff;font-weight:800;font-size:15px;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;}
  #bottomSheet .bs-sticky-btn:active{transform:scale(.98);}
  @media (prefers-reduced-motion: reduce){ #bottomSheet{transition:none;} }
  /* トースト */
  .toast{position:fixed;left:50%;bottom:72px;transform:translateX(-50%) translateY(14px);z-index:3200;
        background:rgba(42,54,59,.95);color:#FCFFF7;font-size:13px;padding:10px 18px;border-radius:999px;
        box-shadow:0 4px 20px rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:86vw;text-align:center;}
  .toast.on{opacity:1;transform:translateX(-50%) translateY(0);}
  /* 初回オンボーディング：最初の土地指定まで残る、操作可能な小型カード */
  .onboard-card{position:absolute;z-index:1500;top:14px;left:50%;transform:translateX(-50%) translateY(-8px);
        width:min(470px,calc(100% - 150px));background:rgba(255,255,255,.97);border:1px solid rgba(60,177,255,.42);
        border-radius:15px;box-shadow:0 12px 34px rgba(42,54,59,.22);padding:13px 14px;display:none;opacity:0;}
  .onboard-card.on{display:block;animation:onboardIn .28s ease forwards;}
  @keyframes onboardIn{to{opacity:1;transform:translateX(-50%) translateY(0);}}
  .onboard-card strong{display:block;color:var(--ink);font-size:14px;line-height:1.45;}
  .onboard-card p{margin:4px 0 10px;color:var(--ink-soft);font-size:12px;line-height:1.6;}
  .onboard-actions{display:flex;gap:8px;}
  .onboard-btn{flex:1 1 0;min-height:42px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2);
        color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:8px 10px;}
  .onboard-btn.primary{background:var(--cta);border-color:var(--cta);color:#fff;}
  .onboard-btn:hover{border-color:var(--accent);}
  .onboard-btn.primary:hover{background:var(--cta-hover);border-color:var(--cta-hover);}
  .onboard-map-hint{display:none;align-items:center;justify-content:space-between;gap:10px;padding-top:2px;}
  .onboard-card.map-mode .onboard-actions{display:none;}
  .onboard-card.map-mode .onboard-map-hint{display:flex;}
  .onboard-map-hint span{color:var(--info-fg);font-size:12.5px;font-weight:700;}
  .onboard-map-hint button{flex:0 0 auto;border:none;background:none;color:var(--cta);font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;padding:8px;}
  .first-result-guide{position:relative;margin:9px 0 11px;padding:10px 34px 10px 11px;border:1px solid var(--info-bd);border-radius:9px;
        background:var(--info-bg);color:var(--info-fg);font-size:11.5px;line-height:1.65;}
  .first-result-guide b{color:var(--info-fg-strong);}
  .first-result-guide button{position:absolute;right:5px;top:5px;width:28px;height:28px;border:none;border-radius:50%;
        background:#fff;color:var(--info-fg);font-size:15px;cursor:pointer;}
  @media(max-width:768px){
    .onboard-card{top:64px;width:calc(100% - 20px);padding:12px;}
    .onboard-actions{flex-direction:column;gap:7px;}
    .onboard-btn{min-height:44px;}
  }
  @media (prefers-reduced-motion: reduce){
    .onboard-card.on{animation:none;opacity:1;transform:translateX(-50%);}
    .toast,.search-wrap.onboard-focus input{animation:none;}
  }
  /* PC 右サイドパネル（tochi-map 準拠: 地図を覆わず縮めて共存） */
  #sidePanel{position:fixed;top:56px;right:0;bottom:0;width:380px;max-width:92vw;z-index:1200;background:var(--surface);
        border-left:1px solid var(--line-2);box-shadow:-8px 0 28px rgba(42,54,59,.12);display:flex;flex-direction:column;
        transform:translateX(101%);visibility:hidden;transition:transform .32s cubic-bezier(.32,.72,.24,1.02), visibility 0s .32s;}
  #sidePanel.show{transform:translateX(0);visibility:visible;transition:transform .32s cubic-bezier(.32,.72,.24,1.02);}
  #sidePanel .sp-header{flex:0 0 auto;height:44px;display:flex;align-items:center;justify-content:flex-end;padding:0 10px;border-bottom:1px solid var(--line);}
  #sidePanel .sp-close{width:34px;height:34px;border:none;background:var(--surface-2);color:var(--mut);border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s;}
  #sidePanel .sp-close:hover{color:var(--ink);}
  #sidePanel .sp-close:active{transform:scale(.9);}
  #sidePanelContent{flex:1 1 auto;overflow-y:auto;padding:8px 18px 30px;scrollbar-width:thin;scrollbar-color:rgba(42,54,59,.25) transparent;}
  #sidePanelContent::-webkit-scrollbar{width:5px;}
  #sidePanelContent::-webkit-scrollbar-thumb{background:rgba(42,54,59,.22);border-radius:4px;}
  #sidePanelContent .pp{padding:0;}
  body.side-open #map{margin-right:380px;}
  @media(max-width:1023px){ #sidePanel{display:none!important;} body.side-open #map{margin-right:0;} }

  /* ===== SEO静的コンテンツ（地図は全画面のまま、その下に解説・FAQを通常フローで配置＝クローラブル化） ===== */
  html,body{height:auto;min-height:100%;}            /* 文書を縦に伸ばせるように（旧:height:100%でビューポート固定） */
  #appShell{display:flex;flex-direction:column;height:100vh;height:100dvh;position:relative;flex:0 0 auto;}  /* 従来の全画面アプリ領域＝地図UXは不変 */
  .noscript-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:14px;color:var(--ink-soft);background:var(--surface);}
  #seoContent{background:var(--surface);color:var(--ink);border-top:1px solid var(--line);}
  .seo-inner{max-width:820px;margin:0 auto;padding:38px 20px 52px;}
  .seo-crumbs{font-size:12px;color:var(--mut);margin-bottom:20px;}
  .seo-crumbs a{color:var(--accent);text-decoration:none;}
  .seo-inner h2{font-size:20px;line-height:1.45;margin:36px 0 10px;color:var(--ink);font-weight:800;letter-spacing:.01em;}
  .seo-inner h2:first-of-type{margin-top:0;}
  .seo-inner h3{font-size:15.5px;margin:20px 0 6px;color:var(--ink);font-weight:700;}
  .seo-inner p{font-size:14.5px;line-height:1.85;margin:9px 0;color:var(--ink-soft);}
  .seo-inner b{color:var(--ink);}
  .seo-lead{font-size:15.5px;line-height:1.8;}
  .seo-inner ul,.seo-inner ol{margin:9px 0;padding-left:1.35em;}
  .seo-inner li{font-size:14.5px;line-height:1.8;color:var(--ink-soft);margin:5px 0;}
  .seo-note{font-size:12.5px;background:var(--surface-2);border-radius:10px;padding:12px 14px;margin:16px 0;color:var(--ink-soft);border:1px solid var(--line);}
  .seo-src{font-size:12px;color:var(--mut);line-height:1.75;margin-top:6px;}
  .seo-cta{display:inline-flex;align-items:center;gap:8px;margin:10px 0 4px;padding:13px 22px;background:var(--cta);color:#fff;font-weight:800;border-radius:12px;text-decoration:none;font-size:15px;}
  .seo-faq{margin:6px 0 0;}
  .seo-faq dt{font-weight:800;color:var(--ink);margin:18px 0 4px;font-size:15px;}
  .seo-faq dd{margin:0 0 4px;font-size:14px;line-height:1.8;color:var(--ink-soft);}
  #siteFooter{background:#1f2430;color:rgba(255,255,255,.85);font-size:13px;line-height:1.95;padding:26px 20px;text-align:center;}
  #siteFooter a{color:#fff;text-decoration:underline;}
  #siteFooter .lic{font-size:12px;color:rgba(255,255,255,.62);}
  .seo-more{display:block;margin-top:9px;color:var(--cta);font-weight:700;font-size:12px;text-decoration:none;}
  .seo-contacts{list-style:none;padding:0;margin:12px 0;}
  .seo-contacts li{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:8px 0;font-size:14px;line-height:1.7;color:var(--ink-soft);}
  .seo-contacts b{color:var(--ink);}
  .seo-contacts a{color:var(--cta);font-weight:700;text-decoration:none;}
    .seo-byline{margin:0 0 14px;font-size:12.5px;color:var(--mut);}
  .seo-byline a{color:var(--cta);text-decoration:none;font-weight:600;}
  .seo-cmp{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:13.5px;}
  .seo-cmp th,.seo-cmp td{border:1px solid var(--line-2);padding:8px 10px;text-align:left;vertical-align:top;}
  .seo-cmp th{background:var(--surface-2);font-weight:700;color:var(--ink);}
  .seo-cmp caption{font-size:11.5px;color:var(--mut);text-align:left;padding-bottom:4px;}
.seo-answer{margin:2px 0 18px;padding:14px 16px;background:#f0f7ff;border:1px solid #bcdcf5;border-left:4px solid var(--cta);border-radius:10px;font-size:14.5px;line-height:1.85;color:var(--ink);}
  .seo-answer b{font-weight:700;}
  .seo-related{margin:10px 0;padding-left:1.2em;}
  .seo-related li{font-size:14px;line-height:1.9;color:var(--ink-soft);}
  .seo-related a{color:var(--cta);font-weight:700;text-decoration:none;}
  .seo-toc{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:6px 0 22px;}
  .seo-toc-t{font-weight:800;color:var(--ink);font-size:13px;margin-bottom:6px;}
  .seo-toc ul{margin:0;padding-left:1.2em;column-gap:24px;}
  .seo-toc li{font-size:13px;line-height:1.75;}
  .seo-toc a{color:var(--cta);text-decoration:none;}
  .gake-fig{margin:14px 0;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;}
  .gake-fig figcaption{font-size:11.5px;color:var(--mut);margin-top:6px;text-align:center;}
  .gake-fig svg{display:block;width:100%;height:auto;max-width:560px;margin:0 auto;}
  /* ===== モバイル基礎品質（#10）＝ベースCSSより後に置き確実に上書き ===== */
  @media(max-width:680px){
    .search-wrap input{font-size:16px;}                 /* iOSのフォーカス時の自動ズームを防止 */
    #bottomSheet .bs-close{width:40px;height:40px;}     /* 閉じる等のタップ判定を44px相当へ拡大 */
    .map-sheet-close{width:40px;height:40px;}
    .share-modal-close{width:40px;height:40px;}
    .search-go{width:36px;height:36px;}
    .jq{position:relative;}
    .jq::after{content:'';position:absolute;top:-11px;left:-11px;right:-11px;bottom:-11px;}   /* ?の当たり判定を拡大 */
  }
