/* ================================
   リセット・ベース
================================ */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  -webkit-font-smoothing: antialiased;
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
}

/* ================================
   セクション共通
================================ */
.section {
  max-width: 600px;
  margin: 0 auto;
}

.section__img {
  width: 100%;
}

.section--faq {
  margin-top: 30px;
}

/* ================================
   ファーストビュー（ボタン重ね）
================================ */
.hero {
  position: relative;
}

.hero__cta {
  position: absolute;
  bottom: 35px;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 0 20px;
}

.hero__cta .cta__button {
  display: block;
  max-width: 400px;
  margin: 0 auto;
  transition: transform 0.2s, opacity 0.2s;
}

.hero__cta .cta__button:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}

.section--hero + .section--worries {
  padding-top: 36px;
}

/* ================================
   CTA（ボタン）
================================ */
.cta {
  text-align: center;
  padding: 20px 20px 32px;
  background: #F5EDE0;
}

.section--hero .cta {
  background: #EDE4D4;
}

.cta__button {
  display: block;
  max-width: 400px;
  margin: 0 auto;
  transition: transform 0.2s, opacity 0.2s;
}

.cta__button:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}

.cta__button-img {
  width: 100%;
}

/* ================================
   フッター
================================ */
.footer {
  background: #3D3020;
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
  padding: 30px 20px;
}

.footer__links {
  margin-bottom: 16px;
}

.footer__link {
  color: rgba(255, 255, 255, 0.6);
  margin: 0 12px;
  font-size: 13px;
  transition: color 0.2s;
}

.footer__link:hover {
  color: #fff;
}

.footer__copy {
  font-size: 11px;
}

