:root {
  --lp-max-width: 750px;
  --page-bg: #ffffff;

  /* CTA調整用: 1枚目画像内の緑ボタンに重ねるクリック領域 */
  --fv-cta-left: 4.1%;
  --fv-cta-right: 4.1%;
  --fv-cta-top: 89.3%;
  --fv-cta-height: 8.1%;
  --fv-cta-bg-scale: 108.94%;
}

* {
  box-sizing: border-box;
}

html {
  width: 100%;
  min-width: 320px;
  background: var(--page-bg);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--page-bg);
  -webkit-text-size-adjust: 100%;
}

.lp {
  width: min(100%, var(--lp-max-width));
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
}

/* 画像同士のつなぎ目に余白が出ないよう、section自体もline-heightを消す */
.lp-section {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.lp-section img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
}

/* 画像上に重ねるCTAクリック領域。リンク先はHTML側のhrefで変更できます。 */
.cta-hitarea {
  position: absolute;
  z-index: 2;
  display: block;
  cursor: pointer;
  overflow: hidden;
  -webkit-tap-highlight-color: rgba(0, 90, 45, 0.18);
}

.cta-hitarea--fv {
  left: var(--fv-cta-left);
  right: var(--fv-cta-right);
  top: var(--fv-cta-top);
  height: var(--fv-cta-height);
  min-height: 56px;
  border-radius: 999px;
  animation: cta-forward-back 1.8s ease-in-out infinite;
  transform-origin: center center;
}

/* CTA範囲だけを画像から重ね、ボタン部分のみ前後に動かします。 */
.cta-hitarea--fv::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: url("assets/section-01.png");
  background-repeat: no-repeat;
  background-size: var(--fv-cta-bg-scale) auto;
  background-position: center 97.2%;
}

@keyframes cta-forward-back {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }

  50% {
    transform: translateY(-7px) scale(1.018);
  }
}

.cta-hitarea:focus-visible {
  outline: 3px solid rgba(0, 80, 180, 0.75);
  outline-offset: 4px;
}

/* #form への仮リンク用アンカー。後でフォームを置く場合はここを差し替えます。 */
.form-anchor {
  width: 100%;
  height: 1px;
}

@media (max-width: 480px) {
  .cta-hitarea--fv {
    min-height: 52px;
  }
}
