/* 白いマスク（フェードアウト時間を1.2sに延長） */
body::after {
  content: "";
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background: white;
  animation: WhiteMaskFadeOut 1s ease-out forwards;
}

/* ピンクのスライド */
body::before {
  background: #FDE7E8;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: -100%; /* 画面外からスタート */
  transform-origin: center;
  transform: scaleX(1); /* 初期状態: 100% */
  animation: PageSlideShrink 0.7s ease-out 0.5s forwards;
}

#op::before, #op::after {
  display: none;
}

/* コンテンツ表示アニメーション */
#wrap {
  animation-name: PageAnime-content;
  animation-duration: 1s;
  animation-delay: 0.7s; /* ピンクスライド終了後に表示 */
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
  opacity: 0;
  pointer-events: auto;
}

@keyframes WhiteMaskFadeOut {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 0.8;
  }
  70% {
    opacity: 0.3;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes PageSlideShrink {
  0% {
    left: -100%;
    transform: scaleX(1);
    width: 100%;
  }
  25% {
    left: 0%;
    transform: scaleX(0.75);
    width: 75%;
  }
  50% {
    left: 50%;
    transform: scaleX(0.5);
    width: 50%;
  }
  100% {
    left: 100%;
    transform: scaleX(0.25);
    width: 0%;
  }
}


@keyframes PageAnime-content {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
