:root{ --menu-offset: 10px; }
/* === K2 Strong Override (white bars & Meiryo) === */
:root{ --k2-font: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Arial, sans-serif; }

/* Sitewide font */
html, body, button, input, select, textarea {
  font-family: var(--k2-font) !important;
}

/* Hamburger bars as pure white */
.k2-hamburger{ color:#fff !important; }
.k2-hamburger span{ background:#fff !important; }

/* Mobile panel text color white; keep links white */
@media (max-width: 980px){
  .site-header{ position:sticky; top:0; z-index:1300; }
  nav.gnav, header nav, .site-header nav{ color:#fff !important; }
  nav.gnav a, header nav a, .site-header nav a{ color:#fff !important; }
}


/* === patch6: strict smartphone-only breakpoint === */
/* Desktop default (>767px): hide hamburger, force nav to desktop layout */
.k2-hamburger{ display:none !important; }
@media (min-width: 981px){
  nav.gnav, header nav, .site-header nav{
    position:static !important; transform:none !important; opacity:1 !important;
    pointer-events:auto !important; padding:0 !important;
  }
  nav.gnav .menu, header nav .menu, .site-header nav .menu{
    display:flex !important; flex-direction:row !important; gap:20px !important;
  }
}

/* Smartphone (<=767px): show hamburger */
@media (max-width: 980px){
  .site-header{ position:sticky; top:0; z-index:1300; }
  .k2-hamburger{ display:inline-flex !important; }
}

/* === k2: force smartphone layout at <=980px === */
@media (max-width: 980px){
  .site-header{ position:sticky; top:0; z-index:1300; }
  .entry-content .wp-block-columns{ flex-wrap:wrap !important; }
  .entry-content .wp-block-column{ flex-basis:100% !important; width:100% !important; max-width:100% !important; }

  .row, .rows, .columns, .two-col, .two-column, .content-grid, .grid, .cards{
    display:flex !important; flex-direction:column !important; gap: var(--k2-gap, 16px) !important;
  }
  [class*="col-"], .column, .col, .left, .right, .sidebar, .main{
    width:100% !important; max-width:100% !important; float:none !important;
  }

  .post-list, .posts, .entries, .news-list, .activity-list{
    display:grid !important; grid-template-columns: 1fr !important; gap: var(--k2-gap, 16px) !important;
  }
}


/* patch12 zindex */
@media (max-width: 980px){
  .k2-hamburger{ position:absolute; right:12px; top:50%; transform:translateY(-50%); z-index: 3000; }
}

/* === patch14: center hamburger UNDER the logo at <=980px === */
@media (max-width: 980px){
  .site-header{ text-align:center !important; }
  .k2-hamburger{
    position: static !important;  /* cancel previous absolute-right */
    display: inline-flex !important;
    margin: 8px auto 0 !important; /* appear under logo, centered */
  }
}
