<section>
  <button class="button1">スッ &raquo;</button>
  <button class="button2">ポチッ</button>
  <button class="button3">グワッ</button>
  <a class="button4" href="#">
    <div class="button4-inner">
      <span>くるりん</span>
      <span>ぱっ</span>
    </div>
  </a>
</section>
* {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo;
  text-decoration: none;
  outline: none;
}

$font1: #fff;
$color1: #1f8b4d;
$color1-border: #006b2d;
$color2: #67c68f;
$base: #27ae60;

[class^="button"] {
  &:hover {
    cursor: pointer;
  }
}

.button1 {
  font-size: 21px;
  color: $font1;
  line-height: 1;
  padding: 15px 30px;
  background-color: $color1;
  border: none;
  border-radius: 5px;
  transition: all .1s linear;
  &:hover {
    transform: translateX(8px);
  }
}

.button2 {
  font-size: 21px;
  color: $font1;
  line-height: 1;
  padding: 15px 30px;
  background-color: $color1;
  margin-top: 0;
  border: none;
  border-bottom: 6px solid $color1-border;
  border-radius: 5px;
  transition: all .1s linear;
  &:hover {
    margin-top: 6px;
    border-bottom-width: 0px;
  }
}

.button3 {
  font-size: 21px;
  color: $font1;
  line-height: 1;
  padding: 15px 30px;
  background-color: $color1;
  border: none;
  border-radius: 5px;
  transition: all .1s linear;
  &:hover {
    transform: scale(1.2);
  }
}

.button4 {
  display: block;
  width: 125px;
  height: 50px;
  perspective: 300;
  .button4-inner {
    width: 100%;
    height: 100%;
    text-align: center;
    transform-style: preserve-3d;
    transition: all .3s linear;
    position: relative;
    &:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      box-shadow: 0 15px 12px -10px rgba(0, 0, 0, 0.3);
      z-index: -1;
    }
    span {
      display: inline-block;
      font-size: 21px;
      color: $font1;
      line-height: 50px;
      width: 100%;
      height: 100%;
      background-color: $color1;
      backface-visibility: hidden;
      border: none;
      border-radius: 5px;
      box-sizing: border-box;
      z-index: 2;
      &:last-child {
        background-color: $color2;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotateY(180deg);
        z-index: -1;
      }
    }
  }
  &:hover {
    .button4-inner {
      transform: rotateY(180deg);
      span {
        &:last-child {
          z-index: 100;
        }
      }
    }
  }
}

html,body {
  margin: 0;
  width: 100vw;
  min-width: 580px;
  height: 100vh;
  position: relative;
  background-color: $base;
}
section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 580px;
  transform: translate(-50%, -50%);
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.