@charset "utf-8";
/*
 * ======================================
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * ======================================
 *
 * ▼ ヘッダー
 * .higa-header                 - sticky白ヘッダー（高さ92px・下1pxボーダー）
 * .higa-header__inner          - inner幅1280px・高さ92px
 * .higa-header__logo           - 横長ロゴ画像（幅290px指定）
 * .higa-header__nav            - ナビ gap26px・EN15px+JA11px
 * .higa-header-tel(__label/__num) - ラベル付き2段の電話番号（オレンジ数字）
 *
 * ▼ ボタン
 * .higa-btn                    - 角丸なし・幅可変の矩形ボタン（1px枠線）
 * .higa-btn--white/--accent/--line/--sm/--block - 色・サイズバリエーション
 *
 * ▼ 見出し
 * .higa-shead(--sm/--dark)     - 英字大＋日本語小をベースライン横並びにする見出し
 * .higa-shead-row              - 見出しと補足テキストを両端揃えにする行
 * .higa-label                  - 英字ラベル（01 ROUGH TERRAIN CRANE 等）
 * .higa-h2 / .higa-h3(__num)   - 下層ページの大見出し・ステップ見出し
 * .higa-topline(--sub)         - 上罫線付きカード見出しブロック
 *
 * ▼ テキスト
 * .higa-lead(--1line) / .higa-txt / .higa-note / .higa-intro - 段落テキストの各サイズ
 *
 * ▼ レイアウト（px固定の2カラムグリッド）
 * .higa-cols-a/-b/-b-rev/-c/-d/-e - 各ページの2カラム比率
 * .higa-photo-stack            - ご挨拶セクションの写真3枚組
 *
 * ▼ メインビュー
 * .higa-mv / #slideshow / .higa-mv__overlay/__content/__logo/__copy/__sub
 * .higa-mv__scroll(-label/-bar/-dot) - スクロールインジケーター
 *
 * ▼ ページヒーロー
 * .higa-hero(--tall) / __overlay / __content / __en / __ja / __lead / __crumb
 *
 * ▼ セクション部品
 * .higa-marquee(__item/__meta/__t/__n) - 保有車両の自動横スクロール帯
 * .higa-recruit-band(__body)   - TOP採用情報の左写真＋右パネル
 * .higa-card(__body/__en/__ja/__desc) - TOP下部のページリンクカード
 * .higa-vcard(__meta/__t/__n)  - 保有車両一覧カード
 * .higa-works-item / .higa-works-cat - 工事実績カード
 * .higa-entry(__body/__side/__label/__title/__text/__tel-num/__tel-sfx) - 応募CTA
 * .higa-box(__title)           - 薄グレーの補足ボックス
 * .higa-table                  - 会社概要・募集要項テーブルの余白調整
 * .higa-access-panel(__en/__addr/__row/__num/__fax) - アクセス右パネル
 *
 * ▼ その他
 * .higa-card-grid              - grid-4 の gap を 24px にする（utility に24px刻みが無い）
 * .aspect-3-4                  - 縦長3:4（共通utilityに縦長比率が無いため追加）
 * .container（上書き）          - レスポンシブ非対応のため常時1200px固定
 *
 * ▼ フッター
 * .higa-footer-body(__inner) / .higa-footer-map / .higa-footer-logo
 * .higa-footer-info / .higa-footer-contact / .higa-footer-num(__label/__value)
 * .higa-footer-bottom(__inner) / .higa-footer-nav / .higa-footer-copy
 *
 * ======================================
 * 共通SCSSに不足していたもの（5分類）
 * ======================================
 *
 * ・値の粒度不足：
 *   fz は 15/17/19/26/27/30/34/44/46/62px、pt/pb は 88/96/110px が無く、
 *   デザインの実測値に合わせるため site.css 側で直接指定した。
 *   line-height も 1.85 / 1.95 / 2.1 / 2.15 が utility に無い。
 * ・構造不足：
 *   (1) 英字大＋日本語小を「ベースライン横並び」にする見出し（.higa-shead）が無い
 *       （heading は縦2段、heading-number は番号＋線構成のため代用不可）
 *   (2) 2カラムが column2 の % 指定のみで、480px/520px 等の px 固定カラムが組めない
 *       （.higa-cols-* で対応）
 *   (3) ヘッダー右の「ラベル＋電話番号2段」構造が header__tel（1行）で組めない
 * ・装飾パターン不足：
 *   (1) スクロールインジケーター（縦線を光が流れる）が無い
 *   (2) gallery-scroll はimg直下前提で、カード（画像＋ラベル）を流す構造に非対応
 * ・指定方向不足：
 *   ai-baseline（align-items:baseline）utility が無い
 * ・状態不足：
 *   hover でボタンの塗りと文字色を同時に反転する組み合わせが utility に無く、
 *   .higa-btn 側の :hover で定義した
 *
 */

