.sec_livedouga_video .player .stage .main {
  .guide {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;

    @media (max-width: 700px) { grid-column: 1 / -1; grid-row: 3; }

    .chr {
      position: relative;
      width: 100%;
      max-width: min(300px, calc((56.25cqw - 275px) * .666667));
      aspect-ratio: 2 / 3;

      @media (max-width: 1000px) { max-width: min(300px, calc((62.5cqw - 275px) * .666667)); }
      @media (max-width: 700px) { max-width: 100px; }
      @media (max-width: 360px) { max-width: 72px; }

      > img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
      }

      .chr-mouth { opacity: 0; }
      &.is-talking .chr-mouth { opacity: 1; }
      &[data-gesture="bounce"] { animation: guide-bounce var(--gesture-duration) ease-in-out infinite; }
      &[data-gesture="nod-once"] { animation: guide-nod var(--gesture-duration) ease-in-out both; }
      &[data-gesture="tilt"] { animation: guide-tilt var(--gesture-duration) ease-in-out both; }

      @media (prefers-reduced-motion: reduce) { animation: none !important; }
    }

    .info {
      margin: 0;
      padding: 9px 10px;
      width: 100%;
      max-width: min(320px, 24cqw);
      background: rgba(7, 18, 48, .94);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.7em;
      border: 1px solid rgba(255, 255, 255, .36);
      border-radius: 6px;

      @media (max-width: 700px) { max-width: none; }
    }
  }
}

@keyframes guide-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes guide-nod {
  0%, 100% { transform: translateY(0); }
  45% { transform: translateY(3px); }
}
@keyframes guide-tilt {
  0%, 100% { transform: rotate(0); }
  50% { transform: rotate(-1.5deg); }
}

.sec_livedouga_video .player .stage[data-scene="price"] .main .guide .chr {
  max-width: min(48%, calc((56.25cqw - 275px) * .666667));
  @media (max-width: 1000px) { max-width: min(48%, calc((62.5cqw - 275px) * .666667)); }
  @media (max-width: 700px) { max-width: 100px; }
  @media (max-width: 360px) { max-width: 72px; }
}
