https://codepen.io/yura-kotov/pen/RwryRyO
Наверное так же как и в моем примере, сделаном на скорую руку
Главное тут
transition: 2s;
Думаю подходов еще есть туча. но это самый явный так сказать. нарисовал вокруг кнопки круг, с нужным фоном. а потом его при наведении на кнопку т.е :hover, делаешь еще больше. видел еще как крутые анимированые кнопки делали на svg, но мы же тут самый наверное простой способ желаем. Кста по поводу увеличения обьекта при анимации(с боку) - а надо например центр. то решение такое тоже есть в одну строчку. - если загуглить то быстро можно найти. Ет я так если будешь делать самым легким способом