@charset "UTF-8";

/* ページ遷移の幕（0.5秒で完結） */
.page-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, #2e61c8, #0f2064 99%);
  z-index: 9999;
  pointer-events: none;

  /* 初期状態：画面を覆う（0の状態） */
  transform: translateX(0);
  /* 0.5sのアニメーション。cubic-bezierは東組風の滑らかな加減速 */
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

/* 入場：中央(0)から右(100%)へ */
body.is-loaded .page-overlay {
  transform: translateX(100%);
}

/* 退場：中央(0)へ戻る */
body.is-leaving .page-overlay {
  transform: translateX(0) !important;
}

.up {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.3s ease-out,
    transform 0.3s ease-out;
}
.up.is-show {
  opacity: 1;
  transform: translateY(0);
}
