@layer reset{*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,p{margin:0}button,input,textarea,select{font:inherit}img{max-width:100%;height:auto}}@layer base{:root{--ink:#222;--muted:#666;--line:#e4e4e4;--paper:#fff;--white:#fff;--primary:#bf0000;--primary-dark:#970000;--primary-soft:#fff6f6;--accent:#f59600;--warm:#fff6f6;--shadow:0 18px 48px #2d18181a;--radius:22px;--max:1180px}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);min-height:100vh;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #f59600}}@layer components{.shell{width:min(calc(100% - 32px), var(--max));margin-inline:auto}.site-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border-bottom:1px solid #e4e4e4e6;position:sticky;top:0}.nav{align-items:center;gap:24px;min-height:68px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:9px;font-size:1.15rem;font-weight:850;display:inline-flex}.brand-mark{color:#fff;background:var(--primary);border-radius:10px;place-items:center;width:30px;height:30px;display:grid}.nav-links{color:#444;align-items:center;gap:22px;margin-left:auto;font-size:.91rem;font-weight:650;display:flex}.nav-links a:hover{color:var(--primary)}.page{min-height:calc(100vh - 160px)}.section{padding-block:72px}.eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.title{letter-spacing:-.055em;font-size:clamp(2rem,5vw,4.4rem);font-weight:850;line-height:1.12}.section-title{letter-spacing:-.04em;font-size:clamp(1.55rem,3vw,2.35rem);font-weight:820;line-height:1.2}.muted{color:var(--muted)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px #2d18180d}.button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font-weight:750;transition:all .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.55;transform:none}.button-primary{color:#fff;background:var(--primary)}.button-primary:hover{background:var(--primary-dark)}.button-secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.button-ghost{color:var(--primary);background:var(--primary-soft)}.pill{background:var(--primary-soft);min-height:28px;color:var(--primary-dark);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;font-weight:750;display:inline-flex}.grid{gap:20px;display:grid}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:72px;padding:34px 0;font-size:.84rem}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:linear-gradient(90deg,#f0eeee 25%,#faf8f8 45%,#f0eeee 65%) 0 0/300% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-100% 0}}}@layer utilities;@media (max-width:820px){.shell{width:min(calc(100% - 24px), var(--max))}.nav{min-height:60px}.nav-links a:not(:last-child){display:none}.section{padding-block:48px}.product-grid{grid-template-columns:1fr}.site-footer{margin-top:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.footer-policies{flex-wrap:wrap;gap:10px 20px;font-size:.8rem;display:flex}.policy-content{max-width:800px;margin-inline:auto;padding-block:40px 64px}.policy-content h1{margin-bottom:20px;font-size:clamp(1.5rem,4vw,2rem)}.policy-content h2{margin:28px 0 12px;font-size:1.15rem}.policy-content p{margin-block:12px;line-height:1.9}.policy-content ul{padding-left:24px;line-height:1.9}.policy-content a{text-decoration:underline}
