:root{--paper:#F6F7F9;--card:#FFFFFF;--ink:#16202E;--soft:#5C6470;--faint:#929AA6;--line:#E4E8EE;--line-2:#EEF1F5;--brand:#1F5FE0;--brand-deep:#1747AC;--brand-tint:#E9F0FE;--gold:#F0A93B;--gold-tint:#FCF1DE;--navy:#16202E;--navy-tint:#E7EBF1;--ok:#1F8A5B;--ok-tint:#E4F3EC;--shadow:0 1px 2px rgba(22,32,46,.04), 0 6px 22px rgba(22,32,46,.07);--shadow-lg:0 8px 40px rgba(22,32,46,.16);--r:16px;--r-sm:10px;--disp:"Zen Kaku Gothic New",system-ui,sans-serif;--body:"Noto Sans JP",system-ui,sans-serif;--num:"Outfit","Noto Sans JP",sans-serif;--w-page:1180px;--w-read:760px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:var(--brand)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px;border-radius:4px}::selection{background:var(--gold-tint)}:target{scroll-margin-top:80px}.num{font-family:var(--num);font-variant-numeric:tabular-nums}.wrap{max-width:var(--w-page);margin:0 auto;padding:16px 22px}.read{max-width:var(--w-read);margin-left:auto;margin-right:auto}.ended-banner{background:#fef2f2;border:1.5px solid #FCA5A5;color:#b91c1c;font-weight:800;padding:12px 14px;border-radius:10px;margin:12px 0}.sec{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0}.sec h2{font-size:14px;color:var(--soft);margin:0 0 8px}.pill{display:inline-block;background:var(--brand-tint);color:var(--brand);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;margin:2px 4px 2px 0}header.site a,footer.site a{color:inherit;text-decoration:none}header.site{position:sticky;top:0;z-index:60;background:#f6f7f9e0;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}header.site .bar{max-width:1180px;margin:0 auto;padding:0 22px;height:64px;display:flex;align-items:center;gap:16px}header.site .brand{display:flex;align-items:center;gap:9px;flex-shrink:0}header.site .logo-mark{width:31px;height:31px;border-radius:9px;background:var(--brand);display:grid;place-items:center;box-shadow:0 3px 8px #1f5fe052}header.site .logo-mark svg{width:17px;height:17px;color:#fff}header.site .brand .name{font-family:var(--disp);font-weight:900;font-size:20px;letter-spacing:.01em}header.site .brand .name b{color:var(--brand)}header.site .h-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 16px;max-width:520px;transition:.15s}header.site .h-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}header.site .h-search svg{flex-shrink:0;color:var(--faint)}header.site .h-search input{flex:1;border:none;background:none;font-size:14px;color:var(--ink);outline:none}header.site .h-search input::placeholder{color:var(--faint)}header.site .h-search .go{background:var(--ink);color:#fff;border-radius:999px;padding:8px 16px;font-weight:700;font-size:13px}header.site .h-search .go:hover{background:var(--brand)}header.site .h-spacer{flex:1}header.site .h-link{font-weight:700;font-size:13px;color:var(--soft);padding:8px 12px;border-radius:8px;white-space:nowrap}header.site .h-link:hover{color:var(--brand);background:var(--brand-tint)}@media (max-width:780px){header.site .h-search{display:none}header.site .h-spacer{display:block}}footer.site{background:var(--card);border-top:1px solid var(--line);margin-top:50px}footer.site .foot{max-width:1180px;margin:0 auto;padding:40px 22px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}@media (max-width:780px){footer.site .foot{grid-template-columns:1fr 1fr}}footer.site .foot .brand{display:flex;align-items:center;gap:9px;margin-bottom:14px}footer.site .foot .logo-mark{width:31px;height:31px;border-radius:9px;background:var(--brand);display:grid;place-items:center}footer.site .foot .logo-mark svg{width:17px;height:17px;color:#fff}footer.site .foot .name{font-family:var(--disp);font-weight:900;font-size:20px}footer.site .foot .name b{color:var(--brand)}footer.site .foot .desc{font-size:12.5px;color:var(--soft);line-height:1.8;max-width:280px}footer.site .foot .lic{margin-top:14px;font-size:11.5px;color:var(--faint);line-height:1.7}footer.site .foot h5{font-family:var(--disp);font-weight:700;font-size:13px;margin:0 0 13px}footer.site .foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}footer.site .foot li a{font-size:12.5px;color:var(--soft)}footer.site .foot li a:hover{color:var(--brand)}footer.site .foot-bottom{border-top:1px solid var(--line-2);padding:16px 22px;text-align:center;font-size:11.5px;color:var(--faint)}
