:root{--text:#0a0a0a;--muted:#737373;--border:#e5e5e5;--link:#0a0a0a;--link-hover:#000000;--surface:#fafafa;--surface-border:#ebebeb;--section-nav-size:1.0625rem;--content-max:880px;--header-pad-x:clamp(20px,5vw,48px);--content-pad-x:clamp(20px,5vw,48px)}*{box-sizing:border-box}html{scroll-behavior:smooth}:focus-visible{outline:1px solid #0a0a0a;outline-offset:4px}body,html{margin:0;padding:0}.site-header{--site-header-h:61px;position:-webkit-sticky;position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border)}.site-header-inner{max-width:var(--content-max);margin:0 auto;padding:20px var(--header-pad-x);display:flex;align-items:center;justify-content:space-between;gap:32px}.site-logo{font-size:.875rem;font-weight:500;color:var(--text);text-decoration:none;letter-spacing:.14em;white-space:nowrap;transition:opacity .2s ease}.site-logo:hover{opacity:.45}.site-header-menu-btn{display:none;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;margin:-8px -10px -8px 0;padding:0;border:none;background:transparent;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.site-header-menu-icon{display:flex;flex-direction:column;justify-content:center;gap:6px;width:20px}.site-header-menu-icon span{display:block;height:1px;width:100%;background:currentColor;transition:transform .2s ease,opacity .2s ease}.site-header-menu-btn--open .site-header-menu-icon span:first-child{transform:translateY(7px) rotate(45deg)}.site-header-menu-btn--open .site-header-menu-icon span:nth-child(2){opacity:0}.site-header-menu-btn--open .site-header-menu-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-header-backdrop{display:none}.site-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 28px}.site-nav a{font-size:.875rem;color:var(--text);text-decoration:none;font-weight:400;letter-spacing:.1em;transition:opacity .2s ease}.site-nav a:hover{opacity:.45}@media (max-width:768px){.site-header-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.site-header-menu-btn{display:flex;position:relative;z-index:60}.site-header-backdrop{display:block;inset:0;z-index:55;padding:0;border:none;background:rgba(10,10,10,.25);cursor:pointer}.site-header-backdrop,.site-nav{position:fixed;top:var(--site-header-h);margin:0}.site-nav{z-index:58;left:0;right:0;max-height:min(70dvh,420px);overflow-y:auto;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:0;padding:8px 0 16px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 12px 24px rgba(0,0,0,.06);transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s}.site-nav--open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.site-nav a{padding:14px var(--header-pad-x);border-bottom:1px solid var(--border);font-size:.875rem}.site-nav a:last-child{border-bottom:none}.site-nav a:hover{opacity:1;background:var(--surface)}}.anchor-section{scroll-margin-top:88px}section#about,section#contact,section.news-section{margin-top:clamp(56px,8vw,88px);padding-top:clamp(40px,6vw,56px)}.contact-section p{margin:0 0 1.25em;color:var(--muted);font-size:1rem;line-height:1.85;letter-spacing:.02em}.text-link{color:var(--link);text-decoration:none;font-weight:400;font-size:.875rem;letter-spacing:.12em;border-bottom:1px solid transparent;transition:border-color .2s ease,opacity .2s ease}.text-link:hover{border-bottom-color:currentColor;opacity:.7}body{color:var(--text);font-family:var(--font-noto-sans-jp),ui-sans-serif,system-ui,sans-serif;font-size:1rem;line-height:1.85;letter-spacing:.02em;background:#fff;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--content-max);margin:0 auto;padding:clamp(48px,10vw,96px) var(--content-pad-x) clamp(80px,12vw,120px)}.page-header{margin-bottom:clamp(28px,4vw,40px)}.contact-section h2,.news-section .section-heading-row h2,.page-header h1,.products h2,.subpage-header h1{font-size:var(--section-nav-size);font-weight:500;letter-spacing:.16em;line-height:1.4;margin:0;color:var(--text)}.page-header h1{margin-bottom:0}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:clamp(20px,3vw,28px);padding-bottom:0}.section-heading-more{flex-shrink:0;font-size:.875rem;font-weight:400;letter-spacing:.14em;color:var(--text);text-decoration:none;transition:opacity .2s ease}.section-heading-more:hover{opacity:.45}.lead{margin:0;color:var(--muted);font-size:1rem}.lead a{color:var(--link);text-decoration:underline;text-underline-offset:3px}.lead a:hover{opacity:.6}.company-dl{margin:0;border-top:1px solid var(--border)}.row{display:grid;grid-template-columns:7.5em 1fr;grid-gap:16px 32px;gap:16px 32px;padding:clamp(16px,2.5vw,22px) 0;border-bottom:1px solid var(--border);align-items:start}.row dt{margin:0;font-weight:500;font-size:.875rem;letter-spacing:.06em;color:var(--muted)}.row dd{margin:0;font-size:1rem;color:var(--text);line-height:1.75}.products{margin-top:0;padding-top:0;border-top:none}.products:not(:first-child){margin-top:clamp(56px,8vw,88px);padding-top:clamp(40px,6vw,56px)}.contact-section>h2,.products>h2{margin-bottom:clamp(20px,3vw,28px)}.products p{margin:0 0 1.25em;color:var(--muted);font-size:1rem;line-height:1.85}.product-card{margin-top:0;padding:clamp(28px,4vw,40px) 0;background:transparent;border:none;border-radius:0}.product-card p:last-of-type{margin-bottom:1.5em}.product-card a:not(.btn-link){color:var(--link);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:rgba(10,10,10,.25);text-decoration-color:rgba(10,10,10,.25)}.product-card a:not(.btn-link):hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.btn-link{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;background:transparent;color:var(--text);border:1px solid var(--text);border-radius:0;font-size:.875rem;font-weight:400;letter-spacing:.12em;text-decoration:none;transition:background .2s ease,color .2s ease}.btn-link:hover{background:var(--text);color:#fff;text-decoration:none}.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.news-list--full{margin-top:0}.news-list-item{display:grid;grid-template-columns:8rem 1fr;grid-gap:12px 28px;gap:12px 28px;padding:clamp(14px,2vw,18px) 0;border-bottom:1px solid var(--border);align-items:baseline}.news-date{font-size:.875rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em}.news-title-link{font-size:1rem;color:var(--text);text-decoration:none;font-weight:400;line-height:1.6;letter-spacing:.02em;transition:opacity .2s ease}.news-title-link:hover{opacity:.45}.news-more{margin:clamp(20px,3vw,28px) 0 0;font-size:.875rem}.wrap--subpage{padding-top:clamp(40px,6vw,64px)}.subpage-header{margin-bottom:clamp(28px,4vw,40px)}.subpage-header h1{margin-bottom:.75em}.subpage-lead{margin-top:0;font-size:1rem;color:var(--muted);line-height:1.85}.subpage-back{margin-top:clamp(48px,7vw,72px);padding-top:clamp(24px,4vw,32px);font-size:.875rem;letter-spacing:.08em}.news-article-header{margin-bottom:clamp(28px,4vw,40px);padding-bottom:0}.news-article-meta{margin:0 0 12px;font-size:.875rem;color:var(--muted);letter-spacing:.06em}.news-article-header h1{font-size:clamp(1.1875rem,3.2vw,1.3125rem);font-weight:500;letter-spacing:.08em;line-height:1.55;margin:0;color:var(--text)}.news-article-body p{margin:0 0 1.35em;font-size:1rem;color:var(--text);line-height:1.9;letter-spacing:.02em}.news-article-body p:last-child{margin-bottom:0}.news-article .subpage-back{margin-top:clamp(48px,7vw,72px)}.site-footer{margin-top:clamp(64px,10vw,96px);padding-top:clamp(24px,4vw,32px);font-size:.75rem;letter-spacing:.12em;color:var(--muted)}@media (max-width:480px){.row{gap:6px}.news-list-item,.row{grid-template-columns:1fr}.news-list-item{gap:8px}.section-heading-row{flex-direction:column;align-items:flex-start;gap:12px}}