/* ==========================================================================
   配色ルール（メイン／サブの使用割合を反転）
   --------------------------------------------------------------------------
   #009B9F  メイン：ターコイズ。面・罫線・ボタン・装飾の主役。
            MV・ヒーロー・フッター・保有車両帯・採用CTA の大面もこの色を
            そのまま使う（暗く沈ませないため暗版は作らない）。
            白文字は太字＋不透明度を上げて視認性を確保する
   #00053A  サブ：ネイビー（ロゴ色）。見出し・本文などの文字と、
            ティール面上で効かせる締めのアクセント（公式LINEボタン等）
            ※ ティール面上のラベル・小見出しはネイビー（#00053A）または白。
              薄ターコイズ（#8FE3E5）は明るい面に載せると読めないため使わない
   #F08300  アクセント：オレンジ（電話番号・採用CTA）
   ========================================================================== */
a:hover { color: #009B9F; opacity: 1; }

/* 支給ロゴ（ネイビー／ブラック版）を暗背景で白抜き表示する。
   元の色で出したい場合はHTML側の higa-logo-white クラスを外す。 */
.higa-logo-white { filter: brightness(0) invert(1); }

/* レスポンシブ非対応（PC固定幅）のため、container は常に1200px固定にする。
   共通CSSの wide(1320px以下)フォールバック（95%幅＋左右10px padding）を無効化。 */
.container { max-width: 1200px; padding-left: 0; padding-right: 0; }
/* 1200px 未満では内容が画面端に張り付くため、左右に最小限の余白を確保する */
@media (max-width: 1240px) {
  .container { padding-left: 20px; padding-right: 20px; }
  .higa-footer-body__inner { padding-left: 20px; padding-right: 20px; }
}

/* ==========================================================================
   header
   ========================================================================== */
.higa-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #E4E7F0;
}
.higa-header__inner {
  max-width: 1500px;   /* ナビ6項目＋TEL＋LINEボタンを1行に収めるため共通CSSの1500pxを踏襲 */
  height: 92px;
  padding: 0 24px;
  gap: 20px;
  flex-wrap: nowrap;
}
.higa-header__logo img {
  width: 290px;   /* logo.png 800×200（4:1）→ 高さ72.5px（ヘッダー92px内に収まる） */
  height: auto;
}
.higa-header__nav { gap: 20px; margin-right: 0; flex-wrap: nowrap; }
.higa-header__nav .header__nav-item { flex-shrink: 0; }
.higa-header__nav .header__nav-item a {
  display: grid;
  gap: 5px;
  justify-items: center;
  padding: 6px 2px;
  white-space: nowrap;
}
.higa-header__nav .header__nav-en {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #00053A;
}
.higa-header__nav .header__nav-ja {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #5A6180;
  margin-top: 0;
}
/* ナビ下線：ホバー時・現在ページ時ともに中央から左右対称に伸びる。
   共通CSSは left:50%→10% の横移動で伸ばすため、transform で中央固定に上書きする。 */
