:root{--green-deep:#0f2257;--green:#2c4a8c;--green-soft:#e9eef8;--amber:#e0252b;--amber-soft:#fdeceb;--ink:#1d1d1f;--ink-soft:#6e6e73;--paper:#f6f7fa;--white:#fff;--line:#e3e6ee;--font-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--font-serif:"Noto Serif JP","Hiragino Mincho ProN",serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.8}img{max-width:100%}a{color:inherit;text-decoration:none}.container{max-width:1080px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f6f7fae6;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.logo{letter-spacing:.04em;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.logo img{flex-shrink:0;display:block}.header-actions{align-items:center;gap:10px;display:flex}.lang-switch{color:var(--ink-soft);border:1px solid var(--line);background:var(--white);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:8px 13px;font-size:13px;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.lang-switch:hover{background:var(--green-soft);color:var(--green)}.lang-switch svg{width:14px;height:14px}.btn{letter-spacing:.02em;border-radius:999px;padding:12px 28px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,background .2s;display:inline-block}.btn-primary{background:var(--green);color:var(--white);box-shadow:0 4px 14px #0f225740}.btn-primary:hover{background:var(--green-deep);transform:translateY(-1px)}header .btn{padding:9px 22px;font-size:14px}.back{color:var(--ink-soft);align-items:center;gap:6px;margin:28px 0 4px;font-size:14px;font-weight:500;display:inline-flex}.back:hover{color:var(--green)}.nhero{padding:24px 0 8px}.nhero .eyebrow{background:var(--amber-soft);color:var(--amber);letter-spacing:.08em;border-radius:999px;margin-bottom:20px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-block}.nhero h1{font-family:var(--font-serif);letter-spacing:.04em;margin-bottom:14px;font-size:clamp(28px,5vw,44px);font-weight:600;line-height:1.4}.nhero .lead{color:var(--ink-soft);max-width:640px;font-size:17px}.nsec{padding:40px 0 72px}.news-list{flex-direction:column;display:flex}.news-item{border-bottom:1px solid var(--line);padding:28px 0}.news-item:first-child{padding-top:8px}.news-meta{align-items:center;gap:12px;margin-bottom:12px;display:flex}.news-meta time{color:var(--ink-soft);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.tag{letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.tag-info{background:var(--green-soft);color:var(--green)}.tag-update{background:var(--amber-soft);color:var(--amber)}.tag-maint{color:var(--ink-soft);background:#eef0f4}.news-title{font-family:var(--font-serif);letter-spacing:.02em;margin-bottom:10px;font-size:clamp(18px,2.6vw,22px);font-weight:600;line-height:1.55}.news-body{color:var(--ink-soft);font-size:15px}.news-body a{color:var(--green);border-bottom:1px solid var(--green-soft);font-weight:600}.news-body a:hover{border-bottom-color:var(--green)}.news-empty{text-align:center;color:var(--ink-soft);padding:48px 0}.ncta{background:var(--green-soft);text-align:center;padding:64px 0}.ncta h2{font-family:var(--font-serif);margin-bottom:14px;font-size:clamp(22px,3.4vw,28px);font-weight:600}.ncta p{color:var(--ink-soft);margin-bottom:26px}footer{background:var(--green-deep);color:#aab4cd;padding:40px 0;font-size:13px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-logo{color:var(--white);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.footer-logo img{display:block}.footer-links{flex-wrap:wrap;gap:24px;display:flex}.footer-links a{color:#aab4cd}.footer-links a:hover{color:var(--white)}@media (max-width:860px){.nsec{padding:32px 0 56px}}@media (max-width:560px){.container{padding:0 16px}.header-inner{gap:8px;height:56px}.logo{white-space:nowrap;gap:7px;font-size:16px}.logo img{width:27px;height:27px}.header-actions{gap:7px}.lang-switch{padding:7px 10px;font-size:12px}header .btn{white-space:nowrap;padding:8px 14px;font-size:12.5px}.footer-inner{flex-direction:column;align-items:flex-start;gap:14px}}
