/* Site-wide footer. Kept outside card/board/landing component styles. */
body .kfu-footer,body .kfu-footer *{box-sizing:border-box}
body .kfu-footer{
  --kfu-background:#fff;--kfu-text:#25392f;--kfu-muted:#51645a;
  --kfu-heading:#263a30;--kfu-line:#d7e1d9;--kfu-link:#263a30;
  --kfu-brand-size:66px;--kfu-body-size:18px;--kfu-link-size:18px;
  display:block;position:relative;isolation:isolate;width:100%;max-width:100%;clear:both;
  background:var(--kfu-background)!important;color:var(--kfu-text)!important;
  border-top:1px solid var(--kfu-line);margin:0!important;padding:0!important;
  font-family:Inter,"Helvetica Neue",Arial,"Noto Sans JP",sans-serif!important;
  font-size:var(--kfu-body-size);line-height:1.6;text-align:left;letter-spacing:normal;
}
body .kfu-footer .kfu-container{width:min(100%,1860px);max-width:100%;margin-inline:auto;padding:clamp(54px,5.5vw,105px) clamp(24px,7.3vw,150px) 27px}
body .kfu-footer .kfu-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(155px,.58fr) minmax(155px,.7fr);gap:clamp(26px,4vw,74px);align-items:start}
body .kfu-footer .kfu-wordmark{display:inline-flex;align-items:flex-start;gap:5px;color:var(--kfu-heading)!important;text-decoration:none!important;font-size:clamp(34px,5vw,var(--kfu-brand-size));font-weight:760;letter-spacing:-.07em;line-height:1.1;white-space:nowrap}
body .kfu-footer .kfu-wordmark sup{font-size:.16em;font-weight:750;line-height:1.4;letter-spacing:0;margin-top:.19em;vertical-align:top}
body .kfu-footer .kfu-identity p{color:var(--kfu-muted)!important;font-weight:440;font-size:var(--kfu-body-size);line-height:1.7;margin:17px 0 0!important;padding:0}
body .kfu-footer .kfu-identity p.kfu-jp{margin-top:7px!important;letter-spacing:.04em}
body .kfu-footer .kfu-heading{color:var(--kfu-heading)!important;font-size:clamp(17px,1.15vw,21px);line-height:1.4;font-weight:790;letter-spacing:.13em;margin:0 0 28px!important;padding:0;text-transform:none}
body .kfu-footer .kfu-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
body .kfu-footer .kfu-links a,body .kfu-footer .kfu-unresolved{font-size:var(--kfu-link-size);font-weight:450;line-height:1.5;text-decoration:none!important;letter-spacing:0;color:var(--kfu-link)!important;border-bottom:1px solid transparent;overflow-wrap:anywhere}
body .kfu-footer .kfu-links a:hover,body .kfu-footer .kfu-links a:focus-visible{color:var(--kfu-heading)!important;border-bottom-color:var(--kfu-link)}
body .kfu-footer .kfu-unresolved{opacity:.67;cursor:default}
body .kfu-footer a:focus-visible{outline:3px solid #568a69;outline-offset:5px;border-radius:2px}
body .kfu-footer .kfu-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;align-items:center;margin-top:clamp(60px,5vw,110px);padding-top:24px;border-top:1px solid var(--kfu-line);font-size:clamp(13px,.9vw,var(--kfu-body-size));color:var(--kfu-muted)!important;line-height:1.6}
body .kfu-footer .kfu-bottom .kfu-origin{text-align:center;letter-spacing:.07em}
body .kfu-footer .kfu-bottom>a{justify-self:end;text-align:right;white-space:nowrap;color:var(--kfu-heading)!important;text-decoration:none!important;font-weight:790}
body .kfu-footer .kfu-bottom>a:hover{text-decoration:underline!important;text-underline-offset:4px}
@media(max-width:800px){
 body .kfu-footer .kfu-container{padding:62px clamp(24px,6vw,52px) 26px}
 body .kfu-footer .kfu-main{grid-template-columns:1fr 1fr;column-gap:30px;row-gap:46px}
 body .kfu-footer .kfu-identity{grid-column:1/-1}
 body .kfu-footer .kfu-heading{margin-bottom:19px!important}
 body .kfu-footer .kfu-bottom{grid-template-columns:1fr auto;row-gap:10px;margin-top:57px}
 body .kfu-footer .kfu-origin{grid-column:1/-1;grid-row:2;text-align:left!important}
}
@media(max-width:410px){
 body .kfu-footer .kfu-main{column-gap:22px}
 body .kfu-footer .kfu-wordmark{font-size:clamp(34px,12vw,var(--kfu-brand-size))}
 body .kfu-footer .kfu-heading{font-size:15px;letter-spacing:.07em}
 body .kfu-footer .kfu-bottom{font-size:13px}
 body .kfu-footer .kfu-links{gap:14px}
}
/* Legacy footers only: isolated and targeted to avoid hiding post/article content. */
body.kfu-hide-legacy .kfbd-site-footer,
body.kfu-hide-legacy .kfl-app > .kfl-footer,
body.kfu-hide-legacy .kfm-studio-app > .footer,
body.kfu-hide-legacy .kfm-studio-app footer.footer,
body.kfu-hide-legacy .wp-site-blocks > footer.wp-block-template-part,
body.kfu-hide-legacy .wp-site-blocks > .wp-block-template-part:has(footer),
body.kfu-hide-legacy footer#colophon,
body.kfu-hide-legacy footer#site-footer,
body.kfu-hide-legacy footer.site-footer{display:none!important}

body .kfu-footer .kfu-logo-image{display:block;width:auto;height:auto;max-width:min(100%,440px);max-height:88px;object-fit:contain;object-position:left center}
