/* =====================================================================
   ONE ARCH｜グローバルナビ共通（TOP画面デザインオンリー3 と同一）
   各ページの </head> 直前で読み込み、ページ内の個別指定を上書きする
   ===================================================================== */
.site-header {
  position: fixed !important; top: 0; left: 0; right: 0;
  padding: 18px 32px 18px 28px !important;
  display: grid !important; grid-template-columns: auto 1fr auto auto !important; align-items: center !important; gap: 24px !important;
  z-index: 200;
  color: #0A0A0A;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-bottom: none !important;
  min-height: 0 !important; height: auto !important;
}
.site-header .header-brand { font-family: "Jost","Futura PT",sans-serif !important; font-weight: 500 !important; font-size: clamp(24px,2.9vw,46px) !important; letter-spacing: .3em !important; word-spacing: -0.28em !important; color: #0A0A0A; white-space: nowrap; line-height: 1.85 !important; margin: 0 !important; }
.site-header .header-brand a { color: #0A0A0A; }
/* ONE ARCH ＋ HOUSE / BASE / RENEW / OFFICE：サブ表記は小さく、ONE ARCHに寄せる */
.site-header .header-brand .bc-sep { margin: 0 .12em 0 -.1em !important; font-size: max(.5em, 10px) !important; font-weight: 300 !important; letter-spacing: 0 !important; color: #666666; vertical-align: .18em; }
.site-header .header-brand .bc-sub { font-size: max(.45em, 10px) !important; letter-spacing: .2em !important; vertical-align: .22em; }
.site-header .nav { justify-self: end; display: flex !important; align-items: center; gap: 2px !important; margin: 0 !important; }
.site-header .nav-item { position: relative; display: flex; align-items: center; }
.site-header .nav-item > a {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 18px !important; font-weight: 600 !important; letter-spacing: 0.04em !important;
  padding: 14px 22px !important; white-space: nowrap;
  color: #0A0A0A !important; line-height: 1.85 !important;
  transition: opacity 0.18s ease;
}
.site-header .nav-item > a:hover { opacity: 0.65; }
.site-header .nav-item + .nav-item > a::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 1px; height: 16px; background: currentColor; opacity: 0.4; display: block;
}
.site-header .nav-dropdown {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 190px; background: #FFFFFF;
  box-shadow: 0 14px 34px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.05);
  padding: 12px 0; display: flex; flex-direction: column;
  opacity: 0; visibility: hidden;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 250;
}
.site-header .nav-item:hover .nav-dropdown,
.site-header .nav-item:focus-within .nav-dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.site-header .nav-dropdown::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.site-header .nav-dropdown a {
  display: block; padding: 10px 24px !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 15px !important; font-weight: 500 !important; color: #111 !important;
  letter-spacing: 0.04em !important; white-space: nowrap;
}
.site-header .nav-dropdown a::before { display: none !important; }
.site-header .nav-dropdown a:hover { background: #F6F6F4; color: #6B6B6B !important; opacity: 1; }
.site-header .header-lang { font-family: "Archivo", sans-serif !important; font-size: 14px !important; letter-spacing: 0.08em !important; color: #0A0A0A; opacity: 0.7; }
.site-header .header-meta { display: flex; align-items: center; gap: 14px; }
.site-header .header-meta .sns { display: inline-flex; color: #0A0A0A; }
.site-header .header-meta svg { width: 17px; height: 17px; display: block; }
@media (max-width:1180px){ .site-header .nav-item > a { padding: 12px 12px !important; font-size: 16px !important; } .site-header .header-brand { font-size: clamp(20px,2.4vw,32px) !important; letter-spacing: .22em !important; } }
@media (max-width:1050px){ .site-header { gap: 10px !important; padding: 16px 16px !important; } .site-header .nav-item > a { padding: 10px 6px !important; font-size: 13px !important; } .site-header .header-lang { display: none; } .site-header .header-brand { font-size: 14px !important; letter-spacing: .16em !important; } }
