<div class="button">
  <div class="button__text">Learn more...</div>
  
  <div class="button__wrapper">
    <div class="button__arrow"></div>
    <div class="button__border-circle"></div>
    <div class="button__mask-circle">
      <div class="button__small-circle"></div>
    </div>
  </div>
</div>
// Variables
$color_grey: #BFBFBF;
$color_green: #B3D23F;
$color_dark: #1A1A1A;
$color_light: #FAFAFA;
$color_background: #2D3235;
$default_timer: 987ms;

// Resets
*, *:before, *:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
  
body {
  font-family: Roboto;
  height: 80vh;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: $color_background;
}

// Let's write some real CSS??
.button {
  display: flex;
  cursor: pointer;
  align-items: center;
  padding-right: 40px;
  
  &:hover {
    & .button__border-circle { 
      transform: translateX(60px);
    }
    
    & .button__mask-circle {
      clip-path: circle(25px at 85px);
    }
  }
}

.button__text {
  z-index: 1;
  font-size: 14px;
  margin-right: -18px;
  color: $color_light;
  letter-spacing: 0.05em;
}

.button__wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.button__arrow {
  left: 35px;
  height: 3px;
  width: 50px;
  display: flex;
  position: absolute;
  align-items: center;
  background-color: $color_green;
  
  &:after {
    content: '';
    width: 0; 
    height: 0; 
    top: -5px;
    right: -7px;
    position: absolute;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid $color_green;
  }
}

.button__border-circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid $color_grey;
  transition: transform $default_timer;
}

.button__mask-circle {
  width: 50px;
  height: 50px;
  position: absolute;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  clip-path: circle(25px);
  transition: clip-path $default_timer;
}

.button__small-circle {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  transform: translateX(60px);
  background-color: $color_green;
}
View Compiled
Run Pen

External CSS

  1. https://fonts.googleapis.com/css?family=Roboto

External JavaScript

This Pen doesn't use any external JavaScript resources.