リンク下線ホバースライド

<div class="link">
  <a href="#">
    <div class="text">LINK</div>
    <div class="line"></div>
  </a>
</div>
.link a {
  color: rgba(77,77,77,1);
  display: block;
  font-size: 14px;
  letter-spacing: .15em;
  overflow: hidden;
  padding: 0 0 8px;
  position: relative;
  width: fit-content;
}

.link a .line {
  background-color: rgba(77,77,77,.2);
  bottom: 0;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.link a .line:before {
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1);
  -o-transition: transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1);
  transition: transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1);
  transition: transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1), -webkit-transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1);
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: rgba(77,77,77,1);
  -webkit-transform: scale(0,1);
  -ms-transform: scale(0,1);
  transform: scale(0,1);
}

.link a:hover .line:before {
  -webkit-transform-origin: 0% 50%;
  -ms-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}