.acc-top{padding:74px 0 20px;position:relative;overflow:hidden}
.acc-top .ghost{top:24px}
.acc-grid{display:flex;gap:48px;align-items:flex-start}
.acc-map{flex:1.25;min-width:0}
.acc-map .mapbox{height:420px;border:1px solid rgba(201,162,75,.3);position:relative;overflow:hidden;background:#241610}
.acc-map .mapbox iframe{width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.05)}
.acc-map .mapbox::before{content:"";position:absolute;inset:0;background:rgba(16,9,5,.62)}
.acc-map .mapbox .pin{position:relative;z-index:2;text-align:center}
.acc-map .mapbox .pin .dot{width:20px;height:20px;border-radius:50%;background:var(--aka);margin:0 auto 12px;box-shadow:0 0 0 8px rgba(195,13,35,.25)}
.acc-map .mapbox .pin .t{font-family:var(--serif);color:#fff;font-size:16px;letter-spacing:.08em}
.acc-map .mapbox .pin .s{font-size:12px;color:var(--kin-l);margin-top:4px}
.acc-map .maplink{margin-top:14px}
.acc-info{flex:1;min-width:0}
.acc-info .lead-en{color:var(--kin-l)}
.acc-info h2{font-family:var(--serif);font-weight:600;font-size:26px;color:#fff;margin:6px 0 18px;letter-spacing:.05em}
.acc-info .addr{font-size:15px;color:#e6dacb;line-height:2}
.acc-info .addr .zip{font-size:12px;color:var(--gray);display:block;margin-bottom:2px}
.hours{margin-top:26px;border:1px solid rgba(201,162,75,.28);border-radius:2px;overflow:hidden}
.hours .hrow{display:flex;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid rgba(201,162,75,.14);font-size:14px}
.hours .hrow:last-child{border-bottom:none}
.hours .hrow .d{font-family:var(--serif);color:var(--kin-l);letter-spacing:.06em}
.hours .hrow .h{color:#e6dacb;text-align:right}
.hours .hrow.rest{background:rgba(195,13,35,.08)}
.hours .hrow.rest .h{color:#ff6b78}
.tel-cta{margin-top:24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.tel-cta .num{font-family:var(--en);font-size:32px;color:#fff;letter-spacing:.04em}
.tel-cta .num small{display:block;font-family:var(--sans);font-size:11px;color:var(--gray);letter-spacing:.1em}

/* 行き方カード */
.routes{padding:56px 0 20px}
.routes .head{text-align:center;margin-bottom:38px}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.route{background:rgba(255,255,255,.02);border:1px solid rgba(201,162,75,.16);border-radius:2px;padding:30px 28px}
.route .n{font-family:var(--en);font-style:italic;font-size:15px;color:var(--kin-l);letter-spacing:.1em}
.route h3{font-family:var(--serif);font-weight:600;font-size:19px;color:#fff;margin:8px 0 6px;letter-spacing:.04em}
.route .min{font-family:var(--en);font-size:15px;color:var(--aka);margin-bottom:12px}
.route p{font-size:13.5px;color:var(--gray);line-height:1.85}

/* 店舗概要（和紙＋雷紋額縁） */
.overview{background:var(--washi2);color:var(--ink);padding:88px 0 96px;position:relative;margin-top:60px}
.ov-frame{width:min(1080px,calc(100% - 48px));margin:0 auto;position:relative;border:2px solid rgba(178,120,50,.45);padding:60px 56px 54px;background:rgba(255,255,255,.35)}
.ov-frame::after{content:"";position:absolute;inset:8px;border:1px solid rgba(178,120,50,.28);pointer-events:none}
.ov-frame .corner{position:absolute;width:32px;height:32px;background:var(--corner) center/contain no-repeat;z-index:3}
.ov-frame .corner.tl{top:-2px;left:-2px}
.ov-frame .corner.tr{top:-2px;right:-2px;transform:scaleX(-1)}
.ov-frame .corner.bl{bottom:-2px;left:-2px;transform:scaleY(-1)}
.ov-frame .corner.br{bottom:-2px;right:-2px;transform:scale(-1)}
.ov-frame .lantern{top:-46px;left:50%;margin-left:-22px;width:44px;height:74px}
.overview .head{text-align:center;margin-bottom:40px}
.overview .lead-en{color:var(--aka)}
.overview .sec-ttl{color:var(--ink)}
.overview .divider{margin:20px auto}
.ov-table{width:100%;border-collapse:collapse;font-size:14.5px}
.ov-table th,.ov-table td{text-align:left;vertical-align:top;padding:16px 10px;border-bottom:1px solid rgba(120,90,50,.28)}
.ov-table th{width:150px;font-family:var(--serif);font-weight:600;color:#7a3018;letter-spacing:.06em;white-space:nowrap}
.ov-table td{color:var(--ink);line-height:1.9}
@media (max-width:1023px){
  .acc-grid{flex-direction:column;gap:32px}
  .acc-map .mapbox{height:260px}
  .route-grid{grid-template-columns:1fr;gap:16px}
  .ov-frame{padding:44px 22px 36px}
  .ov-table th{width:108px;font-size:13px}
  .tel-cta .num{font-size:27px}
}