/* ============================================================================
   結ひの杜 v43 ― 「AI感」除去パス
   hp-pr-strategy / references/ai-quality.md のチェックリストに対する是正。
   指摘: 角丸16px・余白が全部品で均一 / アイコン付き3列カードグリッド /
        影付きカードの多用 / 全セクションが同じリズム
   方針: 箱で囲うのをやめ、罫線と余白で区切る。日本語の編集組版に寄せる。
   ※ このファイルは musuhi-v2.css → musuhi-v40.css の後に読み込むこと。
   ========================================================================= */

:root{
  /* 1. 角丸をほぼ落とす。122箇所の border-radius がこの4変数を見ている */
  --radius-sm:1px;
  --radius:2px;
  --radius-lg:2px;
  --radius-pill:2px;
  /* 2. 影を消す */
  --shadow-soft:none;
  --shadow-hover:none;
  /* 3. 締め色(テラコッタ)。深緑一色の単調さを崩す */
  --terra:#a8553c;
}

/* 影の直書きも消す */
.partners-card:hover,.partners-card:focus-visible,
.next-page-card:hover,.home-card,.faq-item,.triage-card,.operator-card{box-shadow:none}

/* ---------------------------------------------------------------------------
   4. 「3列カードグリッド」を索引リストに置き換える
   ------------------------------------------------------------------------ */
.partners-grid{
  display:block;
  margin:2.6rem 0 1.2rem;
  border-top:1.5px solid var(--mori-deep);
}
.partners-card{
  display:grid;
  grid-template-columns:15.5em 1fr 1.4em;
  align-items:baseline;
  gap:1.5rem;
  padding:1.35rem .1rem 1.3rem;
  background:none;
  border:0;
  border-bottom:1px solid rgba(122,138,122,.38);
  border-radius:0;
  transition:background .18s var(--ease)
}
.partners-card:hover,.partners-card:focus-visible{
  background:rgba(74,115,85,.05);transform:none
}
.partners-card-label{
  font-family:var(--min);font-weight:700;font-size:1.04rem;
  letter-spacing:.04em;color:var(--sumi)
}
.partners-card:hover .partners-card-label{color:var(--mori-deep)}
.partners-card-text{font-size:.85rem;line-height:1.95;color:var(--sumi-soft)}
.partners-card-arrow{
  align-self:center;color:var(--sumi-deco);font-size:.95rem;justify-self:end
}
@media(max-width:820px){
  .partners-grid{border-top-width:1px}
  .partners-card{grid-template-columns:1fr 1.2em;gap:.35rem 1rem;padding:1.15rem .1rem}
  .partners-card-label{grid-column:1}
  .partners-card-text{grid-column:1}
  .partners-card-arrow{grid-column:2;grid-row:1/3}
}

/* ---------------------------------------------------------------------------
   5. 囲みカードをやめ、上罫線＋余白に
   ------------------------------------------------------------------------ */
.triage-card{
  background:transparent;
  border-left:0;
  border-top:1.5px solid var(--mori-deep);
  border-radius:0;
  padding:1.9rem 0 .6rem
}
.triage-spaced{margin-top:3.4rem}
.triage-title{margin-bottom:.9rem}
.triage-cta{
  background:transparent;border-left:0;border-top:1px solid rgba(122,138,122,.45);
  border-radius:0;padding:1.5rem 0 .4rem;align-items:flex-start
}
.parents-entry{
  background:transparent;border-left:0;
  border-top:1px solid rgba(122,138,122,.45);
  border-bottom:1px solid rgba(122,138,122,.45);
  border-radius:0;padding:1.6rem 0
}
.practical-info{background:transparent;border-radius:0;padding:0}
.operator-card{background:transparent;border:0;border-radius:0;padding:0}
.safety-notice{background:transparent;border-left:0;border-top:2px solid var(--terra);
  border-radius:0;padding:1.7rem 0 .4rem}
.media-policy{background:transparent;border-left:2px solid var(--sumi-deco);
  border-radius:0;padding:.2rem 0 .2rem 1rem}

/* ボタンは角丸ピルをやめ、和文の箱に */
.triage-cta-btn,.parents-entry-btn,.nav-cta{
  border-radius:1px;letter-spacing:.08em
}
.triage-cta-btn-alt{border-width:1px}

/* ---------------------------------------------------------------------------
   6. ドロップダウンも箱っぽさを抜く
   ------------------------------------------------------------------------ */
.nav-sub{
  border-radius:0;
  border:1px solid rgba(74,115,85,.3);
  border-top:2px solid var(--mori-deep);
  box-shadow:0 6px 18px rgba(42,58,42,.09)
}

/* ---------------------------------------------------------------------------
   7. セクションのリズムを崩す(全部同じ余白をやめる)
   ------------------------------------------------------------------------ */
.sec{padding-block:4.6rem}
.sec:nth-of-type(even){padding-block:3.4rem 5.2rem}
.sec-title{margin-bottom:1.1rem}
.sec-title-spaced{margin-top:3.8rem}
main .wrap>.partners-grid:last-child{margin-bottom:0}

/* 本文の行長を詰め、余白を非対称に */
.triage-text,.about-i-body,.sec-desc{max-width:var(--measure)}
.page-hero-sub{max-width:38em}

/* ---------------------------------------------------------------------------
   8. 一覧まわりの箱を罫線に
   ------------------------------------------------------------------------ */
.next-page-card{border-radius:0}
.live-grid>div,.aftercare-grid>div,.triage-case,.triage-target{
  background:transparent;border-radius:0
}
.live-grid,.aftercare-grid{gap:0 2.4rem}
.live-grid>div,.aftercare-grid>div{
  border-top:1px solid rgba(122,138,122,.38);padding:1.2rem 0 1.1rem
}
.live-grid>div h2,.live-grid>div h3,
.aftercare-grid>div h2,.aftercare-grid>div h3{
  font-family:var(--min);font-size:1rem;letter-spacing:.05em;margin-bottom:.4rem
}
.home-info-row{border-radius:0}

/* 画像は角丸を落とす(写真が入ったときに効く) */
.reach-v40-img,.home-card-img,.home-photo-placeholder,.media-fig img{border-radius:0}

@media(prefers-reduced-motion:reduce){
  .partners-card{transition:none}
}

/* ---------------------------------------------------------------------------
   9. ページ冒頭のアクセント画像(制度・理念ページ用。装飾写真であることを明示)
   ------------------------------------------------------------------------ */
