Ну, на данном сайте внутри кнопки есть элемент , который перемещается из одного места в другое через равные промежутки времени.
Я бы сделал так:
1. Кнопке назначаем
position: relative;
2. Создаем внутри нее псевдоэлемент с
position: absolute;
width: 1em;
height: 1em;
opacity: 0;
border-radius: 0.5em;
transform: scale(0);
transition: all 1.5s linear
и центрируем любым известным способом
3. При наведении каждые N миллисекунд проверяем положение курсора внутри элемента, назначаем эти координаты через свойства top и left нашему псевдоэлементу и пишем ему произвольный scale и opacity, тем самым он будет расширяться от курсора. А способ затухания и сброса анимации на ваш вкус.