/* Main visual only. The existing header CSS is unchanged. */
@font-face {
  font-family: "FV Sans";
  src: url("../fonts/noto-sans-jp-medium.woff") format("woff");
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
}
@font-face {
  font-family: "FV Supporting Serif";
  src: url("../fonts/noto-serif-jp-medium.woff") format("woff");
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
}
@font-face {
  font-family: "FV Serif";
  src: url("../fonts/fv-serif.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "FV Sans";
  src: url("../fonts/noto-sans-jp-regular.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "FV Sans";
  src: url("../fonts/noto-sans-jp-bold.woff") format("woff");
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}
@font-face {
  font-family: "FV Supporting Serif";
  src: url("../fonts/noto-serif-jp.woff") format("woff");
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
}
.fv { --fv-unit: calc(100vw / 1400); }
.fv {
  --fv-green: #1c5148;
  --fv-yellow: #ffd900;
  position: relative; width: 100%; height: calc(936 * var(--fv-unit));
  overflow: hidden; isolation: isolate; background: #eef7fb;
}
.fv__background { display: none; }
.fv__visual {
  position: absolute; inset: 0; z-index: -1; overflow: hidden;
}
.fv__visual::before { content: none; }
.fv__visual-pc {
  position: absolute; left: .0541667%; top: -2.38088%;
  width: 100.86235%; height: 102.93937%; max-width: none;
}
.fv__visual-sp { display: none; }
.fv__inner { position: relative; width: 100%; height: 100%; }
.fv__copy { position: absolute; inset: 0; }
.fv__eyebrow {
  position: absolute; top: calc(143 * var(--fv-unit)); left: calc(40 * var(--fv-unit));
  width: calc(748 * var(--fv-unit)); margin: 0;
  font-family: "FV Serif", "Noto Serif JP", serif; font-weight: 400;
  font-size: calc(39 * var(--fv-unit)); line-height: 1.25;
  letter-spacing: .018em; color: #000; text-align: center;
}
.fv__title {
  position: absolute; left: calc(40 * var(--fv-unit)); top: calc(209 * var(--fv-unit));
  margin: 0; padding: 0; width: max-content; max-width: none;
  font-family: "FV Supporting Serif", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif; font-weight: 600;
  font-size: calc(61.3109 * var(--fv-unit)); line-height: 1;
  letter-spacing: -.10em; color: #000; white-space: nowrap;
  background: linear-gradient(var(--fv-yellow),var(--fv-yellow)) left bottom / calc(748 * var(--fv-unit)) calc(10.5 * var(--fv-unit)) no-repeat;
}
.fv__title-line { display: inline; }
.fv__title em { color: var(--fv-green); font-style: normal; font-size: calc(79.0042 * var(--fv-unit)); letter-spacing: 0; margin-right: calc(-9 * var(--fv-unit)); }
.fv__title-sp { display: none; }
.fv__lead {
  position: absolute; top: calc(306 * var(--fv-unit)); left: calc(40 * var(--fv-unit));
  width: calc(748 * var(--fv-unit)); margin: 0; color: #000;
  font-size: calc(22 * var(--fv-unit)); font-weight: 700; line-height: 1.6; text-align: center;
}
.fv__lead-break { display: none; }
.fv__issues {
  position: absolute; left: calc(78 * var(--fv-unit)); top: calc(361 * var(--fv-unit));
  width: calc(689 * var(--fv-unit)); height: calc(192 * var(--fv-unit));
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
  background: #fff; border-radius: calc(16 * var(--fv-unit));
}
.fv__issue {
  display: flex; align-items: center; gap: calc(26 * var(--fv-unit));
  padding: calc(10 * var(--fv-unit)) calc(26 * var(--fv-unit));
  border-right: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0;
}
.fv__issue:nth-child(2n) { border-right: 0; }
.fv__issue:nth-last-child(-n+2) { border-bottom: 0; }
.fv__issue-icon { display: block; flex: 0 0 calc(72 * var(--fv-unit)); width: calc(72 * var(--fv-unit)); height: calc(72 * var(--fv-unit)); }
.fv__issue-icon img { width: 100%; height: 100%; object-fit: contain; }
.fv__issue-text {color: #000;
  font-size: calc(19 * var(--fv-unit));
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap; }
.fv__conversion { position: absolute; inset: 0; pointer-events: none; }
.fv__proof {
  position: absolute; left: calc(195 * var(--fv-unit)); top: calc(560 * var(--fv-unit));
  width: calc(449 * var(--fv-unit)); height: calc(45 * var(--fv-unit));
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(ellipse at center,#323232 0%,#050505 75%);
  border-radius: 999px; color: #fff; font-weight: 500;
  font-size: calc(20 * var(--fv-unit)); letter-spacing: .07em; white-space: nowrap;
}
.fv__proof::after {
  content: ""; position: absolute; top: calc(100% - 1px); left: 50%; transform: translateX(-50%);
  border-left: calc(13 * var(--fv-unit)) solid transparent;
  border-right: calc(13 * var(--fv-unit)) solid transparent;
  border-top: calc(15 * var(--fv-unit)) solid #050505;
}
.fv__badges {
  position: absolute; left: calc(165 * var(--fv-unit)); top: calc(626 * var(--fv-unit));
  width: calc(507 * var(--fv-unit)); margin: 1em 0; padding: 0; list-style: none;
  display: flex; gap: calc(16 * var(--fv-unit));
}
.fv__badges li { flex: 1; min-width: 0; }
.fv__badges img { width: 100%; height: auto; }
.fv__cta {
  position: absolute; top: calc(795 * var(--fv-unit)); left: calc(247 * var(--fv-unit));
  width: calc(346 * var(--fv-unit)); height: calc(81 * var(--fv-unit));
  display: flex; align-items: stretch; overflow: hidden; border-radius: 999px;
  color: #fff; background: linear-gradient(110deg,#0a7257,#10574b);
  box-shadow: 0 calc(5 * var(--fv-unit)) 0 #292929;
  text-decoration: none; pointer-events: auto;
  transition: transform .25s ease, filter .25s ease;
}
.fv__cta:hover { transform: translateY(-2px); filter: brightness(1.08); }
.fv__cta-time {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: calc(86 * var(--fv-unit)); flex: 0 0 calc(86 * var(--fv-unit));
  padding-right: calc(14 * var(--fv-unit));
  clip-path: polygon(0 0,78% 0,100% 50%,78% 100%,0 100%);
  background: #ffdf37; color: #00604f; line-height: 1.15;
}
.fv__cta-time small { font-size: calc(12 * var(--fv-unit)); font-weight: 700; }
.fv__cta-time strong { font-size: calc(24 * var(--fv-unit)); font-weight: 700; }
.fv__cta-label {
  display: grid; place-items: center; flex: 1; padding-left: calc(9 * var(--fv-unit));
  font-size: calc(23 * var(--fv-unit)); font-weight: 700; white-space: nowrap;
}
.fv__cta-arrow {
  display: grid; place-items: center; align-self: center;
  width: calc(20 * var(--fv-unit)); height: calc(20 * var(--fv-unit)); flex: 0 0 calc(20 * var(--fv-unit));
  margin: 0 calc(29 * var(--fv-unit)) 0 calc(10 * var(--fv-unit));
  border-radius: 50%; background: #fff; color: #105d4c; font-size: calc(9 * var(--fv-unit));
}
@media (max-width: 768px) {
.fv { --fv-unit: calc(100vw / 640); }
.fv { height: calc(1102 * var(--fv-unit)); }
/* Restore the original mobile background and copy-side gradient. */
.fv__background { display: block; }
.fv__visual::before { content: ""; }
.fv__visual-pc { display: none; }
.fv__visual-sp {
    display: block; position: absolute; left: -.356522%; top: -.836137%;
    width: 109.519339%; height: 101.690575%; max-width: none;
  }
.fv__eyebrow { top: calc(114 * var(--fv-unit)); left: calc(29 * var(--fv-unit)); width: max-content; font-size: calc(33.6847 * var(--fv-unit)); line-height: 1.4; letter-spacing: 0; text-align: left;margin:0.2em 0; }
.fv__title { left: calc(26 * var(--fv-unit)); top: calc(151 * var(--fv-unit)); font-size: calc(50.7575 * var(--fv-unit)); line-height: 1.3; letter-spacing: -.045em; background: none;margin: 0.2em 0; }
.fv__title-line { display: block; width: max-content; background: linear-gradient(var(--fv-yellow),var(--fv-yellow)) left bottom / 100% calc(12 * var(--fv-unit)) no-repeat; }
.fv__title-line:first-child { background-size: calc(354 * var(--fv-unit)) calc(12 * var(--fv-unit)); }
.fv__title-line + .fv__title-line { margin-top: calc(1 * var(--fv-unit)); background-size: calc(255 * var(--fv-unit)) calc(12 * var(--fv-unit)); }
.fv__title em { font-size: calc(59.4052 * var(--fv-unit)); margin-right: calc(-8 * var(--fv-unit)); }
.fv__title-pc { display: none; }
.fv__title-sp { display: inline; }
.fv__lead { left: calc(30.6 * var(--fv-unit)); top: calc(326 * var(--fv-unit)); width: max-content; font-size: calc(20.7574 * var(--fv-unit)); line-height: 1.3; text-align: left; }
.fv__lead-break { display: block; }
.fv__issues { left: calc(30 * var(--fv-unit)); top: calc(396 * var(--fv-unit)); width: calc(294 * var(--fv-unit)); height: auto; display: flex; flex-direction: column; gap: calc(11 * var(--fv-unit)); background: none; border-radius: 0; }
.fv__issue { height: calc(57 * var(--fv-unit)); padding: calc(5 * var(--fv-unit)) calc(19 * var(--fv-unit)); gap: calc(18 * var(--fv-unit)); border: 0; border-radius: calc(8 * var(--fv-unit)); background: #fff; }
.fv__issue-icon { width: calc(47 * var(--fv-unit)); height: calc(47 * var(--fv-unit)); flex-basis: calc(47 * var(--fv-unit)); }
.fv__issue-text { font-size: calc(18.5011 * var(--fv-unit)); font-weight: 500; line-height: 1.3; }
.fv__proof { left: calc(30 * var(--fv-unit)); top: calc(680 * var(--fv-unit)); width: calc(578 * var(--fv-unit)); height: calc(52 * var(--fv-unit)); font-size: calc(25.1513 * var(--fv-unit)); letter-spacing: .04em; }
.fv__proof::after { border-left-width: calc(16 * var(--fv-unit)); border-right-width: calc(16 * var(--fv-unit)); border-top-width: calc(16 * var(--fv-unit)); }
.fv__badges { left: calc(27 * var(--fv-unit)); top: calc(758 * var(--fv-unit)); width: calc(573 * var(--fv-unit)); gap: calc(17 * var(--fv-unit)); }
.fv__cta { left: calc(27 * var(--fv-unit)); top: calc(950.586 * var(--fv-unit)); width: calc(410 * var(--fv-unit)); height: calc(88 * var(--fv-unit)); box-shadow: 0 calc(5 * var(--fv-unit)) 0 #292929; }
.fv__cta-time { width: calc(95 * var(--fv-unit) + 30px); flex-basis: calc(95 * var(--fv-unit) + 30px); padding-right: calc(14 * var(--fv-unit)); }
.fv__cta-time small { font-size: calc(14 * var(--fv-unit)); }
.fv__cta-time strong { font-size: calc(27 * var(--fv-unit)); }
.fv__cta-label { font-size: calc(26 * var(--fv-unit)); padding-left: calc(10 * var(--fv-unit)); }
.fv__cta-arrow { width: calc(22 * var(--fv-unit)); height: calc(22 * var(--fv-unit)); flex-basis: calc(22 * var(--fv-unit)); margin-right: calc(31 * var(--fv-unit)); font-size: calc(10 * var(--fv-unit)); }
}
.fv { min-height: 0; max-height: none; font-family: "FV Sans", "Noto Sans JP", sans-serif; }
.fv .fv__visual { width: 100%; height: 100%; }
.fv .fv__visual-pc { display: block; object-fit: fill; }
.fv .fv__inner { margin: 0; padding: 0; min-height: 0; display: block; }
.fv .fv__copy { width: 100%; }
.fv .fv__eyebrow { display: block; max-width: none; }
.fv .fv__lead { display: block; min-width: 0; letter-spacing: 0;margin: -0.06em 0; }
.fv .fv__issues { overflow: hidden; box-shadow: none; }
.fv .fv__issue { min-height: 0; }
.fv .fv__issue-icon { border-radius: 0; background: transparent; position: static; }
.fv .fv__conversion { width: 100%; height: 100%; min-height: 0; margin: 0; display: block; }
.fv .fv__conversion-row { position: static; width: 100%; min-height: 0; margin: 0; display: block; }
.fv .fv__proof { bottom: auto; max-width: none; margin: 0.9em 0 ; padding: 0; }
.fv .fv__cta { right: auto; min-width: 0; margin: 1em 0; }
.fv .fv__cta-time { position: static; margin: 0; padding: 0 calc(14 * var(--fv-unit)) 0 0; }
.fv .fv__cta-time::after { content: none; }
.fv .fv__cta-time strong { margin-top: 0; }
.fv .fv__cta-label { letter-spacing: 0; }
.fv .fv__cta:focus-visible { outline: 3px solid #d9b400; outline-offset: 5px; }
@media (min-width: 769px) {
 .fv {
   /* 1400px layout; reserve space for the header and the CTA shadow. */
   --fv-scale-limit: 1px;
   --fv-layout-offset: 0px;
   --fv-unit: min(
     var(--fv-scale-limit),
     calc(100vw / 1400),
     calc((100svh - var(--fv-layout-offset) - 12px) / 876),
     calc((100svh - var(--fv-layout-offset) - 112px) / 733)
   );
   --fv-top-offset: calc(var(--fv-layout-offset) + max(0px, calc(100px - 143 * var(--fv-unit))));
   height: min(100svh, calc(936 * var(--fv-unit) + var(--fv-top-offset)));
 }
 .fv .fv__inner {
   width: calc(1400 * var(--fv-unit));
   height: calc(936 * var(--fv-unit));
   margin: 0 auto;
   top: var(--fv-top-offset);
 }
 .fv .fv__visual {
   background: none;
 }
 .fv .fv__visual-pc {
   inset: 0;
   width: 100%;
   height: 100%;
   transform: none;
   object-fit: cover;
   object-position: center 25%;
 }
 .fv .fv__issues { top: calc(351 * var(--fv-unit)); }
 .fv .fv__title { font-size: calc(66 * var(--fv-unit)); letter-spacing: -.13em; }
 .fv .fv__title em { margin-right: calc(-1 * var(--fv-unit)); }
 .fv .fv__issue-text { font-size: calc(25.5 * var(--fv-unit)); }
 .fv .fv__proof,
 .fv .fv__badges,
 .fv .fv__cta { margin: 0; }
}
@media (min-width: 1401px) {
 .fv {
   /* Wide PC layout based on 1980.jpg, with a bounded increase in scale. */
   --fv-scale-limit: 1.06px;
   --fv-layout-offset: clamp(0px, calc((100vw - 1400px) * .055), 36px);
 }
 .fv .fv__visual-pc {
   inset: auto 0;
   top: 47%;
   height: clamp(100%, calc(100% + (100vw - 1400px) * .66), 144%);
   transform: translateY(-47%);
 }
 .fv .fv__title { letter-spacing: -.08em; }
}
@media (min-width: 769px) and (min-height: 560px) {
 .fv .fv__issue-text { font-size: max(13px, calc(25.5 * var(--fv-unit))); }
 .fv .fv__cta-time small { font-size: max(9px, calc(12 * var(--fv-unit))); }
 .fv .fv__cta-time strong { font-size: max(16px, calc(24 * var(--fv-unit))); }
 .fv .fv__cta-label { font-size: max(14px, calc(23 * var(--fv-unit))); }
}
@media (max-width: 768px) {
 .fv .fv__visual-pc { display: none; }
 .fv .fv__visual-sp { object-fit: fill; }
 .fv .fv__issues { overflow: visible;margin: 0.3em 0; }
 .fv .fv__cta { left: 0; right: 0; margin-left: auto; margin-right: auto; }
}
@media (prefers-reduced-motion: reduce) {
 .fv *, .fv *::before, .fv *::after { transition-duration: .01ms !important; }
}