.page-accent{
  margin:0 auto 2.6rem;max-width:var(--wrap-max);padding:0 1.4rem;
  border-top:1px solid rgba(122,138,122,.38)
}
.page-accent img{
  width:100%;max-height:280px;object-fit:cover;object-position:center;
  border-radius:0;display:block;margin-top:1.7rem
}
.page-accent figcaption{
  font-size:.7rem;color:var(--sumi-deco);letter-spacing:.1em;
  margin-top:.5rem;text-align:right
}
@media(max-width:820px){
  .page-accent img{max-height:190px}
}
/* 2026-09-18: 1600x676 の写真を高さ280pxの枠に入れているため、縦の44%が切れる。
   主題が画面の下端にある写真（湯のみ・植木鉢）は、中央基準で切ると器が胴で切断される。
   その2枚だけ下端そろえにする。元写真自体が下で切れているので、これが取れる最大。
   ※ support（かごの食料品）は中央のほうが良かったので触らない。 */
.page-accent-low img{object-position:center bottom}
/* 2026-09-18: 下端そろえにしても、高さ280pxの枠では写真の44%を捨てているため
   器が小さく、帯のように細く見える。この2枚は切らずに全体を出す。
   1600x676 なので、幅1130pxなら高さ約477px。写真本来の構図で見せる。 */
.page-accent-full img{max-height:none;height:auto;object-fit:fill}
@media(max-width:820px){.page-accent-full img{max-height:none}}

/* 2026-08-07: フォーム送信結果メッセージ内のリンクを明示する。
   送信失敗時に代替の連絡先（メール・電話）を本文中に出すようにしたため、
   本文と同色のままだとリンクだと分からず、代替導線として機能しない。 */
.form-status a{
  color:inherit;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:.22em;
  text-decoration-thickness:.08em;
  overflow-wrap:anywhere;
}
.form-status-alt{
  display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;
  margin-top:.55rem;
}
.form-status-alt a{display:inline-block}
.form-status a:hover,.form-status a:focus-visible{text-decoration-thickness:.14em}
.form-status:focus{outline:none}
.form-status:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* 2026-08-10: aboutページ「3つの理念」— 線画アイコン+イラストを写真に差し替え。
   写真主体になったぶん、図版を一回り大きくする(基準は188x141)。 */
.about-v40-list .reach-v40-img{width:248px;height:186px}
@media(max-width:760px){
  .about-v40-list .reach-v40-img{width:148px;height:111px}
}
/* 構成図の前後に添える説明文(2026-08-10: 図だけでは意図が伝わらないため) */
.kanmuri-intro{
  font-family:var(--min);font-size:.98rem;line-height:2.05;color:var(--sumi);
  letter-spacing:.03em;margin:3.2rem 0 1.6rem;max-width:var(--measure)
}

/* 2026-08-10: 関係図(画像)は、全ページ左上のロゴとナビで同じ情報が伝わるため撤去。
   関係性は .kanmuri-intro の本文で説明する。 */

/* 2026-08-12: 本文中に差し込む図版。ページ内の話題に合わせた写真を1〜3枚置く。
   page-accent(ページ冒頭の帯)とは別物で、こちらは本文の流れの中に入る。 */
.body-fig{margin:2.8rem 0 2.4rem}
.body-fig img{width:100%;height:auto;max-height:430px;object-fit:cover;object-position:center;display:block;border-radius:0}
.body-fig figcaption{
  font-size:.7rem;color:var(--sumi-deco);letter-spacing:.1em;
  margin-top:.5rem;text-align:right
}
@media(max-width:820px){ .body-fig{margin:2rem 0 1.8rem} .body-fig img{max-height:250px} }

/* ============================================================
   2026-08-12: 本文が小さいという指摘を受け、基準文字サイズを引き上げる。
   ブラウザ既定16px → 18px。rem指定の本文(.92rem=14.7px → 16.6px)が
   まとめて読みやすくなる。見出しはclamp(vw)が支配的なのでほぼ変わらない。
   ============================================================ */
html{font-size:112.5%}
/* ナビ・パンくずは高さが固定なので据え置き(16px基準に戻す) */
.nav-links>li>a,.nav-sub a,.nav-cta,.crumb,.crumb-list,.quick-exit{font-size:16px}
.nav-wordmark-jp{font-size:17px}
.nav-wordmark-sub{font-size:10px}
.mmenu .ml{font-size:16px}

/* ================================================================
   2026-08-12 ナビゲーション折り返し対策
   基準を18pxに上げた際、v43でナビのリンクも16px(元は.78rem=12.5px)に
   引き上げたところ、環境によって「入居の流れ」「ご支援」などのラベルが
   2行に折れる報告があった。原因はグローバルナビの必要幅が
   .nav-in(max 1180px) の余白を食い潰していたこと。
   ・ラベルは14pxへ(元の12.5pxよりは大きく、可読性は維持)
   ・ラベル内での改行を禁止(white-space:nowrap)
   ・li を縮ませない(flex-shrink:0)
   ・項目間のすき間を詰める
   ・デスクトップ横並びの下限を 1181px → 1241px に上げ、
     それ未満はハンバーガーメニューへ寄せる
   ================================================================ */
.nav-links>li>a,.nav-cta{font-size:14px}
.nav-sub a{font-size:14px}
.nav-links{gap:.7rem}
.nav-links>li{flex:0 0 auto}
.nav-links>li>a,.nav-cta,.nav-wordmark-jp,.nav-wordmark-sub{white-space:nowrap}
.nav-sub a{white-space:nowrap}

@media(max-width:1240px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .ham{display:flex}
}
@media(min-width:1181px) and (max-width:1240px){
  .mmenu{display:flex}
  .mmenu.on{display:flex}
}

/* 2026-08-12のSOS写真規則は、2026-08-19の案D(縦長1枚)への変更にともない撤去。 */

/* ================================================================
   2026-08-18 打合せ反映 — トップ「こんなとき、ご連絡ください」
   「画像をもう少し大きくしたい」「画像を大きくするとスペースが開くので、
   テキストは下に持ってきたほうがハマる」「写真・項目が2列になって」
   → 罫線の横並びリストから、写真を主役にした2列カードへ変更。
   ※ about.html の理念リスト(.about-v40-list)は従来のまま。
   ================================================================ */
.reach-v40-list:not(.about-v40-list){
  display:grid;grid-template-columns:repeat(2,1fr);gap:2.6rem 2.2rem;
}
.reach-v40-list:not(.about-v40-list) .reach-v40-row,
.reach-v40-list:not(.about-v40-list) .reach-v40-row:last-child{
  display:block;padding:0;border:0;position:relative;
}
.reach-v40-list:not(.about-v40-list) .reach-v40-img{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  display:block;margin:0 0 1.1rem;border-radius:0;
}
.reach-v40-list:not(.about-v40-list) .reach-v40-num{
  position:absolute;top:0;left:0;z-index:1;width:auto;
  background:var(--paper);color:var(--mori-deep);
  padding:.3rem .75rem;font-size:1.2rem;line-height:1.4;
}
.reach-v40-list:not(.about-v40-list) .reach-v40-h3{font-size:1.42rem;margin:0 0 .5rem}
.reach-v40-list:not(.about-v40-list) .reach-v40-txt{margin:0 0 .9rem}
.reach-v40-list:not(.about-v40-list) .reach-v40-cta{display:inline-block;justify-self:start}
@media(max-width:760px){
  .reach-v40-list:not(.about-v40-list){grid-template-columns:1fr;gap:2rem}
  .reach-v40-list:not(.about-v40-list) .reach-v40-img{aspect-ratio:16/10}
}

