:root{--bg:#ffffff;--surface:#f6f8fa;--panel:#ffffff;--ink:#1b1f24;--muted:#59636e;--line:#e1e4e8;--accent:#0868f7;--accent-hover:#0554c9;--radius:8px;--radius-card:12px;--container:1160px;--header-h:64px;--font:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,select{font:inherit}.page-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1 1}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1.25rem}.site-masthead{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:#ffffffeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-header{position:relative}.header-inner{justify-content:space-between;gap:1rem;min-height:var(--header-h)}.header-inner,.logo{display:flex;align-items:center}.logo{gap:.5rem;color:var(--ink);font-weight:700}.logo,.logo:hover{text-decoration:none}.logo:hover{color:var(--accent)}.logo svg{display:block}.nav{display:flex;align-items:center;gap:.25rem}.nav a{color:var(--muted);font-size:.9375rem;font-weight:500;padding:.4rem .65rem;border-radius:6px;text-decoration:none;white-space:nowrap}.nav a.active,.nav a:hover{color:var(--ink);background:var(--surface);text-decoration:none}.menu-btn{display:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:var(--radius);padding:.45rem .65rem;font-size:.875rem;cursor:pointer}.lang-switch{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-left:.5rem;padding-left:.75rem;border-left:1px solid var(--line)}.lang-switch button{border:0;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:600;padding:.25rem .45rem;border-radius:4px;cursor:pointer}.lang-switch button.is-active{color:var(--bg);background:var(--ink)}.lang-switch button:hover:not(.is-active){color:var(--ink)}.nav-wrap{display:flex;align-items:center;gap:.5rem}.hero{padding:3.5rem 0 2.5rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--bg) 100%)}.hero h1,.legal-hero h1,.page-intro h1,.page-kicker h1{margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;letter-spacing:-.02em;line-height:1.25}.hero p,.lead{margin:0;max-width:40rem;font-size:1.0625rem}.card-kicker,.hero p,.lead,.legal-effective,.meta-line,.news-date,.news-kind,.note,.section-lead{color:var(--muted)}.card-kicker,.news-date,.news-kind{font-size:.8125rem}.legal-effective,.meta-line,.note,.section-lead{font-size:.875rem}.meta-line{margin:0 0 .65rem}.catalog,.page-intro,.section{padding:2.75rem 0}.section-lead{margin:-.35rem 0 1rem;max-width:36rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.section h2,.section-head h2{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.section-head a{color:var(--muted);font-size:.875rem;font-weight:600;text-decoration:none}.section-head a:hover{color:var(--accent)}.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.empty-card,.panel,.product-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.product-card{display:flex;flex-direction:column;padding:1.35rem;color:inherit;text-decoration:none}.product-card:hover{text-decoration:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.product-card h3{margin:0 0 .5rem;font-size:1.125rem}.card-kicker{margin:0 0 .45rem}.card-summary{margin:0 0 1rem;color:var(--muted);font-size:.9375rem}.product-card .btn{margin-top:auto;align-self:flex-start}.empty-card{padding:1.35rem;color:var(--muted)}.empty-card p{margin:0}.toolbar{display:flex;flex-wrap:wrap;gap:.85rem 1rem;align-items:center;justify-content:space-between;margin:0 0 .75rem}.toolbar+.note{margin:0 0 .85rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);min-height:2rem;padding:.2rem .7rem;border-radius:999px;font-size:.8125rem;font-weight:600;cursor:pointer}.chip.is-active,.chip:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.page-search,.site-search{width:100%;min-height:2.5rem;border:1px solid var(--line);border-radius:var(--radius);padding:0 .85rem;background:var(--panel);color:var(--ink)}.page-search:focus,.site-search:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:1px;border-color:var(--accent)}.search-slot{max-width:22rem;width:100%}.panel{overflow:hidden}.news-list{display:flex;flex-direction:column}.news-row{display:grid;grid-template-columns:7.5rem 5.75rem minmax(0,1fr);grid-gap:.85rem 1.25rem;gap:.85rem 1.25rem;align-items:baseline;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.news-row:last-child{border-bottom:0}.news-row:hover{background:color-mix(in srgb,var(--surface) 70%,var(--panel));text-decoration:none}.news-copy{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.news-title{font-size:1rem;font-weight:650;letter-spacing:-.015em;line-height:1.4}.news-summary{color:var(--muted);font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.35rem;padding:.5rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-size:.9375rem;font-weight:600;cursor:pointer}.btn,.btn:hover{text-decoration:none}.btn:hover{border-color:var(--muted)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.cta-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.empty-state{margin:0;padding:1.25rem;color:var(--muted)}.page-kicker{margin:0 0 1.5rem;max-width:40rem}.legal{max-width:42rem}.legal-hero{margin-bottom:1.75rem}.legal-effective{margin:0}.legal-block p,.legal-section p{margin:0 0 1rem}.legal-section{margin-top:1.75rem}.legal-revisions h2,.legal-section h2{margin:0 0 .7rem;font-size:1.15rem}.legal-revisions ol,.legal-section ul{margin:0;padding-left:1.2rem}.legal-revisions li+li,.legal-section li+li{margin-top:.45rem}.legal-revisions{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.legal-revisions li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);grid-gap:.75rem;gap:.75rem}.status-table-wrap{overflow:auto}.status-table{width:100%;border-collapse:collapse;font-size:.9375rem}.status-table td,.status-table th{padding:.95rem 1.15rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.status-table thead th{background:var(--surface);font-weight:600;color:var(--muted)}.status-table tbody th{font-weight:650}.status-table tbody tr:last-child td,.status-table tbody tr:last-child th{border-bottom:0}.status-word{color:var(--ink);font-weight:600}.status-word[data-state=degraded],.status-word[data-state=maintenance]{color:var(--muted)}.status-word[data-state=outage]{color:var(--accent)}.site-footer{margin-top:2rem;border-top:1px solid var(--line);padding:1.75rem 0;color:var(--muted);font-size:.875rem}.footer-brand,.footer-inner,.footer-meta{display:flex;align-items:center;flex-wrap:wrap}.footer-inner{justify-content:space-between;gap:1rem}.footer-brand,.footer-meta,.footer-nav{gap:.85rem 1rem}.footer-inner strong{color:var(--ink)}.footer-copy{color:var(--muted)}@media (max-width:880px){.menu-btn{display:inline-flex}.nav-wrap{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:.75rem;padding:.85rem 1.25rem 1.1rem;background:var(--bg);border-bottom:1px solid var(--line)}.nav-wrap.is-open{display:flex}.nav{flex-direction:column;align-items:stretch}.lang-switch{margin-left:0;padding-left:0;border-left:0;padding-top:.5rem}.news-row{grid-template-columns:auto auto}.news-copy{grid-column:1/-1}}