/* Public navigation is owned here, independently of page-specific typography. */
:root{--fo-site-max-width:1240px;--fo-action-gradient:linear-gradient(100deg,#0097d3,#1b61d8);--fo-action-blue:#1b61d8}
.fo-header,.fo-header *,.fo-breadcrumbs,.fo-breadcrumbs *,.fo-skip{box-sizing:border-box}
.fo-header,.fo-breadcrumbs,.fo-skip{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;font-synthesis:none;text-rendering:optimizeLegibility;overflow-wrap:normal}
.fo-header{height:72px;position:sticky;top:0;z-index:60;margin:0;padding:0;background:#fff;color:#182b3b;border:0;border-bottom:1px solid #d7e2e9;font-size:16px;line-height:1.75}
.fo-header-inner,.fo-breadcrumbs-inner{width:min(var(--fo-site-max-width),calc(100% - 64px));margin-inline:auto}
.fo-header-inner{height:100%;display:flex;align-items:center;gap:24px;position:relative}
.fo-header a,.fo-breadcrumbs a{color:inherit;text-decoration:none;text-decoration-thickness:auto;text-underline-offset:auto;transition:none;touch-action:manipulation}
.fo-header a:hover,.fo-breadcrumbs a:hover{text-decoration:underline}
.fo-header .fo-brand{display:block;width:160px;height:46.5px;flex-shrink:0;overflow:hidden;position:relative;margin:0;padding:0;border:0}
.fo-header .fo-brand img{display:block;position:absolute;left:-13.56px;top:0;width:184px;max-width:none;height:46.5px;object-fit:contain;margin:0;padding:0;border:0}
.fo-header .fo-desktop-nav{display:flex;align-items:center;gap:24px;flex:1;height:100%;margin:0;padding:0;font-size:15px;font-weight:500;line-height:1.75}
.fo-header .fo-desktop-nav>a{color:#182b3b;height:100%;display:flex;align-items:center;white-space:nowrap;margin:0;padding:0;border:0}
.fo-header .fo-desktop-nav>a[aria-current]{border-bottom:2px solid #147b91}
.fo-header .fo-desktop-nav>a[href="/login"]{margin-left:auto}
.fo-header a.fo-play-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #147b91;border-radius:4px;background:#fff;color:#147b91;font-size:14px;font-weight:700;line-height:1.5;text-align:center;text-decoration:none}
.fo-header .fo-desktop-nav>a.fo-play-button{height:40px;min-height:40px;width:176px;padding:10px 16px;border:1px solid #147b91;color:#147b91}
.fo-header a.fo-play-button:hover{background:#f7fbfd;text-decoration:none}
.fo-header .fo-menu-toggle,.fo-header .fo-mobile-nav{display:none}
.fo-header [hidden]{display:none!important}
.fo-header :is(a,button):focus-visible,.fo-breadcrumbs a:focus-visible,.fo-skip:focus-visible{outline:3px solid #29baff;outline-offset:3px}
.fo-skip{position:fixed;z-index:200;top:8px;left:16px;padding:10px 16px;background:#fff;color:#182b3b;font-size:16px;line-height:1.75;text-decoration:none;transform:translateY(-150%)}
.fo-skip:focus{transform:none}
.fo-breadcrumbs{margin:0;padding:0;border:0;background:#f8fafc;color:#4d6270;font-size:12px;line-height:18px}
.fo-breadcrumbs-inner{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-block:8px;min-height:34px}
.fo-breadcrumbs a{color:#4d6270}
@media(max-width:1199px){.fo-header .fo-desktop-nav{gap:16px}.fo-header .fo-desktop-nav>a.fo-play-button{width:auto}}
@media(max-width:767px){
  .fo-header{height:56px}
  .fo-header-inner,.fo-breadcrumbs-inner{width:calc(100% - 32px)}
  .fo-header-inner{gap:16px}
  .fo-header .fo-brand{height:40px}
  .fo-header .fo-brand img{top:-3px}
  .fo-header .fo-desktop-nav{display:none}
  .fo-header .fo-menu-toggle{margin:0 0 0 auto;display:flex;align-items:center;justify-content:center;width:28px;height:44px;min-height:0;padding:0;border:0;border-radius:0;background:none;color:#4d6270;font:inherit;cursor:pointer;touch-action:manipulation}
  .fo-menu-icon{position:relative;display:inline-block;width:20px;height:16px;border-block:1.5px solid currentColor}
  .fo-menu-icon:after{content:"";position:absolute;left:0;right:0;top:6px;border-top:1.5px solid currentColor}
  .fo-header .fo-mobile-nav{position:absolute;top:56px;left:-16px;right:-16px;display:flex;flex-direction:column;gap:0;margin:0;padding:12px 16px 20px;background:#fff;box-shadow:0 12px 18px #0826381f;border-top:1px solid #d7e2e9;font-size:16px;font-weight:400;line-height:1.75}
  .fo-header .fo-mobile-nav>a{padding:12px;color:#182b3b}
  .fo-header .fo-mobile-nav>a.fo-play-button{margin-top:8px;color:#147b91}
  .fo-breadcrumbs{font-size:10px;line-height:16px}
  .fo-breadcrumbs-inner{min-height:30px;padding-block:7px}
}
@media print{.fo-header,.fo-breadcrumbs,.fo-skip{display:none!important}}
