:root {
  --lp-width: 850px;
  --navy: #001b45;
  --orange: #ff510f;
  --page-bg: #eef4fa;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--page-bg);
}

body {
  margin: 0;
  color: var(--navy);
  background: var(--page-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.lp {
  width: min(100%, var(--lp-width));
  margin-inline: auto;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 36px rgb(0 27 69 / 10%);
}

.panel,
.cta {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.panel img {
  display: block;
  width: 100%;
  height: auto;
}

.cta {
  position: relative;
  background: #fff;
  overflow: hidden;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.cta-crop {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}

.cta-crop img {
  position: absolute;
  inset: 50% auto auto 50%;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
}

.phone-crop { aspect-ratio: 3.15 / 1; }
.form-crop { aspect-ratio: 3.55 / 1; }

.phone-crop img { width: 100%; }
.form-crop img { width: 100%; }

.cta:focus-visible {
  outline: 5px solid #1473e6;
  outline-offset: -5px;
}

.cta:active {
  filter: brightness(.93);
  transform: scale(.995);
}

@media (max-width: 600px) {
  .lp { box-shadow: none; }
  .phone-crop { aspect-ratio: 3.05 / 1; }
  .form-crop { aspect-ratio: 3.45 / 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
