/* 八番通り商店街 - 共通スタイル（プレオープン構築中） */
:root{
  --paper:#f4ead8; --paper2:#efe3cd; --ink:#2e2a26; --brown:#5a4632;
  --amber:#a4713a; --aka:#9e2b25; --line:#c9b892;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Hiragino Mincho ProN","Yu Mincho","MS Mincho",serif;
  line-height:1.9;font-size:16px}
a{color:var(--aka)}
header.site{background:var(--paper2);border-bottom:3px double var(--brown);padding:20px 16px 12px}
header.site .brand{font-size:28px;letter-spacing:.12em;color:var(--brown);margin:0}
header.site .sub{font-size:13px;color:var(--brown);margin:2px 0 10px}
nav.main a{margin-right:18px;font-size:14px;text-decoration:none;color:var(--ink)}
nav.main a:hover{color:var(--aka)}
main{max-width:880px;margin:0 auto;padding:24px 16px 48px}
h1{font-size:24px;border-left:6px solid var(--aka);padding-left:10px;letter-spacing:.06em}
h2{font-size:19px;border-bottom:1px solid var(--brown);padding-bottom:4px;margin-top:36px}
.pr{font-size:12px;color:var(--brown)}
h2.quiet{font-size:15px;border-bottom:none;color:var(--brown)}
.note{font-size:13px;color:var(--brown)}
.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:640px){.store-grid{grid-template-columns:1fr}}
.store-card{background:#fbf5e9;border:1px solid var(--brown);padding:14px}
.store-card img{width:100%;height:auto;display:block;background:var(--paper2)}
.store-card h3{margin:10px 0 4px;font-size:18px}
.product{border-top:1px dotted var(--brown);padding:14px 0}
.product h3{margin:0 0 4px;font-size:17px}
.shelf{font-size:12px;color:var(--aka);letter-spacing:.08em}
.btns a{display:inline-block;margin:6px 10px 0 0;padding:4px 14px;border:1px solid var(--brown);
  text-decoration:none;font-size:14px;color:var(--ink);background:#fff8ec}
.btns a.disabled{opacity:.45;pointer-events:none}
footer.site{border-top:3px double var(--brown);background:var(--paper2);
  padding:16px;font-size:12px;color:var(--brown)}
.imgph{background:var(--paper2);border:1px dashed var(--brown);color:var(--brown);
  text-align:left;padding:28px 14px;font-size:13px}

img.storefront, img.hero, img.map { width: 100%; height: auto; display: block; margin: 0.6em 0; }
img.owner { width: min(520px, 100%); height: auto; display: block; margin: 0.4em 0 1em; }
.owner-corner { display: flex; gap: 14px; align-items: flex-start; border-top: 1px dotted var(--brown); margin-top: 2em; padding-top: 1em; }
.owner-corner img { width: 110px; height: auto; flex: none; }
.owner-corner p { margin: 0; font-size: 13px; }
.pick { display: inline-block; background: var(--aka); color: #fff; font-size: 12px; letter-spacing: .08em; padding: 2px 8px; margin-left: 8px; vertical-align: middle; }
.rbox { margin: 10px 0; overflow-x: auto; }
.pickline { display: flex; gap: 12px; align-items: flex-start; }
.pickline img.face { width: 84px; height: auto; flex: none; }
.pickline p { margin: 0; }
.card img.thumb { width: 100%; height: auto; display: block; margin-bottom: 0.5em; }