/* ================================================================
   2026-08-18 打合せ反映 — 3つのお約束の帯
   「約束ごともさ、もっとデカく」「一つ、一つ、ボンボンと」
   → 細い一行帯をやめ、見出しと3項目を縦に大きく組み直す。
   ================================================================ */
.promise-band-v40{padding:2.6rem 0}
.promise-band-v40-in{display:block}
.promise-band-v40-h{font-size:1.15rem;margin:0 0 1.2rem;letter-spacing:.1em}
.promise-band-v40-kanji{font-size:.9rem;padding:.2em .6em}
.promise-band-v40-list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem 2.2rem;
  font-family:var(--min);font-size:1.12rem;line-height:1.85;font-weight:500;
}
.promise-band-v40-list li{padding-left:0;border-top:2px solid var(--mori-deep);padding-top:.85rem}
.promise-band-v40-list li::before{content:none}
/* 2026-09-14: 3つのお約束の下に置く「例外」の説明。
   約束の本体より一段静かに、ただし読み飛ばせない大きさで。 */
.promise-band-v40-note{margin:1.6rem 0 0;padding:1.1rem 1.2rem;background:rgba(42,58,42,.045);border-left:3px solid var(--mori-deep)}
.promise-band-v40-note p{margin:0 0 .6rem;font-size:.95rem;line-height:1.85}
.promise-band-v40-note ul{margin:0;padding:0;list-style:none}
.promise-band-v40-note ul li{margin:0 0 .55rem;padding-left:1.1em;text-indent:-1.1em;font-size:.93rem;line-height:1.85}
.promise-band-v40-note ul li:last-child{margin-bottom:0}
.promise-band-v40-note ul li::before{content:"・"}
.promise-band-v40-note-last{margin:.9rem 0 0!important;padding-top:.85rem;border-top:1px solid rgba(42,58,42,.14)}
@media (max-width:720px){.promise-band-v40-note{padding:.95rem 1rem}.promise-band-v40-note p,.promise-band-v40-note ul li{font-size:.9rem}}
@media(max-width:760px){
  .promise-band-v40{padding:2rem 0}
  .promise-band-v40-list{grid-template-columns:1fr;gap:.9rem;font-size:1.05rem}
}

/* ================================================================
   2026-08-18 打合せ反映 — トップのショートストーリー（3枚スライド）
   「トップページは思いっきり暗い画像にしよう」「今、暗いやつしか電話かけてこない」
   「これは暗いよ、というところからスライドで変わって、夕日に向かって一歩、
    次にホームの生活が始まって仕事を始める。どん底から明るくなってくる」
   JSは使わずCSSアニメーションのみ。1周15秒（各5秒＋クロスフェード）。
   prefers-reduced-motion では1枚目で静止する。
   ================================================================ */
.hero-story{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;margin-bottom:1.2rem}
.hero-story .hero-story-img{
  position:absolute;inset:0;width:100%;height:100%;margin:0;
  object-fit:cover;object-position:50% 45%;
  animation:heroStory 15s linear infinite;
}
.hero-story .hero-story-1{animation-delay:0s}
.hero-story .hero-story-2{animation-delay:-10s}
.hero-story .hero-story-3{animation-delay:-5s}
@keyframes heroStory{
  0%{opacity:1} 28%{opacity:1} 34%{opacity:0}
  94%{opacity:0} 100%{opacity:1}
}
@media(max-width:760px){ .hero-story{aspect-ratio:16/9} }
@media(prefers-reduced-motion:reduce){
  .hero-story .hero-story-img{animation:none}
  .hero-story .hero-story-2,.hero-story .hero-story-3{opacity:0}
}

/* 2026-08-18 打合せ反映 — 「ここに来れば、なんとかなる」に写真を追加
   「一面の」「ホームっぽい、みんなで集まって喋っている後ろ姿」 */
.chief-v40-fig{margin:0 0 2.4rem}
.chief-v40-fig img{display:block;width:100%;height:auto;max-height:400px;object-fit:cover;object-position:center 55%;border-radius:0}
.chief-v40-fig figcaption{font-size:.7rem;color:var(--sumi-deco);letter-spacing:.1em;margin-top:.5rem;text-align:right}
@media(max-width:820px){ .chief-v40-fig{margin:0 0 1.8rem} .chief-v40-fig img{max-height:230px} }

/* ================================================================
   2026-08-19 — ヒーローを全面画像に（食べログ型）
   「ヒーローページは食べログのような全面画像でページ構成して」
   ・3枚のショートストーリーを画面幅いっぱいの背景として敷く
   ・左側にスクリム（暗い被せ）を置き、白文字の可読性を確保する
     （2枚目の夕日・3枚目の工房が明るいので、画像に依らず読めるようにする）
   ・電話CTAは卵色のベタ塊にして、写真の上で最も強い要素にする
   ================================================================ */
.hero-full{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:min(86vh,760px);
  display:flex;align-items:center;
  padding:clamp(2.8rem,6vw,4.5rem) 0;
  background:#141c16;
  border-bottom:1px solid rgba(0,0,0,.15);
}
.hero-full-bg{position:absolute;inset:0;z-index:0}
.hero-full-bg .hero-story-img{
  position:absolute;inset:0;width:100%;height:100%;margin:0;
  object-fit:cover;object-position:50% 42%;
  animation:heroStory 15s linear infinite;
}
.hero-full-bg .hero-story-1{animation-delay:0s}
.hero-full-bg .hero-story-2{animation-delay:-10s}
.hero-full-bg .hero-story-3{animation-delay:-5s}
.hero-full-scrim{
  position:absolute;inset:0;display:block;
  background:
    linear-gradient(90deg, rgba(16,24,18,.92) 0%, rgba(16,24,18,.80) 38%, rgba(16,24,18,.46) 66%, rgba(16,24,18,.26) 100%),
    linear-gradient(180deg, rgba(16,24,18,.45) 0%, rgba(16,24,18,0) 28%, rgba(16,24,18,0) 70%, rgba(16,24,18,.45) 100%);
}
.hero-full-in{position:relative;z-index:1;max-width:var(--wrap-hero)}

