@charset "UTF-8";

/* 全体リセット（すでに記述がある場合は不要です） */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #333333;
  line-height: 1.6;
}

/* ==========================================
   ヒーローエリア（メインビジュアル）
========================================== */
.hero-section {
  width: 100%;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
}

.hero-container {
  width: 100%;
  max-width: 1200px; /* コンテンツの最大幅 */
  margin: 0 auto;
  padding: 0 4%;
}

.hero-content {
  max-width: 600px; /* テキストエリアの幅 */
}

/* 各テキスト要素のスタイリング */
.hero-subtext {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}

.hero-title {
  font-size: 62px;
  font-weight: 900;
  margin-bottom: 30px;
  letter-spacing: 0.03em;
  white-space: nowrap; /* 改行を防いでバナーと同じ見え方に */
}

/* ご指定のグリーン色 #499813 */
.hero-title .highlight {
  color: #499813;
  border-bottom: 4px solid #499813; /* 文字の下線 */
  padding-bottom: 2px;
}

.hero-badge {
  display: inline-block;
  background-color: #499813;
  color: #ffffff;
  font-size: 23px;
  font-weight: bold;
  padding: 10px 25px;
  border-radius: 0; /* バナーに合わせたシャープな長方形 */
}

/* ==========================================
   PCサイズ（画面幅 768px 以上）の調整
========================================== */
@media screen and (min-width: 768px) {
  .hero-section {
    /* 2200x700px の画像を背景に設定 */
    background-image: url('images-new/gpu_upgradeservice_hero.jpg'); /* ※実際のファイル名に合わせて変更してください */
    background-size: cover;
    background-position: center right;
    height: 600px; /* 表示させたい適切な高さに調整してください */
  }
}

/* ==========================================
   スマホサイズ（画面幅 767px 以下）の調整
========================================== */
@media screen and (max-width: 767px) {
  .hero-section {
    /* 1000x1200px の画像を背景に設定 */
    background-image: url('images-new/gpu_upgradeservice_herosp.jpg'); /* ※実際のファイル名に合わせて変更してください */
    background-size: cover;
    background-position: center bottom; /* 下に筐体画像、上が白無地 */
    height: 700px; /* 縦長画像に合わせて高さを確保 */
    align-items: flex-start; /* テキストを上側の白無地部分に配置 */
    padding-top: 60px;
  }

  .hero-subtext {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .hero-title {
    font-size: 28px;
    margin-bottom: 20px;
    white-space: normal; /* スマホでは適度に改行させる */
  }

  .hero-badge {
    font-size: 14px;
    padding: 8px 15px;
  }
}

/* ==========================================
   お悩み解決セクション（新構成：上下2段レイアウト）
========================================== */
.trouble-section {
  padding: 60px 0;
  background-color: #ffffff; /* 外側は白 */
}

/* 1200px制限のインナーボックス */
.trouble-section .trouble-container {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  padding: 50px 4% 50px;
  background-color: #e7f1e1; /* ご指定の背景色 */
  border-radius: 12px;
  box-sizing: border-box;
}

/* タイトルスタイリング */
.trouble-section .section-title {
  text-align: center;
  font-size: 50px;
  font-weight: bold;
  color: #3a5d23; /* ご指定の文字色 */
  margin-bottom: 40px;
  letter-spacing: 0.03em;
}

/* 上段：お悩みリスト（縦に4つ並べる） */
.trouble-list {
  list-style: none;
  max-width: 1100px;
  margin: 0 auto 50px; /* 中央寄せにして下に余白を作る */
  padding: 0;
}

.trouble-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 20px;
  font-weight: bold;
  color: #111111;
  line-height: 1.6;
  margin-bottom: 24px; /* リストごとの間隔 */
}

.trouble-list .check-icon {
  width: 24px;
  height: auto;
  flex-shrink: 0;
  margin-top: 2px;
}