.higa-header__nav .header__nav-item a::after {
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #009B9F;
  transition: width 0.3s ease;
}
.higa-header__nav .header__nav-item a:hover::after,
.higa-header__nav .header__nav-item--current a::after {
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
}
.higa-header__nav .header__nav-item a:hover .header__nav-en,
.higa-header__nav .header__nav-item a:hover .header__nav-ja { color: #009B9F; }

.higa-header__right { gap: 14px; margin-left: 26px; }
.higa-header-tel {
  display: grid;
  gap: 1px;
  line-height: 1;
}
.higa-header-tel__label {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #5A6180;
}
.higa-header-tel__num {
  font-size: 2.7rem;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.02em;
  color: #F08300;
}
.higa-header-tel__icon {
  font-size: 0.62em;      /* 電話番号(27px)に対して約17px */
  margin-right: 7px;
  vertical-align: 0.1em;
}
.higa-header-tel:hover .higa-header-tel__num { color: #00053A; }
.higa-header__right .higa-btn--line { white-space: nowrap; }

/* --------------------------------------------------------------------------
   ヘッダー：画面幅を縮めたときの縮小調整（レスポンシブ非対応サイトのはみ出し対策）
   1100〜1420px の“中間幅”でロゴ・ナビ・電話番号・LINEボタンを段階的に縮小し、
   公式LINEボタンが画面外へはみ出して横スクロールが出るのを防ぐ。
   1100px 以下は共通CSSがナビと .header__right を隠してハンバーガーに切り替わる。
   -------------------------------------------------------------------------- */
@media (max-width: 1420px) {
  .higa-header__inner { padding: 0 16px; gap: 14px; }
  .higa-header__logo img { width: 240px; }
  .higa-header__nav { gap: 14px; }
  .higa-header__nav .header__nav-en,
  .higa-header__nav .header__nav-ja { font-size: 1.35rem; }
  .higa-header__right { gap: 10px; margin-left: 14px; }
  .higa-header-tel__num { font-size: 2.2rem; }
  .higa-header__right .higa-btn--sm { padding: 11px 14px; font-size: 1.2rem; }
}

@media (max-width: 1260px) {
  .higa-header__logo img { width: 200px; }
  .higa-header__nav { gap: 10px; }
  .higa-header__nav .header__nav-item a { padding: 6px 0; }
  .higa-header__nav .header__nav-en { font-size: 1.2rem; }
  .higa-header__nav .header__nav-ja { font-size: 1.25rem; }
  .higa-header-tel__label { font-size: 0.9rem; letter-spacing: 0.04em; }
  .higa-header-tel__num { font-size: 1.9rem; }
  .higa-header__right .higa-btn--sm { padding: 10px 12px; font-size: 1.1rem; letter-spacing: 0.02em; }
  .higa-header__right .higa-btn .btn__icon { font-size: 1.2em; }
}

/* ==========================================================================
   button
   ========================================================================== */
.higa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: auto;
  max-width: none;
  padding: 17px 34px;
  border: 1px solid #009B9F;
  border-radius: 0;
  background: transparent;
  color: #009B9F;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}
.higa-btn .btn__icon { margin-right: 0; font-size: 1.4em; }
.higa-btn:hover {
  background: #009B9F;
  border-color: #009B9F;
  color: #fff;
  opacity: 1;
}
.higa-btn--white {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
  padding: 17px 40px;
}
.higa-btn--white:hover { background: #00053A; border-color: #00053A; color: #fff; }
.higa-btn--accent {
  background: #F08300;
  border-color: #F08300;
  color: #fff;
  padding: 20px 40px;
  font-size: 1.5rem;
}
/* ホバー色：ティール地（採用CTA・採用バンド）で背景と同化しないよう、
   反転ではなく濃いオレンジ＋白ボーダーにする */
.higa-btn--accent:hover {
  background: #C96C00;
  border-color: #fff;
  color: #fff;
}
.higa-btn--line {
  background: #00053A;
  border-color: #00053A;
  color: #fff;
  letter-spacing: 0.06em;
  padding: 16px 30px;
}
/* ホバー色：フッター背景（ティール #009B9F）と同化しないよう明るめのネイビーにする */
.higa-btn--line:hover { background: #14205E; border-color: #fff; color: #fff; }
.higa-btn--sm { padding: 13px 18px; font-size: 1.3rem; letter-spacing: 0.04em; }
.higa-btn--block { width: 100%; }
.higa-btn__arrow { font-size: 1.5rem; line-height: 1; }

/* ==========================================================================
   heading / text
   ========================================================================== */
.higa-shead {
  display: flex;
  align-items: baseline;
  gap: 16px;
  text-align: left;
}
.higa-shead .heading__en {
  font-size: 4.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #00053A;
}
.higa-shead .heading__ja {
  margin-top: 0;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #009B9F;
}
.higa-shead--sm .heading__en { font-size: 4rem; }
.higa-shead--dark .heading__en { color: #fff; }
.higa-shead--dark .heading__ja { color: #00053A; }

.higa-shead-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.higa-shead-row__note {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.95);
}

.higa-label {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #009B9F;
}
.higa-h2 {
  margin: 14px 0 30px;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #00053A;
}
.higa-h3 {
  margin: 0 0 12px;
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #00053A;
}
.higa-h3__num {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 2.4rem;
  color: #009B9F;
  margin-right: 10px;
}
.higa-step {
  border-top: 1px solid #E4E7F0;
  padding-top: 26px;
}

.higa-topline {
  border-top: 2px solid #009B9F;
  padding-top: 24px;
}
.higa-topline--sub { border-top-color: #00053A; padding-top: 22px; }
.higa-topline__label {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #009B9F;
  margin-bottom: 12px;
}
.higa-topline__title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 12px;
}
.higa-topline__title--sm { font-size: 1.7rem; margin-bottom: 10px; }
/* ラベル・見出しの先頭に置くアイコン（会社概要「私たちの考え方」） */
.higa-topline__icon {
  margin-right: 8px;
  font-size: 1.1em;
  vertical-align: -0.05em;
}
.higa-topline__icon--title {
  color: #009B9F;
  font-size: 0.95em;
  margin-right: 10px;
}
.higa-topline__text {
  font-size: 1.4rem;
  line-height: 2;
  color: #5A6180;
}
.higa-topline__text--sm { font-size: 1.3rem; line-height: 1.9; }

.higa-lead {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.03em;
  color: #00053A;
}
/* 鍵括弧付きリードを1行に収める版。
   TOPご挨拶の「安全第一を守って、あとは人と人のつながりを大切に」は全角26字あり、
   2.4rem＋字間0.03em（約643px）だと左カラム（1200 − 480 − gap80 = 640px）で折り返すため、
   文字サイズと字間を詰めたうえで折り返しを禁止する。 */
.higa-lead--1line {
  font-size: 2.2rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.higa-txt {
  font-size: 1.5rem;
  line-height: 2.15;
  color: #3A4160;
  text-wrap: pretty;
}
.higa-txt--tight { line-height: 2.1; }
.higa-intro {
  font-size: 1.6rem;
  line-height: 2.1;
  color: #3A4160;
  max-width: 820px;
  text-wrap: pretty;
}
.higa-note {
  font-size: 1.3rem;
  line-height: 1.9;
  color: #5A6180;
}

/* ==========================================================================
   layout（px固定の2カラム）
   ========================================================================== */
.higa-cols-a,
.higa-cols-b,
.higa-cols-b-rev,
.higa-cols-c,
.higa-cols-d,
.higa-cols-e {
  display: grid;
  align-items: start;
}
.higa-cols-a { grid-template-columns: 1fr 480px; gap: 80px; }
.higa-cols-b { grid-template-columns: 520px 1fr; gap: 64px; }
.higa-cols-b-rev { grid-template-columns: 1fr 520px; gap: 64px; }
.higa-cols-c { grid-template-columns: 1fr 440px; gap: 64px; }
.higa-cols-d { grid-template-columns: 440px 1fr; gap: 44px; }
.higa-cols-e { grid-template-columns: 1fr 380px; gap: 40px; align-items: stretch; }

.higa-photo-stack { display: grid; gap: 16px; }
.higa-photo-stack__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.higa-photo-stack img,
.higa-photo { display: block; width: 100%; object-fit: cover; background: #009B9F; }
.aspect-3-4 { aspect-ratio: 3 / 4; }  /* utility に縦長比率が無いため追加 */

.higa-box {
  background: #F4F6FA;
  padding: 28px 32px;
}
.higa-box__title {
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #00053A;
  margin-bottom: 14px;
}
.higa-box .list-dot {
  padding-left: 20px;
  font-size: 1.4rem;
  line-height: 2.1;
  color: #3A4160;
}
.higa-box .list-dot li { margin-bottom: 0; }

/* ==========================================================================
   table
   ========================================================================== */
.higa-table { font-size: 1.5rem; }
.higa-table th,
.higa-table td { padding: 20px 26px; vertical-align: top; }
.higa-table th { width: 210px; font-weight: 700; color: #00053A; }
.higa-table td { color: #3A4160; line-height: 1.95; }
.higa-table--sm th,
.higa-table--sm td { padding: 14px 20px; }
.higa-table--sm th { width: 150px; }
.higa-table--md th,
.higa-table--md td { padding: 18px 24px; }
.higa-table--md th { width: 200px; }

/* ==========================================================================
   main view（#slideshow：CMSスライダー差し替え対応）
   ========================================================================== */
.higa-mv {
  position: relative;
  height: 720px;
  overflow: hidden;
  background: #009B9F;
}
/* CMSスライダー（内部でSwiperを使用）の高さは親要素100%追従なので、
   #slideshow から img までの高さチェーンを繋ぐ。
   ※ .swiper-slide に position / inset を指定するとSwiperのレイアウト計算が
     壊れてスライドが表示されなくなるため指定しない。
   ※ z-index:0 で #slideshow を独立したスタッキングコンテキストにし、
     CMS側の z-index:1（.main_slider__outer）が暗幕・ロゴより前に出ないようにする。 */
#slideshow {
  position: absolute;
  inset: 0;
  z-index: 0;
  height: 720px;
  overflow: hidden;
  background: #009B9F;
}
#slideshow > div,                 /* #cms-slider-1-1-area（静止画時はスライドラッパー） */
#slideshow .slider_wrapper,
#slideshow .main_slider__outer,
#slideshow .main_slider,
#slideshow .swiper-wrapper,
#slideshow .swiper-slide,
#slideshow .main_slider__inner {
  height: 100%;
}
#slideshow .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.higa-mv__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 155, 159, 0.62), rgba(0, 155, 159, 0.34) 42%, rgba(0, 155, 159, 0.8));
}
.higa-mv__content {
  position: relative;
  z-index: 2;
  height: 100%;
  width: 100%;
  max-width: 1200px;   /* 幅固定だと1200px以下で横スクロールが出るため上限指定にする */
  padding: 0 20px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
/* MVロゴマーク（logo-mark.png 615×946＝縦長）は高さ基準で大きく見せる */
.higa-mv__logo { width: auto; height: 380px; display: block; }
.higa-mv__copy {
  margin: 44px 0 0;
  color: #fff;
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.06em;
  text-shadow: 0 2px 24px rgba(0, 5, 58, 0.6);
}
.higa-mv__sub {
  margin: 22px 0 0;
  color: #00053A;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.22em;
}
/* スクロールインジケーター：キャッチコピーと重なるため中央下ではなく
   右端に縦書きで配置する */
.higa-mv__scroll {
  position: absolute;
  z-index: 2;
  right: 40px;
  bottom: 0;
  display: grid;
  justify-items: center;
  gap: 14px;
}
.higa-mv__scroll-label {
  writing-mode: vertical-rl;
  color: rgba(255, 255, 255, 0.95);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.3em;
  text-indent: 0.3em;   /* 縦書きで末尾に付く字間分を上側で吸収 */
}
.higa-mv__scroll-bar {
  display: block;
  width: 1px;
  height: 46px;
  background: rgba(255, 255, 255, 0.3);
  overflow: hidden;
}
.higa-mv__scroll-dot {
  display: block;
  width: 1px;
  height: 16px;
  background: #fff;
  animation: higa-scroll 2s infinite;
}
@keyframes higa-scroll {
  0%   { transform: translateY(0); opacity: 0; }
  30%  { opacity: 1; }
  100% { transform: translateY(46px); opacity: 0; }
}

/* ==========================================================================
   page hero
   ========================================================================== */
.higa-hero {
  height: 280px;
  background: #009B9F;
  color: #fff;
}
.higa-hero--tall { height: 420px; }
.higa-hero--tall .page-hero__bg { object-position: center 30%; }
.higa-hero__overlay {
  background: linear-gradient(180deg, rgba(0, 155, 159, 0.72), rgba(0, 155, 159, 0.5));
}
.higa-hero--tall .higa-hero__overlay {
  background: linear-gradient(180deg, rgba(0, 155, 159, 0.68), rgba(0, 155, 159, 0.58));
}
.higa-hero__content {
  align-items: center;
  justify-content: center;
  text-align: center;
}
.higa-hero__en {
  display: block;
  font-size: 6.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #fff;
}
.higa-hero__ja {
  margin-top: 12px;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #00053A;
}
.higa-hero--tall .higa-hero__ja { margin-top: 10px; }
.higa-hero__lead {
  margin: 34px 0 0;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #fff;
}
.higa-hero__crumb {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 2;
  padding: 0;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.92);
}
.higa-hero__crumb .breadcrumb__link,
.higa-hero__crumb .breadcrumb__current { color: rgba(255, 255, 255, 0.92); }
.higa-hero__crumb .breadcrumb__item:not(:last-child)::after {
  content: "／";
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0.2em;
}

/* ==========================================================================
   TOP：保有車両（自動横スクロール）
   ========================================================================== */
/* 共通CSSの .bg-base はオレンジ（#ec6800）のため、面用ティール（#009B9F）に上書きする */
.bg-base { background: #009B9F; }
.higa-marquee { padding-bottom: 6px; }
.higa-marquee .gallery-scroll__track {
  gap: 20px;
  animation-duration: 44s;
}
.higa-marquee__item { width: 340px; flex-shrink: 0; }
.higa-marquee__item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #009B9F;
  border-radius: 0;  /* 共通CSSの 5px 角丸を打ち消す */
}
.higa-marquee__meta {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 14px 2px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 12px;
}
.higa-marquee__t {
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1;
  color: #00053A;
}
.higa-marquee__n {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
}

/* ==========================================================================
   TOP：採用情報バンド
   ========================================================================== */
.higa-recruit-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 420px;
}
.higa-recruit-band > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  background: #009B9F;
}
.higa-recruit-band__body {
  background: #F4F6FA;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 76px 90px;
}
.higa-recruit-band__body .higa-btn { align-self: flex-start; }
.higa-recruit-band__catch {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #00053A;
}

/* ==========================================================================
   TOP：ページリンクカード
   ========================================================================== */
.higa-card-grid { gap: 24px; }
.higa-card {
  display: block;
  border: 1px solid #E4E7F0;
  padding: 0 0 26px;
  transition: border-color 0.3s ease;
}
.higa-card:hover { border-color: #009B9F; opacity: 1; }
.higa-card > img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: #009B9F;
}
.higa-card__body { padding: 22px 24px 0; }
.higa-card__en {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #00053A;
}
.higa-card__ja {
  display: block;
  margin-top: 8px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #00053A;
}
.higa-card__desc {
  margin-top: 12px;
  font-size: 1.3rem;
  line-height: 1.9;
  color: #5A6180;
}

/* ==========================================================================
   保有車両一覧
   ========================================================================== */
.higa-vgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 28px;
}
.higa-vcard img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #009B9F;
}
.higa-vcard__meta {
  display: flex;
  align-items: baseline;
  gap: 12px;
  border-top: 2px solid #009B9F;
  padding-top: 16px;
  margin-top: 14px;
}
.higa-vcard__t {
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
  color: #00053A;
}
.higa-vcard__n {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #009B9F;
}
.higa-vcard__desc {
  margin-top: 10px;
  font-size: 1.3rem;
  line-height: 1.9;
  color: #5A6180;
}

/* ==========================================================================
   工事実績
   ========================================================================== */
.higa-works-list { display: grid; gap: 40px; }
.higa-works-item {
  border: 1px solid #E4E7F0;
  padding: 28px;
}
.higa-works-item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #009B9F;
}
.higa-works-cat {
  display: inline-block;
  background: #009B9F;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 6px 14px;
}
.higa-works-title {
  margin: 16px 0 24px;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #00053A;
}
.higa-field-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* ==========================================================================
   採用：応募CTA
   ========================================================================== */
.higa-entry {
  background: #009B9F;
  color: #fff;
  padding: 56px 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}
.higa-entry__label {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #00053A;
}
.higa-entry__title {
  margin: 14px 0 10px;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
}
.higa-entry__text {
  font-size: 1.4rem;
  line-height: 1.9;
  color: #fff;
}
.higa-entry__side {
  display: grid;
  gap: 12px;
  flex: 0 0 auto;
}
.higa-entry__side .higa-btn { padding: 20px 44px; letter-spacing: 0.06em; }
.higa-entry__side .higa-btn--line { padding: 18px 44px; font-size: 1.5rem; }
.higa-entry__tel-num {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 2.6rem;
  line-height: 1;
}
.higa-entry__tel-sfx { font-size: 1.3rem; }

/* ==========================================================================
   会社概要：アクセス
   ========================================================================== */
.higa-access-map {
  border: 1px solid #E4E7F0;
  border-radius: 0;
  height: 420px;
}
.higa-access-panel {
  background: #F4F6FA;
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.higa-access-panel__en {
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #009B9F;
  margin-bottom: 14px;
}
.higa-access-panel__addr {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
  color: #00053A;
  margin-bottom: 24px;
}
.higa-access-panel__rows {
  display: grid;
  gap: 8px;
  font-size: 1.5rem;
  line-height: 1.9;
  color: #3A4160;
}
.higa-access-panel__num {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 2.2rem;
  color: #F08300;
}
.higa-access-panel__fax {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 2rem;
  color: #00053A;
}
.higa-access-panel .higa-btn { margin-top: 28px; padding: 18px 24px; font-size: 1.5rem; }
.higa-access-panel__note {
  margin-top: 14px;
  font-size: 1.2rem;
  line-height: 1.8;
  color: #5A6180;
}
.higa-philosophy {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* ==========================================================================
   footer
   ========================================================================== */
.higa-footer-body {
  background: #009B9F;
  color: #fff;
  padding: 0;
}
.higa-footer-body__inner {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 64px;
  align-items: start;
  max-width: 1200px;
  padding: 76px 0 56px;
}
.higa-footer-map { height: 280px; border-radius: 0; }
.higa-footer-logo { margin-bottom: 26px; }
.higa-footer-logo img { width: 380px; height: auto; display: block; }
.higa-footer-info {
  margin-bottom: 22px;
  font-size: 1.4rem;
  line-height: 2;
  color: #fff;
}
/* TEL・FAX・公式LINEボタンを1行に並べる（ボタンは数字のベースライン側に揃える） */
.higa-footer-contact {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;   /* 幅が足りない場合はLINEボタンだけ次行へ落とし、番号は折り返させない */
  gap: 20px 26px;
  margin-bottom: 0;
}
.higa-footer-contact .higa-btn { flex-shrink: 0; }
/* 公式LINE：アイコンのみの正円ボタン（FAX番号の右隣に並べる） */
.higa-footer-line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #00053A;   /* サブカラー（ネイビー） */
  border: 1px solid #00053A;
  color: #fff;
  font-size: 2.8rem;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.3s ease;
}
/* ホバーは少し浮かせるだけ。
   共通CSSの a:hover { opacity:.8 } でアイコンが背景に溶けるため opacity は 1 に固定し、
   アイコンは白のまま・背景だけわずかに濃くしてコントラストを保つ。 */
.higa-footer-line:hover {
  transform: translateY(-3px);
  opacity: 1;
  background: #14205E;
  border-color: #14205E;
  color: #fff;
}
.higa-footer-line:hover i { color: #fff; }
.higa-footer-num { display: grid; gap: 2px; color: #fff; flex-shrink: 0; white-space: nowrap; }
.higa-footer-num__label {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #00053A;
}
.higa-footer-num__value {
  white-space: nowrap;
  font-size: 3.1rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
}
.higa-footer-num--fax .higa-footer-num__value {
  font-size: 2.8rem;
  color: #fff;
}
.higa-footer-num:hover .higa-footer-num__value { color: #00053A; }

.higa-footer-bottom {
  background: #009B9F;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0;
  text-align: left;
}
.higa-footer-bottom__inner {
  width: 100%;
  max-width: 1200px;   /* 幅固定だと1200px以下で横スクロールが出るため上限指定にする */
  margin: 0 auto;
  padding: 22px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.higa-footer-nav { gap: 26px; }
.higa-footer-nav .footer-body__nav-item a {
  font-size: 1.3rem;
  color: #fff;
}
.higa-footer-nav .footer-body__nav-item a:hover { color: #fff; }
.higa-footer-copy {
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.9);
}

/* ==========================================================================
   ページトップボタン
   共通CSSはオレンジ（#ec6800）／ホバー水色（#008dd8）のため、
   メインのティール＋ホバーはサブカラーのネイビーに上書きする。
   角丸も .higa-btn に合わせて矩形にする。
   ========================================================================== */
.page-top__link {
  background: #009B9F;
  border: 1px solid #fff;   /* ティール背景が濃い面に埋もれないよう白で縁取る */
  border-radius: 0;
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 5, 58, 0.18);
}
.page-top__link:hover {
  background: #00053A;
  border-color: #00053A;
  color: #fff;
}
