/**
 * Lenis（なめらかスクロール）に必要な最小限の指定
 * ----------------------------------------------------------------------------
 * 会社サイト（style.css）と採用サイト（recruit/css/*.css）の両方で読み込む。
 * どちらにも同じものを書き足すと片方を直し忘れるため、1枚に分けている。
 *
 * クラスは Lenis が自分で <html> に付ける。
 *   .lenis           … Lenis が動いている
 *   .lenis-smooth    … なめらか送りが有効（マウスホイール）
 *   .lenis-scrolling … いま動いている最中
 *   .lenis-stopped   … lenis.stop() で止めている（メニューを開いたときなど）
 */

/* Lenis は <html> の高さを実測するので、height:100% を残さない。
   ★これが効くのは採用トップだけ（top.css に html{height:100%} がある）。
     2026-09-21 に Lenis あり／なしで実測して確かめたところ、
     <html> の箱の高さが 900 → 12643 に変わるだけで、
     ページ全体の高さ（scrollHeight）・行き止まり・header／main／footer／
     section の位置はどれも1pxも動かなかった。
     body の min-height:100% は効かなくなるが、body の地色（#fff）は
     html に背景が無いので画面全体へ広がる（CSSの背景の伝播）ため、
     短いページでも白が欠けることはない。 */
html.lenis,
html.lenis body { height: auto; }

/* ★公式CSSにある `.lenis.lenis-stopped{overflow:clip}` は入れていない。
     lenis.stop() を呼ぶのは、サイト側が既に overflow:hidden でページを
     固定している場面（body.nav-open／body.is-locked／html.is-booting）だけ
     なので要らない。しかも入れると、smooth-scroll.js が
     «縦のスクロールが止まっているか» を計算済みの値で見て開放を決めているため、
     自分が止めたことを «固定中» と読んで、開放できなくなる。 */

/* 中に自前のスクロール領域を持つもの（スマホのメニューなど）は、
   端まで来たときに背後のページへ送りを渡さない */
.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch] { overscroll-behavior: contain; }

/* ★公式CSSは `.lenis.lenis-smooth iframe{pointer-events:none}` で
     iframe をずっと «触れないもの» にしている。ホイールを iframe に
     飲ませないための指定だが、そのままだと当社サイトでは
     会社案内の地図（Googleマップ）が動かせず、CMのYouTubeプレーヤーも
     押せなくなる。そこで「動いている最中だけ」通すようにしている。 */
.lenis.lenis-scrolling iframe { pointer-events: none; }
