:root{--bg:#faf8f5;--bg-tint:#f2f7f4;--surface:#fff;--ink:#1d2a26;--ink-2:#3d4d48;--mute:#6b7d76;--faint:#9aa8a2;--accent:#2f7d64;--accent-deep:#1f5c49;--accent-tint:#e3f0e9;--accent-line:#cfe3d8;--warm:#e08063;--warm-tint:#fdeee8;--line:#e6e2db;--line-soft:#efece6;--shadow-sm:0 1px 2px #1d2a260a,0 2px 8px #1d2a260a;--shadow-md:0 2px 6px #1d2a260d,0 12px 28px -12px #1d2a2624;--shadow-lg:0 4px 12px #1d2a260f,0 28px 56px -24px #1d2a2638;--serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;--r:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16.5px;line-height:1.95;overflow-x:hidden}a{color:var(--accent-deep);text-decoration:none}a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px}img{max-width:100%}header{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(14px);background:#faf8f5c7;border-bottom:1px solid #0000;transition:border-color .3s,box-shadow .3s;position:sticky;top:0}header.scrolled{border-bottom-color:var(--line);box-shadow:0 1px 20px -8px #1d2a262e}.wrap{max-width:1060px;margin:0 auto;padding:0 24px}nav{align-items:center;gap:28px;height:72px;display:flex}.logo{font-family:var(--serif);letter-spacing:.08em;color:var(--ink);align-items:center;gap:12px;margin-right:4px;font-size:21px;font-weight:600;display:flex}.logo:hover{color:var(--accent-deep);text-decoration:none}.logo img{object-fit:cover;width:38px;height:38px;box-shadow:var(--shadow-sm);border-radius:12px;transition:transform .35s cubic-bezier(.2,.8,.3,1)}.logo:hover img{transform:rotate(-4deg)scale(1.05)}.logo .sub{font-family:var(--sans);letter-spacing:.22em;color:var(--faint);margin-top:4px;font-size:9.5px;font-weight:600;line-height:1;display:block}nav a.nl{color:var(--mute);letter-spacing:.03em;padding:6px 0;font-size:14px;font-weight:500;transition:color .2s;position:relative}nav a.nl:hover{color:var(--accent-deep);text-decoration:none}nav a.nl:after{content:"";background:var(--accent);border-radius:2px;height:2px;transition:right .28s cubic-bezier(.2,.8,.3,1);position:absolute;bottom:0;left:0;right:100%}nav a.nl:hover:after{right:0}main{padding:56px 0 110px;position:relative}h1{font-family:var(--serif);letter-spacing:.015em;color:var(--ink);margin:0 0 18px;font-size:clamp(31px,5vw,50px);font-weight:600;line-height:1.34}h2{font-family:var(--serif);letter-spacing:.03em;color:var(--ink);border:0;margin:64px 0 18px;padding-top:22px;font-size:clamp(22px,2.8vw,29px);font-weight:600;position:relative}h2:before{content:"";background:linear-gradient(90deg,var(--accent),var(--warm));border-radius:3px;width:44px;height:3px;position:absolute;top:0;left:0}h3{font-family:var(--serif);letter-spacing:.03em;color:var(--ink);margin:36px 0 10px;font-size:19.5px;font-weight:600}.lead{color:var(--ink-2);font-size:18px;line-height:1.95;font-family:var(--sans)}article{max-width:740px}article p{margin:0 0 1.4em}article ul,article ol{padding-left:1.35em}article li{margin-bottom:.55em}article strong,article b{color:var(--ink);font-weight:700}blockquote{border-left:3px solid var(--accent-line);color:var(--mute);margin:24px 0;padding:4px 0 4px 22px}article table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);width:100%;box-shadow:var(--shadow-sm);border-radius:14px;margin:26px 0;font-size:14.5px;display:block;overflow-x:auto}article th,article td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft);padding:12px 15px}article th{background:var(--bg-tint);color:var(--ink);white-space:nowrap;font-weight:700;position:sticky;top:0}article tr:last-child td{border-bottom:0}article tbody tr{transition:background .18s}article tbody tr:hover{background:var(--bg-tint)}.tag{background:var(--accent-tint);color:var(--accent-deep);letter-spacing:.05em;border:1px solid var(--accent-line);border-radius:999px;margin:0 7px 7px 0;padding:5px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-block}a.tag:hover{background:var(--accent);color:#fff;border-color:var(--accent);text-decoration:none}.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px;margin-top:28px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);color:var(--ink);transition:transform .32s cubic-bezier(.2,.8,.3,1),box-shadow .32s,border-color .32s;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-line);text-decoration:none;transform:translateY(-6px)}.card img{aspect-ratio:16/9;object-fit:cover;background:var(--bg-tint);width:100%;transition:transform .6s cubic-bezier(.2,.8,.3,1);display:block}.card:hover img{transform:scale(1.04)}.card .b{padding:17px 19px 20px}.card .n{color:var(--accent);letter-spacing:.1em;font-size:11.5px;font-weight:700}.card h3{color:var(--ink);font-size:17.5px;font-family:var(--serif);margin:7px 0 8px;line-height:1.5}.card p{color:var(--mute);margin:0;font-size:13.5px;line-height:1.75}.facts{grid-template-columns:1fr 1fr;gap:14px;margin:28px 0;display:grid}.fact{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;padding:17px 19px;transition:transform .28s,box-shadow .28s}.fact:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.fact b{color:var(--accent);letter-spacing:.1em;margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.notice{background:var(--warm-tint);color:#7d4433;border:1px solid #f3d8ce;border-radius:14px;margin:38px 0;padding:17px 21px;font-size:13.5px;line-height:1.85}.notice a{color:#a8482c}.hero{padding:44px 0 22px;position:relative}.hero img{border-radius:var(--r);width:100%;box-shadow:var(--shadow-lg);margin-top:28px}.hero:before{content:"";z-index:-1;pointer-events:none;filter:blur(28px);background:radial-gradient(46% 52% at 22% 34%,#2f7d6429,#0000 70%),radial-gradient(44% 50% at 78% 26%,#e0806324,#0000 70%);width:min(1100px,140vw);height:520px;position:absolute;top:-140px;left:50%;transform:translate(-50%)}.killer{font-family:var(--serif);letter-spacing:.16em;color:var(--accent-deep);background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:999px;margin-bottom:16px;padding:7px 17px;font-size:14px;font-weight:600;display:inline-block}.tldr{background:linear-gradient(180deg,var(--bg-tint),var(--surface));border:1px solid var(--accent-line);border-radius:var(--r);box-shadow:var(--shadow-sm);margin:26px 0;padding:22px 26px;position:relative}.tldr:before{content:"要点";background:var(--accent);color:#fff;letter-spacing:.14em;border-radius:999px;padding:3px 12px;font-size:11px;font-weight:700;position:absolute;top:-11px;left:22px}.tldr p{margin:0 0 .85em}.tldr p:last-child{margin-bottom:0}a.gl{color:var(--ink);border-bottom:1px dashed var(--accent-line);text-decoration:none;transition:border-color .2s,color .2s}a.gl:hover{color:var(--accent-deep);border-bottom-color:var(--accent);border-bottom-style:solid}footer{border-top:1px solid var(--line);color:var(--mute);background:linear-gradient(180deg,var(--bg),var(--bg-tint));padding:46px 0 56px;font-size:13px;line-height:1.9}footer a{color:var(--ink-2);margin-right:20px}.footer-brand{font-family:var(--serif);color:var(--ink);letter-spacing:.08em;align-items:center;gap:12px;margin-bottom:18px;font-size:18px;display:flex}.footer-brand img{width:32px;height:32px;box-shadow:var(--shadow-sm);border-radius:10px}html.js-anim [data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.2,.8,.3,1),transform .7s cubic-bezier(.2,.8,.3,1);transform:translateY(18px)}html.js-anim [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js-anim [data-reveal]{opacity:1;transition:none;transform:none}.card,.card img,.fact,.logo img{transition:none}}@media (width<=640px){body{font-size:16px;line-height:1.9}main{padding:34px 0 76px}.wrap{padding:0 18px}.facts{grid-template-columns:1fr}.grid{grid-template-columns:1fr;gap:18px}nav{gap:16px;height:64px}.logo{font-size:19px}.logo img{width:34px;height:34px}nav a.nl:nth-child(n+5){display:none}h2{margin-top:48px}.tldr{padding:20px}}
