.store-reasons { padding:clamp(48px,6vw,88px) 24px; background:var(--reasons-bg,#f8f5fb); color:var(--reasons-ink,#393240); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif; }
.store-reasons,.store-reasons * { box-sizing:border-box; }
.store-reasons__inner { max-width:1080px; margin:auto; }
.store-reasons__header { text-align:center; }
.store-reasons__eyebrow { margin:0 0 12px; color:var(--reasons-accent,#735c8c); font:11px Georgia,"Times New Roman",serif; letter-spacing:.16em; }
body .store-reasons h2 { margin:0; font-family:inherit; font-weight:500; font-size:clamp(22px,3vw,32px); line-height:1.6; letter-spacing:.04em; }
.store-reasons__portraits { display:flex; justify-content:center; align-items:flex-start; gap:clamp(8px,2vw,24px); max-width:528px; margin:30px auto 24px; }
.store-reasons__person { flex:0 1 144px; min-width:0; margin:0; }
.store-reasons__circle { position:relative; aspect-ratio:1; border-radius:50%; overflow:hidden; border:1px solid var(--reasons-line,#ded4e7); background:#fff; }
.store-reasons__circle img { display:block; width:100%; height:100%; object-fit:cover; }
.store-reasons__circle--ram img { position:absolute; width:145%; max-width:none; height:auto; right:-5%; top:-3%; }
.store-reasons__person figcaption { margin-top:10px; font-size:13px; line-height:1.7; letter-spacing:.03em; text-wrap:balance; }
.store-reasons__lead { margin:0 auto 36px; max-width:700px; font-size:14px; line-height:2; text-wrap:pretty; }
.store-reasons__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.store-reasons__card { min-width:0; padding:28px 24px; background:var(--reasons-card,#fff); border:1px solid var(--reasons-line,#ded4e7); }
body .store-reasons__card h3 { margin:0 0 20px; padding-bottom:12px; border-bottom:1px solid var(--reasons-line,#ded4e7); font-family:inherit; font-size:18px; font-weight:500; line-height:1.6; letter-spacing:.03em; text-align:center; white-space:nowrap; }
body .store-reasons__card p { margin:0; font-size:14px; line-height:1.95; letter-spacing:.03em; text-align:left; text-wrap:pretty; }
@media(max-width:900px) { .store-reasons__grid { grid-template-columns:1fr; max-width:620px; margin:auto; } }

/* 3店舗の名前は写真の幅内に収め、バッジと重ならないようにする。 */
@media (max-width:600px) {
 :is(.store-reasons--shinsaibashi,.store-reasons--kawaramachi) .store-reasons__portraits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
 :is(.store-reasons--shinsaibashi,.store-reasons--kawaramachi) .store-reasons__person figcaption { flex-direction:column; gap:4px; }
 :is(.store-reasons--shinsaibashi,.store-reasons--kawaramachi) .store-reasons__person figcaption > span:last-child { font-size:clamp(10px,3vw,12px); white-space:nowrap; text-align:center; }
}
