:root {
  /* 三福カラー（メイン・ブランドカラー） */
  --ink: #111e2e;            /* テキスト基本色（濃いネイビーブラック） */
  --navy: #003366;           /* 三福メインブルー（ヘッダー・検索ステージ・アクティブ要素） */
  --paper: #f4f7f9;          /* 背景色（わずかに青みがかった清潔感のあるグレー） */
  --white: #ffffff;          /* 白 */
  --line: #d5e0ea;           /* ボーダー枠線（青みのあるやわらかいグレー） */
  --accent: #ff6600;         /* 三福アクセントオレンジ（ハイライト・ボタン） */
  --muted: #5e6f84;          /* 控えめテキスト（青みのある中間色） */
  --soft: #eaf1f7;           /* パネル・タグなどの背景ソフトカラー */
  --gold: #ffcc00;           /* 三福サブアクセント（イエロー/ゴールド） */
}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.7}.topbar{height:76px;background:var(--white);border-bottom:2px solid var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:40px;height:40px;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}.brand b{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.1rem;letter-spacing:.05em}.brand small{display:block;color:var(--muted);font-size:.72rem;line-height:1.2}.about-btn,#clearBtn{border:0;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.about-btn:hover,#clearBtn:hover{color:var(--accent)}.search-stage{background:var(--navy);color:#fff;padding:58px clamp(20px,6vw,88px) 52px;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:7vw;align-items:end;position:relative;overflow:hidden}.search-stage:after{content:"あ";position:absolute;right:-18px;top:-92px;font:700 22rem/1 "Yu Mincho",serif;color:rgba(255,255,255,.03);pointer-events:none}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:800;color:var(--gold);margin:0 0 12px}.stage-copy h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.35;margin:0;letter-spacing:.025em}.stage-copy em{font-style:normal;color:var(--gold);border-bottom:2px solid currentColor}.search-wrap{position:relative;z-index:1}.search-wrap>label{display:block;font-size:.85rem;margin-bottom:8px;color:#e1edfd}.search-box{background:#fff;border-radius:12px;padding:6px 8px 6px 18px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 40px rgba(0,20,50,.25)}.search-box>span{color:var(--accent);font-size:1.8rem;line-height:1}.search-box input{border:0;outline:0;flex:1;padding:13px 0;font:inherit;font-size:1rem;min-width:0}.search-box kbd{background:var(--accent);color:#fff;border-radius:8px;padding:10px 14px;font:inherit;font-size:.8rem}.popular{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.popular:before{content:"よく検索：";color:#b0cae3;font-size:.78rem}.popular button{border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.12);border-radius:99px;padding:4px 11px;cursor:pointer}.popular button:hover{background:rgba(255,255,255,.25)}.dictionary{max-width:1440px;margin:0 auto;padding:38px clamp(20px,5vw,72px) 80px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px}.filters{align-self:start;position:sticky;top:110px}.filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.filter-head h2{font-size:1rem;margin:0}.filter-head button{font-size:.75rem}.category-filters{display:flex;flex-direction:column;gap:6px}.category-filters button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.category-filters button span{color:var(--muted);font-size:.78rem}.category-filters button:hover{background:#fff}.category-filters button.active{background:var(--navy);color:#fff}.category-filters button.active span{color:#b0cae3}.guide-card{background:#fff;border-left:4px solid var(--accent);padding:17px 18px;margin-top:24px;font-size:.83rem;box-shadow:0 2px 8px rgba(0,0,0,.04)}.guide-card p{margin:5px 0 0;color:var(--muted)}.kana-nav{display:flex;gap:5px;flex-wrap:wrap;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.kana-nav button{width:36px;height:36px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.kana-nav button:hover{background:var(--soft);color:var(--navy)}.kana-nav button.active{background:var(--accent);color:#fff}.result-head{display:flex;justify-content:space-between;align-items:end;margin:26px 0 12px}.result-head p{margin:0;color:var(--accent);font-size:.78rem;font-weight:800}.result-head h2{margin:1px 0 0;font-size:1.25rem}.result-head select{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 28px 9px 11px;color:var(--ink)}.term-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.term-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px 19px;text-align:left;color:var(--ink);cursor:pointer;transition:.18s ease;min-height:126px}.term-card:hover{border-color:var(--navy);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,51,102,.12)}.term-top{display:flex;justify-content:space-between;gap:12px}.term-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;margin:0;font-size:1.15rem;color:var(--navy)}.term-card .reading{color:var(--muted);font-size:.72rem;margin:1px 0 8px}.term-card .summary{font-size:.86rem;color:#435366;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tag{white-space:nowrap;align-self:start;background:var(--soft);border-radius:4px;padding:3px 7px;color:var(--navy);font-weight:600;font-size:.68rem}.empty{text-align:center;background:#fff;border:1px dashed var(--line);border-radius:12px;padding:52px 20px;color:var(--muted)}.empty b{color:var(--ink)}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 24px 80px rgba(0,30,70,.35);color:var(--ink)}dialog::backdrop{background:rgba(0,15,35,.65);backdrop-filter:blur(3px)}.term-dialog{width:min(720px,calc(100vw - 30px));max-height:88vh}.term-dialog article,.about-dialog{padding:38px clamp(24px,5vw,48px)}.dialog-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:var(--soft);color:var(--navy);font-size:1.3rem;cursor:pointer}.detail-category{color:var(--accent);font-size:.78rem;font-weight:800}.term-dialog h2{font:700 clamp(1.8rem,4vw,2.5rem)/1.3 "Yu Mincho",serif;margin:4px 0 0;color:var(--navy)}.detail-reading{margin:0 0 24px;color:var(--muted)}.one-line{font-size:1.08rem;background:var(--soft);border-left:4px solid var(--accent);padding:18px 20px}.detail-block{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.detail-block h3{font-size:.95rem;margin:0 0 7px;color:var(--navy)}.detail-block p{margin:0;color:#394858}.related{display:flex;gap:7px;flex-wrap:wrap}.related button{border:1px solid var(--line);border-radius:99px;padding:6px 11px;background:#fff;cursor:pointer;color:var(--navy)}.related button:hover{background:var(--soft)}.about-dialog{width:min(560px,calc(100vw - 30px))}.about-dialog h2{font-family:"Yu Mincho",serif;font-size:1.8rem;color:var(--navy)}.notice{font-size:.82rem;background:var(--soft);padding:14px;border-radius:6px}footer{background:#001d3d;color:#a3bd38;padding:34px clamp(20px,6vw,88px);display:flex;justify-content:space-between;font-size:.8rem}footer p{margin:0;color:#a3bd38}
@media(max-width:850px){.search-stage{grid-template-columns:1fr;gap:34px;padding-top:42px}.dictionary{grid-template-columns:1fr}.filters{position:static}.category-filters{flex-direction:row;overflow-x:auto;padding-bottom:5px}.category-filters button{width:auto;white-space:nowrap}.category-filters button span{display:none}.guide-card{display:none}.term-list{grid-template-columns:1fr}}
@media(max-width:520px){.topbar{height:64px;padding:0 16px}.brand small,.about-btn{display:none}.search-stage{padding:34px 18px}.search-box kbd{display:none}.dictionary{padding:24px 14px 60px;gap:22px}.kana-nav{gap:3px}.kana-nav button{width:32px;height:34px}.term-card{min-height:auto}.result-head{align-items:center}.result-head select{max-width:132px}footer{display:block;padding:28px 18px}footer p+ p{margin-top:4px}}
.load-more{display:block;margin:24px auto 0;border:2px solid var(--navy);border-radius:9px;background:#fff;color:var(--navy);padding:12px 34px;font:inherit;font-weight:700;cursor:pointer;transition:.18s ease}.load-more:hover{background:var(--navy);color:#fff}.load-more[hidden]{display:none}

/* --- ロゴ画像表示のための調整 --- */

/* ブランドリンク全体のレイアウト */
.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--ink);
  text-decoration: none;
}

/* ロゴ画像のスタイリング */
.brand-logo {
  height: 42px;         /* ヘッダー高さ(76px)に合わせた最適なサイズ */
  width: auto;          /* アスペクト比を維持 */
  display: block;
  object-fit: contain;
}

/* スマホ表示（520px以下）のサイズ微調整 */
@media (max-width: 520px) {
  .brand-logo {
    height: 34px;       /* スマホ用ヘッダー高さ(64px)に合わせる */
  }
}