/* common */
* {
    font-family: "G2 サンセリフ-B",
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

body,
ul,
li,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

button,
a,
.btn,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
}

body {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

button,
a,
.btn {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s;
}

rt {
  font-size: 0.5em;
}
/* Edge(Chromium)表示用のCSS　*/
_:lang(x)::-ms-,
rt {
  font-size: 100%;
  zoom: 0.5;
}
/* Chrome表示用のCSS　*/
/* _:lang(x)::-internal-media-controls-overlay-cast-button, rt {
  font-size: 100%;
  zoom: 0.5;
} */

.starter-container {
  position: absolute;
  top: 0px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: #232323;
}

.starter-container.hidden {
  animation: 1.2s fadeOut forwards;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  99% {
    opacity: 0;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0);
    display: none;
  }
}

/* loading container */
.loading {
  width: 96%;
  margin: 0 auto;
  display: grid;
  position: absolute;
  top: 45%;
  left: 2%;
  grid-template-areas:
    "a b c"
    "d d d";

  grid-template-columns: 30% 40% 30%;
  grid-template-rows: 60% 40%;

  gap: 4px;
  align-items: center;
  justify-content: space-between;
  font-size: 1.5vw;
  color: #fff;
}

#now-loading {
  grid-area: a;
  text-align: right;
}

.loading-bar-outer {
  height: 6%;
  outline: 1px solid gray;
  grid-area: b;
}

#loading-bar {
  display: block;
  width: 100%;
  height: 100%;
  background: #0909c0;
  transform: scaleX(0);
  transform-origin: center left;
  box-shadow: inset 0px 0 4px whitesmoke, inset 1px 0 2px #26008f,
    inset -1px 0 2px #55c8f8, 1px 0 8px #26008f, 1px 0 8px #55c8f8,
    0 0 10px #fff, -1px 0 4px #26008f, 1px 0 4px #55c8f8;
}

#loading-rate {
  grid-area: c;
  text-align: left;
}

#loading-state {
  grid-area: d;
  text-align: center;
}
#loading-state .yellow {
  color: yellow;
}

/* sound starter */
.start {
  width: 90%;
  user-select: none;
  font-size: 4vmin;
  color:rgb(245, 240, 244);
  text-align: center;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translateX(-50%);
  gap: 6px;
}

.start button {
    color: #ffffff;
    font-size: 5vmin;
    transform: skewX(-30deg) scale(0.9);
    border: none;
    box-shadow: 0px 1px 0 #e2e2e2, 0px 2px 2px #e2e2e2, 0px 1px 2px #e2e2e2, 0px 4px 4px rgb(87, 87, 87);
    background: transparent;
    margin-bottom: 30px;
    padding: 15px;
}

.start button:hover {
  opacity: 1;
  text-shadow: 0 0 3px #55c8f8, 0 0 6px #fff;
  box-shadow: 0 1px 1px #26008f, 0 2px 3px #fff;
}
.start.hidden {
  display: none;
}
