body {
  background-color: #29108d;
}

.container-game {
  @media (min-width: 1200px) {
    max-width: 1000px;
  }
}

img {
    max-inline-size: 100%;
    max-block-size: 100%;
}

.main-bg {
  background: url(../img/gashapon/bg-pc.jpg);
  background-size: cover;
  position: relative;
  z-index: 0;
}

.handle {
  width: 80%;
  top: 74%;
  left: 33%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
}

.handle.spin {
  animation: spinHandle 1s linear;
}

@keyframes spinHandle {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.gacha-bell {
  width: 100%;
  top: 76%;
  left: 36%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: flex-end;
  opacity: 0;
}

.gacha-bell.drop {
  animation: dropToBottom 3s ease forwards;
}

@keyframes dropToBottom {
  0% {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  60% {
    transform: translate(-50%, -21%); /* 掉落距離 */
    opacity: 1;
  }
  80% {
    transform: translate(-50%, -21%);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -21%);
    opacity: 0;
  }
}
.bell-group {
  width: 85%;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.95);
}

.bell-group.squeeze {
  animation: squeezeRed 1.2s ease;
}

@keyframes squeezeRed {
  0% {
    transform: translate(-50%, -50%) scaleX(0.95) scaleY(0.95);
  }
  50% {
    transform: translate(-50%, -50%) scaleX(1) scaleY(0.8);
  }
  100% {
    transform: translate(-50%, -50%) scaleX(0.95) scaleY(0.95);
  }
}
.start-game-btn .btn {
  border: none;
  padding: 12px 30px;
  font-weight: bold;
  position: relative;
  border-radius: 150px;
}
@media (max-width: 576px) {
  .start-game-btn .btn {
    border-radius: 15px;
  }
}
.start-game-btn .btn-free {
  background: linear-gradient(to bottom, #ffd133, #ffe066);
  box-shadow: inset 0 4px 8px rgba(215, 60, 0, 0.4), inset 0 -12px 20px rgba(255, 255, 255, 0.6), 0 6px 12px rgba(255, 247, 247, 0.3);
}
.start-game-btn .btn-free::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #916401, #b67f02, #916401);
  top: 11px;
  left: 0;
  border-radius: 150px;
  box-sizing: revert;
  z-index: -1;
}
@media (max-width: 576px) {
  .start-game-btn .btn-free::after {
    border-radius: 15px;
  }
}
.start-game-btn .btn-free p:first-child {
  color: #664600;
}
.start-game-btn .btn-free p:last-child {
  color: #ffffff;
  text-shadow: -2px -2px 0 #5a4003, 2px -2px 0 #5a4003, -2px 2px 0 #5a4003, 2px 2px 0 #5a4003, -2px 0px 0 #5a4003, 2px 0px 0 #5a4003, 0px -2px 0 #5a4003, 0px 2px 0 #5a4003, 1px 4px 0 #5a4003;
}
.start-game-btn .btn-free:disabled {
  background: #aaa;
  box-shadow: none;
  cursor: not-allowed;
}
.start-game-btn .btn-free:disabled p:first-child {
  color: #424242;
}
.start-game-btn .btn-free:disabled p:last-child {
  color: #424242;
  text-shadow: none;
}
.start-game-btn .btn-free:disabled::after {
  display: none;
}
.start-game-btn .btn-spend {
  background: linear-gradient(to bottom, #5487fa, #0028ff);
  box-shadow: inset 0 4px 8px rgba(0, 28, 219, 0.98), inset 0 -12px 20px rgba(255, 255, 255, 0.6), 0 6px 12px rgba(0, 14, 51, 0.3);
}
.start-game-btn .btn-spend::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #0c218e, #4571fa, #0c218e);
  top: 11px;
  left: 0;
  border-radius: 150px;
  box-sizing: revert;
  z-index: -1;
}
@media (max-width: 576px) {
  .start-game-btn .btn-spend::after {
    border-radius: 15px;
  }
}
.start-game-btn .btn-spend p:first-child {
  color: #e2fbff;
}
.start-game-btn .btn-spend p:last-child {
  color: #ffffff;
  text-shadow: -2px -2px 0 #0b2bd4, 2px -2px 0 #0b2bd4, -2px 2px 0 #0b2bd4, 2px 2px 0 #0b2bd4, -2px 0px 0 #0b2bd4, 2px 0px 0 #0b2bd4, 0px -2px 0 #0b2bd4, 0px 2px 0 #0b2bd4, 1px 4px 0 #0b2bd4;
}

