.float-board{position:fixed;right:22px;bottom:22px;z-index:50;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;}
.float-board .circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gradient);box-shadow:0 8px 22px -6px rgba(193,36,110,0.5);transition:transform 0.15s ease;}
.float-board:hover .circle{transform:translateY(-2px);}
.float-board .circle-text{color:#fff;font-size:11px;font-weight:700;letter-spacing:0.02em;}
@media (max-width:560px){.float-board{right:16px;bottom:16px;}.float-board .circle{width:50px;height:50px;}.float-board .circle-text{font-size:10px;}}
:root{
  --bg:#fffbfd;--surface:#ffffff;--surface-2:#faf3f7;--ink:#1a1a3d;--muted:#5c5a75;
  --line:#e8dce6;--accent:#c1246e;--accent-soft:#fce4f0;--accent-on-dark:#ff8fc9;
  --gradient: linear-gradient(45deg, #5851DB 0%, #833AB4 38%, #C13584 72%, #E1306C 100%);
  --shadow: 0 1px 2px rgba(26,26,61,0.06), 0 8px 24px -12px rgba(26,26,61,0.16);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;padding-bottom:64px;}
.crumb{padding:14px 28px 0;font-size:11.5px;color:var(--muted);}
.crumb a{color:var(--muted);text-decoration:none;}
.crumb span{color:var(--ink);font-weight:600;}
.area-hero-photo{
  aspect-ratio:1/1;width:100%;margin:14px 0 0;overflow:hidden;
  background:
    linear-gradient(180deg, rgba(20,15,10,0.15) 0%, rgba(20,15,10,0.8) 100%),
    var(--hero) center 30% / cover no-repeat;
  display:flex;flex-direction:column;justify-content:flex-end;padding:20px;
  position:relative;
}
.area-name{font-size:30px;font-weight:800;margin:0 0 8px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.4);}
.area-tagline{font-size:14px;color:rgba(255,255,255,0.92);margin:0;max-width:56ch;text-shadow:0 1px 4px rgba(0,0,0,0.4);}
.sec{padding:24px 28px;border-top:1px solid var(--line);}
.sec-title{font-size:17px;font-weight:800;margin:0 0 12px;}
.notice-box{
  background:var(--surface-2);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;display:flex;gap:12px;align-items:flex-start;
}
.notice-box svg{flex:none;width:20px;height:20px;color:var(--accent);margin-top:1px;}
.notice-box p{font-size:13.5px;color:var(--ink);margin:0;line-height:1.7;}
.nearby-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px;}
.nearby-card{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;text-decoration:none;color:inherit;box-shadow:var(--shadow);
}
.nearby-card:hover{border-color:var(--accent);}
.nearby-card .info h4{font-size:15px;font-weight:800;margin:0 0 4px;}
.nearby-card .info p{font-size:12px;color:var(--muted);margin:0;}
.nearby-card .arrow{font-size:18px;color:var(--accent);flex:none;}
.faq-item{margin-bottom:16px;}
.faq-item:last-child{margin-bottom:0;}
.faq-q{font-size:13.5px;font-weight:700;margin:0 0 6px;display:flex;gap:6px;}
.q-mark{color:var(--accent);}
.faq-a{font-size:13px;color:var(--muted);margin:0;padding-left:22px;}
.related-chip-row{display:flex;flex-wrap:wrap;gap:9px;}
.related-chip{
  font-size:12.5px;color:var(--ink);background:var(--surface);
  border:1px solid var(--line);border-radius:100px;padding:8px 16px;text-decoration:none;
}
.related-chip:hover{border-color:var(--accent);color:var(--accent);}
.pf-tag{font-size:11.5px;color:rgba(255,255,255,0.55);margin:0 0 22px;line-height:1.7;}
@media (min-width:760px){
  .page-footer{padding:44px 24px 40px;}
  .pf-nav{flex-direction:row;flex-wrap:wrap;gap:0 26px;}
  .pf-nav a{border:none;padding:6px 0;}
  .pf-nav a:first-child{border-top:none;}
}
.intro-block p{font-size:13.5px;color:var(--ink);margin:0 0 12px;line-height:1.85;}
.intro-block p:last-child{margin-bottom:0;}
.fact-table{width:100%;border-collapse:collapse;font-size:13px;}
.fact-table th, .fact-table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;}
.fact-table th{background:var(--surface-2);font-weight:700;width:36%;font-size:12px;color:var(--ink);}
.fact-table td{color:var(--muted);}
.table-wrap{overflow-x:auto;}
.notice-box{
  background:var(--surface-2);border:1px solid var(--line);border-radius:12px;
  padding:15px 17px;display:flex;gap:12px;align-items:flex-start;
}
.notice-box svg{flex:none;width:20px;height:20px;color:var(--accent);margin-top:1px;}
.notice-box p{font-size:13px;color:var(--ink);margin:0;line-height:1.75;}
