<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);
}