/* FV: NEWデザイン_2026年10月10日 / PC_v4・SP_v4 */
.p_top .mv.fv {
  --fv-green: #00aa6e;
  --fv-text: #373737;
  position: relative;
  isolation: isolate;
  padding: 0;
  margin: 0;
  background: none;
  color: var(--fv-text);
}
.fv::before {
  content: "";
  position: absolute;
  inset: 0 0 11.8rem;
  z-index: -1;
  background: url('../img/fv-bg.webp') center -8.92rem / 109.36% 229.21% no-repeat;
  opacity: .41;
}
.fv__inner {
  width: 84.5rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 3.7rem 0 2.205rem;
  display: grid;
  grid-template-columns: 46.1rem 36.3rem;
  grid-template-rows: 28.1rem 10.395rem;
  grid-template-areas: 'title visual' 'cta stats';
  column-gap: 2.1rem;
}
.fv__title {
  grid-area: title;
  align-self: start;
  padding-top: 3.3rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: var(--fv-green);
  margin: 0;
  letter-spacing: -.01em;
}
.fv__intro {
  display: flex;
  align-items: baseline;
  font-size: 2.9778rem;
  line-height: 4.5833rem;
  height: 4.5833rem;
  white-space: nowrap;
  color: var(--fv-text);
  letter-spacing: -.07em;
}
.fv__time {
  display: inline-flex;
  align-items: baseline;
  gap: .12em;
  color: var(--fv-green);
  font-size: 2.4321rem;
  letter-spacing: 0;
}
.fv__time strong {
  display: inline-block;
  font-size: 5.1334rem;
  font-weight: 900;
  line-height: .7;
  transform: skewX(-16deg);
  margin: 0 .07em;
}
.fv__time b { font-size: 2.9778rem; letter-spacing: -.05em; }
.fv__sns { font-size: 3.7537rem; letter-spacing: .03em; }
.fv__headline {
  display: block;
  font-size: 6.0246rem;
  line-height: 7.3561rem;
  height: 7.3561rem;
  white-space: nowrap;
}
.fv__headline + .fv__headline { margin-top: .126rem; }
.fv__highlight { display: inline-block; position: relative; background: none; }
.fv__highlight::before { content: ""; position: absolute; z-index: -1; left: 0; right: 0; top: 5.538rem; height: 1.8853rem; background: #f9ff47; }
.fv__headline small { font-size: .75em; }
.fv__visual {
  grid-area: visual;
  position: relative;
  width: 35rem;
  height: 27.5845rem;
  margin-left: 1.3rem;
}
.fv-phone { position: absolute; left: 0; top: 0; width: 39.714286%; height: 100%; }
.fv-phone__image { position: absolute; inset: 0; overflow: hidden; }
.fv-phone__image img {
  position: absolute;
  width: 280.5%;
  max-width: none;
  height: 141.74%;
  left: -90.18%;
  top: -21.26%;
}
.fv-phone__screen {
  position: absolute;
  left: 7.74224%;
  top: 3.906236%;
  width: 84.495%;
  height: 91.797%;
  background: #fff;
  -webkit-mask: url('../img/fv-screen.svg') center / 100% 100% no-repeat;
  mask: url('../img/fv-screen.svg') center / 100% 100% no-repeat;
}
.fv-phone__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.fv__benefits { position: absolute; left: 49.714286%; top: 10.1506%; width: 50.285714%; }
.fv-card {
  position: relative;
  width: 100%;
  height: 9.6rem;
  background: #fff;
  border-top: 1rem solid var(--fv-green);
  border-radius: 1rem;
  box-shadow: 0 0 .92rem rgba(0,0,0,.17);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1.7736rem;
  font-weight: 700;
  line-height: 2.3rem;
  letter-spacing: .05em;
}
.fv-card p { margin: 0; }
.fv-card em { color: #ed5624; font-style: normal; }
.fv-card--second { margin-top: 3.1rem; }
/* Keep the SVGs at their exported dimensions; scale their wrappers with the layout. */
.fv-connector { position: absolute; transform-origin: top left; }
.fv-connector img { display: block; max-width: none; width: auto; height: auto; }
.fv-connector--top { left: -3.4rem; top: 1.2rem; }
.fv-connector--leaf { left: -2.8rem; top: .4rem; }
.fv-connector--bottom { left: -2.18rem; top: 2.05rem; transform: rotate(37.06deg); }
.fv__stats { grid-area: stats; display: flex; gap: .9188rem; width: 35.7rem; }
.fv-stat { position: relative; flex: 1; height: 10.395rem; overflow: hidden; }
.fv-stat img { position: absolute; max-width: none; top: -12.93%; height: 125.85%; }
.fv-stat--clients img { width: 199.1%; left: 0; }
.fv-stat--repeat img { width: 200.91%; left: -100.91%; }
.fv__cta { grid-area: cta; width: 39.9rem; margin: -1.7rem 0 0 3.4rem; text-align: center; filter: drop-shadow(0 .3rem .3rem rgba(0,0,0,.25)); }
.fv__cta-note {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 31.3rem;
  height: 3.4277rem;
  margin: 0 auto -.3827rem;
  border-radius: 1.7442rem;
  color: #fff;
  background: #005932;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.58;
  white-space: nowrap;
}
.fv__cta-note::after { content: ''; position: absolute; left: calc(50% - .6rem); bottom: -.5rem; border-left: .6rem solid transparent; border-right: .6rem solid transparent; border-top: .6rem solid #005932; }
.fv .fv__cta-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 6.3rem;
  border: 2px solid #008b4d;
  border-radius: 3.45rem;
  background: #ffff53;
  color: #005932;
  font-weight: 700;
  font-size: 2.3rem;
  line-height: 1.21739;
  letter-spacing: .03em;
  padding-right: 1.7rem;
}
.fv .fv__cta-link::after { content: ''; position: absolute; right: 3.35rem; top: 50%; transform: translateY(-50%); width: .807rem; height: 1.7rem; background: url('../img/ar.webp') center / 100% 100% no-repeat; }
.p_top .carousel.fv__carousel { padding: 1.4rem 0 1.6rem; background: var(--fv-green); }
.fv__logo-track { margin-left: -5.55rem; display: flex; width: max-content; background: #fff; animation: fv-logos 30s linear infinite; }
.fv__logos { display: flex; align-items: center; flex-shrink: 0; gap: 1.7rem; height: 8.8rem; padding: 0 .85rem; margin: 0; list-style: none; }
.fv-logo { position: relative; flex-shrink: 0; overflow: hidden; }
.fv-logo img { display: block; width: 100%; height: 100%; max-width: none; }
.fv-logo--steak { margin-right: -1.1rem; width: 15.3109rem; height: 6.4041rem; }
.fv-logo--sbc { margin-right: -.5rem; width: 8.7596rem; height: 6.2569rem; }
.fv-logo--sbc img { position: absolute; width: 174.79%; left: -39.08%; }
.fv-logo--gmo { margin-right: .255rem; width: 16.1206rem; height: 2.9444rem; }
.fv-logo--dym { margin-right: .508rem; width: 9.8638rem; height: 2.5027rem; }
.fv-logo--cchannel { margin-right: .067rem; width: 15.5318rem; height: 4.2694rem; }
.fv-logo--livestar { margin-right: -.522rem; width: 14.354rem; height: 4.2694rem; }
.fv-logo--shiromoto { margin-right: -.818rem; width: 15.3845rem; height: 4.9319rem; }
.fv-logo--yokichi { width: 10.0951rem; height: 3.5333rem; }
@keyframes fv-logos { to { transform: translateX(-50%); } }
@media (min-width: 769px) and (max-width: 1400px) {
  .fv-connector { zoom: calc(100vw / 1400px); }
  .fv-connector--top { left: -34px; top: 12px; }
  .fv-connector--leaf { left: -28px; top: 4px; }
  .fv-connector--bottom { left: -21.8px; top: 20.5px; }
}
@media (max-width: 768px) {
  .fv { display: flex; flex-direction: column; }
  .fv::before { top: -13.59903vw; bottom: auto; height: 208.21256vw; background-size: 428.89% 136.91%; background-position: -158.19vw -21.55vw; opacity: .56; }
  .fv__inner { display: contents; }
  .fv__title { order: 1; width: 100%; padding: 6.69vw 0 0; height: 50.41063vw; text-align: center; }
  .fv__intro { justify-content: center; font-size: 6.10435vw; line-height: 9.39614vw; height: 9.39614vw; letter-spacing: -.07em; }
  .fv__time { font-size: 4.98575vw; }
  .fv__time strong { font-size: 10.52319vw; }
  .fv__time b { font-size: 6.10435vw; }
  .fv__sns { font-size: 7.695vw; }
  .fv__headline { font-size: 12.349vw; line-height: 15.0797vw; height: 15.0797vw; }
  .fv__highlight::before { top: 11.35265vw; height: 3.86473vw; }
  .fv__headline + .fv__headline { margin-top: .255vw; }
  .fv__visual { order: 2; width: 84.54106vw; height: 66.62917vw; margin: 0 0 .76208vw 9.17874vw; }
  .fv-card { height: 23.18841vw; border-top-width: 2.41546vw; border-radius: 2.41546vw; box-shadow: 0 0 2.22222vw rgba(0,0,0,.17); font-size: 4.28406vw; line-height: 5.55556vw; }
  .fv-card--second { margin-top: 7.48792vw; }
  .fv-connector { zoom: calc(100vw / 414px); }
  .fv-connector--top { left: -34px; top: 12px; }
  .fv-connector--leaf { left: -28px; top: 4px; }
  .fv-connector--bottom { left: -21.8px; top: 20.5px; }
  .fv__stats { order: 3; width: 92.27053vw; gap: 2.37681vw; margin: 0 3.86473vw 2.99758vw; }
  .fv-stat { height: 26.86691vw; }
  .p_top .carousel.fv__carousel { order: 4; padding: 0; background: #fff; box-shadow: 0 0 2.27053vw rgba(0,0,0,.1); }
  .fv__logos { height: 15.4686vw; }
  .fv__cta { order: 5; width: 100%; margin: 0; padding: 5.8826vw 8.21498vw 6.04vw; background: var(--fv-green); filter: none; }
  .fv__cta-note { width: 65.68309vw; height: 7.19299vw; margin-bottom: -.8017vw; border-radius: 3.66039vw; font-size: 2.93792vw; }
  .fv__cta-note::after { left: calc(50% - 1.44928vw); bottom: -1.20773vw; border-left-width: 1.44928vw; border-right-width: 1.44928vw; border-top-width: 1.44928vw; }
  .fv .fv__cta-link { height: 13.22053vw; border-width: .4198vw; border-radius: 7.24vw; font-size: 4.82657vw; padding-right: 4.10628vw; box-shadow: 0 .72464vw .72464vw rgba(0,0,0,.25); }
  .fv .fv__cta-link::after { right: 8.46vw; width: 1.68vw; height: 3.56739vw; }
  /* The logo strip retains the same individual logo sizes on mobile. */
  .fv__logo-track { margin-left: -41.5px; }
  .fv-logo--steak { margin-right: -11px; }
  .fv-logo--sbc { margin-right: -5px; }
  .fv-logo--gmo { margin-right: 2.55px; }
  .fv-logo--dym { margin-right: 5.08px; }
  .fv-logo--cchannel { margin-right: .67px; }
  .fv-logo--livestar { margin-right: -5.22px; }
  .fv-logo--shiromoto { margin-right: -8.18px; }
  .fv__logos { gap: 17px; padding: 0 8.5px; }
  .fv-logo--steak { width: 153.109px; height: 64.041px; }
  .fv-logo--sbc { width: 87.596px; height: 62.569px; }
  .fv-logo--gmo { width: 161.206px; height: 29.444px; }
  .fv-logo--dym { width: 98.638px; height: 25.027px; }
  .fv-logo--cchannel { width: 155.318px; height: 42.694px; }
  .fv-logo--livestar { width: 143.54px; height: 42.694px; }
  .fv-logo--shiromoto { width: 153.845px; height: 49.319px; }
  .fv-logo--yokichi { width: 100.951px; height: 35.333px; }
}
@media (prefers-reduced-motion: reduce) { .fv__logo-track { animation: none; } }
