:root { --ink:#222; --muted:#777; --rule:#dedede; --paper:#fff; --soft:#f6f6f4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; line-height:1.9; }
a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; }
.header { position:sticky; top:0; z-index:10; height:86px; background:rgba(255,255,255,.97); border-top:4px solid var(--ink); box-shadow:0 1px 8px rgba(0,0,0,.12); }
.nav { display:flex; align-items:center; justify-content:space-between; width:min(1180px,calc(100% - 48px)); height:100%; margin:auto; }.logo { width:133px; }
.nav-links { display:flex; align-items:center; gap:31px; margin:0; padding:0; list-style:none; font-size:13px; letter-spacing:.07em; }.nav-links a { transition:opacity .2s; }.nav-links a:hover { opacity:.5; }
.menu-button { display:none; border:0; background:transparent; color:var(--ink); font:inherit; cursor:pointer; }
.page-hero { padding:76px 24px 68px; background:var(--soft); text-align:center; }.page-hero h1 { margin:0; font-size:30px; font-weight:500; letter-spacing:.13em; }.page-hero p { margin:8px 0 0; color:var(--muted); font-family:Georgia,serif; font-size:13px; letter-spacing:.09em; }
.page-content { width:min(1015px,calc(100% - 48px)); margin:0 auto; padding:76px 0 98px; }.lead { max-width:760px; margin:0 auto 55px; text-align:center; }.lead p { margin:0 0 20px; }
.block { margin-bottom:66px; }.block h2 { margin:0 0 24px; padding-bottom:13px; border-bottom:2px solid var(--ink); font-size:21px; font-weight:500; letter-spacing:.09em; }.block h3 { margin:0 0 12px; font-size:17px; font-weight:500; }.block p { margin:0 0 20px; font-size:14px; }.button { display:inline-block; padding:11px 27px; border:1px solid var(--ink); font-size:12px; letter-spacing:.05em; transition:color .2s,background .2s; }.button:hover { color:#fff; background:var(--ink); }
.cards { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; }.card { min-height:205px; padding:34px; background:#f3f3f1; }.card p { margin:0; }.card:nth-child(even) { background:#e9e9e7; }
.company-values { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-bottom:70px; }.value { padding:42px 28px; background:#f4f4f2; text-align:center; }.value h2 { margin:0 0 10px; font-family:Georgia,serif; font-size:22px; font-weight:400; letter-spacing:.1em; }.value p { margin:0; font-size:16px; }
.data-table { width:100%; border-collapse:collapse; font-size:14px; }.data-table th,.data-table td { padding:15px 18px; border:1px solid var(--rule); text-align:left; }.data-table th { width:26%; background:#f4f4f2; font-weight:500; }.message p { max-width:860px; margin:0 0 22px; }.signature { margin-top:34px !important; text-align:right; }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:32px 0 30px; }.gallery img { width:100%; aspect-ratio:1.35; object-fit:cover; }.scroll-table { overflow-x:auto; }.product-table { min-width:800px; width:100%; border-collapse:collapse; font-size:12px; }.product-table th,.product-table td { padding:10px 8px; border:1px solid var(--rule); text-align:center; }.product-table th { background:#f4f4f2; font-weight:500; }.product-table td:nth-child(2) { text-align:left; }
footer { padding:28px 24px 22px; color:#fff; background:#222; }.top { display:block; width:max-content; margin:0 0 26px auto; font-size:11px; }.footer-inner { display:grid; grid-template-columns:145px 1fr; align-items:center; gap:32px; max-width:1180px; margin:auto; }.footer-inner img { width:127px; filter:brightness(0) invert(1); }.footer-nav { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:24px; font-size:11px; }.copyright { grid-column:1/-1; margin-top:8px; color:#aaa; font-size:10px; text-align:right; }
@media (max-width:700px) { .header { height:67px; }.nav { width:calc(100% - 32px); }.logo { width:104px; }.menu-button { display:block; font-size:12px; }.nav-links { display:none; position:absolute; top:63px; left:0; flex-direction:column; align-items:flex-start; gap:10px; width:100%; padding:14px 20px; background:#fff; border-bottom:1px solid var(--rule); }.nav-links.open { display:flex; }.page-hero { padding:48px 16px 45px; }.page-hero h1 { font-size:23px; }.page-content { width:calc(100% - 32px); padding:48px 0 60px; }.lead { margin-bottom:38px; }.lead p,.block p { font-size:13px; }.block { margin-bottom:45px; }.block h2 { font-size:18px; }.cards,.company-values { grid-template-columns:1fr; gap:8px; }.card { min-height:auto; padding:27px 22px; }.data-table { font-size:12px; }.data-table th,.data-table td { padding:11px 10px; }.data-table th { width:31%; }.gallery { grid-template-columns:repeat(2,1fr); gap:5px; }.footer-inner { grid-template-columns:1fr; gap:22px; }.footer-inner img { margin:auto; }.footer-nav { justify-content:center; gap:8px 17px; }.copyright { text-align:center; } }
