body {
  margin: 0;
  font-family: sans-serif;
  background-size: cover;
  width: 100%;
  height: 100vh;
}
body#page1{
  background-image: url(../img/40301_s.jpg);
}
body#page2{
  background-image: url(../img/3328965_s.jpg);
}

/* フェードオーバーレイ本体 */
#fade-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 9999;
  overflow: hidden;
}

/* 擬似要素に背景とアニメーション */
#fade-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: -200%;
  width: 300%;
  height: 100%;
  background-image: url(../img/bg_white.png);
  background-size: cover;
  opacity: 0;
  transition: none;
}

/* フェードイン（読み込み時にスライドアウト） */
#fade-overlay.in::before {
  animation: slideOutRight 1.5s ease-out forwards;
}

/* フェードアウト（リンククリック時にスライドイン） */
#fade-overlay.out::before {
  animation: slideInRight 1.5s ease-in forwards;
  transform: scale(-1, -1);
}

/* 左→右へスライドイン */
@keyframes slideInRight {
  0% {
    left: -300%;
    opacity: 1;
  }
  50% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: 0%;
    opacity: 1;
  }
}

/* 左→右へスライドアウト（消える） */
@keyframes slideOutRight {
  0% {
    left: -100%;
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    left: 100%;

  }
}
