.store-cast-osaka{max-width:1168px;margin:0 auto 64px;padding:0 24px}
.store-cast-osaka__link{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;column-gap:40px;row-gap:24px;padding:42px 48px;background:radial-gradient(ellipse at 88% 10%,#fffaf0 0,transparent 64%),#eee9dd;border:1px solid #cdbb93;border-radius:3px;text-decoration:none;color:#193d30;overflow:hidden;box-shadow:0 14px 42px #00000020;transition:border-color .2s ease,box-shadow .2s ease}
.store-cast-osaka__link::before{content:"";position:absolute;inset:10px;border:1px solid #b7a17b40;pointer-events:none;z-index:-1}
.store-cast-osaka__link::after{content:"OSAKA";position:absolute;right:-.02em;bottom:-.18em;font:400 clamp(100px,15vw,190px)/1 Georgia,serif;letter-spacing:-.045em;color:#193d3009;pointer-events:none;z-index:-1}
.store-cast-osaka__link:hover{border-color:#b8963e;box-shadow:0 18px 48px #0000002a}
.store-cast-osaka__link:focus-visible{outline:3px solid #e3c28f;outline-offset:6px}
.store-cast-osaka__copy{position:relative;grid-column:1;align-self:end;min-width:0;z-index:4}
.store-cast-osaka__eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-family:Georgia,serif;font-size:16px;letter-spacing:.2em;color:#1a4d3a}
.store-cast-osaka__eyebrow span{padding-left:14px;border-left:1px solid #b39b69;font-family:"Noto Sans JP",sans-serif;font-size:12px;letter-spacing:.12em}
.store-cast-osaka h2{margin:0 0 18px;font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(26px,2.6vw,34px);line-height:1.65;letter-spacing:.05em;color:#193d30}
.store-cast-osaka__description{margin:0;color:#244b3a;font-size:13px;line-height:1.9}
.store-cast-osaka__portraits{position:relative;grid-column:2;grid-row:1 / 3;min-width:0;align-self:center;z-index:2}
.store-cast-osaka__photos{position:relative;width:100%;max-width:500px;aspect-ratio:1.45;margin:0 auto}
.store-cast-osaka__portrait{position:absolute;display:block;width:40%;aspect-ratio:3 / 4;padding:5px;overflow:hidden;background:#fffaf1;box-shadow:0 12px 24px #102b2540,0 2px 5px #102b2520;border:1px solid #e2d8c4;border-radius:2px}
.store-cast-osaka__photo-crop{display:block;width:100%;height:100%;overflow:hidden}
.store-cast-osaka__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.store-cast-osaka__portrait--nagi{left:0;top:13%;transform:rotate(-8deg);z-index:1}
.store-cast-osaka__portrait--nagi img{transform:scale(1.65);transform-origin:56% 34%}
.store-cast-osaka__portrait--hayato{left:29%;top:0;transform:rotate(-1deg);z-index:3}
.store-cast-osaka__portrait--hayato img{transform:scale(1.12);transform-origin:50% 34%}
.store-cast-osaka__portrait--mizuki{right:0;top:16%;transform:rotate(8deg);z-index:2}
.store-cast-osaka__portrait-label{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:16px -4px 0 0;color:#244b3a;font-size:11px;line-height:1.7;letter-spacing:.08em}
.store-cast-osaka__portrait-label::before{content:"";width:24px;height:1px;background:#b39b69}
.store-cast-osaka__cta{position:relative;grid-column:1;align-self:start;justify-self:start;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 20px;border:1px solid #1a4d3a;border-radius:999px;background:#193d30;color:#fff;font-size:13px;line-height:1.6;letter-spacing:.03em;z-index:4}
.store-cast-osaka__cta>span[aria-hidden]{font-size:20px;line-height:1}
.store-cast-osaka__label-short{display:none}
@media(max-width:899px){.store-cast-osaka{padding:0 16px;margin-bottom:48px}.store-cast-osaka__link{grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);column-gap:24px;row-gap:16px;padding:28px}.store-cast-osaka h2{font-size:clamp(22px,3.1vw,28px);line-height:1.55;letter-spacing:.03em}.store-cast-osaka__eyebrow{margin-bottom:12px}.store-cast-osaka__portrait{padding:4px}.store-cast-osaka__portrait-label{margin-top:12px;font-size:10px}.store-cast-osaka__cta{padding:12px 18px;font-size:12px;gap:16px}}
@media(max-width:599px){.store-cast-osaka__link{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:clamp(150px,46vw,190px);column-gap:10px;row-gap:10px;padding:18px 16px}.store-cast-osaka__copy{align-self:end}.store-cast-osaka__eyebrow{gap:7px;margin-bottom:8px;font-size:11px;letter-spacing:.13em}.store-cast-osaka__eyebrow span{padding-left:7px;font-size:9px;letter-spacing:.04em}.store-cast-osaka h2{margin:0;font-size:clamp(13px,4.1vw,18px);line-height:1.6;letter-spacing:.015em;white-space:nowrap}.store-cast-osaka__description{display:none}.store-cast-osaka__portrait{padding:2px;box-shadow:0 6px 13px #102b2540,0 1px 3px #102b2520}.store-cast-osaka__portrait-label{justify-content:center;gap:6px;margin:8px 0 0;font-size:9px;letter-spacing:.03em}.store-cast-osaka__portrait-label::before{width:12px}.store-cast-osaka__cta{justify-self:stretch;padding:10px 12px;font-size:11px;gap:8px}.store-cast-osaka__cta-label{white-space:nowrap}.store-cast-osaka__cta>span[aria-hidden]{font-size:16px}.store-cast-osaka .store-cast-osaka__label-full{display:none}.store-cast-osaka .store-cast-osaka__label-short{display:inline}.store-cast-osaka__link::before{inset:6px}.store-cast-osaka__link::after{font-size:92px}}
@media(prefers-reduced-motion:reduce){.store-cast-osaka__link{transition:none}}
