:root{--navy:#1f3a8a;--ink:#1c2233;--soft:#eef2fb;--amber:#fff7e0;--amberb:#c89a1d;--rose:#fcecf3;--roseb:#b33a6b;--mute:#55607a}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;color:var(--ink);line-height:2.1;background:#fff}
header{background:var(--navy);color:#fff;padding:.6rem 1rem;position:sticky;top:0;z-index:2}
header a{color:#fff;text-decoration:none}.top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.home{font-weight:700;display:block;margin-bottom:.2rem}.site{font-size:.85rem;opacity:.9;text-decoration:underline!important}
nav{display:flex;flex-wrap:wrap;gap:.2rem .9rem;font-size:.9rem}nav a.cur{border-bottom:2px solid #ffd774}
main{max-width:980px;margin:0 auto;padding:1rem 1.2rem 3rem}
h1{color:var(--navy);border-bottom:2px solid var(--navy);padding-bottom:.3rem}h2{color:var(--navy);border-left:.5rem solid #d9731a;padding-left:.6rem;margin-top:2.2rem}h3{color:var(--navy)}
rt{font-size:.5em;color:#46506b}ruby{ruby-position:over}
html.noruby rt{display:none}
ul,ol{padding-left:1.4rem}li{margin:.2rem 0}
.menu{list-style:none;padding:0}.menu li a{display:block;padding:.8rem 1rem;margin:.5rem 0;background:var(--soft);border-radius:.5rem;color:var(--navy);text-decoration:none;font-weight:700}
.menu li a small{display:block;font-weight:400;color:var(--mute);font-size:.88rem;line-height:1.7}
.grp{margin-top:1.6rem}
.tw{overflow-x:auto}
main table{border-collapse:collapse;width:100%;font-size:.92rem;line-height:1.75;margin:1rem 0}
main th,main td{border:1px solid #b8c3e0;padding:.35rem .6rem;vertical-align:top;text-align:left}main th{background:var(--soft);color:var(--navy)}
main table td{overflow-wrap:anywhere;word-break:normal}
main table col{width:auto!important}
blockquote{margin:1rem 0;padding:.5rem 1rem;border-left:.35rem solid var(--amberb);background:var(--amber)}
blockquote p{margin:.3rem 0}
.kakunin{margin:1rem 0;padding:.6rem 1rem;border-left:.35rem solid var(--navy);background:var(--soft)}
code{font-family:ui-monospace,Menlo,Consolas,monospace;background:#f1f3f8;padding:.05rem .3rem;border-radius:.2rem;font-size:.92em}
footer{text-align:center;color:var(--mute);font-size:.85rem;padding:1rem}
.crumb{font-size:.9rem;color:var(--mute);margin:0 0 .4rem}.crumb a{color:var(--navy)}
@media (max-width:600px){body{font-size:15px}main{padding:1rem .9rem 3rem}}
.sf{display:flex;gap:.4rem;margin:.4rem 0 .5rem;flex-wrap:wrap}.sf input{flex:1;min-width:10rem;max-width:420px;padding:.45rem .7rem;border:0;border-radius:.4rem;font:inherit;font-size:.95rem}.sf button{padding:.45rem .9rem;border:0;border-radius:.4rem;background:#ffd774;color:#1f3a8a;font-weight:700;cursor:pointer}
.sf button.rt{background:#fff;color:var(--navy)}
.sl{list-style:none;padding:0}.sl li{padding:.5rem .2rem;border-bottom:1px solid #e1e7f5}.sl a{font-weight:700;color:var(--navy);text-decoration:none;display:block}.sl span{display:block;color:#46506b;font-size:.9rem;line-height:1.7}.sc{color:var(--mute)}
@media (prefers-color-scheme:dark){
  :root{--ink:#e7eaf3;--soft:#1d2540;--amber:#3a3015;--rose:#3a1c2a;--mute:#a7b0c8}
  body{background:#12151f}
  h1,h2,h3,.menu li a,.crumb a{color:#a9c0ff}h1{border-bottom-color:#a9c0ff}
  main th,main td{border-color:#38426a}main th{color:#a9c0ff}
  rt{color:#aeb7d0}code{background:#232a40}
  .sl a{color:#a9c0ff}.sl li{border-bottom-color:#2b3556}.sl span{color:#aeb7d0}
}


.tw{max-width:100%;overflow-x:auto}.multilingual table{max-width:none;min-width:900px;width:max-content}th,td{overflow-wrap:anywhere;word-break:normal}@media print{header,.sf,nav,.crumb{display:none!important}body{background:#fff;color:#000}main{max-width:none;padding:0}table{break-inside:avoid}a{color:#000;text-decoration:none}}a{overflow-wrap:anywhere;word-break:break-word}
a{overflow-wrap:anywhere;word-break:break-word}
.flow p{display:contents}.flow{display:grid;grid-template-columns:1fr;justify-items:center;gap:.35rem;margin:1rem 0;padding:1rem;background:#eef2fb;border-radius:.5rem}.flow span{padding:.45rem .65rem;border:1px solid #b8c3e0;border-radius:.35rem;background:#fff;color:#1f3a8a;font-weight:700}.flow b{color:#1f3a8a;transform:rotate(90deg)}@media(min-width:601px){.flow{display:flex;flex-wrap:wrap}.flow b{transform:none}}