/* ========== Heroセクション ========== */

.hero-section {
  width: 100%;
  background: linear-gradient(to right, #B5FFE1, #93E5AB);
  padding: 80px 20px;
}

.hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
}

/* 左右カラム */
.hero-col {
  width: 50%;
  box-sizing: border-box;
}

/* イラスト画像 */
.hero-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* テキスト内容 */
.hero-text {
  color: var(--color-text);
  margin-top: 0; /* SP用と整合 */
}

.hero-line1,
.hero-line2 {
  font-size: 2rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.hero-line1 .highlight,
.hero-line2 .bold {
  font-weight: bold;
  color: var(--color-primary);
}

.hero-line2 .normal {
  font-weight: normal;
  color: var(--color-text);
}

/* CTA（ボタン） */
.hero-cta {
  margin-top: 2rem;
  text-align: left;
}

/* ========== マーカー（強調用） ========== */
.marker {
  background-color: #332C54;
  color: #fff;
  padding: 0 0.3em;
  border-radius: 0.2em;
}

/* ========== ボタンスタイル ========== */

/* 中塗りボタン（濃色・白文字） */
.btn-product {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  background-color: #4E878C;
  border-radius: 6px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.btn-product:hover {
  background-color: #3a6c71;
}

/* アウトラインボタン（白地に枠） */
.btn-product-outline {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  font-size: 1rem;
  font-weight: bold;
  color: var(--color-primary);
  background-color: #fff;
  border: 3px solid #fff;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-product-outline:hover {
  background-color: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}

/* ========== レスポンシブ対応 ========== */
@media (max-width: 768px) {
  .hero-inner {
    flex-direction: column;
    text-align: center;
  }

  .hero-col {
    width: 100%;
  }

  .hero-line1,
  .hero-line2 {
    font-size: 1.5rem;
  }

  .hero-text {
    margin-top: 2rem;
  }

  .hero-cta {
    text-align: center;
  }
}
