:root{--bg: #f7f3ec;--surface: #ffffff;--ink: #1c1917;--body: #4a4038;--muted: #6b5f53;--line: #e3dacb;--accent: #a63a22;--accent-dark: #7f2b18;--green: #2e4636;--tint: #f1eadf;--serif: "Noto Serif JP", serif;--sans: "Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.8}a{color:var(--accent)}a:hover{color:var(--accent-dark)}h1,h2,h3{font-family:var(--serif);line-height:1.4}h1{font-size:clamp(26px,4vw,36px)}h2{font-size:clamp(21px,3vw,27px)}h3{font-size:18px}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header .inner{display:flex;align-items:center;gap:24px;padding:14px 20px;max-width:1080px;margin:0 auto;flex-wrap:wrap}.logo{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--ink);text-decoration:none}.site-nav{display:flex;gap:20px;flex-grow:1;flex-wrap:wrap;font-size:15px}.site-nav a{color:#3b332b;text-decoration:none}.btn{display:inline-block;padding:12px 22px;border-radius:6px;font-size:15px;font-weight:500;text-decoration:none;min-height:44px;line-height:20px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);color:#fff}.btn-green{background:var(--green);color:#fff}.btn-green:hover{color:#fff}.btn-outline{border:1px solid #c9bca8;color:#3b332b;background:var(--surface)}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:860px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.tag{display:inline-block;padding:4px 10px;background:var(--tint);border-radius:4px;font-size:13px;color:var(--body)}.pr-label{display:inline-block;padding:3px 9px;background:var(--muted);color:#fff;font-size:11px;font-weight:700;border-radius:3px;letter-spacing:.08em}.pr-card{background:#fff8ee;border-color:#e0c9a6}.muted{color:var(--muted);font-size:13px}.lead{color:var(--body);font-size:16px}table.compare{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);font-size:14px}table.compare th,table.compare td{padding:13px 14px;text-align:left;border-top:1px solid var(--line);vertical-align:top}table.compare thead th{background:var(--tint);border-top:none}table.compare tbody th{background:#fbf8f2;font-weight:500;color:var(--body)}.table-scroll{overflow-x:auto}.breadcrumb{font-size:13px;color:var(--muted);padding:14px 0 0}.breadcrumb a{text-decoration:none}section{margin:40px 0}.site-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:56px;padding:28px 0;font-size:13px;color:var(--muted)}.site-footer nav{display:flex;gap:22px;flex-wrap:wrap;margin-top:10px}.site-footer a{color:#3b332b;text-decoration:none}.photo-slot{background:#ede4d6;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;text-align:center;padding:16px}@media(max-width:720px){body{line-height:1.75}.wrap{padding:0 16px}.site-header .inner{padding:12px 16px;gap:12px;row-gap:10px}.logo{font-size:20px}.site-nav{order:3;width:100%;gap:14px;font-size:14px;overflow-x:auto;white-space:nowrap;padding-bottom:2px}.site-header .btn{margin-left:auto;padding:10px 14px;font-size:13px}section{margin:28px 0}.card{padding:18px}.btn{width:100%;text-align:center}.site-header .btn{width:auto}table.compare{font-size:13px}table.compare th,table.compare td{padding:11px 12px}.table-scroll{margin:0 -16px;padding:0 16px}.table-scroll table.compare{min-width:560px}.table-scroll table.compare.kv,table.compare.kv{min-width:0}table.compare.kv tr{display:block;border-top:1px solid var(--line)}table.compare.kv th,table.compare.kv td{display:block;width:auto!important;border-top:none}table.compare.kv th{padding-bottom:2px;font-size:13px}table.compare.kv td{padding-top:0}}@media(max-width:560px){.btn-row{flex-direction:column;align-items:stretch}}
