.parallax-container {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.rc-circle {
  will-change: transform;
  position: absolute;
  overflow: visible; /* 中のmotion-wrapperをはみ出させる */
  pointer-events: none;
  border-radius: 50%;
  background: none !important; /* 念のため */
}

.motion-wrapper {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: hsl(30, 100%, 60%); /* JSで上書きされる */
}
.special-circle {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  width: 160vw;
  height: 100vw;
  border-radius: 50%;
  background-color: #ffe5c5;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: transform 1.6s ease, opacity 1.6s ease;
}
@media screen and (max-width: 787px) {
  .special-circle {
    width: 240vh;
    height: 240vh;
  }
}

.special-circle.active {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}
