/* テーマ rojin（老人ホーム案内・2026-09-25）。サイト設定に「テーマ: rojin」と書くと base.html が body に class="themed theme-rojin" を付け、
   このファイルを style.css の後ろに読み込む（gen/render.py の theme_css）。テンプレート/老人ホーム案内/_layout.html は二重に読まない。
   じまい案内と同じタッチ（style.css の .themed：明朝の見出し・白い角丸のカード・流れる雲）に、珊瑚色と「晴れた空の住まい」の挿絵（静的/rojin.svg）。
   ほかの案内サイトと見分けるための色：墓＝青・庭＝緑・家＝柿色（#b8541a）・終身＝藤・ペット＝若草 → 老人ホーム＝珊瑚色（#bf4056）。
   佐藤さんの指示「終身サポート案内とそっくりすぎる」「楽しそうなイメージに」。明るい空・ひまわり・旗飾りは挿絵に持たせ、画面の部品は珊瑚色1色で落ち着かせる。
   style.css・script.js は変えない（変えるとほかの5サイトの全ページの ?v= が動くため）。基調色（--main・--main-dark・--main-light）はサイト設定の 配色 から base.html が出す。
   ご年配の方が使う前提：押す場所は高さ48px以上、文字は本文と同じ大きさ以上（1rem＝16px。注記・表の見出しも小さくしない）、
   文字と地のコントラストは4.5:1以上（白×--main #bf4056 で5.1:1、--main-dark #93283d×--main-light #fdecef で7.1:1、
   --muted #6a555a×--bg #fff8f5 で6.5:1、--ink #2e2426×--bg で14.3:1、#8a2d2d×白 で8.5:1）。 */
.theme-rojin {
  --bg: #fff8f5;                        /* rojin.svg の下端のぼかし（rfade）と同じ色。変えるときは svg 側も合わせる */
  --paper: #ffffff;
  --ink: #2e2426;
  --muted: #6a555a;
  --line: #f1dcdf;
  --garden-ink: #5a1f2c;
  --garden-ink-soft: #74323f;
  --shadow: 0 6px 22px rgba(120, 44, 58, .12);
  --shadow-sm: 0 3px 12px rgba(120, 44, 58, .08);
  --hero-sky: #d6ecf5;
  --band-a: rgba(255, 248, 245, .30);
  --band-b: rgba(255, 248, 245, .62);
  --band-c: rgb(255, 248, 245);
}

/* スマホのヒーロー：挿絵は高さに合わせて縮め、左へ寄せて切り取る（真ん中で切るとパラソルが半分になり、住まいの壁だけが見えるため）。
   40% の位置で、テラス・旗飾り・玄関が画面に入る（390px 幅で確認。2026-09-25） */
@media (max-width: 640px) {
  .theme-rojin .hero-garden { background-size: auto 100%; background-position: 40% 100%; }
}
/* 見出しの折り返し：1文字だけ次の行に落ちないよう行の長さをそろえ、対応しているブラウザーでは文節で折る（未対応のブラウザーは今までどおり） */
.theme-rojin h1, .theme-rojin h2, .theme-rojin h3 { text-wrap: balance; word-break: auto-phrase; }
/* 見出しの後ろを雲が流れるので、家じまい案内と同じ白い光で縁取って読みやすくする */
.theme-rojin .hero-garden h1 { text-shadow: 0 1px 0 rgba(255,255,255,.9), 0 0 16px rgba(255,255,255,.95), 0 0 32px rgba(255,255,255,.8); }
.theme-rojin .hero-garden .hero__lead, .theme-rojin .hero-garden .hero__stats { text-shadow: 0 1px 0 rgba(255,255,255,.95), 0 0 12px rgba(255,255,255,.95), 0 0 24px rgba(255,255,255,.85); }
.theme-rojin .pref-list li a, .theme-rojin .city-list li a { box-shadow: 0 1px 3px rgba(120, 44, 58, .06); }
/* 相談先の種類が1つ（終身サポート事業者）だけなので、ボタンの最小幅を広げる（140px だと9文字が入りきらず欠ける） */
.theme-rojin .cat-nav__list { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }

