* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container {
  background-color: #f0f0f0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  width: 60px;
  height: 60px;
  border-radius: 20px;
  background-color: #f0f0f0;
  box-shadow: 0 0 0 #ccc, 0 0 0 #fff, 10px 10px 10px #ccc inset;
  animation: anime 3s cubic-bezier(0.16, 1, 0.3, 1) 1s infinite alternate;
}

@keyframes anime {
  0% {
    width: 60px;
    height: 60px;
    background-color: #f0f0f0;
    box-shadow: 0 0 0 #ccc, 0 0 0 #fff, 10px 10px 10px #ccc inset,
      -10px -10px -10px #fff inset;
  }
  25% {
    width: 60px;
    height: 60px;
    background-color: #f8f8f8;
    box-shadow: 10px 10px 10px #ccc, 10px 10px 10px #fff, 0 0 0 #ccc inset,
      0 0 0 #fff inset;
  }
  50% {
    width: 60px;
    height: 240px;
    background-color: #f8f8f8;
    box-shadow: 10px 10px 10px #ccc, 10px 10px 10px #fff, 0 0 0 #ccc inset,
      0 0 0 #fff inset;
  }
  100% {
    width: 480px;
    height: 240px;
    background-color: #fafafa;
    box-shadow: 40px 40px 40px #ccc, 0 0 0 #fff, 0 0 0 #ccc inset,
      2px 2px 2px #fff inset;
  }
}
