/* ===== OWLS 共通ヘッダー ===== */
:root{
  --header-bg:#004080;
  --header-text:#ffffff;
  --header-hover:rgba(255,255,255,.12);
}

#site-header{
  position:relative; z-index:1000;
  width:100%;
  background:var(--header-bg) !important;
  color:var(--header-text) !important;
  background-image:none !important; opacity:1 !important;
}
#site-header *{ box-sizing:border-box; }

#site-header .inner{
  max-width:1100px; margin:0 auto; padding:8px 16px;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}

#site-header .logo{ margin-right:auto; }
#site-header .logo a{ display:inline-block; }
#site-header .logo img{ display:block; height:40px; width:auto; }

#site-header .global-nav{ margin-left:auto; }
#site-header .global-nav .links{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:12px 20px; justify-content:center; align-items:center;
}
#site-header .global-nav .links li{ margin:0; padding:0; }

#site-header .global-nav .links a{
  display:block; text-decoration:none; text-align:center;
  color:var(--header-text);
  padding:12px 12px; min-height:44px; border-radius:10px;
  line-height:1.15;
  white-space:normal; word-break:keep-all;
  transition:background .15s ease, transform .06s ease;
}
#site-header .global-nav .links a:hover{
  background:var(--header-hover) !important;
}
#site-header .global-nav .links a:active{ transform:translateY(1px); }

#site-header .global-nav .links a .en{
  display:block; font-size:.85em; opacity:.85; line-height:1.1; margin-top:2px;
}
#site-header .global-nav .links a.is-active{
  outline:2px solid rgba(255,255,255,.35); outline-offset:2px; border-radius:12px;
}

/* モバイル：コンパクトに（画面を占領しない） */
@media (max-width:768px){
  #site-header .inner{ gap:10px; }
  #site-header .logo img{ height:34px; }
  #site-header .global-nav .links{ gap:8px 12px; }
  #site-header .global-nav .links a{
    padding:10px 12px; min-height:44px; font-size:16px; line-height:1.1;
  }
  #site-header .global-nav .links a .en{ font-size:11px; line-height:1; }
}

/* アクセシビリティ */
#site-header .global-nav .links a:focus-visible{
  outline:2px solid #fff; outline-offset:2px; border-radius:12px;
}
/* ===== Footer ===== */
#site-footer{
  background:#0b3a6a;   /* ヘッダー系の濃い青 */
  color:#cfe3ff;
}
#site-footer .inner{
  max-width:1100px; margin:0 auto;
  padding:20px 16px; text-align:center;
}
#site-footer a{ color:#cfe3ff; text-decoration:none; }
#site-footer small{ opacity:.9; }
/* === Header text unify (A基準) === */
:root{
  /* デスクトップ */
  --nav-ja-desktop: 16px;
  --nav-en-desktop: 12px;
  /* モバイル */
  --nav-ja-mobile: 16px;
  --nav-en-mobile: 11px;
  /* 余白・高さ */
  --nav-pad-y: 10px;
  --nav-pad-x: 12px;
  --nav-min-h: 44px; /* アクセシビリティ基準 */
}

/* 共通：余白/高さ/角丸を統一 */
#site-header .global-nav .links a{
  padding: var(--nav-pad-y) var(--nav-pad-x) !important;
  min-height: var(--nav-min-h) !important;
  border-radius: 10px !important;
  line-height: 1.05 !important;
}

/* ロゴ高さも統一 */
#site-header .logo img{ height: 38px !important; width:auto !important; }

/* デスクトップの文字サイズ */
@media (min-width: 769px){
  #site-header .global-nav .links a .ja{ font-size: var(--nav-ja-desktop) !important; }
  #site-header .global-nav .links a .en{ font-size: var(--nav-en-desktop) !important; opacity:.8; }
}

/* モバイルの文字サイズ */
@media (max-width: 768px){
  #site-header .global-nav .links{ gap: 10px 12px !important; flex-wrap: wrap !important; justify-content: center; }
  #site-header .global-nav .links a .ja{ font-size: var(--nav-ja-mobile) !important; }
  #site-header .global-nav .links a .en{ font-size: var(--nav-en-mobile) !important; opacity:.85; }
}

/* 万一の被り対策（旧テンプレやインラインを無効化） */
#site-header, #site-header *{ mix-blend-mode: normal !important; }

