.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:13px;font-weight:700;letter-spacing:0.02em;}
@media (max-width:560px){.float-board{right:16px;bottom:16px;}.float-board .circle{width:54px;height:54px;}.float-board .circle-text{font-size:13px;}}

*{box-sizing:border-box;}
.crumb{padding:14px 28px 0;font-size:13px;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:16px;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:16px;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 h3{font-size:16px;font-weight:800;margin:0 0 4px;}
.nearby-card .info p{font-size:13.5px;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:16px;font-weight:700;margin:0 0 6px;display:flex;gap:6px;}
.q-mark{color:var(--accent);}
.faq-a{font-size:15px;color:var(--muted);margin:0;padding-left:22px;}
.related-chip-row{display:flex;flex-wrap:wrap;gap:9px;}
.related-chip{
  font-size:14px;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:14px;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:16px;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:15px;}
.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:34%;font-size:13.5px;color:var(--ink);}
.fact-table td{color:var(--muted);}
.table-wrap{overflow-x:auto;}
.step-list{counter-reset:step;list-style:none;padding:0;margin:0;}
.step-list li{
  position:relative;padding-left:38px;margin-bottom:16px;
  font-size:15px;color:var(--ink);line-height:1.75;
}
.step-list li:last-child{margin-bottom:0;}
.step-list li::before{
  counter-increment:step;content:counter(step);
  position:absolute;left:0;top:1px;
  width:26px;height:26px;border-radius:50%;
  background:var(--accent-soft);color:var(--accent);
  font-size:13.5px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.step-list li b{display:block;margin-bottom:2px;}
.tip-box{
  background:var(--surface-2);border:1px solid var(--line);border-radius:12px;
  padding:15px 17px;margin-top:4px;
}
.tip-box p{font-size:14px;color:var(--ink);margin:0 0 8px;line-height:1.7;}
.tip-box p:last-child{margin-bottom:0;}
.tip-box b{color:var(--accent);}

/* ページ冒頭のスニペット文 */
.snippet-sec{padding-top:18px;padding-bottom:0;}
.page-snippet{font-size:16px;line-height:1.85;color:var(--ink);margin:0;}

.fee-note{font-size:13px;color:var(--muted);}
