
/* ---------- フッター：相談の入口 ---------- */
.ft-catch .bt::before{background:var(--ink);width:.13em;height:.13em;margin-left:-.065em;top:-.1em}
.ft-catch.in .bt::before{transform:scale(1)}
.ft .fc{position:relative;padding-top:64px}
.fc-peek{position:absolute;right:36px;top:0;width:112px;height:112px;z-index:0;transform:translateY(74px);transition:transform .9s cubic-bezier(.34,1.45,.5,1)}
.fc.in .fc-peek{transform:none}
.fc-chara{width:100%;height:100%}
.fc-chara svg{width:100%;height:100%;overflow:visible;display:block}
.fc-bub{position:absolute;right:100%;top:18px;margin:0 6px 0 0;white-space:nowrap;background:var(--paper);border-radius:999px 999px 4px 999px;padding:6px 14px;font-size:13.5px;font-weight:700;line-height:1.5;color:var(--ink);opacity:0;transform:translateY(6px);transition:opacity .4s .75s,transform .5s .75s var(--ease-out)}
.fc.in .fc-bub{opacity:1;transform:none}
.fc-panel{position:relative;z-index:1;display:grid;gap:10px;background:var(--paper);border-radius:22px;padding:14px;color:var(--t1);box-shadow:0 34px 60px -42px rgba(0,40,15,.55)}
.fc-k{display:block;font-size:13px;font-weight:700;letter-spacing:.1em;line-height:1.5;color:var(--t2)}
.fc-s{display:block;font-size:14px;line-height:1.6;color:var(--t2)}
.ft a.fc-door{position:relative;display:block;padding:22px 88px 22px 26px;border-radius:14px;background:var(--ink);color:#fff;text-decoration:none;transition:background .3s}
.fc-door .fc-k{color:rgba(255,255,255,.66)}
.fc-t{display:block;margin:2px 0 3px;font-size:23px;font-weight:900;letter-spacing:.06em;line-height:1.35}
.fc-door .fc-s{color:rgba(255,255,255,.8)}
.fc-arw{position:absolute;right:22px;top:50%;width:48px;height:48px;margin-top:-24px;border-radius:50%;background:var(--green);color:var(--ink);display:grid;place-items:center;font-style:normal;font-weight:900;font-size:19px;transition:transform .5s var(--ease-out)}
.ft a.fc-door:hover{background:#000;color:#fff}
.fc-door:hover .fc-arw{transform:translateX(5px)}
.fc-door:focus-visible{outline:3px solid var(--butter);outline-offset:3px}
.fc-tel{padding:18px 26px 18px;border-radius:14px;background:var(--soft)}
.ft a.fc-num{display:flex;align-items:center;gap:12px;width:max-content;margin:4px 0 2px;font-size:30px;font-weight:900;letter-spacing:.04em;line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums}
.ft a.fc-num:hover{color:var(--ink)}
.fc-num i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);flex:none}
.fc-num svg{width:18px;height:18px;color:var(--ink)}
.fc-pr{list-style:none;margin:2px 0 0;padding:6px 12px 6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;font-size:13.5px;font-weight:700;line-height:1.6;color:var(--t1)}
.fc-pr li{display:flex;gap:8px}
@media (min-width:981px){ .fc-pr{grid-template-columns:auto auto;justify-content:space-between;gap:4px 12px} .fc-pr li{white-space:nowrap} }
.fc-pr li::before{content:"";flex:none;width:6px;height:6px;margin-top:.62em;border-radius:50%;background:var(--green)}
/* タブレット：入口を横に2つ並べる */
@media (max-width:980px){
  .ft .fc{padding-top:58px}
  .fc-panel{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .fc-pr{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}
  .ft a.fc-door{display:flex;flex-direction:column;justify-content:center}
}
@media (max-width:760px){
  .fc-pr{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .fc-panel{grid-template-columns:1fr;padding:10px;border-radius:18px}
  .fc-peek{right:18px;width:96px;height:96px;transform:translateY(64px)}
  .ft .fc{padding-top:52px}
  .ft a.fc-door{padding:20px 78px 20px 20px}
  .fc-t{font-size:20px}
  .fc-arw{right:18px;width:44px;height:44px;margin-top:-22px}
  .fc-tel{padding:16px 20px}
  .ft a.fc-num{font-size:26px}
  .fc-pr{grid-template-columns:1fr;padding:6px 10px 8px}
}
@media (prefers-reduced-motion:reduce){
  .fc-peek,.fc-bub{transition:none}
}
/* ---------- フッター全体を同じ幅の箱にそろえる（大きいモニターで左右に離れない） ---------- */
/* 本文の .wrap（最大1160px・左右40px）と同じ線にそろえる */
.ft{--ftw:1080px}
.ft-copy{box-sizing:border-box;width:auto;max-width:calc(var(--ftw) + 80px);margin:0 auto;padding:0 40px;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:clamp(40px,4.4vw,72px);align-items:center}
.ft-map,.ft-co,.ft-bottom{max-width:calc(var(--ftw) + 80px)}
@media (min-width:1180px){ .ft-desc{font-size:15px;line-height:1.95} }
@media (min-width:1680px){
  .ft-town{height:clamp(330px,19.5vw,470px)}
  .ft-walker{width:clamp(150px,9vw,190px);height:clamp(150px,9vw,190px);margin-left:-90px}
  .ft-pin{padding-top:110px}
}
@media (max-width:980px){ .ft-copy{grid-template-columns:1fr;align-items:start;gap:20px;padding:0;margin:0 18px;max-width:none} }
/* ---------- いつもの町：町の絵は4枚 ---------- */
.ft-town .track{width:11008px}
.ft-town .track img:nth-child(3){left:5504px}
.ft-town .track img:nth-child(4){left:8256px}

