/* store.css — ginza/nihonbashi/shinjuku.html 共通固有スタイル
   stores/ 以下のHTMLから ../css/pages/store.css で読み込む */

.page-hero{height:52vh;min-height:380px;position:relative;display:flex;align-items:flex-end;padding-bottom:56px;overflow:hidden;margin-top:56px;}
.page-hero-bg{position:absolute;inset:0;background:center center/cover no-repeat;transform:scale(1.04);animation:bgZoom 8s ease forwards;}
.page-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(44,31,21,0.85) 0%,rgba(44,31,21,0.3) 60%,rgba(44,31,21,0.2) 100%);}
.page-hero-body{position:relative;z-index:2;padding:0 80px;}
.breadcrumb a,.breadcrumb span{color:rgba(250,247,242,0.55);}
.breadcrumb .sep{color:rgba(196,169,107,0.5);}
.page-tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;letter-spacing:0.35em;color:var(--gold);margin-bottom:10px;}
.page-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(32px,5vw,56px);font-weight:700;letter-spacing:0.14em;color:var(--cream);}
.store-main{max-width:1100px;margin:0 auto;padding:80px 80px;}
.store-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:80px;align-items:start;}
.store-photo-block{position:relative;}
.store-photo-main{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;}
.store-photo-sub{position:absolute;bottom:-24px;right:-24px;width:45%;aspect-ratio:4/3;object-fit:cover;border:4px solid var(--cream);}
.info-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;letter-spacing:0.4em;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.info-label::before{content:'';width:24px;height:1px;background:var(--gold);}
.info-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(22px,3vw,32px);font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:20px;line-height:1.4;}
.info-desc{font-size:13.5px;line-height:2.6;letter-spacing:0.07em;color:var(--text-m);margin-bottom:32px;}
.info-table{width:100%;border-collapse:collapse;}
.info-table tr{border-bottom:1px solid var(--sand);}
.info-table td{padding:12px 0;font-size:13px;letter-spacing:0.08em;vertical-align:top;}
.info-table td:first-child{width:90px;color:var(--text-l);font-size:11px;letter-spacing:0.15em;padding-top:14px;}
.info-table td:last-child{color:var(--text);line-height:1.8;}
.reserve-block{background:var(--espresso);padding:64px 72px;margin-bottom:80px;position:relative;overflow:hidden;}
.reserve-block::before{content:'予約';position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-family:'Shippori Mincho',serif;font-size:200px;font-weight:700;color:rgba(255,255,255,0.025);pointer-events:none;}
.reserve-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;}
.res-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;letter-spacing:0.4em;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:12px;}
.res-label::before{content:'';width:24px;height:1px;background:var(--gold);}
.res-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(20px,2.5vw,30px);font-weight:600;letter-spacing:0.12em;color:var(--cream);margin-bottom:12px;}
.res-desc{font-size:13px;line-height:2.2;letter-spacing:0.07em;color:rgba(250,247,242,0.58);}
.res-btns{display:flex;flex-direction:column;gap:12px;flex-shrink:0;min-width:280px;}
.res-btns .btn-gold{text-align:center;width:100%;display:block;}
.res-tel{
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;padding:14px 36px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all 0.3s;
}
.res-tel:hover{border-color:var(--gold);}
.res-tel-num{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:300;letter-spacing:0.14em;color:rgba(250,247,242,0.85);display:flex;align-items:center;gap:8px;}
.res-tel:hover .res-tel-num{color:var(--gold);}
.map-block{margin-bottom:80px;}
.map-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;letter-spacing:0.4em;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.map-label::before{content:'';width:24px;height:1px;background:var(--gold);}
.map-ttl{font-family:'Shippori Mincho',serif;font-size:22px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:24px;}
.map-wrap{width:100%;height:400px;background:var(--warm);border:1px solid var(--sand);position:relative;overflow:hidden;}
.map-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;}
.map-placeholder p{font-family:'Shippori Mincho',serif;font-size:14px;letter-spacing:0.1em;color:var(--text-l);}
.map-placeholder small{font-size:12px;letter-spacing:0.08em;color:var(--text-l);}
.other-stores{border-top:1px solid var(--sand);padding-top:64px;}
.other-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;letter-spacing:0.4em;color:var(--gold);margin-bottom:10px;display:flex;align-items:center;gap:12px;}
.other-label::before{content:'';width:24px;height:1px;background:var(--gold);}
.other-ttl{font-family:'Shippori Mincho',serif;font-size:22px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:32px;}
.other-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.other-card{border:1px solid var(--sand);padding:28px;text-decoration:none;color:inherit;display:flex;align-items:center;gap:20px;transition:all 0.3s;}
.other-card:hover{background:var(--warm);border-color:var(--tan);}
.other-card-img{width:80px;height:64px;object-fit:cover;flex-shrink:0;}
.other-card-nm{font-family:'Shippori Mincho',serif;font-size:16px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:6px;}
.other-card-hrs{font-size:11px;letter-spacing:0.06em;color:var(--text-l);line-height:1.7;}
footer{margin-top:80px;}
.foot-in{padding-bottom:32px;margin-bottom:24px;}
.foot-links{gap:28px;}
.foot-links a{color:rgba(250,247,242,0.32);}
@media(max-width:900px){
  .page-hero-body{padding:0 24px;}
  .store-main{padding:56px 24px;}
  .store-info-grid{grid-template-columns:1fr;gap:40px;}
  .store-photo-sub{display:none;}
  .reserve-block{padding:44px 32px;}
  .reserve-inner{grid-template-columns:1fr;}
  .other-grid{grid-template-columns:1fr;}
  footer{padding:40px 24px 24px;}
  .foot-in{flex-direction:column;gap:24px;text-align:center;}
  .foot-links{flex-wrap:wrap;justify-content:center;}
}
