/* トップ・共同利用型・自治体の声・セミナー・ニュースで共用。 */
:root{--site-header-height:98px}
.menu-toggle{display:none}
.has-site-header .site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--bg);
  transition:background-color .3s ease,box-shadow .3s ease;
}
.has-site-header .site-header.is-scrolled{
  background:#fff;
  box-shadow:0 1px 0 #20282e12;
}
.has-site-header :is(#news,#about,#support,#plans,#plan-consultation,.plan-feature){
  scroll-margin-top:calc(var(--site-header-height) + 24px);
}
.has-site-header .site-header .site-nav{width:auto;flex-wrap:nowrap}
.site-header .site-nav{color:var(--ink);font-weight:600}
.site-header .site-nav>a.pill::before{display:none}
.site-header .site-nav{flex-shrink:0}
@media(min-width:1001px) and (max-width:1399px){
  .site-header{gap:20px}
  .site-header .brand{min-width:0;gap:12px}
  .site-header .brand img{width:135px;flex-shrink:0}
  .site-header .brand span{max-width:210px;font-size:12px;white-space:normal;line-height:1.5;text-wrap:balance}
  .site-header .site-nav{gap:16px;font-size:14px}
  .site-header .nav-cta{font-size:14px;padding:12px 18px}
}
.site-header .site-nav>a[aria-current="page"]::before{border-color:var(--ink);background:var(--ink)}
.site-header .site-nav>a::before,.site-header .site-nav>button:not(.pill)::before{
  transition:background-color .2s ease;
}
@media(hover:hover){
  .site-header .site-nav>a:hover::before,.site-header .site-nav>button:not(.pill):hover::before{background:var(--ink)}
}
@media(max-width:1000px){
  .has-site-header .site-header{min-height:76px;padding:14px 18px;gap:16px;flex-wrap:nowrap}
  .has-site-header .site-header .brand{min-width:0;gap:12px;max-width:calc(100% - 60px)}
  .has-site-header .site-header .brand img{width:114px;flex-shrink:0}
  .has-site-header .site-header .brand span{font-size:10px;line-height:1.5;white-space:normal;max-width:170px;text-wrap:balance}
  .has-site-header .menu-toggle{
    position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;
    margin-left:auto;padding:8px;border:0;background:transparent;color:var(--ink);
  }
  .menu-toggle-icon{position:relative;display:block;width:28px;height:22px}
  .menu-toggle-icon i{position:absolute;right:0;display:block;height:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease,width .25s ease}
  .menu-toggle-icon i:nth-child(1){top:2px;width:18px}
  .menu-toggle-icon i:nth-child(2){top:10px;width:23px}
  .menu-toggle-icon i:nth-child(3){top:18px;width:28px}
  .menu-toggle[aria-expanded="true"] i:nth-child(1){width:28px;transform:translateY(8px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] i:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .has-site-header .site-header .site-nav{
    position:fixed;inset:var(--site-header-height) 0 0;
    display:flex;flex-direction:column;justify-content:flex-start;align-items:center;
    width:100%;height:calc(100vh - var(--site-header-height));height:calc(100dvh - var(--site-header-height));
    gap:20px;padding:clamp(28px,7vh,64px) 24px 120px;
    overflow-y:auto;overscroll-behavior:contain;
    background:var(--bg);font-size:20px;
    opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;
    transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;
  }
  .has-site-header .site-nav>a,.has-site-header .site-nav>button:not(.pill){min-height:44px;display:flex;align-items:center;padding:8px 12px}
  .has-site-header .site-nav .nav-cta{margin:12px 0 0;min-height:52px;min-width:220px;font-size:18px;padding:12px 24px;flex-shrink:0}
  /* bodyをスクロールコンテナにするとstickyヘッダーが画面外へ戻るため、ルートだけをロック。 */
  .site-menu-open{overflow:hidden}
  .has-site-header.site-menu-open .site-header{background:var(--bg);box-shadow:none}
  .site-menu-open .site-header .site-nav{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
}
@media(prefers-reduced-motion:reduce){
  .has-site-header .site-header,.has-site-header .site-header .site-nav,.menu-toggle-icon i,
  .site-header .site-nav>a::before,.site-header .site-nav>button:not(.pill)::before{transition:none}
}