/* 下段：3枚画像グリッド */
.trouble-img-grid {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.trouble-img-item {
  flex: 1;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.trouble-img-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================
   スマホ用のレスポシブ対応
========================================== */
@media screen and (max-width: 767px) {
  .trouble-section .trouble-container {
    width: 92%;
    padding: 35px 15px 40px;
  }
  
  .trouble-section .section-title {
    font-size: 24px;
    margin-bottom: 30px;
  }
  
  .trouble-list li {
    font-size: 14.5px;
    margin-bottom: 18px;
  }
  
  .trouble-list .check-icon {
    width: 20px;
  }

  .trouble-img-grid {
    flex-direction: column; /* スマホ時は縦並び */
    gap: 15px;
  }
}

/* ==========================================
   お任せセクション（背景：濃いグリーン）修正版
========================================== */
.solution-section {
  padding: 60px 0; 
  background-color: #ffffff; 
  position: relative;
  overflow: hidden;
  
  /* 💡ここに新しく z-index: 1 を追記します */
  z-index: 1; /* 💡セクション全体をヘッダー（通常100〜1000以上）より確実に下に配置します */
}
/* 💡特定の指定に格上げして、最大幅と中央寄せをガチッと固定します */
.solution-section .solution-container {
  max-width: 1300px;         /* 💡最大幅を1200pxにガチッと固定 */
  width: 100%;
  margin: 0 auto;            /* 💡これで確実中央に寄せます */
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  position: relative;
  
  /* 💡背景色を単色からご指定のグラデーション（左から右）へ変更しました */
  background: linear-gradient(to right, #769b5d, #b0e667);
  
  border-radius: 12px;       /* 下の枠に合わせて角丸に */
  padding: 40px 4% 0;        /* 内側に適切な余白を持たせる */
  box-sizing: border-box;
}

.solution-content {
  max-width: 700px;
  padding-bottom: 60px;
  color: #ffffff;
  
  /* 💡ここを「2」から「10」などに大きく引き上げます */
  z-index: 10; /* 💡セクション内（男性画像）より前に出すための設定にします */
}

/* 黄色い大見出し */
.solution-title {
  font-size: 46px;
  font-weight: 900;
  color: #eaff00; /* 鮮やかなイエロー */
  margin-bottom: 20px;
  letter-spacing: 0.02em;
}

.solution-subtitle {
  font-size: 30px;         /* 24pxから30pxへ変更 */
  font-weight: bold;
  margin-bottom: 25px;
  letter-spacing: 0.02em; /* 文字の読みやすさを調整 */
}

/* 箇条書き（点のかわりに「・」を表示） */
.solution-list {
  list-style: none;
  margin-bottom: 30px;
  padding-left: 5px;
}

.solution-list li {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 12px;
  position: relative;
  padding-left: 20px;
}

.solution-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #ffffff;
}

.solution-lead {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
}


/* 右側の男性画像エリア */
.solution-media {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 400px;
  display: flex;
  align-items: flex-end;
  
  /* 💡ここに新しく z-index: 5 を追記します */
  z-index: 5; /* 💡文字（10）よりは後ろ、背景よりは前に配置します */
}

.solution-media img {
  width: 100%;
  height: auto;
  display: block;
}

/* ==========================================
   お任せセクション：スマホ用のレスポンシブ対応
========================================== */
@media screen and (max-width: 767px) {
  .solution-section .solution-container {
    width: 92%;
    flex-direction: column;
    padding: 30px 15px 0;
  }
  .solution-content {
    max-width: 100%;
    padding-bottom: 40px;
  }
  .solution-title {
    font-size: 28px;
  }
  
  /* 💡スマホでも文字が潰れてしまわないよう、バランスよく調整します */
  .solution-subtitle {
    font-size: 20px;       /* スマホ時は20px（元の18pxから大きく調整） */
    margin-bottom: 20px;
  }
  
  .solution-list li {
    font-size: 16px;
  }
  .solution-lead {
    font-size: 15px;
  }
  .solution-media {
    position: relative;
    width: 280px;
    margin: 0 auto;
  }
}
/* ==========================================
   スマホ用のレスポンシブ対応
========================================== */
@media screen and (max-width: 767px) {
  .trouble-section {
    padding: 40px 0;
  }
  .section-title {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .trouble-grid {
    flex-direction: column;
    gap: 15px;
  }
  
  .solution-section {
    padding-top: 40px;
  }
  .solution-container {
    flex-direction: column;
  }
  .solution-content {
    max-width: 100%;
    padding-bottom: 40px;
  }
  .solution-title {
    font-size: 28px;
  }
  .solution-subtitle {
    font-size: 18px;
  }
  .solution-list li {
    font-size: 16px;
  }
  .solution-lead {
    font-size: 15px;
  }
  
  /* スマホでは男性画像を中央下部に配置 */
  .solution-media {
    position: relative;
    width: 280px;
    margin: 0 auto;
  }
}

/* ==========================================
   ポイントセクション（新構成：リード文追加）
========================================== */
.points-section {
  padding: 80px 0;
  background-color: #ffffff; /* 背景は白 */
  
  /* 💡ここに新しく2行を追記します */
  position: relative;        /* z-indexを有効にするために必要です */
  z-index: 1;                /* 💡セクション全体をヘッダーのメニューバーより下に配置します */
}

.points-section .container {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

/* 外側を囲む丸角のグリーンフレーム（余白を上側に少し広げました） */
.points-outline-box {
  border: 2px solid #769b5d; 
  border-radius: 12px;
  padding: 60px 30px 40px; /* 上のpaddingを50pxから60pxにしてゆとりを確保 */
  position: relative;
  margin-top: 20px;
}

/* 💡サイズアップしたメインタイトル */
.points-main-title {
  position: absolute;
  top: -24px; /* 文字が大きくなった分、位置を少し上に調整 */
  left: 50%;
  transform: translateX(-50%);
  background-color: #ffffff;
  padding: 0 25px;
  font-size: 34px; /* 💡26pxから34pxへサイズアップ！ */
  font-weight: bold;
  color: #111111;
  white-space: nowrap;
}

/* 💡新設：補足説明文のスタイリング */
.points-lead-text {
  font-size: 16px;
  color: #222222;
  font-weight: bold; /* 💡ここに追記して太字にします */
  line-height: 1.8;
  text-align: left;
  max-width: 1000px;
  margin: 0 auto 45px;
  letter-spacing: 0.02em;
}

/* 4カラムを並べるグリッド */
.points-grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.point-column {
  flex: 1;
  padding: 0 20px;
  text-align: center;
  position: relative;
}

.point-column:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background-color: #e0e0e0;
}

/* 数字とイラストを重ねるための親コンテナ */
.point-icon-container {
  position: relative;
  width: 120px;
  height: 100px;
  margin: 0 auto 20px;
}

/* CSSで実装するグリーンの丸数字バッジ */
.step-number {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 28px;
  height: 28px;
  background-color: #769b5d;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

/* イラスト画像エリア */
.point-icon-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.point-icon-wrap img {
  max-width: 80%;
  max-height: 100%;
  object-fit: contain;
}

.point-sub-title {
  font-size: 18px;
  font-weight: bold;
  color: #111111;
  margin-bottom: 15px;
  letter-spacing: 0.03em;
}

.point-desc {
  font-size: 14px;
  color: #444444;
  line-height: 1.6;
  text-align: left;
}

/* ==========================================
   ポイントセクション：スマホ用のレスポンシブ対応
========================================== */
@media screen and (max-width: 767px) {
  .points-section {
    padding: 50px 0;
  }

  .points-section .container {
    width: 92%;
  }

  .points-outline-box {
    padding: 40px 15px 20px;
    border-radius: 8px;
  }

  /* スマホ時ははみ出さないよう適正サイズに */
  .points-main-title {
    font-size: 20px;
    top: -15px;
    padding: 0 10px;
  }
  
   .points-lead-text {
    font-size: 16px;
    font-weight: bold; /* 💡スマホ環境でも確実に太字にするために追記 */
    line-height: 1.6;
    margin-bottom: 30px;
  }

  .points-grid {
    flex-direction: column;
    gap: 40px;
  }

  .point-column {
    padding: 0;
    width: 100%;
  }

  .point-column:not(:first-child)::before {
    display: none;
  }
  
  .point-sub-title {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .point-desc {
    font-size: 13.5px;
  }
}
/* ==========================================
   お問い合わせ・結びセクション（比較表付き）
========================================== */
.contact-section {
  padding: 80px 0 100px;
  background-color: #ffffff; 
}

/* 💡新設：大きく配置した大タイトルのスタイリング */
.comparison-main-title {
  text-align: center;
  font-size: 34px; /* ポイントセクションのタイトル（34px）とお揃いの大きさに設定 */
  font-weight: bold;
  color: #111111; /* 基本は引き締まった黒 */
  margin-bottom: 50px; /* 下の比較表との間に心地よい余白を確保 */
  letter-spacing: 0.03em;
}

/* 💡特定キーワードをブランドグリーンの #499813 に変更 */
.comparison-main-title .green-highlight {
  color: #499813;
}

/* 💡特定の指定に格上げして、最大幅と中央寄せをガチッと固定します */
.contact-section .container {
  max-width: 1300px;         
  width: 100%;
  margin: 0 auto;            
  box-sizing: border-box;
}
/* 比較表エリアの横並び */
.comparison-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 50px;
}

/* 左側：筐体画像 */
.comparison-media {
  flex: 1;
  max-width: 320px;
}

.comparison-media img {
  width: 100%;
  height: auto;
  display: block;
}

/* 右側：テーブルを包む枠 */
.comparison-table-wrap {
  flex: 2;
}

/* テーブル全体のスタイリング */
.comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 6px;
  font-size: 15px;
}

.comparison-table th,
.comparison-table td {
  padding: 15px 20px;
  text-align: center;
  font-weight: bold;
}

/* ヘッダー：買い替え（グレー） */
.comparison-table th.th-replace {
  background-color: #444444;
  color: #ffffff;
  font-size: 18px;
  border-radius: 4px 0 0 4px;
}

/* ヘッダー：アップグレード（グリーン） */
.comparison-table th.th-upgrade {
  background-color: #769b5d;
  color: #ffffff;
  font-size: 18px;
  border-radius: 0 4px 4px 0;
}

/* ボディ：買い替えの行（薄いグレー背景） */
.comparison-table td.td-replace {
  background-color: #f2f2f2;
  color: #333333;
  border-right: 2px solid #ffffff;
}

/* ボディ：アップグレードの行（薄いグリーン背景） */
.comparison-table td.td-upgrade {
  background-color: #e2efda;
  color: #111111;
}

/* ------------------------------------------
   下段：結びの言葉＆ボタン
------------------------------------------ */
.contact-content-bottom {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  
  /* 💡ここに新しく上側の余白を追記します */
  margin-top: 50px; /* 💡4つのステップとの間に50pxの空きを作ります */
}

.contact-lead-text {
  font-size: 16px;
  color: #333333;
  line-height: 1.8;
  /* 💡ボタンとの間の余白を35pxから50pxへ広げました */
  margin-bottom: 50px; 
  text-align: left;
}

.contact-btn {
  display: inline-block;
  width: 100%;
  max-width: 550px;
  background-color: #499813;
  color: #ffffff;
  text-decoration: none;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  padding: 18px 20px;
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(73, 152, 19, 0.3);
  transition: all 0.3s ease;
  line-height: 1.4;
}

.contact-btn:hover {
  background-color: #55b017;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(73, 152, 19, 0.4);
}

.sp-only {
  display: none;
}

/* ==========================================
   お問い合わせセクション：スマホ用のレスポンシブ対応
========================================== */
@media screen and (max-width: 767px) {
  .contact-section {
    padding: 50px 0;
  }
  
  .contact-section .container {
    width: 92%; /* スマホ時は少しだけ左右に余白を持たせる */
  }

  .comparison-area {
    flex-direction: column;
    gap: 30px;
  }
  
  .comparison-media {
    max-width: 100%;
    width: 80%;
    margin: 0 auto;
  }
  
  .comparison-table-wrap {
    width: 100%;
  }

  .comparison-table, 
  .comparison-table thead, 
  .comparison-table tbody, 
  .comparison-table th, 
  .comparison-table td, 
  .comparison-table tr {
    display: block;
    width: 100%;
  }
  
  .comparison-table tr {
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
  }
  
  .comparison-table thead {
    display: none;
  }

  .comparison-table td {
    padding: 12px;
    font-size: 14px;
  }
  .comparison-table td.td-replace {
    background-color: #f2f2f2;
    border-right: none;
    border-bottom: 1px solid #ffffff;
  }
  .comparison-table td.td-replace::before {
    content: "【買い替え】 ";
    font-size: 11px;
    color: #666;
    display: block;
  }
  .comparison-table td.td-upgrade::before {
    content: "【アップグレード】 ";
    font-size: 11px;
    color: #769b5d;
    display: block;
  }

  .contact-lead-text {
    font-size: 14.5px;
  }
  
  .contact-btn {
    font-size: 15px;
    padding: 15px 15px;
  }
  
  .sp-only {
    display: block;
  }
}

/* ==========================================
   サービスの流れセクション（背景：白）修正版
========================================== */
.flow-section {
  padding: 80px 0 40px; 
  background-color: #ffffff;
  
  /* 💡ここに新しく以下の2行を確実に追記します */
  position: relative;        /* z-indexを有効にするために必要です */
  z-index: 1;                /* 💡セクション全体をヘッダーのメニューバーより下に配置します */
}

/* 💡特定の指定に格上げして、最大幅と中央寄せをガチッと固定します */
.flow-section .container {
  max-width: 1300px;         /* 💡最大幅を1200pxに固定 */
  width: 100%;
  margin: 0 auto;            /* 💡これで確実に中央に寄せます */
  box-sizing: border-box;
}

/* 外側を囲む丸角のグリーンフレーム */
.flow-outline-box {
  border: 2px solid #769b5d;
  border-radius: 12px;
  padding: 50px 30px 30px;
  position: relative;
  margin-top: 20px;
}

/* 中央上に配置するメインタイトル */
.flow-main-title {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #ffffff;
  padding: 0 25px;
  font-size: 26px;
  font-weight: bold;
  color: #111111;
  white-space: nowrap;
}

/* 5カラムを並べるグリッド */
.flow-grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 30px;
}

/* 各ステップの列（縦の区切り線を引く） */
.flow-column {
  flex: 1;
  padding: 0 15px; 
  text-align: center;
  position: relative;
}

/* 隣り合う列の間に縦線を引く（一番左の要素以外） */
.flow-column:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background-color: #e0e0e0;
}

/* 数字とイラストを重ねるための親コンテナ */
.flow-icon-container {
  position: relative;
  width: 100px;
  height: 90px;
  margin: 0 auto 20px;
}

/* グリーンの丸数字バッジ */
.flow-step-number {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 28px;
  height: 28px;
  background-color: #769b5d;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

/* イラスト画像エリア */
.flow-icon-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.flow-icon-wrap img {
  max-width: 80%;
  max-height: 100%;
  object-fit: contain;
}

/* 各ステップの見出し */
.flow-sub-title {
  font-size: 17px;
  font-weight: bold;
  color: #111111;
  margin-bottom: 15px;
  letter-spacing: 0.02em;
}

/* 各ステップの説明文 */
.flow-desc {
  font-size: 13.5px;
  color: #444444;
  line-height: 1.6;
  text-align: left;
}

/* 右下の注記文 */
.flow-note {
  text-align: right;
  font-size: 12px;
  color: #555555;
  font-weight: bold;
  margin-top: 10px;
}

/* ==========================================
   サービスの流れ：スマホ用のレスポンシブ対応
========================================== */
@media screen and (max-width: 767px) {
  .flow-section {
    padding: 50px 0;
  }

  .flow-section .container {
    width: 92%; /* スマホ時は少し左右に余白を持たせる */
  }

  .flow-outline-box {
    padding: 40px 15px 20px;
    border-radius: 8px;
  }

  .flow-main-title {
    font-size: 18px;
    top: -14px;
    padding: 0 10px;
  }

  .flow-grid {
    flex-direction: column; 
    gap: 40px;
  }

  .point-column {
    padding: 0;
    width: 100%;
  }

  .flow-column:not(:first-child)::before {
    display: none;
  }
  
  .flow-sub-title {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .flow-desc {
    font-size: 13.5px;
  }
  
  .flow-note {
    text-align: left; 
    margin-top: 20px;
  }
}
/* ==========================================
   最終お問い合わせエリア（全面背景画像）
========================================== */
/* ==========================================
   最終お問い合わせエリア（全面背景画像）修正版
========================================== */
.final-contact-section {
  /* 💡ここに新しく3行を追記・修正します */
  clear: both;               /* 💡前後の要素の「浮き（float）」を完全にリセットします */
  display: block;            /* 要素の性質をブロックとして確定させます */
  margin-bottom: 0;          /* フッターとの間の余白をゼロにします */

  position: relative;
  padding: 100px 0;
  background-image: url('images-new/image_7a9f342f.jpg'); 
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  
  /* 💡ここも他のセクションとお揃いの z-index: 1 にしておきます */
  z-index: 1; /* 💡フッターを追い抜かないように限界値を設定 */
}
/* 画像の上に白い半透明の膜を張って文字をくっきり見せる */
.final-contact-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.75); /* 白を85%の濃さで重ねる */
  z-index: 1;
}

.final-contact-container {
  position: relative;
  z-index: 2; /* オーバーレイより前に出す */
  max-width: 900px; /* 中央に要素を凝縮させる */
  margin: 0 auto;
}

.final-contact-content {
  text-align: center;
}

/* 結びのリード文 */
.final-lead-text {
  font-size: 21px;
  font-weight: bold;
  color: #111111;
  line-height: 1.8;
  margin-bottom: 40px;
  letter-spacing: 0.03em;
  text-align: left; /* ワイヤーに合わせて左寄せ、中央に配置 */
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

/* ボタンを囲むグループ（縦並び・中央寄せ） */
.final-btn-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px; /* ボタンとボタンの隙間 */
  width: 100%;
}

/* 共通ボタンベース */
.final-btn-group a {
  display: block;
  width: 100%;
  max-width: 680px; /* ワイヤーに合わせた長めのボタン幅 */
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  padding: 20px 30px;
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  line-height: 1.4;
}

/* 1つ目のボタン：グリーン（#499813） */
.btn-main-green {
  background-color: #499813;
  color: #ffffff;
}
.btn-main-green:hover {
  background-color: #55b017;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(73, 152, 19, 0.4);
}

/* 2つ目のボタン：ダークグレー（#444444） */
.btn-sub-dark {
  background-color: #444444;
  color: #ffffff;
}
.btn-sub-dark:hover {
  background-color: #555555;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

/* ==========================================
   最終お問い合わせ：スマホ用のレスポンシブ対応
========================================== */
@media screen and (max-width: 767px) {
  .final-contact-section {
    padding: 60px 0;
  }
  
  .final-lead-text {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 30px;
    padding: 0 10px;
  }
  
  .final-btn-group {
    gap: 15px;
    padding: 0 10px;
  }
  
  .final-btn-group a {
    font-size: 14px;
    padding: 16px 20px;
  }
}

/* ==========================================
   最終セクションの調整
========================================== */
.final-contact-section {
  clear: both;
  display: block;
  position: relative;
  padding: 100px 0;
  background-image: url('images-new/image_7a9f342f.jpg'); 
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  z-index: 1;
  
  margin-bottom: 0 !important;
}

/* ⚠️フッター上部のmargin-top: 0などのリセット命令は余白を消してしまうため、すべて削除しました */


/* ==========================================
   リクルートフローティングバナーを【最前面】へ移動
========================================== */
/* 💡アプライド様のサイトで浮いている「新卒採用」バナーを確実に指定し、z-indexを最大化します */
.ext-floating-banner,
#recruit-floating-banner,
.floating-recruit-banner,
.recruit-banner,
[class*="recruit"],
[id*="recruit"] {
  position: fixed !important; /* 画面に固定する命令を強化 */
  z-index: 999999 !important; /* フッター（z-index: 99など）を完全に超える数値 */
}

/* ==========================================
   フッターの隙間調整（PC限定）
========================================== */
/* デフォルト（スマホ・タブレット）では空白をゼロにします */
.pc-only-footer-spacer {
  height: 0 !important;
}

/* 💡画面幅がPCサイズ（992px以上）になった時だけ、完璧だった700pxを適用します */
@media screen and (min-width: 992px) {
  .pc-only-footer-spacer {
    height: 700px !important;
  }
}