html,
body {
  height: 100%;
  overflow: hidden;
  background-color: #dce4e7;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}
img {
  -webkit-touch-callout: none; /* 長押しメニュー抑制（iOS系） */
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none; /* 画像ドラッグ禁止 */
}
.treble-clef {
  scale: 1;
}
.bass-clef {
  scale: 0.7;
}
.menu {
  display: flex;
  justify-content: center;
  margin: 20px;
  padding: 20px;
}
.menu-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 50px;
  border: none;
  background-color: #fff;
}
.menu-button:first-child {
  border-radius: 50px 0 0 50px;
}
.menu-button:last-child {
  border-radius: 0 50px 50px 0;
}
.menu-button-active {
  background-color: #3e8cd4;
  color: #fff;
}
.menu-label {
  user-select: none;
}
.menu-label-hidden {
  display: none;
}
.menu-icon {
  display: block;
  width: auto;
  height: 60%;
  user-select: none;
  pointer-events: none;
}
.menu-icon > svg{
  height: 100%;
  width: auto;
}
.menu-button-active > .menu-icon > svg{
  fill: #fff;
}

.tap-area {
  width: 100%;
  height: 100vh;
  user-select: none;
}
.answer {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 20px 0 20px 0;
  font-size: 40px;
  font-weight: 600;
}
.image-area {
  position: relative;
  width: 100vw;
  max-width: 60vh;
  height: auto;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  padding: 20px;
}
.image-area img {
  pointer-events: none;
}
.hidden {
  opacity: 0;
  visibility: hidden;
}