.hero-full-brand{
  font-family:var(--min);font-weight:600;font-size:.95rem;letter-spacing:.1em;
  color:rgba(251,247,236,.92);margin:0 0 1.2rem;
  padding-left:.9rem;border-left:3px solid var(--egg-on-dark,#d8b46a);
}
.hero-full-brand-sub{font-size:.86rem;opacity:.8}
.hero-full-h1{
  font-family:var(--min);font-weight:800;
  font-size:clamp(2rem,4.8vw,3.6rem);line-height:1.42;letter-spacing:.04em;
  color:#fff;margin:0 0 1.4rem;max-width:16em;
  text-shadow:0 2px 18px rgba(0,0,0,.5);
}
.hero-full-key{
  display:inline-block;color:#fff;
  background:linear-gradient(transparent 64%, rgba(216,180,106,.55) 64%, rgba(216,180,106,.55) 92%, transparent 92%);
  padding:0 .12em;
}
.hero-full-points{
  list-style:none;margin:0 0 1.9rem;padding:0;
  display:flex;flex-direction:column;gap:.5rem;max-width:34em;
}
.hero-full-points li{
  position:relative;padding-left:1.5rem;
  font-family:var(--min);font-weight:700;
  font-size:clamp(1.02rem,2.1vw,1.28rem);line-height:1.7;letter-spacing:.04em;
  color:rgba(255,255,255,.94);text-shadow:0 1px 10px rgba(0,0,0,.45);
}
.hero-full-points li::before{
  content:'';position:absolute;left:0;top:.72em;width:.7rem;height:2px;background:var(--egg-on-dark,#d8b46a);
}

.hero-full-act{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 1.6rem}
.hero-full-tel{
  display:grid;gap:.3rem;text-align:center;text-decoration:none;
  background:var(--egg-light,#eed9ac);color:var(--sumi);
  padding:1rem 1.9rem;border-radius:0;
  transition:transform .2s var(--ease),background .2s;
  box-shadow:0 12px 34px rgba(0,0,0,.35);
}
.hero-full-tel:hover{background:#f4e3bd;transform:translateY(-2px);color:var(--sumi)}
.hero-full-tel-label{font-family:var(--go);font-size:.76rem;color:#5a4420;letter-spacing:.04em;line-height:1.5}
.hero-full-tel-num{font-family:var(--go);font-weight:700;font-size:clamp(2.1rem,4.6vw,2.9rem);color:#3d2f10;line-height:1;letter-spacing:0}
.hero-full-tel-note{font-family:var(--min);font-size:.84rem;color:#5a4420;letter-spacing:.1em}
.hero-full-mail{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--min);font-weight:700;font-size:1.02rem;letter-spacing:.06em;
  color:#fff;text-decoration:none;
  padding:.9rem 1.4rem;border:1.5px solid rgba(255,255,255,.85);border-radius:0;
  transition:background .2s,color .2s;
}
.hero-full-mail:hover{background:#fff;color:#1a2a1c}

/* 画像帯の直下の補足 */
.hero-note-band{background:var(--paper);padding:1.6rem 0;border-bottom:1px solid #e4dcc6}
.hero-note-band-in{display:flex;flex-wrap:wrap;gap:.8rem 2.6rem;align-items:baseline}
.hero-note-band-lead{font-family:var(--min);font-size:1.05rem;line-height:1.9;color:var(--sumi);margin:0;flex:1;min-width:20em}
.hero-note-band-lead strong{color:var(--mori-deep);font-weight:700}
.hero-note-band-mail{font-family:var(--go);font-size:.86rem;line-height:1.8;color:var(--sumi-soft);margin:0}
.hero-note-band-addr{
  font-family:var(--en);font-weight:500;font-size:1.2rem;color:var(--mori-deep);
  text-decoration:underline;text-decoration-color:var(--mori-leaf);text-underline-offset:.28em;
  word-break:break-all;display:inline-block;padding:.2rem 0;
}

@media(max-width:820px){
  .hero-full{min-height:auto;padding:2.6rem 0 2.4rem}
  .hero-full-scrim{
    background:
      linear-gradient(180deg, rgba(16,24,18,.72) 0%, rgba(16,24,18,.80) 45%, rgba(16,24,18,.90) 100%);
  }
  .hero-full-act{flex-direction:column;align-items:stretch}
  .hero-full-tel{padding:.95rem 1.2rem}
  .hero-full-mail{width:100%}
  .hero-note-band-in{flex-direction:column;gap:.7rem}
  .hero-note-band-lead{min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .hero-full-bg .hero-story-img{animation:none}
  .hero-full-bg .hero-story-2,.hero-full-bg .hero-story-3{opacity:0}
}

/* 2026-08-19: 全面ヒーローのスマホ微調整
   ・H1が「ください。」で3行に割れるためサイズを詰める
   ・固定の「すぐ閉じる」ボタンとCTAが重なるので下余白を足す */
@media(max-width:430px){
  .hero-full{padding-bottom:4.2rem}
  .hero-full-h1{font-size:1.72rem;line-height:1.5}
  .hero-full-brand{font-size:.88rem}
  .hero-full-points li{font-size:1rem}
  .hero-full-tel-num{font-size:2.05rem}
  .hero-full-tel-label{font-size:.72rem}
}

/* ================================================================
   2026-08-19 — ヒーローの写真が「全画面で切れている」ご指摘への対応
   ・縦位置(3:4)の写真を横長の帯に cover で敷いていたため左右が大きく欠けていた
     → 16:9の横位置で撮り直し、object-position を中央に戻す
   ・体操座り → 顔を上げる → 歩き出す → 社会へ出ていく の4枚に増やし、
     1周24秒（各6秒）でゆっくり切り替える
   ================================================================ */
/* 2026-09-09: 横長で高さの低い画面で、歩いている人物の頭が上で切れるとのご指摘。
   4枚とも被写体が画面の上寄りに立っているため、切り抜きの基準を上へ寄せる。
   （50% = 中央基準。数字を小さくするほど写真の上側が残る） */
.hero-full-bg .hero-story-img{
  object-position:50% 36%;
  animation:heroStory4 24s linear infinite;
}
.hero-full-bg .hero-story-1{animation-delay:0s}
.hero-full-bg .hero-story-2{animation-delay:-18s}
.hero-full-bg .hero-story-3{animation-delay:-12s}
.hero-full-bg .hero-story-4{animation-delay:-6s}
@keyframes heroStory4{
  0%{opacity:1} 21%{opacity:1} 25%{opacity:0}
  96%{opacity:0} 100%{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .hero-full-bg .hero-story-img{animation:none}
  .hero-full-bg .hero-story-2,
  .hero-full-bg .hero-story-3,
  .hero-full-bg .hero-story-4{opacity:0}
}

/* 2026-08-19: 後半の明るい写真まで暗く沈んでいたため、被せを弱める。
   文字が乗る左側だけ濃く、右2/3は写真をそのまま見せる。上下の被せも薄くする。 */
.hero-full-scrim{
  background:
    linear-gradient(90deg, rgba(14,22,16,.90) 0%, rgba(14,22,16,.74) 34%, rgba(14,22,16,.34) 58%, rgba(14,22,16,.10) 78%, rgba(14,22,16,0) 100%),
    linear-gradient(180deg, rgba(14,22,16,.30) 0%, rgba(14,22,16,0) 26%, rgba(14,22,16,0) 74%, rgba(14,22,16,.28) 100%);
}
@media(max-width:820px){
  .hero-full-scrim{
    background:linear-gradient(180deg, rgba(14,22,16,.62) 0%, rgba(14,22,16,.74) 45%, rgba(14,22,16,.86) 100%);
  }
}

/* ================================================================
   2026-08-19 — トップ画像の切り替えインジケーター（バー型）
   丸ドットから、いま風の細いバーに変更。
   表示中のバーは6秒かけて左から白く満ちていき、次の切り替わりまでの
   残り時間がそのまま見えるようにした（Apple・Netflix等で一般的な形）。
   JSが動く環境だけ表示し（html.js）、JSが無ければ従来どおりCSSで自動送り。
   タップ目標は44pxを確保する。
   ================================================================ */
.hero-dots{display:none}
html.js .hero-dots{
  display:flex;align-items:center;gap:.55rem;
  margin:1.9rem 0 0;
}
.hero-dot{
  position:relative;width:46px;height:44px;flex:0 0 auto;
  background:none;border:0;padding:0;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
/* 下地のバー */
.hero-dot::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:46px;height:3px;border-radius:999px;
  background:rgba(255,255,255,.28);
  transition:background .25s var(--ease);
}
/* 経過を示す白い満ち */
.hero-dot::after{
  content:'';position:absolute;left:0;top:50%;
  width:46px;height:3px;border-radius:999px;background:#fff;
  transform:translateY(-50%) scaleX(0);transform-origin:left center;
}
.hero-dot:hover::before{background:rgba(255,255,255,.5)}
.hero-dot.is-on::after{animation:heroDotFill 6s linear forwards}
.hero-dot.is-done::after{transform:translateY(-50%) scaleX(1);opacity:.45}
@keyframes heroDotFill{
  from{transform:translateY(-50%) scaleX(0)}
  to{transform:translateY(-50%) scaleX(1)}
}
.hero-dot:focus-visible{outline:2px solid #fff;outline-offset:6px;border-radius:2px}

@media(max-width:430px){
  html.js .hero-dots{gap:.45rem;margin-top:1.5rem}
  .hero-dot{width:38px}
  .hero-dot::before,.hero-dot::after{width:38px}
}
@media(prefers-reduced-motion:reduce){
  .hero-dot.is-on::after{animation:none;transform:translateY(-50%) scaleX(1)}
}

/* JS制御時はCSSアニメーションを止め、クロスフェードはtransitionで行う */
.hero-full-bg.js-slides .hero-story-img{
  animation:none;opacity:0;transition:opacity 1s var(--ease);
}
.hero-full-bg.js-slides .hero-story-img.is-on{opacity:1}

/* 明るい写真（4枚目の並木道など）の上でバーが見えにくいため、薄い影を敷く */
.hero-dot{filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
.hero-dot::before{background:rgba(255,255,255,.38)}

/* ================================================================
   2026-08-19 — 相談セクション（案D）
   「写真をヒーロー画像みたいに広く」とのご指示。
   ・右列は1枚の縦長写真。列の高さいっぱいに伸ばす
   ・電話番号は左本文の下へ移し、箱の縦積みを解消したぶん大きくする
   ・スマホでは写真が先頭に来るため、電話番号を箇条書きより前に出す
     （命にかかわる番号を最初の画面から落とさないため）
   実装上の要点: 写真側は display:flex（img の height:100% を解決させる）／
   親の align-items は stretch のまま／左列に min-width:0。
   ================================================================ */
.sos-v40-in{align-items:stretch}
.sos-v40-body{min-width:0;display:flex;flex-direction:column}
.sos-v40-kanji{order:1}
.sos-v40-title{order:2}
.sos-v40-lead{order:3}
.sos-v40-list{order:4;margin-bottom:1.8rem}
.sos-v40-tel{order:5}
.sos-v40-acts{order:6}

/* 右列＝縦長写真 */
.sos-v40-photo{display:flex;margin:0;min-height:0;overflow:hidden}
.sos-v40-photo img{
  width:100%;height:100%;min-height:340px;
  object-fit:cover;object-position:45% 48%;
  display:block;border-radius:0;
}

/* 電話番号（本文下・大きく） */
.sos-v40-tel{
  display:grid;gap:.3rem;text-align:center;text-decoration:none;
  background:var(--egg-light);color:var(--sumi);
  padding:1.1rem 1.2rem;border-radius:0;
  transition:transform .2s var(--ease),background .2s;
}
.sos-v40-tel:hover{background:#f2dfb8;transform:translateY(-2px);color:var(--sumi)}
.sos-v40-tel-l{font-family:var(--go);font-size:.76rem;color:#5a4420;letter-spacing:.04em;line-height:1.5}
.sos-v40-tel-num{
  font-family:var(--go);font-weight:700;color:#3d2f10;line-height:1;letter-spacing:0;
  font-size:clamp(2.4rem,4.4vw,3rem);
}
.sos-v40-tel-r{font-family:var(--min);font-size:.88rem;color:#5a4420;letter-spacing:.1em}

.sos-v40-acts{display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}
.sos-v40-money{margin:0}

@media(max-width:820px){
  .sos-v40-in{grid-template-columns:1fr;gap:1.5rem}
  .sos-v40-photo{order:-1}
  .sos-v40-photo img{height:auto;min-height:0;aspect-ratio:16/10;max-height:250px}
  /* 写真が上に来るぶん番号が下がるので、箇条書きより前に出す */
  .sos-v40-tel{order:4;margin-bottom:1.4rem}
  .sos-v40-list{order:5;margin-bottom:0}
  .sos-v40-acts{order:6;margin-top:1.4rem}
}

/* ---- 日々のお便り（記事一覧）v44 ---- */
.letters{margin:2.4rem 0 0;display:flex;flex-direction:column;gap:0}
.letter{padding:2.2rem 0;border-top:1px solid rgba(74,115,85,.22)}
.letter:last-child{border-bottom:1px solid rgba(74,115,85,.22)}
.letter-meta{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin:0 0 .55rem}
.letter-date{font-family:var(--go);font-size:.82rem;letter-spacing:.04em;color:#6b7d6f}
.letter-tag{font-family:var(--go);font-size:.72rem;letter-spacing:.06em;padding:.18rem .6rem;border-radius:999px;background:rgba(74,115,85,.10);color:#3f6349}
.letter-title{font-size:clamp(1.18rem,2.1vw,1.42rem);line-height:1.5;margin:0 0 .9rem;font-weight:700}
.letter-body>p{margin:0 0 1rem;line-height:2}
.letter-body>p:last-child{margin-bottom:0}
.letter-body ul{margin:0 0 1rem;padding-left:1.2rem}
.letter-body li{margin:0 0 .45rem;line-height:1.95}
.letter-note{font-size:.86rem;line-height:1.9;color:#5d6b60;border-left:2px solid rgba(74,115,85,.3);padding:.1rem 0 .1rem .9rem;margin:1.2rem 0 0}
.letter-note a{color:#3f6349}
@media(max-width:640px){.letter{padding:1.8rem 0}.letter-body>p{line-height:1.95}}


/* ---------------------------------------------------------------------------
   2026-09-01 メニューバー: 親項目は遷移せず、ドロップダウンを開くだけにする
   （親ページはドロップダウン先頭の .nav-sub-top から開く）
   ------------------------------------------------------------------------ */
.nav-links li.nav-sub-wrap>.nav-sub-btn{
  font-family:inherit;font-size:.78rem;color:var(--sumi-soft);letter-spacing:.04em;
  padding:.3rem 0;margin:0;border:0;border-bottom:1px solid transparent;
  background:none;cursor:pointer;transition:all .2s var(--ease)
}
.nav-links li.nav-sub-wrap>.nav-sub-btn::after{
  content:"\25BE";margin-left:.3em;font-size:.8em;line-height:1;
  color:var(--sumi-deco);transition:color .2s var(--ease)
}
.nav-links li.nav-sub-wrap>.nav-sub-btn:hover,
.nav-links li.nav-sub-wrap>.nav-sub-btn[aria-expanded="true"]{
  color:var(--mori-deep);border-bottom-color:var(--mori-deep)
}
.nav-links li.nav-sub-wrap>.nav-sub-btn.active{
  color:var(--mori-deep);border-bottom-color:var(--mori-deep);font-weight:700
}
.nav-links li.nav-sub-wrap:hover>.nav-sub-btn::after,
.nav-links li.nav-sub-wrap>.nav-sub-btn[aria-expanded="true"]::after{color:var(--mori-deep)}
.nav-links li.nav-sub-wrap.is-open .nav-sub{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)
}
.nav-sub-top{border-bottom:1px solid rgba(74,115,85,.2);margin-bottom:.3rem;padding-bottom:.25rem}
.nav-sub-top a{font-weight:700;color:var(--mori-deep)}

/* クリックでボタンにフォーカスが残っても開きっぱなしにしない
   （:focus-within による表示を打ち消す。開閉は is-open とホバーだけで決める） */
.nav .nav-links li.nav-sub-wrap:not(.is-open) .nav-sub{
  opacity:0;visibility:hidden;transform:translateX(-50%) translateY(6px)
}

/* ---------------------------------------------------------------------------
   2026-09-02 ほしい物リスト 職員用ページ（/staff-wishlist）
   スマホで片手で使える大きさを優先。角丸は使わない（サイト全体の方針）
   ------------------------------------------------------------------------ */
.wl-wrap{max-width:44rem;margin:0 auto}
.wl-gate{max-width:22rem;margin:2rem auto;padding:1.6rem;background:var(--paper);border-top:3px solid var(--mori-deep);border:1px solid rgba(74,115,85,.25);border-top-width:3px}
.wl-gate label{display:block;font-size:.82rem;color:var(--sumi-soft);margin:0 0 .35rem}
.wl-gate input{width:100%;font-family:inherit;font-size:1.05rem;padding:.7rem .8rem;border:1px solid rgba(74,115,85,.45);background:#fff}
.wl-btn{display:inline-block;width:100%;font-family:inherit;font-size:.98rem;font-weight:700;letter-spacing:.06em;
  padding:.85rem 1.2rem;border:0;background:var(--mori-deep);color:#fff;cursor:pointer;transition:opacity .15s var(--ease)}
.wl-btn:hover{opacity:.87}
.wl-btn:disabled{opacity:.5;cursor:default}
.wl-msg{margin:.7rem 0 0;font-size:.85rem;line-height:1.6}
.wl-msg.err{color:#a8724c;font-weight:700}
.wl-msg.ok{color:var(--mori-deep);font-weight:700}

/* 絞り込み */
.wl-bar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0 0 .3rem;
  padding:.7rem 0;border-bottom:2px solid var(--mori-deep)}
.wl-bar button{font-family:inherit;font-size:.86rem;padding:.5rem 1rem;border:1px solid rgba(74,115,85,.35);
  background:#fff;color:var(--sumi-soft);cursor:pointer;transition:all .15s var(--ease)}
.wl-bar button:hover{border-color:var(--mori-deep)}
.wl-bar button.on{background:var(--mori-deep);color:#fff;border-color:var(--mori-deep);font-weight:700}
.wl-bar .sp{flex:1}
.wl-count{font-size:.8rem;color:var(--sumi-deco);letter-spacing:.04em}

/* 一覧 */
.wl-cat{margin:1.6rem 0 0;padding:.5rem .9rem;background:var(--mori-deep);color:#fff;
  font-size:.86rem;font-weight:700;letter-spacing:.08em}
.wl-row{display:flex;gap:.9rem;align-items:flex-start;padding:.95rem .9rem;
  background:#fff;border:1px solid rgba(74,115,85,.2);border-top:0}
.wl-row.is-done{background:#f6f6f4}
.wl-pri{flex:0 0 2rem;height:2rem;display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;font-weight:700;border:1.5px solid #c3ccc4;color:#9aa69c;margin-top:.1rem}
.wl-pri.p1{border-color:#a8724c;color:#a8724c}
.wl-pri.p2{border-color:#4a7355;color:#3f6349}
.wl-body{flex:1;min-width:0}
.wl-item{font-size:1.02rem;font-weight:700;line-height:1.5;word-break:break-word;color:var(--sumi)}
.wl-row.is-done .wl-item{color:#8a938c;text-decoration:line-through}
.wl-meta{font-size:.8rem;color:var(--sumi-deco);margin-top:.25rem;line-height:1.7}
.wl-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:.15rem .55rem;margin-right:.5rem;
  vertical-align:.08em;letter-spacing:.06em;border:1px solid}
.wl-open{color:#a8724c;border-color:#a8724c;background:#fdf6f0}
.wl-listed{color:#fff;border-color:var(--mori-deep);background:var(--mori-deep)}
.wl-done{color:#8a938c;border-color:#c3ccc4;background:#f2f2f0}
.wl-acts{flex:0 0 auto;display:flex;gap:.28rem;justify-content:flex-end;align-items:flex-start}
.wl-acts button{font-family:inherit;font-size:.74rem;padding:.42rem .6rem;min-height:2.1rem;
  border:1px solid rgba(74,115,85,.3);background:var(--paper);color:var(--sumi-soft);cursor:pointer;white-space:nowrap}
.wl-acts button:hover{border-color:var(--mori-deep);color:var(--mori-deep);background:#fff}
.wl-acts button.del:hover{border-color:#a8724c;color:#a8724c}
.wl-empty{padding:2.4rem 1rem;text-align:center;color:var(--sumi-deco);font-size:.92rem;
  background:#fff;border:1px dashed rgba(74,115,85,.3)}

/* 足す */
.wl-add{margin:2.4rem 0 0;padding:1.5rem 1.4rem;background:var(--paper);border:1px solid rgba(74,115,85,.25);border-top:3px solid var(--mori-deep)}
.wl-add h3{margin:0 0 1.1rem;font-size:1.08rem;letter-spacing:.06em}
.wl-f{margin:0 0 .95rem}
.wl-f label{display:block;font-size:.8rem;font-weight:700;color:var(--sumi-soft);margin:0 0 .3rem;letter-spacing:.03em}
.wl-f input,.wl-f select{width:100%;font-family:inherit;font-size:1rem;padding:.65rem .7rem;
  border:1px solid rgba(74,115,85,.45);background:#fff;color:var(--sumi)}
.wl-f input::placeholder{color:#b3bcb4}
.wl-f2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.wl-seg{display:flex;gap:.4rem}
.wl-seg button{flex:1;font-family:inherit;font-size:.92rem;padding:.6rem .3rem;
  border:1px solid rgba(74,115,85,.4);background:#fff;color:var(--sumi-soft);cursor:pointer}
.wl-seg button.on{background:var(--mori-deep);color:#fff;border-color:var(--mori-deep);font-weight:700}
.wl-seg .sub{display:block;font-size:.68rem;letter-spacing:0;margin-top:.1rem;opacity:.8}
.wl-legend{margin:1.2rem 0 0;padding:.9rem 1rem;background:#fff;border-left:3px solid #c8b98e;
  font-size:.8rem;line-height:1.9;color:var(--sumi-soft)}
.wl-legend b{color:var(--sumi)}

@media(max-width:640px){
  .wl-row{flex-wrap:wrap;padding:.85rem .8rem}
  .wl-acts{width:100%;flex-wrap:wrap;justify-content:flex-start;margin-top:.65rem;padding-left:2.9rem}
  .wl-f2{grid-template-columns:1fr}
  .wl-add{padding:1.2rem 1rem}
  .wl-bar button{flex:1;min-width:5rem}
  .wl-bar .sp{display:none}
}

/* ── 措置費で届くもの／届かないもの（2026-09-02） ── */
.cover-lead{font-size:.86rem;color:var(--sumi-soft);line-height:2;margin:1.6rem 0 .2rem}
.cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-top:2px solid var(--sumi);margin:1rem 0 1.8rem}
.cover-col{padding:1.5rem 1.6rem 1.6rem;border-right:1px solid var(--sumi-deco)}
.cover-col:last-child{border-right:none}
.cover-col.is-gap{background:rgba(42,58,42,.035)}
.cover-tag{font-family:var(--go);font-size:.62rem;letter-spacing:.16em;
  color:var(--sumi-mute);display:block;margin-bottom:.7rem}
.cover-col h3{font-family:var(--min);font-weight:700;font-size:1rem;
  margin:0 0 .9rem;color:var(--sumi);line-height:1.65}
.cover-col ul{list-style:none;margin:0;padding:0}
.cover-col li{font-size:.82rem;color:var(--sumi-soft);line-height:1.9;
  padding:.45rem 0 .45rem 1rem;position:relative;
  border-bottom:1px dotted var(--sumi-deco)}
.cover-col li:last-child{border-bottom:none}
.cover-col li::before{content:"";position:absolute;left:0;top:1.35em;
  width:6px;height:1px;background:var(--sumi-deco)}
@media(max-width:700px){
  .cover-grid{grid-template-columns:1fr}
  .cover-col{border-right:none;border-bottom:1px solid var(--sumi-deco);padding:1.3rem 0 1.4rem}
  .cover-col:last-child{border-bottom:none}
  .cover-col.is-gap{background:transparent}
}

/* .safety-notice 内の素の h3/p（振込み案内・巣立ちの支度）— 段落の間を空ける */
.safety-notice > h3{font-family:var(--min);font-weight:700;font-size:1.08rem;
  color:var(--sumi);margin:0 0 .9rem;line-height:1.6}
.safety-notice > p{font-size:.9rem;line-height:2.05;color:var(--sumi-soft);
  margin:0 0 1.05rem}
.safety-notice > p:last-child{margin-bottom:0}
.safety-notice > p a{color:var(--mori-deep);text-decoration:underline;
  text-underline-offset:.22em}

/* ---------------------------------------------------------------------------
   2026-09-02 ドロップダウンをばんたね病院と同じ形に
   実物の CSS（/common/css/style-site3.css）より:
     .gNav__list__item{position:relative}
     .subMenuList{position:absolute;left:0;right:0;top:100%}
     .subMenuList li{border-top:1px solid #fff}
     .subMenuList a{display:block;padding:15px 20px;background:#0093db;color:#FFF}
     .gNav__list__item:hover>a{background:#0093db}
   要点:
     ・親項目の真下に出る、縦一列のブロック
     ・ブランド色でベタ塗り＋白文字。項目の区切りは白い細線
     ・先頭の「〜のご案内」も他と同じ見た目（ばんたねの「外来のご案内」と同じ扱い）
     ・親項目もひらくとブランド色になり、ドロップダウンと一続きに見える
   ------------------------------------------------------------------------ */
.nav-links li.nav-sub-wrap{position:relative}

.nav-sub{
  position:absolute;left:0;right:auto;top:100%;
  min-width:max(100%,13.5em);width:max-content;max-width:22em;
  margin:0;padding:0;
  display:block;
  background:var(--mori-deep);
  border:0;border-radius:0;
  box-shadow:0 10px 22px rgba(42,58,42,.18);
  transform:translateY(0);
  z-index:600
}
.nav-links li.nav-sub-wrap.is-open .nav-sub,
.nav .nav-links li.nav-sub-wrap.is-open .nav-sub{
  opacity:1;visibility:visible;transform:translateY(0)
}
.nav .nav-links li.nav-sub-wrap:not(.is-open) .nav-sub{
  opacity:0;visibility:hidden;transform:translateY(0)
}

/* 項目はすべて同じ見た目。先頭の「〜のご案内」も特別扱いしない */
.nav-sub li{display:block;border-top:1px solid rgba(255,255,255,.32)}
.nav-sub li:first-child{border-top:0}
.nav-sub .nav-sub-top{
  flex:none;margin:0;padding:0;border-bottom:0;
  border-top:0
}
.nav-sub a,
.nav-sub .nav-sub-top a,
.nav-sub li:not(.nav-sub-top) a{
  display:block;padding:.82rem 1.15rem;
  font-family:var(--go);font-size:.8rem;font-weight:400;
  line-height:1.6;letter-spacing:.04em;
  color:#fff;background:none;border:0;border-bottom:0;white-space:nowrap
}
.nav-sub .nav-sub-top a::after{content:none}
.nav-sub a:hover,.nav-sub a:focus-visible,
.nav-sub .nav-sub-top a:hover,
.nav-sub li:not(.nav-sub-top) a:hover,
.nav-sub li:not(.nav-sub-top) a:focus-visible{
  background:rgba(255,255,255,.14);color:#fff;border-bottom:0
}

/* 親項目も、ひらいているあいだはブランド色のブロックに */
.nav-links li.nav-sub-wrap>.nav-sub-btn{
  padding:.42rem .45rem;border-bottom:2px solid transparent
}
.nav-links li.nav-sub-wrap>.nav-sub-btn.active{
  border-bottom-color:var(--mori-deep)
}
.nav-links li.nav-sub-wrap>.nav-sub-btn[aria-expanded="true"]{
  background:var(--mori-deep);color:#fff;border-bottom-color:transparent
}
.nav-links li.nav-sub-wrap>.nav-sub-btn[aria-expanded="true"]::after{color:#fff}
.nav-links li.nav-sub-wrap>.nav-sub-btn:hover{
  color:var(--mori-deep);border-bottom-color:transparent
}
.nav-links li.nav-sub-wrap>.nav-sub-btn[aria-expanded="true"]:hover{color:#fff}

/* ---------------------------------------------------------------------------
   2026-09-02 ご支援ページ「ご支援の4つのかたち」の二重線を解消
   .sup-grid が border-top:2px solid var(--sumi) を持ち、
   2026-08の「四角解体」で .sup-card にも border-top:2px solid var(--mori-leaf)
   が付いたため、同じ位置に色も長さも違う線が2本重なっていた。
   カード側の線を残し、コンテナ側の線を消す。
   ------------------------------------------------------------------------ */
.sup-grid,.rec-grid{border-top:0}

/* ---------------------------------------------------------------------------
   2026-09-02 復旧: ページ統合時の「住むためのお金は、いま無くて大丈夫です。」
   （復元作業の途中で失われていたため入れ直す）
   ------------------------------------------------------------------------ */
.lead-say{font-family:var(--min);font-weight:700;
  font-size:clamp(1.25rem,3.4vw,1.85rem);line-height:1.75;
  color:var(--sumi);margin:1.1rem 0 1.8rem;letter-spacing:.02em}

/* ---------------------------------------------------------------------------
   2026-09-02 「名前の由来（産霊＋結ひ）」の深緑ブロックの余白を詰める
   これまで 1130×597px の箱に、幅550px程度の文章が左寄せで入っていたため、
   右半分と下側が大きく空いていた。
   広い画面では左右2段に組み、余白と行間も詰める。
   ------------------------------------------------------------------------ */
.musuhi-meaning{padding:2rem 2.2rem 2.1rem;margin:1.2rem 0 2.2rem}
.musuhi-bigword{margin:0 0 1.1rem}
.musuhi-lead{margin:0 0 1.2rem;padding-bottom:1rem;line-height:1.9}
.musuhi-explain{line-height:1.95}
.musuhi-explain p{margin-bottom:.8rem}
.musuhi-coda{padding-top:.4rem}

@media(min-width:860px){
  .musuhi-meaning{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
    column-gap:2.6rem;
    align-items:start;
    padding:2.1rem 2.4rem 2.2rem
  }
  .musuhi-eyebrow{grid-column:1;grid-row:1;margin-bottom:.9rem}
  .musuhi-bigword{grid-column:1;grid-row:2;margin:0 0 1.1rem}
  .musuhi-lead{
    grid-column:1;grid-row:3;
    margin:0;padding-bottom:0;border-bottom:0
  }
  .musuhi-explain{
    grid-column:2;grid-row:1 / span 3;
    padding-left:2.4rem;
    border-left:1px solid rgba(255,255,255,.18)
  }
}

/* スマホでは従来どおり余白を詰める（上の基本ルールが後勝ちするため打ち直す） */
@media(max-width:640px){
  .musuhi-meaning{padding:1.4rem 1.2rem 1.5rem;margin:1rem 0 1.8rem}
  .musuhi-bigword{margin:0 0 .9rem}
  .musuhi-lead{margin:0 0 1rem;padding-bottom:.9rem}
  .musuhi-explain p{margin-bottom:.7rem}
}

/* 2026-10-01 ご支援ページ「いま、ほしいもの」（/api/needs から自動表示） */
.needs-v44{margin:2.2rem 0 1rem;padding:1.6rem 1.4rem;background:#fff;border:1px solid #d9e0d6;border-radius:10px}
.needs-v44 h3{font-family:'Shippori Mincho',serif;font-size:1.35rem;color:var(--mori-deep);margin:0 0 .5rem}
.needs-lead{font-size:.95rem;line-height:1.9;margin:0 0 1rem}
.needs-list{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media (min-width:760px){.needs-list{grid-template-columns:1fr 1fr}}
.needs-home-title{font-family:'Shippori Mincho',serif;font-size:1.1rem;margin:0 0 .4rem;padding-bottom:.3rem;border-bottom:2px solid var(--mori-deep);color:var(--mori-deep)}
.needs-items{list-style:none;margin:0;padding:0}
.needs-cat{font-size:.8rem;letter-spacing:.08em;color:#6b766d;margin:.9rem 0 .2rem}
.needs-cat:first-child{margin-top:.3rem}
.needs-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;padding:.45rem 0;border-bottom:1px dashed #e1e6df;line-height:1.6}
.needs-name{font-weight:500;overflow-wrap:anywhere}
.needs-qty{font-size:.85rem;color:#6b766d}
.needs-tag{font-size:.75rem;padding:.05rem .5rem;border-radius:999px;border:1px solid #c3ccc4;color:#5c665e;white-space:nowrap}
.needs-tag.is-now{border-color:#a8724c;color:#a8724c;background:#fdf6f0}
.needs-tag.is-amazon{border-color:var(--mori-deep);color:var(--mori-deep)}
.needs-empty{color:#6b766d;font-size:.95rem;margin:.3rem 0}
.needs-how{margin-top:1.3rem;font-size:.92rem;line-height:1.9}
.needs-how p{margin:.5rem 0}
.needs-amazon-btn{display:inline-block;margin:.2rem 0 .3rem;padding:.6rem 1.2rem;border-radius:6px;background:var(--mori-deep);color:#fff !important;text-decoration:none;font-weight:500}
.needs-amazon-btn:hover,.needs-amazon-btn:focus-visible{opacity:.88}
.wl-pub{color:#fff;border-color:#a8724c;background:#a8724c}
