JSFiddle - React, Tailwind, and code Playground

HTML

<div class="wrapper">
  О КОМПАНИИ
  <div class="inner"><span>О КОМПАНИИ</span></div>
</div>

CSS

.wrapper {
  outline: solid 1px green;
  width: 90vw;
  height: 20vw;
  font-size: 12vw;
  font-weight: bold;
  font-family: arial;
  line-height: 20vw;
  position: relative;
}
.inner {
  background: white;
  width: 30vw;
  height: 20vw;
  box-shadow: 0 0 10px 5px rgba(0,0,0,0.5);
  overflow: hidden;
  position: absolute;
  top: 0px;
  left: 0;
}
.inner span {
  white-space: pre;
  color: navy;
  position: absolute;
  top: -2px;
  left: 0;
}

JavaScript

let inner = document.querySelector('.inner'),
    span = inner.querySelector('span'),
    pos = 0, step = 0, steps = 100, reverse = false;

function move() {
    if (step > steps || step < 0) {
    	reverse = !reverse;
    }
    step = reverse ? step - 1 : step + 1
    pos += easing(step/steps)*6*(reverse?-1:1)
    
    inner.style.left = pos + "px";
    span.style.left =  - pos + "px";
     
    requestAnimationFrame(move);
}
move();

function easing (t) { return t<0.5 ? 8*t*t*t*t : 1-8*(--t)*t*t*t }