/* ============================================================================
   header-behavior.css ＝ ヘッダー/ナビの「ふるまい」専用（機能）ファイル。
   ★デザイン（chrome-bar.php/css・各 nav-*.php/css）とは完全分離。functions.php で常時 enqueue。
   下記4つの挙動は互いに独立（それぞれ単一の発動条件で効く）。全て body/#global-nav のクラス、または
   header.php が刻印する data-* フックで発火するので、どのナビ（dd/mdd/新規追加）・どのデザインでも共通で効く。

   ★原則：ふるまいCSSが狙ってよいのは「構造ID(#global-nav 等)／中央で刻印する状態クラス(body.*)／data-* 専用フック」だけ。
     デザインクラス(.nav-logo 等)は狙わない（デザイン差し替え・新ナビ追加で壊れないため）。
   ============================================================================ */

/* ① 位置：チャコ有効時、ナビをチャコの下に流す（PC限定）。発動条件＝ body.has-chrome。
   これが無いと header-nav.css の #global-nav{position:fixed;top:0} が生き残ってチャコを覆う（dd/mdd で発生）。 */
@media only screen and (min-width:769px){
	.has-chrome #global-nav{position:static;top:auto;}
}

/* ② 追従：チャコ有効かつ追従トグルON時、ナビを上部に sticky で貼り付ける（PC限定）。発動条件＝ body.has-chrome.is-sticky-nav。
   OFF ならチャコと一緒に流れて消える（各ナビの追従トグルで制御）。 */
@media only screen and (min-width:769px){
	.has-chrome.is-sticky-nav #global-nav{position:sticky;top:0;}
}

/* ②' 追従OFF（チャコ無し）：header-nav.css の #global-nav{position:fixed} は「追従ON」既定。追従トグルOFFなら解除して
   ナビを流す（in-flow）＝チャコが無くても追従トグルOFFを効かせる（OFFなのに追従してしまう不具合の対策）。
   ・チャコ有り時の追従OFFは ① が static にするので対象外（:not(.has-chrome)）。
   ・追従ON（is-sticky-nav 有り）は header-nav.css の fixed（チャコ無し）／② の sticky（チャコ有り）が担当＝ここは触らない。 */
@media only screen and (min-width:769px){
	body:not(.has-chrome):not(.is-sticky-nav) #global-nav{position:static;top:auto;}
}

/* ③ 追従の親コンテキスト確保（clearfix）：発動条件＝なし（常時）。
   旧デザイン流用等で .sect-set の中身が全て float:left になると .sect-set→#page-wrapper が高さ0に潰れ、
   sticky の親が短すぎてスライダー下でナビが剥がれ消える。→ clearfix で全高に。overflow:hidden は sticky を壊すので不可。 */
.sect-set::after,#page-wrapper::after{content:"";display:block;clear:both;}

/* ④ single の .sect-set は BFC 化（flow-root）。発動条件＝single のみ（sect-set--flow）。2026-07-29
   理由：single は先頭に全幅ヘッダー(.lay-tit-page＝float:left;clear:both)を .sect-set 直下で描画する。
   すると .sect-set の margin-top:81px が body まで貫通（margin collapse）＋floatの影響で、ヘッダーが
   固定メニュー(81px)の下に約41px の白い隙間を空けて始まる（実測：header top=122／menu bottom=81）。
   .sect-set を flow-root にすると margin が内包され header top=81＝メニュー直下でフラットになる（実測確認）。
   ※overflow:hidden も直るが sticky を壊す（上記③）。flow-root は sticky を壊さず、front では全幅floatの幅0地雷も出ない（実測：幅維持）。 */
.sect-set--flow{display:flow-root;}

/* ④ ロゴ挙動（ナビ内ロゴ遅延＝追従時リビール）：発動条件＝ body.is-sticky-nav かつ body.is-nav-logo-reveal（両方）。PC限定。
   ＝「ナビ内ロゴ遅延」ON かつ「スクロール追従」ON の時だけ、ナビ内ロゴ(data-nav-logo)を普段 opacity:0 で隠し、
     ナビが上部に追従した後(.is-scrolled)だけ表示（＝チャコのロゴと入れ替わる／追従バーへの出現演出）。
   ★追従OFF（is-sticky-nav 無し）ならこのブロックは発火しない＝遅延ONでもロゴは素直に表示（追従しないのに隠れて出ないバグを防ぐ）。
   ★“出すか”は「ナビ内ロゴを表示」(is-pc-nav-logo)が担当。ここは“出し方（遅延）”だけ。チャコの有無は無関係。
   ※狙うのはデザインクラス .nav-logo ではなく header.php が必ず刻印する data-nav-logo フック。 .is-scrolled は footer.php JS(scrollTop>80)が付与。 */
@media only screen and (min-width:769px){
	.is-sticky-nav.is-nav-logo-reveal [data-nav-logo]{opacity:0;visibility:hidden;transition:opacity .3s ease;}
	.is-sticky-nav.is-nav-logo-reveal #global-nav.is-scrolled [data-nav-logo]{opacity:1;visibility:visible;}
}
