@charset "UTF-8";

/* Match the fixed header on company/#member without importing legacy page CSS. */
:root{--fuji-header-height:90px;--fuji-header-navy:#1a357f;--fuji-header-font:"Syncopate","游ゴシック体",YuGothic,"Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif}
html{scroll-padding-top:calc(var(--fuji-header-height) + 16px)}
.fuji-main,body.fuji-menu-open .fuji-main{padding-top:var(--fuji-header-height)}
.fuji-header{position:fixed;inset:0 0 auto;z-index:60;height:var(--fuji-header-height);padding:0 0 0 55px;border:0;background:rgba(255,255,255,.8);color:#222;font-family:"游ゴシック体",YuGothic,"Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:500;line-height:1.75;letter-spacing:1.6px;-webkit-font-smoothing:antialiased}
.fuji-header-logo{width:233px;max-width:none}
.fuji-header-actions{height:100%;gap:0}
.fuji-header-phone{position:relative;padding:0 25px;text-align:center;text-shadow:1px 1px 0 rgba(255,255,255,.25),-1px -1px 0 rgba(255,255,255,.25)}
.fuji-header-phone>a{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--fuji-header-navy);font-family:var(--fuji-header-font);font-size:18px;font-weight:500;line-height:1;white-space:nowrap}
.fuji-header-phone .fuji-icon{width:18px;height:18px;margin:0}
.fuji-header-phone p{padding-left:24px;font-size:12px;line-height:1.75;letter-spacing:1.4px}
.fuji-header-phone::after,.fuji-header-contact::after{position:absolute;top:50%;right:0;width:1px;height:50px;content:"";background:var(--fuji-header-navy);transform:translateY(-50%)}
.fuji-header-contact{position:relative;display:flex;align-items:center;gap:5px;padding:8px 25px;border:0;color:var(--fuji-header-navy)!important;font-family:var(--fuji-header-font);font-size:12px;font-weight:500;line-height:1.75;letter-spacing:1.6px}
.fuji-header-contact .fuji-icon{width:14.4px;height:14.4px;color:var(--fuji-header-navy)}
.fuji-menu-toggle{position:relative;display:block;flex:none;width:85px;height:85px;margin:0;padding:0;color:var(--fuji-header-navy)!important}
.fuji-menu-toggle::before{position:absolute;top:calc(50% - 1px);left:50%;width:55px;height:55px;content:"";border-radius:50%;background:rgba(26,53,127,0);transform:translate(-50%,-50%) scale(.6);transition:background .3s,transform .3s}
.fuji-menu-toggle span{position:absolute;left:50%;display:block;width:30px;height:3%;margin:0;background:currentColor;transform:translateX(-50%);transition:transform .2s,top .2s,opacity .2s}
.fuji-menu-toggle span:nth-child(1){top:calc(50% - 14px)}
.fuji-menu-toggle span:nth-child(2){top:calc(50% - 2px)}
.fuji-menu-toggle span:nth-child(3){top:calc(50% + 10px)}
.fuji-menu-toggle[aria-expanded=true] span:nth-child(1){top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.fuji-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.fuji-menu-toggle[aria-expanded=true] span:nth-child(3){top:50%;transform:translate(-50%,-50%) rotate(-45deg)}
body.fuji-menu-open .fuji-header{background:transparent;pointer-events:none}
body.fuji-menu-open .fuji-header-logo,body.fuji-menu-open .fuji-header-phone,body.fuji-menu-open .fuji-header-contact{visibility:hidden}
body.fuji-menu-open .fuji-menu-toggle{color:#fff!important;pointer-events:auto}
.fuji-navigation{inset:0;z-index:55;overflow:hidden;padding:0;background:rgba(34,34,34,.5)}
.fuji-navigation-inner{width:100%;max-width:435px;height:100%;margin:0 0 0 auto;padding:90px 20px 40px;overflow:auto;overscroll-behavior:contain;background:var(--fuji-header-navy);color:#fff}
.fuji-navigation .fuji-eyebrow{color:#fff;font-size:14px}
.fuji-navigation ul{display:block;margin:12px 0 30px}
.fuji-navigation li a{gap:16px;padding:15px 0;border-color:rgba(255,255,255,.2);color:#fff;font-size:15px;line-height:1.6}
.fuji-navigation li a span{font-size:13px;text-align:right}
.fuji-navigation .fuji-button{width:100%;border-color:rgba(255,255,255,.65);background:transparent}
.fuji-navigation .fuji-button:hover{background:rgba(255,255,255,.12)}

/* Header and main visual together occupy the opening viewport. */
.fuji-home-page .fuji-hero{height:calc(100vh - var(--fuji-header-height));height:calc(100svh - var(--fuji-header-height));min-height:0;max-height:none}

@media(min-width:1025px){.fuji-menu-toggle:hover::before{background:rgba(26,53,127,.1);transform:translate(-50%,-50%) scale(1)}}
@media(max-width:1024px){
  .fuji-header{padding:0 8px 0 16px}
  .fuji-header-logo{width:170px}
  .fuji-header-phone{display:block;padding:0 21px}
  .fuji-header-phone>a{gap:0}
  .fuji-header-phone .fuji-icon{width:26px;height:26px}
  .fuji-header-phone-number,.fuji-header-phone p,.fuji-header-phone::after,.fuji-header-contact{display:none}
  .fuji-menu-toggle::before{width:50px;height:50px}
  .fuji-menu-toggle span{height:2px}
}
@media(max-width:767px){
  :root{--fuji-header-height:60px}
  .fuji-header{background:#fff}
  .fuji-header-logo{width:160px;max-width:none}
  .fuji-menu-toggle{width:50px;height:50px;min-width:50px;min-height:50px;margin:0}
  .fuji-navigation-inner{max-width:none;padding:74px 24px 40px}
  .fuji-navigation ul{margin:12px 0 26px}
  .fuji-navigation li a{font-size:15px;padding:13px 0}
}
@media(max-height:599px) and (max-width:767px){
  .fuji-hero-copy{top:24px;font-size:clamp(18px,calc((100svh - var(--fuji-header-height) - 90px)/12),29px)}
  .fuji-hero-english{bottom:20px;font-size:clamp(36px,10svh,61px)}
}
