
:root{--ink:#102333;--muted:#587083;--paper:#edf5f4;--panel:#ffffff;--line:#cddedd;--accent:#e26d3d;--accent2:#167a78;--soft:#e5f1ef;--shadow:0 18px 50px rgba(10,20,35,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;font-size:16px}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 65%,white);outline-offset:3px}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.nav{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:24px}.brand{font-weight:900;letter-spacing:.03em;text-decoration:none;display:flex;align-items:center;gap:11px}.mark{width:28px;height:28px;border-radius:8px;background:var(--accent);display:inline-grid;place-items:center;color:var(--paper);font-size:14px;box-shadow:0 5px 0 color-mix(in srgb,var(--accent) 65%,#000)}.navlinks{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:14px}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--ink)}.hero{padding:72px 0 38px;display:grid;grid-template-columns:1.18fr .82fr;gap:44px;align-items:end}.eyebrow{color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}.hero h1{font-size:clamp(32px,5vw,64px);line-height:1.12;letter-spacing:-.05em;margin:0 0 18px;max-width:760px}.hero p{font-size:18px;color:var(--muted);max-width:690px;margin:0}.hero-note{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:20px;box-shadow:var(--shadow)}.hero-note strong{display:block;font-size:15px;margin-bottom:7px}.hero-note span{color:var(--muted);font-size:14px;line-height:1.65;display:block}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0 28px}.search{flex:1 1 310px;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:13px 16px;font:inherit;color:var(--ink)}.select{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:13px 16px;font:inherit;color:var(--ink)}.result-count{font-size:13px;color:var(--muted);margin-left:auto}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:56px}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:21px;min-height:214px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.card .tag{font-size:12px;color:var(--accent);font-weight:800;letter-spacing:.04em}.card h2{font-size:19px;line-height:1.45;margin:10px 0 9px;letter-spacing:-.025em}.card p{font-size:14px;color:var(--muted);margin:0 0 15px}.card .read{font-size:13px;color:var(--accent);font-weight:800;margin-top:auto;text-decoration:none}.pager{display:flex;gap:8px;justify-content:center;padding:12px 0 74px}.pager button{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--ink);font:inherit;cursor:pointer}.pager button.active{background:var(--accent);border-color:var(--accent);color:var(--paper)}.empty{padding:40px 0;color:var(--muted);text-align:center}.article-head{padding:66px 0 30px;max-width:850px}.article-head .tag{color:var(--accent);font-weight:800;font-size:13px;letter-spacing:.08em}.article-head h1{font-size:clamp(30px,5vw,56px);line-height:1.2;letter-spacing:-.05em;margin:14px 0 18px}.article-head p{font-size:18px;color:var(--muted);margin:0}.meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:20px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start;padding-bottom:78px}.prose{max-width:760px}.prose h2{font-size:25px;line-height:1.35;margin:40px 0 13px;letter-spacing:-.025em}.prose h3{font-size:18px;margin:28px 0 8px}.prose p{margin:0 0 17px}.prose ul{padding-left:1.2em}.prose li{margin:.35em 0}.callout{border-left:4px solid var(--accent);background:var(--soft);padding:18px 19px;margin:24px 0;border-radius:0 14px 14px 0}.side{position:sticky;top:90px}.cta{background:var(--ink);color:var(--paper);border-radius:20px;padding:23px;box-shadow:var(--shadow)}.cta h2{font-size:20px;line-height:1.35;margin:0 0 9px}.cta p{color:color-mix(in srgb,var(--paper) 74%,transparent);font-size:14px;margin:0 0 17px}.cta a{display:block;background:var(--accent);color:var(--paper);font-weight:900;text-decoration:none;text-align:center;border-radius:11px;padding:11px 13px;margin-top:10px}.cta a.alt{background:color-mix(in srgb,var(--paper) 12%,transparent);border:1px solid color-mix(in srgb,var(--paper) 24%,transparent);font-weight:700}.side-note{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.65}.related{border-top:1px solid var(--line);padding-top:25px;margin-top:44px}.related h2{font-size:18px;margin:0 0 13px}.related a{display:block;text-decoration:none;padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px}.related a:hover{color:var(--accent)}.footer{border-top:1px solid var(--line);padding:32px 0 45px;color:var(--muted);font-size:13px}.footer-inner{display:flex;gap:24px;justify-content:space-between;align-items:flex-start}.footer p{margin:0;max-width:680px}.kicker{color:var(--accent2);font-weight:800}.breadcrumb{font-size:13px;color:var(--muted);padding-top:20px}.breadcrumb a{text-decoration:none}.hidden{display:none!important}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:24px;padding-top:48px}.article-grid{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:1fr}.side{position:static}.side .cta{max-width:640px}.navlinks{display:none}}@media(max-width:580px){.wrap{width:min(100% - 28px,1160px)}.hero h1{font-size:38px}.hero p{font-size:16px}.article-grid{grid-template-columns:1fr}.result-count{width:100%;margin-left:0}.article-head{padding-top:44px}.article-head h1{font-size:32px}.footer-inner{display:block}.footer-inner p{margin-bottom:12px}}
.field-kit{margin:34px 0 44px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 22px rgba(10,20,35,.05)}.field-kit h2{font-size:23px;line-height:1.4;margin:0 0 10px}.field-kit h3{font-size:17px;line-height:1.45;margin:26px 0 9px}.field-kit p{font-size:14px;color:var(--muted);margin:0 0 14px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}.data-table th{color:var(--muted);font-size:12px;letter-spacing:.04em;background:var(--soft)}.data-table tr:last-child td{border-bottom:0}.source-list{margin:0;padding-left:1.1em}.source-list li{margin:.45em 0}.source-list a{color:var(--accent);word-break:break-word}.source-note{font-size:12px!important;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px;margin-top:18px!important}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.photo-card{margin:0;border:1px dashed var(--line);border-radius:14px;padding:12px;background:var(--soft);min-height:114px}.photo-visual{height:48px;border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,white),color-mix(in srgb,var(--accent2) 20%,white));position:relative;margin-bottom:9px;overflow:hidden}.photo-visual:before{content:"";position:absolute;width:28px;height:20px;border:2px solid color-mix(in srgb,var(--accent) 65%,var(--ink));border-radius:5px;left:18px;top:14px}.photo-visual:after{content:"";position:absolute;width:8px;height:8px;border:2px solid color-mix(in srgb,var(--accent) 65%,var(--ink));border-radius:50%;left:28px;top:20px}.photo-card figcaption{font-size:13px;line-height:1.5}@media(max-width:580px){.photo-grid{grid-template-columns:1fr}.field-kit{padding:18px 15px}.data-table{font-size:13px}}