/* 賃貸・民泊ページ（/rental/ /minpaku/）専用。サイト共通の header/footer には影響させない */
.stay-page{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.8;font-size:15px}
.stay-page a{color:inherit}
.stay-page *{box-sizing:border-box}
.stay-page{--brand:#A6397C;--brand-d:#8B2D66;--brand-l:#F6E6EF;--ink:#333;--muted:#777;--bg:#EFEFEF;--card:#fff;--line:#E3DCE0;--accent:#E0555A;
--font:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;--disp:'Zen Kaku Gothic New','Hiragino Sans',sans-serif}
.stay-page .hero{position:relative;min-height:560px;display:grid;place-items:center;overflow:hidden;background:#222}
.stay-page .hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.stay-page .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.45) 70%)}
.stay-page .hero .in{position:relative;z-index:2;text-align:center;color:#fff;padding:60px 20px;max-width:900px}
.stay-page .hero .kicker{display:inline-block;background:var(--brand);padding:6px 18px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.12em;margin-bottom:18px}
.stay-page .hero h1{font-family:var(--disp);font-weight:900;font-size:clamp(34px,6.4vw,72px);line-height:1.2;margin:0 0 16px;text-shadow:0 4px 24px rgba(0,0,0,.45);letter-spacing:.02em}
.stay-page .hero h1 .em{color:#FFE45C}
.stay-page .hero p{font-size:clamp(14px,1.8vw,19px);margin:0 0 26px;font-weight:500;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.stay-page .hero .pts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 26px}
.stay-page .hero .pts span{background:rgba(255,255,255,.92);color:var(--brand);border-radius:999px;padding:6px 16px;font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:6px}
.stay-page .hero .pts svg{width:16px;height:16px}
.stay-page .btn{display:inline-block;background:linear-gradient(180deg,#F04E58,#C8232C);color:#fff;text-decoration:none;font-weight:700;padding:14px 40px;border-radius:999px;box-shadow:0 5px 0 #8E141B,0 10px 20px rgba(0,0,0,.25);font-size:16px;transition:transform .08s}
.stay-page .btn:active{transform:translateY(4px);box-shadow:0 1px 0 #8E141B}
.stay-page .btn.sm{padding:10px 22px;font-size:13.5px;box-shadow:0 3px 0 #8E141B,0 6px 12px rgba(0,0,0,.2)}
.stay-page .wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.stay-page .sec{padding:56px 0}
.stay-page .sec h2{font-family:var(--disp);font-size:26px;font-weight:700;text-align:center;margin:0 0 8px;letter-spacing:.06em}
.stay-page .sec .sub{text-align:center;color:var(--muted);margin:0 0 32px;font-size:13.5px}
.stay-page .intro{background:var(--card);border-left:6px solid var(--brand);border-radius:10px;padding:22px 28px;box-shadow:0 2px 10px rgba(0,0,0,.05);font-size:15px;margin-bottom:40px}
.stay-page .intro b{color:var(--brand)}
.stay-page .feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0 0 48px}
.stay-page .feat div{background:var(--card);border-radius:10px;padding:20px 18px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.stay-page .feat svg{width:40px;height:40px;color:var(--brand)}
.stay-page .feat h3{font-size:15px;margin:8px 0 4px;font-family:var(--disp)}
.stay-page .feat p{margin:0;font-size:13px;color:var(--muted)}
.stay-page .tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 20px;font-size:13.5px}
.stay-page .tools .cnt b{color:var(--brand);font-size:20px;font-family:var(--disp)}
.stay-page .chips{display:flex;flex-wrap:wrap;gap:6px}
.stay-page .chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 14px;font-size:12.5px;cursor:pointer;font-family:inherit}
.stay-page .chips button.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.stay-page .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px}
.stay-page .card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07);display:flex;flex-direction:column}
.stay-page .card.hide{display:none}
.stay-page .ph{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:pointer;background:#ddd}
.stay-page .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.stay-page .ph:hover img{transform:scale(1.04)}
.stay-page .ph .n{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;padding:3px 10px;border-radius:999px;display:flex;gap:5px;align-items:center}
.stay-page .ph .n svg{width:13px;height:13px}
.stay-page .ph .kind{position:absolute;left:10px;top:10px;background:var(--brand);color:#fff;font-size:11.5px;padding:2px 10px;border-radius:4px;font-weight:700}
.stay-page .thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px 4px 0}
.stay-page .thumbs div{aspect-ratio:4/3;overflow:hidden;cursor:pointer;border-radius:3px;position:relative;background:#ddd}
.stay-page .thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.stay-page .thumbs .more{position:absolute;inset:0;background:rgba(0,0,0,.5);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.stay-page .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.stay-page .body h3{margin:0;font-size:17px;font-family:var(--disp)}
.stay-page .loc{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:4px}
.stay-page .loc svg{width:14px;height:14px}
.stay-page .tags{display:flex;flex-wrap:wrap;gap:5px}
.stay-page .tags span{background:var(--brand-l);color:var(--brand-d);font-size:11.5px;padding:2px 9px;border-radius:4px}
.stay-page .price{font-size:13px;color:var(--muted);margin-top:auto;padding-top:6px;border-top:1px dashed var(--line)}
.stay-page .price b{color:var(--accent);font-size:15px}
.stay-page .body .btn{text-align:center;margin-top:4px}
.stay-page .cta{background:linear-gradient(135deg,var(--brand),#C64E98);color:#fff;border-radius:14px;padding:40px 24px;text-align:center;margin:56px 0 0}
.stay-page .cta h2{margin:0 0 8px;font-family:var(--disp);font-size:22px}
.stay-page .cta p{margin:0 0 20px;font-size:14px;opacity:.95}
.stay-page .cta .tel{font-family:var(--disp);font-size:30px;font-weight:900;letter-spacing:.04em;margin:6px 0 14px}
.stay-page .cta .btn{background:#fff;color:var(--brand);box-shadow:0 5px 0 #d9c3d0,0 10px 20px rgba(0,0,0,.2)}
.stay-page /* lightbox */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:100;display:none;flex-direction:column;color:#fff}
.stay-page .lb.open{display:flex}
.stay-page .lb .top{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:14px}
.stay-page .lb .top button,.stay-page .lb .arr{background:rgba(255,255,255,.15);border:0;color:#fff;font-size:22px;width:44px;height:44px;border-radius:50%;cursor:pointer}
.stay-page .lb .stage{flex:1;display:grid;grid-template-columns:60px 1fr 60px;align-items:center;min-height:0}
.stay-page .lb .stage img{max-width:100%;max-height:72vh;object-fit:contain;margin:auto;display:block;border-radius:6px}
.stay-page .lb .arr{margin:auto}
.stay-page .lb .strip{display:flex;gap:6px;padding:12px 18px;overflow-x:auto}
.stay-page .lb .strip img{height:64px;width:86px;object-fit:cover;border-radius:4px;opacity:.5;cursor:pointer;flex:none}
.stay-page .lb .strip img.on{opacity:1;outline:2px solid #fff}
@media(max-width:820px){}
@media(max-width:600px){.stay-page .lb .stage{grid-template-columns:40px 1fr 40px}
.stay-page .hero{min-height:440px}}