/* 事業者カード（テンプレート/_parts.html の card）：追加項目が多いので見出しの幅を広げ、狭い画面では見出しと値を縦に積む */
/* 同じ行に並んだカードで、確認の枠と相談ボタンの高さをそろえる（2026-09-21 佐藤さんの指摘）。
   カードの高さは .cards のグリッドがそろえているが、中身は上詰めなので、項目の数や名称の折り返しで
   確認の枠とボタンの位置が行内でずれていた。項目の欄（.card__meta）を伸ばして、下の2つを底に押し付ける。 */
/* min-width:0 … グリッドの項目は既定で min-content より縮まないため、スマホ幅でカードが列より 18px はみ出していた
   （画面全体が 2px 横スクロールしていた。2026-09-21 に気づいた。共通の .cards は触らず、このサイトだけで直す） */
.theme-rojin .card { display: flex; flex-direction: column; min-width: 0; }
.theme-rojin .card__meta { flex: 1 1 auto; }
.theme-rojin .card__meta div { padding: 3px 0; }
.theme-rojin .card__meta dt { min-width: 11em; flex: 0 0 11em; }   /* いちばん長い見出し「重要事項説明書の交付」が1行に入る幅 */
.theme-rojin .card__meta dd { overflow-wrap: anywhere; }
@media (max-width: 560px) {
  .theme-rojin .card__meta div { flex-direction: column; gap: 0; padding: 4px 0; }
  .theme-rojin .card__meta dt { min-width: 0; flex: none; font-size: .8rem; }
}
/* 「提携」バッジのすぐそばの説明（紹介料を受け取ることの表示。サイト設定の 広告表示.提携バッジ） */
.theme-rojin .card__partner-note { margin: -2px 0 10px; padding: 8px 10px; font-size: .9rem; line-height: 1.7;   /* 周りの文字（.9rem）より小さくしない */ color: var(--ink); background: var(--main-light); border-radius: 8px; }
/* 確認項目：「〇項目で記載を確認」と、折りたたみの中の内訳。順位や点数に見える飾り（星・色分けの丸・棒）は付けない */
.theme-rojin .card__kakunin { margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fffbfa; }
.theme-rojin .card__kakunin-sum { margin: 0; font-size: .92rem; font-weight: 700; color: var(--garden-ink); }
.theme-rojin .card__kakunin details { margin-top: 6px; }
.theme-rojin .card__kakunin summary { cursor: pointer; font-size: .88rem; color: var(--main-dark); padding: 6px 0; min-height: 32px; }
.theme-rojin .card__kakunin summary:focus-visible { outline: 2px solid var(--main); outline-offset: 2px; border-radius: 4px; }
.theme-rojin .card__kakunin-list { list-style: none; margin: 4px 0 8px; padding: 0; font-size: .86rem; }
.theme-rojin .card__kakunin-list li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-top: 1px solid var(--line); }
.theme-rojin .card__kakunin-list li strong { flex: 0 0 auto; font-weight: 700; color: var(--ink); }
.theme-rojin .card__kakunin .note { font-size: .86rem; margin: 6px 0 0; }   /* 内訳と同じ大きさ（注記を内訳より小さくしない） */

/* パソコンのヘッダー：メニューが8項目（追加メニュー3つ）あり、題字の下の段に並ぶ。段の間を詰め、
   固定ヘッダーが高くなる分、地図の凡例から飛んだ先の地方の見出しが隠れないよう、止まる位置を下げる
   （style.css の .region__name は1段のヘッダー＝72px が前提。720〜927px ではメニューが2段に割れて約127px になる） */
@media (min-width: 720px) {
  .theme-rojin .site-header__inner { padding-top: 6px; padding-bottom: 8px; row-gap: 2px; }
  .theme-rojin .nav-pc { gap: 4px 14px; }
  .theme-rojin .region__name { scroll-margin-top: 150px; }
}

/* 印刷：ガイド「契約前のチェックリスト」は「印刷して持っていけます」と案内している。
   A4 の内幅はスマホ用のレイアウトになるので、画面下の固定バー（全ページの下端に重なる）・メニュー・背景の帯を消し、
   本文のあとの相談カード・問い合わせ枠のボタン・姉妹サイトのバナーも紙には出さない（紹介料の表示の一文は紙にも残す） */
