/* v282: 標準フッターを旧レイアウトのページでも同じ見た目にするための補助CSS */
footer{--bg-soft:#f3f7fb;--blue:#1d69df;--blue-dim:#155bc4;--ease:cubic-bezier(.22,.7,.2,1);--ink:#15212e;--ink-dim:#52647a;--ink-faint:#697887;--line:#e2e8f0;--maxw:1240px;--safe-b:env(safe-area-inset-bottom,0px)}
/* footer rules extracted from: page/page-common.f4dc6188.css, landing.css, product-common.css, global-2026.css */
footer{position:relative;z-index:1;border-top:1px solid var(--line);background:var(--bg-soft);margin-top:40px;padding:40px clamp(16px,4vw,28px) calc(44px + var(--safe-b))}
footer .fin{max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer b{font-family:"Space Grotesk";font-size:14px}
footer p{color:var(--ink-faint);font-size:11.5px;margin-top:8px;line-height:1.7;max-width:340px}
.fbase{max-width:var(--maxw);margin:26px auto 0;padding-top:18px;border-top:1px solid var(--line);font-family:"IBM Plex Mono";font-size:10.5px;color:var(--ink-faint);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fin{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between}
.foot-sites{display:flex;flex-direction:column;gap:6px}
.foot-sites-h{font-size:10.5px;letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:2px}
.foot-sites a{font-size:12.5px;color:var(--blue-dim);text-decoration:none}
.foot-sites a:hover{text-decoration:underline}
.rel-layer,.rel-vendor,.foot-sites-h,.dl-pn,.pp-crumb{font-size:11.5px !important}
.dl-kicker,.dl-tag,.tzg-k,.rel-layer,.rel-vendor,.foot-sites-h,.dl-pn{font-size:11.5px !important}
.dl-faq summary,.rel-c,.dl-cta,.pp-crumb a,footer a,.foot-sites a{min-height:32px;display:inline-flex;align-items:center}
footer{margin-top:clamp(40px,6vw,72px);border-top:1px solid var(--line);
  background:var(--bg-soft);padding:clamp(30px,4vw,46px) clamp(16px,4vw,28px) 0}
footer .fin{max-width:var(--maxw,1240px);margin:0 auto;display:grid;
  grid-template-columns:1.5fr 1fr 1.3fr;gap:clamp(22px,3vw,48px);align-items:start}
@media (max-width:900px){footer .fin{grid-template-columns:1fr 1fr}.fcol-brand{grid-column:1 / -1}}
@media (max-width:600px){footer .fin{grid-template-columns:1fr;gap:26px}}
.fcol{display:flex;flex-direction:column;min-width:0}
.fbrand{font-family:"Space Grotesk","IBM Plex Sans JP";font-weight:700;
  font-size:16px;color:var(--ink);letter-spacing:.01em}
.fdesc{color:var(--ink-dim);font-size:12px;line-height:1.9;margin-top:9px;max-width:420px}
.foot-addr{font-style:normal;color:var(--ink-faint);font-size:12px;line-height:1.9;margin-top:14px}
.foot-tel{display:inline-block;margin-top:5px}
.foot-tel a{color:var(--ink-dim);font-family:"IBM Plex Mono";font-weight:600;
  text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.foot-tel a:hover{color:var(--blue-dim)}
.fquote{margin-top:16px;align-self:flex-start;display:inline-flex;align-items:center;
  min-height:38px;padding:0 15px;border-radius:9px;background:var(--blue);color:#fff;
  font-size:12.5px;font-weight:700;text-decoration:none;transition:opacity .15s var(--ease)}
.fquote:hover{opacity:.88}
.foot-sites-h{font-size:11.5px;font-weight:700;color:var(--ink);letter-spacing:.04em;
  padding-bottom:9px;margin-bottom:5px;border-bottom:1px solid var(--line);line-height:1.6}
.fcol nav,.fcol a{min-width:0}
.fcol > a{display:flex;align-items:center;gap:6px;min-height:34px;padding:3px 0;
  color:var(--ink-dim);font-size:12.5px;line-height:1.65;text-decoration:none;
  transition:color .15s var(--ease)}
.fcol > a:hover{color:var(--blue-dim)}
.fx{font-size:10.5px;color:var(--ink-faint);flex:none}
.fcol > a:hover .fx{color:var(--blue)}
.fbase{max-width:var(--maxw,1240px);margin:clamp(26px,3vw,38px) auto 0;
  padding:16px 0 22px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.fcopy{font-size:11.5px;color:var(--ink-dim);letter-spacing:.02em}
.fnote{font-size:11.5px;color:var(--ink-faint);line-height:1.7}
