:root{--bg:#f3ecde;--ink:#2a2118;--line:#c7b896;--acc:#a8543a;--mut:#5c503f;--pan:#ebe2cf;--card:#faf6ec}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.9}
img{display:block;max-width:100%}a{color:var(--acc)}a:hover{color:var(--ink)}
.w{max-width:1120px;margin:0 auto;padding:0 32px}
.hd{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
.hd .w{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.logo img{width:46px;height:46px;object-fit:contain}
.logo b{display:block;font-family:'Noto Serif JP',serif;font-weight:500;font-size:17px;letter-spacing:.1em;line-height:1.2}.logo small{display:block;font-size:11.5px;color:var(--mut);letter-spacing:.06em;line-height:1.4}
.hd nav{display:flex;gap:6px 22px;flex-wrap:wrap;font-size:13.5px;letter-spacing:.04em}.hd nav a{color:var(--ink);text-decoration:none;padding:8px 0;border-bottom:1.5px solid transparent}.hd nav a:hover{border-color:var(--acc)}
.tel{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;font-size:15px;letter-spacing:.06em;text-decoration:none;border:1px solid var(--ink);color:var(--ink);background:transparent}
.btn.p{background:var(--ink);color:var(--bg)}.btn:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.hero{padding:72px 0 64px;border-bottom:1px solid var(--line)}
.hero .w{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center}
.kick{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;color:var(--acc);margin:0 0 18px}
h1{font-family:'Shippori Mincho B1','Noto Serif JP',serif;font-weight:600;font-size:clamp(26px,3.4vw,40px);line-height:1.45;margin:0 0 24px;letter-spacing:.03em;text-wrap:balance}
.lead{margin:0 0 12px;font-size:16.5px}.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.sec{padding:76px 0;border-bottom:1px solid var(--line)}.sec.alt{background:var(--pan)}
h2{font-family:'Shippori Mincho B1','Noto Serif JP',serif;font-weight:600;font-size:clamp(23px,3vw,32px);line-height:1.5;margin:0 0 28px;letter-spacing:.03em;text-wrap:balance}
h3{font-family:'Noto Serif JP',serif;font-weight:600;font-size:18px;line-height:1.6;margin:0 0 10px}
p{margin:0 0 14px;text-wrap:pretty}.mut{color:var(--mut)}.small{font-size:14px}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.card{background:var(--card);border:1px solid var(--line);padding:28px}.card .n{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--acc);display:block;margin-bottom:10px}
.tw{overflow-x:auto;margin:0 0 20px}table{border-collapse:collapse;width:100%;background:var(--card);font-size:15px;line-height:1.7}
th,td{border:1px solid var(--line);padding:12px 16px;text-align:left;vertical-align:top}th{background:var(--pan);font-weight:500;white-space:nowrap}
.cmp{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border:1px solid var(--ink);background:var(--card);margin:0 0 20px}
.cmp>div{padding:26px 28px}.cmp>div+div{border-left:1px solid var(--line)}.cmp .hl{background:var(--ink);color:var(--bg)}.cmp .hl h3{color:var(--bg)}.cmp .hl .tag{color:#e8c9a8}
.tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--acc);display:block;margin-bottom:8px}
.cmp ul,.ul{margin:0;padding-left:1.2em}.cmp li,.ul li{margin:0 0 8px}
.band{background:var(--ink);color:var(--bg);padding:26px 0}.band .w{display:flex;gap:10px 36px;flex-wrap:wrap;align-items:center}
.band span{font-size:14.5px}.band b{font-family:'JetBrains Mono',monospace;font-weight:500;color:#e8c9a8;margin-left:6px}.band a{color:#e8c9a8;margin-left:auto;font-size:14px}
.phb{border:1.5px dashed var(--line);background:rgba(255,255,255,.35);color:var(--mut);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:14px;line-height:1.7;min-height:220px}
.fig{margin:0}.fig img{width:100%;height:100%;object-fit:cover;background:#2b2b2b}.fig figcaption{font-size:13.5px;color:var(--mut);margin-top:8px;line-height:1.6}
.heroimg{aspect-ratio:4/3}.heroimg.phb{min-height:0}
.eq{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.eq .fig img{aspect-ratio:4/3}
.price{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-bottom:28px}
.pc{background:var(--card);border:1px solid var(--line);padding:28px}.pc.rec{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:translateY(-8px);padding-bottom:36px}
.pc .nm{font-size:15px;margin-bottom:12px;display:block}.pc .am{font-family:'Noto Serif JP',serif;font-size:36px;font-weight:600;line-height:1.2}.pc .am small{font-size:14px;font-weight:400;margin-left:6px}
.pc .rb{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;color:#e8c9a8;display:block;margin-bottom:8px}.pc p{font-size:14px;margin:12px 0 0;opacity:.9}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}.steps li{counter-increment:s;display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid var(--line)}.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li:before{content:counter(s,decimal-leading-zero);font-family:'JetBrains Mono',monospace;color:var(--acc);font-size:20px;line-height:1.6}.steps b{display:block;font-family:'Noto Serif JP',serif;font-size:17px;margin-bottom:4px}.steps p{margin:0 0 6px}.steps ul{margin:6px 0 0;padding-left:1.2em}
.score{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));border:1px solid var(--ink);margin:0 0 20px}.score>div{padding:24px 22px;background:var(--card)}.score>div+div{border-left:1px solid var(--line)}
.score .v{font-family:'Noto Serif JP',serif;font-size:34px;font-weight:600;line-height:1.2;display:block}.score .v small{font-size:15px;font-weight:400}.score .j{font-size:15px;margin-top:6px;display:block}.score .t{background:var(--ink);color:var(--bg)}
details{background:var(--card);border:1px solid var(--line);margin:0 0 10px}summary{cursor:pointer;list-style:none;padding:18px 56px 18px 22px;position:relative;min-height:44px}summary::-webkit-details-marker{display:none}
summary:after{content:'+';position:absolute;right:22px;top:14px;font-size:24px;color:var(--acc)}details[open] summary:after{content:'−'}
summary h3{margin:0;font-size:16.5px}details .a{padding:0 22px 20px;margin:0}
.note{border:1px solid var(--line);background:var(--card);padding:18px 22px;font-size:15px;margin:0 0 20px}.note.k{border-color:var(--ink)}
.ct{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}
.tb{font-family:'Noto Serif JP',serif;font-size:30px;font-weight:600;color:var(--ink);text-decoration:none;display:inline-flex;min-height:48px;align-items:center}
.frm{border:1.5px dashed var(--line);padding:28px;color:var(--mut);font-size:14px;min-height:200px;display:flex;align-items:center;justify-content:center;text-align:center}
footer{padding:48px 0;font-size:14px;color:var(--mut);line-height:1.9}footer .w{display:flex;gap:24px 48px;justify-content:space-between;flex-wrap:wrap}footer a{color:var(--mut)}
.cr{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.cr .card{padding:22px}.cr img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#1d1a16;margin-bottom:16px}.cr .card.nr img{display:none}.cr h3{font-size:17px}.cr p{font-size:14.5px;margin-bottom:6px}
@media(max-width:860px){.w{padding:0 20px}.hero{padding:40px 0}.hero .w{grid-template-columns:minmax(0,1fr);gap:32px}.sec{padding:52px 0}.cmp>div+div{border-left:0;border-top:1px solid var(--line)}.score>div+div{border-left:0;border-top:1px solid var(--line)}.pc.rec{transform:none}.band a{margin-left:0}.hd nav{order:3;width:100%;gap:2px 18px;font-size:13px}th{white-space:normal}}
.sn{background:var(--ink)}.sn .w{display:flex;gap:2px 22px;flex-wrap:wrap;padding-top:2px;padding-bottom:2px}.sn a{color:var(--bg);text-decoration:none;font-size:13px;min-height:36px;display:inline-flex;align-items:center}.sn a:hover{color:#e8c9a8}
.eq .fig img{height:auto}
