/* サイト共通のヘッダーメニュー（scripts/sync-site-nav.mjs が各ページに同じ HTML を入れる） */
.gnav{
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,0.96);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-bottom:1px solid #E6E2D8;
  font-family:inherit; line-height:1.5; letter-spacing:0.02em;
}
.gnav *{box-sizing:border-box;}
.gnav-inner{position:relative; max-width:1160px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; gap:16px; min-height:62px;}
.gnav-brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:#24413A; flex-shrink:0;}
.gnav-brand img{height:34px; width:auto; display:block;}
.gnav-brand b{display:block; font-size:16px; font-weight:800; line-height:1.2;}
.gnav-brand small{display:block; font-size:10.5px; font-weight:500; color:#5E6B66; line-height:1.4; white-space:nowrap;}
.gnav-menu{margin-left:auto; display:flex; align-items:center; gap:4px;}
.gnav-menu a{
  font-size:14px; font-weight:700; color:#4A5753; text-decoration:none; white-space:nowrap;
  padding:8px 12px; border-radius:999px; transition:background 0.2s, color 0.2s;
}
.gnav-menu a:hover{background:#EEF3E6; color:#2E7D32;}
.gnav-menu a[aria-current="page"]{color:#2E7D32; background:#EEF3E6;}
.gnav-menu a.gnav-cta{background:#2E7D32; color:#fff; margin-left:8px; padding:9px 18px;}
.gnav-menu a.gnav-cta:hover{background:#1B5E20; color:#fff;}
.gnav-toggle, .gnav-burger{display:none;}

@media (max-width: 960px){
  .gnav{background:#fff; -webkit-backdrop-filter:none; backdrop-filter:none;}
  .gnav-inner{min-height:58px; padding:8px 16px;}
  .gnav-brand small{display:none;}
  /* チェックボックスを三本線の上に重ねて、タップでもキーボードでも開閉できるようにする */
  .gnav-toggle{display:block; position:absolute; right:10px; top:50%; transform:translateY(-50%); width:44px; height:44px; margin:0; opacity:0; cursor:pointer; z-index:2;}
  .gnav-burger{display:flex; margin-left:auto; width:44px; height:44px; flex-direction:column; justify-content:center; align-items:center; gap:5px;}
  .gnav-burger span{display:block; width:22px; height:2px; background:#24413A; transition:transform 0.2s, opacity 0.2s;}
  .gnav-toggle:focus-visible + .gnav-inner .gnav-burger{outline:3px solid rgba(46,125,50,0.35); border-radius:10px;}
  .gnav-toggle:checked + .gnav-inner .gnav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .gnav-toggle:checked + .gnav-inner .gnav-burger span:nth-child(2){opacity:0;}
  .gnav-toggle:checked + .gnav-inner .gnav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .gnav-menu{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0; margin:0;
    background:#fff; border-bottom:1px solid #E6E2D8; box-shadow:0 12px 24px rgba(40,50,45,0.12);
    padding:8px 16px 18px; max-height:calc(100vh - 58px); overflow-y:auto;
  }
  .gnav-toggle:checked + .gnav-inner .gnav-menu{display:flex;}
  .gnav-menu a{font-size:16px; padding:14px 8px; border-radius:0; border-bottom:1px solid #F0EDE6;}
  .gnav-menu a[aria-current="page"]{background:transparent;}
  .gnav-menu a.gnav-cta{margin:14px 0 0; text-align:center; border-radius:999px; border-bottom:none; padding:12px;}
}
