/* =========================
    HERO（メインビジュアル）
   ========================= */
.hero-section {
  position: relative;
  background-image: url("../img/sign.webp"); 
  background-size: cover;
  /* PC：看板（右側）を優先し、全体を少し下にずらして落ち着かせる */
  background-position: 85% 20%; 
  height: 600px; 
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1); /* 写真の良さを活かすため極薄く */
  z-index: 1;
}

.hero-section .hero-text {
  position: relative;
  z-index: 2;
  color: #ffffff;
  padding-left: 3%; 
  text-align: left;
  width: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* キャッチコピー：職人感・信頼感を出す明朝体 */
.hero-section .hero-text h1 {
  font-family: "ヒラギノ明朝 ProN W6", "Hiragino Mincho ProN", "Sawarabi Mincho", "MS P明朝", serif;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.15em; /* 文字の間隔を広くして風格を出す */
  text-shadow: 2px 2px 15px rgba(0, 0, 0, 0.8);
  margin-bottom: 20px;
}

.hero-section .hero-text p {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.8);
  margin-bottom: 30px;
}

/* お問い合わせボタン */
.hero-btn {
  display: inline-block;
  padding: 14px 35px;
  border-radius: 4px; /* 少し角を鋭くして硬派に */
  font-size: 1.1rem;
  background-color: #00C4FF;
  color: #ffffff !important;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* =========================
    事業内容・施工事例・採用（共通）
   ========================= */
.services-section .service-items,
.case-studies-section .case-items,
.recruit-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  padding: 20px 0;
}

.service-item, .case-item, .recruit-item {
  width: 300px;
}

.service-item img, .case-item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 6px;
}

/* =========================
    レスポンシブ対応（スマホ）
   ========================= */
@media (max-width: 768px) {
  .hero-section {
    background-image: url("../img/sign-sp.webp");
    background-position: center bottom;
    align-items: flex-end;
    /* 全体の底上げは最小限（ボタンの位置）にする */
    padding-bottom: 20px; 
  }

  .hero-section .hero-text {
    padding-left: 8%; 
    width: 90%;
    margin-bottom: 0;
  }

  /* ★ここがポイント：ボタンにだけ下の余白を作って、上の文字を押し上げる */
  .hero-section .hero-btn {
    margin-top:95px;      /* 文字とボタンの間の距離 */
    margin-bottom: 5px;   /* 【重要】この数字を大きくすると、ボタンの位置を保ったまま上の文字が上がります */
  }

  .hero-section .hero-text h1 {
    font-size: 1.7rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
    text-shadow: 2px 2px 12px rgba(0, 0, 0, 1.0);
    /* h1自体の下の余白を調整して微調整 */
    margin-bottom: 10px;
  }

  .hero-section .hero-text h1 span {
    /* 塊として扱い、枠内で入りきらなくなったら塊ごと改行させる */
    display: inline-block;
  }

  .hero-section .hero-text p {
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 5px;
  }

  .hero-section .hero-text p span {
    display: inline-block;
    /* 「。だけ落ちる」のを防ぐ */
  }
}