:root{--wine:#912b53;--ink:#31232a;--muted:#72666a;--line:#e8dcd8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f8f5f1;font-family:"Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}.header{background:#1c101b;color:#fff}.header-inner{max-width:1150px;height:70px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font:700 20px serif}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #dfbd88;color:#f5ddb5;border-radius:50%;font:17px serif}.brand small{display:block;font:8px sans-serif;letter-spacing:.15em;margin-top:4px}.back{font-size:13px;color:#f2d8e0}main{max-width:1150px;margin:auto}.breadcrumbs{font-size:12px;color:#8b787d;padding:20px 0}.shop-hero{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line)}.photo{min-height:330px;background:#eee8e4}.photo img{display:block;width:100%;height:100%;min-height:330px;max-height:430px;object-fit:cover}.no-photo{height:100%;min-height:330px;display:grid;place-items:center;color:#a59696}.intro{padding:34px 36px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font:700 10px sans-serif;letter-spacing:.18em;color:#ac4266;margin:0}.intro h1{font:normal 31px/1.4 "Yu Mincho",serif;margin:14px 0}.genre{font-size:13px;color:#a43c61}.address{font-size:14px;line-height:1.8;color:#67575c}.station-tags{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.station-tags span{background:#f7e9ee;color:#923352;font-size:12px;padding:6px 10px}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:20px}.call,.outline{display:inline-block;text-align:center;font-size:13px;padding:12px 18px;border:1px solid var(--wine);color:var(--wine)}.call{background:var(--wine);color:#fff}.toc{display:flex;background:#2a1925;color:white;gap:0;flex-wrap:wrap}.toc a{padding:16px 25px;border-right:1px solid #604652;font-size:13px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;margin:28px 0 75px;align-items:start}.panel,.sidebar{background:white;border:1px solid var(--line);padding:28px;margin-bottom:18px}.panel h2,.sidebar h2{font:normal 25px "Yu Mincho",serif;margin:12px 0 22px}.info{margin:0}.info-row,.price-row{display:grid;grid-template-columns:145px 1fr;border-top:1px solid #eee4df;font-size:14px;line-height:1.8}.info-row dt{background:#faf6f3;padding:12px;color:#776267}.info-row dd{margin:0;padding:12px}.price-row{grid-template-columns:1fr auto;gap:15px;padding:12px}.price-row strong{color:#923453}.panel h3{font-size:15px;padding:13px 0;margin:16px 0 0;color:#8f3155;border-bottom:1px solid #ead8dc}.price-note,.note,.empty{font-size:13px;color:#857477;line-height:1.8}.station-list{list-style:none;padding:0;margin:20px 0}.station-list li{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid #eee4df;font-size:13px}.access-address{font-size:14px;line-height:1.8}.sidebar{position:sticky;top:16px}.sidebar h2{font-size:20px}.sidebar p:not(.eyebrow){font-size:13px;line-height:1.7}.sidebar .call,.sidebar .outline{display:block;margin-top:10px}footer{background:#160d15;color:#d8c4ca;padding:35px max(20px,calc((100% - 1150px)/2));display:flex;justify-content:space-between;gap:15px;font-size:12px}footer span{font-size:10px}a:focus-visible{outline:3px solid #df84a2;outline-offset:3px}@media(max-width:1200px){main,.header-inner{margin-left:20px;margin-right:20px}}@media(max-width:700px){main,.header-inner{margin-left:16px;margin-right:16px}.header-inner{height:62px}.brand{font-size:15px}.brand-mark{height:32px;width:32px}.back{font-size:12px}.shop-hero{display:block}.photo,.photo img,.no-photo{min-height:0;height:220px}.intro{padding:25px 20px}.intro h1{font-size:25px}.toc a{flex:1;text-align:center;padding:14px 6px;font-size:12px}.layout{display:block;margin:18px 0 45px}.panel,.sidebar{padding:20px;margin-bottom:12px}.panel h2{font-size:22px}.info-row{grid-template-columns:100px 1fr;font-size:13px}.info-row dt,.info-row dd{padding:10px}.price-row{font-size:13px}.sidebar{position:static}footer{flex-direction:column}}
.info-row,.price-row{font-size:15px}.address,.access-address{font-size:15px}.toc a,.back,.call,.outline{font-size:14px}.sidebar p:not(.eyebrow){font-size:14px}@media(max-width:700px){.info-row,.price-row{font-size:14px}.toc a{font-size:12px}}

/* スナレコの店舗詳細：一覧と揃えた夜の配色 */
body{background:#1c101b;color:#fff3f4}
.breadcrumbs{color:#e4c9d2}
.shop-hero,.panel,.sidebar{background:#35212e;border-color:#74505f}
.photo,.no-photo{background:#291925;color:#d3b6bf}
.eyebrow{color:#e7a5bf}
.genre{color:#f0b7cc}
.address,.price-note,.note,.empty{color:#ead3dc}
.station-tags span{background:#5a3547;color:#fff0f5}
.call{background:#a83360;border-color:#d38ba6;color:#fff}
.outline{border-color:#d9a8bb;color:#ffe4ee}
.toc{background:#271523}
.toc a{border-color:#735262}
.info-row,.price-row,.station-list li{border-color:#735262}
.info-row dt{background:#492e3d;color:#f3dce5}
.price-row strong,.panel h3{color:#ffc2d8}
.panel h3{border-color:#735262}
.header .brand{position:relative;display:block;flex:none;width:170px;height:58px;background:url('assets/sunareco-reference.png') -83px 0/1536px auto no-repeat;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse at center,#000 45%,transparent 80%)}
.header .brand>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.header .brand{width:136px;height:46px;background-size:1229px auto;background-position:-66px 0}}
@media(min-width:701px){.shop-hero .photo img{max-height:none}}
