/* 各画面の画角 */
html,
body {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-style: normal;
}
#omikujiGame section {
  display: block;
  opacity: 1;
  transition: opacity 0.5s;
}
#omikujiGame section.--invisibleScene {
  display: block;
  opacity: 0;
}
#omikujiGame section.--hiddenScene {
  display: none;
  opacity: 0;
}
section.loading {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
section.shaking {
  position: absolute;
  left: 0;
  top: 0;
  width: 100svw;
  height: 100svh;
  background-attachment: fixed;
  background-color: #edd;
  background-image: url("../img/bg_haiden.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
section.result {
  position: relative;
  min-height: 100vh;
  background-color: #eed;
  overflow: clip;
  overflow-clip-margin: 0;
}
section.result::before {
  background-image: url("../img/bg_mori.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
}
section.history {
  position: fixed;
  left: 0;
  top: 0;
  width: 100svw;
  height: 100svh;
}
section.support {
  position: absolute;
  z-index: 10;
}
body:has(.historyScene:not(.--invisibleScene):not(.--hiddenScene)) {
  overflow: hidden;
}
/* ローディング */
.loading__screen {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.loading__container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.loading__icon {
  box-sizing: border-box;
  border: 4px solid #890106;
  border-bottom-color: #facecc;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  animation: 1s linear infinite rotation;
}
@keyframes rotation {
  0% { transform: rotate(0); }
  100% { transform: rotate(360deg); }
}
