/* ============================================================
   検索・絞り込み・一覧の 見た目（2026-10-19）
   ユーザー「保護者・子ども向けページにも、教員向けと 同様に 検索・絞り込み機能を つけて」
   → 教材集（/kyozai/）・教員向けページ（/sensei/）・保護者・子ども向けページ（/katei/）で 共通。しくみは finder.js・カードは card.css。
   ⚠️ 色は ページの 変数を 使い、無い ページでは かっこの 中の 色（教材集と 同じ）。
   ============================================================ */
/* ===== 検索・絞り込み ===== */
.finder{background:var(--card,#fff);border:1px solid var(--border,#d9ebe6);border-radius:16px;padding:16px 18px;
  margin-bottom:18px;box-shadow:0 3px 14px rgba(12,74,110,.06)}
.search-row{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.search-row input{flex:1;font-family:inherit;font-size:16px;padding:11px 14px;border:1.5px solid var(--border,#d9ebe6);
  border-radius:11px;background:#fbfdfd;color:var(--text,#1c3f3c)}
.search-row input:focus{outline:none;border-color:var(--primary,#0b57d0);box-shadow:0 0 0 3px var(--primary-light,#dff1ee)}
.fgroup{margin-bottom:10px}
.fgroup:last-child{margin-bottom:0}
/* 学年・教科と 共通教材の 種類（2026-10-19）。ふだん＝1列。学年の「共通」が オン（.kyo）で 横長の 画面なら 種類を 右の 列に */
.fwrap{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"grade" "cat" "subj";gap:10px}
.fwrap .fgroup{margin-bottom:0}
.fg-grade{grid-area:grade}.fg-subj{grid-area:subj}
.fcat{grid-area:cat;background:#fffcef;border:1px solid #f1e2b0;border-radius:12px;padding:9px 12px 11px}   /* 共通教材の カードと 同じ うすい 黄 */
.fcat .flabel{color:#7a5614}
.fwrap.kyo-s{grid-template-areas:"grade" "subj" "cat"}   /* 教科の 共通だけ＝教科の 列の すぐ 下（押した チップの 上に 出して ずらさない）*/
@media (min-width:761px) and (orientation:landscape){
  .fwrap.kyo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"grade cat" "subj cat";column-gap:16px}
}
.flabel{font-size:11.5px;font-weight:800;color:var(--sub,#517772);margin-bottom:5px;letter-spacing:.04em}
.fhint{font-weight:600;color:var(--sub,#517772);margin-left:8px;letter-spacing:0}   /* 2026-10-19 全体点検：複数 選べる ことが 触る まで 分からなかった。
   2026-10-27 全体点検：前の #8aa5a0 は 白地で 2.63（基準 4.5 に 届かず）→ --sub（白地で 4.96）。見出しより 細く して 見分ける */
/* キーボードで 動かす ときの 目じるし（2026-10-19 全体点検） */
.chip:focus-visible,.m-open:focus-visible,.btn-reset:focus-visible,.m-more>summary:focus-visible{outline:3px solid var(--primary,#0b57d0);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-family:inherit;font-size:13px;font-weight:700;padding:7px 14px;border-radius:99px;cursor:pointer;
  background:#fff;color:var(--sub,#517772);border:1.5px solid var(--border,#d9ebe6);transition:.14s;min-height:38px}
.chip:hover{border-color:#7fd4e8;color:var(--primary-dark,#0a4aa8)}
.chip.on{background:var(--pick,#0b57d0);color:var(--pick-text,#fff);border-color:var(--pick,#0b57d0);box-shadow:0 3px 8px rgba(14,116,144,.28)}
.countrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:14px 0 12px}
.count{font-size:13px;color:var(--sub,#517772);font-weight:700;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
/* 並び順（2026-10-19 文字・2026-10-20 ドロップダウン）。えらぶ 欄は 押せる ので 青い ふち（押せる ものは 青）*/
.sortlab{font-size:12.5px;font-weight:700;color:var(--navy,#35706c);display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px;white-space:nowrap}
.sortlab small{font-size:11.5px;color:var(--sub,#517772);font-weight:700}
.sortlab select{font-family:inherit;font-size:13px;font-weight:700;color:var(--primary-dark,#0a4aa8);background:#fff;
  border:1.5px solid var(--primary,#0b57d0);border-radius:99px;padding:5px 30px 5px 12px;min-height:34px;cursor:pointer;max-width:100%;
  appearance:none;-webkit-appearance:none;touch-action:manipulation;
  background-image:linear-gradient(45deg,transparent 50%,var(--primary,#0b57d0) 50%),linear-gradient(135deg,var(--primary,#0b57d0) 50%,transparent 50%);
  background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.sortlab select:focus-visible{outline:3px solid var(--primary,#0b57d0);outline-offset:2px}
.sortlab span{font-size:12.5px;color:var(--navy,#35706c);background:#fff;border:1px solid var(--border,#d9ebe6);border-radius:99px;padding:3px 11px}
@media (max-width:640px){.sortlab select{font-size:16px}}   /* iPhone は 16px より 小さい 欄を 押すと 画面を 拡大する */
/* 📚 教科・領域ごとの 見出し（2026-10-20）。共通の 見出し（黄）と ちがう いつもの 色 */
.grid-sec.subj{color:var(--navy,#35706c);border-top-color:var(--border,#d9ebe6)}
.grid-sec.subj.first{border-top:none;margin-top:0;padding-top:0}
.count b{color:var(--primary-dark,#0a4aa8);font-size:16px;display:inline-block}   /* inline-block：絞りこみの とき ぽんと はねる（transform は inline に きかない）*/
.btn-reset{background:none;border:none;color:var(--info,#2563eb);font-size:12.5px;font-weight:700;cursor:pointer;
  font-family:inherit;text-decoration:underline;margin-left:8px}

/* ===== 一覧 ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
@media (max-width:360px){.grid{grid-template-columns:minmax(0,1fr)}}   /* 320px の スマホで カードが はみ出さない（保護者の ページに あった 決まり）*/
.grid-sec{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:12px;
  border-top:2px dashed #f1e2b0;font-size:14px;font-weight:900;color:#7a5614}
.grid-sec small{font-size:12px;font-weight:700;color:var(--sub,#517772)}
.grid-sub{grid-column:1/-1;font-size:13px;font-weight:900;color:#7a5614;margin-top:2px;display:flex;align-items:center;gap:6px}
.grid-sub small{font-size:11.5px;font-weight:700;color:var(--sub,#517772)}
.grid-sec.top{border-top:none;margin-top:0;padding-top:0;color:var(--navy,#35706c)}   /* 学年・教科で 絞った ときの 上の まとまりの 見出し */
.finder{scroll-margin-top:10px}
.to-finder{position:fixed;right:calc(14px + env(safe-area-inset-right, 0px));bottom:calc(14px + env(safe-area-inset-bottom, 0px));z-index:20;
  min-height:44px;padding:10px 17px;border:none;border-radius:99px;background:var(--pick,#0b57d0);color:var(--pick-text,#fff);
  font-family:inherit;font-size:13.5px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(11,87,208,.35);touch-action:manipulation}
.to-finder:focus-visible{outline:3px solid var(--gold,#edc85c);outline-offset:2px}
.grid-note{grid-column:1/-1;font-size:13px;font-weight:700;color:var(--sub,#517772);background:#fff;border:1px dashed var(--border,#d9ebe6);
  border-radius:12px;padding:12px 14px}

.legend{font-size:12px;color:var(--sub,#517772);font-weight:700;margin:-4px 0 10px;line-height:1.7}
.empty{text-align:center;padding:44px 16px;color:var(--sub,#517772);font-size:14px;
  background:var(--card,#fff);border:1px dashed var(--border,#d9ebe6);border-radius:16px}
.empty .big{font-size:38px;margin-bottom:10px}
/* とあ先生の スタンプ（2026-10-26・ブランディング。絵は /assets/toa/<名前>.webp・一覧＝手引き/とあスタンプ一覧.html）：
   見つからない ときは しょんぼり・「まだ ありません」の ひとことは とあ先生が ゆびさして 言う */
.empty .toa-st{display:block;height:120px;width:auto;margin:0 auto 10px;pointer-events:none;-webkit-user-drag:none;user-select:none}
.tk-note{grid-column:1/-1;display:flex;align-items:flex-end;gap:10px}
.tk-note>.toa-st{flex:none;height:64px;width:auto;pointer-events:none;-webkit-user-drag:none;user-select:none}
.tk-note>.grid-note{flex:1;min-width:0;position:relative}
.tk-note>.grid-note::before{content:"";position:absolute;left:-7px;bottom:22px;width:11px;height:11px;background:#fff;
  border-left:1px dashed var(--border,#d9ebe6);border-bottom:1px dashed var(--border,#d9ebe6);transform:rotate(45deg)}
@media (max-width:640px){.finder{padding:14px 12px}}
