:root{
  --ink:#1C1A17; --soft:#4A463F; --faint:#8A8479;
  --line:#D9D2C3; --panel:#FBFAF6; --bg:#F4F1EA; --sunk:#ECE6D8;
  --accent:#1C7A45; --accent-bg:#E4EDE0; --seal:#B23A26;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Inter","Noto Sans JP","Segoe UI",system-ui,-apple-system,"Hiragino Sans","Yu Gothic",sans-serif;
  font-size:15px;line-height:1.65;padding:0 0 80px;
  background-image:radial-gradient(rgba(28,26,23,0.035) 1px,transparent 1px);
  background-size:22px 22px;}
[data-lang="en"] .ja{display:none;}
[data-lang="ja"] .en{display:none;}
.nav{background:var(--panel);border-bottom:1px solid var(--line);}
.nav-inner{max-width:1160px;margin:0 auto;padding:10px 22px;display:flex;
  align-items:center;gap:18px;flex-wrap:wrap;}
.brand{font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;}
.nav a.nav-link{color:var(--soft);text-decoration:none;font-size:13px;}
.nav a.nav-link:hover{color:var(--ink);}
.nav a.nav-link.current{color:var(--accent);font-weight:600;}
.lang{margin-left:auto;display:flex;gap:4px;}
.lang-btn{border:1px solid var(--line);background:var(--panel);color:var(--soft);
  font-size:12px;padding:3px 10px;border-radius:14px;cursor:pointer;}
.lang-btn.active{background:var(--ink);color:var(--panel);border-color:var(--ink);}
.totop{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border-radius:999px;
  border:1px solid var(--line);background:var(--panel);color:var(--soft);font-size:17px;
  line-height:1;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.7),0 10px 34px -16px rgba(28,26,23,0.35);z-index:60;}
.totop.show{opacity:1;visibility:visible;}
.totop:hover{color:var(--ink);border-color:var(--faint);}
