:root{--wood:#8a5a36;--wood-d:#5f3b26;--wood-l:#d1a672;--cream:#f7f2ea;--cream2:#efe7da;--ink:#2d241d;--mute:#6f645a;--line:#e3d9c9;--ok:#2f6b4f;--err:#b3261e;--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,"Noto Sans CJK JP","Noto Sans JP",sans-serif;color:var(--ink);background:#fff;line-height:1.85;font-size:16px;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:var(--wood-d)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.adbar{background:#2d241d;color:#e9dfd0;font-size:12px;text-align:center;padding:6px 12px;letter-spacing:.04em}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
.logo{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","Noto Serif JP",serif;font-weight:700;font-size:22px;color:var(--wood-d);text-decoration:none;letter-spacing:.02em}
.logo span{color:var(--wood);margin-left:4px}
.logo.light,.logo.light span{color:#fff}
.nav{display:flex;gap:22px}
.nav a{font-size:14px;color:var(--ink);text-decoration:none}
.nav a:hover{color:var(--wood)}
.btn{display:inline-block;background:var(--wood);color:#fff;border:2px solid var(--wood);padding:13px 26px;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;text-align:center;cursor:pointer;transition:.2s}
.btn:hover{background:var(--wood-d);border-color:var(--wood-d)}
.btn:focus-visible,.dot:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e0a35c;outline-offset:2px}
.btn-sm{padding:8px 18px;font-size:14px}
.btn-ghost{background:transparent;color:var(--wood-d)}
.btn-ghost:hover{background:var(--wood-d);color:#fff}
.btn-block{display:block;width:100%}
.btn-lg{padding:17px;font-size:18px}
.btn[disabled]{opacity:.6;cursor:not-allowed}
.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--wood);font-weight:700;margin-bottom:10px}
.eyebrow.center{text-align:center}
.hero{background:linear-gradient(180deg,var(--cream),#fff);padding:44px 0 56px}
.hero-in{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center}
h1{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","Noto Serif JP",serif;font-size:clamp(28px,4.4vw,46px);line-height:1.4;color:var(--wood-d);margin-bottom:16px}
.lead{color:var(--mute);margin-bottom:24px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.badges li{font-size:13px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 14px}
.note{font-size:11px;color:var(--mute)}
.hero-img img{border-radius:var(--r);box-shadow:0 18px 40px rgba(95,59,38,.14)}
.img-note{font-size:13px;color:#5a5047;margin-top:6px}
.values{background:var(--cream2);border-block:1px solid var(--line)}
.values-in{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-block:20px}
.values-in div{text-align:center}
.values-in strong{display:block;font-size:15px;color:var(--wood-d)}
.values-in span{font-size:12px;color:var(--mute)}
.section{padding:72px 0}
.section.alt{background:var(--cream)}
.h2{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","Noto Serif JP",serif;font-size:clamp(24px,3.4vw,32px);text-align:center;color:var(--wood-d);margin-bottom:12px;line-height:1.5}
.h2.left{text-align:left}
.h3{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","Noto Serif JP",serif;font-size:20px;color:var(--wood-d);margin-bottom:14px}
.sec-lead{text-align:center;color:var(--mute);margin-bottom:44px}
.product{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:34px;background:#fff;border:1px solid var(--line);border-radius:20px;margin-bottom:28px;box-shadow:0 8px 24px rgba(95,59,38,.06)}
.product.rev .p-media{order:2}
.p-img{width:100%;border-radius:var(--r);background:var(--cream)}
.p-tag{font-size:12px;letter-spacing:.2em;color:var(--wood);font-weight:700}
.p-body h3{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","Noto Serif JP",serif;font-size:24px;color:var(--wood-d);margin:4px 0 10px}
.p-desc{color:var(--mute);margin-bottom:16px}
.swatch{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.swatch-l{font-size:14px;margin-right:4px}
.dot{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line);cursor:pointer}
.dot[aria-pressed="true"]{box-shadow:0 0 0 2.5px var(--wood-d)}
.dot-natural{background:#d1a672}.dot-walnut{background:#5f3b26}
.spec{list-style:none;border-top:1px solid var(--line);margin-bottom:18px}
.spec li{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.spec li span:first-child{width:56px;flex:none;color:var(--mute)}
.price{font-size:28px;font-weight:700;color:var(--wood-d);margin-bottom:10px;line-height:1.4}
.price small{display:block;font-size:13px;font-weight:400;color:#5a5047}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 20px}
.card .ic{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","Noto Serif JP",serif;color:var(--wood-l);font-size:28px;font-weight:700}
.card h3{font-size:16px;margin:6px 0;color:var(--wood-d)}
.card p{font-size:14px;color:var(--mute);line-height:1.75}
.steps{list-style:none;max-width:760px;margin:36px auto 0}
.steps li{display:flex;gap:18px;padding:20px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;background:#fff}
.steps b{flex:none;width:40px;height:40px;border-radius:50%;background:var(--wood);color:#fff;display:grid;place-items:center}
.steps h3{font-size:17px;color:var(--wood-d)}
.steps p{font-size:14px;color:var(--mute)}
.order-in{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start}
.order-copy p{color:var(--mute);margin-bottom:14px}
.check{list-style:none}
.check li{position:relative;padding-left:24px;font-size:14px;margin-bottom:8px;color:var(--mute)}
.check li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 12px 30px rgba(95,59,38,.1)}
.form h3{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","Noto Serif JP",serif;color:var(--wood-d);margin-bottom:12px}
.f{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}
.f em{font-style:normal;font-size:11px;background:var(--wood);color:#fff;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:1px}
input[type=text],input[type=tel],select,textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid #cfc4b2;border-radius:10px;background:#fff;color:var(--ink)}
input.bad,select.bad,textarea.bad{border-color:var(--err)}
.err{color:var(--err);font-size:12px;min-height:0;margin-top:4px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:18px 0 6px;color:var(--mute)}
.chk input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--wood)}
.form .btn{margin-top:18px}
.form-msg{margin-top:12px;font-size:14px;font-weight:700}
.form-msg.bad{color:var(--err)}
.small{font-size:13px;color:#5a5047;margin-top:12px;line-height:1.7}
.summary{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:16px;font-size:14px}.summary b{display:block;color:var(--wood-d);margin-bottom:4px}.summary span{display:block;color:#4a4036}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}
summary{cursor:pointer;padding:16px 18px;font-weight:700;list-style:none;position:relative;padding-right:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--wood)}
details[open] summary::after{content:"−"}
details p{padding:0 18px 16px;color:var(--mute);font-size:15px}
.disclaimer ul{padding-left:20px;font-size:14px;color:#4a4036;line-height:1.9}
.footer{background:#2d241d;color:#d9cfc0;padding:36px 0 90px}
.f-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.footer nav{display:flex;gap:18px;flex-wrap:wrap}
.footer nav a{color:#d9cfc0;font-size:13px}
.f-info{font-size:13px;margin-bottom:10px}
.copy{font-size:12px;color:#a99d8c}
.sticky{display:none}
@media(max-width:860px){
 .nav{display:none}
 .hero-in,.order-in,.product{grid-template-columns:1fr}
 .product{padding:20px;gap:20px}
 .product.rev .p-media{order:0}
 .values-in,.cards{grid-template-columns:repeat(2,1fr)}
 .section{padding:52px 0}
 .sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s}
 .sticky.show{transform:none}
}
@media(max-width:480px){.hero-cta .btn{flex:1}.form{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
