
:root{--ink:#2b2a27;--sub:#6b675f;--bg:#faf8f4;--line:#e5e0d6;--accent:#7a6a4f}
*{box-sizing:border-box}body{margin:0;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg);line-height:1.8}
a{color:inherit}header,footer{border-bottom:1px solid var(--line);padding:16px 24px}
header{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.logo{font-size:22px;letter-spacing:.3em;text-decoration:none;font-weight:600}
nav a{margin-right:16px;text-decoration:none;color:var(--sub)}
main{max-width:960px;margin:0 auto;padding:32px 16px}
.hero{padding:48px 0;text-align:center}.hero p{color:var(--sub)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);padding:16px;text-decoration:none;display:block}
.card .ph{aspect-ratio:4/5;background:#efeae0;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:13px;margin-bottom:12px}
.card img,.pimg{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;margin-bottom:12px;background:#efeae0}
.pimg{max-width:420px}.heroimg{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:24px}
.price{font-weight:600}.muted{color:var(--sub);font-size:14px}
table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
th{width:30%;color:var(--sub);font-weight:normal}
footer{border-top:1px solid var(--line);border-bottom:none;color:var(--sub);font-size:13px;text-align:center}
.notice{background:#fff4d6;color:#6b5200;font-size:12px;text-align:center;padding:6px 12px}
