/* Shared AF footer. Explicit values isolate it from legacy footer rules/themes. */
body[data-tc-shell] { min-height:100vh;padding-bottom:0; }
body[data-tc-short] { display:flex;flex-direction:column;align-items:stretch;min-height:100vh;padding:0; }
body[data-tc-short]>main { box-sizing:border-box;width:min(720px,calc(100% - 36px));margin:32px auto; }
body[data-tc-short]>.tc-site-footer { margin-top:auto; }
footer.tc-site-footer {
  display:block; position:static; inset:auto; float:none; clear:both;
  width:100%; max-width:none; height:auto; min-height:0; margin:0;
  padding:34px 0; border:0; border-top:1px solid rgba(21,32,43,.14);
  background:#f8fafc; color:#536577; text-align:left;
  font:400 16px/1.7 system-ui,-apple-system,"Segoe UI","Yu Gothic",Meiryo,sans-serif;
  letter-spacing:normal; box-sizing:border-box; white-space:normal; overflow:visible;
  z-index:auto; transform:none; opacity:1;
}
.tc-site-footer * { box-sizing:border-box; letter-spacing:normal; }
.tc-site-footer .tc-footer-inner { width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:0; }
.tc-site-footer .tc-footer-base { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.tc-site-footer .tc-footer-company { display:grid;gap:8px;flex-shrink:0; }
.tc-site-footer .tc-footer-company strong { color:#15202b;font-size:16.64px;font-weight:700; }
.tc-site-footer .tc-footer-company span { color:#536577;line-height:1.7; }
.tc-site-footer .tc-footer-certification { display:grid;justify-items:center;gap:6px;flex-shrink:0; }
.tc-site-footer .tc-footer-certification img { display:block;width:96px;height:auto;max-width:100%;margin:0;padding:0;border:0;object-fit:contain; }
.tc-site-footer .tc-footer-certification span { font-size:12px;line-height:1.5;color:#536577; }
.tc-site-footer .tc-footer-contact { display:flex;flex-wrap:wrap;gap:10px 14px; }
.tc-site-footer .tc-footer-policies { justify-content:flex-end; }
.tc-site-footer a { display:inline;position:static;color:#536577;text-decoration:none;font:inherit;white-space:normal;overflow-wrap:anywhere; }
.tc-site-footer a:hover { color:#15202b;text-decoration:underline; }
.tc-site-footer a:focus-visible { outline:2px solid #1759ac;outline-offset:4px;border-radius:2px; }
.tc-site-footer .tc-footer-sitemap { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:28px 0 0;padding:28px 0 0;border-top:1px solid rgba(21,32,43,.14); }
.tc-site-footer h2 { margin:0 0 14px;padding:0;border:0;font:700 15px/1.5 system-ui,-apple-system,"Yu Gothic",Meiryo,sans-serif;color:#15202b;text-align:left; }
.tc-site-footer ul { list-style:none;display:grid;gap:9px;margin:0;padding:0; }
.tc-site-footer li { margin:0;padding:0;font:400 14px/1.6 system-ui,-apple-system,"Yu Gothic",Meiryo,sans-serif; }
.tc-site-footer li.tc-linked-product { white-space:nowrap; }
.tc-site-footer .tc-footer-note { font:400 12px/1.7 system-ui,-apple-system,"Yu Gothic",Meiryo,sans-serif;color:#536577;margin:16px 0 0; }
@media(max-width:800px){
  .tc-site-footer .tc-footer-base { align-items:flex-start;flex-direction:column;gap:22px; }
  .tc-site-footer .tc-footer-company { flex-shrink:1; }
  .tc-site-footer .tc-footer-policies { justify-content:flex-start; }
}
@media(max-width:600px){
  footer.tc-site-footer { padding:30px 0; }
  .tc-site-footer .tc-footer-inner { width:calc(100% - 36px); }
  .tc-site-footer .tc-footer-sitemap { grid-template-columns:1fr;gap:28px; }
}
