@charset "UTF-8";

/* =====================================================================
   2026/11/01 共通フッター（新デザイン）  ※マークアップ・読み込みは include_disp.php の DispFooter（全ページ共通）
   ===================================================================== */
.ft{--fj:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--fe:"Inter","Noto Sans JP",sans-serif;--ink:#1d2a44;--sub:#3d4b63;--navy:#083C89;--line:#dbe7f3;--tcyan:#0068B0;font-family:var(--fj);line-height:1.8;-webkit-font-smoothing:antialiased}
.ft *,.ft *::before,.ft *::after{box-sizing:border-box}
.ft :is(p,ul,li,address,small){margin:0;padding:0;line-height:inherit}
.ft ul li{list-style:none}
.ft img{max-width:100%}
.ft a{transition:color .2s}
.ft{position:relative;background:#f3f7fb;color:var(--ink);padding:88px 40px 0;border-top:1px solid var(--line)}
.ft .ft-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.9fr) 2.3fr;gap:56px}
.ft .ft-logo{width:200px;height:auto;display:block}
.ft .ft-msg{margin-top:22px;font-size:20px;font-weight:800;letter-spacing:.08em;color:var(--navy)}
.ft .ft-co{margin-top:22px;font-size:16px;font-weight:700}
.ft address{margin-top:6px;font-style:normal;font-size:15px;line-height:1.85;color:var(--sub)}
.ft .ft-tel{display:inline-flex;flex-direction:column;margin-top:22px;padding:14px 20px;border-radius:14px;background:#fff;border:1.5px solid var(--line);text-decoration:none;color:var(--navy)}
.ft .ft-tel small{font-size:13px;color:var(--sub);font-weight:700}
.ft .ft-tel b{font-family:var(--fe);font-size:28px;font-weight:800;letter-spacing:.02em;line-height:1.3}
.ft .ft-nav{display:grid;grid-template-columns:1.2fr 1.15fr 1fr;gap:32px}
.ft .fh{font-family:var(--fe);font-size:13px;font-weight:800;letter-spacing:.2em;color:var(--tcyan);padding-bottom:12px;border-bottom:2px solid var(--navy)}
.ft .fcol ul{list-style:none;margin-top:14px;display:grid;gap:4px}
.ft .fcol a{display:inline-block;padding:5px 0;font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;line-height:1.5}
.ft .fcol a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.ft .ft-grp{max-width:1200px;margin:56px auto 0;padding:24px 0;border-top:1px solid #d3deeb;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.ft .ft-grp .fh{border:0;padding:0}
.ft .ft-grp ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 24px}
.ft .ft-grp li{font-size:15px;font-weight:700;color:var(--sub)}
.ft .ft-bot{max-width:1200px;margin:0 auto;padding:22px 0 32px;border-top:1px solid #d3deeb;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ft .ft-bot ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 24px}
.ft .ft-bot a{font-size:14px;color:var(--sub);text-decoration:none}
.ft .ft-bot a:hover{text-decoration:underline;color:var(--navy)}
.ft .ft-bot small{font-family:var(--fe);font-size:13px;color:var(--sub)}
.ft .ft-top{position:absolute;right:40px;top:-28px;width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(8,60,137,.25),0 0 0 3px #fff;transition:transform .25s}
.ft .ft-top:hover{transform:translateY(-3px)}
@media(max-width:900px){.ft{padding:64px 20px 0}
.ft .ft-in{grid-template-columns:1fr;gap:40px}
.ft .ft-logo{width:170px}
.ft .ft-msg{font-size:18px}
.ft .ft-nav{grid-template-columns:1fr;gap:28px}
.ft .fcol ul{gap:0}
.ft .fcol a{font-size:15px;padding:7px 0}
.ft .ft-grp{display:block;margin-top:40px}
.ft .ft-grp ul{margin-top:10px;display:grid;gap:4px}
.ft .ft-grp li{font-size:14px}
.ft .ft-bot{display:block}
.ft .ft-bot ul{display:grid;gap:4px}
.ft .ft-bot small{display:block;margin-top:14px}
.ft .ft-top{right:20px;width:48px;height:48px;top:-24px}}
.ft .pswp-gallery-footer a[hidden]{display:none}
.ft address{font-family:inherit}