@media (max-width: 576px) {
  .btn-awards-block {
    position: fixed;
    top: 22rem;
    z-index: 1053;
  }
}
.btn-awards-block .btn-awards {
  border-radius: 150px;
  background-color: #1c0651;
  border: 3px solid #fff;
  padding: 10px 30px;
  box-shadow: 1px 1px 12px 4px #1bc1f1;
}
@media (max-width: 576px) {
  .btn-awards-block .btn-awards {
    width: 80px;
    height: 80px;
    border-radius: 150%;
    padding: 8px;
    background-color: rgba(29, 6, 81, 0.8274509804);
  }
}

.modal-block {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
  background-color: rgba(0, 0, 0, 0.8549019608);
  overflow-y: scroll;
}
.modal-block .modal-dialog-centered {
  margin-right: auto;
  margin-left: auto;
  min-height: calc(100% - 1rem);
}

.opoen-modal-main {
  --bs-modal-width: 350px;
}
@media (max-width: 576px) {
  .opoen-modal-main {
    --bs-modal-width: 90%;
    /* margin: auto; */
  }
}
.opoen-modal-main .close-box-btn {
  right: 0;
  border-radius: 50%;
  padding: 2px 7px;
  cursor: pointer;
}

.open-modal-block .close-box-btn {
  right: -14px;
  top: -14px;
}
.open-modal-block p {
  font-size: 18px;
}
.open-modal-block p span {
  color: #fd4cfe;
  font-size: 22px;
  font-weight: bold;
}

.open-modal-btn-group .btn {
  padding: 3px 40px;
  color: #fff;
}
.open-modal-btn-group .btn:first-child {
  background-color: #fd4cfe;
}
.open-modal-btn-group .btn:last-child {
  background-color: #757575;
}

.open-award-block {
  background: url(../img/gashapon/gacha-open.png);
  background-size: contain;
  background-repeat: no-repeat;
  height: 400px;
  background-position: center;
}
.open-award-block .close-box-btn {
  right: 50px;
}
.open-award-block .award-bg {
  background: linear-gradient(to bottom, #fff8cf, #f5e58b);
  width: 200px;
  height: 50%;
  margin-top: 5rem;
  padding: 10px;
  border-radius: 10px;
  box-shadow: 1px 1px 12px 4px #ce01ef;
  text-align: center;
  z-index: 0;
}
.open-award-block .award-bg .title {
  color: #9f6109;
  font-size: 20px;
}
.open-award-block .award-bg .number {
  color: #ce01ef;
  font-size: 20px;
}
.open-award-block .award-bg .number span {
  font-size: 25px;
  font-weight: bolder;
}
.open-award-block .award-bg .again-game-btn {
  background: linear-gradient(to bottom, #e60edb, #cb04be);
  box-shadow: inset 0 4px 8px rgba(219, 0, 81, 0.98), inset 0 -4px 15px rgba(255, 255, 255, 0.6), 0 6px 12px rgba(0, 14, 51, 0.3);
  border: 0;
}
.open-award-block .award-bg .again-game-btn::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #61075b, #b408a8, #61075b);
  top: 7px;
  left: 0;
  border-radius: 100px;
  box-sizing: revert;
  z-index: -1;
}

.awards-list li {
  display: flex;
  justify-content: space-evenly;
  background-color: #d462f5;
  padding: 10px;
  border-radius: 10px;
  color: #fff;
}
.awards-list li span:last-child {
  color: #ffe431;
  font-weight: 700;
}

#resultOverlay,
#confirmOverlay,
#noCoinOverlay {
  display: none;
}

#resultOverlay.show,
#confirmOverlay.show,
#noCoinOverlay.show {
  display: block;
}