/* フェーズ5: JS挙動をReactへ移植（ThemeBehaviors）。ここは移植の補助オーバーライド。 */

/* [task-335] 目次(lwptoc)の装飾は **テーマ本体 main.css の `.lwptoc …` 群が正**（全幅グレー箱・
   濃色太字リンク・トグル非表示など）。以前ここへ LuckyWP プラグインCSS(lwptoc-light 等)を移植したが、
   セレクタ特異度が高く後読みのため、テーマ本来の目次スタイルを打ち消して見た目が別物になっていた。
   → プラグインCSSの移植は撤去し、テーマの `.lwptoc` に委ねる（必要なマークアップは MediaToc.tsx が出す）。
   目次生成=lib/toc.ts、見出しアンカー(#lwptocN)=components/RichText.tsx。 */

/* mainFadeIn: ThemeBehaviors が js-layoutMain の is--hide を外して opacity 0→1 でフェードイン
   （.l-layout__main は main.css で transition:opacity .7s を持つ）。
   一般ユーティリティ .is--hide{display:none} が main に効いて消えるのを防ぎ、opacityベースに固定。 */
.l-layout__main.is--hide {
  display: block !important;
  opacity: 0;
  /* JS未発火/失敗時の保険: 2秒後に必ずフェード表示（JS成功時は先に is--hide が外れて通常フェード） */
  animation: kaaanMainReveal 0.7s ease 2s forwards;
}
@keyframes kaaanMainReveal { to { opacity: 1; } }

/* 未移植のスクロール出現系クラスが残っていても隠れないように可視化（保険） */
.js-fadeIn, .js-reveal, [data-inview] { opacity: 1 !important; transform: none !important; }

/* task-197: トップ(/)＝実績ページを直接開いた際、ヘッダー現在地の上辺4px黒バーが
   出ないという指摘。真因の大半は .next キャッシュ/古い dev サーバーによる旧コード配信で、
   現行コード(SiteHeader.tsx は is-current を正しく付与／main.css の .is-current span::before も
   一致)ではクリーンビルドで正しく表示される。
   ただし初期(非fixed)状態のトップでは header 背景が透明・バーが y=0(画面最上端)に来るため、
   トランジション/ハイドレーション途中に一瞬消えて見えうる。ここでは既存ルールと同値
   (translateY(0)=表示) を高specificityかつ !important で再宣言し、
   「現在地の項目には必ず上辺4px黒バーが出る」ことを状態非依存で保証する（他ページの挙動は不変）。 */
.l-header .l-header__navItem.is-current span::before {
  transform: translateY(0) !important;
}

/* 確認シートNo.4: TOP実績カードの担当者名リンク(/member/...)が、カード全面を覆う
   .p-topProjects__overlayLink(z-index:3)にクリックを奪われ、事例ページへ遷移してしまう。
   氏名リンクは既に position:relative なので z-index を上げて前面化し、クリックを取り戻す。 */
.p-topProjects__author span a { z-index: 4; }

/* 確認シートNo.1: TOP FVの大きな数字（累計支援企業数800社以上 / 累計プロジェクト数1,000以上 /
   累計売上貢献額4,200億以上 等）。旧テーマでは .p-topHero__achievementItemNumber に font-family の
   明示が無く body(Noto Sans JP)を継承していたため、他ページの実績数字（.p-nice__featureNumber,
   .p-memberHistory__year, .p-career__giveItemNumber など＝すべて "Public Sans"）と欧文フォントが
   食い違い、旧サイトと見た目が異なっていた。FV数字も欧文/数字の共通フォント "Public Sans" に統一する。
   （"Public Sans"/"Noto Sans JP" のWebフォント自体は layout.tsx の <head> で Google Fonts 読み込み） */
.p-topHero__achievementItemNumber {
  font-family: "Public Sans", sans-serif;
}

/* 確認シートNo.23/No.44: 採用情報(/career) メンバー詳細の本文（.p-career__memberDescription）。
   旧テーマは `.p-career__memberDescription p{line-height:2;text-align:justify}` と
   `.p-career__memberDescription p+p{margin-top:16px}` で「行間2・両端揃え・段落間16px」を意図していた。
   だが現行のReact移植では本文を <p> でなく <div class="p-career__memberDescription"> 直下の
   テキスト（<br>区切り）として描画しているため、子 p を対象にした旧ルールがどれも一致せず、
   本文が body 既定(line-height:1.8) かつ text-align 未指定(左寄せ)になっていた。
   → No.44(行間が旧サイトと違う)= line-height 1.8→2、No.23(右端の改行ラインが揃わない)= 両端揃え無し が原因。
   div 自身へ旧 p ルールと同値(line-height:2 / text-align:justify)を当てて旧サイトに一致させる。
   セレクタは .p-career__memberDescription 単体で main.css の p 子セレクタと同 specificity のため
   後勝ち（override は後読み込み）で反映される。 */
