/* hero (grid overlay, no z-index hacks) */
.gm-hero-grid{display:grid;min-height:100svh;background:#000;}
.gm-hero-grid__video,.gm-hero-grid__overlay{grid-area:1/1;}
.gm-hero-grid__video{width:100%;height:100%;object-fit:cover;display:block;}
.gm-hero-grid__overlay{align-self:center;justify-self:center;display:grid;gap:16px;max-width:min(1100px,92vw);padding:clamp(24px,6vw,64px);color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.5);}
.gm-hero__title{font-size:clamp(28px,6vw,64px);line-height:1.1;font-weight:800;margin:24px 0 8px;}
.gm-hero__lead{font-size:clamp(14px,2.5vw,20px);opacity:.92;max-width:56ch;}
.gm-hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;}
.gm-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.6);font-weight:700;text-decoration:none;transition:transform .2s,opacity .2s,background .2s;}
.gm-btn--primary{background:#fff;color:#0b1020;border-color:#fff;}
.gm-btn--ghost{background:transparent;color:#fff;}
.gm-btn:hover{transform:translateY(-1px);opacity:.9;}
.site-main > *:not(.gm-hero-grid){padding-inline:clamp(16px,4vw,48px);box-sizing:border-box;}
.site-main > .wp-block-group:not(.alignfull):not(.alignwide),
.site-main > .wp-block-columns:not(.alignfull):not(.alignwide),
.site-main > .wp-block-cover:not(.alignfull):not(.alignwide),
.site-main > .wp-block-image:not(.alignfull):not(.alignwide){max-width:min(1100px,92vw);margin-inline:auto;}

/* VKモバイルメニューのボタンを強制表示＆最前面に */
#vk-mobile-nav-menu-btn{
  position: fixed;         /* 画面右下に固定 */
  right: 16px;
  bottom: 20px;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 100500 !important; /* ヒーロー動画より上 */
  pointer-events: auto;
}

/* モバイルメニュー本体も前面に（開いた時に動画に負けない） */
#vk-mobile-nav{
  z-index: 100600 !important;
}

/* もし“モバイルだけ表示”にしたい場合は、上の2つをこのメディアクエリで囲む */
@media (max-width: 992px){
  /* ここに #vk-mobile-nav-menu-btn と #vk-mobile-nav のルールを入れる */
}
