:root{color-scheme:light dark;--ai-50:#eef9fd;--ai-100:#daf1fb;--ai-200:#bbe1f5;--ai-300:#8ec6e6;--ai-400:#62a3ce;--ai-500:#4282b3;--ai-600:#30679a;--ai-700:#295181;--ai-800:#233d66;--ai-900:#1b2a49;--ai-950:#121b30;--yamabuki-300:#ffcf49;--yamabuki-100:#ffeeb9;--canvas:#f3f6f9;--surface:#fff;--sunken:#eaeef2;--raised:#fff;--line:#d4dae0;--line-strong:#727b85;--ink:#182230;--ink-sub:#5a6470;--brand:#30679a;--brand-hover:#295181;--on-brand:#fff;--brand-strong:#233d66;--brand-soft:#eef9fd;--brand-text:#295181;--stitch:#62a3ce;--accent:#ffcf49;--accent-soft:#ffeeb9;--focus-inner:#121b30;--success:#206b38;--success-bg:#e6fae9;--warning:#85490f;--warning-bg:#fff1d6;--danger:#ac262a;--danger-bg:#ffedec;--seal:#c4222b;--font-sans:"Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "BIZ UDPGothic", "Yu Gothic UI", Meiryo, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "BIZ UDGothic", monospace;--font-mincho:"Hiragino Mincho ProN", "BIZ UDPMincho", "Yu Mincho", "Noto Serif JP", serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-none:0;--radius-record:4px;--radius-control:10px;--radius-card:12px;--radius-pill:999px;--shadow-hover:0 1px 2px #1822300f, 0 2px 6px #1822300f;--shadow-overlay:0 8px 24px #18223024, 0 2px 6px #18223014;--control-height:44px;--control-height-compact:36px;--measure-reading:40em;--page-max:1080px;--page-narrow:620px}@media (prefers-color-scheme:dark){:root{--canvas:#0d131b;--surface:#141b24;--sunken:#0f161e;--raised:#1c232d;--line:#303943;--line-strong:#6c7680;--ink:#e7ecf0;--ink-sub:#adb5be;--brand:#8ec6e6;--brand-hover:#bbe1f5;--on-brand:#121b30;--brand-strong:#bbe1f5;--brand-soft:#192f46;--brand-text:#bbe1f5;--accent-soft:#4a3d12;--focus-inner:#e7ecf0;--success:#7cd591;--success-bg:#173221;--warning:#f4c26a;--warning-bg:#3c2a13;--danger:#f98f87;--danger-bg:#472020;--seal:#ff8f86;--shadow-hover:none;--shadow-overlay:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--space-8)}body{background:var(--canvas);color:var(--ink);font:400 15px/26px var(--font-sans);letter-spacing:.02em;line-break:strict;overflow-wrap:break-word;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--brand);text-underline-offset:.2em}a:hover{color:var(--brand-hover)}:focus-visible{outline:2px solid var(--focus-inner);outline-offset:0;box-shadow:0 0 0 5px var(--accent)}h1,h2,h3{letter-spacing:.02em;font-feature-settings:"palt";text-wrap:balance;word-break:auto-phrase;font-weight:700}h1{margin:var(--space-1) 0 var(--space-5);font-size:22px;line-height:32px}h2{align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-6) 0 var(--space-3);flex-wrap:wrap;font-size:18px;line-height:28px;display:flex}h2:before{content:"";background:repeating-linear-gradient(90deg,var(--stitch) 0 8px,transparent 8px 13px);flex:none;width:34px;height:2px}h3{font-size:16px;line-height:24px}.muted{color:var(--ink-sub)}.small{font-size:13px;line-height:20px}.mono,code{font-family:var(--font-mono);letter-spacing:0;overflow-wrap:anywhere;font-size:13px;line-height:20px}code{padding:0 var(--space-1);border-radius:var(--radius-record);background:var(--sunken)}button,.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-5);border:1px solid var(--brand);border-radius:var(--radius-control);background:var(--brand);color:var(--on-brand);font:inherit;text-align:center;cursor:pointer;font-weight:700;line-height:20px;text-decoration:none;display:inline-flex}button:hover,.button:hover{border-color:var(--brand-hover);background:var(--brand-hover);color:var(--on-brand)}.secondary{border-color:var(--line-strong);background:var(--surface);color:var(--brand-text)}.secondary:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.quiet{border-color:var(--line-strong);color:var(--ink);background:0 0}.quiet:hover{border-color:var(--line-strong);background:var(--sunken);color:var(--ink)}.compact{min-height:var(--control-height-compact);padding:var(--space-1) var(--space-4)}.block{width:100%;display:flex}.wrap{max-width:var(--page-max);padding:0 var(--space-4);margin:0 auto}header.site{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}header.site .wrap{align-items:center;gap:var(--space-4);min-height:64px;display:flex}.logo{color:var(--brand-strong);letter-spacing:.08em;flex:none;align-items:center;font-size:18px;font-weight:700;text-decoration:none;display:flex}.logo picture,.logo img{display:block}header.site nav{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}header.site nav a.link{padding:var(--space-1) var(--space-2);color:var(--ink-sub);text-decoration:none}header.site nav a.link:hover{color:var(--ink);text-decoration:underline}@media (width<=640px){header.site nav a.link{display:none}}.hero{padding:var(--space-8) 0 var(--space-7)}.eyebrow{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--brand-text);font-size:13px;font-weight:700;line-height:20px;display:inline-block}.hero h1{margin:var(--space-4) 0 var(--space-3);color:var(--brand-strong);font-size:28px;line-height:40px}.lead{max-width:var(--measure-reading);margin:0 0 var(--space-6);color:var(--ink-sub);font-size:16px;line-height:29px}.cta{gap:var(--space-3);flex-wrap:wrap;display:flex}section{padding:var(--space-8) 0;border-top:1px solid var(--line)}section h2{margin:0 0 var(--space-2)}p.sub{margin:0 0 var(--space-5);color:var(--ink-sub)}.cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.cards.three{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card,.steps li{padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}@media (width>=601px){.card,.steps li{padding:var(--space-5)}}.card h3{margin:0 0 var(--space-2)}.card p{color:var(--ink-sub);margin:0}.tag{color:var(--brand-text);letter-spacing:.08em;font-size:13px;font-weight:700;line-height:20px}.steps{counter-reset:s;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.steps li:before{counter-increment:s;content:counter(s);width:32px;height:32px;margin-bottom:var(--space-2);border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand);place-items:center;font-weight:700;display:grid}.steps b{display:block}.steps span{color:var(--ink-sub)}ul.checks{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}ul.checks li{padding-left:28px;position:relative}ul.checks li:before{content:"✓";content:"✓"/"";color:var(--brand);font-weight:700;position:absolute;left:0}.final{padding:var(--space-6) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);text-align:center}.final h2{justify-content:center}.final .cta{margin-top:var(--space-5);justify-content:center}footer{padding:var(--space-6) 0 var(--space-7);color:var(--ink-sub);font-size:13px;line-height:20px}.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-2);top:var(--space-2);z-index:99;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}header.site nav a.link[aria-current=page]{color:var(--ink);font-weight:700}.page{padding:var(--space-6) 0 var(--space-8)}.page h1{margin-top:var(--space-2);color:var(--brand-strong);font-size:26px;line-height:38px}.crumbs{gap:var(--space-1);color:var(--ink-sub);flex-wrap:wrap;margin:0;padding:0;font-size:13px;line-height:20px;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:var(--space-1)}.crumbs a{color:var(--ink-sub)}.prose{max-width:var(--measure-reading);font-size:16px;line-height:29px}.prose h2{margin-top:var(--space-7)}.prose table{border-collapse:collapse;width:100%;margin:var(--space-4) 0;background:var(--surface);font-size:14px;line-height:22px}.prose th,.prose td{padding:var(--space-2) var(--space-3);border:1px solid var(--line);text-align:left;vertical-align:top}.prose th{background:var(--sunken)}.answer{padding:var(--space-4) var(--space-5);margin:var(--space-4) 0 var(--space-5);background:var(--brand-soft);border-left:4px solid var(--brand);border-radius:var(--radius-record)}.answer p{margin:0}.meta{color:var(--ink-sub);font-size:13px;line-height:20px}.faq{gap:var(--space-3);max-width:var(--measure-reading);display:grid}.faq details{padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.faq summary{cursor:pointer;font-weight:700;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q. ";color:var(--brand)}.faq details p{margin:var(--space-2) 0 0;color:var(--ink-sub)}.list-links{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.list-links a{padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--ink);text-decoration:none;display:block}.list-links a:hover{border-color:var(--brand)}.list-links b{color:var(--brand-text);display:block}.list-links span{color:var(--ink-sub);font-size:14px}form.contact{gap:var(--space-4);max-width:var(--page-narrow);display:grid}form.contact label{gap:var(--space-1);font-weight:700;display:grid}form.contact .req{color:var(--danger);margin-left:var(--space-1);font-size:12px}form.contact input,form.contact select,form.contact textarea{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;font-weight:400}form.contact textarea{min-height:160px}@media (width<=600px){form.contact input,form.contact select,form.contact textarea{font-size:16px}}form.contact button{justify-self:start}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.error{padding:var(--space-3) var(--space-4);border:1px solid var(--danger);border-radius:var(--radius-record);background:var(--danger-bg)}.error[hidden]{display:none}footer .wrap{gap:var(--space-2);display:grid}footer nav{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}footer nav a{color:var(--ink-sub)}footer p{margin:0}.post-meta{align-items:center;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-2);color:var(--ink-sub);flex-wrap:wrap;font-size:13px;line-height:20px;display:flex}.label{padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-record);background:var(--brand-soft);color:var(--brand-text);letter-spacing:.04em;white-space:nowrap;font-size:12px;font-weight:700;line-height:20px;display:inline-block}.label[data-kind=メンテナンス]{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.label.draft{border-style:dashed;border-color:var(--line-strong);background:var(--sunken);color:var(--ink-sub)}.list-links .post-meta{margin-bottom:var(--space-1)}.list-links.posts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.news-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-record);margin:0;padding:0;list-style:none}.news-list li+li{border-top:1px solid var(--line)}.news-list a{gap:var(--space-1);padding:var(--space-3) var(--space-4);color:var(--ink);text-decoration:none;display:grid}.news-list a:hover{background:var(--sunken)}.news-list a:hover b{text-decoration:underline}.news-list .post-meta{margin:0}@media (width>=721px){.news-list a{align-items:baseline;gap:var(--space-4);grid-template-columns:auto 1fr}}.prose img{border:1px solid var(--line);border-radius:var(--radius-record);max-width:100%;height:auto}.prose blockquote{margin:var(--space-4) 0;padding:var(--space-1) var(--space-4);border-left:4px solid var(--line-strong);color:var(--ink-sub)}.prose pre{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-record);background:var(--sunken);overflow-x:auto}.prose pre code{overflow-wrap:normal;background:0 0;padding:0}.prose hr{margin:var(--space-6) 0;border:0;border-top:1px solid var(--line)}
