<div class="kaiten">
  <div class="move">
    <div class="maru"></div>
  </div>
</div>
body {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  height: 100vh;
  overflow: hidden;
  background: #fff;
  -webkit-perspective: 500px;
          perspective: 500px;
}

.maru {
  width: 100px;
  height: 100px;
  background: -webkit-gradient(linear, left bottom, left top, from(#7c0000), color-stop(#db3e14), to(#ff904e));
  background: linear-gradient(0deg, #7c0000, #db3e14, #ff904e);
  border-radius: 100%;
}

.move {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-transform: translateZ(150px);
          transform: translateZ(150px);
}

.kaiten {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-animation: rotationY 3000ms linear infinite;
          animation: rotationY 3000ms linear infinite;
}

@-webkit-keyframes rotationY {
  0% {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}

@keyframes rotationY {
  0% {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.