:root{
  --green:#3aa856; --green-d:#2b8443; --ink:#22331f; --muted:#5f6b5a;
  --line:#dbe6d5; --bg:#f6faf3; --card:#fff; --accent:#e24a6a; --blue:#3E7BD1;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",system-ui,-apple-system,"Yu Gothic UI","Meiryo",sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.75;-webkit-text-size-adjust:100%}
a{color:var(--green-d)}
.wrap{max-width:820px;margin:0 auto;padding:0 16px 60px}
header.site{background:linear-gradient(180deg,#43b45f,#379a52);color:#fff;padding:10px 0}
header.site .wrap{padding-top:0;padding-bottom:0;display:flex;align-items:center;gap:10px}
header.site a{color:#fff;text-decoration:none;font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}
header.site img{width:30px;height:30px;border-radius:50%;background:#fff}
nav.bc{font-size:12px;color:var(--muted);padding:12px 0 2px}
nav.bc a{color:var(--muted);text-decoration:none}
nav.bc a:hover{text-decoration:underline}
h1{font-size:clamp(22px,5.5vw,30px);line-height:1.35;margin:14px 0 6px;color:var(--ink)}
h1 .en{display:block;font-size:14px;font-weight:600;color:var(--muted);margin-top:4px}
.lead{font-size:15.5px;color:#3d4a38;margin:10px 0 22px}
.hero{width:100%;border-radius:14px;border:1px solid var(--line);box-shadow:0 4px 14px rgba(40,80,40,.08);display:block}
.datacard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 4px;margin:22px 0;overflow:hidden}
table.data{width:100%;border-collapse:collapse;font-size:15px}
table.data th,table.data td{text-align:left;padding:12px 14px;vertical-align:top;border-bottom:1px solid var(--line)}
table.data tr:last-child th,table.data tr:last-child td{border-bottom:none}
table.data th{width:34%;color:var(--green-d);font-weight:700;background:#f2f8ee;white-space:nowrap}
table.data b{color:var(--ink)}
h2{font-size:19px;margin:36px 0 4px;padding:10px 14px;background:linear-gradient(90deg,#eaf5e3,#f6faf3);
  border-left:5px solid var(--green);border-radius:0 8px 8px 0}
h3{font-size:16px;margin:22px 0 6px;color:var(--green-d)}
p{margin:8px 0}
.slidefig{margin:16px 0 6px}
.slidefig img{width:100%;border-radius:12px;border:1px solid var(--line);display:block}
.slidefig figcaption{font-size:12.5px;color:var(--muted);margin-top:6px;text-align:center}
.point{background:#fff8f0;border:1px solid #f2d9b8;border-radius:12px;padding:14px 16px;margin:18px 0}
.point b{color:var(--accent)}
ul.tick{list-style:none;padding:0;margin:10px 0}
ul.tick li{padding:6px 0 6px 26px;position:relative}
ul.tick li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.cta{display:block;text-align:center;background:linear-gradient(180deg,#4bbb64,#379a52);color:#fff;
  text-decoration:none;font-weight:800;font-size:17px;padding:16px;border-radius:14px;margin:28px 0 8px;
  box-shadow:0 6px 16px rgba(50,140,70,.28)}
.cta small{display:block;font-weight:600;font-size:12px;opacity:.9;margin-top:3px}
.related{margin:30px 0}
.related h2{margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;text-decoration:none;
  color:var(--ink);font-size:14px;font-weight:600}
.chips a:hover{border-color:var(--green);background:#f2f8ee}
footer.site{border-top:1px solid var(--line);margin-top:40px;padding:22px 0;font-size:12.5px;color:var(--muted);text-align:center}
footer.site a{color:var(--muted)}
/* /dict/ index page */
.dictindex .grp{margin:26px 0}
.dictindex .grp h2{margin-bottom:10px}
.dictindex .cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.dictindex .cardgrid a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.dictindex .cardgrid a:hover{border-color:var(--green);background:#f2f8ee}
