.rethub-fv {
  position: relative;
  isolation: isolate;
  overflow: clip;
  width: 100%;
  min-height: 86em;
  background: #fff url("../images/section/mv/mv-background@pc.jpg") center top / cover no-repeat;
  color: #090909;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(6px, 0.598vw, 10px);
  line-height: 1.2;
  letter-spacing: 0;
}
.rethub-fv *, .rethub-fv *::before, .rethub-fv *::after { box-sizing: border-box; }
.rethub-fv .rethub-fv__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1672px);
  min-height: 86em;
  margin: 0 auto;
  padding: 7.3em 5em 9em 8em;
}
.rethub-fv .rethub-fv__main {
  display: grid;
  grid-template-columns: 43% 57%;
  align-items: start;
  min-height: 58em;
}
.rethub-fv .rethub-fv__copy { position: relative; z-index: 2; min-width: 0; }
.rethub-fv .rethub-fv__headline {
  margin: 0;
  color: #050505;
  font-family: inherit;
  font-size: 10.2em;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.07em;
  text-align: left;
  white-space: nowrap;
}
.rethub-fv .rethub-fv__headline-first,
.rethub-fv .rethub-fv__headline-second { display: block; }
.rethub-fv .rethub-fv__headline-second { margin-top: 0.04em; }
.rethub-fv .rethub-fv__highlight {
  position: relative;
  isolation: isolate;
  display: inline-block;
  margin-right: 0.02em;
  color: #00ae68;
  font-size: 1.31em;
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.085em;
}
.rethub-fv .rethub-fv__highlight::after {
  position: absolute;
  z-index: -1;
  right: 0.03em;
  bottom: -0.05em;
  left: -0.02em;
  height: 0.105em;
  border-radius: 1em;
  background: #ffe66c;
  content: "";
}
.rethub-fv .rethub-fv__comparison {
  display: flex;
  align-items: center;
  gap: 2em;
  width: 64em;
  margin-top: 3em;
}
.rethub-fv .rethub-fv__comparison-before,
.rethub-fv .rethub-fv__comparison-after {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 13em;
  border-radius: 2em;
  text-align: center;
}
.rethub-fv .rethub-fv__comparison-before { background: #f2f2f2; color: #505050; }
.rethub-fv .rethub-fv__comparison-after { background: #d9ffec; color: #00a963; }
.rethub-fv .rethub-fv__comparison-before > span,
.rethub-fv .rethub-fv__comparison-after > span { color: #111; font-size: 3em; font-weight: 800; line-height: 1.2; }
.rethub-fv .rethub-fv__comparison-before > strong,
.rethub-fv .rethub-fv__comparison-after > strong { font-size: 5.9em; font-weight: 900; line-height: 1.12; white-space: nowrap; }
.rethub-fv .rethub-fv__comparison-arrow {
  display: block;
  flex: 0 0 0;
  width: 0;
  height: 0;
  border-top: 2.4em solid transparent;
  border-bottom: 2.4em solid transparent;
  border-left: 3.6em solid #00b86e;
}
.rethub-fv .rethub-fv__pricing {
  display: flex;
  align-items: center;
  gap: 2.8em;
  width: 66em;
  margin-top: 3.4em;
}
.rethub-fv .rethub-fv__price { display: flex; align-items: center; min-width: 0; white-space: nowrap; }
.rethub-fv .rethub-fv__monthly { margin-right: 0.22em; font-size: 3.2em; font-weight: 900; line-height: 0.92; }
.rethub-fv .rethub-fv__price > strong { color: #009e70; font-size: 7.7em; font-weight: 900; line-height: 1; letter-spacing: -0.07em; }
.rethub-fv .rethub-fv__price > strong > span { font-size: 0.46em; letter-spacing: -0.03em; }
.rethub-fv .rethub-fv__price > small { align-self: flex-end; margin-bottom: 0.28em; font-size: 2em; font-weight: 700; }
.rethub-fv .rethub-fv__unlimited { display: flex; flex-direction: column; padding-left: 2.8em; border-left: 2px solid #00b363; white-space: nowrap; }
.rethub-fv .rethub-fv__unlimited > span { font-size: 3em; font-weight: 800; }
.rethub-fv .rethub-fv__unlimited > strong { color: #00a963; font-size: 5em; font-weight: 900; line-height: 1.12; }
.rethub-fv .rethub-fv__visual { position: relative; z-index: 1; width: 78em; max-width: 100%; min-width: 0; margin-top: 4em; }
.rethub-fv .rethub-fv__laptop { position: relative; width: 100%; aspect-ratio: 1.6; }
.rethub-fv .rethub-fv__screen {
  position: absolute;
  top: 7%;
  left: 12%;
  width: 76%;
  height: 73%;
  overflow: hidden;
  background: #e5e9e5 url("../images/section/floor/display-edit.jpg") center / cover no-repeat;
}
.rethub-fv .rethub-fv__dialog {
  position: absolute;
  top: 5%;
  left: 16%;
  display: block;
  width: 68%;
  height: 90%;
  object-fit: contain;
  filter: drop-shadow(0 0.3em 0.5em rgba(0, 0, 0, 0.24));
}
.rethub-fv .rethub-fv__device { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.rethub-fv .rethub-fv__device img { display: block; width: 100%; height: 100%; }
.rethub-fv .rethub-fv__bubble {
  position: absolute;
  z-index: 3;
  top: -5em;
  right: -6em;
  display: grid;
  place-items: center;
  width: 19em;
  height: 19em;
  border-radius: 50%;
  background: #ffe360;
  color: #050505;
  text-align: center;
  transform: rotate(7deg);
}
.rethub-fv .rethub-fv__bubble::after {
  position: absolute;
  right: 1em;
  bottom: 0.2em;
  width: 3.7em;
  height: 3.6em;
  background: #ffe360;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  content: "";
}
.rethub-fv .rethub-fv__bubble > span { position: relative; z-index: 1; font-size: 3em; font-weight: 900; line-height: 1.2; }
.rethub-fv .rethub-fv__bubble-number { font-size: 1.45em; }
.rethub-fv .rethub-fv__character { position: absolute; z-index: 4; right: -8em; bottom: -9em; display: block; width: 23em; }
.rethub-fv .rethub-fv__character img { display: block; width: 100%; height: auto; }
.rethub-fv .rethub-fv__cta {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.3em;
  width: 88em;
  max-width: 100%;
  min-height: 11em;
  margin: 0 auto;
  padding: 1em 7em 1em 4em;
  border: 0.6em solid #ff6877;
  border-radius: 10em;
  background: #ff173c;
  box-shadow: 0 0.7em 1.2em rgba(193, 27, 54, 0.22);
  color: #fff;
  text-decoration: none;
}
.rethub-fv .rethub-fv__cta-badge {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.45em 1.1em;
  border-radius: 2em;
  background: #fff;
  color: #fb2445;
  line-height: 1.1;
  white-space: nowrap;
}
.rethub-fv .rethub-fv__cta-badge > strong { font-size: 2.7em; font-weight: 900; }
.rethub-fv .rethub-fv__cta-badge > small { font-size: 1.45em; font-weight: 900; }
.rethub-fv .rethub-fv__cta-label { font-size: 4.5em; font-weight: 900; letter-spacing: -0.04em; white-space: nowrap; }
.rethub-fv .rethub-fv__cta-arrow { position: absolute; right: 4.3em; width: 2.2em; height: 2.2em; border-top: 0.55em solid #fff; border-right: 0.55em solid #fff; transform: rotate(45deg); }
.rethub-fv .rethub-fv__city { position: absolute; z-index: 0; right: 0; bottom: 0; left: 0; display: block; width: 100%; }
.rethub-fv .rethub-fv__city img { display: block; width: 100%; height: auto; }
@media (any-hover: hover) {
  .rethub-fv .rethub-fv__cta:hover { filter: brightness(1.06); }
}
@media screen and (max-width: 840px) {
  .rethub-fv {
    min-height: 0;
    background-image: url("../images/section/mv/mv-background@sp.jpg");
    background-size: 100% 100%;
    font-size: min(calc(100vw / 43), 12px);
  }
  .rethub-fv .rethub-fv__inner { width: min(100%, 51.6em); min-height: 0; padding: 3.2em 2.9em 8.4em; }
  .rethub-fv .rethub-fv__main { display: flex; flex-direction: column; min-height: 0; }
  .rethub-fv .rethub-fv__copy { width: 100%; }
  .rethub-fv .rethub-fv__headline { font-size: 5.8em; line-height: 1.05; letter-spacing: -0.08em; }
  .rethub-fv .rethub-fv__headline-second { margin-top: 0.15em; }
  .rethub-fv .rethub-fv__highlight { font-size: 1.5em; }
  .rethub-fv .rethub-fv__comparison { gap: 1.5em; width: 100%; margin-top: 2.5em; }
  .rethub-fv .rethub-fv__comparison-before,
  .rethub-fv .rethub-fv__comparison-after { height: 9.1em; border-radius: 1.7em; }
  .rethub-fv .rethub-fv__comparison-before > span,
  .rethub-fv .rethub-fv__comparison-after > span { font-size: 2.4em; }
  .rethub-fv .rethub-fv__comparison-before > strong,
  .rethub-fv .rethub-fv__comparison-after > strong { font-size: 4.2em; }
  .rethub-fv .rethub-fv__comparison-arrow { border-top-width: 1.7em; border-bottom-width: 1.7em; border-left-width: 2.6em; }
  .rethub-fv .rethub-fv__pricing { gap: 1em; width: 100%; margin-top: 1.8em; }
  .rethub-fv .rethub-fv__monthly { font-size: 2.1em; }
  .rethub-fv .rethub-fv__price > strong { font-size: 5em; }
  .rethub-fv .rethub-fv__price > small { font-size: 1.2em; }
  .rethub-fv .rethub-fv__unlimited { padding-left: 1.1em; border-left-width: 1px; }
  .rethub-fv .rethub-fv__unlimited > span { font-size: 1.9em; }
  .rethub-fv .rethub-fv__unlimited > strong { font-size: 3em; }
  .rethub-fv .rethub-fv__visual { width: 100%; margin-top: 3.2em; }
  .rethub-fv .rethub-fv__laptop { aspect-ratio: 1.55; }
  .rethub-fv .rethub-fv__screen { top: 7%; left: 12%; width: 76%; height: 73%; }
  .rethub-fv .rethub-fv__dialog { top: 5%; left: 16%; width: 68%; height: 90%; }
  .rethub-fv .rethub-fv__bubble { top: -2.3em; right: -0.8em; width: 11em; height: 11em; }
  .rethub-fv .rethub-fv__bubble > span { font-size: 2em; }
  .rethub-fv .rethub-fv__character { right: -2.5em; bottom: -6em; width: 11em; }
  .rethub-fv .rethub-fv__cta {
    flex-direction: column;
    gap: 0.5em;
    width: 100%;
    min-height: 9.6em;
    margin-top: 4.5em;
    padding: 1em 4.5em 0.8em 2em;
    border-width: 0.65em;
  }
  .rethub-fv .rethub-fv__cta-badge { flex-direction: row; gap: 0.5em; padding: 0.2em 1em; }
  .rethub-fv .rethub-fv__cta-badge > strong { font-size: 2.7em; }
  .rethub-fv .rethub-fv__cta-badge > small { font-size: 1.4em; }
  .rethub-fv .rethub-fv__cta-label { font-size: 4em; }
  .rethub-fv .rethub-fv__cta-arrow { right: 2.5em; width: 1.8em; height: 1.8em; border-width: 0.45em; }
}
