/* Isolate the shared header from each landing page's existing styles. */
.fs-header,.fs-header :where(a,small,button,nav,div,span,details,summary){all:revert;box-sizing:border-box}
.fs-header{display:block;position:sticky;top:0;z-index:100;width:100%;margin:0;padding:0;border:0;border-bottom:1px solid #DFE6EE;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;font-size:16px;line-height:1.5;letter-spacing:.01em;color:#142B40}
.fs-header *{font:inherit;color:inherit}
.fs-header .fs-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100% - 48px,1320px);min-height:72px;margin-inline:auto}
.fs-header a{text-decoration:none;white-space:nowrap}
.fs-header .fs-header__brand{display:inline-flex;align-items:center;flex-shrink:0;gap:16px;color:#1552D4;font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:24.8px;letter-spacing:-.04em;line-height:1.2}
.fs-header__brand small{padding-left:16px;border-left:1px solid #DFE6EE;color:#142B40;font-family:"Noto Sans JP",sans-serif;font-size:12.8px;font-weight:700;letter-spacing:0}
.fs-header .fs-header__nav{display:flex;align-items:center;flex-shrink:0;gap:2px;margin:0;padding:0}
.fs-header__nav a,.fs-header__services summary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;border-radius:6px;font-size:14.4px;font-weight:700}
.fs-header__nav a:hover,.fs-header__services summary:hover{color:#1552D4;background:#E7EFFD}
.fs-header .fs-header__services{position:relative;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.fs-header__services summary{gap:10px;list-style:none;white-space:nowrap;cursor:pointer}
.fs-header__services summary::-webkit-details-marker{display:none}
.fs-header .fs-header__services summary::after{all:revert;content:"";display:inline-block;position:static;flex:none;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.fs-header .fs-header__services[open] summary::after{transform:translateY(2px) rotate(225deg)}
.fs-header__service-links{position:absolute;top:calc(100% + 8px);left:0;display:flex;flex-direction:column;min-width:200px;padding:8px;border:1px solid #DFE6EE;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(20,43,64,.12)}
.fs-header__service-links a{justify-content:flex-start;padding:0 14px}
.fs-header__nav a[aria-current],.fs-header__services summary[aria-current]{color:#1552D4;background:#E7EFFD;box-shadow:inset 0 -2px #1552D4}
.fs-header__nav .fs-header__cta{gap:12px;margin-left:12px;padding:0 20px;background:#1552D4;color:#fff}
.fs-header__nav .fs-header__cta:hover{background:#1045B6;color:#fff}
.fs-header .fs-header__toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;margin:0;padding:0;border:1px solid #DFE6EE;border-radius:10px;background:#fff;color:#142B40;cursor:pointer}
.fs-header__toggle svg{display:block;width:22px;height:22px}
.fs-header :focus-visible{outline:3px solid #142B40;outline-offset:4px}
.fs-logo.fs-logo{color:#111;font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:24.8px;letter-spacing:-.04em;line-height:1.2;text-decoration:none;white-space:nowrap}
.fs-logo .fs-logo__wordmark{display:inline;margin:0;padding:0;border:0;color:#111;font:inherit;letter-spacing:inherit;white-space:nowrap}
.fs-logo .fs-logo__dot{display:inline;margin:0;padding:0;border:0;color:#1552D4;font:inherit;letter-spacing:inherit}
@media(max-width:1320px){.fs-header__brand small{display:none}}
@media(max-width:1100px){
  .fs-header .fs-header__inner{flex-wrap:wrap;gap:0}
  .fs-header .fs-header__brand{min-height:72px}
  .fs-header .fs-header__nav{flex-direction:column;align-items:stretch;width:100%;padding:12px 0 18px}
  .fs-header__nav a,.fs-header__services summary{justify-content:flex-start;min-height:48px;font-size:16px}
  .fs-header__services summary{display:flex;justify-content:space-between;width:100%}
  .fs-header__service-links{position:static;min-width:0;margin:4px 0 8px 10px;padding:0 0 0 12px;border:0;border-left:2px solid #B7CAED;border-radius:0;box-shadow:none}
  .fs-header__nav .fs-header__cta{justify-content:center;margin:8px 0 0}
  .fs-header--enhanced .fs-header__toggle{display:inline-flex}
  .fs-header--enhanced .fs-header__nav{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 24px 18px;border-bottom:1px solid #DFE6EE;background:#fff;box-shadow:0 20px 40px rgba(20,43,64,.12);max-height:calc(100dvh - 73px);overflow-y:auto}
  .fs-header--enhanced .fs-header__nav.is-open{display:flex}
}
@media print{.fs-header{display:none}}