@media print {
  .theme-rojin .bottom-bar, .theme-rojin .nav-toggle, .theme-rojin .site-nav, .theme-rojin .page-band,
  .theme-rojin .cat-nav, .theme-rojin .cta, .theme-rojin .consult__card, .theme-rojin .sister, .theme-rojin .site-footer { display: none !important; }
  .theme-rojin .consult { background: none; border: 0; padding: 0 16px; margin-top: 16px; }
  .theme-rojin .site-header { position: static; border-bottom: 0; }
  body.theme-rojin { padding-bottom: 0; background: #fff; }
}

/* ---------- ここから老人ホーム案内の部品（絞り込み・身元保証の案内・種類別ページ・施設の方へのフォーム） ---------- */

/* JavaScript が動くまで・隠した一覧は、どの指定よりも優先して隠す（.card などの display の指定に負けないように） */
.rf[hidden], .rojin-list [hidden], .rojin-list[hidden], .rf-area [hidden], .rf-na[hidden] { display: none !important; }   /* .rf-area＝都道府県・政令市ページの「市区町村から探す」（2026-09-28） */

/* 絞り込み中に同じページの中へ移ったとき、飛び先にフォーカスを移すために付けた tabindex="-1"（rojin-filter.js の data-rf-focus）。枠は出さない */
[data-rf-focus]:focus { outline: none; }

/* 飛び先の見出しが固定ヘッダーに隠れないように（パソコンはヘッダーが2段。theme-shushin.css の .region__name と同じ考え方） */
#kazu, #shiborikomi, #ichiran, #soudan, #shikuchoson, #ku, .rojin-shurui, .rojin-seirei { scroll-margin-top: 80px; }
@media (min-width: 720px) {
  #kazu, #shiborikomi, #ichiran, #soudan, #shikuchoson, #ku, .rojin-shurui, .rojin-seirei { scroll-margin-top: 150px; }
}

/* ---------- 市区町村ページの絞り込み（_list.html の filter_panel・静的/rojin-filter.js） ---------- */
.rf { background: var(--paper, #fff); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-sm, none); padding: 4px 18px 18px; margin: 20px 0 8px; }
.rf h2 { margin-top: 18px; }
.rf-lead { margin-bottom: 4px; }
.rf-group { margin-top: 16px; }
.rf-group__h { font-weight: 700; color: var(--garden-ink, var(--main-dark)); margin: 0 0 8px; }
.rf-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.rf-chip {
  display: inline-flex; align-items: center; gap: .4em;
  min-height: 48px; padding: 10px 18px; border-radius: 24px;   /* 1行なら丸い端、2行に折り返したときは角の丸い四角 */
  border: 2px solid var(--main); background: #fff; color: var(--main-dark);
  font: inherit; font-size: 1rem; font-weight: 700; line-height: 1.45; text-align: left;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.rf-chip::before { content: ""; flex: 0 0 auto; width: 1.05em; height: 1.05em; border: 2px solid currentColor; border-radius: 4px; box-sizing: border-box; }
.rf-chip:hover { background: var(--main-light); }
.rf-chip[aria-pressed="true"] { background: var(--main); border-color: var(--main); color: #fff; }
.rf-chip[aria-pressed="true"]::before {
  border-color: #fff; background: #fff;
  /* チェックの印（藤色） */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.4l3 3 6.6-6.8' fill='none' stroke='%235b4a8a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 100% 100%;
}
.rf-chip:focus-visible, .rf-reset:focus-visible, .rf-go:focus-visible { outline: 3px solid var(--main-dark); outline-offset: 3px; }
.rf-note { margin: 10px 0 0; font-size: 1rem; color: var(--ink); line-height: 1.8; }   /* 条件の対象の説明は、読み飛ばされないよう本文と同じ大きさ・色 */
/* 件数：パネルの上に置き、ボタンを下へ送っても固定ヘッダーのすぐ下に残す（--rf-top は rojin-filter.js がヘッダーの高さを入れる）。
   パネルの左右の余白いっぱいに帯として出す（パネルの padding と同じだけ外へ広げる） */
.rf-status {
  position: -webkit-sticky; position: sticky; top: var(--rf-top, 0px); z-index: 10;
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px;
  margin: 14px -18px 0; padding: 8px 18px;
  background: var(--main-light); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.rf-status__text { flex: 1 1 11em; min-width: 0; }
.rf-status__go {
  flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 44px; padding: 6px 14px;
  border-radius: 8px; background: var(--main); color: #fff; font-weight: 700; text-decoration: none; line-height: 1.3;
}
.rf-status__go::after { content: " ↓"; }
.rf-status__go:hover { background: var(--main-dark); color: #fff; }
.rf-status__go:focus-visible { outline: 3px solid var(--main-dark); outline-offset: 2px; }
.rf-count { margin: 0; font-size: 1.15rem; font-weight: 700; line-height: 1.5; color: var(--garden-ink, var(--main-dark)); }
.rf-known { margin: 2px 0 0; font-size: 1rem; line-height: 1.6; color: var(--ink); }
.rf-status--zero .rf-count { color: #8a2d2d; }
/* ボタンを押して数が変わったことが分かるよう、帯を一瞬光らせる（動きを減らす設定のときは光らせない） */
.rf-status--changed { animation: rf-flash .9s ease-out; }
@keyframes rf-flash {
  from { background: #fff; box-shadow: inset 0 0 0 3px var(--main); }
  to { background: var(--main-light); box-shadow: inset 0 0 0 3px transparent; }
}
@media (prefers-reduced-motion: reduce) { .rf-status--changed { animation: none; } }
.rf-result { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.rf-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.rf-actions .btn { min-height: 48px; }
.rf-reset {
  min-height: 48px; padding: 10px 18px; border-radius: 8px; border: 2px solid var(--muted);
  background: #fff; color: var(--ink); font: inherit; font-weight: 700; cursor: pointer;
}
.rf-reset:hover { background: var(--main-light); }
.rf-empty { margin: 16px 0; padding: 14px 16px; border: 2px dashed var(--line); border-radius: 12px; background: var(--paper, #fff); font-weight: 700; }
@media (max-width: 560px) {
  .rf { padding: 2px 14px 16px; }
  .rf-status { margin-left: -14px; margin-right: -14px; padding: 8px 14px; }
  .rf-count { font-size: 1.1rem; }
  .rf-chip { width: 100%; }
  .rf-actions .btn, .rf-reset { flex: 1 1 100%; }
}

/* ---------- 身元保証の案内（_list.html の hoshounin_box。市区町村ページの上に1か所） ---------- */
.rojin-hoshou { margin: 20px 0 8px; padding: 4px 18px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--main-light); }
.rojin-hoshou h2 { margin-top: 14px; }
.rojin-hoshou p { margin-bottom: 10px; }
.rojin-hoshou__links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin: 4px 0 0; }
.rojin-hoshou__links .btn { min-height: 48px; }
.rojin-hoshou__sister { font-weight: 700; padding: 10px 0; }
.rojin-hoshou__sister::after { content: " →"; }

/* ---------- 施設の数の表（_list.html の type_table） ---------- */
.rojin-kazu { width: 100%; border-collapse: collapse; background: var(--paper, #fff); border: 1px solid var(--line); border-radius: 10px; font-size: 1rem; }
.rojin-kazu th, .rojin-kazu td { padding: 11px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.rojin-kazu th { background: var(--main-light); color: var(--main-dark); font-size: 1rem; }
.rojin-kazu td + td, .rojin-kazu th + th { text-align: right; white-space: nowrap; }
.rojin-kazu tbody tr:last-child td { border-bottom: 0; }
.rojin-kazu a { font-weight: 700; display: inline-block; padding: 4px 0; }
/* 絞り込み中に当てはまる施設が0か所の種類（rojin-filter.js が行に rf-off を付け、名前のリンクを外す） */
.rojin-kazu tr.rf-off td { color: var(--muted); }
.rojin-kazu tr.rf-off a:not([href]) { font-weight: 400; color: var(--muted); text-decoration: none; cursor: default; }
.rf-kazu-note { margin: 0 0 10px; padding: 10px 12px; border-radius: 8px; background: var(--main-light); color: var(--ink); font-size: 1rem; line-height: 1.7; }

/* ---------- 種類ごとの一覧（_list.html の cards_by_type） ---------- */
.rojin-shurui__foot { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 14px 0 0; font-size: 1rem; }
.rojin-shurui > .note, .rojin-src { font-size: 1rem; }   /* 種類の説明と出典・費用の断り書き（style.css の .note は .9rem）を本文と同じ大きさに */
.rojin-shurui__foot a { display: inline-block; padding: 8px 0; }
.card__feat { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: var(--main-light); font-size: 1rem; line-height: 1.75; color: var(--ink); }
.card__feat-h { font-weight: 700; color: var(--main-dark); }
.card__feat-note { font-size: 1rem; color: var(--ink); }   /* 見学で確かめる一言は、特色の文より小さく・薄くしない */

/* ---------- 種類別ページ（shurui.html） ---------- */
.rojin-sum { display: grid; gap: 10px; margin: 0 0 12px; }
.rojin-sum div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; padding: 12px 14px; background: var(--paper, #fff); border: 1px solid var(--line); border-radius: 10px; }
.rojin-sum dt { color: var(--muted); min-width: 6em; }
.rojin-sum dd { margin: 0; font-size: 1.15rem; font-weight: 700; color: var(--garden-ink, var(--main-dark)); }
.rojin-sum dd small { display: block; font-size: 1rem; font-weight: 400; color: var(--muted); }
@media (min-width: 720px) { .rojin-sum { grid-template-columns: 1fr 1fr; } }

/* ---------- 施設の方へ（shisetsu.html） ---------- */
.form input[type=url] { width: 100%; padding: 10px; border: 1px solid #bbb; border-radius: 6px; font-size: 1rem; }   /* style.css の text・tel・email と同じ */
.rojin-shisetsu__feats { display: grid; gap: 2px 16px; }
.rojin-shisetsu__feats legend { margin-bottom: 4px; }
.rojin-shisetsu__feats label { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 400; cursor: pointer; }
.rojin-shisetsu__feats input[type=checkbox] { width: 22px; height: 22px; flex: 0 0 auto; accent-color: var(--main); }
.rojin-shisetsu__hint { grid-column: 1 / -1; margin: 0 0 6px; font-size: 1rem; line-height: 1.7; color: var(--ink); }
.rojin-shisetsu__err { grid-column: 1 / -1; margin: 4px 0 8px; padding: 10px 12px; border: 2px solid #8a2d2d; border-radius: 8px; background: #fff; color: #8a2d2d; font-weight: 700; font-size: 1rem; line-height: 1.7; }
@media (min-width: 720px) { .rojin-shisetsu__feats { grid-template-columns: 1fr 1fr; } }

@media print {
  .rf, .rojin-hoshou__links, .rojin-shurui__foot { display: none !important; }
}

/* 種類の全国ページ（/shurui/{スラッグ}/。2026-09-28）：その種類が1か所も無い県（リンクなし）。押せるボタンと見分けられるよう、点線で色を薄く */
.pref-list .pref-list__none { display: inline-block; padding: 8px 14px; border: 1px dashed var(--line); border-radius: 999px; color: var(--muted); font-size: .95rem; }

/* ---------- 2026-10-02 SEO ---------- */
/* 施設のカードは、画面に近づくまで描画を後回しにする（大きな市区町村ページは数百枚あり、全部を最初に並べると表示が遅い。
   文字は DOM に残るので、検索エンジンの読み取りとブラウザーのページ内検索はそのまま。高さの見込みは特色の無いカードの実寸に近い値） */
.theme-rojin .rojin-list .card { content-visibility: auto; contain-intrinsic-size: auto 330px; }
/* 種類別ページ・特色のページの施設の名前の並び（カードの代わり。名前・種類と定員・特色） */
.rojin-names { list-style: none; margin: 0 0 12px; padding: 0; border-top: 1px solid var(--line); }
.rojin-names li { padding: 9px 2px; border-bottom: 1px solid var(--line); line-height: 1.6; }
.rojin-names__name { font-weight: 700; color: var(--ink); }
.rojin-names__meta { display: block; font-size: .92rem; color: var(--muted); }
.rojin-names__feat { display: block; font-size: .92rem; color: var(--main-dark); }
/* 特色のページの「載っていない施設に、その特色が無いとは限りません」（読み飛ばされないよう本文の大きさで、枠で囲む） */
.rojin-caution { margin: 12px 0 18px; padding: 12px 14px; border: 2px solid var(--main-light); border-left: 6px solid var(--main); border-radius: 10px; background: var(--paper, #fff); line-height: 1.8; }
/* 種類のまとめ（有料老人ホーム・サ高住）の内訳の並び。ページの無い種類はリンクなし */
.rojin-uchiwake { margin-top: 12px; }
.rojin-uchiwake .rojin-uchiwake__item { border-style: solid; }

/* ---------- サイト内の検索（2026-10-03。静的/rojin-search.js・_list.html の search_box） ---------- */
.rs[hidden], .rs [hidden] { display: none !important; }
.rs-band { background: var(--paper, #fff); border-bottom: 1px solid var(--line); padding: 10px 0; }
.rs { position: relative; margin: 0; }
.rs__label { display: block; font-weight: 700; font-size: .95rem; color: var(--main-dark); margin: 0 0 6px; }
.rs-band .rs__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }   /* 帯では見出しを隠す（placeholder と「探す」で分かる。読み上げには残す） */
.rs__row { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.rs__input { flex: 1 1 16em; min-width: 0; min-height: 46px; padding: 8px 14px; font-size: 1.05rem; border: 2px solid var(--main); border-radius: 999px; background: #fff; color: var(--ink); }
.rs__input:focus-visible { outline: 3px solid var(--main-dark); outline-offset: 2px; }
.rs__go, .rs__geo { min-height: 46px; padding: 8px 18px; border-radius: 999px; font-weight: 700; font-size: 1rem; cursor: pointer; }
.rs__go { background: var(--main); color: #fff; border: 2px solid var(--main); }
.rs__go:hover { background: var(--main-dark); border-color: var(--main-dark); }
.rs__geo { background: #fff; color: var(--main-dark); border: 2px solid var(--main); }
.rs__geo::before { content: "📍"; margin-right: .3em; }
.rs__geo:hover { background: var(--main-light); }
.rs__go:focus-visible, .rs__geo:focus-visible { outline: 3px solid var(--main-dark); outline-offset: 2px; }
.rs__results { margin-top: 8px; padding: 10px 14px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 6px 18px rgba(120, 44, 58, .12); text-align: left; }
.rs__h { margin: 6px 0 4px; font-weight: 700; font-size: .9rem; color: var(--muted); }
.rs__list { list-style: none; margin: 0 0 6px; padding: 0; }
.rs__list li a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px; padding: 9px 6px; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); font-weight: 700; }
.rs__list li:last-child a { border-bottom: 0; }
.rs__list li a:hover, .rs__list li a:focus-visible { background: var(--main-light); }
.rs__n { font-weight: 400; font-size: .9rem; color: var(--muted); }
.rs__note { margin: 6px 0; font-size: .95rem; line-height: 1.7; color: var(--ink); }
/* トップの見出しの下の大きい検索窓 */
.rs--big { max-width: 640px; margin: 18px auto 0; padding: 14px 16px; background: rgba(255, 255, 255, .94); border-radius: 18px; box-shadow: 0 6px 22px rgba(120, 44, 58, .14); text-align: left; }
.rs--big .rs__label { font-size: 1.05rem; }
@media (max-width: 719px) {
  .rs__input { flex: 1 1 8em; }
  .rs__go { flex: 0 0 auto; }
  .rs--big .rs__geo { flex: 1 1 100%; }
  .rs-band { padding: 8px 0; }
  /* 帯（トップ以外）は1行に収める：入力欄・探す・📍（「現在地から探す」の文字は読み上げだけに残す） */
  .rs-band .rs__geo { flex: 0 0 auto; padding: 8px 13px; }
  .rs-band .rs__geo::before { margin-right: 0; }
  .rs-band .rs__geo-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
/* 検索から開いた施設のカード（#f=業者ID） */
.theme-rojin .card.card--hit { outline: 4px solid var(--main); outline-offset: 3px; box-shadow: 0 0 0 8px var(--main-light); }