.p-career__memberDescription {
  line-height: 2;
  text-align: justify;
}

/* 確認シートNo.50: NOTE詳細(/media/[slug]) 記事本文。旧テーマは本文段落に
   `.l-mediaContent>p{margin:24px 0;text-align:justify}`（段落間24px・両端揃え）を意図していた。
   だが Payload Lexical の <RichText> は本文全体を <div class="payload-richtext"> でラップして出力するため、
   直接子セレクタ `.l-mediaContent>p` / `>ul` / `>ol` / `>*:first-child` / `>*:last-child` が
   すべて一致しなくなり、段落が destyle 既定の margin:0（＝上下余白なし）＋左寄せになっていた。
   （font-size:16px / line-height:2 は子孫セレクタ `.l-mediaContent p` なので一致し効いている）
   → No.50(文字サイズ・行間が旧サイトと違う)の実体は「段落間の余白が潰れて詰まって見える＋右端がラギング」。
   ラッパ .payload-richtext を挟んだ形へ旧 直接子ルールを再適用して旧サイトの版面に戻す。 */
.l-mediaContent .payload-richtext > p {
  margin: 24px 0;
  text-align: justify;
}
.l-mediaContent .payload-richtext > ul,
.l-mediaContent .payload-richtext > ol {
  margin: 24px 0;
}
.l-mediaContent .payload-richtext > *:first-child {
  margin-top: 0;
}
.l-mediaContent .payload-richtext > *:last-child {
  margin-bottom: 0;
}

/* 確認シートNo.49: NOTE詳細(/media/[slug]) の「記事をシェア」ブロック。
   旧テーマ main.css には .p-mediaShare__title / __buttons / __button の各ルールはあるが、
   ラッパ .p-mediaShare 自体・アイコン画像(.p-mediaShare__button img)・コピー完了トースト
   (.p-mediaShare__copied) のルールが無い。React移植でこれらを追加描画したため、
   セクションが本文へ密着し、アイコンが 32px 指定のみで余白/中央寄せが不安定だった。
   旧サイトの見た目（本文と関連記事の間に独立ブロックとして表示）に整える。 */
.p-mediaShare {
  margin-top: 48px;
}
.p-mediaShare__button img {
  width: 32px;
  height: 32px;
  display: block;
}
.p-mediaShare__copied {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  font-size: 13px;
  line-height: 1;
  color: #7a7574;
}

/* 確認シートNo.6: 旧TOP最下部の2CTAボタン(.p-bottomCta)。旧テーマ main.css に .p-bottomCta の
   定義が無い(未コンパイル)ため、ヒーローの .p-topHero__cta 相当のレイアウトを補う。
   ヒーロー: .p-topHero__cta{display:flex;gap:8px} / .p-topHero__ctaButton{width:252px;max-width:100%} に倣う。 */
.p-bottomCta {
  margin-top: 80px;
}
.p-bottomCta .l-container {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}
.p-bottomCta__button {
  width: 252px;
  max-width: 100%;
}

/* [task-343] 実績・メディア本文の画像が「めちゃめちゃ縦長」に伸びる不具合の修正。
   原因: main.css の `.l-mediaContent img{width:100%}` は横幅だけ100%にし height:auto が無い。
   RichText(RichText.tsx)は Media の width/height を <img> の width/height 属性として付与するため、
   コンテナ幅に合わせて横が縮んでも height 属性の固定pxが残り、縦横比が壊れて縦に伸びていた
   （特に元が縦長/幅狭の画像で顕著）。
   対処: width を固定せず(width:auto)・コンテナ幅を上限(max-width:100%)・高さは比率追従(height:auto)にする。
   → 横長スクショ等はこれまで通りほぼ全幅、縦長画像は正しい縦横比の実寸（コンテナ幅上限）で表示される。 */
.l-mediaContent img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/* [task-237] 追従CTA（お問い合わせ・ご相談 / 会社案内ダウンロード）の表示レンジを
   「PC と スマホのみ」に限定する。

   旧テーマ main.css の設計:
     ～879px          … 画面下部の固定バー（SP）
     880px～1023px    … 同じ下部バーのまま（padding だけ変わる）  ← ここが不要
     1024px～         … 画面右の縦向きパネル（PC）
   is--spOnly クラスを付けると 880px 以上で消えるが、それだと PC でも消えてしまうため
   task-032 で外した経緯がある（SiteFooterArea.tsx のコメント参照）。
   結果として中間のタブレット幅だけ「下部バーが出たまま」になっていた。

   ここでは 880〜1023px の帯だけを非表示にする。SP(～879px)と PC(1024px～)は従来どおり。
   ブレークポイントは端末の物理幅という技術的定数で、運用者が調整する値ではないため CSS に置く。 */
@media (min-width: 880px) and (max-width: 1023.98px) {
  .p-fixCta {
    display: none;
  }
}
