@charset "UTF-8";
@-webkit-keyframes total_rainbow {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}
@keyframes total_rainbow {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}
.timing_debug_panel {
  position: fixed;
  left: 8px;
  right: auto;
  bottom: 90px;
  z-index: 1200000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: min(92vw, 560px);
  max-height: min(90vh, 100dvh - 110px);
  padding: 10px 12px;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.92);
  color: #fff;
  font-family: Consolas, "Courier New", monospace;
  font-size: 18px;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  pointer-events: none;
}

@-webkit-keyframes boost_bikkuri_bounce {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
}

@keyframes boost_bikkuri_bounce {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
}
.boost_chest_overlay {
  position: fixed;
  inset: 0;
  z-index: 35000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.72);
  opacity: 1;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
.boost_chest_overlay.is_fading_out {
  opacity: 0;
  pointer-events: none;
}
.boost_chest_overlay * {
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.boost_chest_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.boost_chest_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: min(96vw, 900px);
  gap: 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.boost_chest_item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: -webkit-filter 0.25s ease;
  transition: -webkit-filter 0.25s ease;
  transition: filter 0.25s ease;
  transition: filter 0.25s ease, -webkit-filter 0.25s ease;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

.boost_chest_bikkuri {
  width: clamp(75px, 16.5vw, 120px);
  height: clamp(75px, 16.5vw, 120px);
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  margin: 0 auto 4px;
  -webkit-animation: boost_bikkuri_bounce 0.7s ease-in-out infinite;
          animation: boost_bikkuri_bounce 0.7s ease-in-out infinite;
  opacity: 1;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  -webkit-user-drag: none;
  user-drag: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.boost_chest_item.is_open .boost_chest_bikkuri {
  opacity: 0;
}

.boost_chest_item.is_unchosen .boost_chest_bikkuri,
.boost_chest_item.is_unchosen .boost_chest_img_wrap {
  -webkit-filter: brightness(0.38);
          filter: brightness(0.38);
  -webkit-transition: -webkit-filter 0.25s ease;
  transition: -webkit-filter 0.25s ease;
  transition: filter 0.25s ease;
  transition: filter 0.25s ease, -webkit-filter 0.25s ease;
}

.boost_chest_item.is_unchosen.is_open .boost_chest_label {
  opacity: 0.65;
}

.boost_chest_item.is_unchosen .boost_chest_label_text {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.75);
}

.boost_chest_img_wrap {
  width: 100%;
  height: clamp(135px, 33vw, 285px);
}

.boost_chest_img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-user-drag: none;
  user-drag: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.boost_chest_label {
  position: absolute;
  left: 50%;
  bottom: calc(100% - 120px);
  -webkit-transform: translateX(-50%) translateY(50px) scale(0.9);
          transform: translateX(-50%) translateY(50px) scale(0.9);
  width: clamp(315px, 45vw, 405px);
  aspect-ratio: 1/0.77;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: clamp(18px, 5.1vw, 28.5px);
  font-weight: 700;
  line-height: 1.1;
  white-space: normal;
  word-break: keep-all;
  opacity: 0;
  pointer-events: none;
  z-index: 5;
  padding: 0;
  background-image: url("../images/boost_bg_text02.webp?v=26072201");
  background-size: 50% 50%;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-transition: opacity 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: opacity 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: opacity 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: opacity 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.boost_chest_item.is_open .boost_chest_label {
  opacity: 1;
  -webkit-transform: translateX(-50%) translateY(0) scale(1);
          transform: translateX(-50%) translateY(0) scale(1);
}

.boost_chest_label_text {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60%;
  max-width: 60%;
  height: 45%;
  max-height: 45%;
  text-align: center;
}

.boost_chest_label_times {
  display: block;
  font-weight: inherit;
  font-size: 1em;
  padding: 0;
}

.boost_chest_label.is_boost_yellow .boost_chest_label_text {
  color: #fff2c2;
  text-shadow: 0 0 8px rgba(255, 235, 180, 0.55);
}

.boost_chest_label.is_boost_red .boost_chest_label_text {
  color: #ff5050;
  text-shadow: 0 0 8px rgba(255, 80, 0, 0.4);
}

.boost_chest_label.is_boost_rainbow .boost_chest_label_text {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}

@media (max-width: 979px) {
  .boost_chest_label {
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  .boost_chest_item.is_open .boost_chest_label {
    -webkit-transform: translateX(-50%) translateY(0) scale(1.3);
            transform: translateX(-50%) translateY(0) scale(1.3);
  }
}
@-webkit-keyframes race_phase_b_waiting_blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.25;
  }
}
@keyframes race_phase_b_waiting_blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.25;
  }
}
.race_phase_b_waiting_overlay {
  position: absolute;
  inset: 0;
  z-index: 20500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.9);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.35s ease, visibility 0s linear 0.35s;
  transition: opacity 0.35s ease, visibility 0s linear 0.35s;
}
.race_phase_b_waiting_overlay.is_visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity 0.35s ease, visibility 0s linear 0s;
  transition: opacity 0.35s ease, visibility 0s linear 0s;
}
.race_phase_b_waiting_overlay.is_visible .race_phase_b_waiting_inner {
  -webkit-animation: race_phase_b_waiting_blink 1.8s ease-in-out infinite;
          animation: race_phase_b_waiting_blink 1.8s ease-in-out infinite;
}

.race_phase_b_waiting_inner {
  text-align: center;
  padding: 28px 36px;
  border: 1px solid rgba(214, 184, 110, 0.65);
  border-radius: 0;
  background: rgba(0, 0, 0, 0.35);
  -webkit-box-shadow: 0 0 18px rgba(214, 184, 110, 0.18);
          box-shadow: 0 0 18px rgba(214, 184, 110, 0.18);
}

.race_phase_b_waiting_title {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 4vw, 26px);
  font-weight: 900;
  letter-spacing: 0.04em;
  text-shadow: 0 0 8px rgba(214, 184, 110, 0.4);
}

.race_stage.is_recovering_hide_markers .distance_marker,
.race_stage.is_recovering_hide_markers .goal_line {
  display: none;
}

.race_boost_result_badge {
  position: absolute;
  top: -120px;
  left: -140px;
  z-index: 21000;
  width: clamp(315px, 45vw, 405px);
  aspect-ratio: 1/0.77;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: clamp(18px, 5.1vw, 28.5px);
  font-weight: 700;
  line-height: 1.1;
  white-space: normal;
  word-break: keep-all;
  opacity: 0;
  pointer-events: none;
  padding: 0;
  background-image: url("../images/boost_bg_text02.webp?v=26072201");
  background-size: 50% 50%;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
.race_boost_result_badge.is_visible {
  opacity: 1;
}

.race_boost_result_badge_text {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60%;
  max-width: 60%;
  height: 45%;
  max-height: 45%;
  text-align: center;
}

.race_boost_result_badge.is_boost_yellow .race_boost_result_badge_text {
  color: #fff2c2;
  text-shadow: 0 0 8px rgba(255, 235, 180, 0.55);
}

.race_boost_result_badge.is_boost_red .race_boost_result_badge_text {
  color: #ff5050;
  text-shadow: 0 0 8px rgba(255, 80, 0, 0.4);
}

.race_boost_result_badge.is_boost_rainbow .race_boost_result_badge_text {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}

@media (max-width: 979px) {
  .race_boost_result_badge {
    top: -120px;
    left: -140px;
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    -webkit-transform-origin: top left;
            transform-origin: top left;
  }
}
@-webkit-keyframes cardFadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes cardFadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ------------------------------
 width: all
------------------------------ */
html,
body {
  min-width: 979px !important;
}

main {
  zoom: 0.75;
}

.font_jp {
  font-family: "Kaisei Decol", serif !important;
  font-weight: 500;
  font-style: normal;
}

.bet_login_overlay {
  display: none;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 90000;
  pointer-events: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 14px;
  background: rgba(8, 8, 16, 0.72);
  text-align: center;
}
.bet_login_overlay .bet_login_overlay_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}
.bet_login_overlay p {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  padding: 0 16px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}
.bet_login_overlay .bet_login_overlay_btn {
  pointer-events: auto;
  padding: 10px 32px;
  border: none;
  border-radius: 22px;
  background: #ffd54f;
  color: #2a1a00;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;
  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 0 rgba(0, 0, 0, 0.3);
}

.app_modal .app_modal_head h2 {
  font-family: "Kaisei Decol", serif !important;
  font-size: 22px !important;
  color: #fff;
}

.race_main_header {
  position: relative;
  z-index: 12000;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 10px 15px 15px;
  overflow: hidden;
}
.race_main_header .race_info {
  width: 600px;
  background-image: url(../images/race_bg_ttl.png?v=26072201);
  background-size: contain;
  background-position: center left 0;
  background-repeat: no-repeat;
  zoom: 0.75;
}
.race_main_header .race_info .race_name {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12px 0 8px 90px;
}
.race_main_header .race_info .race_name dd {
  width: 100%;
}
.race_main_header .race_info .race_name dd .name {
  font-size: 24px;
  color: #fff;
  line-height: 1;
}
.race_main_header .race_info .race_name dd .info_detail {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 3px;
  padding-left: 2px;
  padding-bottom: 4px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.race_main_header .race_info .race_name dd .info_detail .tenki {
  width: 22px;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  font-size: 0;
  margin-right: 8px;
}
.race_main_header .race_info .race_name dd .info_detail .tenki span {
  display: inline-block;
  width: 22px;
  height: 22px;
  vertical-align: top;
  margin-right: 0;
}
.race_main_header .race_info .race_name dd .info_detail .tenki span img {
  display: block;
}
.race_main_header .race_info .race_name dd .info_detail .baba {
  width: 70px;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
.race_main_header .race_info .race_name dd .info_detail .baba span {
  display: inline-block;
  vertical-align: top;
  background-color: #008000;
  width: auto;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  padding: 1px 5px 2px;
  color: #fff;
  font-weight: bold;
  border-radius: 2px;
}
.race_main_header .race_info .race_name dd .info_detail .distance {
  width: calc(100% - 22px);
  font-size: 20px;
  line-height: 1;
  color: #ffd400;
  padding-left: 5px;
  padding-bottom: 2px;
}
.race_main_header .time {
  width: 130px;
  background-image: url(../images/race_timer.webp?v=26072201);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center right 0;
  padding: 15px 0;
  zoom: 0.75;
}
.race_main_header .time p {
  width: 100%;
  text-align: center;
  line-height: 1;
  font-size: 40px;
  color: #ffd400;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  -webkit-transform: translate(14px, -4px);
          transform: translate(14px, -4px);
}

.race_main_footer {
  position: relative;
  z-index: 12000;
}
.race_main_footer .linklist {
  width: 750px;
  font-size: 0;
  letter-spacing: 0;
  position: fixed;
  bottom: 20px;
  left: 20px;
  zoom: 0.75;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.race_main_footer .linklist a {
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: transparent;
}
.race_main_footer .linklist a,
.race_main_footer .linklist button {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 1;
  -webkit-filter: brightness(1.5);
          filter: brightness(1.5);
  -webkit-transition: opacity 0.18s ease, -webkit-filter 0.18s ease;
  transition: opacity 0.18s ease, -webkit-filter 0.18s ease;
  transition: filter 0.18s ease, opacity 0.18s ease;
  transition: filter 0.18s ease, opacity 0.18s ease, -webkit-filter 0.18s ease;
}
.race_main_footer .linklist a:hover,
.race_main_footer .linklist button:hover {
  opacity: 1;
  -webkit-filter: brightness(1.8);
          filter: brightness(1.8);
}
.race_main_footer .linklist li {
  width: 135px;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
  color: #fff;
  font-size: 20px;
}
.race_main_footer .linklist li img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.race_main_footer .linklist li + li {
  margin-left: 8px;
}
.race_main_footer .bet_credit {
  width: 500px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 18px 0 22px;
  background-image: url(../images/race_bg_bet_credit.png?v=26072201);
  background-size: contain;
  background-position: center right 0;
  background-repeat: no-repeat;
  position: fixed;
  right: 20px;
  bottom: 0;
  zoom: 0.75;
}
.race_main_footer .bet_credit .bet {
  width: calc(50% - 20px);
  display: block;
}
.race_main_footer .bet_credit .bet dd {
  text-align: right;
  color: #fff;
  font-size: 26px;
  letter-spacing: 0;
  font-family: "clother", sans-serif;
  padding-right: 20px;
}
.race_main_footer .bet_credit .credit {
  width: calc(50% - 20px);
  display: block;
}
.race_main_footer .bet_credit .credit dd {
  text-align: right;
  color: #fff;
  font-size: 26px;
  letter-spacing: 0;
  font-family: "clother", sans-serif;
  padding-right: 15px;
}

.race_app_version {
  position: fixed;
  right: 20px;
  bottom: 105px;
  z-index: 12000;
  border: 0;
  background: none;
  color: #fff;
  font-family: "clother", sans-serif;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  text-shadow: black 1px 1px 0, black -1px -1px 0, black -1px 1px 0, black 1px -1px 0, black 0px 1px 0, black -1px 0, black -1px 0 0, black 1px 0 0; /*上、下*/
}

@media screen and (max-width: 979px) {
  .race_app_version {
    right: 20px;
    bottom: 360px;
    font-size: 26px;
    font-weight: bold;
    text-shadow: black 2px 2px 0, black -2px -2px 0, black -2px 2px 0, black 2px -2px 0, black 0px 2px 0, black -2px 0, black -2px 0 0, black 2px 0 0; /*上、下*/
  }
}
.bet_card {
  position: relative;
  min-width: 220px;
  background-image: url(../images/bg_baken.png?v=26072201);
  background-size: 100% 100%;
  background-position: center;
  padding: 5px 15px 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.bet_card:active {
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}
.bet_card .bet_card_type {
  width: 100%;
  margin: 0 0 5px;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  text-align: left;
  padding: 4px 0 0;
  font-family: "Kaisei Decol", serif !important;
}
.bet_card .bet_card_selections {
  margin-bottom: 8px;
}
.bet_card .bet_card_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3px;
  min-height: 19px;
  margin-bottom: 3px;
}
.bet_card .bet_card_row:last-child {
  margin-bottom: 0;
}
.bet_card .bet_card_row {
  margin-top: 8px;
}
.bet_card .bet_card_odds {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
  color: #fff;
  line-height: 1.3;
  margin-bottom: 4px;
  font-family: "clother", sans-serif;
}
.bet_card .bet_card_summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 5px;
  margin-bottom: 3px;
  line-height: 1;
}
.bet_card .bet_card_count {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  font-family: "clother", sans-serif;
  letter-spacing: 0;
}
.bet_card .bet_card_count span {
  padding-left: 2px;
}
.bet_card .bet_card_bet {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  font-family: "clother", sans-serif;
  letter-spacing: 0;
}
.bet_card .bet_card_bet span {
  padding-right: 2px;
}
.bet_card .bet_card_unit {
  font-size: 11px;
  font-weight: 400;
}

.is_card_fade_in {
  -webkit-animation: cardFadeIn 0.25s ease both;
          animation: cardFadeIn 0.25s ease both;
}

.formation_cards .bet_card,
.box_cards .bet_card {
  -webkit-animation: cardFadeIn 0.25s ease both;
          animation: cardFadeIn 0.25s ease both;
}

.card_horse_num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 0;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  font-family: "clother", sans-serif;
}
.card_horse_num.number_white {
  background: rgba(255, 255, 255, 0.85);
  color: #111;
}
.card_horse_num.number_black {
  background: #555;
  color: #fff;
}
.card_horse_num.number_red {
  background: #e53935;
  color: #fff;
}
.card_horse_num.number_blue {
  background: #1e88e5;
  color: #fff;
}
.card_horse_num.number_yellow {
  background: #fdd835;
  color: #222;
}
.card_horse_num.number_green {
  background: #43a047;
  color: #fff;
}
.card_horse_num.number_orange {
  background: #fb8c00;
  color: #fff;
}
.card_horse_num.number_purple {
  background: #ff4faf;
  color: #fff;
}

.card_all_badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 20px;
  border-radius: 0;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, #f33 0%, #f93 20%, #ff3 40%, #3c3 60%, #39f 80%, #c3f 100%);
  color: #fff;
  text-shadow: 0 0 3px #000, 0 0 5px rgba(0, 0, 0, 0.8), 1px 1px 0 #000, -1px -1px 0 #000;
}

.phase_c_bg_layer {
  position: fixed;
  inset: 0;
  z-index: 10;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  opacity: 0;
  background-size: cover;
  background-position: left 0 center;
  background-repeat: no-repeat;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}

body.is_phase_c_bg_active .phase_c_bg_layer {
  opacity: 1;
}

.race_horse_group_sweep {
  position: fixed;
  inset: 0;
  z-index: 50;
  pointer-events: none;
  overflow: hidden;
}

.race_horse_group_sweep_layer {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  height: 100dvh;
  width: auto;
  max-width: none;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  will-change: transform;
}
.race_horse_group_sweep_layer.is_front {
  top: 0;
}
.race_horse_group_sweep_layer.is_back {
  top: 3vh;
  margin-top: -5vh;
}
.race_horse_group_sweep_layer.is_front.is_animating {
  -webkit-animation: race_horse_group_sweep_move 2.2s linear 0.35s both;
          animation: race_horse_group_sweep_move 2.2s linear 0.35s both;
}
.race_horse_group_sweep_layer.is_back.is_animating {
  -webkit-animation: race_horse_group_sweep_move_back 3s linear forwards;
          animation: race_horse_group_sweep_move_back 3s linear forwards;
}

.race_horse_group_sweep_img {
  display: block;
  height: 100vh;
  height: 100dvh;
  width: auto;
  max-width: none;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  will-change: filter, transform;
}
.race_horse_group_sweep_img.is_front {
  opacity: 1;
  -webkit-filter: brightness(1);
          filter: brightness(1);
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.race_horse_group_sweep_img.is_back {
  opacity: 1;
  -webkit-filter: brightness(0.98);
          filter: brightness(0.98);
  -webkit-transform: scale(0.95) scaleX(-1);
          transform: scale(0.95) scaleX(-1);
}
.race_horse_group_sweep_img.is_front.is_animating {
  -webkit-animation: race_horse_group_front_flash 2.2s ease-in-out 0.35s both;
          animation: race_horse_group_front_flash 2.2s ease-in-out 0.35s both;
}
.race_horse_group_sweep_img.is_back.is_animating {
  -webkit-animation: race_horse_group_back_glow 3s ease-in-out forwards;
          animation: race_horse_group_back_glow 3s ease-in-out forwards;
}

@media (min-width: 980px) {
  .race_horse_group_sweep_layer {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    height: 100vh;
    height: 100dvh;
    max-width: none;
    overflow: visible;
  }
  .race_horse_group_sweep_layer.is_back {
    top: 0;
    margin-top: 0;
  }
  .race_horse_group_sweep_layer.is_front.is_animating {
    -webkit-animation: race_horse_group_sweep_move 2.6s linear 0.2s both;
            animation: race_horse_group_sweep_move 2.6s linear 0.2s both;
  }
  .race_horse_group_sweep_img {
    width: auto;
    height: 100%;
    -webkit-transform-origin: center center;
            transform-origin: center center;
    max-width: none;
  }
  .race_horse_group_sweep_img.is_back {
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
  }
  .race_horse_group_sweep_img.is_front.is_animating {
    -webkit-animation: race_horse_group_front_flash 2.3s ease-in-out 0.35s both;
            animation: race_horse_group_front_flash 2.3s ease-in-out 0.35s both;
  }
}
@-webkit-keyframes race_horse_group_sweep_move {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(100vw, 0, 0);
            transform: translate3d(100vw, 0, 0);
  }
}
@keyframes race_horse_group_sweep_move {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(100vw, 0, 0);
            transform: translate3d(100vw, 0, 0);
  }
}
@-webkit-keyframes race_horse_group_front_flash {
  0%, 28% {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
  42% {
    -webkit-filter: brightness(1.4);
            filter: brightness(1.4);
  }
  58% {
    -webkit-filter: brightness(1.08);
            filter: brightness(1.08);
  }
  100% {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
}
@keyframes race_horse_group_front_flash {
  0%, 28% {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
  42% {
    -webkit-filter: brightness(1.4);
            filter: brightness(1.4);
  }
  58% {
    -webkit-filter: brightness(1.08);
            filter: brightness(1.08);
  }
  100% {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
}
@-webkit-keyframes race_horse_group_sweep_move_back {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(100vw, 0, 0);
            transform: translate3d(100vw, 0, 0);
  }
}
@keyframes race_horse_group_sweep_move_back {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(100vw, 0, 0);
            transform: translate3d(100vw, 0, 0);
  }
}
@-webkit-keyframes race_horse_group_back_glow {
  0% {
    -webkit-filter: brightness(0.98);
            filter: brightness(0.98);
  }
  50% {
    -webkit-filter: brightness(1.1);
            filter: brightness(1.1);
  }
  100% {
    -webkit-filter: brightness(1.02);
            filter: brightness(1.02);
  }
}
@keyframes race_horse_group_back_glow {
  0% {
    -webkit-filter: brightness(0.98);
            filter: brightness(0.98);
  }
  50% {
    -webkit-filter: brightness(1.1);
            filter: brightness(1.1);
  }
  100% {
    -webkit-filter: brightness(1.02);
            filter: brightness(1.02);
  }
}
main {
  position: relative;
  z-index: 100;
  padding: 0;
}
main .race_demo {
  padding: 40px 16px 0;
  color: #fff;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
main .race_demo .race_demo_inner {
  position: relative;
  z-index: 11000;
  max-width: 1200px;
  margin: -20px auto 0;
  overflow: visible;
}
main .race_demo .race_bottom_area {
  display: none;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  padding: 12px 0 0;
  width: calc(100% + 30px);
  margin: 20px -15px 0;
}
main .race_demo .race_entry_mini {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  background-image: url("../images/bg_shussouhyou_b.jpg?v=26072201");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  padding: 20px;
  min-width: 680px;
}
main .race_demo .entry_mini_col {
  width: calc(50% - 10px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7px;
}
main .race_demo .entry_mini_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
}
main .race_demo .entry_mini_no {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 26px;
  height: 26px;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  font-family: "clother", sans-serif;
}
main .race_demo .entry_mini_no.number_white {
  background: rgba(255, 255, 255, 0.85);
  color: #111;
}
main .race_demo .entry_mini_no.number_black {
  background: #555;
  color: #fff;
}
main .race_demo .entry_mini_no.number_red {
  background: #e53935;
  color: #fff;
}
main .race_demo .entry_mini_no.number_blue {
  background: #1e88e5;
  color: #fff;
}
main .race_demo .entry_mini_no.number_yellow {
  background: #fdd835;
  color: #222;
}
main .race_demo .entry_mini_no.number_green {
  background: #43a047;
  color: #fff;
}
main .race_demo .entry_mini_no.number_orange {
  background: #fb8c00;
  color: #fff;
}
main .race_demo .entry_mini_no.number_purple {
  background: #ff4faf;
  color: #fff;
}
main .race_demo .entry_mini_name {
  font-size: 22px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  white-space: nowrap;
  line-height: 1;
}
main .race_demo .entry_mini_odds {
  font-size: 22px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  font-family: "clother", sans-serif;
  line-height: 1;
  letter-spacing: 0;
  margin-left: auto;
  text-align: right;
}
main .race_demo .entry_mini_odds.odds_table_low {
  color: #ff3838;
}
main .race_demo .entry_mini_odds.odds_table_mid {
  color: rgba(255, 255, 255, 0.9);
}
main .race_demo .entry_mini_odds.odds_table_high {
  color: #ffdc4a;
}
main .race_demo .purchased_tickets_area {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 220px;
  padding: 10px 0 0;
}
main .race_demo .purchased_tickets_area .purchased_tickets_label {
  color: #ffd400;
  margin-top: 10px;
  margin-bottom: 8px;
  font-size: 20px;
}
main .race_demo .purchased_tickets_area .purchased_tickets_scroll {
  height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
main .race_demo .purchased_tickets_area .purchased_tickets_cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  width: 100%;
}
main .race_demo .purchased_tickets_area .purchased_tickets_cards .bet_card {
  width: 100%;
  min-width: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
main .race_demo .race_controls {
  display: none !important;
}
main .race_demo #raceResultAdjustMark,
main .race_demo #oddsTypeSummary,
main .race_demo #finishMarginSummary {
  display: none !important;
}
main .race_demo[data-screen="1"] .race_stage_outer {
  display: none !important;
}
main .race_demo[data-screen="1"] .race_bottom_area {
  display: none !important;
}
main .race_demo[data-screen="1"] .race_result_demo {
  display: none !important;
}
main .race_demo[data-screen="1"] .odds_demo {
  display: block !important;
}
main .race_demo[data-screen="2"] .race_stage_outer {
  display: block !important;
}
main .race_demo[data-screen="2"] .race_bottom_area {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
main .race_demo[data-screen="2"] .race_result_demo {
  display: none !important;
}
main .race_demo[data-screen="2"] .odds_demo {
  display: none !important;
}
main .race_demo[data-screen="3"] .race_stage_outer {
  display: none !important;
}
main .race_demo[data-screen="3"] .race_bottom_area {
  display: none !important;
}
main .race_demo[data-screen="3"] .race_result_demo {
  display: block !important;
}
main .race_demo[data-screen="3"] .odds_demo {
  display: none !important;
}
main .race_demo .race_stage_outer {
  position: relative;
}
main .race_demo .race_frame {
  position: absolute;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  inset: 0;
  z-index: 20000;
  background-image: url(../images/race_frame.png?v=26072201);
  background-size: 100% 100%;
  background-position: center center;
  pointer-events: none;
  top: -16px;
  right: -16px;
  bottom: -16px;
  left: -16px;
  margin: 0 auto;
}
main .race_demo .race_stage {
  position: relative;
  z-index: 0;
  height: 760px;
  overflow: hidden;
  -webkit-box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
          box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
}
main .race_demo .race_stage .race_stage_scene {
  position: absolute;
  inset: 0;
  z-index: 0;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transform-origin: var(--race-focus-x, 50%) var(--race-focus-y, 50%);
          transform-origin: var(--race-focus-x, 50%) var(--race-focus-y, 50%);
  will-change: transform;
  pointer-events: none;
}
main .race_demo .race_stage .race_stage_scene.is_focus_zoom_in {
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
  -webkit-transition: -webkit-transform 1500ms cubic-bezier(0.75, 0, 0.25, 1);
  transition: -webkit-transform 1500ms cubic-bezier(0.75, 0, 0.25, 1);
  transition: transform 1500ms cubic-bezier(0.75, 0, 0.25, 1);
  transition: transform 1500ms cubic-bezier(0.75, 0, 0.25, 1), -webkit-transform 1500ms cubic-bezier(0.75, 0, 0.25, 1);
}
main .race_demo .race_stage .race_stage_scene.is_focus_zoom_hold {
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
  -webkit-transition: none;
  transition: none;
}
main .race_demo .race_stage .race_stage_scene.is_focus_zoom_out {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 1500ms cubic-bezier(0.75, 0, 0.25, 1);
  transition: -webkit-transform 1500ms cubic-bezier(0.75, 0, 0.25, 1);
  transition: transform 1500ms cubic-bezier(0.75, 0, 0.25, 1);
  transition: transform 1500ms cubic-bezier(0.75, 0, 0.25, 1), -webkit-transform 1500ms cubic-bezier(0.75, 0, 0.25, 1);
}
main .race_demo .race_stage .race_stage_scene.is_goal_focus_zoom {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transition: -webkit-transform 3500ms cubic-bezier(0.6, 0, 0.4, 1);
  transition: -webkit-transform 3500ms cubic-bezier(0.6, 0, 0.4, 1);
  transition: transform 3500ms cubic-bezier(0.6, 0, 0.4, 1);
  transition: transform 3500ms cubic-bezier(0.6, 0, 0.4, 1), -webkit-transform 3500ms cubic-bezier(0.6, 0, 0.4, 1);
}
main .race_demo .race_stage.is_running .race_bg_far {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
main .race_demo .race_stage.is_running .race_bg_haikei {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
main .race_demo .race_stage.is_running .race_bg_near {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
main .race_demo .race_stage.is_running .race_fence {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
main .race_demo .race_stage.is_running .horse_lane .horse_runner .horse_body {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
main .race_demo .race_stage.is_running .horse_lane .horse_runner .horse_body .horse_sprite {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
main .race_demo .race_stage.is_goal_locked .race_bg_far,
main .race_demo .race_stage.is_goal_locked .race_bg_haikei,
main .race_demo .race_stage.is_goal_locked .race_bg_near,
main .race_demo .race_stage.is_goal_locked .race_fence {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
main .race_demo .race_stage .race_bg {
  position: absolute;
  left: 0;
  width: 200%;
  pointer-events: none;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
main .race_demo .race_stage .race_bg_far {
  top: 180px;
  height: 60px;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.35) 0 18px, rgba(255, 255, 255, 0.12) 18px 36px);
  opacity: 0.55;
  -webkit-animation: bg_far_move 18s linear infinite;
          animation: bg_far_move 18s linear infinite;
  opacity: 0;
}
main .race_demo .race_stage .race_bg_haikei {
  top: 0px;
  z-index: 1;
  height: 260px;
  background-image: url("../images/haikei02.png?v=26072201");
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 50% 100%;
  width: 200%;
  -webkit-animation: bg_haikei_move 0.65s linear infinite;
          animation: bg_haikei_move 0.65s linear infinite;
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}
main .race_demo .race_stage .race_bg_near {
  bottom: 0;
  height: 500px;
  background-image: url("../images/shiba.jpg?v=26072201");
  background-repeat: repeat-x;
  background-position: left top 0;
  background-size: 1200px 500px;
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}
main .race_demo .race_stage.is_phase_b_active .race_bg_haikei,
main .race_demo .race_stage.is_phase_b_active .race_bg_near {
  opacity: 1;
}
main .race_demo .race_stage.is_weather_rain .race_bg_haikei,
main .race_demo .race_stage.is_weather_rain .race_bg_near,
main .race_demo .race_stage.is_weather_rain .race_fence {
  -webkit-filter: brightness(0.8) saturate(0.9);
          filter: brightness(0.8) saturate(0.9);
}
main .race_demo .race_stage.is_weather_typhoon .race_bg_haikei,
main .race_demo .race_stage.is_weather_typhoon .race_bg_near,
main .race_demo .race_stage.is_weather_typhoon .race_fence {
  -webkit-filter: brightness(0.5) saturate(0.8);
          filter: brightness(0.5) saturate(0.8);
}
main .race_demo .race_stage .race_fence {
  position: absolute;
  left: 0;
  top: 182px;
  z-index: 2;
  width: 200%;
  height: 82px;
  pointer-events: none;
  background-image: url("../images/saku.png?v=26072201");
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 200px 80px;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
  will-change: transform;
  opacity: 0.9;
}
main .race_demo .race_stage .race_bg_near,
main .race_demo .race_stage .race_fence {
  -webkit-animation: bg_near_move var(--ground-loop-duration, 0.828s) linear infinite;
          animation: bg_near_move var(--ground-loop-duration, 0.828s) linear infinite;
}
main .race_demo .race_stage .race_bg_haikei,
main .race_demo .race_stage .race_bg_near,
main .race_demo .race_stage .race_fence {
  -webkit-filter: brightness(1.1) saturate(1.1);
          filter: brightness(1.1) saturate(1.1);
}
main .race_demo .race_stage .race_weather_layer {
  position: absolute;
  inset: 0;
  z-index: 8;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}
main .race_demo .race_stage .race_weather_layer.is_rain {
  opacity: 1;
}
main .race_demo .race_stage .race_weather_layer.is_typhoon_lightning {
  opacity: 1;
}
main .race_demo .race_stage .race_weather_layer.is_rain::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(6, 12, 24, 0.08)), to(rgba(6, 12, 24, 0.2)));
  background: linear-gradient(to bottom, rgba(6, 12, 24, 0.08), rgba(6, 12, 24, 0.2));
  pointer-events: none;
}
main .race_demo .race_stage .race_weather_layer.is_typhoon_lightning::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 160px;
  left: 0;
  z-index: 2;
  pointer-events: none;
  background: rgba(0, 0, 0, 0);
  opacity: 0;
  -webkit-animation: race_typhoon_lightning 0.48s ease-out 1;
          animation: race_typhoon_lightning 0.48s ease-out 1;
}
main .race_demo .race_stage .race_weather_layer.is_typhoon_lightning_strong::after {
  -webkit-animation-name: race_typhoon_lightning_strong;
          animation-name: race_typhoon_lightning_strong;
}
main .race_demo .race_stage .typhoon_wind_effect {
  position: absolute;
  inset: 0;
  z-index: 120;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}
main .race_demo .race_stage .typhoon_wind_effect.is_active {
  opacity: 1;
}
main .race_demo .race_stage .typhoon_wind_layer {
  position: absolute;
  top: 40%;
  left: 50%;
  width: 112%;
  height: 94%;
  opacity: 0;
  pointer-events: none;
  background-image: url("../images/taihu_wind.webp?v=26072201");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  mix-blend-mode: screen;
  will-change: transform, opacity;
}
main .race_demo .race_stage .typhoon_wind_effect.is_active .typhoon_wind_layer {
  -webkit-animation: typhoon_wind_flow 1.5s linear 2 forwards;
          animation: typhoon_wind_flow 1.5s linear 2 forwards;
}
main .race_demo .race_stage .typhoon_wind_layer:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
main .race_demo .race_stage .typhoon_wind_layer:nth-child(2) {
  width: 102%;
  height: 86%;
  opacity: 0;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
main .race_demo .race_stage .typhoon_wind_layer:nth-child(3) {
  width: 120%;
  height: 100%;
  opacity: 0;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
main .race_demo .race_stage .race_weather_rain,
main .race_demo .race_stage .race_weather_rain::before,
main .race_demo .race_stage .race_weather_rain::after {
  content: "";
  position: absolute;
  inset: -25%;
  z-index: 1;
  background-repeat: repeat;
  pointer-events: none;
  will-change: background-position;
}
main .race_demo .race_stage .race_weather_rain {
  opacity: 0.28;
  background-image: repeating-linear-gradient(105deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 16px, rgba(220, 235, 255, 0.2) 17px, rgba(255, 255, 255, 0) 20px);
  background-size: 140px 140px;
  -webkit-animation: race_rain_far 0.78s linear infinite;
          animation: race_rain_far 0.78s linear infinite;
}
main .race_demo .race_stage .race_weather_rain::before {
  opacity: 0.38;
  background-image: repeating-linear-gradient(105deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 24px, rgba(235, 245, 255, 0.34) 25px, rgba(255, 255, 255, 0) 30px);
  background-size: 210px 210px;
  -webkit-animation: race_rain_mid 0.52s linear infinite;
          animation: race_rain_mid 0.52s linear infinite;
}
main .race_demo .race_stage .race_weather_rain::after {
  opacity: 0.24;
  background-image: repeating-linear-gradient(105deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 38px, rgba(245, 250, 255, 0.46) 39px, rgba(255, 255, 255, 0) 47px);
  background-size: 300px 300px;
  -webkit-animation: race_rain_near 0.36s linear infinite;
          animation: race_rain_near 0.36s linear infinite;
}
main .race_demo .race_stage .race_weather_layer.is_weather_goal_locked .race_weather_rain {
  -webkit-animation-name: race_rain_far_goal;
          animation-name: race_rain_far_goal;
}
main .race_demo .race_stage .race_weather_layer.is_weather_goal_locked .race_weather_rain::before {
  -webkit-animation-name: race_rain_mid_goal;
          animation-name: race_rain_mid_goal;
}
main .race_demo .race_stage .race_weather_layer.is_weather_goal_locked .race_weather_rain::after {
  -webkit-animation-name: race_rain_near_goal;
          animation-name: race_rain_near_goal;
}
main .race_demo .race_stage .distance_marker {
  position: absolute;
  left: 0;
  top: 220px;
  bottom: 40px;
  z-index: 3;
  width: 10px;
  background: none;
  color: rgba(250, 216, 73, 0.3);
  font-size: 120px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  will-change: transform;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
main .race_demo .race_stage .distance_marker::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 25px;
  bottom: -40px;
  width: 10px;
  background-color: rgba(250, 216, 73, 0.3);
}
main .race_demo .race_stage .distance_marker .marker_board {
  position: absolute;
  left: -23px;
  top: -170px;
  z-index: 3;
  display: block;
  width: 70px;
  height: auto;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
main .race_demo .race_stage .distance_marker span {
  position: absolute;
  left: 13px;
  bottom: 190px;
  z-index: 4;
  display: block;
  white-space: nowrap;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  font-family: "transat-text", sans-serif;
  font-weight: 900;
  letter-spacing: 0;
}
main .race_demo .race_stage .goal_line {
  position: absolute;
  top: 220px;
  left: 5px;
  bottom: -40px;
  z-index: 4;
  width: 10px;
  background: none;
  color: rgba(250, 216, 73, 0.3);
  font-size: 120px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  will-change: transform;
}
main .race_demo .race_stage .goal_line::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 22px;
  bottom: 0;
  width: 10px;
  background: rgba(250, 216, 73, 0.3);
}
main .race_demo .race_stage .goal_line .goal_board {
  position: absolute;
  top: -210px;
  left: -89px;
  z-index: 10;
  display: block;
  width: 200px;
  height: auto;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
main .race_demo .race_stage .goal_line span {
  position: absolute;
  left: 12px;
  bottom: 150px;
  z-index: 4;
  display: block;
  white-space: nowrap;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  font-family: "transat-text", sans-serif;
  font-weight: 900;
  letter-spacing: 0;
}
main .race_demo .race_stage .distance_marker,
main .race_demo .race_stage .goal_line {
  font-family: "clother", sans-serif;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
main .race_demo .race_stage .race_minimap {
  width: calc(100% - 40px);
  position: absolute;
  right: 0;
  bottom: 20px;
  left: 0;
  z-index: 12000;
  height: 120px;
  padding: 10px 4%;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-image: url(../images/race_bg_minimap.webp?v=26072201);
  background-size: 100% 100%;
  background-position: center center;
  opacity: 1;
  -webkit-transition: opacity 2s linear;
  transition: opacity 2s linear;
  pointer-events: none;
  background-color: #fff;
}
main .race_demo .race_stage.is_minimap_fading .race_minimap {
  opacity: 0;
}
main .race_demo .race_stage .race_commentary {
  position: absolute;
  right: 0;
  bottom: 155px;
  left: 0;
  z-index: 13000;
  width: calc(100% - 80px);
  margin: 0 auto;
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
main .race_demo .race_stage .race_commentary_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 4px;
  min-height: 96px;
}
main .race_demo .race_stage .race_commentary_line {
  max-width: 100%;
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: keep-all;
  text-shadow: none;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 0.32s ease-out, -webkit-transform 0.32s ease-out;
  transition: opacity 0.32s ease-out, -webkit-transform 0.32s ease-out;
  transition: opacity 0.32s ease-out, transform 0.32s ease-out;
  transition: opacity 0.32s ease-out, transform 0.32s ease-out, -webkit-transform 0.32s ease-out;
  will-change: transform, opacity;
}
main .race_demo .race_stage .race_commentary_horse_ref {
  display: inline;
  margin: 0 0.08em;
  line-height: inherit;
  vertical-align: baseline;
  white-space: nowrap;
}
main .race_demo .race_stage .race_commentary_horse_no {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.18em;
  height: 1.18em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-right: 0.25em;
  background: var(--number-bg);
  color: #fff;
  font-family: "clother", sans-serif;
  font-size: 0.9em;
  font-weight: 900;
  line-height: 1;
  text-shadow: none;
  vertical-align: -0.12em;
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
}
main .race_demo .race_stage .race_commentary_horse_no.is_double_digit {
  font-size: 0.78em;
}
main .race_demo .race_stage .race_commentary_horse_no.number_white {
  --number-bg: #fff;
  color: #111;
}
main .race_demo .race_stage .race_commentary_horse_no.number_black {
  --number-bg: #222;
}
main .race_demo .race_stage .race_commentary_horse_no.number_red {
  --number-bg: #e53935;
}
main .race_demo .race_stage .race_commentary_horse_no.number_blue {
  --number-bg: #1e88e5;
}
main .race_demo .race_stage .race_commentary_horse_no.number_yellow {
  --number-bg: #fdd835;
  color: #111;
}
main .race_demo .race_stage .race_commentary_horse_no.number_green {
  --number-bg: #43a047;
}
main .race_demo .race_stage .race_commentary_horse_no.number_orange {
  --number-bg: #fb8c00;
}
main .race_demo .race_stage .race_commentary_horse_no.number_purple {
  --number-bg: #ff4faf;
}
main .race_demo .race_stage .race_commentary_horse_name {
  display: inline-block;
  line-height: inherit;
  vertical-align: baseline;
}
main .race_demo .race_stage .race_commentary_line.is_latest {
  opacity: 1;
}
main .race_demo .race_stage .race_commentary_line.is_previous {
  opacity: 0.65;
}
main .race_demo .race_stage .race_commentary_line.is_oldest {
  opacity: 0.35;
}
main .race_demo .race_stage .race_commentary_line.is_entering {
  opacity: 0;
  -webkit-transform: translateY(0.5em);
          transform: translateY(0.5em);
}
main .race_demo .race_stage .race_commentary_line.is_leaving {
  opacity: 0;
  -webkit-transform: translateY(-0.45em);
          transform: translateY(-0.45em);
}
main .race_demo .race_stage .race_minimap_track {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
main .race_demo .race_stage .minimap_horse {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  display: -ms-grid;
  display: grid;
  place-items: center;
  width: 57px;
  height: 52px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-bottom: 5px;
  --number-bg: #fff;
  color: #111;
  font-family: "clother", sans-serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: none;
  transition: none;
  will-change: transform;
  -webkit-filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.45));
          filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.45));
  background: transparent;
  border: 0;
}
main .race_demo .race_stage .minimap_horse::before, main .race_demo .race_stage .minimap_horse::after {
  content: "";
  position: absolute;
  inset: 0;
  clip-path: polygon(50% 0, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
}
main .race_demo .race_stage .minimap_horse::before {
  z-index: -2;
  background: linear-gradient(135deg, #8a6422 0%, #d7b45a 36%, #f1dc92 50%, #b88931 72%, #705018 100%);
}
main .race_demo .race_stage .minimap_horse::after {
  z-index: -1;
  inset: 2px;
  background: var(--number-bg);
}
main .race_demo .race_stage .minimap_horse.is_double_digit {
  font-size: 31px;
}
main .race_demo .race_stage .minimap_horse.number_white {
  --number-bg: #fff;
  background: transparent;
  color: #111;
}
main .race_demo .race_stage .minimap_horse.number_black {
  --number-bg: #222;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .minimap_horse.number_red {
  --number-bg: #e53935;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .minimap_horse.number_blue {
  --number-bg: #1e88e5;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .minimap_horse.number_yellow {
  --number-bg: #fdd835;
  background: transparent;
  color: #111;
}
main .race_demo .race_stage .minimap_horse.number_green {
  --number-bg: #43a047;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .minimap_horse.number_orange {
  --number-bg: #fb8c00;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .minimap_horse.number_purple {
  --number-bg: #ff4faf;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 5;
  height: 48px;
}
main .race_demo .race_stage .horse_lane .horse_info {
  position: absolute;
  left: 140px;
  top: -164px;
  z-index: 9;
  display: block;
  background: none;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 15s linear;
  transition: -webkit-transform 15s linear;
  transition: transform 15s linear;
  transition: transform 15s linear, -webkit-transform 15s linear;
  will-change: transform;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number {
  position: relative;
  z-index: 0;
  display: -ms-grid;
  display: grid;
  text-align: center;
  width: 58px;
  height: 56px;
  border: 0;
  --number-bg: #fff;
  background: transparent;
  color: #111;
  font-size: 44px;
  line-height: 1;
  padding-top: 4px;
  font-weight: 900;
  letter-spacing: 0;
  font-family: "clother", sans-serif;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number::before, main .race_demo .race_stage .horse_lane .horse_info .horse_number::after {
  content: "";
  position: absolute;
  inset: 0;
  clip-path: polygon(50% 0, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number::before {
  z-index: -2;
  background: linear-gradient(135deg, #8a6422 0%, #d7b45a 36%, #f1dc92 50%, #b88931 72%, #705018 100%);
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number::after {
  z-index: -1;
  inset: 2px;
  background: var(--number-bg);
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.is_double_digit {
  font-size: 42px;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_odds {
  display: block;
  position: absolute;
  top: -36px;
  right: -12px;
  left: -12px;
  margin: 0 auto;
  padding: 1px 0 1px;
  border-radius: 4px;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
  font-weight: 700;
  font-family: "clother", sans-serif;
  /*
  text-shadow:
    -1px -1px 0 rgba(0,0,0,.9),
    1px -1px 0 rgba(0,0,0,.9),
    -1px 1px 0 rgba(0,0,0,.9),
    1px 1px 0 rgba(0,0,0,.9),
    0 2px 2px rgba(0,0,0,.75);
  */
}
main .race_demo .race_stage .horse_lane .horse_info .number_white {
  --number-bg: #fff;
  background: transparent;
  color: #111;
}
main .race_demo .race_stage .horse_lane .horse_info .number_black {
  --number-bg: #222;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .number_red {
  --number-bg: #e53935;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .number_blue {
  --number-bg: #1e88e5;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .number_yellow {
  --number-bg: #fdd835;
  background: transparent;
  color: #111;
}
main .race_demo .race_stage .horse_lane .horse_info .number_green {
  --number-bg: #43a047;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .number_orange {
  --number-bg: #fb8c00;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .number_purple {
  --number-bg: #ff4faf;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .odds_low {
  color: #ff3838;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.9), 1px -1px 0 rgba(0, 0, 0, 0.9), -1px 1px 0 rgba(0, 0, 0, 0.9), 1px 1px 0 rgba(0, 0, 0, 0.9), 0 2px 2px rgba(0, 0, 0, 0.75);
}
main .race_demo .race_stage .horse_lane .horse_info .odds_mid {
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .odds_high {
  color: #ffdc4a;
}
main .race_demo .race_stage .horse_lane .horse_runner {
  position: absolute;
  left: 30px;
  bottom: -36px;
  z-index: 6;
  width: 240px;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 15s linear;
  transition: -webkit-transform 15s linear;
  transition: transform 15s linear;
  transition: transform 15s linear, -webkit-transform 15s linear;
  will-change: transform;
}
main .race_demo .race_stage .horse_lane .horse_runner::before {
  content: "";
  position: absolute;
  left: 18px;
  bottom: 10px;
  z-index: -1;
  width: 168px;
  height: 17px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.44);
  -webkit-filter: blur(6px);
          filter: blur(6px);
  -webkit-transform: skewX(-14deg);
          transform: skewX(-14deg);
  pointer-events: none;
}
main .race_demo .race_stage .horse_lane .horse_runner.is_spurt .horse_body {
  -webkit-transform: rotate(-2deg);
          transform: rotate(-2deg);
}
main .race_demo .race_stage .horse_lane .horse_runner.is_final::after {
  content: "";
  position: absolute;
  left: -34px;
  top: 48%;
  width: 42px;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  -webkit-box-shadow: -18px 10px 0 rgba(255, 255, 255, 0.45), -12px -10px 0 rgba(255, 255, 255, 0.45);
          box-shadow: -18px 10px 0 rgba(255, 255, 255, 0.45), -12px -10px 0 rgba(255, 255, 255, 0.45);
}
main .race_demo .race_stage .horse_lane .horse_runner .horse_body {
  width: 240px;
  height: 160px;
  -webkit-animation: horse_bob 0.36s linear infinite;
          animation: horse_bob 0.36s linear infinite;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
  will-change: transform;
  -webkit-transform-origin: 50% 65%;
          transform-origin: 50% 65%;
}
main .race_demo .race_stage .horse_lane .horse_runner .horse_body .horse_sprite {
  position: relative;
  width: 240px;
  height: 160px;
  background-image: url("../images/hourse_3piece01.png?v=26072201");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 960px 160px;
  -webkit-animation: horse_run 0.4s steps(4, end) infinite;
          animation: horse_run 0.4s steps(4, end) infinite;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
  will-change: background-position;
}
main .race_demo .race_stage .horse_lane .horse_runner .horse_body .horse_sprite .jockey_sprite {
  width: 90px;
  height: 90px;
  display: block;
  position: absolute;
  top: -5px;
  left: 90px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
main .race_demo .race_stage .horse_lane .horse_runner.horse_color_01 .horse_body .horse_sprite {
  background-image: url("../images/hourse_3piece01.png?v=26072201");
}
main .race_demo .race_stage .horse_lane .horse_runner.horse_color_02 .horse_body .horse_sprite {
  background-image: url("../images/hourse_3piece02.png?v=26072201");
}
main .race_demo .race_stage .horse_lane .horse_runner.horse_color_03 .horse_body .horse_sprite {
  background-image: url("../images/hourse_3piece03.png?v=26072201");
}
main .race_demo .race_stage .horse_lane .horse_runner.horse_color_04 .horse_body .horse_sprite {
  background-image: url("../images/hourse_3piece04.png?v=26072201");
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="1"] .horse_body {
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="1"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="2"] .horse_body {
  -webkit-animation-duration: 0.37s;
          animation-duration: 0.37s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="2"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.37s;
          animation-duration: 0.37s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="3"] .horse_body {
  -webkit-animation-duration: 0.41s;
          animation-duration: 0.41s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="3"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.41s;
          animation-duration: 0.41s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="4"] .horse_body {
  -webkit-animation-duration: 0.38s;
          animation-duration: 0.38s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="4"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.38s;
          animation-duration: 0.38s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="5"] .horse_body {
  -webkit-animation-duration: 0.42s;
          animation-duration: 0.42s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="5"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.42s;
          animation-duration: 0.42s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="6"] .horse_body {
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="6"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="7"] .horse_body {
  -webkit-animation-duration: 0.38s;
          animation-duration: 0.38s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="7"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.38s;
          animation-duration: 0.38s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="8"] .horse_body {
  -webkit-animation-duration: 0.43s;
          animation-duration: 0.43s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="8"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.43s;
          animation-duration: 0.43s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="9"] .horse_body {
  -webkit-animation-duration: 0.37s;
          animation-duration: 0.37s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="9"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.37s;
          animation-duration: 0.37s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="10"] .horse_body {
  -webkit-animation-duration: 0.41s;
          animation-duration: 0.41s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="10"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.41s;
          animation-duration: 0.41s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="11"] .horse_body {
  -webkit-animation-duration: 0.38s;
          animation-duration: 0.38s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="11"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.38s;
          animation-duration: 0.38s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="12"] .horse_body {
  -webkit-animation-duration: 0.36s;
          animation-duration: 0.36s;
}
main .race_demo .race_stage .horse_lane .horse_runner[data-horse="12"] .horse_body .horse_sprite {
  -webkit-animation-duration: 0.36s;
          animation-duration: 0.36s;
}
main .race_demo .race_stage .lane_01 {
  top: 100px;
}
main .race_demo .race_stage .lane_01 .horse_info .horse_number {
  background: #fff;
  color: #111;
}
main .race_demo .race_stage .lane_02 {
  top: 128px;
}
main .race_demo .race_stage .lane_02 .horse_info .horse_number {
  background: #222;
  color: #fff;
}
main .race_demo .race_stage .lane_03 {
  top: 156px;
}
main .race_demo .race_stage .lane_03 .horse_info .horse_number {
  background: #e53935;
  color: #fff;
}
main .race_demo .race_stage .lane_04 {
  top: 184px;
}
main .race_demo .race_stage .lane_04 .horse_info .horse_number {
  background: #1e88e5;
  color: #fff;
}
main .race_demo .race_stage .lane_05 {
  top: 212px;
}
main .race_demo .race_stage .lane_05 .horse_info .horse_number {
  background: #fdd835;
  color: #111;
}
main .race_demo .race_stage .lane_06 {
  top: 240px;
}
main .race_demo .race_stage .lane_06 .horse_info .horse_number {
  background: #43a047;
  color: #fff;
}
main .race_demo .race_stage .lane_07 {
  top: 268px;
}
main .race_demo .race_stage .lane_07 .horse_info .horse_number {
  background: #fb8c00;
  color: #111;
}
main .race_demo .race_stage .lane_08 {
  top: 296px;
}
main .race_demo .race_stage .lane_08 .horse_info .horse_number {
  background: #ff4faf;
  color: #fff;
}
main .race_demo .race_stage .lane_09 {
  top: 324px;
}
main .race_demo .race_stage .lane_09 .horse_info .horse_number {
  background: #00acc1;
  color: #111;
}
main .race_demo .race_stage .lane_10 {
  top: 352px;
}
main .race_demo .race_stage .lane_10 .horse_info .horse_number {
  background: #795548;
  color: #fff;
}
main .race_demo .race_stage .lane_11 {
  top: 380px;
}
main .race_demo .race_stage .lane_11 .horse_info .horse_number {
  background: #ff4faf;
  color: #fff;
}
main .race_demo .race_stage .lane_12 {
  top: 408px;
}
main .race_demo .race_stage .lane_12 .horse_info .horse_number {
  background: #ff4faf;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.number_white {
  --number-bg: #fff;
  background: transparent;
  color: #111;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.number_black {
  --number-bg: #222;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.number_red {
  --number-bg: #e53935;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.number_blue {
  --number-bg: #1e88e5;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.number_yellow {
  --number-bg: #fdd835;
  background: transparent;
  color: #111;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.number_green {
  --number-bg: #43a047;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.number_orange {
  --number-bg: #fb8c00;
  background: transparent;
  color: #fff;
}
main .race_demo .race_stage .horse_lane .horse_info .horse_number.number_purple {
  --number-bg: #ff4faf;
  background: transparent;
  color: #fff;
}
main .race_demo .race_controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  margin-top: 22px;
}
main .race_demo .race_controls button {
  min-width: 150px;
  padding: 12px 20px;
  border: 0;
  border-radius: 999px;
  background: #ffdc4a;
  color: #111;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  -webkit-box-shadow: 0 6px 0 #b99512;
          box-shadow: 0 6px 0 #b99512;
}
main .race_demo .race_controls button:active {
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  -webkit-box-shadow: 0 2px 0 #b99512;
          box-shadow: 0 2px 0 #b99512;
}
main .race_demo .race_result_demo {
  position: relative;
  z-index: 1;
  margin: -60px auto 0;
  padding: 18px;
}
main .race_demo .race_result_demo .race_result_demo_header {
  display: none;
}
main .race_demo .race_result_demo .race_result_demo_header h2 {
  color: #fff;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0;
}
main .race_demo .race_result_demo .race_result_demo_header .race_result_adjust_mark {
  display: none;
  margin-left: 8px;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
}
main .race_demo .race_result_demo .race_result_demo_header .race_result_adjust_mark .race_result_adjust_star {
  color: #ff3838;
}
main .race_demo .race_result_demo .race_result_demo_header .race_result_adjust_mark .race_result_late_fade_star {
  color: #ffdc4a;
}
main .race_demo .race_result_demo .race_result_demo_header .race_result_adjust_mark .race_result_hold_fade_star {
  color: #3aa8ff;
}
main .race_demo .race_result_demo .race_result_demo_body {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 300px 30px 630px;
  grid-template-columns: 300px 630px;
  gap: 30px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-top: 14px;
}
main .race_demo .race_result_demo .race_result_left {
  width: 300px;
  background-image: url(../images/kakuteiban.png?v=26072201);
  background-size: 100% auto;
  background-position: top 0 center;
  background-repeat: no-repeat;
}
main .race_demo .race_result_demo .race_result_right {
  width: 830px;
  min-width: 0;
}
main .race_demo .race_result_demo .odds_demo_type {
  margin-top: 10px;
  color: #ffdc4a;
  font-size: 16px;
  font-weight: 900;
}
main .race_demo .race_result_demo .race_result_places {
  min-height: 280px;
  margin-top: 0;
  overflow: visible;
}
main .race_demo .race_result_demo .result_board {
  position: relative;
  min-height: 280px;
  height: 600px;
  padding: 0 18px 16px 100px;
}
main .race_demo .race_result_demo .race_result_boost_badge {
  position: relative;
  left: 50%;
  width: clamp(315px, 45vw, 405px);
  aspect-ratio: 1/0.77;
  margin: -130px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: clamp(18px, 5.1vw, 28.5px);
  font-weight: 700;
  line-height: 1.1;
  white-space: normal;
  word-break: keep-all;
  padding: 0;
  background-image: url("../images/boost_bg_text02.webp?v=26072201");
  background-size: 50% 50%;
  background-repeat: no-repeat;
  background-position: center center;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transform-origin: top center;
          transform-origin: top center;
}
@media (max-width: 979px) {
  main .race_demo .race_result_demo .race_result_boost_badge {
    -webkit-transform: translateX(-50%) scale(1.3);
            transform: translateX(-50%) scale(1.3);
    -webkit-transform-origin: top center;
            transform-origin: top center;
  }
}
main .race_demo .race_result_demo .race_result_boost_badge_text {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60%;
  max-width: 60%;
  height: 45%;
  max-height: 45%;
  text-align: center;
}
main .race_demo .race_result_demo .race_result_boost_badge_times {
  font-weight: 600;
  font-size: 0.82em;
  padding: 0 0.08em;
}
main .race_demo .race_result_demo .race_result_boost_badge.is_boost_yellow .race_result_boost_badge_text {
  color: #fff2c2;
  text-shadow: 0 0 8px rgba(255, 235, 180, 0.55);
}
main .race_demo .race_result_demo .race_result_boost_badge.is_boost_red .race_result_boost_badge_text {
  color: #ff5050;
  text-shadow: 0 0 8px rgba(255, 80, 0, 0.4);
}
main .race_demo .race_result_demo .race_result_boost_badge.is_boost_rainbow .race_result_boost_badge_text {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}
main .race_demo .race_result_demo .result_board_name {
  height: 70px;
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  text-align: left;
  padding: 0 0 10px 0;
  margin: 0 -10px 13px -20px;
  width: calc(100% + 30px);
  display: block;
  line-height: 60px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
main .race_demo .race_result_demo .result_board_list {
  display: -ms-grid;
  display: grid;
  gap: 31px;
  margin: 0;
  padding: 0;
  list-style: none;
}
main .race_demo .race_result_demo .result_board_row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 52px 22px 1fr;
  grid-template-columns: 52px 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 22px;
  min-height: 46px;
  padding: 3px 0 3px 30px;
  color: #fff;
  font-weight: 900;
}
main .race_demo .race_result_demo .result_board_no {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 1px;
}
main .race_demo .race_result_demo .result_board_no .result_horse_no {
  width: 48px;
  height: 48px;
  font-size: 38px;
  padding-bottom: 2px;
}
main .race_demo .race_result_demo .result_board_meta {
  display: -ms-grid;
  display: grid;
  gap: 4px;
}
main .race_demo .race_result_demo .result_board_odds {
  text-align: left;
}
main .race_demo .race_result_demo .result_board_odds .result_odds_value {
  font-family: "clother", sans-serif;
  font-size: 30px;
  letter-spacing: 0;
}
main .race_demo .race_result_demo .race_result_table {
  width: 100%;
  border-collapse: collapse;
  color: #fff;
}
main .race_demo .race_result_demo .race_result_table td {
  padding: 7px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  vertical-align: middle;
}
main .race_demo .race_result_demo .race_result_table tr {
  background: rgba(0, 0, 0, 0.42);
}
main .race_demo .race_result_demo .race_result_table tr:last-child td {
  border-bottom: 0;
}
main .race_demo .race_result_demo .race_result_table .is_top3 {
  background: linear-gradient(135deg, rgba(92, 62, 10, 0.72), rgba(28, 20, 10, 0.88));
}
main .race_demo .race_result_demo .race_result_table .is_top3 td {
  padding-top: 9px;
  padding-bottom: 9px;
  font-size: 22px;
  font-weight: 900;
}
main .race_demo .race_result_demo .race_result_table .is_top3 .result_place_num {
  font-size: 36px;
}
main .race_demo .race_result_demo .race_result_table .is_top3 .result_place_suffix {
  font-size: 18px;
}
main .race_demo .race_result_demo .race_result_table .is_top3 .result_horse_no {
  width: 42px;
  height: 42px;
  font-size: 33px;
}
main .race_demo .race_result_demo .race_result_table .is_top3 .result_win_odds {
  font-size: 27px;
}
main .race_demo .race_result_demo .race_result_table .is_top3 .result_popularity_num {
  min-width: 30px;
  height: 30px;
  font-size: 24px;
}
main .race_demo .race_result_demo .race_result_table .is_top3 .result_popularity_suffix {
  font-size: 13px;
}
main .race_demo .race_result_demo .race_result_table tr:nth-child(1) .result_place_num,
main .race_demo .race_result_demo .race_result_table tr:nth-child(1) .result_place_suffix {
  color: #fff;
}
main .race_demo .race_result_demo .race_result_table tr:nth-child(2) .result_place_num,
main .race_demo .race_result_demo .race_result_table tr:nth-child(2) .result_place_suffix {
  color: #fff;
}
main .race_demo .race_result_demo .race_result_table tr:nth-child(3) .result_place_num,
main .race_demo .race_result_demo .race_result_table tr:nth-child(3) .result_place_suffix {
  color: #fff;
}
main .race_demo .race_result_demo .race_result_table .is_lower {
  background: rgba(0, 0, 0, 0.52);
}
main .race_demo .race_result_demo .race_result_table .is_lower .result_place,
main .race_demo .race_result_demo .race_result_table .is_lower .result_name {
  color: rgba(255, 255, 255, 0.74);
}
main .race_demo .race_result_demo .race_result_table .is_lower .result_place_num {
  font-size: 22px;
}
main .race_demo .race_result_demo .race_result_table .is_lower .result_place_suffix {
  font-size: 12px;
}
main .race_demo .race_result_demo .race_result_table .is_lower .result_win_odds {
  font-size: 18px;
}
main .race_demo .race_result_demo .race_result_table .is_lower .result_popularity_num {
  min-width: 24px;
  height: 24px;
  font-size: 19px;
}
main .race_demo .race_result_demo .race_result_table .is_lower .result_popularity_suffix {
  font-size: 11px;
}
main .race_demo .race_result_demo .result_place {
  width: 70px;
  color: rgba(255, 255, 255, 0.88);
  white-space: nowrap;
}
main .race_demo .race_result_demo .result_place_num {
  font-family: "clother", sans-serif;
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
}
main .race_demo .race_result_demo .result_place_suffix {
  margin-left: 2px;
  font-size: 15px;
  font-weight: 900;
}
main .race_demo .race_result_demo .result_number {
  width: 56px;
}
main .race_demo .race_result_demo .result_name {
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
  font-weight: 900;
}
main .race_demo .race_result_demo .result_win_odds {
  width: 120px;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
  letter-spacing: -1px;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  text-align: right;
}
main .race_demo .race_result_demo .result_popularity_cell {
  width: 82px;
  text-align: center;
}
main .race_demo .race_result_demo .result_popularity {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 3px;
  white-space: nowrap;
}
main .race_demo .race_result_demo .result_popularity_num {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0 4px;
  background: #fff;
  color: #111;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
}
main .race_demo .race_result_demo .result_popularity_suffix {
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}
main .race_demo .race_result_demo .place_badge {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
}
main .race_demo .race_result_demo .place_rank_1 {
  background: linear-gradient(135deg, #ffe680, #c99718);
  color: #111;
}
main .race_demo .race_result_demo .place_rank_2 {
  background: linear-gradient(135deg, #f4f6fb, #9ea6b4);
  color: #111;
}
main .race_demo .race_result_demo .place_rank_3 {
  background: linear-gradient(135deg, #f0b078, #9a5525);
  color: #111;
}
main .race_demo .race_result_demo .race_result_payouts {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 12px;
  background-color: rgba(0, 0, 0, 0.9);
}
main .race_demo .race_result_demo .race_payout_ranking_space {
  display: flow-root;
  min-height: 439px;
}
main .race_demo .race_result_demo .race_payout_ranking {
  display: none;
  margin-top: 0;
  margin-bottom: 14px;
  color: #fff;
}
main .race_demo .race_result_demo .race_payout_ranking_inner {
  padding: 0;
  overflow: hidden;
}
main .race_demo .race_result_demo .race_payout_ranking_title {
  margin: 0 0 6px;
  color: #ffdc4a;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 900;
}
main .race_demo .race_result_demo .race_payout_ranking_title img {
  display: block;
  width: 300px;
  max-width: 100%;
  height: auto;
}
main .race_demo .race_result_demo .race_payout_ranking_list {
  display: -ms-grid;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
main .race_demo .race_result_demo .race_payout_ranking_item {
  display: -ms-grid;
  display: grid;
  position: relative;
  gap: 6px;
  padding: 30px 30px 20px 140px;
  font-weight: 900;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 40ms linear, -webkit-transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1);
  transition: opacity 40ms linear, -webkit-transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1);
  transition: transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1), opacity 40ms linear;
  transition: transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1), opacity 40ms linear, -webkit-transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1);
  will-change: transform, opacity;
}
main .race_demo .race_result_demo .race_payout_ranking_item.is_waiting {
  opacity: 0;
  -webkit-transform: translateX(120%);
          transform: translateX(120%);
}
main .race_demo .race_result_demo .race_payout_ranking_item.is_cut_in {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
main .race_demo .race_result_demo .race_payout_ranking_item.no_1 {
  background-image: url(../images/bg_ranking01.webp?v=26072201);
  padding: 30px 30px 20px 140px;
}
main .race_demo .race_result_demo .race_payout_ranking_item.no_2 {
  background-image: url(../images/bg_ranking02.webp?v=26072201);
}
main .race_demo .race_result_demo .race_payout_ranking_item.no_3 {
  background-image: url(../images/bg_ranking03.webp?v=26072201);
}
main .race_demo .race_result_demo .race_payout_ranking_labels {
  position: absolute;
  top: 6px;
  right: 16px;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 6px;
  max-width: calc(100% - 160px);
  pointer-events: none;
}
main .race_demo .race_result_demo .race_payout_ranking_label {
  display: inline-block;
  padding: 5px 12px 6px;
  border: 1px solid #d6a838;
  background: rgba(0, 0, 0, 0.9);
  color: #fff;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  text-shadow: none;
  white-space: nowrap;
}
main .race_demo .race_result_demo .race_payout_ranking_label_text,
main .race_demo .race_result_demo .race_payout_ranking_label_rank {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.18);
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}
main .race_demo .race_result_demo .race_payout_ranking_label_text {
  font-size: 18px;
}
main .race_demo .race_result_demo .race_payout_ranking_label_rank {
  display: inline-block;
  padding: 0 3px;
  font-family: "clother", sans-serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 0.82;
  vertical-align: -1px;
  letter-spacing: 0;
}
main .race_demo .race_result_demo .race_payout_ranking_player {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 92px 9px minmax(0, 1fr);
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 9px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 0;
}
main .race_demo .race_result_demo .race_c_payout_rank_icon {
  width: 92px;
  margin-top: -18%;
}
main .race_demo .race_result_demo .race_payout_ranking_texts {
  display: -ms-grid;
  display: grid;
  gap: 6px;
  min-width: 0;
}
main .race_demo .race_result_demo .race_payout_ranking_meta,
main .race_demo .race_result_demo .race_payout_ranking_main {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .race_demo .race_result_demo .race_payout_ranking_meta {
  -ms-grid-columns: auto 8px 1fr;
  grid-template-columns: auto 1fr;
  gap: 8px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
main .race_demo .race_result_demo .race_payout_ranking_main {
  -ms-grid-columns: minmax(0, 1fr) 14px auto;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
}
main .race_demo .race_result_demo .race_payout_ranking_name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.1;
  text-align: left;
}
main .race_demo .race_result_demo .race_payout_ranking_amount {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 3px;
  color: #fff;
  white-space: nowrap;
  text-align: right;
}
main .race_demo .race_result_demo .race_payout_ranking_amount_num {
  font-family: "clother", sans-serif;
  font-size: 44px;
  line-height: 1;
  letter-spacing: -1px;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
}
main .race_demo .race_result_demo .race_payout_ranking_amount_num.is_rainbow {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}
main .race_demo .race_result_demo .race_payout_ranking_amount_unit {
  font-size: 16px;
  font-weight: 500;
}
main .race_demo .race_result_demo .race_payout_ranking_region,
main .race_demo .race_result_demo .race_payout_ranking_level {
  font-size: 18px;
  line-height: 1.2;
  white-space: nowrap;
  text-align: left;
}
main .race_demo .race_result_demo .race_payout_ranking_level {
  color: #fff;
  font-family: "clother", sans-serif;
  padding-left: 5px;
}
main .race_demo .race_result_demo .race_payout_ranking_region {
  display: inline-block;
  padding: 2px 8px;
  background: #fff;
  color: #111;
}
main .race_demo .race_result_demo .race_payout_ranking_status {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 700;
}
main .race_demo .race_result_demo .race_payout_ranking_status.is_error {
  color: #ffb3a8;
}
main .race_demo .race_result_demo .race_result_total {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 8px;
  margin-top: 2px;
  padding: 14px 16px 12px;
  border-radius: 6px;
  background: linear-gradient(135deg, rgba(92, 62, 10, 0.56), rgba(22, 18, 12, 0.82));
  color: #d3a33a;
  text-align: right;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 223, 128, 0.12);
          box-shadow: inset 0 1px 0 rgba(255, 223, 128, 0.12);
}
main .race_demo .race_result_demo .total_label {
  color: rgba(255, 255, 255, 0.7);
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
  padding-right: 20px;
}
main .race_demo .race_result_demo .total_value {
  color: #d7a83c;
  font-size: 42px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.42);
  letter-spacing: 0;
}
main .race_demo .race_result_demo .total_value.is_white {
  color: #fff;
}
main .race_demo .race_result_demo .total_value.is_yellow {
  color: #ffe84d;
  text-shadow: 0 2px 8px rgba(255, 220, 0, 0.4), 0 2px 0 rgba(0, 0, 0, 0.42);
}
main .race_demo .race_result_demo .total_value.is_rainbow {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}
main .race_demo .race_result_demo .total_unit {
  color: rgba(255, 255, 255, 0.82);
  font-size: 18px;
  font-weight: 500;
}
main .race_demo .race_result_demo .race_result_payout_cap_notice {
  margin-top: 6px;
  text-align: right;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
}
main .race_demo .race_result_demo .race_result_boost_notice {
  margin-top: 6px;
  padding: 6px 10px;
  background: rgba(255, 176, 0, 0.12);
  border: 1px solid rgba(255, 176, 0, 0.35);
  border-radius: 4px;
  text-align: center;
}
main .race_demo .race_result_demo .race_result_boost_notice .boost_notice_badge {
  display: block;
  font-size: 11px;
  font-weight: bold;
  color: #FFB400;
}
main .race_demo .race_result_demo .race_result_boost_notice .boost_notice_label {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
}
main .race_demo .race_result_demo .race_result_payout {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 78px 5px minmax(100px, 1fr) 5px auto;
  grid-template-columns: 78px minmax(100px, 1fr) auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 3px 12px;
  border-radius: 6px;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.05);
}
main .race_demo .race_result_demo .race_result_payout.is_stacked {
  -ms-grid-columns: 78px minmax(0, 1fr);
  grid-template-columns: 78px minmax(0, 1fr);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
main .race_demo .race_result_demo .race_result_payout.is_stacked .payout_detail_rows {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr);
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}
main .race_demo .race_result_demo .race_result_payout.is_stacked .payout_detail_line {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(96px, 1fr) 12px auto;
  grid-template-columns: minmax(96px, 1fr) auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
main .race_demo .race_result_demo .race_result_payout.is_stacked .payout_horses {
  min-width: 0;
}
main .race_demo .race_result_demo .payout_formula {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 96px 18px 88px 18px 168px;
  grid-template-columns: 96px 18px 88px 18px 168px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .race_demo .race_result_demo .payout_formula .result_odds_value {
  font-family: "clother", sans-serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
}
main .race_demo .race_result_demo .payout_formula_sep {
  color: rgba(255, 255, 255, 0.38);
  font-size: 13px;
  font-weight: 500;
  text-align: center;
}
main .race_demo .race_result_demo .payout_bet {
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  font-family: "clother", sans-serif;
  letter-spacing: 0;
  text-align: right;
}
main .race_demo .race_result_demo .payout_bet.is_active {
  color: #fff;
}
main .race_demo .race_result_demo .payout_bet.is_zero {
  color: rgba(255, 255, 255, 0.22);
}
main .race_demo .race_result_demo .payout_winnings {
  font-size: 26px;
  line-height: 1;
  font-weight: 700;
  font-family: "clother", sans-serif;
  letter-spacing: 0;
  text-align: right;
}
main .race_demo .race_result_demo .payout_winnings.is_zero {
  color: rgba(255, 255, 255, 0.22);
}
main .race_demo .race_result_demo .payout_winnings.is_white {
  color: #fff;
}
main .race_demo .race_result_demo .payout_winnings.is_yellow {
  color: #ffe84d;
  text-shadow: 0 0 8px rgba(255, 220, 0, 0.4);
}
main .race_demo .race_result_demo .payout_winnings.is_rainbow {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}
main .race_demo .race_result_demo .payout_name {
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}
main .race_demo .race_result_demo .payout_horses {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}
main .race_demo .race_result_demo .payout_line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 28px;
}
main .race_demo .race_result_demo .payout_arrow,
main .race_demo .race_result_demo .payout_sep {
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  padding: 0 5px;
}
main .race_demo .race_result_demo .payout_odds {
  color: #fff;
  font-size: 26px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  text-align: right;
}
main .race_demo .race_result_demo .payout_odds .payout_line {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
main .race_demo .race_result_demo .payout_bet_placeholder {
  min-width: 126px;
  color: rgba(255, 255, 255, 0.16);
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  text-align: right;
  white-space: nowrap;
}
main .race_demo .race_result_demo .result_odds_value {
  color: #fff;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  letter-spacing: 0;
}
main .race_demo .race_result_demo .result_odds_low {
  color: #ff3838;
}
main .race_demo .race_result_demo .result_odds_high {
  color: #ffdc4a;
}
main .race_demo .race_result_demo .result_horse_no {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 0;
  background: var(--number-bg);
  color: #fff;
  font-size: 21px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
}
main .race_demo .race_result_demo .result_horse_no.number_white {
  --number-bg: #fff;
  color: #111;
}
main .race_demo .race_result_demo .result_horse_no.number_black {
  --number-bg: #222;
}
main .race_demo .race_result_demo .result_horse_no.number_red {
  --number-bg: #e53935;
}
main .race_demo .race_result_demo .result_horse_no.number_blue {
  --number-bg: #1e88e5;
}
main .race_demo .race_result_demo .result_horse_no.number_yellow {
  --number-bg: #fdd835;
  color: #111;
}
main .race_demo .race_result_demo .result_horse_no.number_green {
  --number-bg: #43a047;
}
main .race_demo .race_result_demo .result_horse_no.number_orange {
  --number-bg: #fb8c00;
}
main .race_demo .race_result_demo .result_horse_no.number_purple {
  --number-bg: #ff4faf;
}
main .race_demo .odds_demo {
  width: 1100px;
  margin: -50px auto 0;
  position: relative;
  min-height: 792px;
}
main .race_demo .odds_demo .odds_demo_contents {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_left {
  width: 840px;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_right {
  position: absolute;
  top: 12px;
  right: 0;
  width: 240px;
  height: 780px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-image: url(../images/bg_baken_area.webp?v=26072201);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  padding-top: 17px;
  padding-bottom: 20px;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .purchase_history_ttl {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 22px;
  text-align: center;
  margin-top: 25px;
  margin-bottom: 20px;
  color: #ffd400;
  letter-spacing: 3px;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .purchase_history_ttl img {
  display: block;
  width: 150px;
  height: auto;
  margin: 0 auto;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
  overflow-y: auto;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  padding: 0 20px 8px;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards .bet_card {
  width: 100%;
  min-width: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards .purchased_card_delete {
  position: absolute;
  top: 8px;
  right: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  line-height: 1;
  z-index: 1;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards .purchased_card_delete img {
  display: block;
  width: 18px;
  height: 18px;
  opacity: 0.85;
}
main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards .purchased_card_delete:hover img {
  opacity: 1;
}
main .race_demo .odds_demo .odds_demo_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 14px;
}
main .race_demo .odds_demo .odds_demo_header h2 {
  font-size: 20px;
  font-weight: 900;
}
main .race_demo .odds_demo .odds_demo_header button {
  min-width: 120px;
  padding: 9px 14px;
  border: 0;
  border-radius: 4px;
  background: #ffdc4a;
  color: #111;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}
main .race_demo .odds_demo .odds_demo_summary {
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 700;
}
main .race_demo .odds_demo .odds_demo_type {
  margin-top: 10px;
  color: #ffdc4a;
  font-size: 16px;
  font-weight: 900;
}
main .race_demo .odds_demo .odds_table {
  width: 100%;
  margin-top: 12px;
  border-collapse: collapse;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-radius: 6px 6px 0 0;
  background: rgba(0, 0, 0, 0.9);
}
main .race_demo .odds_demo .odds_table th,
main .race_demo .odds_demo .odds_table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  text-align: center;
  font-size: 24px;
}
main .race_demo .odds_demo .odds_table th {
  padding: 8px 0;
}
main .race_demo .odds_demo .odds_table tbody td {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
}
main .race_demo .odds_demo .odds_table th:first-child,
main .race_demo .odds_demo .odds_table td:first-child {
  text-align: center;
  width: 52px;
}
main .race_demo .odds_demo .odds_table th:nth-child(2),
main .race_demo .odds_demo .odds_table td:nth-child(2) {
  text-align: left;
}
main .race_demo .odds_demo .odds_table th:nth-child(3),
main .race_demo .odds_demo .odds_table td:nth-child(3) {
  text-align: center;
  width: 54px;
}
main .race_demo .odds_demo .odds_table th:nth-child(4),
main .race_demo .odds_demo .odds_table td:nth-child(4) {
  width: 78px;
  text-align: right;
}
main .race_demo .odds_demo .odds_table th:nth-child(5),
main .race_demo .odds_demo .odds_table td:nth-child(5) {
  width: 130px;
  text-align: center;
  cursor: pointer;
  padding: 0 0 !important;
}
main .race_demo .odds_demo .odds_table th:nth-child(6),
main .race_demo .odds_demo .odds_table td:nth-child(6) {
  width: 44px;
  text-align: center;
}
main .race_demo .odds_demo .odds_table th:nth-child(7),
main .race_demo .odds_demo .odds_table td:nth-child(7),
main .race_demo .odds_demo .odds_table th:nth-child(8),
main .race_demo .odds_demo .odds_table td:nth-child(8) {
  width: 88px;
  min-width: 88px;
  max-width: 88px;
  text-align: center;
  padding: 6px 6px;
}
main .race_demo .odds_demo .odds_table .col_formation {
  display: none;
  width: 72px;
  text-align: center;
  padding: 6px 4px;
}
main .race_demo .odds_demo .odds_table th {
  background: rgba(0, 0, 0, 0.38);
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 600;
}
main .race_demo .odds_demo .odds_table td {
  color: #fff;
  font-weight: 800;
}
main .race_demo .odds_demo .odds_table .odds_table_low,
main .race_demo .odds_demo .odds_table .odds_table_mid,
main .race_demo .odds_demo .odds_table .odds_table_high {
  font-family: "clother", sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
}
main .race_demo .odds_demo .odds_table tbody tr:nth-child(odd) {
  background: rgba(255, 255, 255, 0.035);
}
main .race_demo .odds_demo .odds_table tbody tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.08);
}
main .race_demo .odds_demo .odds_table .result_horse_no {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 0;
  background: var(--number-bg);
  color: #fff;
  font-size: 32px;
  line-height: 1;
  font-weight: 900;
  font-family: "clother", sans-serif;
}
main .race_demo .odds_demo .odds_table .result_horse_no.number_white {
  --number-bg: #fff;
  color: #111;
}
main .race_demo .odds_demo .odds_table .result_horse_no.number_black {
  --number-bg: #222;
}
main .race_demo .odds_demo .odds_table .result_horse_no.number_red {
  --number-bg: #e53935;
}
main .race_demo .odds_demo .odds_table .result_horse_no.number_blue {
  --number-bg: #1e88e5;
}
main .race_demo .odds_demo .odds_table .result_horse_no.number_yellow {
  --number-bg: #fdd835;
  color: #111;
}
main .race_demo .odds_demo .odds_table .result_horse_no.number_green {
  --number-bg: #43a047;
}
main .race_demo .odds_demo .odds_table .result_horse_no.number_orange {
  --number-bg: #fb8c00;
  color: #fff;
}
main .race_demo .odds_demo .odds_table .result_horse_no.number_purple {
  --number-bg: #ff4faf;
}
main .race_demo .odds_demo .odds_table .entry_name_cell {
  padding: 0 10px;
}
main .race_demo .odds_demo .odds_table .entry_name_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
main .race_demo .odds_demo .odds_table .entry_name_main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  overflow: hidden;
}
main .race_demo .odds_demo .odds_table .entry_horse_face {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 60px;
  width: auto;
  margin-top: -20px;
  margin-right: 0;
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
}
main .race_demo .odds_demo .odds_table tr:nth-child(even) .entry_horse_face {
  -webkit-filter: brightness(1.35);
          filter: brightness(1.35);
}
main .race_demo .odds_demo .odds_table .entry_horse_name {
  margin-bottom: 5px;
  color: #fff;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
main .race_demo .odds_demo .odds_table .entry_horse_meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-top: 5px;
}
main .race_demo .odds_demo .odds_table .entry_sex {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 34px;
  padding: 2px 5px;
  color: #fff;
  font-size: 12px;
  line-height: 1.1;
  font-weight: 900;
}
main .race_demo .odds_demo .odds_table .entry_sex.is_male {
  background: #1e88e5;
}
main .race_demo .odds_demo .odds_table .entry_sex.is_female {
  background: #ff4faf;
}
main .race_demo .odds_demo .odds_table .entry_condition {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 2px;
  margin-top: 5px;
}
main .race_demo .odds_demo .odds_table .entry_condition_arrow {
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/icon_condition.svg?v=26072201") center center/contain no-repeat;
}
main .race_demo .odds_demo .odds_table .condition_0 {
  background: #e53935;
}
main .race_demo .odds_demo .odds_table .condition_0 .entry_condition_arrow {
  -webkit-transform: translate(0, -1px);
          transform: translate(0, -1px);
}
main .race_demo .odds_demo .odds_table .condition_1 {
  background: #f39c12;
}
main .race_demo .odds_demo .odds_table .condition_1 .entry_condition_arrow {
  -webkit-transform: translate(1px, -1px) rotate(45deg);
          transform: translate(1px, -1px) rotate(45deg);
}
main .race_demo .odds_demo .odds_table .condition_2 {
  background: #43a047;
}
main .race_demo .odds_demo .odds_table .condition_2 .entry_condition_arrow {
  -webkit-transform: translate(1px) rotate(90deg);
          transform: translate(1px) rotate(90deg);
}
main .race_demo .odds_demo .odds_table .condition_3 {
  background: #1e88e5;
}
main .race_demo .odds_demo .odds_table .condition_3 .entry_condition_arrow {
  -webkit-transform: translate(1px, 1px) rotate(135deg);
          transform: translate(1px, 1px) rotate(135deg);
}
main .race_demo .odds_demo .odds_table .condition_4 {
  background: #8e24aa;
}
main .race_demo .odds_demo .odds_table .condition_4 .entry_condition_arrow {
  -webkit-transform: translate(0, 1px) rotate(180deg);
          transform: translate(0, 1px) rotate(180deg);
}
main .race_demo .odds_demo .odds_table .entry_popularity {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 3px;
}
main .race_demo .odds_demo .odds_table .entry_popularity_num {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0;
  background: #fff;
  color: #111;
  font-family: "clother", sans-serif;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
}
main .race_demo .odds_demo .odds_table .entry_popularity_suffix {
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  margin-top: 1px;
  white-space: nowrap;
}
main .race_demo .odds_demo .odds_table .entry_win_odds {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -1px;
}
main .race_demo .odds_demo .odds_table .entry_marks_switch {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  width: 100%;
  min-width: 120px;
  padding: 0;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  line-height: 1;
  cursor: pointer;
}
main .race_demo .odds_demo .odds_table .entry_marks_view {
  display: none;
  width: 100%;
  opacity: 0;
  -webkit-animation: entry_mark_fade 0.28s ease-out forwards;
          animation: entry_mark_fade 0.28s ease-out forwards;
}
main .race_demo .odds_demo .odds_table .entry_marks_view.is_active {
  display: -ms-grid;
  display: grid;
}
main .race_demo .odds_demo .odds_table .entry_marks_switch.is_switching .entry_marks_view.is_active {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
}
main .race_demo .odds_demo .odds_table .entry_marks {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3px;
  min-width: 120px;
}
main .race_demo .odds_demo .odds_table .entry_mark {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  width: 22px;
}
main .race_demo .odds_demo .odds_table .entry_mark img {
  display: block;
  width: 22px;
  height: 22px;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
}
main .race_demo .odds_demo .odds_table .entry_comment {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 118px;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  padding-left: 4px;
}
main .race_demo .odds_demo .odds_table .place_badge {
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  letter-spacing: 0;
  border-radius: 50%;
  color: #fff;
  font-weight: 900;
}
main .race_demo .odds_demo .odds_table .place_rank_1 {
  background: #d7a928;
  color: #111;
}
main .race_demo .odds_demo .odds_table .place_rank_2 {
  background: #c9cdd3;
  color: #111;
}
main .race_demo .odds_demo .odds_table .place_rank_3 {
  background: #b8783a;
  color: #111;
}
main .race_demo .odds_demo .odds_table .running_style_indicator {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
}
main .race_demo .odds_demo .odds_table .style_triangle {
  display: block;
  width: 13px;
  height: 13px;
  background: rgba(255, 255, 255, 0.35);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
main .race_demo .odds_demo .odds_table .style_triangle.is_active {
  background: #ff3838;
}
main .race_demo .odds_demo .odds_table .style_triangle.is_active_makuri {
  background: #3cb96e;
}
main .race_demo .odds_demo .odds_table .odds_table_low {
  color: #ff3838;
}
main .race_demo .odds_demo .odds_table .odds_table_mid {
  color: #fff;
}
main .race_demo .odds_demo .odds_table .odds_table_high {
  color: #ffdc4a;
}
main .race_demo .odds_demo .odds_table .entry_popularity {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  line-height: 1;
}
main .race_demo .odds_demo .odds_table .entry_popularity .entry_popularity_num {
  font-size: 20px;
  font-weight: 900;
}
main .race_demo .odds_demo .odds_table .entry_popularity .entry_popularity_suffix {
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
main .race_demo .odds_demo .odds_table .entry_bet_cell {
  padding: 6px 6px;
}
main .race_demo .odds_demo .odds_table .entry_formation_cell {
  padding: 4px 4px;
}
main .race_demo .odds_demo .odds_table .entry_box_cell {
  display: none;
  padding: 4px 4px;
}
main .race_demo .odds_demo .odds_table .formation_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 8px 4px;
  border: none;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: background 0.1s;
  transition: background 0.1s;
}
main .race_demo .odds_demo .odds_table .formation_btn:focus {
  outline: none;
}
main .race_demo .odds_demo .odds_table .formation_btn:focus:not(:focus-visible) {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
main .race_demo .odds_demo .odds_table .formation_btn:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.8);
  outline-offset: 2px;
}
main .race_demo .odds_demo .odds_table .formation_btn.number_white {
  background: rgba(255, 255, 255, 0.1);
}
main .race_demo .odds_demo .odds_table .formation_btn.number_black {
  background: rgba(255, 255, 255, 0.03);
}
main .race_demo .odds_demo .odds_table .formation_btn.number_red {
  background: rgba(229, 57, 53, 0.25);
}
main .race_demo .odds_demo .odds_table .formation_btn.number_blue {
  background: rgba(30, 136, 229, 0.25);
}
main .race_demo .odds_demo .odds_table .formation_btn.number_yellow {
  background: rgba(253, 216, 53, 0.25);
}
main .race_demo .odds_demo .odds_table .formation_btn.number_green {
  background: rgba(67, 160, 71, 0.25);
}
main .race_demo .odds_demo .odds_table .formation_btn.number_orange {
  background: rgba(251, 140, 0, 0.25);
}
main .race_demo .odds_demo .odds_table .formation_btn.number_purple {
  background: rgba(255, 79, 175, 0.25);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_white {
  background: rgb(255, 255, 255);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_white .formation_check {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_black {
  background: #999;
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_red {
  background: rgb(229, 57, 53);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_blue {
  background: rgb(30, 136, 229);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_yellow {
  background: rgb(253, 216, 53);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_yellow .formation_check {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_green {
  background: rgb(67, 160, 71);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_orange {
  background: rgb(251, 140, 0);
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected.number_purple {
  background: rgb(255, 79, 175);
}
main .race_demo .odds_demo .odds_table .formation_btn .formation_check {
  width: 22px;
  height: 22px;
  opacity: 0.2;
  -webkit-transition: opacity 0.15s;
  transition: opacity 0.15s;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
}
main .race_demo .odds_demo .odds_table .formation_btn.is_selected .formation_check {
  opacity: 1;
}
main .race_demo .odds_demo .odds_table .formation_btn.box_btn {
  width: 208px;
}
main .race_demo .odds_demo .odds_table .bet_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
  min-width: 0;
  padding: 17px 0 5px;
  border: 1px solid;
  border-radius: 10px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.4);
          box-shadow: 0 3px 0 rgba(0, 0, 0, 0.4);
  -webkit-transition: -webkit-filter 0.1s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: -webkit-filter 0.1s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: filter 0.1s, transform 0.07s, box-shadow 0.07s;
  transition: filter 0.1s, transform 0.07s, box-shadow 0.07s, -webkit-filter 0.1s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .odds_table .bet_btn.is_unbetted {
  border-color: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
main .race_demo .odds_demo .odds_table .bet_btn.number_white {
  border-color: transparent;
  background: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.9);
}
main .race_demo .odds_demo .odds_table .bet_btn.number_black {
  border-color: transparent;
  background: rgba(255, 255, 255, 0.15);
  color: rgba(210, 210, 210, 0.9);
}
main .race_demo .odds_demo .odds_table .bet_btn.number_red {
  border-color: transparent;
  background: rgba(229, 57, 53, 0.24);
  color: #ff7070;
}
main .race_demo .odds_demo .odds_table .bet_btn.number_blue {
  border-color: transparent;
  background: rgba(30, 136, 229, 0.24);
  color: #64b5f6;
}
main .race_demo .odds_demo .odds_table .bet_btn.number_yellow {
  border-color: transparent;
  background: rgba(253, 216, 53, 0.22);
  color: #fdd835;
}
main .race_demo .odds_demo .odds_table .bet_btn.number_green {
  border-color: transparent;
  background: rgba(67, 160, 71, 0.24);
  color: #81c784;
}
main .race_demo .odds_demo .odds_table .bet_btn.number_orange {
  border-color: transparent;
  background: rgba(251, 140, 0, 0.24);
  color: #ffb74d;
}
main .race_demo .odds_demo .odds_table .bet_btn.number_purple {
  border-color: transparent;
  background: rgba(255, 79, 175, 0.24);
  color: #ff80cb;
}
main .race_demo .odds_demo .odds_table .bet_btn .bet_btn_odds {
  font-family: "clother", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  width: 100%;
  position: absolute;
  top: -12px;
  right: 0;
  left: 0;
  margin: 0 auto;
  text-align: center;
}
main .race_demo .odds_demo .odds_table .bet_btn .bet_btn_count {
  font-family: "clother", sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  margin-top: 1px;
  overflow: hidden;
  white-space: nowrap;
  min-width: 0;
}
main .race_demo .odds_demo .odds_table .bet_btn .bet_btn_count.is_zero {
  color: rgba(255, 255, 255, 0.28);
}
main .race_demo .odds_demo .odds_table tr:last-child td {
  border-bottom: 0;
}
main .race_demo .odds_demo.mode_formation .odds_table .col_formation {
  display: table-cell;
}
main .race_demo .odds_demo.mode_formation .odds_table .col_win_place {
  display: none;
}
main .race_demo .odds_demo.mode_formation .odds_table .col_entry_info {
  display: table-cell;
  width: 130px;
}
main .race_demo .odds_demo.mode_formation .entry_horse_face {
  display: none;
}
main .race_demo .odds_demo.mode_formation .formation_controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
main .race_demo .odds_demo.mode_formation .formation_cards_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 20px 0 0;
}
main .race_demo .odds_demo.mode_box .odds_table .entry_box_cell {
  display: table-cell;
}
main .race_demo .odds_demo.mode_box .odds_table .col_win_place {
  display: none;
}
main .race_demo .odds_demo.mode_box .odds_table .col_entry_info {
  display: table-cell;
  width: 130px;
}
main .race_demo .odds_demo.mode_box .odds_table .col_formation {
  display: table-cell;
  width: 56px;
}
main .race_demo .odds_demo.mode_box .entry_horse_face {
  display: none;
}
main .race_demo .odds_demo.mode_box .box_controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
main .race_demo .odds_demo.mode_box .box_cards_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 20px 0;
}
main .race_demo .odds_demo .bet_mode_area .bet_unit_area {
  position: absolute;
  top: 826px;
  right: 12px;
  width: 216px;
  z-index: 5;
}
main .race_demo .odds_demo .bet_mode_area .bet_unit_area #betUnitBtn {
  display: block;
  width: 100%;
  background-color: transparent;
  background-image: url(../images/bg_btn_change.png?v=26072201);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  color: #000;
  border: none;
  border-radius: 6px;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 12px 12px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: -webkit-transform 0.07s;
  transition: -webkit-transform 0.07s;
  transition: transform 0.07s;
  transition: transform 0.07s, -webkit-transform 0.07s;
}
main .race_demo .odds_demo .bet_mode_area .bet_unit_area #betUnitBtn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
main .race_demo .odds_demo .bet_mode_area .bet_unit_area .bet_unit_num {
  display: block;
  width: 100%;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  font-family: "clother", sans-serif;
  letter-spacing: 0;
  color: #fff;
}
main .race_demo .odds_demo .bet_mode_area .bet_unit_area .bet_unit_label {
  display: block;
  width: 100%;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  margin-top: 3px;
  color: #fff;
}
main .race_demo .odds_demo .formation_controls {
  display: none;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  padding: 5px 0 4px;
}
main .race_demo .odds_demo .formation_controls .formation_type_panel {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0 8px 0 16px;
  position: relative;
  z-index: 10;
}
main .race_demo .odds_demo .formation_controls .formation_type_btn {
  position: relative;
  isolation: isolate;
  width: 80px;
  padding: 2px 0 4px;
  border: none;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.8);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
  -webkit-transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.07s, box-shadow 0.07s;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .formation_controls .formation_type_btn::before {
  content: "";
  position: absolute;
  inset: 2px;
  background: #000;
  z-index: -2;
  pointer-events: none;
}
main .race_demo .odds_demo .formation_controls .formation_type_btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../images/bg_btn_kakeshiki.png?v=26072201);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
  pointer-events: none;
}
main .race_demo .odds_demo .formation_controls .formation_type_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
}
main .race_demo .odds_demo .formation_controls .formation_type_btn.is_selected {
  color: #000;
}
main .race_demo .odds_demo .formation_controls .formation_type_btn.is_selected::before {
  background: #ffdc4a;
}
main .race_demo .odds_demo .formation_controls .formation_place_panel {
  width: 216px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  -webkit-transform: translateY(-73px);
          transform: translateY(-73px);
}
main .race_demo .odds_demo .formation_controls .formation_place_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
}
main .race_demo .odds_demo .formation_controls .formation_place_col {
  display: block;
  width: calc((100% - 12px) / 3);
}
main .race_demo .odds_demo .formation_controls .formation_place_label {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1;
}
main .race_demo .odds_demo .formation_controls .formation_all_btn {
  width: 100%;
  padding: 5px 4px;
  border: none;
  border-radius: 4px;
  background: #fff;
  color: #111;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
          box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
  -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .formation_controls .formation_all_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
}
main .race_demo .odds_demo .formation_controls .formation_reset_btn {
  width: 100%;
  padding: 7px 4px;
  border: none;
  border-radius: 4px;
  background: #DE3631;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-box-shadow: 0 3px 0 #A02623;
          box-shadow: 0 3px 0 #A02623;
  margin-top: 5px;
  -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .formation_controls .formation_reset_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
}
main .race_demo .odds_demo .box_controls {
  display: none;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  padding: 5px 0 4px;
}
main .race_demo .odds_demo .box_controls .box_type_panel {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0 8px 0 16px;
}
main .race_demo .odds_demo .box_controls .box_type_btn {
  width: 80px;
  position: relative;
  isolation: isolate;
  padding: 2px 10px 4px;
  border: none;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.8);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
  -webkit-transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.07s, box-shadow 0.07s;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .box_controls .box_type_btn::before {
  content: "";
  position: absolute;
  inset: 2px;
  background: #000;
  z-index: -2;
  pointer-events: none;
}
main .race_demo .odds_demo .box_controls .box_type_btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../images/bg_btn_kakeshiki.png?v=26072201);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
  pointer-events: none;
}
main .race_demo .odds_demo .box_controls .box_type_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
}
main .race_demo .odds_demo .box_controls .box_type_btn.is_selected {
  color: #000;
}
main .race_demo .odds_demo .box_controls .box_type_btn.is_selected::before {
  background: #ffdc4a;
}
main .race_demo .odds_demo .box_controls .box_action_panel {
  width: 216px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  padding: 0 8px 4px;
  -webkit-transform: translateY(-73px);
          transform: translateY(-73px);
}
main .race_demo .odds_demo .box_controls .box_action_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
}
main .race_demo .odds_demo .box_controls .box_all_btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 5px 4px;
  border: none;
  border-radius: 4px;
  background: #fff;
  color: #111;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
          box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
  -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .box_controls .box_all_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
}
main .race_demo .odds_demo .box_controls .box_reset_btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 7px 4px;
  border: none;
  border-radius: 4px;
  background: #DE3631;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-box-shadow: 0 3px 0 #A02623;
          box-shadow: 0 3px 0 #A02623;
  -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .box_controls .box_reset_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
}
main .race_demo .odds_demo .formation_cards_area {
  display: none;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  position: relative;
}
main .race_demo .odds_demo .box_cards_area {
  display: none;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
main .race_demo .odds_demo .formation_cards_scroll {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  padding: 0 20px 5px 16px;
  -webkit-overflow-scrolling: touch;
  margin-top: -55px;
}
main .race_demo .odds_demo .formation_purchase_area {
  width: 216px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transform: translateY(-58px);
          transform: translateY(-58px);
}
main .race_demo .odds_demo .formation_purchase_history_btn {
  display: none;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 0;
  background: #0D94EC;
  color: #fff;
  border: none;
  font-size: 18px;
  border-radius: 4px;
  font-weight: 500;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  letter-spacing: 0.05em;
  -webkit-box-shadow: 0 3px 0 #0973B7;
          box-shadow: 0 3px 0 #0973B7;
  -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .formation_purchase_history_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
}
main .race_demo .odds_demo .formation_purchase_history_btn {
  position: absolute;
  top: 100px;
  right: 0;
  left: 0;
}
main .race_demo .odds_demo .formation_cards {
  padding-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
}
main .race_demo .odds_demo .box_cards_scroll {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  padding: 0 20px 12px 16px;
  -webkit-overflow-scrolling: touch;
}
main .race_demo .odds_demo .box_purchase_area {
  width: 216px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
main .race_demo .odds_demo .box_purchase_btn,
main .race_demo .odds_demo .formation_purchase_btn {
  position: relative;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: 100%;
  height: 90px;
  aspect-ratio: 1000/316;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding: 10px;
  border: none;
  background-color: transparent;
  background-image: url(../images/btn_purchase.png?v=26072201);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: -webkit-transform 0.07s;
  transition: -webkit-transform 0.07s;
  transition: transform 0.07s;
  transition: transform 0.07s, -webkit-transform 0.07s;
}
main .race_demo .odds_demo .box_purchase_btn:active,
main .race_demo .odds_demo .formation_purchase_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
}
main .race_demo .odds_demo .box_purchase_btn .box_purchase_btn_text,
main .race_demo .odds_demo .box_purchase_btn .formation_purchase_btn_text,
main .race_demo .odds_demo .formation_purchase_btn .box_purchase_btn_text,
main .race_demo .odds_demo .formation_purchase_btn .formation_purchase_btn_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.05;
  letter-spacing: 0 !important;
  pointer-events: none;
  color: #000;
  text-shadow: 1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff, 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
}
main .race_demo .odds_demo .box_purchase_btn .box_purchase_btn_total,
main .race_demo .odds_demo .box_purchase_btn .formation_purchase_btn_total,
main .race_demo .odds_demo .formation_purchase_btn .box_purchase_btn_total,
main .race_demo .odds_demo .formation_purchase_btn .formation_purchase_btn_total {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2px;
  white-space: nowrap;
}
main .race_demo .odds_demo .box_purchase_btn .box_purchase_btn_total_label,
main .race_demo .odds_demo .box_purchase_btn .formation_purchase_btn_total_label,
main .race_demo .odds_demo .formation_purchase_btn .box_purchase_btn_total_label,
main .race_demo .odds_demo .formation_purchase_btn .formation_purchase_btn_total_label {
  font-size: 14px;
  font-weight: 500;
  display: none;
}
main .race_demo .odds_demo .box_purchase_btn .box_purchase_btn_total_num,
main .race_demo .odds_demo .box_purchase_btn .formation_purchase_btn_total_num,
main .race_demo .odds_demo .formation_purchase_btn .box_purchase_btn_total_num,
main .race_demo .odds_demo .formation_purchase_btn .formation_purchase_btn_total_num {
  font-size: 30px;
  font-weight: 500;
  font-family: "clother", sans-serif;
  letter-spacing: -1px;
  font-weight: bold;
}
main .race_demo .odds_demo .box_purchase_btn .box_purchase_btn_bet,
main .race_demo .odds_demo .box_purchase_btn .formation_purchase_btn_bet,
main .race_demo .odds_demo .formation_purchase_btn .box_purchase_btn_bet,
main .race_demo .odds_demo .formation_purchase_btn .formation_purchase_btn_bet {
  margin-top: -2px;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 1px;
}
main .race_demo .odds_demo .box_purchase_history_btn {
  display: none;
  margin-top: 10px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 0;
  background: #0D94EC;
  color: #fff;
  border: none;
  font-size: 18px;
  border-radius: 4px;
  font-weight: 500;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  letter-spacing: 0.05em;
  -webkit-box-shadow: 0 3px 0 #0973B7;
          box-shadow: 0 3px 0 #0973B7;
  -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s;
  transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
}
main .race_demo .odds_demo .box_purchase_history_btn:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
}
main .race_demo .odds_demo .box_cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
}
main .race_demo .odds_demo .bet_tabs {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  padding: 10px 0 0 8px;
  width: calc(100% - 250px);
  position: relative;
  z-index: 10;
  align-items: flex-start;
}
main .race_demo .odds_demo .bet_tabs .bet_tab {
  display: block;
  border-radius: 0 0 6px 6px;
  overflow: hidden;
  padding-bottom: 10px;
}
main .race_demo .odds_demo .bet_tabs .bet_tab.bet_tab_1 {
  width: calc((100% - 20px) * 0.3297);
}
main .race_demo .odds_demo .bet_tabs .bet_tab.bet_tab_2 {
  width: calc((100% - 20px) * 0.3607);
}
main .race_demo .odds_demo .bet_tabs .bet_tab.bet_tab_3 {
  width: calc((100% - 20px) * 0.3096);
}
main .race_demo .odds_demo .bet_tabs .bet_tab button {
  display: block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  border: none;
  border-radius: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  -webkit-transition: color 0.1s;
  transition: color 0.1s;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-radius: 6px;
  -webkit-transition: -webkit-transform 0.07s;
  transition: -webkit-transform 0.07s;
  transition: transform 0.07s;
  transition: transform 0.07s, -webkit-transform 0.07s;
}
main .race_demo .odds_demo .bet_tabs .bet_tab button:active {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
}
main .race_demo .odds_demo .bet_tabs .bet_tab button img {
  display: block;
  width: 100%;
  height: 56px;
  -o-object-fit: fill;
     object-fit: fill;
  -webkit-filter: brightness(0.68);
          filter: brightness(0.68);
  pointer-events: none;
  -webkit-transition: -webkit-filter 0.16s ease;
  transition: -webkit-filter 0.16s ease;
  transition: filter 0.16s ease;
  transition: filter 0.16s ease, -webkit-filter 0.16s ease;
}
main .race_demo .odds_demo .bet_tabs .bet_tab.is_active button {
  padding: 0;
}
main .race_demo .odds_demo .bet_tabs .bet_tab.is_active button img {
  -webkit-filter: brightness(1.24) drop-shadow(0 0 8px rgba(255, 255, 255, 0.38));
          filter: brightness(1.24) drop-shadow(0 0 8px rgba(255, 255, 255, 0.38));
}
main .race_demo .bet_odds_demo {
  max-width: 1100px;
  margin: 28px auto 0;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.28);
}
main .race_demo .bet_odds_demo .bet_odds_demo_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
main .race_demo .bet_odds_demo .bet_odds_demo_header h2 {
  font-size: 20px;
  font-weight: 900;
}
main .race_demo .bet_odds_demo .bet_odds_demo_header p {
  color: rgba(255, 255, 255, 0.68);
  font-size: 13px;
  font-weight: 700;
}
main .race_demo .bet_odds_demo .bet_odds_grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 14px minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
main .race_demo .bet_odds_demo .bet_odds_block {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
}
main .race_demo .bet_odds_demo .bet_odds_block h3 {
  padding: 10px 12px;
  background: rgba(0, 0, 0, 0.38);
  color: #ffdc4a;
  font-size: 17px;
  font-weight: 900;
}
main .race_demo .bet_odds_demo .bet_odds_table {
  width: 100%;
  border-collapse: collapse;
}
main .race_demo .bet_odds_demo .bet_odds_table th,
main .race_demo .bet_odds_demo .bet_odds_table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 20px;
  font-weight: 800;
}
main .race_demo .bet_odds_demo .bet_odds_table th {
  background: rgba(0, 0, 0, 0.22);
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 900;
}
main .race_demo .bet_odds_demo .bet_odds_table th:first-child,
main .race_demo .bet_odds_demo .bet_odds_table td:first-child {
  width: 58px;
  text-align: center;
}
main .race_demo .bet_odds_demo .bet_odds_table td:first-child {
  font-size: 16px;
}
main .race_demo .bet_odds_demo .bet_odds_table th:nth-child(2),
main .race_demo .bet_odds_demo .bet_odds_table td:nth-child(2) {
  text-align: left;
}
main .race_demo .bet_odds_demo .bet_odds_table th:nth-child(3),
main .race_demo .bet_odds_demo .bet_odds_table td:nth-child(3),
main .race_demo .bet_odds_demo .bet_odds_table th:last-child,
main .race_demo .bet_odds_demo .bet_odds_table td:last-child {
  text-align: right;
}
main .race_demo .bet_odds_demo .bet_odds_table td {
  color: #fff;
}
main .race_demo .bet_odds_demo .bet_odds_table td:last-child {
  color: #fff;
  font-family: "clother", sans-serif;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
}
main .race_demo .bet_odds_demo .bet_odds_table .odds_table_low,
main .race_demo .bet_odds_demo .bet_odds_table .odds_table_mid,
main .race_demo .bet_odds_demo .bet_odds_table .odds_table_high {
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
}
main .race_demo .bet_odds_demo .bet_odds_table .odds_table_low {
  color: #ff3838;
}
main .race_demo .bet_odds_demo .bet_odds_table .odds_table_mid {
  color: #fff;
}
main .race_demo .bet_odds_demo .bet_odds_table .odds_table_high {
  color: #ffdc4a;
}
main .race_demo .bet_odds_demo .bet_odds_table tbody tr:nth-child(odd) {
  background: rgba(255, 255, 255, 0.035);
}
main .race_demo .bet_odds_demo .bet_odds_table tbody tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.08);
}
main .race_demo .bet_odds_demo .bet_odds_table tr:last-child td {
  border-bottom: 0;
}

footer {
  display: none;
}

main .race_demo.is-upper-record-rainbow .race_stage .race_bg_haikei {
  background-image: url("../images/haikei_rainbow.png?v=26072201");
}
main .race_demo.is-upper-record-rainbow .race_stage .race_bg_near {
  background-image: url("../images/shiba_rainbow.jpg?v=26072201");
}
main .race_demo.is-upper-record-rainbow .race_stage .race_bg_haikei,
main .race_demo.is-upper-record-rainbow .race_stage .race_bg_near,
main .race_demo.is-upper-record-rainbow .race_stage .race_fence {
  -webkit-filter: brightness(1.2) saturate(1.2);
          filter: brightness(1.2) saturate(1.2);
}

main .race_demo.is-upper-record-rainbow .race_stage.is_weather_rain .race_bg_haikei,
main .race_demo.is-upper-record-rainbow .race_stage.is_weather_rain .race_bg_near,
main .race_demo.is-upper-record-rainbow .race_stage.is_weather_rain .race_fence,
main .race_demo.is-upper-record-rainbow .race_stage.is_weather_typhoon .race_bg_haikei,
main .race_demo.is-upper-record-rainbow .race_stage.is_weather_typhoon .race_bg_near,
main .race_demo.is-upper-record-rainbow .race_stage.is_weather_typhoon .race_fence {
  -webkit-filter: brightness(1.2) saturate(1.2);
          filter: brightness(1.2) saturate(1.2);
}

.race_ranking_overlay .race_ranking_close,
.race_mypage_overlay .race_mypage_close,
.race_stable_overlay .race_stable_close,
.race_bet_history_overlay .race_bet_history_close,
.bet_dialog_overlay .bet_dialog_close,
.volume_overlay .volume_close {
  width: 34px;
  height: 34px;
  min-width: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: 1;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: opacity 0.16s ease, -webkit-transform 0.16s ease;
  transition: opacity 0.16s ease, -webkit-transform 0.16s ease;
  transition: opacity 0.16s ease, transform 0.16s ease;
  transition: opacity 0.16s ease, transform 0.16s ease, -webkit-transform 0.16s ease;
}
.race_ranking_overlay .race_ranking_close::before, .race_ranking_overlay .race_ranking_close::after,
.race_mypage_overlay .race_mypage_close::before,
.race_mypage_overlay .race_mypage_close::after,
.race_stable_overlay .race_stable_close::before,
.race_stable_overlay .race_stable_close::after,
.race_bet_history_overlay .race_bet_history_close::before,
.race_bet_history_overlay .race_bet_history_close::after,
.bet_dialog_overlay .bet_dialog_close::before,
.bet_dialog_overlay .bet_dialog_close::after,
.volume_overlay .volume_close::before,
.volume_overlay .volume_close::after {
  content: none;
  display: none;
}
.race_ranking_overlay .race_ranking_close img,
.race_mypage_overlay .race_mypage_close img,
.race_stable_overlay .race_stable_close img,
.race_bet_history_overlay .race_bet_history_close img,
.bet_dialog_overlay .bet_dialog_close img,
.volume_overlay .volume_close img {
  display: block;
  width: 34px;
  height: auto;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
}
.race_ranking_overlay .race_ranking_close:hover,
.race_mypage_overlay .race_mypage_close:hover,
.race_stable_overlay .race_stable_close:hover,
.race_bet_history_overlay .race_bet_history_close:hover,
.bet_dialog_overlay .bet_dialog_close:hover,
.volume_overlay .volume_close:hover {
  opacity: 0.92;
}
.race_ranking_overlay .race_ranking_close:active,
.race_mypage_overlay .race_mypage_close:active,
.race_stable_overlay .race_stable_close:active,
.race_bet_history_overlay .race_bet_history_close:active,
.bet_dialog_overlay .bet_dialog_close:active,
.volume_overlay .volume_close:active {
  -webkit-transform: scale(0.96);
          transform: scale(0.96);
}

.linklist .btn_bet_history {
  display: none;
}

.race_bet_history_open_btn {
  position: relative;
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100% !important;
  min-height: 44px;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  background: rgba(0, 0, 0, 0.62) !important;
  border: 1px solid #d6a838 !important;
  -webkit-filter: none !important;
          filter: none !important;
}
.race_bet_history_open_btn .bet_history_btn_label {
  font-family: "Kaisei Decol", serif;
  font-size: 22px;
  font-weight: 700;
  color: #ffe58a;
  white-space: nowrap;
  line-height: 1;
}
.race_bet_history_open_btn .bet_history_badge {
  display: none;
  min-width: 30px;
  height: 30px;
  margin-left: 10px;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 999px;
  background-color: #d6a838;
  color: #1a1206;
  font-family: "clother", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  text-align: center;
  letter-spacing: 0;
  -webkit-transition: background-color 0.45s ease;
  transition: background-color 0.45s ease;
}
.race_bet_history_open_btn.has_history .bet_history_badge {
  display: inline-block;
}
.race_bet_history_open_btn .bet_history_badge.is_bumped {
  -webkit-animation: bet_history_badge_bump 0.7s ease;
          animation: bet_history_badge_bump 0.7s ease;
}

@-webkit-keyframes bet_history_badge_bump {
  0% {
    background-color: #d6a838;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  25% {
    background-color: #ff5f5f;
    -webkit-transform: scale(1.28);
            transform: scale(1.28);
  }
  60% {
    background-color: #ff9a3d;
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  100% {
    background-color: #d6a838;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes bet_history_badge_bump {
  0% {
    background-color: #d6a838;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  25% {
    background-color: #ff5f5f;
    -webkit-transform: scale(1.28);
            transform: scale(1.28);
  }
  60% {
    background-color: #ff9a3d;
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  100% {
    background-color: #d6a838;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.race_bet_history_overlay {
  z-index: 41000;
}
.race_bet_history_overlay .app_modal_panel {
  width: 83vw;
  max-width: 765px;
  height: 96dvh;
  max-height: 1040px;
  overflow: hidden;
  padding: 40px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.race_bet_history_overlay .race_bet_history_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 0;
  height: 100%;
  padding: 0;
}
.race_bet_history_overlay .race_bet_history_body .odds_demo_right {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: static !important;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 20px 6px 16px;
  zoom: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: none;
}
.race_bet_history_overlay .race_bet_history_body .purchase_history_ttl {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 48px;
  text-align: center;
  margin: 4px 0 16px;
  color: #ffd400;
  letter-spacing: 3px;
}
.race_bet_history_overlay .race_bet_history_body .purchase_history_ttl img {
  display: block;
  width: 280px;
  max-width: 80%;
  height: auto;
  margin: 0 auto;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
  overflow-y: auto;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding: 0 10px 8px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card {
  width: 100%;
  min-width: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  padding: 43px 43px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_type {
  font-size: 44px;
  margin: 2px 0 26px;
  padding: 7px 0 0;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_selections {
  margin-bottom: 14px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_row {
  gap: 5px;
  min-height: 32px;
  margin-bottom: 5px;
  margin-top: 14px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_odds {
  font-size: 41px;
  margin-bottom: 7px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_summary {
  gap: 9px;
  margin-bottom: 5px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_count {
  font-size: 50px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_count span {
  font-size: 32px;
  padding-left: 3px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_bet {
  font-size: 50px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_bet span {
  font-size: 32px;
  padding-right: 3px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .bet_card_unit {
  font-size: 19px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .card_horse_num {
  width: 41px;
  height: 41px;
  font-size: 37px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .bet_card .card_all_badge {
  height: 41px;
  font-size: 27px;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .purchased_card_delete {
  position: absolute;
  top: 31px;
  right: 26px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 3px;
  line-height: 1;
  z-index: 1;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .purchased_card_delete img {
  display: block;
  width: 58px;
  height: 58px;
  opacity: 0.85;
}
.race_bet_history_overlay .race_bet_history_body .right_panel_cards .purchased_card_delete:hover img {
  opacity: 1;
}

.race_ranking_overlay {
  z-index: 40000;
}
.race_ranking_overlay .app_modal_panel {
  width: min(880px, 100% - 36px);
  max-width: 880px;
  min-height: min(720px, 100dvh - 48px);
  max-height: min(760px, 100dvh - 48px);
  border: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: transparent;
  background-image: url(../images/bg_ranking.png?v=26072201);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.race_ranking_overlay .app_modal_head {
  margin-bottom: 32px;
  text-align: left;
}
.race_ranking_overlay .app_modal_head .race_ranking_title_image {
  margin: 0;
  line-height: 1;
}
.race_ranking_overlay .app_modal_head .race_ranking_title_image img {
  display: block;
  width: 250px;
  max-width: 100%;
  aspect-ratio: 1200/375;
  height: auto;
  margin: 0;
}
.race_ranking_overlay .race_ranking_close {
  top: 40px;
  right: 40px;
}

.race_ranking_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  gap: 10px;
  min-height: 0;
  overflow: visible;
}

.race_ranking_overlay .race_ranking_body {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  overflow: visible;
  overflow-y: visible;
}

.race_ranking_tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.race_ranking_period_tabs {
  margin-bottom: 2px;
  padding-left: 3px;
  margin-top: -10px;
}

.race_ranking_tab {
  min-width: 96px;
  padding: 14px 10px 14px 15px;
  border: none;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.22);
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: none;
  transition: none;
  font-weight: 500;
  letter-spacing: 5px;
  font-style: normal;
  font-weight: bold;
}
.race_ranking_tab.is_active {
  background-color: transparent;
  background-image: url(../images/bg_ranking_tab.webp?v=26072201);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  color: #fff;
  text-shadow: black 2px 0px 0px, black -2px 0px 0px, black 0px -2px 0px, black 0px 2px 0px, black 2px 2px 0px, black -2px 2px 0px, black 2px -2px 0px, black -2px -2px 0px, black 1px 2px 0px, black -1px 2px 0px, black 1px -2px 0px, black -1px -2px 0px, black 2px 1px 0px, black -2px 1px 0px, black 2px -1px 0px, black -2px -1px 0px, black 1px 1px 0px, black -1px 1px 0px, black 1px -1px 0px, black -1px -1px 0px;
}
.race_ranking_tab[hidden] {
  display: none;
}

.race_ranking_kind_tabs .race_ranking_tab {
  padding-left: 65px;
  padding-right: 60px;
}

.race_ranking_note {
  margin: 0 0 4px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.5;
}
.race_ranking_note[hidden] {
  display: none;
}

@media (min-width: 980px) {
  .race_ranking_overlay .app_modal_panel {
    padding-top: 32px;
  }
  .race_ranking_overlay .app_modal_head {
    margin-bottom: 12px;
  }
  .race_ranking_note {
    margin-bottom: 0;
  }
  .race_ranking_note:not([hidden]) + .race_ranking_status {
    min-height: 0;
  }
}
.race_ranking_status {
  min-height: 22px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
}
.race_ranking_status.is_error {
  color: #ffb4b4;
}
.race_ranking_status.is_empty, .race_ranking_status.is_loading {
  color: rgba(255, 255, 255, 0.74);
}

.race_ranking_list {
  height: min(520px, 100dvh - 300px);
  min-height: min(420px, 100dvh - 300px);
  max-height: min(520px, 100dvh - 300px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #d6a838 transparent;
  scrollbar-gutter: stable;
}
.race_ranking_list::-webkit-scrollbar {
  width: 5px;
}
.race_ranking_list::-webkit-scrollbar-track {
  background: transparent;
}
.race_ranking_list::-webkit-scrollbar-thumb {
  background: #d6a838;
}

.race_ranking_row {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 0;
}

.race_ranking_list.is_payout .race_ranking_header,
.race_ranking_list.is_payout .race_ranking_row {
  -ms-grid-columns: 58px 198px 72px 70px 161px 160px;
  grid-template-columns: 58px 198px 72px 70px 161px 160px;
}

.race_ranking_list.is_payout .race_ranking_item .race_ranking_rank {
  width: 58px;
}
.race_ranking_list.is_payout .race_ranking_item .race_ranking_amount {
  width: 198px;
}
.race_ranking_list.is_payout .race_ranking_item .race_ranking_date {
  width: 72px;
}
.race_ranking_list.is_payout .race_ranking_item .race_ranking_region {
  width: 70px;
}
.race_ranking_list.is_payout .race_ranking_item .race_ranking_player {
  width: 161px;
}
.race_ranking_list.is_payout .race_ranking_item .race_ranking_race {
  width: 160px;
}

.race_ranking_list.is_high_odds .race_ranking_header,
.race_ranking_list.is_high_odds .race_ranking_row {
  -ms-grid-columns: 58px 170px 72px 72px 145px 202px;
  grid-template-columns: 58px 170px 72px 72px 145px 202px;
}

.race_ranking_list.is_high_odds .race_ranking_item .race_ranking_rank {
  width: 58px;
}
.race_ranking_list.is_high_odds .race_ranking_item .race_ranking_odds {
  width: 170px;
}
.race_ranking_list.is_high_odds .race_ranking_item .race_ranking_date {
  width: 72px;
}
.race_ranking_list.is_high_odds .race_ranking_item .race_ranking_bet_type {
  width: 72px;
}
.race_ranking_list.is_high_odds .race_ranking_item .race_ranking_selection {
  width: 145px;
}
.race_ranking_list.is_high_odds .race_ranking_item .race_ranking_race {
  width: 202px;
}

@media (max-width: 979px) and (hover: none) and (pointer: coarse) {
  .race_ranking_list.is_payout .race_ranking_header,
  .race_ranking_list.is_payout .race_ranking_row {
    -ms-grid-columns: 52px 280px 108px 84px 218px;
    grid-template-columns: 52px 280px 108px 84px 218px;
  }
  .race_ranking_list.is_payout .race_ranking_item .race_ranking_rank {
    width: 52px;
  }
  .race_ranking_list.is_payout .race_ranking_item .race_ranking_amount {
    width: 280px;
  }
  .race_ranking_list.is_payout .race_ranking_item .race_ranking_date {
    width: 108px;
  }
  .race_ranking_list.is_payout .race_ranking_item .race_ranking_region {
    width: 84px;
  }
  .race_ranking_list.is_payout .race_ranking_item .race_ranking_player {
    width: 218px;
  }
  .race_ranking_list.is_high_odds .race_ranking_header,
  .race_ranking_list.is_high_odds .race_ranking_row {
    -ms-grid-columns: 52px 240px 108px 90px 272px;
    grid-template-columns: 52px 240px 108px 90px 272px;
  }
  .race_ranking_list.is_high_odds .race_ranking_item .race_ranking_rank {
    width: 52px;
  }
  .race_ranking_list.is_high_odds .race_ranking_item .race_ranking_odds {
    width: 240px;
  }
  .race_ranking_list.is_high_odds .race_ranking_item .race_ranking_date {
    width: 108px;
  }
  .race_ranking_list.is_high_odds .race_ranking_item .race_ranking_bet_type {
    width: 90px;
  }
  .race_ranking_list.is_high_odds .race_ranking_item .race_ranking_selection {
    width: 272px;
  }
  .race_ranking_note {
    font-size: 14px;
    color: #fff;
    margin-bottom: -40px;
  }
  .race_ranking_overlay .race_ranking_region .race_ranking_text {
    font-size: 24px;
  }
  .race_ranking_list.is_high_odds .race_ranking_item .race_ranking_selection .race_ranking_selection_num {
    font-size: 34.5px;
  }
  .race_ranking_list.is_high_odds .race_ranking_item .race_ranking_selection .race_ranking_selection_sep {
    font-size: 15px;
  }
}
.race_ranking_header {
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  padding: 0 12px 6px;
  min-height: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.race_ranking_head_cell {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.race_ranking_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.race_ranking_item {
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  padding: 9px 12px;
  min-height: 37px;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 0;
  background: rgba(4, 6, 10, 0.76);
}
.race_ranking_item.no_1 {
  background: rgba(24, 19, 9, 0.86);
}
.race_ranking_item.no_2 {
  background: rgba(18, 19, 23, 0.84);
}
.race_ranking_item.no_3 {
  background: rgba(22, 14, 8, 0.82);
}
.race_ranking_item.is-rank-1, .race_ranking_item.is-rank-2, .race_ranking_item.is-rank-3 {
  min-height: 70px;
  padding-left: 12px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% auto;
}
.race_ranking_item.is-rank-1 .race_ranking_rank .race_ranking_num, .race_ranking_item.is-rank-2 .race_ranking_rank .race_ranking_num, .race_ranking_item.is-rank-3 .race_ranking_rank .race_ranking_num {
  opacity: 0;
}
.race_ranking_item.is-rank-1 {
  padding: 16px 12px 9px;
  background-image: url(../images/bg_ranking_1.png?v=26072201);
}
.race_ranking_item.is-rank-2 {
  background-image: url(../images/bg_ranking_2.png?v=26072201);
}
.race_ranking_item.is-rank-3 {
  background-image: url(../images/bg_ranking_3.png?v=26072201);
}

.race_ranking_rank {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
  color: #ffd400;
}

.race_ranking_cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 0;
}

.race_ranking_text {
  display: block;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.race_ranking_player .race_ranking_text {
  max-width: 10em;
}

.race_ranking_region .race_ranking_text {
  max-width: 3.6em;
}

.race_ranking_region {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.race_ranking_date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2px;
  color: rgba(255, 255, 255, 0.82);
  font-family: "clother", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
}

.race_ranking_num {
  color: #ffe375;
  font-family: "clother", sans-serif;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
}
.race_ranking_num.is_rainbow {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}

.race_ranking_rank .race_ranking_num {
  font-size: 26px;
}

.race_ranking_odds,
.race_ranking_amount {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  white-space: nowrap;
}

.race_ranking_amount {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.race_ranking_odds .race_ranking_num,
.race_ranking_amount .race_ranking_num {
  font-size: 28px;
  text-shadow: 0 0 8px rgba(255, 199, 40, 0.24);
}

.race_ranking_unit {
  margin-left: 3px;
  position: relative;
  top: 5px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}

.race_ranking_selection {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  text-align: center;
}

.race_ranking_selection_value {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.race_ranking_selection_num {
  font-family: "clother", sans-serif;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0;
}

.race_ranking_selection_sep {
  display: inline-block;
  margin: 0 5px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 700;
  vertical-align: 2px;
}

.race_ranking_placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: calc(100% - 28px);
  padding: 24px 12px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.race_ranking_placeholder.is_error {
  color: #ffb4b4;
}

.race_mypage_overlay {
  z-index: 40000;
}
.race_mypage_overlay .app_modal_panel {
  width: min(880px, 100% - 36px);
  max-width: 880px;
  height: min(780px, 100dvh - 48px);
  min-height: 0;
  max-height: min(780px, 100dvh - 48px);
  border: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: transparent;
  background-image: url(../images/bg_ranking.png?v=26072201);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  overflow-x: hidden;
  overflow-y: hidden;
}
.race_mypage_overlay .app_modal_head {
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: left;
}
.race_mypage_overlay .app_modal_head .race_mypage_title_image {
  margin: 0;
  line-height: 1;
}
.race_mypage_overlay .app_modal_head .race_mypage_title_image img {
  display: block;
  width: 250px;
  max-width: 100%;
  aspect-ratio: 1200/375;
  height: auto;
  margin: 0;
}
.race_mypage_overlay .race_mypage_close {
  top: 40px;
  right: 40px;
}

.race_mypage_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  min-height: 0;
  color: #fff;
  scrollbar-width: thin;
  scrollbar-color: #d6a838 transparent;
}
.race_mypage_body::-webkit-scrollbar {
  width: 5px;
}
.race_mypage_body::-webkit-scrollbar-track {
  background: transparent;
}
.race_mypage_body::-webkit-scrollbar-thumb {
  background: #d6a838;
}

.race_mypage_status {
  min-height: 0;
  color: rgba(243, 211, 122, 0.78);
  font-size: 13px;
  font-weight: 700;
}
.race_mypage_status.is_error {
  color: #ffb4b4;
}

.race_mypage_profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.race_mypage_user,
.race_mypage_medal,
.race_mypage_ranking_block {
  background: rgba(4, 6, 10, 0.76);
}

.race_mypage_user {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  min-height: 0;
  padding: 25px 30px;
  background-image: url(../images/bg_mypage_user.webp?v=26072201);
  background-size: 100% 100%;
}
.race_mypage_user .race_mypage_user_left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 126px;
}
.race_mypage_user .race_mypage_user_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
  width: 380px;
}
.race_mypage_user .race_mypage_user_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 160px;
}
.race_mypage_user .race_mypage_user_icon {
  width: 108px;
}
.race_mypage_user .race_mypage_glory {
  margin-top: 15px;
  padding-left: 0;
}

@media (max-width: 979px) {
  .race_mypage_user .race_mypage_user_left {
    width: 200px;
  }
  .race_mypage_user .race_mypage_user_center {
    width: 380px;
  }
  .race_mypage_user .race_mypage_user_right {
    width: 210px;
  }
  .race_mypage_user .race_mypage_glory {
    margin-top: 25px;
  }
  .race_mypage_user .race_mypage_glory_line {
    font-size: 20px !important;
  }
}
.race_mypage_user_icon {
  width: 72px;
  opacity: 0;
  padding: 0;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
.race_mypage_user_icon.is_loaded {
  opacity: 1;
}
.race_mypage_user_icon:focus {
  outline: none;
}
.race_mypage_user_icon:focus:not(:focus-visible) {
  outline: none;
}
.race_mypage_user_icon:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.82);
  outline-offset: 3px;
}

.race_mypage_region {
  min-width: 0;
  color: #d9b95c;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-align: left;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.85);
  word-break: keep-all;
}

.race_mypage_name {
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  color: #fff8dc;
  font-size: 34px;
  font-weight: 500;
  line-height: 1.2;
  text-shadow: 0 1px 0 #000, 0 0 6px rgba(255, 221, 122, 0.18), 0 0 7px rgba(0, 0, 0, 0.7);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 5px;
}

.race_mypage_level {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#fffdf0), color-stop(42%, #ffe58a), color-stop(76%, #d79c32), to(#a86618));
  background: linear-gradient(180deg, #fffdf0 0%, #ffe58a 42%, #d79c32 76%, #a86618 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: "clother", sans-serif;
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  text-align: right;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}

.race_mypage_next_exp {
  color: #f3d78b;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  text-align: right;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.85), 0 0 6px rgba(141, 80, 20, 0.55);
  white-space: nowrap;
  white-space: pre-line;
}

.race_mypage_medal {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 14px auto;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 14px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 0;
  padding: 13px 18px 2px;
}

.race_mypage_medal_label {
  -ms-grid-column: 1;
  grid-column: 1;
  color: #d9b95c;
  font-size: 15px;
  font-weight: 800;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);
}

.race_mypage_medal_value {
  -ms-grid-column: 1;
  grid-column: 1;
  min-width: 0;
  color: #fff;
  font-family: "clother", sans-serif;
  font-size: 50px;
  font-weight: 500;
  line-height: 1;
  text-shadow: 0 1px 0 #000, 0 0 6px rgba(255, 255, 255, 0.18), 0 0 7px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
}
.race_mypage_medal_value small {
  position: relative;
  top: 0;
  margin-left: 3px;
  color: #f3d37a;
  font-family: sans-serif;
  font-size: 18px;
  font-weight: 500;
  -webkit-text-fill-color: #f3d37a;
}

.race_mypage_shop_link {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 5;
  grid-row: 1/6;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-column-align: end;
      justify-self: end;
  padding: 0;
  border: 0;
  background: transparent;
  color: #111;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  margin-top: 20px;
}
.race_mypage_shop_link img {
  display: block;
  width: 150px;
  max-width: 100%;
  height: auto;
}

.race_mypage_section_title {
  margin: 20px 0 10px;
  color: #ffe58a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  text-shadow: 0 1px 0 #000, 0 0 6px rgba(0, 0, 0, 0.7);
}

.race_mypage_notice_list {
  height: 150px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  padding: 22px 30px;
  background-image: url(../images/bg_mypage_message.jpg?v=26072201);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.race_mypage_notice_item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 88px 15px minmax(0, 1fr);
  grid-template-columns: 88px minmax(0, 1fr);
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.race_mypage_notice_date {
  color: #ffe58a;
  font-family: "clother", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
}

.race_mypage_notice_time {
  margin-left: 5px;
  color: #fff;
}

.race_mypage_notice_text {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  word-break: break-word;
}

.race_mypage_notice_empty {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  line-height: 1.5;
}

.race_mypage_item_list {
  height: 150px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  padding: 22px 30px;
  background-image: url(../images/bg_mypage_message.jpg?v=26072201);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  margin-bottom: 20px;
}

.race_mypage_item_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  min-height: 26px;
}

.race_mypage_item_icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}

.race_mypage_item_name {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font-family: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
}

.race_mypage_item_count {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #ffe58a;
  font-family: "clother", sans-serif;
  font-size: 15px;
  font-weight: 900;
}

.race_mypage_item_empty {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  line-height: 1.5;
}

.race_item_description_modal {
  position: fixed;
  inset: 0;
  z-index: 41000;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.race_item_description_modal[aria-hidden=false] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.race_item_description_modal_overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.race_item_description_modal_panel {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: min(420px, 100% - 40px);
  padding: 20px 20px;
  border: 2px solid #D9A737;
  color: #FFE9B0;
  background-image: url("../images/bg_item_description.png?v=26072201");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.race_item_description_modal_close {
  position: absolute;
  top: 8px;
  right: 8px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  color: #D9A737;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.race_item_description_modal_title {
  margin: 0 0 10px;
  color: #FFE9B0;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
}

.race_item_description_modal_text {
  margin: 0;
  color: #FFE9B0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  white-space: pre-line;
  word-break: break-word;
}

.race_item_description_actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 18px;
}

.race_item_description_use_estimate {
  margin: 18px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(217, 167, 55, 0.55);
  color: #FFE9B0;
  background: rgba(0, 0, 0, 0.32);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
  text-align: center;
  white-space: pre-line;
}
.race_item_description_use_estimate[hidden] {
  display: none;
}

.race_item_description_use_btn,
.race_item_description_confirm_btn {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 1px solid #D9A737;
  color: #1b1200;
  background: #FFE08A;
  font-family: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}
.race_item_description_use_btn:disabled,
.race_item_description_confirm_btn:disabled {
  cursor: default;
  opacity: 0.55;
}

.race_item_description_use_btn {
  min-width: 132px;
  padding: 10px 18px;
}

.race_item_description_use_confirm {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(217, 167, 55, 0.65);
  background: rgba(0, 0, 0, 0.34);
}
.race_item_description_use_confirm[hidden] {
  display: none;
}

.race_item_description_use_confirm_title {
  margin: 0 0 6px;
  color: #FFE9B0;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.45;
}

.race_item_description_use_confirm_text {
  margin: 0;
  color: #FFE9B0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}

.race_item_description_confirm_actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin-top: 12px;
}

.race_item_description_confirm_btn {
  min-width: 96px;
  padding: 9px 14px;
}
.race_item_description_confirm_btn.is_secondary {
  color: #FFE9B0;
  background: rgba(0, 0, 0, 0.48);
}

.race_item_description_use_status {
  min-height: 1.5em;
  margin: 10px 0 0;
  color: #FFE9B0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.race_item_description_use_status.is_error {
  color: #ffb4a8;
}
.race_item_description_use_status.is_success {
  color: #bff0a0;
}

.race_stable_overlay {
  z-index: 42000;
}
.race_stable_overlay .app_modal_panel {
  width: min(728px, 100% - 24px);
  max-width: 728px;
  max-height: min(820px, 100dvh - 32px);
  overflow-x: hidden;
  overflow-y: hidden;
  background-image: url(../images/bg_ranking.png?v=26072201);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.race_stable_overlay .app_modal_head {
  text-align: left;
  margin-bottom: 0;
}
.race_stable_overlay .race_stable_close {
  top: 40px;
  right: 40px;
}

.race_stable_title_image {
  margin: 0;
  text-align: left;
}
.race_stable_title_image img {
  display: block;
  width: 260px;
  max-width: 100%;
  height: auto;
  margin: 0;
}

.race_stable_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
  color: #fff;
  scrollbar-width: thin;
  scrollbar-color: #d6a838 transparent;
}
.race_stable_body::-webkit-scrollbar {
  width: 5px;
}
.race_stable_body::-webkit-scrollbar-track {
  background: transparent;
}
.race_stable_body::-webkit-scrollbar-thumb {
  background: #d6a838;
}

.race_stable_status {
  color: rgba(243, 211, 122, 0.85);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.race_stable_status:empty {
  display: none;
}
.race_stable_status.is_error {
  color: #ffb4b4;
}
.race_stable_status.is_success {
  color: #b6f0b6;
}

.race_stable_horses_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
}

.race_stable_horse_card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  margin-top: 6px;
  padding: 0 16px 16px;
  border: none;
  border-radius: 8px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.06)), to(rgba(0, 0, 0, 0.35)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.35));
}

.race_stable_preview_row {
  position: relative;
  width: 100%;
  overflow: visible;
  margin-bottom: 13%;
}

.race_stable_preview {
  --stable-horse-x: 0px;
  --stable-horse-y: 0px;
  --stable-horse-scale: 1;
  --stable-horse-brightness: 1;
  --stable-shadow-opacity: .35;
  --stable-shadow-scale: 1;
  --stable-shadow-x: 0px;
  --stable-shadow-y: 0px;
  position: relative;
  width: 100%;
  aspect-ratio: 1240/860;
  overflow: visible;
  border-radius: 6px;
  background: #000;
  opacity: 1;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}
.race_stable_preview.is_switching {
  opacity: 0;
  -webkit-transition: opacity 140ms ease;
  transition: opacity 140ms ease;
}

.race_stable_preview_inner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 99%;
  aspect-ratio: 1200/760;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  overflow: visible;
}

.race_stable_preview_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.race_stable_preview_shadow {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 12%;
  width: 46%;
  height: 8%;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  opacity: var(--stable-shadow-opacity);
  -webkit-transform: translate(-50%, 0) translate(var(--stable-shadow-x), var(--stable-shadow-y)) scale(var(--stable-shadow-scale));
          transform: translate(-50%, 0) translate(var(--stable-shadow-x), var(--stable-shadow-y)) scale(var(--stable-shadow-scale));
  -webkit-filter: blur(3px);
          filter: blur(3px);
  pointer-events: none;
}

.race_stable_preview_horse {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 8%;
  width: auto;
  height: 78%;
  -webkit-transform: translate(-50%, 0) translate(var(--stable-horse-x), var(--stable-horse-y)) scale(var(--stable-horse-scale));
          transform: translate(-50%, 0) translate(var(--stable-horse-x), var(--stable-horse-y)) scale(var(--stable-horse-scale));
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-filter: brightness(var(--stable-horse-brightness));
          filter: brightness(var(--stable-horse-brightness));
  pointer-events: none;
}

.race_stable_preview_frame {
  position: absolute;
  z-index: 5;
  inset: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: none;
          transform: none;
  -o-object-fit: fill;
     object-fit: fill;
  pointer-events: none;
}

.race_stable_icon_preview {
  position: relative;
  width: 72px;
  aspect-ratio: 1/1;
  margin: 0;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
  opacity: 1;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
  background-color: transparent;
  border: none !important;
}
.race_stable_icon_preview.is_switching {
  opacity: 0;
  -webkit-transition: opacity 140ms ease;
  transition: opacity 140ms ease;
}

.race_c_payout_rank_icon_wrap,
.race_mypage_user_icon_wrap {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.glory_emblem_display {
  position: absolute;
  left: 50%;
  bottom: -18px !important;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 26px;
  height: 26px;
  -webkit-filter: brightness(1.15);
          filter: brightness(1.15);
  pointer-events: none;
}
.glory_emblem_display .glory_emblem_badge_img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.glory_emblem_display.is_mypage {
  width: 45px;
  height: 45px;
}
.glory_emblem_display.is_c_phase {
  width: 50px;
  height: 50px;
  bottom: -20px !important;
}

@media (max-width: 979px) {
  .glory_emblem_display {
    left: 50%;
    bottom: -25px !important;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 24px;
    height: 24px;
  }
  .glory_emblem_display.is_mypage {
    width: 80px;
    height: 80px;
    margin-bottom: -10px !important;
  }
  .glory_emblem_display.is_c_phase {
    width: 45px;
    height: 45px;
    bottom: -18px !important;
  }
}
.race_mypage_glory {
  display: block;
  margin-top: 8px;
  padding-left: calc(50% + 10px) !important;
  width: 200%;
}
.race_mypage_glory .race_mypage_glory_line {
  font-size: 10px;
  line-height: 1.4;
  color: #fff;
  display: block;
}

.race_ranking_rank_hall .race_ranking_hall_img {
  display: block;
  width: 40px;
  height: auto;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.race_stable_preview_row > .race_stable_icon_preview {
  position: absolute;
  right: 5%;
  bottom: 5%;
  z-index: 10;
  width: 26%;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}

.race_stable_icon_preview_inner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 92%;
  height: 92%;
  aspect-ratio: 1/1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.race_stable_icon_preview_bg,
.race_stable_icon_preview_horse,
.race_stable_icon_preview_frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.race_stable_icon_preview_horse {
  position: absolute;
  inset: 0;
  width: 90%;
  height: 90%;
  pointer-events: none;
  margin: 7% auto 0 10%;
}

.race_stable_icon_preview_bg {
  z-index: 0;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100vw;
}

.race_stable_icon_preview_horse {
  z-index: 1;
  -o-object-fit: contain;
     object-fit: contain;
}

.race_stable_icon_preview_frame {
  z-index: 2;
  -o-object-fit: fill;
     object-fit: fill;
}

.race_stable_field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}

.race_stable_field_name {
  margin-top: -90px;
}

.race_stable_field_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 10px;
}

.race_stable_label {
  color: #ffe58a;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.race_stable_applied {
  display: none;
  color: rgba(255, 229, 138, 0.85);
  font-size: 12px;
  font-weight: 700;
}

.race_stable_name_input {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px 12px;
  border: none;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.race_stable_name_input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.race_stable_name_input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.race_stable_name_input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.race_stable_name_input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.race_stable_name_input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.race_stable_name_input:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.16);
  -webkit-box-shadow: inset 0 0 0 1px rgba(214, 168, 56, 0.5);
          box-shadow: inset 0 0 0 1px rgba(214, 168, 56, 0.5);
}

.race_stable_name_display {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.4;
}

.race_stable_name_note {
  margin: 0;
  color: rgba(255, 229, 138, 0.85);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.race_stable_options {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 6px minmax(0, 1fr) 6px minmax(0, 1fr) 6px minmax(0, 1fr);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.race_stable_option {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0;
  background: none;
  cursor: pointer;
  overflow: hidden;
  -webkit-filter: brightness(0.6);
          filter: brightness(0.6);
  -webkit-transition: border-color 0.15s ease, -webkit-filter 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: border-color 0.15s ease, -webkit-filter 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: filter 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  transition: filter 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, -webkit-filter 0.15s ease, -webkit-box-shadow 0.15s ease;
}
.race_stable_option .race_stable_option_thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.06);
}
.race_stable_option .race_stable_option_thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background-image: url("../images/myhorse/frame_skin.png?v=26072201");
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}
.race_stable_option .race_stable_option_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  display: block;
}
.race_stable_option .race_stable_option_label {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 3px 7px;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.86);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
  pointer-events: none;
}
.race_stable_option:hover {
  -webkit-filter: brightness(1.05);
          filter: brightness(1.05);
}
.race_stable_option.is_selected {
  -webkit-box-shadow: 0 0 10px rgba(214, 168, 56, 0.45);
          box-shadow: 0 0 10px rgba(214, 168, 56, 0.45);
  -webkit-filter: brightness(1);
          filter: brightness(1);
}
.race_stable_option.is_selected .race_stable_option_thumb::after {
  -webkit-filter: brightness(1.5);
          filter: brightness(1.5);
}

.race_stable_options[data-stable-backgrounds] .race_stable_option_thumb img {
  -o-object-fit: cover;
     object-fit: cover;
}

.race_stable_option_frame .race_stable_option_thumb::after {
  content: none;
}

.race_stable_option_frame .race_stable_option_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: fill;
     object-fit: fill;
}

.race_stable_option_skin .race_stable_option_thumb {
  padding: 7px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.race_stable_option.is_thumb_bg_warm .race_stable_option_thumb {
  background: #3f7f35;
}

.race_stable_option.is_thumb_bg_light .race_stable_option_thumb {
  background: #3f7f35;
}

.race_stable_option.is_thumb_bg_dark .race_stable_option_thumb {
  background: #3f7f35;
}

.race_stable_coming_soon {
  padding: 12px 14px;
  border: none;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.3);
  color: #ffb4b4;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
.race_stable_coming_soon p {
  margin: 0;
}

.race_stable_footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px;
}

.race_stable_save_btn {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  min-width: 220px;
  padding: 13px 24px;
  border: none;
  border-radius: 6px;
  background: #d6a838;
  color: #000;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.04em;
  cursor: pointer;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  -webkit-transition: -webkit-filter 0.15s ease;
  transition: -webkit-filter 0.15s ease;
  transition: filter 0.15s ease;
  transition: filter 0.15s ease, -webkit-filter 0.15s ease;
}
.race_stable_save_btn:hover {
  -webkit-filter: brightness(1.08);
          filter: brightness(1.08);
}
.race_stable_save_btn:disabled {
  opacity: 0.45;
  cursor: default;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.race_stable_name_confirm_overlay {
  z-index: 1200001;
}
.race_stable_name_confirm_overlay .app_dialog_overlay {
  background: rgba(0, 0, 0, 0.72);
}
.race_stable_name_confirm_overlay .app_dialog_box {
  max-width: 360px;
}
.race_stable_name_confirm_overlay .app_dialog_body {
  text-align: center;
}
.race_stable_name_confirm_overlay .app_dialog_body h2 {
  margin: 0 0 12px;
  color: #ffe58a;
  font-size: 20px;
  font-weight: 900;
}
.race_stable_name_confirm_overlay .app_dialog_body p {
  margin: 6px 0 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.race_mypage_rankings {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 30px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.race_mypage_ranking_block {
  min-width: 0;
  padding: 25px 20px;
  background-image: url(../images/bg_mypage_ranking.jpg?v=26072201);
  background-size: 100% 100%;
}

.race_mypage_block_title {
  margin: 0 0 8px;
  color: #ffe58a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-shadow: 0 1px 0 #000, 0 0 6px rgba(0, 0, 0, 0.7);
}
.race_mypage_block_title img {
  display: block;
  width: 250px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.race_mypage_best_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3px;
  min-height: 74px;
}

.race_mypage_best_row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 56px 8px minmax(0, 1fr) 8px 70px;
  grid-template-columns: 56px minmax(0, 1fr) 70px;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 34px;
  padding: 5px 8px;
  background: rgba(255, 255, 255, 0.05);
}

.race_mypage_high_odds_list .race_mypage_best_row {
  -ms-grid-columns: 56px minmax(92px, 1fr) 68px 54px;
  grid-template-columns: 56px minmax(92px, 1fr) 68px 54px;
}

.race_mypage_best_rank {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #ffe58a;
  text-shadow: 0 1px 0 #000, 0 0 6px rgba(0, 0, 0, 0.65);
}
.race_mypage_best_rank img {
  display: block;
  width: 50px;
  max-width: 100%;
  height: auto;
}

.race_mypage_best_num,
.race_mypage_best_value {
  font-family: "clother", sans-serif;
  font-weight: 500;
  line-height: 1;
}

.race_mypage_best_num {
  font-size: 22px;
}

.race_mypage_best_main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  min-width: 0;
  white-space: nowrap;
}

.race_mypage_best_value {
  background: -webkit-gradient(linear, left top, left bottom, from(#fffdf0), color-stop(42%, #ffe58a), color-stop(76%, #d79c32), to(#a86618));
  background: linear-gradient(180deg, #fffdf0 0%, #ffe58a 42%, #d79c32 76%, #a86618 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 26px;
  -webkit-text-fill-color: transparent;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  letter-spacing: -1px;
}
.race_mypage_best_value.is_rainbow {
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  -webkit-animation: total_rainbow 2s linear infinite;
          animation: total_rainbow 2s linear infinite;
}

.race_mypage_best_unit {
  margin-left: 3px;
  color: #ffe8a0;
  font-size: 11px;
  font-weight: 600;
}

.race_mypage_best_type,
.race_mypage_best_date {
  min-width: 0;
  overflow: hidden;
  color: #fff7da;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.85);
}

.race_mypage_best_date {
  font-family: "clother", sans-serif;
  font-size: 14px;
  color: rgba(255, 248, 220, 0.95);
}

.race_mypage_footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 20px;
}
.race_mypage_footer a {
  display: inline-block;
  color: #d6a838;
  font-size: 14px;
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.85);
}

.race_mypage_open_btn {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.race_mypage_open_btn img {
  display: block;
}

@-webkit-keyframes bg_far_move {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes bg_far_move {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@-webkit-keyframes bg_near_move {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-1200px);
            transform: translateX(-1200px);
  }
}
@keyframes bg_near_move {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-1200px);
            transform: translateX(-1200px);
  }
}
@-webkit-keyframes bg_haikei_move {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes bg_haikei_move {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@-webkit-keyframes race_rain_far {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -80px 160px;
  }
}
@keyframes race_rain_far {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -80px 160px;
  }
}
@-webkit-keyframes race_rain_mid {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -120px 220px;
  }
}
@keyframes race_rain_mid {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -120px 220px;
  }
}
@-webkit-keyframes race_rain_near {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -180px 320px;
  }
}
@keyframes race_rain_near {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -180px 320px;
  }
}
@-webkit-keyframes race_rain_far_goal {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -18px 160px;
  }
}
@keyframes race_rain_far_goal {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -18px 160px;
  }
}
@-webkit-keyframes race_rain_mid_goal {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -26px 220px;
  }
}
@keyframes race_rain_mid_goal {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -26px 220px;
  }
}
@-webkit-keyframes race_rain_near_goal {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -36px 320px;
  }
}
@keyframes race_rain_near_goal {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -36px 320px;
  }
}
@-webkit-keyframes race_typhoon_lightning {
  0% {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
  }
  14% {
    opacity: 0.82;
    background-color: rgba(0, 0, 0, 0.86);
  }
  25% {
    opacity: 0.05;
    background-color: rgba(0, 0, 0, 0.2);
  }
  38% {
    opacity: 0.66;
    background-color: rgba(238, 234, 255, 0.74);
  }
  50% {
    opacity: 0.12;
    background-color: rgba(238, 234, 255, 0.22);
  }
  68% {
    opacity: 0.24;
    background-color: rgba(0, 0, 0, 0.42);
  }
  100% {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
  }
}
@keyframes race_typhoon_lightning {
  0% {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
  }
  14% {
    opacity: 0.82;
    background-color: rgba(0, 0, 0, 0.86);
  }
  25% {
    opacity: 0.05;
    background-color: rgba(0, 0, 0, 0.2);
  }
  38% {
    opacity: 0.66;
    background-color: rgba(238, 234, 255, 0.74);
  }
  50% {
    opacity: 0.12;
    background-color: rgba(238, 234, 255, 0.22);
  }
  68% {
    opacity: 0.24;
    background-color: rgba(0, 0, 0, 0.42);
  }
  100% {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
  }
}
@-webkit-keyframes race_typhoon_lightning_strong {
  0% {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
  }
  13% {
    opacity: 0.9;
    background-color: rgba(0, 0, 0, 0.92);
  }
  23% {
    opacity: 0.08;
    background-color: rgba(0, 0, 0, 0.25);
  }
  34% {
    opacity: 0.78;
    background-color: rgba(242, 238, 255, 0.84);
  }
  44% {
    opacity: 0.14;
    background-color: rgba(242, 238, 255, 0.24);
  }
  57% {
    opacity: 0.6;
    background-color: rgba(235, 230, 255, 0.68);
  }
  66% {
    opacity: 0.16;
    background-color: rgba(235, 230, 255, 0.18);
  }
  80% {
    opacity: 0.3;
    background-color: rgba(0, 0, 0, 0.46);
  }
  100% {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
  }
}
@keyframes race_typhoon_lightning_strong {
  0% {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
  }
  13% {
    opacity: 0.9;
    background-color: rgba(0, 0, 0, 0.92);
  }
  23% {
    opacity: 0.08;
    background-color: rgba(0, 0, 0, 0.25);
  }
  34% {
    opacity: 0.78;
    background-color: rgba(242, 238, 255, 0.84);
  }
  44% {
    opacity: 0.14;
    background-color: rgba(242, 238, 255, 0.24);
  }
  57% {
    opacity: 0.6;
    background-color: rgba(235, 230, 255, 0.68);
  }
  66% {
    opacity: 0.16;
    background-color: rgba(235, 230, 255, 0.18);
  }
  80% {
    opacity: 0.3;
    background-color: rgba(0, 0, 0, 0.46);
  }
  100% {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
  }
}
@-webkit-keyframes typhoon_wind_flow {
  0% {
    -webkit-transform: translate3d(18%, -5%, 0) translate(-50%, -50%) rotate(10deg) scale(1);
            transform: translate3d(18%, -5%, 0) translate(-50%, -50%) rotate(10deg) scale(1);
    opacity: 0;
  }
  6% {
    opacity: 0.52;
  }
  8% {
    opacity: 0;
  }
  14% {
    opacity: 0.5;
  }
  17% {
    opacity: 0.04;
  }
  25% {
    opacity: 0.54;
  }
  29% {
    opacity: 0;
  }
  38% {
    opacity: 0.48;
  }
  42% {
    opacity: 0.02;
  }
  52% {
    opacity: 0.5;
  }
  58% {
    opacity: 0;
  }
  66% {
    -webkit-transform: translate3d(-40%, 5%, 0) translate(-50%, -50%) rotate(10deg) scale(1.04);
            transform: translate3d(-40%, 5%, 0) translate(-50%, -50%) rotate(10deg) scale(1.04);
    opacity: 0.44;
  }
  70%, 100% {
    -webkit-transform: translate3d(-40%, 5%, 0) translate(-50%, -50%) rotate(10deg) scale(1.04);
            transform: translate3d(-40%, 5%, 0) translate(-50%, -50%) rotate(10deg) scale(1.04);
    opacity: 0;
  }
}
@keyframes typhoon_wind_flow {
  0% {
    -webkit-transform: translate3d(18%, -5%, 0) translate(-50%, -50%) rotate(10deg) scale(1);
            transform: translate3d(18%, -5%, 0) translate(-50%, -50%) rotate(10deg) scale(1);
    opacity: 0;
  }
  6% {
    opacity: 0.52;
  }
  8% {
    opacity: 0;
  }
  14% {
    opacity: 0.5;
  }
  17% {
    opacity: 0.04;
  }
  25% {
    opacity: 0.54;
  }
  29% {
    opacity: 0;
  }
  38% {
    opacity: 0.48;
  }
  42% {
    opacity: 0.02;
  }
  52% {
    opacity: 0.5;
  }
  58% {
    opacity: 0;
  }
  66% {
    -webkit-transform: translate3d(-40%, 5%, 0) translate(-50%, -50%) rotate(10deg) scale(1.04);
            transform: translate3d(-40%, 5%, 0) translate(-50%, -50%) rotate(10deg) scale(1.04);
    opacity: 0.44;
  }
  70%, 100% {
    -webkit-transform: translate3d(-40%, 5%, 0) translate(-50%, -50%) rotate(10deg) scale(1.04);
            transform: translate3d(-40%, 5%, 0) translate(-50%, -50%) rotate(10deg) scale(1.04);
    opacity: 0;
  }
}
@-webkit-keyframes horse_bob {
  0% {
    -webkit-transform: translateY(0) rotate(4deg);
            transform: translateY(0) rotate(4deg);
  }
  25% {
    -webkit-transform: translateY(-1.5px) rotate(1deg);
            transform: translateY(-1.5px) rotate(1deg);
  }
  50% {
    -webkit-transform: translateY(-3px) rotate(-2deg);
            transform: translateY(-3px) rotate(-2deg);
  }
  75% {
    -webkit-transform: translateY(-1.5px) rotate(1deg);
            transform: translateY(-1.5px) rotate(1deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(4deg);
            transform: translateY(0) rotate(4deg);
  }
}
@keyframes horse_bob {
  0% {
    -webkit-transform: translateY(0) rotate(4deg);
            transform: translateY(0) rotate(4deg);
  }
  25% {
    -webkit-transform: translateY(-1.5px) rotate(1deg);
            transform: translateY(-1.5px) rotate(1deg);
  }
  50% {
    -webkit-transform: translateY(-3px) rotate(-2deg);
            transform: translateY(-3px) rotate(-2deg);
  }
  75% {
    -webkit-transform: translateY(-1.5px) rotate(1deg);
            transform: translateY(-1.5px) rotate(1deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(4deg);
            transform: translateY(0) rotate(4deg);
  }
}
@-webkit-keyframes horse_run {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -960px 0;
  }
}
@keyframes horse_run {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -960px 0;
  }
}
@-webkit-keyframes entry_mark_fade {
  from {
    opacity: 0;
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes entry_mark_fade {
  from {
    opacity: 0;
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.purchase_history_overlay .app_modal_panel,
.box_purchase_history_overlay .app_modal_panel {
  max-width: 480px;
}
.purchase_history_overlay .purchase_history_body,
.box_purchase_history_overlay .purchase_history_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.purchase_history_overlay .purchase_history_body .bet_card,
.box_purchase_history_overlay .purchase_history_body .bet_card {
  min-width: unset;
  width: 100%;
  -ms-flex-negative: unset;
      flex-shrink: unset;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.purchase_history_overlay .purchase_history_body .bet_card .bet_card_type,
.box_purchase_history_overlay .purchase_history_body .bet_card .bet_card_type {
  width: 100%;
}
.purchase_history_overlay .purchase_history_empty,
.box_purchase_history_overlay .purchase_history_empty {
  color: rgba(255, 255, 255, 0.4);
  font-size: 14px;
  text-align: center;
  padding: 24px 0;
}
.purchase_history_overlay .purchased_card_delete,
.box_purchase_history_overlay .purchased_card_delete {
  position: absolute;
  right: 26px;
  bottom: 26px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  line-height: 1;
  z-index: 1;
  background-color: transparent !important;
}
.purchase_history_overlay .purchased_card_delete img,
.box_purchase_history_overlay .purchased_card_delete img {
  display: block;
  width: 20px;
  height: 20px;
  opacity: 0.9;
}
.purchase_history_overlay .purchased_card_delete:active img,
.box_purchase_history_overlay .purchased_card_delete:active img {
  opacity: 0.9;
}

.skip_notice_overlay .skip_notice_body {
  overflow-y: auto;
  max-height: 40vh;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  text-align: left;
}
.skip_notice_overlay .skip_notice_all_blocked {
  color: #ef5350;
  font-weight: 700;
  margin-bottom: 8px;
}
.skip_notice_overlay .skip_notice_desc {
  margin-bottom: 10px;
}
.skip_notice_overlay .skip_notice_type_name {
  font-size: 14px;
  font-weight: 900;
  margin: 8px 0 4px;
}
.skip_notice_overlay .skip_notice_type_name.is_first {
  margin-top: 0;
}
.skip_notice_overlay .skip_notice_combo_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
  padding: 2px 0;
}
.skip_notice_overlay .bet_amount_limit_message {
  text-align: center;
}

.closing_overlay .app_modal_panel {
  max-width: 360px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.closing_overlay .app_modal_head {
  padding-right: 0 !important;
  margin-bottom: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.closing_overlay .app_modal_head h2 {
  font-size: 22px !important;
  text-align: center;
}

.closing_overlay .app_modal_panel,
.volume_overlay .app_modal_panel,
.race_resume_required_overlay .app_modal_panel,
.waiting_next_race_overlay .app_modal_panel,
.credit_shortage_overlay .app_dialog_box,
.skip_notice_overlay .app_dialog_box,
.level_reward_mock_overlay .app_dialog_box {
  position: relative;
}

.closing_overlay .app_modal_panel::before,
.volume_overlay .app_modal_panel::before,
.race_resume_required_overlay .app_modal_panel::before,
.waiting_next_race_overlay .app_modal_panel::before,
.credit_shortage_overlay .app_dialog_box::before,
.skip_notice_overlay .app_dialog_box::before,
.level_reward_mock_overlay .app_dialog_box::before {
  content: "";
  position: absolute;
  inset: 12px;
  background-image: url("../images/bg_modal_inner.png?v=26072201");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  z-index: 0;
}

.closing_overlay .app_modal_head,
.closing_overlay .app_modal_body,
.closing_overlay .app_modal_actions,
.volume_overlay .app_modal_head,
.volume_overlay .app_modal_body,
.volume_overlay .app_modal_actions,
.race_resume_required_overlay .app_modal_head,
.race_resume_required_overlay .app_modal_body,
.race_resume_required_overlay .app_modal_actions,
.waiting_next_race_overlay .app_modal_head,
.waiting_next_race_overlay .app_modal_body,
.waiting_next_race_overlay .app_modal_actions,
.credit_shortage_overlay .app_dialog_body,
.credit_shortage_overlay .app_dialog_actions,
.skip_notice_overlay .app_dialog_body,
.skip_notice_overlay .app_dialog_actions,
.level_reward_mock_overlay .app_dialog_body,
.level_reward_mock_overlay .app_dialog_actions {
  position: relative;
  z-index: 1;
}

.race_level_reward_modal,
.race_level_reward_total {
  font-family: "Kaisei Decol", serif !important;
  font-weight: 500;
  font-style: normal;
}

.level_reward_mock_overlay .level_reward_level {
  font-family: "clother", sans-serif;
  padding-right: 5px;
  font-size: 40px;
  letter-spacing: 0;
}
.level_reward_mock_overlay .level_reward_amount {
  font-family: "clother", sans-serif;
  padding-right: 5px;
  font-size: 40px;
  letter-spacing: 0;
}
.level_reward_mock_overlay {
  z-index: 9200;
}
.level_reward_mock_overlay .level_reward_mock_subtitle:empty {
  display: none;
}

.race_shop_overlay.shop_um_scope .um_rank_status {
  width: 650px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: 20px;
  padding: 18px 20px;
  border-radius: 10px;
  color: #fff;
  text-align: center;
  background-image: url(../images/bg_umrank_shop.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.race_shop_overlay.shop_um_scope .um_rank_status[hidden] {
  display: none;
}
.race_shop_overlay.shop_um_scope .um_rank_status__icon_column {
  display: block;
  width: 150px;
}
.race_shop_overlay.shop_um_scope .um_rank_status__icon_column[hidden] {
  display: none;
}
.race_shop_overlay.shop_um_scope .um_rank_status__center {
  width: calc(100% - 350px);
  text-align: left;
  background-image: url(../images/bg_umrank_shop_bar_pc.png);
  background-size: auto 100%;
  background-position: top 0 right 0;
  background-repeat: no-repeat;
}
.race_shop_overlay.shop_um_scope .um_rank_status__icon {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.race_shop_overlay.shop_um_scope .um_rank_status__name {
  font-size: 34px;
  line-height: 1.3;
  white-space: nowrap;
  font-family: "Kaisei Decol", serif !important;
  font-weight: 500;
  font-style: normal;
}
.race_shop_overlay.shop_um_scope .um_rank_status__score {
  margin-top: 5px;
  padding-left: 5px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.race_shop_overlay.shop_um_scope .um_rank_status__next {
  padding-left: 5px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.race_shop_overlay.shop_um_scope .um_rank_status__next span {
  color: #ffd84a;
}
.race_shop_overlay.shop_um_scope .um_rank_status__remaining {
  display: inline-block;
  margin-left: 0.35em;
}
.race_shop_overlay.shop_um_scope .um_rank_status__benefit_column {
  width: 200px;
}
.race_shop_overlay.shop_um_scope .um_rank_status__benefit_column[hidden] {
  display: none;
}
.race_shop_overlay.shop_um_scope .um_rank_status__benefit_icon {
  display: block;
  width: 36px;
  margin: 0 auto;
}
.race_shop_overlay.shop_um_scope .um_rank_status__benefit {
  margin-top: 15px;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  white-space: nowrap;
}
.race_shop_overlay.shop_um_scope .um_rank_status__benefit[hidden] {
  display: none;
}
.race_shop_overlay.shop_um_scope .um_rank_status__guide {
  display: inline-block;
  margin-top: 10px;
  color: #fff;
  font-size: 13px;
}
.race_shop_overlay.shop_um_scope .itemlist li {
  position: relative;
}
.race_shop_overlay.shop_um_scope .um_shop_score_label,
.race_shop_overlay.shop_um_scope .um_shop_bonus_label {
  position: absolute;
  z-index: 2;
  color: #fff;
  line-height: 1.3;
  pointer-events: none;
  font-family: "Kaisei Decol", serif !important;
  font-weight: 500;
  font-weight: bold;
  font-style: normal;
}
.race_shop_overlay.shop_um_scope .um_shop_score_label {
  width: 118px;
  display: block;
  right: 56px;
  bottom: 15px;
  font-size: 12px;
  text-align: center;
  border-radius: 5px;
  color: #bbb;
}
.race_shop_overlay.shop_um_scope .um_shop_bonus_label {
  top: 11px;
  right: 28px;
  display: inline-block;
  font-size: 16px;
  text-align: right;
  background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
  background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.race_shop_overlay.shop_um_scope .section_mainichi_medal_pass .um_shop_score_label {
  bottom: 25px !important;
}

@media screen and (max-width: 979px) {
  .race_shop_overlay.shop_um_scope .section_otoku_charge .wrapper .itemlist li,
  .race_shop_overlay.shop_um_scope .section_first .wrapper .itemlist li {
    padding: 45px 30px 35px 21px !important;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status {
    width: 598px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: -26px 0 0 18px;
    padding: 13px 0 26px 26px;
    border-radius: 0;
    color: #fff;
    text-align: center;
    background-image: url(../images/bg_umrank_shop.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__guide {
    font-size: 24px;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__icon_column {
    display: block;
    width: 156px;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__icon_column[hidden] {
    display: none;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__center {
    width: calc(100% - 156px);
    text-align: left;
    background-image: none;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__icon {
    display: block;
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__name {
    font-size: 52px;
    line-height: 1.3;
    white-space: nowrap;
    font-family: "Kaisei Decol", serif !important;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__score {
    margin-top: 13px;
    padding-left: 13px;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.4;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__next {
    padding-left: 13px;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.4;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__next span {
    color: #ffd84a;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__benefit_column {
    display: none;
    margin-top: 13px;
    width: 100%;
    background-image: url(../images/bg_umrank_shop_bar_sp.png);
    background-size: 80% auto;
    background-position: top 0 center;
    background-repeat: no-repeat;
    padding-top: 65px;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__benefit_column[hidden] {
    display: none;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__benefit_icon {
    display: block;
    width: 62px;
    margin: 0 auto;
  }
  .race_shop_overlay.shop_um_scope .um_rank_status__benefit {
    margin-top: 26px;
    color: #fff;
    font-size: 31px;
    line-height: 1.4;
    white-space: nowrap;
  }
  .race_shop_overlay.shop_um_scope .um_shop_score_label {
    width: 240px;
    right: 36px;
    bottom: 12px;
    font-size: 24px;
    letter-spacing: 0;
  }
  .race_shop_overlay.shop_um_scope .um_shop_bonus_label {
    top: 8px;
    right: 30px;
    font-size: 26px;
    letter-spacing: 0;
  }
  .race_shop_overlay.shop_um_scope .section_mainichi_medal_pass .um_shop_score_label,
  .race_shop_overlay.shop_um_scope .section_rocket_start .um_shop_score_label {
    right: 90px !important;
    bottom: 36px !important;
  }
}
.level_reward_mock_overlay .app_dialog_box {
  width: min(440px, 100vw - 32px);
  max-height: min(560px, 100dvh - 32px);
}
.level_reward_mock_overlay .level_reward_mock_body {
  padding: 34px 28px 24px;
}
.level_reward_mock_overlay .level_reward_mock_body h2 {
  margin: 0 0 8px;
  color: #ffd400;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.45);
  overflow-wrap: anywhere;
}
.level_reward_mock_overlay .level_reward_mock_subtitle {
  min-height: 1.6em;
  margin: 0 0 10px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1.6 !important;
}
.level_reward_mock_overlay .level_reward_mock_amount {
  margin: 0 !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 500;
  line-height: 1.25 !important;
  letter-spacing: 0;
  text-shadow: 0 3px 0 rgba(0, 0, 0, 0.5);
  overflow-wrap: anywhere;
}
.level_reward_mock_overlay .app_dialog_actions {
  padding-bottom: 30px;
}
.level_reward_mock_overlay .app_dialog_actions button {
  min-width: 172px;
  min-height: 48px;
  font-size: 17px;
  font-weight: 800;
}
.level_reward_mock_overlay.is_retroactive .level_reward_mock_body h2 {
  font-size: 25px;
}

.um_rank_up_modal {
  z-index: 9300;
}
.um_rank_up_modal .um_rank_up_modal__panel {
  position: relative;
  width: min(520px, 100vw - 40px);
  max-height: calc(100vh - 40px);
  overflow: visible;
}
.um_rank_up_modal .um_rank_up_modal__close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 2;
}
.um_rank_up_modal .um_rank_up_modal__close img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.um_rank_up_modal .um_rank_up_modal__body {
  padding: 40px 30px 34px;
  text-align: center;
}
.um_rank_up_modal .um_rank_up_modal__title {
  margin: 0 0 24px;
  font-size: 30px;
  line-height: 1.3;
}
.um_rank_up_modal .um_rank_up_modal__rank {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 150px;
  gap: 18px;
}
.um_rank_up_modal .um_rank_up_modal__icon {
  display: block;
  width: 150px;
  height: 150px;
  -o-object-fit: contain;
     object-fit: contain;
}
.um_rank_up_modal .um_rank_up_modal__name {
  font-size: 32px;
  line-height: 1.3;
  font-weight: 700;
}
.um_rank_up_modal .um_rank_up_modal__message {
  margin: 22px 0 0;
  font-size: 18px;
  line-height: 1.6;
}

@media screen and (max-width: 979px) {
  .um_rank_up_modal .um_rank_up_modal__panel {
    width: calc(100vw - 32px);
    max-height: calc(100vh - 32px);
  }
  .um_rank_up_modal .um_rank_up_modal__close {
    top: -12px;
    right: -8px;
    width: 42px;
    height: 42px;
  }
  .um_rank_up_modal .um_rank_up_modal__body {
    padding: 34px 18px 28px;
  }
  .um_rank_up_modal .um_rank_up_modal__title {
    margin-bottom: 18px;
    font-size: 25px;
  }
  .um_rank_up_modal .um_rank_up_modal__rank {
    min-height: 120px;
    gap: 12px;
  }
  .um_rank_up_modal .um_rank_up_modal__icon {
    width: 120px;
    height: 120px;
  }
  .um_rank_up_modal .um_rank_up_modal__name {
    font-size: 27px;
  }
  .um_rank_up_modal .um_rank_up_modal__message {
    margin-top: 18px;
    font-size: 16px;
  }
}
.volume_overlay .volume_close {
  position: absolute;
  z-index: 2;
}

.race_resume_required_overlay {
  z-index: 1200000;
}
.race_resume_required_overlay .app_modal_overlay {
  background: rgba(0, 0, 0, 0.9);
  pointer-events: auto;
}
.race_resume_required_overlay .app_modal_panel {
  max-width: 380px;
}
.race_resume_required_overlay .race_resume_required_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 22px;
  padding-bottom: 10px;
  text-align: center;
}
.race_resume_required_overlay .race_resume_required_text {
  margin: 0;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}
.race_resume_required_overlay .race_resume_required_actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.race_resume_required_overlay .race_resume_required_reload_btn {
  min-width: 220px;
  padding: 11px 16px 14px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-family: "Noto Sans JP", sans-serif !important;
  border: 1px solid #C63F43;
  outline: none;
  border-radius: 10px;
  cursor: pointer;
  color: #fff;
  background-color: #811114;
  -webkit-transition: -webkit-filter 0.2s ease;
  transition: -webkit-filter 0.2s ease;
  transition: filter 0.2s ease;
  transition: filter 0.2s ease, -webkit-filter 0.2s ease;
}
.race_resume_required_overlay .race_resume_required_reload_btn:hover {
  -webkit-filter: brightness(1.08);
          filter: brightness(1.08);
}

.icon_volume_btn {
  width: 44px;
  height: 44px;
  border-radius: 36px;
  display: block;
  padding: 8px;
  position: fixed;
  bottom: 89px;
  right: 154px;
  background: none;
  border: none;
  cursor: pointer;
  background: rgb(0, 0, 0);
  background-color: #111;
  -webkit-transition: opacity 0.2s, -webkit-filter 0.18s ease;
  transition: opacity 0.2s, -webkit-filter 0.18s ease;
  transition: opacity 0.2s, filter 0.18s ease;
  transition: opacity 0.2s, filter 0.18s ease, -webkit-filter 0.18s ease;
  -webkit-filter: brightness(1.4);
          filter: brightness(1.4);
  zoom: 0.75;
  border: 1px solid #8A5E18;
}
.icon_volume_btn::after {
  content: "";
  position: absolute;
  left: 7%;
  top: 50%;
  width: 118%;
  height: 4px;
  border-radius: 2px;
  background: #d80000;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.65);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.65);
  opacity: 0;
  -webkit-transform: translateY(-50%) rotate(-36deg);
          transform: translateY(-50%) rotate(-36deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  pointer-events: none;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}
.icon_volume_btn:hover {
  opacity: 1;
  -webkit-filter: brightness(1.7);
          filter: brightness(1.7);
}
.icon_volume_btn.is_muted::after {
  opacity: 1;
}
.icon_volume_btn img {
  width: 100%;
  display: block;
}

.race_zoom_ui {
  position: fixed;
  bottom: 94px;
  right: 20px;
  z-index: 12000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 3px 6px;
  border-radius: 0;
  background-color: #111;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  zoom: 0.75;
  border: 1px solid #8A5E18;
}

.race_zoom_btn {
  width: 26px;
  height: 26px;
  padding: 0;
  border-radius: 6px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: transparent;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.race_zoom_value {
  min-width: 46px;
  text-align: center;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.race_ranking_open_btn {
  display: inline-block;
  position: fixed;
  bottom: 32px;
  left: 448px;
  width: auto;
  min-width: 0;
  min-height: 34px;
  padding: 4px 0;
  border: none;
  border-radius: 0;
  background: none;
  color: rgba(255, 229, 126, 0.92);
  font-family: "Kaisei Decol", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.82);
  cursor: pointer;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  text-decoration: underline;
  text-decoration-color: rgba(255, 214, 71, 0.62);
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  zoom: 0.75;
  -webkit-transition: color 0.16s ease, opacity 0.16s ease;
  transition: color 0.16s ease, opacity 0.16s ease;
}
.race_ranking_open_btn:hover {
  color: #fff0a7;
}
.race_ranking_open_btn:active {
  opacity: 0.72;
}

.volume_overlay {
  z-index: 9200;
}
.volume_overlay .app_modal_panel {
  max-width: 380px;
}
.volume_overlay .volume_close {
  top: 25px;
  right: 25px;
  z-index: 2;
}
.volume_overlay .app_modal_head {
  margin-bottom: 28px;
  text-align: center;
}
.volume_overlay .app_modal_head h2 {
  font-size: 18px;
}
.volume_overlay .app_modal_body {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  overflow: visible;
}

.volume_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22px;
  padding-bottom: 28px;
}

.volume_actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.volume_actions .volume_close {
  min-width: 130px;
  padding: 12px 14px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-family: "Noto Sans JP", sans-serif !important;
  border: none;
  outline: none;
  border-radius: 0;
  cursor: pointer;
  color: #000;
  background-color: #fff;
  -webkit-transition: -webkit-filter 0.2s ease;
  transition: -webkit-filter 0.2s ease;
  transition: filter 0.2s ease;
  transition: filter 0.2s ease, -webkit-filter 0.2s ease;
}
.volume_actions .volume_close:hover {
  -webkit-filter: brightness(1.08);
          filter: brightness(1.08);
}

.volume_row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 80px 14px 1fr;
  grid-template-columns: 80px 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}
.volume_row label {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
}
.volume_row input[type=range] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 100%;
  height: 20px;
  background-color: transparent;
  background-image: url("../images/bg_volume_bar.png?v=26072201");
  background-size: 100% auto;
  background-position: center;
  background-repeat: no-repeat;
  outline: none;
  cursor: pointer;
}
.volume_row input[type=range]::-webkit-slider-runnable-track {
  height: 2px;
  background: transparent;
  border-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.volume_row input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-image: url(../images/bg_volume_circle.png?v=26072201);
  background-size: cover;
  background-position: center center;
  cursor: pointer;
  margin-top: -12px;
  -webkit-filter: brightness(1.8);
          filter: brightness(1.8);
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
.volume_row input[type=range]::-moz-range-track {
  height: 1px;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.volume_row input[type=range]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ffd400;
  border: none;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
.volume_row input[type=range]::-ms-track {
  background: transparent;
  border-color: transparent;
  color: transparent;
  box-shadow: none;
}

.bet_dialog_overlay {
  z-index: 43000;
}
.bet_dialog_overlay .app_modal_panel {
  max-width: 600px;
  max-height: 400px;
  overflow-y: auto;
}
.bet_dialog_overlay .bet_dialog_body {
  padding: 6px 0;
}
.bet_dialog_overlay .bet_dialog_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  gap: 8px;
}
.bet_dialog_overlay .bet_dialog_row:last-child {
  border-bottom: 0;
}
.bet_dialog_overlay .bet_dialog_row .bet_dialog_odds {
  font-size: 28px;
}
.bet_dialog_overlay .bet_dialog_row .bet_dialog_bet {
  font-size: 24px;
}
.bet_dialog_overlay .bet_dialog_selection {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.bet_dialog_overlay .bet_dialog_selection .card_horse_num {
  width: 30px;
  height: 30px;
  font-size: 26px;
  padding-bottom: 2px;
}
.bet_dialog_overlay .bet_dialog_selection .bet_dialog_sep {
  font-size: 14px;
  padding: 0 2px;
}
.bet_dialog_overlay .bet_dialog_sep {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1;
  margin: 0 1px;
}
.bet_dialog_overlay .bet_dialog_odds {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 14px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  white-space: nowrap;
  font-family: "clother", sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  letter-spacing: 0;
}
.bet_dialog_overlay .bet_dialog_bet {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 14px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0;
  white-space: nowrap;
  font-family: "clother", sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
}

.right_panel_cards,
.formation_cards_scroll,
.box_cards_scroll,
.purchased_tickets_scroll {
  scrollbar-width: thin;
  scrollbar-color: #666 rgba(0, 0, 0, 0.1);
  scrollbar-gutter: stable;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.right_panel_cards.is_drag_scroll_active,
.formation_cards_scroll.is_drag_scroll_active,
.box_cards_scroll.is_drag_scroll_active,
.purchased_tickets_scroll.is_drag_scroll_active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.right_panel_cards::-webkit-scrollbar,
.formation_cards_scroll::-webkit-scrollbar,
.box_cards_scroll::-webkit-scrollbar,
.purchased_tickets_scroll::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.right_panel_cards::-webkit-scrollbar-track,
.formation_cards_scroll::-webkit-scrollbar-track,
.box_cards_scroll::-webkit-scrollbar-track,
.purchased_tickets_scroll::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.4);
  border-radius: 3px;
}
.right_panel_cards::-webkit-scrollbar-thumb,
.formation_cards_scroll::-webkit-scrollbar-thumb,
.box_cards_scroll::-webkit-scrollbar-thumb,
.purchased_tickets_scroll::-webkit-scrollbar-thumb {
  background: -webkit-gradient(linear, left top, left bottom, from(#f1dc92), color-stop(50%, #c9a227), to(#8a6422));
  background: linear-gradient(180deg, #f1dc92 0%, #c9a227 50%, #8a6422 100%);
  border-radius: 3px;
}
.right_panel_cards::-webkit-scrollbar-thumb:hover,
.formation_cards_scroll::-webkit-scrollbar-thumb:hover,
.box_cards_scroll::-webkit-scrollbar-thumb:hover,
.purchased_tickets_scroll::-webkit-scrollbar-thumb:hover {
  background: -webkit-gradient(linear, left top, left bottom, from(#ffe880), color-stop(50%, #d4af37), to(#9a7422));
  background: linear-gradient(180deg, #ffe880 0%, #d4af37 50%, #9a7422 100%);
}
.right_panel_cards::-webkit-scrollbar-thumb:active,
.formation_cards_scroll::-webkit-scrollbar-thumb:active,
.box_cards_scroll::-webkit-scrollbar-thumb:active,
.purchased_tickets_scroll::-webkit-scrollbar-thumb:active {
  background: #ffd400;
}
.right_panel_cards::-webkit-scrollbar-corner,
.formation_cards_scroll::-webkit-scrollbar-corner,
.box_cards_scroll::-webkit-scrollbar-corner,
.purchased_tickets_scroll::-webkit-scrollbar-corner {
  background: transparent;
}

/* ------------------------------
 未ログイン時のベット操作ロック
------------------------------ */
body.is_bet_login_required .bet_login_overlay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

body.is_bet_login_required main .race_demo .odds_demo .odds_table .bet_btn {
  pointer-events: none;
  opacity: 0.4;
}
body.is_bet_login_required main .race_demo .odds_demo .bet_mode_area .bet_unit_area #betUnitBtn {
  pointer-events: none;
  opacity: 0.4;
}

.race_cheer_effect {
  position: static;
  z-index: auto;
  display: none;
  overflow: visible;
  pointer-events: none;
  --race-cheer-effect-bg-image: none;
}
.race_cheer_effect.is_active {
  display: block;
}
.race_cheer_effect.is_active .race_cheer_yakumono {
  opacity: 0.72;
}
.race_cheer_effect.is_phase_fading_in .race_cheer_yakumono {
  opacity: 0;
  -webkit-animation: race_cheer_yakumono_phase_fade_in var(--race-cheer-phase-fade-ms, 2000ms) linear forwards;
          animation: race_cheer_yakumono_phase_fade_in var(--race-cheer-phase-fade-ms, 2000ms) linear forwards;
}
.race_cheer_effect.is_yakumono_success .race_cheer_yakumono {
  z-index: 50080;
  opacity: 1;
  -webkit-animation: race_cheer_yakumono_drop_center 2s cubic-bezier(0.1, 0.82, 0.12, 1) forwards;
          animation: race_cheer_yakumono_drop_center 2s cubic-bezier(0.1, 0.82, 0.12, 1) forwards;
}
.race_cheer_effect.is_yakumono_success .race_cheer_yakumono::before {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
}
.race_cheer_effect.is_yakumono_success .race_cheer_yakumono::after {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
}
.race_cheer_effect.is_yakumono_success .race_cheer_yakumono .race_cheer_yakumono_inner {
  -webkit-animation: yakumono-shake 0.1s infinite;
          animation: yakumono-shake 0.1s infinite;
}
.race_cheer_effect.is_yakumono_success .race_cheer_yakumono .race_cheer_yakumono_img_base {
  opacity: 0;
}
.race_cheer_effect.is_yakumono_success .race_cheer_yakumono .race_cheer_yakumono_img_rainbow {
  -webkit-filter: brightness(1.28) saturate(1.18);
          filter: brightness(1.28) saturate(1.18);
  -webkit-animation: yakumono-rainbow-image-success 0.3s infinite linear;
          animation: yakumono-rainbow-image-success 0.3s infinite linear;
}
.race_cheer_effect.is_yakumono_success .race_cheer_yakumono .is_rainbow_2 {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}
.race_cheer_effect.is_yakumono_success .race_cheer_yakumono .is_rainbow_3 {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}
.race_cheer_effect.is_yakumono_returning .race_cheer_yakumono {
  z-index: 50080;
  opacity: 1;
  -webkit-animation: race_cheer_yakumono_return 0.8s linear forwards;
          animation: race_cheer_yakumono_return 0.8s linear forwards;
}
.race_cheer_effect.is_yakumono_returning .race_cheer_yakumono::before {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
}
.race_cheer_effect.is_yakumono_returning .race_cheer_yakumono::after {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
}
.race_cheer_effect.is_yakumono_returning .race_cheer_yakumono .race_cheer_yakumono_img_base {
  opacity: 0;
}
.race_cheer_effect.is_yakumono_returning .race_cheer_yakumono .race_cheer_yakumono_img_rainbow {
  -webkit-filter: brightness(1.28) saturate(1.18);
          filter: brightness(1.28) saturate(1.18);
  -webkit-animation: yakumono-rainbow-image-success 0.3s infinite linear;
          animation: yakumono-rainbow-image-success 0.3s infinite linear;
}
.race_cheer_effect.is_yakumono_returning .race_cheer_yakumono .is_rainbow_2 {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}
.race_cheer_effect.is_yakumono_returning .race_cheer_yakumono .is_rainbow_3 {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}
.race_cheer_effect.is_yakumono_after .race_cheer_yakumono {
  z-index: 50080;
  opacity: 1;
  top: 0;
  -webkit-transform: translate3d(-50%, -72%, 0);
          transform: translate3d(-50%, -72%, 0);
}
.race_cheer_effect.is_yakumono_after .race_cheer_yakumono::before {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
}
.race_cheer_effect.is_yakumono_after .race_cheer_yakumono::after {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
}
.race_cheer_effect.is_yakumono_after .race_cheer_yakumono .race_cheer_yakumono_img_base {
  opacity: 0;
}
.race_cheer_effect.is_yakumono_after .race_cheer_yakumono .race_cheer_yakumono_img_rainbow {
  -webkit-filter: brightness(1.28) saturate(1.18);
          filter: brightness(1.28) saturate(1.18);
  -webkit-animation: yakumono-rainbow-image-success 0.3s infinite linear;
          animation: yakumono-rainbow-image-success 0.3s infinite linear;
}
.race_cheer_effect.is_yakumono_after .race_cheer_yakumono .is_rainbow_2 {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}
.race_cheer_effect.is_yakumono_after .race_cheer_yakumono .is_rainbow_3 {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}
.race_cheer_effect.is_yakumono_fading_out .race_cheer_yakumono {
  opacity: 0;
}
.race_cheer_effect.effect_none .race_cheer_effect_bg {
  opacity: 0;
}
.race_cheer_effect.effect_white .race_cheer_effect_bg, .race_cheer_effect.effect_blue .race_cheer_effect_bg, .race_cheer_effect.effect_green .race_cheer_effect_bg, .race_cheer_effect.effect_red .race_cheer_effect_bg, .race_cheer_effect.effect_rainbow .race_cheer_effect_bg {
  opacity: 0.58;
}
.race_cheer_effect.is_effect_rankup .race_cheer_effect_bg {
  -webkit-animation: race_cheer_effect_screen_shake 0.32s linear;
          animation: race_cheer_effect_screen_shake 0.32s linear;
}
.race_cheer_effect.is_effect_rankup .race_cheer_effect_bg::after {
  -webkit-animation: race_cheer_effect_image_flash 0.7s ease-out forwards;
          animation: race_cheer_effect_image_flash 0.7s ease-out forwards;
}
.race_cheer_effect.is_effect_rankup_rainbow .race_cheer_effect_bg {
  -webkit-animation: race_cheer_effect_screen_shake_rainbow 0.56s linear;
          animation: race_cheer_effect_screen_shake_rainbow 0.56s linear;
}
.race_cheer_effect.is_effect_rankup_rainbow .race_cheer_effect_bg::after {
  -webkit-animation: race_cheer_effect_image_flash_rainbow 0.78s ease-out forwards;
          animation: race_cheer_effect_image_flash_rainbow 0.78s ease-out forwards;
}
.race_cheer_effect.is_effect_rankup_white .race_cheer_effect_bg img {
  -webkit-animation: race_cheer_effect_bg_don_white 10.6s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
          animation: race_cheer_effect_bg_don_white 10.6s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
}
.race_cheer_effect.is_effect_rankup_blue .race_cheer_effect_bg img {
  -webkit-animation: race_cheer_effect_bg_don_blue 10.6s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
          animation: race_cheer_effect_bg_don_blue 10.6s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
}
.race_cheer_effect.is_effect_rankup_green .race_cheer_effect_bg img {
  -webkit-animation: race_cheer_effect_bg_don_green 10.6s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
          animation: race_cheer_effect_bg_don_green 10.6s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
}
.race_cheer_effect.is_effect_rankup_red .race_cheer_effect_bg img {
  -webkit-animation: race_cheer_effect_bg_don_red 10.6s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
          animation: race_cheer_effect_bg_don_red 10.6s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
}
.race_cheer_effect.is_effect_rankup_rainbow .race_cheer_effect_bg img {
  -webkit-animation: race_cheer_effect_bg_don_rainbow 10.8s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
          animation: race_cheer_effect_bg_don_rainbow 10.8s cubic-bezier(0.16, 0.86, 0.25, 1) forwards;
}
.race_cheer_effect.is_effect_white_linger .race_cheer_effect_bg {
  opacity: 0.58;
}
.race_cheer_effect.is_phase_fading_in .race_cheer_effect_bg {
  -webkit-transition-duration: var(--race-cheer-phase-fade-ms, 2000ms);
          transition-duration: var(--race-cheer-phase-fade-ms, 2000ms);
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.race_cheer_effect.is_phase_fading_out .race_cheer_effect_bg {
  opacity: 0;
  -webkit-transition-duration: var(--race-cheer-phase-fade-ms, 2000ms);
          transition-duration: var(--race-cheer-phase-fade-ms, 2000ms);
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.race_cheer_effect.is_active ~ main .race_cheer_button {
  opacity: 1;
  pointer-events: auto;
}

.race_cheer_effect.is_one_shot_open ~ main .race_cheer_button {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
}

.race_cheer_effect.is_phase_fading_in ~ main .race_cheer_button {
  opacity: 0;
  pointer-events: auto;
  -webkit-animation: race_cheer_button_phase_fade_in 2000ms linear forwards;
          animation: race_cheer_button_phase_fade_in 2000ms linear forwards;
}

.race_cheer_effect.is_phase_fading_in.is_cheer_completed ~ main .race_cheer_button {
  opacity: 0;
  pointer-events: none;
  -webkit-animation: none;
          animation: none;
}

.race_cheer_effect.is_phase_fading_out ~ main .race_cheer_button {
  pointer-events: auto;
  -webkit-animation: race_cheer_button_phase_fade_out 2000ms linear forwards;
          animation: race_cheer_button_phase_fade_out 2000ms linear forwards;
}

.race_cheer_effect.is_cheer_completed ~ main .race_cheer_button {
  pointer-events: auto;
  cursor: default;
  -webkit-animation: race_cheer_button_complete_fade_out 0.55s ease forwards;
          animation: race_cheer_button_complete_fade_out 0.55s ease forwards;
}

.race_cheer_effect.is_aura_blue ~ main .race_cheer_button::before {
  background: radial-gradient(ellipse at center, rgba(45, 120, 255, 0.32) 0%, rgba(30, 105, 255, 0.14) 24%, transparent 48%), radial-gradient(ellipse at center, rgba(0, 64, 220, 0.94) 0%, rgba(0, 96, 235, 0.66) 40%, rgba(0, 125, 245, 0.26) 68%, rgba(0, 125, 245, 0.07) 84%, transparent 96%);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.race_cheer_effect.is_aura_green ~ main .race_cheer_button::before {
  background: radial-gradient(ellipse at center, rgba(45, 230, 145, 0.3) 0%, rgba(25, 210, 125, 0.13) 24%, transparent 48%), radial-gradient(ellipse at center, rgba(0, 160, 88, 0.94) 0%, rgba(0, 195, 112, 0.66) 40%, rgba(0, 215, 135, 0.26) 68%, rgba(0, 215, 135, 0.07) 84%, transparent 96%);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.race_cheer_effect.is_aura_red ~ main .race_cheer_button::before {
  background: radial-gradient(ellipse at center, rgba(255, 70, 70, 0.28) 0%, rgba(255, 44, 54, 0.12) 24%, transparent 48%), radial-gradient(ellipse at center, rgba(205, 0, 36, 0.95) 0%, rgba(235, 0, 46, 0.68) 40%, rgba(245, 48, 44, 0.26) 68%, rgba(245, 48, 44, 0.07) 84%, transparent 96%);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.race_cheer_effect.is_aura_rainbow ~ main .race_cheer_button::before {
  background: radial-gradient(ellipse at center, rgba(255, 80, 80, 0.22) 0%, rgba(255, 190, 40, 0.13) 22%, rgba(30, 210, 135, 0.08) 38%, transparent 56%), radial-gradient(ellipse at center, rgba(205, 0, 42, 0.52) 0%, rgba(160, 88, 0, 0.34) 28%, rgba(0, 155, 82, 0.24) 50%, rgba(0, 86, 205, 0.14) 72%, transparent 96%), conic-gradient(from 20deg, rgba(215, 0, 38, 0.84), rgba(205, 135, 0, 0.8), rgba(0, 170, 90, 0.8), rgba(0, 96, 215, 0.84), rgba(125, 44, 215, 0.8), rgba(215, 0, 38, 0.84));
  -webkit-box-shadow: none;
          box-shadow: none;
}

.race_cheer_effect.is_aura_blue ~ main .race_cheer_button.is_pressed::before {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.race_cheer_effect.is_aura_green ~ main .race_cheer_button.is_pressed::before {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.race_cheer_effect.is_aura_red ~ main .race_cheer_button.is_pressed::before {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.race_cheer_effect.is_aura_rainbow ~ main .race_cheer_button.is_pressed::before {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.phase_a_bg_slideshow {
  position: fixed;
  inset: 0;
  z-index: 5;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  display: none;
  -webkit-transition: opacity 2s ease;
  transition: opacity 2s ease;
}

.phase_a_bg_slide {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 130%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
}

.race_cheer_effect_bg {
  position: fixed;
  inset: 0;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.18s ease;
  transition: opacity 0.18s ease;
  background: transparent;
}
.race_cheer_effect_bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
}
.race_cheer_effect_bg::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background-image: var(--race-cheer-effect-bg-image);
  background-size: cover;
  background-position: center center;
}

.race_cheer_yakumono {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 13000;
  width: 80%;
  min-width: 970px;
  max-width: 1280px;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translate3d(-50%, -102%, 0);
          transform: translate3d(-50%, -102%, 0);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: opacity 1s linear;
  transition: opacity 1s linear;
}
.race_cheer_yakumono::before, .race_cheer_yakumono::after {
  content: "";
  position: absolute;
  left: 9%;
  right: 9%;
  top: 16%;
  bottom: 8%;
  z-index: -1;
  opacity: 0.52;
  pointer-events: none;
}
.race_cheer_yakumono::before {
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.92) 0 18%, rgba(255, 255, 255, 0.34) 42%, transparent 70%);
  -webkit-filter: blur(18px);
          filter: blur(18px);
  -webkit-animation: race_cheer_yakumono_mono_aura 1.45s ease-in-out infinite alternate;
          animation: race_cheer_yakumono_mono_aura 1.45s ease-in-out infinite alternate;
}
.race_cheer_yakumono::after {
  opacity: 0;
  border-radius: 8%;
}
.race_cheer_yakumono .race_cheer_yakumono_inner {
  position: relative;
  width: 100%;
}
.race_cheer_yakumono .race_cheer_yakumono_img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.race_cheer_yakumono .race_cheer_yakumono_img_base {
  position: relative;
  z-index: 1;
  opacity: 1;
  -webkit-animation: yakumono-normal 5s infinite linear;
          animation: yakumono-normal 5s infinite linear;
}
.race_cheer_yakumono .race_cheer_yakumono_img_rainbow {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
}
.race_cheer_yakumono .is_rainbow_2 {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}
.race_cheer_yakumono .is_rainbow_3 {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}

.race_cheer_button {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-left: auto;
  z-index: 30000;
  display: block;
  width: 200px;
  opacity: 0;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: none;
  cursor: pointer;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  --race-cheer-aura-opacity-min: .68;
  --race-cheer-aura-opacity-max: .98;
  -webkit-transform: translateY(-40px);
          transform: translateY(-40px);
}
.race_cheer_button:focus {
  outline: none;
}
.race_cheer_button:focus:not(:focus-visible) {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.race_cheer_button:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.8);
  outline-offset: 2px;
}
.race_cheer_button::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 14%;
  bottom: 14%;
  z-index: 0;
  border-radius: 999px;
  opacity: var(--race-cheer-aura-opacity-max);
  pointer-events: none;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-animation: race_cheer_button_aura_pulse 2s ease-in-out infinite alternate;
          animation: race_cheer_button_aura_pulse 2s ease-in-out infinite alternate;
}
.race_cheer_button.is_pressed::before {
  left: 12%;
  right: 12%;
  top: 16%;
  bottom: 16%;
  --race-cheer-aura-opacity-min: .78;
  --race-cheer-aura-opacity-max: 1;
}
.race_cheer_button img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.race_cheer_one_shot_overlay {
  position: fixed;
  inset: 0;
  z-index: 50000;
  display: none;
  overflow: hidden;
  background: #000;
  pointer-events: none;
}
.race_cheer_one_shot_overlay.is_open {
  display: block;
  pointer-events: auto;
}
.race_cheer_one_shot_overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(0, 0, 0, 0.18);
}
.race_cheer_one_shot_overlay.is_fading_out {
  -webkit-animation: race_cheer_one_shot_overlay_fade_out 0.3s ease forwards;
          animation: race_cheer_one_shot_overlay_fade_out 0.3s ease forwards;
  z-index: 50000;
}
.race_cheer_one_shot_overlay.is_open .race_cheer_one_shot_bg {
  -webkit-animation: race_cheer_one_shot_bg_enter 1.2s cubic-bezier(0.16, 0.86, 0.25, 1) forwards, race_cheer_one_shot_bg_hold 4.6s 1.2s ease-in-out forwards;
          animation: race_cheer_one_shot_bg_enter 1.2s cubic-bezier(0.16, 0.86, 0.25, 1) forwards, race_cheer_one_shot_bg_hold 4.6s 1.2s ease-in-out forwards;
}
.race_cheer_one_shot_overlay.is_blackout .race_cheer_one_shot_blackout {
  -webkit-animation: race_cheer_one_shot_blackout_fail 0.9s ease-in forwards;
          animation: race_cheer_one_shot_blackout_fail 0.9s ease-in forwards;
}
.race_cheer_one_shot_overlay.is_success .race_cheer_one_shot_success_burst {
  -webkit-animation: race_cheer_one_shot_success_image_spread 5s ease-out forwards;
          animation: race_cheer_one_shot_success_image_spread 5s ease-out forwards;
}
.race_cheer_one_shot_overlay.is_success_rainbow .race_cheer_one_shot_success_burst {
  -webkit-animation: race_cheer_one_shot_success_image_spread_rainbow 5s ease-out forwards;
          animation: race_cheer_one_shot_success_image_spread_rainbow 5s ease-out forwards;
}
.race_cheer_one_shot_overlay.is_success_rainbow .race_cheer_one_shot_blackout {
  opacity: 0;
  background: transparent;
  -webkit-animation: none;
          animation: none;
}
.race_cheer_one_shot_overlay.is_success_rainbow.is_rainbow_strobe .race_cheer_one_shot_blackout {
  z-index: 3;
  background-color: #000;
  background-image: none;
  background-size: cover;
  background-position: center;
  -webkit-animation: race_cheer_one_shot_rainbow_black_strobe 2s steps(1, end) infinite;
          animation: race_cheer_one_shot_rainbow_black_strobe 2s steps(1, end) infinite;
}
.race_cheer_one_shot_overlay.is_success_rainbow.is_rainbow_strobe .race_cheer_one_shot_msg {
  z-index: 5;
  opacity: 1;
}
.race_cheer_one_shot_overlay.is_success_rainbow.is_rainbow_strobe .race_cheer_one_shot_button {
  z-index: 6;
}
.race_cheer_one_shot_overlay.is_success_rainbow.is_rainbow_strobe_done .race_cheer_one_shot_blackout {
  z-index: 20;
  opacity: 0;
  background: #000;
  -webkit-animation: none;
          animation: none;
}
.race_cheer_one_shot_overlay.is_show_ichigeki .race_cheer_one_shot_msg_ichigeki {
  -webkit-animation: race_cheer_one_shot_msg_from_left 5s cubic-bezier(0.14, 0.9, 0.16, 1) forwards;
          animation: race_cheer_one_shot_msg_from_left 5s cubic-bezier(0.14, 0.9, 0.16, 1) forwards;
}
.race_cheer_one_shot_overlay.is_show_kimero .race_cheer_one_shot_msg_kimero {
  -webkit-animation: race_cheer_one_shot_msg_from_right 5s cubic-bezier(0.14, 0.9, 0.16, 1) forwards;
          animation: race_cheer_one_shot_msg_from_right 5s cubic-bezier(0.14, 0.9, 0.16, 1) forwards;
}
.race_cheer_one_shot_overlay.is_show_button .race_cheer_one_shot_button {
  pointer-events: auto;
  -webkit-animation: race_cheer_one_shot_button_pop 0.28s cubic-bezier(0.12, 1.15, 0.3, 1) forwards;
          animation: race_cheer_one_shot_button_pop 0.28s cubic-bezier(0.12, 1.15, 0.3, 1) forwards;
}
.race_cheer_one_shot_overlay.is_success .race_cheer_one_shot_button, .race_cheer_one_shot_overlay.is_fail .race_cheer_one_shot_button {
  pointer-events: auto;
}
.race_cheer_one_shot_overlay.is_success .race_cheer_one_shot_button::before, .race_cheer_one_shot_overlay.is_fail .race_cheer_one_shot_button::before {
  display: none;
}
.race_cheer_one_shot_overlay.is_success {
  -webkit-animation: race_cheer_one_shot_success_screen_shake 0.32s linear;
          animation: race_cheer_one_shot_success_screen_shake 0.32s linear;
}
.race_cheer_one_shot_overlay.is_success_rainbow {
  -webkit-animation: race_cheer_one_shot_success_screen_shake_rainbow 3s linear;
          animation: race_cheer_one_shot_success_screen_shake_rainbow 3s linear;
}
.race_cheer_one_shot_overlay.is_success .race_cheer_one_shot_bg, .race_cheer_one_shot_overlay.is_success_rainbow .race_cheer_one_shot_bg {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.race_cheer_one_shot_overlay.is_fading_out, .race_cheer_one_shot_overlay.is_success.is_fading_out, .race_cheer_one_shot_overlay.is_success_rainbow.is_fading_out {
  z-index: 50000;
  -webkit-animation: race_cheer_one_shot_overlay_fade_out 0.3s ease forwards;
          animation: race_cheer_one_shot_overlay_fade_out 0.3s ease forwards;
}
.race_cheer_one_shot_overlay.is_success.is_fading_out, .race_cheer_one_shot_overlay.is_success_rainbow.is_fading_out {
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
}

.race_cheer_one_shot_bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-color: #000;
  -webkit-transform: scale(1.36);
          transform: scale(1.36);
}

.race_cheer_one_shot_success_burst {
  position: absolute;
  inset: 0;
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  background-size: cover;
  background-position: center;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.race_cheer_one_shot_blackout {
  position: absolute;
  inset: 0;
  z-index: 20;
  opacity: 0;
  pointer-events: none;
  background: #000;
}

.race_cheer_one_shot_msg,
.race_cheer_one_shot_button {
  position: absolute;
  z-index: 4;
}

.race_cheer_one_shot_msg {
  display: block;
  height: auto;
  opacity: 0;
  pointer-events: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.race_cheer_one_shot_msg_ichigeki {
  top: clamp(44px, 8vh, 126px);
  left: 47%;
  width: clamp(312px, 40.8vw, 744px);
  -webkit-transform: translate(34%, 0) scale(1.02);
          transform: translate(34%, 0) scale(1.02);
}

.race_cheer_one_shot_msg_kimero {
  bottom: calc(clamp(48px, 15vh, 132px) + clamp(71px, 9.48vw, 171px));
  left: 54%;
  width: clamp(360px, 48vw, 864px);
  -webkit-transform: translate(-134%, 0) scale(1.02);
          transform: translate(-134%, 0) scale(1.02);
}

.race_cheer_one_shot_button {
  top: 47%;
  left: 50%;
  display: block;
  width: clamp(216px, 28.8vw, 396px);
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  -webkit-transform: translate(-50%, -50%) scale(0.72);
          transform: translate(-50%, -50%) scale(0.72);
  pointer-events: none;
  cursor: pointer;
  z-index: 6;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
.race_cheer_one_shot_button::before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: -1;
  border-radius: 50%;
  opacity: 0.82;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.88) 0 18%, rgba(255, 60, 120, 0.54) 36%, rgba(255, 180, 0, 0.34) 52%, transparent 72%);
  -webkit-filter: blur(18px);
          filter: blur(18px);
  -webkit-animation: race_cheer_one_shot_button_glow 1.05s ease-in-out infinite alternate;
          animation: race_cheer_one_shot_button_glow 1.05s ease-in-out infinite alternate;
}
.race_cheer_one_shot_button img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.race_cheer_one_shot_button:disabled {
  cursor: default;
}

@-webkit-keyframes race_cheer_effect_bg_don_white {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.16);
            transform: scale(1.16);
  }
  11%, 35% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}

@keyframes race_cheer_effect_bg_don_white {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.16);
            transform: scale(1.16);
  }
  11%, 35% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@-webkit-keyframes race_cheer_button_phase_fade_in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes race_cheer_button_phase_fade_in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes race_cheer_yakumono_phase_fade_in {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.72;
  }
}
@keyframes race_cheer_yakumono_phase_fade_in {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.72;
  }
}
@-webkit-keyframes race_cheer_button_phase_fade_out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes race_cheer_button_phase_fade_out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes race_cheer_button_complete_fade_out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes race_cheer_button_complete_fade_out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes race_cheer_button_aura_pulse {
  from {
    opacity: var(--race-cheer-aura-opacity-min);
    -webkit-transform: translateY(-10px) scale(0.96);
            transform: translateY(-10px) scale(0.96);
  }
  to {
    opacity: var(--race-cheer-aura-opacity-max);
    -webkit-transform: translateY(-10px) scale(1.03);
            transform: translateY(-10px) scale(1.03);
  }
}
@keyframes race_cheer_button_aura_pulse {
  from {
    opacity: var(--race-cheer-aura-opacity-min);
    -webkit-transform: translateY(-10px) scale(0.96);
            transform: translateY(-10px) scale(0.96);
  }
  to {
    opacity: var(--race-cheer-aura-opacity-max);
    -webkit-transform: translateY(-10px) scale(1.03);
            transform: translateY(-10px) scale(1.03);
  }
}
@-webkit-keyframes race_cheer_yakumono_mono_aura {
  from {
    opacity: 0.36;
  }
  to {
    opacity: 0.72;
  }
}
@keyframes race_cheer_yakumono_mono_aura {
  from {
    opacity: 0.36;
  }
  to {
    opacity: 0.72;
  }
}
@-webkit-keyframes yakumono-normal {
  0% {
    -webkit-filter: grayscale(0.95) hue-rotate(0deg) brightness(0.95) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 0, 0.1));
            filter: grayscale(0.95) hue-rotate(0deg) brightness(0.95) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 0, 0.1));
  }
  75% {
    -webkit-filter: grayscale(0.95) hue-rotate(180deg) brightness(0.7) saturate(2) drop-shadow(0 0 20px rgba(0, 255, 255, 0.1));
            filter: grayscale(0.95) hue-rotate(180deg) brightness(0.7) saturate(2) drop-shadow(0 0 20px rgba(0, 255, 255, 0.1));
  }
  80% {
    -webkit-filter: grayscale(0.95) hue-rotate(360deg) brightness(0.85) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 255, 0.1));
            filter: grayscale(0.95) hue-rotate(360deg) brightness(0.85) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 255, 0.1));
  }
  95% {
    -webkit-filter: grayscale(0.95) hue-rotate(180deg) brightness(0.7) saturate(2) drop-shadow(0 0 20px rgba(0, 255, 255, 0.1));
            filter: grayscale(0.95) hue-rotate(180deg) brightness(0.7) saturate(2) drop-shadow(0 0 20px rgba(0, 255, 255, 0.1));
  }
  100% {
    -webkit-filter: grayscale(0.95) hue-rotate(360deg) brightness(0.95) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 255, 0.1));
            filter: grayscale(0.95) hue-rotate(360deg) brightness(0.95) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 255, 0.1));
  }
}
@keyframes yakumono-normal {
  0% {
    -webkit-filter: grayscale(0.95) hue-rotate(0deg) brightness(0.95) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 0, 0.1));
            filter: grayscale(0.95) hue-rotate(0deg) brightness(0.95) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 0, 0.1));
  }
  75% {
    -webkit-filter: grayscale(0.95) hue-rotate(180deg) brightness(0.7) saturate(2) drop-shadow(0 0 20px rgba(0, 255, 255, 0.1));
            filter: grayscale(0.95) hue-rotate(180deg) brightness(0.7) saturate(2) drop-shadow(0 0 20px rgba(0, 255, 255, 0.1));
  }
  80% {
    -webkit-filter: grayscale(0.95) hue-rotate(360deg) brightness(0.85) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 255, 0.1));
            filter: grayscale(0.95) hue-rotate(360deg) brightness(0.85) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 255, 0.1));
  }
  95% {
    -webkit-filter: grayscale(0.95) hue-rotate(180deg) brightness(0.7) saturate(2) drop-shadow(0 0 20px rgba(0, 255, 255, 0.1));
            filter: grayscale(0.95) hue-rotate(180deg) brightness(0.7) saturate(2) drop-shadow(0 0 20px rgba(0, 255, 255, 0.1));
  }
  100% {
    -webkit-filter: grayscale(0.95) hue-rotate(360deg) brightness(0.95) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 255, 0.1));
            filter: grayscale(0.95) hue-rotate(360deg) brightness(0.95) saturate(2) drop-shadow(0 0 10px rgba(255, 0, 255, 0.1));
  }
}
@-webkit-keyframes race_cheer_yakumono_drop_center {
  0% {
    top: 0;
    -webkit-transform: translate3d(-50%, -102%, 0);
            transform: translate3d(-50%, -102%, 0);
  }
  24.04% {
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
  }
  25% {
    top: 50%;
    -webkit-transform: translate3d(calc(-50% + 2px), calc(-50% - 2px), 0);
            transform: translate3d(calc(-50% + 2px), calc(-50% - 2px), 0);
  }
  28% {
    top: 50%;
    -webkit-transform: translate3d(calc(-50% - 2px), calc(-50% + 2px), 0);
            transform: translate3d(calc(-50% - 2px), calc(-50% + 2px), 0);
  }
  100% {
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
  }
}
@keyframes race_cheer_yakumono_drop_center {
  0% {
    top: 0;
    -webkit-transform: translate3d(-50%, -102%, 0);
            transform: translate3d(-50%, -102%, 0);
  }
  24.04% {
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
  }
  25% {
    top: 50%;
    -webkit-transform: translate3d(calc(-50% + 2px), calc(-50% - 2px), 0);
            transform: translate3d(calc(-50% + 2px), calc(-50% - 2px), 0);
  }
  28% {
    top: 50%;
    -webkit-transform: translate3d(calc(-50% - 2px), calc(-50% + 2px), 0);
            transform: translate3d(calc(-50% - 2px), calc(-50% + 2px), 0);
  }
  100% {
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
  }
}
@-webkit-keyframes race_cheer_yakumono_return {
  0% {
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
  }
  100% {
    top: 0;
    -webkit-transform: translate3d(-50%, -72%, 0);
            transform: translate3d(-50%, -72%, 0);
  }
}
@keyframes race_cheer_yakumono_return {
  0% {
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
  }
  100% {
    top: 0;
    -webkit-transform: translate3d(-50%, -72%, 0);
            transform: translate3d(-50%, -72%, 0);
  }
}
@-webkit-keyframes yakumono-rainbow-image-success {
  0%, 26% {
    opacity: 1;
  }
  38%, 88% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes yakumono-rainbow-image-success {
  0%, 26% {
    opacity: 1;
  }
  38%, 88% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes yakumono-rainbow-image-after {
  0% {
    opacity: 1;
  }
  16.666% {
    opacity: 0.58;
  }
  33.333%, 66.666% {
    opacity: 0.32;
  }
  83.333% {
    opacity: 0.58;
  }
  100% {
    opacity: 1;
  }
}
@keyframes yakumono-rainbow-image-after {
  0% {
    opacity: 1;
  }
  16.666% {
    opacity: 0.58;
  }
  33.333%, 66.666% {
    opacity: 0.32;
  }
  83.333% {
    opacity: 0.58;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes yakumono-shake {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  25% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  50% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  75% {
    -webkit-transform: translate(2px, 2px);
            transform: translate(2px, 2px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes yakumono-shake {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  25% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  50% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  75% {
    -webkit-transform: translate(2px, 2px);
            transform: translate(2px, 2px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes race_cheer_yakumono_rainbow_aura {
  0% {
    background: radial-gradient(ellipse 58% 70% at center, transparent 0 38%, rgba(255, 255, 255, 0.16) 44%, rgba(255, 0, 70, 0.42) 52%, rgba(255, 225, 0, 0.3) 63%, rgba(0, 220, 255, 0.18) 74%, rgba(0, 220, 255, 0.06) 84%, transparent 96%);
  }
  33% {
    background: radial-gradient(ellipse 58% 70% at center, transparent 0 38%, rgba(255, 255, 255, 0.15) 44%, rgba(0, 240, 150, 0.4) 52%, rgba(0, 145, 255, 0.3) 63%, rgba(160, 70, 255, 0.18) 74%, rgba(160, 70, 255, 0.06) 84%, transparent 96%);
  }
  66% {
    background: radial-gradient(ellipse 58% 70% at center, transparent 0 38%, rgba(255, 255, 255, 0.15) 44%, rgba(125, 70, 255, 0.42) 52%, rgba(255, 0, 220, 0.3) 63%, rgba(255, 70, 40, 0.18) 74%, rgba(255, 70, 40, 0.06) 84%, transparent 96%);
  }
  100% {
    background: radial-gradient(ellipse 58% 70% at center, transparent 0 38%, rgba(255, 255, 255, 0.16) 44%, rgba(255, 0, 70, 0.42) 52%, rgba(255, 225, 0, 0.3) 63%, rgba(0, 220, 255, 0.18) 74%, rgba(0, 220, 255, 0.06) 84%, transparent 96%);
  }
}
@keyframes race_cheer_yakumono_rainbow_aura {
  0% {
    background: radial-gradient(ellipse 58% 70% at center, transparent 0 38%, rgba(255, 255, 255, 0.16) 44%, rgba(255, 0, 70, 0.42) 52%, rgba(255, 225, 0, 0.3) 63%, rgba(0, 220, 255, 0.18) 74%, rgba(0, 220, 255, 0.06) 84%, transparent 96%);
  }
  33% {
    background: radial-gradient(ellipse 58% 70% at center, transparent 0 38%, rgba(255, 255, 255, 0.15) 44%, rgba(0, 240, 150, 0.4) 52%, rgba(0, 145, 255, 0.3) 63%, rgba(160, 70, 255, 0.18) 74%, rgba(160, 70, 255, 0.06) 84%, transparent 96%);
  }
  66% {
    background: radial-gradient(ellipse 58% 70% at center, transparent 0 38%, rgba(255, 255, 255, 0.15) 44%, rgba(125, 70, 255, 0.42) 52%, rgba(255, 0, 220, 0.3) 63%, rgba(255, 70, 40, 0.18) 74%, rgba(255, 70, 40, 0.06) 84%, transparent 96%);
  }
  100% {
    background: radial-gradient(ellipse 58% 70% at center, transparent 0 38%, rgba(255, 255, 255, 0.16) 44%, rgba(255, 0, 70, 0.42) 52%, rgba(255, 225, 0, 0.3) 63%, rgba(0, 220, 255, 0.18) 74%, rgba(0, 220, 255, 0.06) 84%, transparent 96%);
  }
}
@-webkit-keyframes race_cheer_yakumono_rainbow_corners {
  0% {
    background: radial-gradient(ellipse 38% 44% at 0% 0%, rgba(255, 0, 70, 0.62) 0 16%, rgba(255, 225, 0, 0.34) 40%, rgba(255, 225, 0, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 0%, rgba(255, 225, 0, 0.58) 0 16%, rgba(0, 220, 255, 0.32) 40%, rgba(0, 220, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 0% 100%, rgba(0, 220, 255, 0.58) 0 16%, rgba(125, 70, 255, 0.3) 40%, rgba(125, 70, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 100%, rgba(255, 0, 220, 0.58) 0 16%, rgba(255, 70, 40, 0.3) 40%, rgba(255, 70, 40, 0.1) 64%, transparent 92%);
  }
  33% {
    background: radial-gradient(ellipse 38% 44% at 0% 0%, rgba(0, 240, 150, 0.58) 0 16%, rgba(0, 145, 255, 0.32) 40%, rgba(0, 145, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 0%, rgba(0, 145, 255, 0.58) 0 16%, rgba(160, 70, 255, 0.32) 40%, rgba(160, 70, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 0% 100%, rgba(160, 70, 255, 0.55) 0 16%, rgba(255, 60, 190, 0.3) 40%, rgba(255, 60, 190, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 100%, rgba(255, 60, 190, 0.54) 0 16%, rgba(255, 225, 0, 0.28) 40%, rgba(255, 225, 0, 0.1) 64%, transparent 92%);
  }
  66% {
    background: radial-gradient(ellipse 38% 44% at 0% 0%, rgba(125, 70, 255, 0.6) 0 16%, rgba(255, 0, 220, 0.34) 40%, rgba(255, 0, 220, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 0%, rgba(255, 0, 220, 0.58) 0 16%, rgba(255, 70, 40, 0.32) 40%, rgba(255, 70, 40, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 0% 100%, rgba(255, 70, 40, 0.56) 0 16%, rgba(255, 230, 0, 0.3) 40%, rgba(255, 230, 0, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 100%, rgba(255, 230, 0, 0.54) 0 16%, rgba(0, 240, 150, 0.28) 40%, rgba(0, 240, 150, 0.1) 64%, transparent 92%);
  }
  100% {
    background: radial-gradient(ellipse 38% 44% at 0% 0%, rgba(255, 0, 70, 0.62) 0 16%, rgba(255, 225, 0, 0.34) 40%, rgba(255, 225, 0, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 0%, rgba(255, 225, 0, 0.58) 0 16%, rgba(0, 220, 255, 0.32) 40%, rgba(0, 220, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 0% 100%, rgba(0, 220, 255, 0.58) 0 16%, rgba(125, 70, 255, 0.3) 40%, rgba(125, 70, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 100%, rgba(255, 0, 220, 0.58) 0 16%, rgba(255, 70, 40, 0.3) 40%, rgba(255, 70, 40, 0.1) 64%, transparent 92%);
  }
}
@keyframes race_cheer_yakumono_rainbow_corners {
  0% {
    background: radial-gradient(ellipse 38% 44% at 0% 0%, rgba(255, 0, 70, 0.62) 0 16%, rgba(255, 225, 0, 0.34) 40%, rgba(255, 225, 0, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 0%, rgba(255, 225, 0, 0.58) 0 16%, rgba(0, 220, 255, 0.32) 40%, rgba(0, 220, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 0% 100%, rgba(0, 220, 255, 0.58) 0 16%, rgba(125, 70, 255, 0.3) 40%, rgba(125, 70, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 100%, rgba(255, 0, 220, 0.58) 0 16%, rgba(255, 70, 40, 0.3) 40%, rgba(255, 70, 40, 0.1) 64%, transparent 92%);
  }
  33% {
    background: radial-gradient(ellipse 38% 44% at 0% 0%, rgba(0, 240, 150, 0.58) 0 16%, rgba(0, 145, 255, 0.32) 40%, rgba(0, 145, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 0%, rgba(0, 145, 255, 0.58) 0 16%, rgba(160, 70, 255, 0.32) 40%, rgba(160, 70, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 0% 100%, rgba(160, 70, 255, 0.55) 0 16%, rgba(255, 60, 190, 0.3) 40%, rgba(255, 60, 190, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 100%, rgba(255, 60, 190, 0.54) 0 16%, rgba(255, 225, 0, 0.28) 40%, rgba(255, 225, 0, 0.1) 64%, transparent 92%);
  }
  66% {
    background: radial-gradient(ellipse 38% 44% at 0% 0%, rgba(125, 70, 255, 0.6) 0 16%, rgba(255, 0, 220, 0.34) 40%, rgba(255, 0, 220, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 0%, rgba(255, 0, 220, 0.58) 0 16%, rgba(255, 70, 40, 0.32) 40%, rgba(255, 70, 40, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 0% 100%, rgba(255, 70, 40, 0.56) 0 16%, rgba(255, 230, 0, 0.3) 40%, rgba(255, 230, 0, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 100%, rgba(255, 230, 0, 0.54) 0 16%, rgba(0, 240, 150, 0.28) 40%, rgba(0, 240, 150, 0.1) 64%, transparent 92%);
  }
  100% {
    background: radial-gradient(ellipse 38% 44% at 0% 0%, rgba(255, 0, 70, 0.62) 0 16%, rgba(255, 225, 0, 0.34) 40%, rgba(255, 225, 0, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 0%, rgba(255, 225, 0, 0.58) 0 16%, rgba(0, 220, 255, 0.32) 40%, rgba(0, 220, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 0% 100%, rgba(0, 220, 255, 0.58) 0 16%, rgba(125, 70, 255, 0.3) 40%, rgba(125, 70, 255, 0.1) 64%, transparent 92%), radial-gradient(ellipse 38% 44% at 100% 100%, rgba(255, 0, 220, 0.58) 0 16%, rgba(255, 70, 40, 0.3) 40%, rgba(255, 70, 40, 0.1) 64%, transparent 92%);
  }
}
@-webkit-keyframes race_cheer_effect_bg_don_blue {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
  }
  11%, 35% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@keyframes race_cheer_effect_bg_don_blue {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
  }
  11%, 35% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@-webkit-keyframes race_cheer_effect_bg_don_green {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
  }
  11%, 35% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@keyframes race_cheer_effect_bg_don_green {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
  }
  11%, 35% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@-webkit-keyframes race_cheer_effect_bg_don_red {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.35);
            transform: scale(1.35);
  }
  11%, 35% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@keyframes race_cheer_effect_bg_don_red {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.35);
            transform: scale(1.35);
  }
  11%, 35% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@-webkit-keyframes race_cheer_effect_bg_don_rainbow {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  13%, 36% {
    opacity: 1;
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@keyframes race_cheer_effect_bg_don_rainbow {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  13%, 36% {
    opacity: 1;
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
@-webkit-keyframes race_cheer_effect_image_flash {
  0%, 100% {
    opacity: 0;
  }
  12% {
    opacity: 0.74;
  }
  32% {
    opacity: 0;
  }
}
@keyframes race_cheer_effect_image_flash {
  0%, 100% {
    opacity: 0;
  }
  12% {
    opacity: 0.74;
  }
  32% {
    opacity: 0;
  }
}
@-webkit-keyframes race_cheer_effect_image_flash_rainbow {
  0%, 100% {
    opacity: 0;
  }
  8% {
    opacity: 0.9;
  }
  18% {
    opacity: 0;
  }
  30% {
    opacity: 0.68;
  }
  44% {
    opacity: 0;
  }
}
@keyframes race_cheer_effect_image_flash_rainbow {
  0%, 100% {
    opacity: 0;
  }
  8% {
    opacity: 0.9;
  }
  18% {
    opacity: 0;
  }
  30% {
    opacity: 0.68;
  }
  44% {
    opacity: 0;
  }
}
@-webkit-keyframes race_cheer_effect_screen_shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  18% {
    -webkit-transform: translate3d(-5px, 2px, 0);
            transform: translate3d(-5px, 2px, 0);
  }
  34% {
    -webkit-transform: translate3d(4px, -2px, 0);
            transform: translate3d(4px, -2px, 0);
  }
  52% {
    -webkit-transform: translate3d(-3px, 1px, 0);
            transform: translate3d(-3px, 1px, 0);
  }
  70% {
    -webkit-transform: translate3d(2px, 0, 0);
            transform: translate3d(2px, 0, 0);
  }
}
@keyframes race_cheer_effect_screen_shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  18% {
    -webkit-transform: translate3d(-5px, 2px, 0);
            transform: translate3d(-5px, 2px, 0);
  }
  34% {
    -webkit-transform: translate3d(4px, -2px, 0);
            transform: translate3d(4px, -2px, 0);
  }
  52% {
    -webkit-transform: translate3d(-3px, 1px, 0);
            transform: translate3d(-3px, 1px, 0);
  }
  70% {
    -webkit-transform: translate3d(2px, 0, 0);
            transform: translate3d(2px, 0, 0);
  }
}
@-webkit-keyframes race_cheer_effect_screen_shake_rainbow {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  12% {
    -webkit-transform: translate3d(-7px, 3px, 0);
            transform: translate3d(-7px, 3px, 0);
  }
  24% {
    -webkit-transform: translate3d(7px, -3px, 0);
            transform: translate3d(7px, -3px, 0);
  }
  38% {
    -webkit-transform: translate3d(-5px, 2px, 0);
            transform: translate3d(-5px, 2px, 0);
  }
  52% {
    -webkit-transform: translate3d(4px, -2px, 0);
            transform: translate3d(4px, -2px, 0);
  }
  68% {
    -webkit-transform: translate3d(-2px, 1px, 0);
            transform: translate3d(-2px, 1px, 0);
  }
}
@keyframes race_cheer_effect_screen_shake_rainbow {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  12% {
    -webkit-transform: translate3d(-7px, 3px, 0);
            transform: translate3d(-7px, 3px, 0);
  }
  24% {
    -webkit-transform: translate3d(7px, -3px, 0);
            transform: translate3d(7px, -3px, 0);
  }
  38% {
    -webkit-transform: translate3d(-5px, 2px, 0);
            transform: translate3d(-5px, 2px, 0);
  }
  52% {
    -webkit-transform: translate3d(4px, -2px, 0);
            transform: translate3d(4px, -2px, 0);
  }
  68% {
    -webkit-transform: translate3d(-2px, 1px, 0);
            transform: translate3d(-2px, 1px, 0);
  }
}
@-webkit-keyframes race_cheer_one_shot_button_glow {
  from {
    opacity: 0.58;
    -webkit-transform: scale(0.94);
            transform: scale(0.94);
  }
  to {
    opacity: 0.92;
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
}
@keyframes race_cheer_one_shot_button_glow {
  from {
    opacity: 0.58;
    -webkit-transform: scale(0.94);
            transform: scale(0.94);
  }
  to {
    opacity: 0.92;
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
}
@-webkit-keyframes race_cheer_one_shot_bg_enter {
  from {
    -webkit-transform: scale(1.36);
            transform: scale(1.36);
  }
  to {
    -webkit-transform: scale(1.12);
            transform: scale(1.12);
  }
}
@keyframes race_cheer_one_shot_bg_enter {
  from {
    -webkit-transform: scale(1.36);
            transform: scale(1.36);
  }
  to {
    -webkit-transform: scale(1.12);
            transform: scale(1.12);
  }
}
@-webkit-keyframes race_cheer_one_shot_bg_hold {
  from {
    -webkit-transform: scale(1.12);
            transform: scale(1.12);
  }
  to {
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
}
@keyframes race_cheer_one_shot_bg_hold {
  from {
    -webkit-transform: scale(1.12);
            transform: scale(1.12);
  }
  to {
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
}
@-webkit-keyframes race_cheer_one_shot_msg_from_left {
  0% {
    opacity: 0;
    -webkit-transform: translate(34%, 0) scale(1.02);
            transform: translate(34%, 0) scale(1.02);
  }
  12% {
    opacity: 1;
    -webkit-transform: translate(-46%, 0) scale(1);
            transform: translate(-46%, 0) scale(1);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-58%, 0) scale(1);
            transform: translate(-58%, 0) scale(1);
  }
}
@keyframes race_cheer_one_shot_msg_from_left {
  0% {
    opacity: 0;
    -webkit-transform: translate(34%, 0) scale(1.02);
            transform: translate(34%, 0) scale(1.02);
  }
  12% {
    opacity: 1;
    -webkit-transform: translate(-46%, 0) scale(1);
            transform: translate(-46%, 0) scale(1);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-58%, 0) scale(1);
            transform: translate(-58%, 0) scale(1);
  }
}
@-webkit-keyframes race_cheer_one_shot_msg_from_right {
  0% {
    opacity: 0;
    -webkit-transform: translate(-134%, 0) scale(1.02);
            transform: translate(-134%, 0) scale(1.02);
  }
  12% {
    opacity: 1;
    -webkit-transform: translate(-54%, 0) scale(1);
            transform: translate(-54%, 0) scale(1);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-42%, 0) scale(1);
            transform: translate(-42%, 0) scale(1);
  }
}
@keyframes race_cheer_one_shot_msg_from_right {
  0% {
    opacity: 0;
    -webkit-transform: translate(-134%, 0) scale(1.02);
            transform: translate(-134%, 0) scale(1.02);
  }
  12% {
    opacity: 1;
    -webkit-transform: translate(-54%, 0) scale(1);
            transform: translate(-54%, 0) scale(1);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-42%, 0) scale(1);
            transform: translate(-42%, 0) scale(1);
  }
}
@-webkit-keyframes race_cheer_one_shot_button_pop {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.72);
            transform: translate(-50%, -50%) scale(0.72);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes race_cheer_one_shot_button_pop {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.72);
            transform: translate(-50%, -50%) scale(0.72);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }
}
@-webkit-keyframes race_cheer_one_shot_success_image_spread {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    opacity: 0.72;
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
  }
  100% {
    opacity: 0.46;
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
}
@keyframes race_cheer_one_shot_success_image_spread {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    opacity: 0.72;
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
  }
  100% {
    opacity: 0.46;
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
}
@-webkit-keyframes race_cheer_one_shot_rainbow_white_flash {
  0%, 18%, 38% {
    opacity: 0;
  }
  9%, 27%, 48% {
    opacity: 0.78;
  }
  58%, 100% {
    opacity: 0;
  }
}
@keyframes race_cheer_one_shot_rainbow_white_flash {
  0%, 18%, 38% {
    opacity: 0;
  }
  9%, 27%, 48% {
    opacity: 0.78;
  }
  58%, 100% {
    opacity: 0;
  }
}
@-webkit-keyframes race_cheer_one_shot_success_image_flash_rainbow {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  8% {
    opacity: 0.95;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  16% {
    opacity: 0.12;
    -webkit-transform: scale(1.025);
            transform: scale(1.025);
  }
  24% {
    opacity: 0.9;
    -webkit-transform: scale(1.025);
            transform: scale(1.025);
  }
  34% {
    opacity: 0.2;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
  46% {
    opacity: 0.86;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
  60% {
    opacity: 0.34;
    -webkit-transform: scale(1.035);
            transform: scale(1.035);
  }
  100% {
    opacity: 0.62;
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
@keyframes race_cheer_one_shot_success_image_flash_rainbow {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  8% {
    opacity: 0.95;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  16% {
    opacity: 0.12;
    -webkit-transform: scale(1.025);
            transform: scale(1.025);
  }
  24% {
    opacity: 0.9;
    -webkit-transform: scale(1.025);
            transform: scale(1.025);
  }
  34% {
    opacity: 0.2;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
  46% {
    opacity: 0.86;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
  60% {
    opacity: 0.34;
    -webkit-transform: scale(1.035);
            transform: scale(1.035);
  }
  100% {
    opacity: 0.62;
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
@-webkit-keyframes race_cheer_one_shot_rainbow_black_strobe {
  0%, 4%, 8%, 12%, 16%, 20%, 24%, 28%, 32%, 36%, 40%, 44%, 48%, 52%, 56%, 60%, 64%, 68%, 72%, 76%, 80%, 84%, 88%, 92%, 96% {
    opacity: 1;
    background-color: #000;
    background-image: none;
  }
  2%, 6%, 10%, 14%, 18%, 22%, 26%, 30%, 34%, 38%, 42%, 46%, 50%, 54%, 58%, 62%, 66%, 70%, 74%, 78%, 82%, 86%, 90%, 94%, 98% {
    opacity: 1;
    background-color: transparent;
    background-image: url("../images/bg_effect_rainbow.jpg?v=26072201");
  }
  100% {
    opacity: 0;
    background-color: #000;
    background-image: none;
  }
}
@keyframes race_cheer_one_shot_rainbow_black_strobe {
  0%, 4%, 8%, 12%, 16%, 20%, 24%, 28%, 32%, 36%, 40%, 44%, 48%, 52%, 56%, 60%, 64%, 68%, 72%, 76%, 80%, 84%, 88%, 92%, 96% {
    opacity: 1;
    background-color: #000;
    background-image: none;
  }
  2%, 6%, 10%, 14%, 18%, 22%, 26%, 30%, 34%, 38%, 42%, 46%, 50%, 54%, 58%, 62%, 66%, 70%, 74%, 78%, 82%, 86%, 90%, 94%, 98% {
    opacity: 1;
    background-color: transparent;
    background-image: url("../images/bg_effect_rainbow.jpg?v=26072201");
  }
  100% {
    opacity: 0;
    background-color: #000;
    background-image: none;
  }
}
@-webkit-keyframes race_cheer_one_shot_success_image_spread_rainbow {
  0% {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
    opacity: 0.62;
  }
  30% {
    opacity: 0.74;
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
  }
  100% {
    opacity: 0.58;
    -webkit-transform: scale(1.16);
            transform: scale(1.16);
  }
}
@keyframes race_cheer_one_shot_success_image_spread_rainbow {
  0% {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
    opacity: 0.62;
  }
  30% {
    opacity: 0.74;
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
  }
  100% {
    opacity: 0.58;
    -webkit-transform: scale(1.16);
            transform: scale(1.16);
  }
}
@-webkit-keyframes race_cheer_one_shot_success_screen_shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  25% {
    -webkit-transform: translate3d(-4px, 2px, 0);
            transform: translate3d(-4px, 2px, 0);
  }
  50% {
    -webkit-transform: translate3d(4px, -2px, 0);
            transform: translate3d(4px, -2px, 0);
  }
  75% {
    -webkit-transform: translate3d(-2px, 1px, 0);
            transform: translate3d(-2px, 1px, 0);
  }
}
@keyframes race_cheer_one_shot_success_screen_shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  25% {
    -webkit-transform: translate3d(-4px, 2px, 0);
            transform: translate3d(-4px, 2px, 0);
  }
  50% {
    -webkit-transform: translate3d(4px, -2px, 0);
            transform: translate3d(4px, -2px, 0);
  }
  75% {
    -webkit-transform: translate3d(-2px, 1px, 0);
            transform: translate3d(-2px, 1px, 0);
  }
}
@-webkit-keyframes race_cheer_one_shot_success_screen_shake_rainbow {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  16% {
    -webkit-transform: translate3d(-7px, 3px, 0);
            transform: translate3d(-7px, 3px, 0);
  }
  32% {
    -webkit-transform: translate3d(7px, -3px, 0);
            transform: translate3d(7px, -3px, 0);
  }
  50% {
    -webkit-transform: translate3d(-5px, 2px, 0);
            transform: translate3d(-5px, 2px, 0);
  }
  68% {
    -webkit-transform: translate3d(4px, -2px, 0);
            transform: translate3d(4px, -2px, 0);
  }
}
@keyframes race_cheer_one_shot_success_screen_shake_rainbow {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  16% {
    -webkit-transform: translate3d(-7px, 3px, 0);
            transform: translate3d(-7px, 3px, 0);
  }
  32% {
    -webkit-transform: translate3d(7px, -3px, 0);
            transform: translate3d(7px, -3px, 0);
  }
  50% {
    -webkit-transform: translate3d(-5px, 2px, 0);
            transform: translate3d(-5px, 2px, 0);
  }
  68% {
    -webkit-transform: translate3d(4px, -2px, 0);
            transform: translate3d(4px, -2px, 0);
  }
}
@-webkit-keyframes race_cheer_one_shot_overlay_fade_out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes race_cheer_one_shot_overlay_fade_out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes race_cheer_one_shot_blackout_fail {
  0% {
    opacity: 0;
  }
  35% {
    opacity: 0.82;
  }
  100% {
    opacity: 1;
  }
}
@keyframes race_cheer_one_shot_blackout_fail {
  0% {
    opacity: 0;
  }
  35% {
    opacity: 0.82;
  }
  100% {
    opacity: 1;
  }
}
@media (max-width: 1199px) {
  .race_cheer_one_shot_msg_ichigeki {
    top: clamp(38px, 5vh, 88px);
    width: clamp(300px, 38.4vw, 564px);
  }
  .race_cheer_one_shot_msg_kimero {
    bottom: calc(clamp(36px, 13vh, 92px) + clamp(69px, 9vw, 133px));
    width: clamp(348px, 45.6vw, 672px);
  }
  .race_cheer_one_shot_button {
    top: 46%;
    width: clamp(204px, 26.4vw, 336px);
  }
}
@media (max-width: 999px) {
  .race_cheer_one_shot_msg_ichigeki {
    top: clamp(30px, 3vh, 68px);
    width: clamp(276px, 50.4vw, 432px);
  }
  .race_cheer_one_shot_msg_kimero {
    bottom: calc(clamp(28px, 11vh, 68px) + clamp(64px, 11.85vw, 102px));
    width: clamp(324px, 60vw, 516px);
  }
  .race_cheer_one_shot_button {
    top: 45%;
    width: clamp(192px, 30vw, 288px);
  }
}
@media (min-width: 980px) {
  .race_cheer_one_shot_msg_ichigeki,
  .race_cheer_one_shot_msg_kimero {
    left: 50%;
    width: auto;
    max-width: none;
    height: 33.333333%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .race_cheer_one_shot_msg_ichigeki {
    top: 0;
    bottom: auto;
  }
  .race_cheer_one_shot_msg_kimero {
    top: 66.666667%;
    bottom: auto;
  }
  .race_cheer_one_shot_button {
    top: 33.333333%;
    bottom: auto;
    left: 50%;
    width: auto;
    max-width: none;
    height: 33.333333%;
    aspect-ratio: 1196/900;
    -webkit-transform: translateX(-50%) scale(0.72);
            transform: translateX(-50%) scale(0.72);
  }
  .race_cheer_one_shot_button img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .race_cheer_one_shot_overlay.is_show_ichigeki .race_cheer_one_shot_msg_ichigeki {
    -webkit-animation-name: race_cheer_one_shot_msg_from_left_pc;
            animation-name: race_cheer_one_shot_msg_from_left_pc;
  }
  .race_cheer_one_shot_overlay.is_show_kimero .race_cheer_one_shot_msg_kimero {
    -webkit-animation-name: race_cheer_one_shot_msg_from_right_pc;
            animation-name: race_cheer_one_shot_msg_from_right_pc;
  }
  .race_cheer_one_shot_overlay.is_show_button .race_cheer_one_shot_button {
    -webkit-animation-name: race_cheer_one_shot_button_pop_pc;
            animation-name: race_cheer_one_shot_button_pop_pc;
  }
  @-webkit-keyframes race_cheer_one_shot_msg_from_left_pc {
    0% {
      opacity: 0;
      -webkit-transform: translateX(34%) scale(1.02);
              transform: translateX(34%) scale(1.02);
    }
    12%, 100% {
      opacity: 1;
      -webkit-transform: translateX(-50%) scale(1);
              transform: translateX(-50%) scale(1);
    }
  }
  @keyframes race_cheer_one_shot_msg_from_left_pc {
    0% {
      opacity: 0;
      -webkit-transform: translateX(34%) scale(1.02);
              transform: translateX(34%) scale(1.02);
    }
    12%, 100% {
      opacity: 1;
      -webkit-transform: translateX(-50%) scale(1);
              transform: translateX(-50%) scale(1);
    }
  }
  @-webkit-keyframes race_cheer_one_shot_msg_from_right_pc {
    0% {
      opacity: 0;
      -webkit-transform: translateX(-134%) scale(1.02);
              transform: translateX(-134%) scale(1.02);
    }
    12%, 100% {
      opacity: 1;
      -webkit-transform: translateX(-50%) scale(1);
              transform: translateX(-50%) scale(1);
    }
  }
  @keyframes race_cheer_one_shot_msg_from_right_pc {
    0% {
      opacity: 0;
      -webkit-transform: translateX(-134%) scale(1.02);
              transform: translateX(-134%) scale(1.02);
    }
    12%, 100% {
      opacity: 1;
      -webkit-transform: translateX(-50%) scale(1);
              transform: translateX(-50%) scale(1);
    }
  }
  @-webkit-keyframes race_cheer_one_shot_button_pop_pc {
    from {
      opacity: 0;
      -webkit-transform: translateX(-50%) scale(0.72);
              transform: translateX(-50%) scale(0.72);
    }
    to {
      opacity: 1;
      -webkit-transform: translateX(-50%) scale(1);
              transform: translateX(-50%) scale(1);
    }
  }
  @keyframes race_cheer_one_shot_button_pop_pc {
    from {
      opacity: 0;
      -webkit-transform: translateX(-50%) scale(0.72);
              transform: translateX(-50%) scale(0.72);
    }
    to {
      opacity: 1;
      -webkit-transform: translateX(-50%) scale(1);
              transform: translateX(-50%) scale(1);
    }
  }
}
/* ------------------------------
 初回アクセス/リロード直後の全面ローディング
------------------------------ */
@-webkit-keyframes initial_loading_rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes initial_loading_rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.race_initial_loading_overlay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 99999;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  background-image: url("../images/loading_bg.webp?v=26072201");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease, visibility 0s linear 0.4s;
  transition: opacity 0.4s ease, visibility 0s linear 0.4s;
}

body.race_initial_loading .race_initial_loading_overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity 0.4s ease, visibility 0s linear 0s;
  transition: opacity 0.4s ease, visibility 0s linear 0s;
}

.race_initial_loading_inner {
  position: absolute;
  right: 40px;
  bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.race_initial_loading_inner p {
  color: #000;
  font-family: "clother", sans-serif;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
}

.race_initial_loading_horse_outer {
  position: relative;
  width: 96px;
  height: 72px;
}

.race_initial_loading_horse_scale {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 96px;
  height: 72px;
}

.race_initial_loading_horse_body {
  width: 72px;
  height: 72px;
  -webkit-animation: initial_loading_rotate 3s linear infinite;
          animation: initial_loading_rotate 3s linear infinite;
  will-change: transform;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.race_initial_loading_horse_sprite {
  width: 72px;
  height: 72px;
  background-image: url("../images/loading.webp?v=26072201");
  background-repeat: no-repeat;
  background-position: calc(50% + 1px) center;
  background-size: contain;
}

@media (max-width: 979px) {
  html {
    overflow: hidden;
    -ms-touch-action: manipulation;
        touch-action: manipulation;
  }
  .linklist .btn_bet_history {
    display: block;
    width: auto;
    margin: 0 0 10px 0;
  }
  .linklist .btn_bet_history + .btn_mypage {
    margin-left: 0;
  }
  .linklist .btn_bet_history.is_sp_moved {
    display: none;
  }
  .bet_dialog_overlay .app_modal_panel {
    zoom: 1.3;
  }
  .level_reward_mock_overlay .app_dialog_box {
    width: 600px;
    max-height: calc(100dvh - 28px);
  }
  .level_reward_mock_overlay .level_reward_level {
    font-family: "clother", sans-serif;
    padding-right: 5px;
    font-size: 40px;
    letter-spacing: 0;
  }
  .level_reward_mock_overlay .level_reward_amount {
    font-family: "clother", sans-serif;
    padding-right: 5px;
    font-size: 50px;
    letter-spacing: 0;
  }
  .level_reward_mock_overlay .level_reward_mock_body {
    padding: 28px 18px 18px;
  }
  .level_reward_mock_overlay .level_reward_mock_body h2 {
    font-size: 30px;
    line-height: 1.35;
  }
  .level_reward_mock_overlay.is_retroactive .level_reward_mock_body h2 {
    font-size: 21px;
  }
  .level_reward_mock_overlay .level_reward_mock_subtitle {
    margin-bottom: 8px !important;
    font-size: 24px !important;
  }
  .level_reward_mock_overlay .level_reward_mock_amount {
    font-size: 30px !important;
    line-height: 1.28 !important;
  }
  .level_reward_mock_overlay .app_dialog_actions {
    padding: 0 18px 24px;
  }
  .level_reward_mock_overlay .app_dialog_actions button {
    min-width: 150px;
    min-height: 46px;
    padding: 8px 26px;
    font-size: 16px;
  }
  .bet_dialog_overlay .bet_dialog_type_name {
    font-size: 28px;
  }
  .race_bet_history_overlay .race_bet_history_close {
    width: 68px;
    height: 68px;
  }
  .race_bet_history_overlay .race_bet_history_close img {
    width: 68px;
  }
  .race_main_header {
    padding: 0 0 10px;
  }
  .race_main_header .race_info {
    zoom: 1.4;
  }
  .race_main_header .time {
    zoom: 1.6;
    -webkit-transform: translateX(6px);
            transform: translateX(6px);
    padding-right: 5px;
  }
  .race_mypage_name {
    font-size: 22px !important;
  }
  .race_mypage_block_title img {
    width: 450px;
  }
  .race_mypage_medal_value {
    -ms-grid-column: 1;
    grid-column: 1;
    min-width: 0;
    color: #fff;
    font-family: "clother", sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
  }
  .race_mypage_medal_value span {
    letter-spacing: 0 !important;
  }
  main {
    overflow: hidden;
  }
  main .pc {
    display: none !important;
  }
  main .sp {
    display: block !important;
  }
  main .race_demo {
    padding: 40px 0;
  }
  main .race_demo .race_demo_inner {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  main .race_demo .race_demo_inner .horse_odds {
    top: -50px;
    font-size: 38px !important;
  }
  main .race_demo .race_demo_inner .race_frame {
    width: 100%;
    right: 0;
    left: 0;
  }
  main .race_demo .race_demo_inner .race_cheer_button {
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: 300px;
    -webkit-transform: translate(-160px, 40px);
            transform: translate(-160px, 40px);
  }
  main .race_demo .race_demo_inner .race_bottom_area {
    display: none;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
    padding: 12px 12px;
    width: calc(100% + 30px);
    margin: 35px -15px 0;
  }
  main .race_demo .race_demo_inner .race_entry_mini {
    display: block;
    background-image: url("../images/bg_shussouhyou_b.jpg?v=26072201");
    padding: 45px 50px;
    width: 740px;
    margin-left: 40px;
  }
  main .race_demo .race_demo_inner .entry_mini_col {
    width: 100%;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
  }
  main .race_demo .race_demo_inner .entry_mini_col + .entry_mini_col {
    margin-top: 6px;
  }
  main .race_demo .race_demo_inner .entry_mini_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5px;
  }
  main .race_demo .race_demo_inner .entry_mini_row:nth-child(even) {
    background-color: #222;
  }
  main .race_demo .race_demo_inner .entry_mini_no {
    display: -ms-inline-grid;
    display: inline-grid;
    place-items: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 50px;
    height: 50px;
    font-size: 44px;
    font-weight: 900;
    line-height: 1;
    font-family: "clother", sans-serif;
  }
  main .race_demo .race_demo_inner .entry_mini_no.number_white {
    background: rgba(255, 255, 255, 0.85);
    color: #111;
  }
  main .race_demo .race_demo_inner .entry_mini_no.number_black {
    background: #555;
    color: #fff;
  }
  main .race_demo .race_demo_inner .entry_mini_no.number_red {
    background: #e53935;
    color: #fff;
  }
  main .race_demo .race_demo_inner .entry_mini_no.number_blue {
    background: #1e88e5;
    color: #fff;
  }
  main .race_demo .race_demo_inner .entry_mini_no.number_yellow {
    background: #fdd835;
    color: #222;
  }
  main .race_demo .race_demo_inner .entry_mini_no.number_green {
    background: #43a047;
    color: #fff;
  }
  main .race_demo .race_demo_inner .entry_mini_no.number_orange {
    background: #fb8c00;
    color: #fff;
  }
  main .race_demo .race_demo_inner .entry_mini_no.number_purple {
    background: #ff4faf;
    color: #fff;
  }
  main .race_demo .race_demo_inner .entry_mini_name {
    font-size: 44px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
    white-space: nowrap;
    line-height: 1;
    padding-left: 15px;
    letter-spacing: 0;
  }
  main .race_demo .race_demo_inner .entry_mini_odds {
    font-size: 52px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.9);
    font-family: "clother", sans-serif;
    line-height: 1;
    letter-spacing: 0;
    margin-left: auto;
    text-align: right;
  }
  main .race_demo .race_demo_inner .entry_mini_odds.odds_table_low {
    color: #ff3838;
  }
  main .race_demo .race_demo_inner .entry_mini_odds.odds_table_mid {
    color: rgba(255, 255, 255, 0.9);
  }
  main .race_demo .race_demo_inner .entry_mini_odds.odds_table_high {
    color: #ffdc4a;
  }
  main .race_demo .race_demo_inner .race_result_demo {
    margin: -55px auto 0;
    padding: 0 18px 18px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_demo_header {
    display: none;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_demo_header h2 {
    color: #fff;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_demo_header .race_result_adjust_mark {
    display: none;
    margin-left: 8px;
    font-size: 24px;
    line-height: 1;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_demo_header .race_result_adjust_mark .race_result_adjust_star {
    color: #ff3838;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_demo_header .race_result_adjust_mark .race_result_late_fade_star {
    color: #ffdc4a;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_demo_header .race_result_adjust_mark .race_result_hold_fade_star {
    color: #3aa8ff;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_demo_body {
    display: block;
    margin-top: 14px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_left {
    background-image: url(../images/kakuteiban.png?v=26072201);
    background-size: 100% auto;
    background-position: top 0 center;
    background-repeat: no-repeat;
    position: fixed;
    top: 190px;
    right: 13px;
    z-index: 10;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_right {
    width: 75%;
    min-width: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_right .race_result_payouts,
  main .race_demo .race_demo_inner .race_result_demo .race_result_right .race_payout_ranking {
    zoom: 1.5;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_right .race_result_payouts .payout_horses {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 2px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_right .race_result_payouts .payout_arrow,
  main .race_demo .race_demo_inner .race_result_demo .race_result_right .race_result_payouts .payout_sep {
    padding: 0;
    font-size: 10px;
  }
  main .race_demo .race_demo_inner .race_result_demo .odds_demo_type {
    margin-top: 10px;
    color: #ffdc4a;
    font-size: 16px;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_places {
    min-height: 280px;
    margin-top: 0;
    overflow: visible;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board {
    position: relative;
    min-height: 280px;
    height: 600px;
    padding: 0 18px 16px 100px;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board_name {
    height: 70px;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    text-align: left;
    padding: 0 0 10px 0;
    margin: 0 -10px 13px -20px;
    width: calc(100% + 30px);
    display: block;
    line-height: 60px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board_list {
    display: -ms-grid;
    display: grid;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board_row {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 52px 12px 1fr;
    grid-template-columns: 52px 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 3px 0 3px 5px;
    color: #fff;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board_no {
    width: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 1px;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board_no .result_horse_no {
    width: 60px;
    height: 60px;
    font-size: 50px;
    line-height: 1;
    padding-left: 2px;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board_meta {
    display: -ms-grid;
    display: grid;
    gap: 4px;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board_odds {
    text-align: right;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_board_odds .result_odds_value {
    font-family: "clother", sans-serif;
    font-size: 48px;
    letter-spacing: -1px;
    text-align: right;
    line-height: 1;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table {
    width: 100%;
    border-collapse: collapse;
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table td {
    padding: 7px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    vertical-align: middle;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table tr {
    background: rgba(0, 0, 0, 0.42);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table tr:last-child td {
    border-bottom: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_top3 {
    background: linear-gradient(135deg, rgba(92, 62, 10, 0.72), rgba(28, 20, 10, 0.88));
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_top3 td {
    padding-top: 9px;
    padding-bottom: 9px;
    font-size: 22px;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_top3 .result_place_num {
    font-size: 36px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_top3 .result_place_suffix {
    font-size: 18px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_top3 .result_horse_no {
    width: 42px;
    height: 42px;
    font-size: 33px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_top3 .result_win_odds {
    font-size: 27px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_top3 .result_popularity_num {
    min-width: 30px;
    height: 30px;
    font-size: 24px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_top3 .result_popularity_suffix {
    font-size: 13px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table tr:nth-child(1) .result_place_num,
  main .race_demo .race_demo_inner .race_result_demo .race_result_table tr:nth-child(1) .result_place_suffix {
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table tr:nth-child(2) .result_place_num,
  main .race_demo .race_demo_inner .race_result_demo .race_result_table tr:nth-child(2) .result_place_suffix {
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table tr:nth-child(3) .result_place_num,
  main .race_demo .race_demo_inner .race_result_demo .race_result_table tr:nth-child(3) .result_place_suffix {
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_lower {
    background: rgba(0, 0, 0, 0.52);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_lower .result_place,
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_lower .result_name {
    color: rgba(255, 255, 255, 0.74);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_lower .result_place_num {
    font-size: 22px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_lower .result_place_suffix {
    font-size: 12px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_lower .result_win_odds {
    font-size: 18px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_lower .result_popularity_num {
    min-width: 24px;
    height: 24px;
    font-size: 19px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_table .is_lower .result_popularity_suffix {
    font-size: 11px;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_place {
    width: 70px;
    color: rgba(255, 255, 255, 0.88);
    white-space: nowrap;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_place_num {
    font-family: "clother", sans-serif;
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_place_suffix {
    margin-left: 2px;
    font-size: 15px;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_number {
    width: 56px;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_name {
    color: rgba(255, 255, 255, 0.88);
    font-size: 18px;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_win_odds {
    width: 120px;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
    font-family: "clother", sans-serif;
    letter-spacing: -1px;
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    text-align: right;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_popularity_cell {
    width: 82px;
    text-align: center;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_popularity {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 3px;
    white-space: nowrap;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_popularity_num {
    display: -ms-inline-grid;
    display: inline-grid;
    place-items: center;
    min-width: 28px;
    height: 28px;
    padding: 0 4px;
    background: #fff;
    color: #111;
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
    font-family: "clother", sans-serif;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_popularity_suffix {
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .place_badge {
    display: -ms-inline-grid;
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 20px;
    line-height: 1;
    font-weight: 900;
    font-family: "clother", sans-serif;
  }
  main .race_demo .race_demo_inner .race_result_demo .place_rank_1 {
    background: linear-gradient(135deg, #ffe680, #c99718);
    color: #111;
  }
  main .race_demo .race_demo_inner .race_result_demo .place_rank_2 {
    background: linear-gradient(135deg, #f4f6fb, #9ea6b4);
    color: #111;
  }
  main .race_demo .race_demo_inner .race_result_demo .place_rank_3 {
    background: linear-gradient(135deg, #f0b078, #9a5525);
    color: #111;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_payouts {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 12px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_space {
    min-height: 520px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking {
    display: none;
    margin-top: 0;
    margin-bottom: 14px;
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_inner {
    padding: 0;
    overflow: hidden;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_title {
    margin: 0 0 4px;
    color: #ffdc4a;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 900;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_title img {
    display: block;
    width: 390px;
    max-width: 100%;
    height: auto;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_list {
    display: -ms-grid;
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_item {
    display: -ms-grid;
    display: grid;
    position: relative;
    gap: 6px;
    padding: 28px 15px 10px 110px;
    font-weight: 900;
    background-size: 100% auto;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 1;
    margin-top: -5px;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-transition: opacity 40ms linear, -webkit-transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1);
    transition: opacity 40ms linear, -webkit-transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1);
    transition: transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1), opacity 40ms linear;
    transition: transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1), opacity 40ms linear, -webkit-transform 160ms cubic-bezier(0.12, 0.88, 0.22, 1);
    will-change: transform, opacity;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_item.is_waiting {
    opacity: 0;
    -webkit-transform: translateX(120%);
            transform: translateX(120%);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_item.is_cut_in {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_item.no_1 {
    padding: 27px 15px 7px 110px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_item.no_2 {
    padding: 27px 15px 5px 110px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_item.no_3 {
    margin-top: -10px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_labels {
    position: absolute;
    top: -5px;
    right: 16px;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 6px;
    max-width: calc(100% - 160px);
    pointer-events: none;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_label {
    display: inline-block;
    padding: 5px 12px 6px;
    border: 1px solid #d6a838;
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.02em;
    text-shadow: none;
    white-space: nowrap;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_label_text,
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_label_rank {
    background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
    background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.18);
    -webkit-animation: total_rainbow 2s linear infinite;
            animation: total_rainbow 2s linear infinite;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_label_text {
    font-size: 18px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_label_rank {
    display: inline-block;
    padding: 0 3px;
    font-family: "clother", sans-serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 0.82;
    vertical-align: -1px;
    letter-spacing: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_player {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 72px 7px minmax(0, 1fr);
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 7px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-width: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_c_payout_rank_icon {
    width: 72px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_texts {
    display: -ms-grid;
    display: grid;
    gap: 5px;
    min-width: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_meta,
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_main {
    display: -ms-grid;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_meta {
    -ms-grid-columns: auto 8px 1fr;
    grid-template-columns: auto 1fr;
    gap: 8px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_main {
    -ms-grid-columns: minmax(0, 1fr) 0 auto;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0;
    margin-top: -7px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.1;
    text-align: left;
    padding-right: 5px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_amount {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 3px;
    color: #fff;
    white-space: nowrap;
    text-align: right;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_amount_num {
    font-family: "clother", sans-serif;
    font-size: 40px;
    line-height: 1;
    letter-spacing: -1px;
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_amount_num.is_rainbow {
    background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
    background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    -webkit-animation: total_rainbow 2s linear infinite;
            animation: total_rainbow 2s linear infinite;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_amount_unit {
    font-size: 16px;
    font-weight: 500;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_region,
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_level {
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
    text-align: left;
    letter-spacing: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_level {
    color: #fff;
    font-family: "clother", sans-serif;
    padding-left: 5px;
    font-size: 22px !important;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
     -ms-text-size-adjust: 100%;
         text-size-adjust: 100%;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_region {
    display: inline-block;
    padding: 2px 6px 4px;
    background: #fff;
    color: #111;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_status {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    font-weight: 700;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_payout_ranking_status.is_error {
    color: #ffb3a8;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_total {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 8px;
    margin-top: 2px;
    padding: 14px 16px 12px;
    border-radius: 6px;
    border: 1px solid rgba(184, 132, 30, 0.38);
    background: linear-gradient(135deg, rgba(92, 62, 10, 0.56), rgba(22, 18, 12, 0.82));
    color: #d3a33a;
    text-align: right;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 223, 128, 0.12);
            box-shadow: inset 0 1px 0 rgba(255, 223, 128, 0.12);
  }
  main .race_demo .race_demo_inner .race_result_demo .total_label {
    color: rgba(255, 255, 255, 0.7);
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
    font-family: "clother", sans-serif;
    padding-right: 20px;
  }
  main .race_demo .race_demo_inner .race_result_demo .total_value {
    color: #d7a83c;
    font-size: 42px;
    line-height: 1;
    font-weight: 900;
    font-family: "clother", sans-serif;
    text-shadow: 0 2px 0 rgba(0, 0, 0, 0.42);
    letter-spacing: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .total_value.is_white {
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .total_value.is_yellow {
    color: #ffe84d;
    text-shadow: 0 2px 8px rgba(255, 220, 0, 0.4), 0 2px 0 rgba(0, 0, 0, 0.42);
  }
  main .race_demo .race_demo_inner .race_result_demo .total_value.is_rainbow {
    background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
    background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    -webkit-animation: total_rainbow 2s linear infinite;
            animation: total_rainbow 2s linear infinite;
  }
  main .race_demo .race_demo_inner .race_result_demo .total_unit {
    color: rgba(255, 255, 255, 0.82);
    font-size: 18px;
    font-weight: 500;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_payout_cap_notice {
    margin-top: 6px;
    text-align: right;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_boost_notice {
    margin-top: 6px;
    padding: 6px 10px;
    background: rgba(255, 176, 0, 0.12);
    border: 1px solid rgba(255, 176, 0, 0.35);
    border-radius: 4px;
    text-align: center;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_boost_notice .boost_notice_badge {
    display: block;
    font-size: 11px;
    font-weight: bold;
    color: #FFB400;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_boost_notice .boost_notice_label {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.85);
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_payout {
    position: relative;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 64px 5px minmax(0, 1fr);
    grid-template-columns: 64px minmax(0, 1fr);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5px;
    padding: 3px 12px;
    border-radius: 6px;
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_payout.is_stacked {
    -ms-grid-columns: 64px minmax(0, 1fr);
    grid-template-columns: 64px minmax(0, 1fr);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_payout.is_stacked .payout_detail_rows {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_payout.is_stacked .payout_detail_line {
    position: relative;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .race_result_payout.is_stacked .payout_horses {
    display: none;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_formula {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(7.5ch, 0.92fr) 12px minmax(8.5ch, 1fr) 12px minmax(12ch, 1.55fr);
    grid-template-columns: minmax(7.5ch, 0.92fr) 12px minmax(8.5ch, 1fr) 12px minmax(12ch, 1.55fr);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    min-width: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_formula .result_odds_value {
    font-family: "clother", sans-serif;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    font-weight: bold;
    white-space: nowrap;
    min-width: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_formula_sep {
    color: rgba(255, 255, 255, 0.38);
    font-size: 13px;
    font-weight: 500;
    text-align: center;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_bet {
    font-size: 34px;
    line-height: 1;
    font-weight: 500;
    font-family: "clother", sans-serif;
    letter-spacing: -1px;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    min-width: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_bet.is_active {
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_bet.is_zero {
    color: rgba(255, 255, 255, 0.22);
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_winnings {
    font-size: 34px;
    line-height: 1;
    font-weight: 700;
    font-family: "clother", sans-serif;
    letter-spacing: 0;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    min-width: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_winnings.is_zero {
    color: rgba(255, 255, 255, 0.22);
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_winnings.is_white {
    color: #fff;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_winnings.is_yellow {
    color: #ffe84d;
    text-shadow: 0 0 8px rgba(255, 220, 0, 0.4);
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_winnings.is_rainbow {
    background: -webkit-gradient(linear, left top, right top, from(#ff4d4d), color-stop(#ff8c00), color-stop(#ffe84d), color-stop(#44dd44), color-stop(#4488ff), color-stop(#cc44ff), to(#ff4d4d));
    background: linear-gradient(90deg, #ff4d4d, #ff8c00, #ffe84d, #44dd44, #4488ff, #cc44ff, #ff4d4d);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-animation: total_rainbow 2s linear infinite;
            animation: total_rainbow 2s linear infinite;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_name {
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    width: 70px;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_horses {
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4px;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 28px;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_arrow,
  main .race_demo .race_demo_inner .race_result_demo .payout_sep {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    padding: 0 5px;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_odds {
    color: #fff;
    font-size: 26px;
    line-height: 1;
    font-weight: 900;
    font-family: "clother", sans-serif;
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    text-align: right;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_odds .payout_line {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  main .race_demo .race_demo_inner .race_result_demo .payout_bet_placeholder {
    min-width: 126px;
    color: rgba(255, 255, 255, 0.16);
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
    font-family: "clother", sans-serif;
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    text-align: right;
    white-space: nowrap;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_odds_value {
    color: #fff;
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    letter-spacing: 0;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_odds_low {
    color: #ff3838;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_odds_high {
    color: #ffdc4a;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no {
    display: -ms-inline-grid;
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 0;
    background: var(--number-bg);
    color: #fff;
    font-size: 21px;
    line-height: 1;
    font-weight: 900;
    font-family: "clother", sans-serif;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no.number_white {
    --number-bg: #fff;
    color: #111;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no.number_black {
    --number-bg: #222;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no.number_red {
    --number-bg: #e53935;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no.number_blue {
    --number-bg: #1e88e5;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no.number_yellow {
    --number-bg: #fdd835;
    color: #111;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no.number_green {
    --number-bg: #43a047;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no.number_orange {
    --number-bg: #fb8c00;
  }
  main .race_demo .race_demo_inner .race_result_demo .result_horse_no.number_purple {
    --number-bg: #ff4faf;
  }
  main .race_demo .odds_demo {
    width: 100%;
    margin: -60px auto 0;
    position: relative;
  }
  main .race_demo .odds_demo .odds_demo_contents {
    display: block;
  }
  main .race_demo .odds_demo .odds_demo_contents .odds_demo_left {
    zoom: 1.54;
    display: block !important;
    margin: 0 auto !important;
  }
  main .race_demo .odds_demo .odds_demo_contents .odds_demo_right {
    display: none;
    position: static;
    width: 216px;
    height: auto;
    zoom: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-image: url(../images/bg_baken_area.jpg?v=26072201);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    padding-top: 17px;
    padding-bottom: 20px;
    margin: 0;
  }
  main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .purchase_history_ttl {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 22px;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 20px;
    color: #ffd400;
    letter-spacing: 3px;
  }
  main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-height: 0;
    overflow-y: auto;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -ms-scroll-chaining: none;
        overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding: 0 20px 8px;
  }
  main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards .bet_card {
    width: 100%;
    min-width: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    cursor: pointer;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
  }
  main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards .purchased_card_delete {
    position: absolute;
    top: 8px;
    right: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px;
    line-height: 1;
    z-index: 1;
  }
  main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards .purchased_card_delete img {
    display: block;
    width: 18px;
    height: 18px;
    opacity: 0.85;
  }
  main .race_demo .odds_demo .odds_demo_contents .odds_demo_right .right_panel_cards .purchased_card_delete:hover img {
    opacity: 1;
  }
  main .race_demo .odds_demo .odds_table {
    width: 100% !important;
    table-layout: fixed;
  }
  main .race_demo .odds_demo .odds_table .entry_marks_view[data-entry-mode=comment] .entry_comment {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    font-size: 20px;
    letter-spacing: -1.5px;
    font-weight: bold;
  }
  main .race_demo .odds_demo .odds_table thead th,
  main .race_demo .odds_demo .odds_table thead td {
    text-align: center !important;
    font-size: 18px;
    height: auto;
  }
  main .race_demo .odds_demo .odds_table tr:last-child th,
  main .race_demo .odds_demo .odds_table tr:last-child td {
    padding-bottom: 6px;
  }
  main .race_demo .odds_demo .odds_table th,
  main .race_demo .odds_demo .odds_table td {
    padding: 2px 10px;
  }
  main .race_demo .odds_demo .odds_table th {
    padding: 8px 0;
  }
  main .race_demo .odds_demo .odds_table th {
    font-size: 14px;
  }
  main .race_demo .odds_demo .odds_table .entry_win_odds {
    padding: 2px 8px 2px 0;
    font-size: 34px !important;
    line-height: 1;
    text-align: right !important;
  }
  main .race_demo .odds_demo .odds_table .entry_condition_cell {
    padding: 2px 0;
  }
  main .race_demo .odds_demo .odds_table .entry_popularity_num {
    width: 29px;
    height: 29px;
    font-size: 26px !important;
    letter-spacing: 0 !important;
    padding-bottom: 2px;
  }
  main .race_demo .odds_demo .odds_table .entry_popularity_suffix {
    display: none;
  }
  main .race_demo .odds_demo .odds_table .entry_sex {
    padding: 2px 4px !important;
    font-size: 11px;
    line-height: 1;
    margin-top: -3px;
  }
  main .race_demo .odds_demo .odds_table .running_style_indicator {
    margin-top: -3px;
  }
  main .race_demo .odds_demo .odds_table .result_horse_no {
    width: 40px;
    height: 40px;
    padding-bottom: 5px;
    padding-left: 3px;
  }
  main .race_demo .odds_demo .odds_table .bet_btn {
    padding: 12px 0 1px;
  }
  main .race_demo .odds_demo .odds_table .bet_btn .bet_btn_count {
    font-family: "clother", sans-serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
    margin-top: 1px;
    overflow: hidden;
    white-space: nowrap;
    min-width: 0;
  }
  main .race_demo .odds_demo .odds_table .bet_btn .bet_btn_count.is_zero {
    color: rgba(255, 255, 255, 0.28);
  }
  main .race_demo .odds_demo .odds_table tr:last-child td {
    border-bottom: 0;
  }
  main .race_demo .odds_demo.mode_formation .odds_table .col_formation {
    display: table-cell;
  }
  main .race_demo .odds_demo.mode_formation .odds_table .col_win_place {
    display: none;
  }
  main .race_demo .odds_demo.mode_formation .odds_table .col_entry_info {
    width: 132px;
  }
  main .race_demo .odds_demo.mode_formation .formation_controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  main .race_demo .odds_demo.mode_formation .formation_cards_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 20px 0 0;
  }
  main .race_demo .odds_demo.mode_box .odds_table .entry_box_cell {
    display: table-cell;
  }
  main .race_demo .odds_demo.mode_box .odds_table .col_win_place {
    display: none;
  }
  main .race_demo .odds_demo.mode_box .odds_table .col_entry_info {
    width: 132px;
  }
  main .race_demo .odds_demo.mode_box .odds_table .col_formation {
    display: table-cell;
    width: 56px;
  }
  main .race_demo .odds_demo.mode_box .odds_table .box_btn {
    width: 100%;
  }
  main .race_demo .odds_demo.mode_box .box_controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  main .race_demo .odds_demo.mode_box .box_cards_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 20px 0;
  }
  main .race_demo .odds_demo .bet_mode_area .bet_unit_area {
    position: absolute;
    left: 12px;
    bottom: 12px;
    top: auto;
    right: auto;
    width: 216px;
    z-index: 5;
  }
  main .race_demo .odds_demo .bet_mode_area .bet_unit_area #betUnitBtn {
    display: block;
    width: 100%;
    background-color: transparent;
    background-image: url(../images/bg_btn_change.png?v=26072201);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    color: #000;
    border: none;
    border-radius: 6px;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 12px 12px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-transition: -webkit-transform 0.07s;
    transition: -webkit-transform 0.07s;
    transition: transform 0.07s;
    transition: transform 0.07s, -webkit-transform 0.07s;
  }
  main .race_demo .odds_demo .bet_mode_area .bet_unit_area #betUnitBtn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  main .race_demo .odds_demo .bet_mode_area .bet_unit_area .bet_unit_num {
    display: block;
    width: 100%;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
    font-family: "clother", sans-serif;
    letter-spacing: 0;
    color: #fff;
  }
  main .race_demo .odds_demo .bet_mode_area .bet_unit_area .bet_unit_label {
    display: block;
    width: 100%;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: 3px;
    color: #fff;
  }
  main .race_demo .odds_demo .formation_controls {
    display: none;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    padding: 5px 0 4px;
  }
  main .race_demo .odds_demo .formation_controls .formation_type_panel {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 5px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 0 8px 0 10px;
    position: relative;
    z-index: 10;
  }
  main .race_demo .odds_demo .formation_controls .formation_type_btn {
    width: auto;
    padding: 3px 13px 6px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    white-space: nowrap;
    -webkit-transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.07s, box-shadow 0.07s;
    transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  }
  main .race_demo .odds_demo .formation_controls .formation_type_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: 0 0 0 transparent;
            box-shadow: 0 0 0 transparent;
  }
  main .race_demo .odds_demo .formation_controls .formation_type_btn.is_selected {
    color: #000;
    -webkit-box-shadow: 0 3px 0 #8a6800;
            box-shadow: 0 3px 0 #8a6800;
  }
  main .race_demo .odds_demo .formation_controls .formation_place_panel {
    width: 216px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    -webkit-transform: translateY(-73px);
            transform: translateY(-73px);
    height: 0;
  }
  main .race_demo .odds_demo .formation_controls .formation_place_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
  }
  main .race_demo .odds_demo .formation_controls .formation_place_col {
    display: block;
    width: calc((100% - 12px) / 3);
  }
  main .race_demo .odds_demo .formation_controls .formation_place_label {
    font-size: 12px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1;
  }
  main .race_demo .odds_demo .formation_controls .formation_all_btn {
    width: 100%;
    padding: 5px 4px;
    border: none;
    border-radius: 4px;
    background: #fff;
    color: #111;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
            box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
    -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  }
  main .race_demo .odds_demo .formation_controls .formation_all_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: 0 0 0 transparent;
            box-shadow: 0 0 0 transparent;
  }
  main .race_demo .odds_demo .formation_controls .formation_reset_btn {
    width: 100%;
    padding: 7px 4px;
    border: none;
    border-radius: 4px;
    background: #DE3631;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-box-shadow: 0 3px 0 #A02623;
            box-shadow: 0 3px 0 #A02623;
    margin-top: 5px;
    -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  }
  main .race_demo .odds_demo .formation_controls .formation_reset_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: 0 0 0 transparent;
            box-shadow: 0 0 0 transparent;
  }
  main .race_demo .odds_demo .box_controls {
    display: none;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    padding: 5px 0 4px;
  }
  main .race_demo .odds_demo .box_controls .box_type_panel {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 5px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 0 8px 0 10px;
  }
  main .race_demo .odds_demo .box_controls .box_type_btn {
    width: auto;
    padding: 3px 13px 6px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    white-space: nowrap;
    -webkit-transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.07s, box-shadow 0.07s;
    transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  }
  main .race_demo .odds_demo .box_controls .box_type_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: 0 0 0 transparent;
            box-shadow: 0 0 0 transparent;
  }
  main .race_demo .odds_demo .box_controls .box_type_btn.is_selected {
    color: #000;
    -webkit-box-shadow: 0 3px 0 #8a6800;
            box-shadow: 0 3px 0 #8a6800;
  }
  main .race_demo .odds_demo .box_controls .box_action_panel {
    width: 216px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0 8px 4px;
    -webkit-transform: translateY(-73px);
            transform: translateY(-73px);
  }
  main .race_demo .odds_demo .box_controls .box_action_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
  }
  main .race_demo .odds_demo .box_controls .box_all_btn {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 5px 4px;
    border: none;
    border-radius: 4px;
    background: #fff;
    color: #111;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
            box-shadow: 0 3px 0 rgba(0, 0, 0, 0.28);
    -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  }
  main .race_demo .odds_demo .box_controls .box_all_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: 0 0 0 transparent;
            box-shadow: 0 0 0 transparent;
  }
  main .race_demo .odds_demo .box_controls .box_reset_btn {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 7px 4px;
    border: none;
    border-radius: 4px;
    background: #DE3631;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-box-shadow: 0 3px 0 #A02623;
            box-shadow: 0 3px 0 #A02623;
    -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  }
  main .race_demo .odds_demo .box_controls .box_reset_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: 0 0 0 transparent;
            box-shadow: 0 0 0 transparent;
  }
  main .race_demo .odds_demo .formation_cards_area {
    display: none;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    position: relative;
    width: 75%;
    max-width: 75%;
  }
  main .race_demo .odds_demo .box_cards_area {
    display: none;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 75%;
    max-width: 75%;
  }
  main .race_demo .odds_demo .formation_cards_scroll {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    padding: 0 20px 5px 10px;
    -webkit-overflow-scrolling: touch;
    margin-top: -10px;
  }
  main .race_demo .odds_demo .formation_purchase_area {
    width: 216px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-transform: translateY(-58px);
            transform: translateY(-58px);
  }
  main .race_demo .odds_demo .formation_purchase_history_btn {
    display: none;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 10px 0;
    background: #0D94EC;
    color: #fff;
    border: none;
    font-size: 18px;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    letter-spacing: 0.05em;
    -webkit-box-shadow: 0 3px 0 #0973B7;
            box-shadow: 0 3px 0 #0973B7;
    -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  }
  main .race_demo .odds_demo .formation_purchase_history_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: 0 0 0 transparent;
            box-shadow: 0 0 0 transparent;
  }
  main .race_demo .odds_demo .formation_purchase_history_btn {
    position: absolute;
    top: 100px;
    right: 0;
    left: 0;
  }
  main .race_demo .odds_demo .formation_cards {
    padding-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 15px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
  }
  main .race_demo .odds_demo .box_cards_scroll {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    padding: 0 20px 12px 10px;
    -webkit-overflow-scrolling: touch;
    margin-top: -10px;
  }
  main .race_demo .odds_demo .box_purchase_area {
    width: 216px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  main .race_demo .odds_demo .box_purchase_history_btn {
    display: none;
    margin-top: 10px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 10px 0;
    background: #0D94EC;
    color: #fff;
    border: none;
    font-size: 18px;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    letter-spacing: 0.05em;
    -webkit-box-shadow: 0 3px 0 #0973B7;
            box-shadow: 0 3px 0 #0973B7;
    -webkit-transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s;
    transition: transform 0.07s, box-shadow 0.07s, -webkit-transform 0.07s, -webkit-box-shadow 0.07s;
  }
  main .race_demo .odds_demo .box_purchase_history_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: 0 0 0 transparent;
            box-shadow: 0 0 0 transparent;
  }
  main .race_demo .odds_demo .box_cards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card,
  main .race_demo .odds_demo .box_cards_area .bet_card {
    padding: 12px 20px;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_selections,
  main .race_demo .odds_demo .box_cards_area .bet_card_selections {
    display: none;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_type,
  main .race_demo .odds_demo .box_cards_area .bet_card_type {
    font-size: 24px;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    color: #FFDC4A;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_odds,
  main .race_demo .odds_demo .box_cards_area .bet_card_odds {
    font-size: 24px;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_count,
  main .race_demo .odds_demo .box_cards_area .bet_card_count {
    font-size: 28px;
    color: #FFDC4A;
    border-top: 1px solid #fff;
    display: block;
    width: 100%;
    margin-top: 5px;
    padding-top: 10px;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_bet,
  main .race_demo .odds_demo .box_cards_area .bet_card_bet {
    font-size: 28px;
    color: #FFDC4A;
    text-align: right;
    display: block;
    width: 100%;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_unit,
  main .race_demo .odds_demo .box_cards_area .bet_card_unit {
    font-size: 18px;
    color: #FFDC4A;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_odds_min,
  main .race_demo .odds_demo .formation_cards_area .bet_card_odds_max,
  main .race_demo .odds_demo .box_cards_area .bet_card_odds_min,
  main .race_demo .odds_demo .box_cards_area .bet_card_odds_max {
    display: block;
    padding-left: 20px;
    font-weight: bold;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_odds_max,
  main .race_demo .odds_demo .box_cards_area .bet_card_odds_max {
    text-align: right;
    padding-right: 20px;
    font-weight: bold;
  }
  main .race_demo .odds_demo .formation_cards_area .bet_card_summary,
  main .race_demo .odds_demo .box_cards_area .bet_card_summary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  main .race_demo .odds_demo .bet_tabs {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4px;
    padding: 10px 2px 0;
    width: calc(100% - 210px);
    position: relative;
    z-index: 10;
    align-items: flex-start;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab {
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: 0 0 6px 6px;
    overflow: hidden;
    padding-bottom: 10px;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab.bet_tab_1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab.bet_tab_2 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab.bet_tab_3 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab button {
    display: block;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    height: auto;
    padding: 0;
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    color: #fff;
    border: none;
    border-radius: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    cursor: pointer;
    -webkit-transition: color 0.1s;
    transition: color 0.1s;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    border-radius: 6px;
    -webkit-transition: -webkit-transform 0.07s;
    transition: -webkit-transform 0.07s;
    transition: transform 0.07s;
    transition: transform 0.07s, -webkit-transform 0.07s;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab button:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab button picture {
    display: block;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab button img {
    display: block;
    width: auto;
    height: 60px;
    -o-object-fit: contain;
       object-fit: contain;
    -webkit-filter: brightness(0.68);
            filter: brightness(0.68);
    pointer-events: none;
    -webkit-transition: -webkit-filter 0.16s ease;
    transition: -webkit-filter 0.16s ease;
    transition: filter 0.16s ease;
    transition: filter 0.16s ease, -webkit-filter 0.16s ease;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab.is_active button {
    padding: 0;
  }
  main .race_demo .odds_demo .bet_tabs .bet_tab.is_active button img {
    -webkit-filter: brightness(1.24) drop-shadow(0 0 8px rgba(255, 255, 255, 0.38));
            filter: brightness(1.24) drop-shadow(0 0 8px rgba(255, 255, 255, 0.38));
  }
  #betUnitBtn {
    width: 100% !important;
    margin: 0 !important;
    position: static;
    background-size: 100% 100% !important;
  }
  .formation_purchase_btn_bet {
    font-size: 38px !important;
  }
  .formation_purchase_btn_total_num {
    font-size: 30px !important;
    letter-spacing: -2px !important;
  }
  .formation_purchase_btn_total_label {
    position: absolute;
    bottom: 15px;
    left: 15px;
    font-size: 24px !important;
  }
  .sp_bet_fixed_actions {
    position: fixed;
    left: calc(12px + env(safe-area-inset-left));
    bottom: calc(8px + env(safe-area-inset-bottom));
    top: auto;
    right: auto;
    z-index: 12000;
    width: 216px;
    zoom: 1.155;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7px;
    -webkit-transition: opacity 0.22s ease, -webkit-transform 0.22s ease;
    transition: opacity 0.22s ease, -webkit-transform 0.22s ease;
    transition: opacity 0.22s ease, transform 0.22s ease;
    transition: opacity 0.22s ease, transform 0.22s ease, -webkit-transform 0.22s ease;
  }
  .sp_bet_fixed_actions #betHistoryOpenBtn {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    width: 100% !important;
    height: 65px;
    min-height: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 4px 0 8px !important;
    border: none !important;
    border-radius: 6px !important;
    background: transparent !important;
    background-image: url(../images/bg_btn_history.png?v=26072201) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    -webkit-filter: none !important;
            filter: none !important;
  }
  .sp_bet_fixed_actions #betHistoryOpenBtn .bet_history_btn_label {
    font-family: inherit;
    color: #fff;
    font-size: 28px;
  }
  .sp_bet_fixed_actions #betHistoryOpenBtn .bet_history_badge {
    position: absolute;
    top: -8px;
    right: -8px;
    margin-left: 0;
    z-index: 2;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border-radius: 999px;
    background: #ffe600;
    color: #111;
    font-size: 24px;
    font-weight: 900;
    line-height: 36px;
  }
  .sp_bet_fixed_actions #betHistoryOpenBtn .bet_history_badge.is_bumped {
    -webkit-animation: sp_bet_history_badge_pop 0.34s ease-out;
            animation: sp_bet_history_badge_pop 0.34s ease-out;
  }
  @-webkit-keyframes sp_bet_history_badge_pop {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1);
      background: #ffe600;
      color: #111;
    }
    35% {
      -webkit-transform: scale(1.55);
              transform: scale(1.55);
      background: #f00;
      color: #fff;
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
      background: #ffe600;
      color: #111;
    }
  }
  @keyframes sp_bet_history_badge_pop {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1);
      background: #ffe600;
      color: #111;
    }
    35% {
      -webkit-transform: scale(1.55);
              transform: scale(1.55);
      background: #f00;
      color: #fff;
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
      background: #ffe600;
      color: #111;
    }
  }
  .bet_unit_area.is_fixed_sp {
    position: static;
    width: 216px;
  }
  .bet_unit_area.is_fixed_sp #betUnitBtn {
    display: block;
    width: 100%;
    background-color: transparent;
    background-image: url(../images/bg_btn_change.png?v=26072201);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    color: #000;
    border: none;
    border-radius: 6px;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 8px 12px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-transition: -webkit-transform 0.07s;
    transition: -webkit-transform 0.07s;
    transition: transform 0.07s;
    transition: transform 0.07s, -webkit-transform 0.07s;
  }
  .bet_unit_area.is_fixed_sp #betUnitBtn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .bet_unit_area.is_fixed_sp .bet_unit_num {
    display: block;
    width: 100%;
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    font-family: "clother", sans-serif;
    letter-spacing: 0;
    color: #fff;
  }
  .bet_unit_area.is_fixed_sp .bet_unit_label {
    display: block;
    width: 100%;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: 3px;
    color: #fff;
  }
  body.is_bet_login_required .bet_unit_area.is_fixed_sp #betUnitBtn {
    pointer-events: none;
    opacity: 0.4;
  }
  .sp_box_purchase_fixed {
    position: fixed;
    right: 220px;
    bottom: 93px;
    z-index: 12000;
    -webkit-transition: opacity 0.22s ease, -webkit-transform 0.22s ease;
    transition: opacity 0.22s ease, -webkit-transform 0.22s ease;
    transition: opacity 0.22s ease, transform 0.22s ease;
    transition: opacity 0.22s ease, transform 0.22s ease, -webkit-transform 0.22s ease;
  }
  body.is_betting_locked .bet_unit_area.is_fixed_sp,
  body.is_betting_locked .sp_box_purchase_fixed,
  body.is_betting_locked .box_purchase_area.is_fixed_sp_purchase,
  body.is_betting_locked .formation_purchase_area.is_fixed_sp_purchase {
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  body.is_betting_locked .race_bet_history_overlay .purchased_card_delete {
    display: none !important;
    pointer-events: none;
  }
  .box_purchase_area.is_fixed_sp_purchase,
  .formation_purchase_area.is_fixed_sp_purchase {
    position: static;
    width: 216px;
    zoom: 1.155;
  }
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn {
    position: relative;
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    width: 100%;
    height: 90px;
    aspect-ratio: 1000/316;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    padding: 10px;
    border: none;
    background-color: transparent;
    background-image: url(../images/btn_purchase.png?v=26072201);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-transition: -webkit-transform 0.07s;
    transition: -webkit-transform 0.07s;
    transition: transform 0.07s;
    transition: transform 0.07s, -webkit-transform 0.07s;
  }
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn:active,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn:active,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn:active,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn:active {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_text,
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_text,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_text,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_text,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_text,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_text,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_text,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 1.05;
    letter-spacing: 0 !important;
    pointer-events: none;
    color: #000;
    text-shadow: 1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff, 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
  }
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_total,
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_total,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_total,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_total,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_total,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_total,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_total,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_total {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2px;
    white-space: nowrap;
  }
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_total_label,
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_total_label,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_total_label,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_total_label,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_total_label,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_total_label,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_total_label,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_total_label {
    font-size: 14px;
    font-weight: 500;
    display: none;
  }
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_total_num,
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_total_num,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_total_num,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_total_num,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_total_num,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_total_num,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_total_num,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_total_num {
    font-size: 30px;
    font-weight: 500;
    font-family: "clother", sans-serif;
    letter-spacing: -1px;
    font-weight: bold;
  }
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_bet,
  .box_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_bet,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_bet,
  .box_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_bet,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .box_purchase_btn_bet,
  .formation_purchase_area.is_fixed_sp_purchase .box_purchase_btn .formation_purchase_btn_bet,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .box_purchase_btn_bet,
  .formation_purchase_area.is_fixed_sp_purchase .formation_purchase_btn .formation_purchase_btn_bet {
    padding-top: 1px;
    font-size: 36px;
    font-weight: 900;
    letter-spacing: 1px;
  }
  .race_main_footer {
    position: relative;
    z-index: 12000;
  }
  .race_main_footer .linklist {
    width: 200px;
    position: fixed;
    bottom: 103px;
    right: 12px;
    left: auto;
    zoom: 1;
  }
  .race_main_footer .linklist li {
    width: 100%;
    display: block;
  }
  .race_main_footer .linklist li + li {
    margin: 8px 0 0 0;
  }
  .race_main_footer .bet_credit {
    padding: 5px 0 12px;
    right: 8px;
    bottom: 8px;
    zoom: 1.32;
    background-size: 100% 100% !important;
  }
  .race_main_footer .bet_credit .bet {
    width: calc(50% - 20px);
    display: block;
  }
  .race_main_footer .bet_credit .bet dd {
    text-align: right;
    color: #fff;
    font-size: 26px;
    letter-spacing: 0;
    font-family: "clother", sans-serif;
    padding-right: 20px;
  }
  .race_main_footer .bet_credit .credit {
    width: calc(50% - 20px);
    display: block;
  }
  .race_main_footer .bet_credit .credit dd {
    text-align: right;
    color: #fff;
    font-size: 26px;
    letter-spacing: 0;
    font-family: "clother", sans-serif;
    padding-right: 15px;
  }
  .icon_volume_btn {
    width: 80px;
    height: 80px;
    border-radius: 80px;
    display: block;
    padding: 14px;
    position: fixed;
    bottom: 420px;
    left: auto;
    right: 10px;
    zoom: 1;
    border: 2px solid #CA861C;
  }
  .icon_volume_btn::after {
    width: 100%;
  }
  .race_zoom_ui {
    display: none;
  }
}
@media (max-width: 979px) and (hover: none) and (pointer: coarse) {
  html {
    -webkit-user-select: none;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
    -webkit-touch-callout: none;
  }
  html input,
  html textarea {
    -webkit-user-select: text;
    -moz-user-select: text;
     -ms-user-select: text;
         user-select: text;
    -webkit-touch-callout: default;
  }
  .race_ranking_overlay .app_modal_panel,
  .race_mypage_overlay .app_modal_panel,
  .race_stable_overlay .app_modal_panel {
    width: calc(100% - 80px);
    max-width: none;
    height: calc(100dvh - 80px);
    min-height: 0;
    max-height: calc(100dvh - 80px);
    overflow: hidden;
    padding: 46px 38px 49px;
  }
  .race_ranking_overlay .app_modal_close,
  .race_mypage_overlay .app_modal_close,
  .race_stable_overlay .app_modal_close {
    top: 50px;
    right: 35px;
    width: 60px;
    height: 60px;
  }
  .race_ranking_overlay .app_modal_close img,
  .race_mypage_overlay .app_modal_close img,
  .race_stable_overlay .app_modal_close img {
    width: 60px;
  }
  .race_ranking_overlay .app_modal_head,
  .race_mypage_overlay .app_modal_head,
  .race_stable_overlay .app_modal_head {
    margin-top: 0;
    margin-bottom: 14px;
  }
  .race_ranking_overlay .app_modal_head img,
  .race_mypage_overlay .app_modal_head img,
  .race_stable_overlay .app_modal_head img {
    width: 438px;
  }
  .race_ranking_overlay .app_modal_head .race_ranking_title_image img,
  .race_ranking_overlay .app_modal_head .race_mypage_title_image img,
  .race_ranking_overlay .app_modal_head .race_stable_title_image img,
  .race_mypage_overlay .app_modal_head .race_ranking_title_image img,
  .race_mypage_overlay .app_modal_head .race_mypage_title_image img,
  .race_mypage_overlay .app_modal_head .race_stable_title_image img,
  .race_stable_overlay .app_modal_head .race_ranking_title_image img,
  .race_stable_overlay .app_modal_head .race_mypage_title_image img,
  .race_stable_overlay .app_modal_head .race_stable_title_image img {
    width: 438px;
    max-width: 100%;
    height: auto;
  }
  .race_ranking_overlay .app_modal_body,
  .race_mypage_overlay .app_modal_body,
  .race_stable_overlay .app_modal_body {
    min-height: 0;
    -ms-scroll-chaining: none;
        overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .race_ranking_overlay .race_ranking_body {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-height: 0;
  }
  .race_ranking_overlay .race_ranking_list {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    height: auto;
    min-height: 0;
    max-height: none;
    -ms-scroll-chaining: none;
        overscroll-behavior: contain;
  }
  .race_ranking_overlay .race_ranking_tab {
    min-width: 158px;
    padding: 20px 60px 20px 65px;
    font-size: 34px;
  }
  .race_ranking_overlay .race_ranking_period_tabs .race_ranking_tab {
    padding: 20px 30px 20px 35px;
  }
  .race_ranking_overlay .race_ranking_status {
    min-height: 38px;
    font-size: 26px;
  }
  .race_ranking_overlay .race_ranking_header {
    min-height: 38px;
    padding: 0 14px 11px;
    font-size: 20px;
  }
  .race_ranking_overlay .race_ranking_race,
  .race_ranking_overlay .race_ranking_head_cell:last-child {
    display: none;
  }
  .race_ranking_overlay .race_ranking_odds .race_ranking_num,
  .race_ranking_overlay .race_ranking_amount .race_ranking_num {
    font-size: 40px;
  }
  .race_ranking_overlay .race_ranking_text {
    font-size: 28px;
  }
  .race_ranking_overlay .race_ranking_item {
    min-height: 44px;
    padding: 12px 14px;
  }
  .race_ranking_overlay .race_ranking_date {
    font-size: 25px;
  }
  .race_ranking_overlay .race_ranking_rank .race_ranking_num {
    font-size: 30px;
  }
  .race_ranking_overlay .race_ranking_unit {
    font-size: 14px;
  }
  .race_ranking_overlay .race_ranking_selection_num {
    font-size: 23px;
  }
  .race_stable_overlay .race_stable_label {
    font-size: 28px;
  }
  .race_stable_overlay .race_stable_applied,
  .race_stable_overlay .race_stable_name_note,
  .race_stable_overlay .race_stable_coming_soon {
    font-size: 18px;
  }
  .race_stable_overlay .race_stable_name_input,
  .race_stable_overlay .race_stable_name_display {
    padding: 18px 20px;
    font-size: 26px;
  }
  .race_stable_overlay .race_stable_options {
    gap: 10px;
  }
  .race_stable_overlay .race_stable_option_label {
    padding: 5px 12px;
    font-size: 18px;
  }
  .race_stable_overlay .race_stable_coming_soon {
    padding: 20px 24px;
  }
  .race_stable_overlay .race_stable_save_btn {
    min-width: 360px;
    padding: 22px 36px;
    font-size: 28px;
  }
  .race_mypage_overlay .race_mypage_profile {
    gap: 16px;
  }
  .race_mypage_overlay .race_mypage_user {
    gap: 10px 18px;
    padding: 30px 34px;
  }
  .race_mypage_overlay .race_mypage_user_icon {
    width: 150px;
  }
  .race_mypage_overlay .race_mypage_region {
    font-size: 32px;
  }
  .race_mypage_overlay .race_mypage_name {
    font-size: 38px !important;
  }
  .race_mypage_overlay .race_mypage_level {
    font-size: 52px;
  }
  .race_mypage_overlay .race_mypage_next_exp {
    font-size: 18px;
  }
  .race_mypage_overlay .race_mypage_medal {
    gap: 8px 18px;
    padding: 18px 22px 6px;
  }
  .race_mypage_overlay .race_mypage_medal_label {
    font-size: 32px;
  }
  .race_mypage_overlay .race_mypage_medal_value {
    font-size: 80px;
  }
  .race_mypage_overlay .race_mypage_medal_value small {
    font-size: 24px;
  }
  .race_mypage_overlay .race_mypage_shop_link img {
    width: 290px;
  }
  .race_mypage_overlay .race_mypage_body .race_mypage_section_title {
    font-size: 28px;
    line-height: 1.25;
  }
  .race_mypage_overlay .race_mypage_best_list {
    gap: 6px;
  }
  .race_mypage_overlay .race_mypage_best_row {
    min-height: 42px;
  }
  .race_mypage_overlay .race_mypage_best_rank img {
    width: 100px;
    height: auto;
  }
  .race_mypage_overlay .race_mypage_best_num {
    font-size: 28px;
  }
  .race_mypage_overlay .race_mypage_best_value {
    font-size: 62px;
  }
  .race_mypage_overlay .race_mypage_best_unit {
    font-size: 28px;
  }
  .race_mypage_overlay .race_mypage_best_type,
  .race_mypage_overlay .race_mypage_best_date {
    font-size: 32px;
    padding-left: 20px;
  }
  .race_mypage_overlay .race_mypage_rankings {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .race_mypage_overlay .race_mypage_best_row {
    -ms-grid-columns: 100px 6px minmax(0, 1fr) 6px -webkit-max-content;
    -ms-grid-columns: 100px 6px minmax(0, 1fr) 6px max-content;
    grid-template-columns: 100px minmax(0, 1fr) -webkit-max-content;
    grid-template-columns: 100px minmax(0, 1fr) max-content;
    -webkit-column-gap: 6px;
       -moz-column-gap: 6px;
            column-gap: 6px;
    padding: 6px 10px;
  }
  .race_mypage_overlay .race_mypage_high_odds_list .race_mypage_best_row {
    -ms-grid-columns: 100px minmax(0, 1fr) -webkit-max-content -webkit-max-content;
    -ms-grid-columns: 100px minmax(0, 1fr) max-content max-content;
    grid-template-columns: 100px minmax(0, 1fr) -webkit-max-content -webkit-max-content;
    grid-template-columns: 100px minmax(0, 1fr) max-content max-content;
  }
  .race_mypage_overlay .race_mypage_best_main {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .race_mypage_overlay .race_mypage_best_value {
    display: inline-block;
    text-align: right;
  }
  .race_mypage_overlay .race_mypage_payout_list .race_mypage_best_value {
    width: 13ch;
  }
  .race_mypage_overlay .race_mypage_high_odds_list .race_mypage_best_value {
    width: 12ch;
  }
  .race_mypage_item_list {
    height: 200px;
  }
  .race_mypage_notice_list {
    height: 300px;
  }
}
@media (max-width: 979px) {
  .race_mypage_overlay .race_mypage_section_title {
    font-size: 23px;
    line-height: 1.25;
    margin: 26px 0 14px;
  }
  .race_mypage_overlay .race_mypage_notice_item {
    display: block;
  }
  .race_mypage_overlay .race_mypage_notice_item + .race_mypage_notice_item {
    margin-top: 10px;
  }
  .race_mypage_overlay .race_mypage_notice_date,
  .race_mypage_overlay .race_mypage_notice_empty {
    font-size: 27px;
    line-height: 1.45;
  }
  .race_mypage_overlay .race_mypage_notice_text {
    font-size: 27px;
    line-height: 1.45;
  }
  .race_mypage_overlay .race_mypage_item_row {
    min-height: 36px;
    gap: 14px;
  }
  .race_mypage_overlay .race_mypage_item_row + .race_mypage_item_row {
    margin-top: 10px;
  }
  .race_mypage_overlay .race_mypage_item_icon {
    width: 44px;
    height: 44px;
  }
  .race_mypage_overlay .race_mypage_item_name {
    font-size: 26px;
    line-height: 1.35;
  }
  .race_mypage_overlay .race_mypage_item_count {
    font-size: 40px;
    line-height: 1.2;
  }
  .race_mypage_overlay .race_mypage_item_empty {
    font-size: 20px;
    line-height: 1.45;
  }
  .race_mypage_overlay .race_mypage_rankings {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .race_mypage_overlay .race_mypage_footer {
    margin-bottom: 20px;
  }
  .race_mypage_overlay .race_mypage_footer a {
    font-size: 28px;
  }
}
@media (min-width: 980px) {
  .sp_bet_fixed_actions {
    display: none !important;
  }
}
@media (max-width: 979px) {
  .volume_overlay .app_modal_panel {
    zoom: 1.5;
  }
}
@media (max-width: 979px) {
  .closing_overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    z-index: 1100000;
    pointer-events: auto;
  }
  .closing_overlay .app_modal_overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    pointer-events: auto;
    z-index: 0;
  }
  .closing_overlay .app_modal_panel {
    z-index: 1;
  }
  .closing_overlay .app_modal_panel,
  .credit_shortage_overlay .app_dialog_box,
  .skip_notice_overlay .app_dialog_box {
    zoom: 2;
  }
  .race_initial_loading_inner {
    right: calc(30px + env(safe-area-inset-right));
    bottom: calc(30px + env(safe-area-inset-bottom));
    zoom: 2;
  }
  .race_initial_loading_overlay {
    inset: -2px;
  }
  .bet_login_overlay_inner {
    zoom: 2;
  }
}
@media (max-width: 979px) {
  .purchased_tickets_area {
    display: none !important;
  }
}
body .auth_dialog.is_active {
  z-index: 100000;
}

@media (max-width: 979px) {
  body.race_page #authDialog.auth_dialog .app_dialog_box {
    zoom: 1.75;
  }
}
body.race_page #authDialog.app_dialog.auth_dialog:not(.is_email_verification_dialog) > .app_dialog_box {
  background-image: none !important;
  background-size: auto !important;
  background-repeat: repeat !important;
  background-position: 0 0 !important;
  -webkit-box-shadow: none;
          box-shadow: none;
}

body #authDialog.app_dialog.auth_dialog.is_email_verification_dialog .app_dialog_box {
  background-image: url(../images/bg_login.png?v=26072201);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-box-shadow: none;
          box-shadow: none;
}

@media (max-width: 979px) {
  .race_cheer_yakumono {
    width: 96%;
    min-width: 1164px;
    max-width: 1536px;
  }
  .race_cheer_one_shot_overlay.is_show_ichigeki .race_cheer_one_shot_msg_ichigeki {
    -webkit-animation-name: race_cheer_one_shot_msg_from_left_sp;
            animation-name: race_cheer_one_shot_msg_from_left_sp;
  }
  .race_cheer_one_shot_overlay.is_show_kimero .race_cheer_one_shot_msg_kimero {
    -webkit-animation-name: race_cheer_one_shot_msg_from_right_sp;
            animation-name: race_cheer_one_shot_msg_from_right_sp;
  }
  .race_cheer_one_shot_msg_ichigeki,
  .race_cheer_one_shot_msg_kimero {
    top: 50%;
    bottom: auto;
    left: 50%;
    width: 108vw;
    max-width: 1032px;
  }
  .race_cheer_one_shot_msg_ichigeki {
    -webkit-transform: translate(45%, -145%) scale(1.04);
            transform: translate(45%, -145%) scale(1.04);
  }
  .race_cheer_one_shot_msg_kimero {
    top: calc(50% - min(21.33vw, 204px));
    -webkit-transform: translate(-145%, 92%) scale(1.04);
            transform: translate(-145%, 92%) scale(1.04);
  }
  .race_cheer_one_shot_button {
    top: 50%;
    left: 50%;
    width: 62vw;
    max-width: 560px;
  }
  .race_cheer_effect.is_yakumono_returning .race_cheer_yakumono {
    -webkit-animation-name: race_cheer_yakumono_return_sp;
            animation-name: race_cheer_yakumono_return_sp;
  }
  .race_cheer_effect.is_yakumono_after .race_cheer_yakumono {
    top: 0;
    -webkit-transform: translate3d(-50%, -48%, 0);
            transform: translate3d(-50%, -48%, 0);
  }
  @-webkit-keyframes race_cheer_one_shot_msg_from_left_sp {
    0% {
      opacity: 0;
      -webkit-transform: translate(45%, -145%) scale(1.04);
              transform: translate(45%, -145%) scale(1.04);
    }
    12% {
      opacity: 1;
      -webkit-transform: translate(-50%, -145%) scale(1);
              transform: translate(-50%, -145%) scale(1);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate(-50%, -145%) scale(1);
              transform: translate(-50%, -145%) scale(1);
    }
  }
  @keyframes race_cheer_one_shot_msg_from_left_sp {
    0% {
      opacity: 0;
      -webkit-transform: translate(45%, -145%) scale(1.04);
              transform: translate(45%, -145%) scale(1.04);
    }
    12% {
      opacity: 1;
      -webkit-transform: translate(-50%, -145%) scale(1);
              transform: translate(-50%, -145%) scale(1);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate(-50%, -145%) scale(1);
              transform: translate(-50%, -145%) scale(1);
    }
  }
  @-webkit-keyframes race_cheer_one_shot_msg_from_right_sp {
    0% {
      opacity: 0;
      -webkit-transform: translate(-145%, 92%) scale(1.04);
              transform: translate(-145%, 92%) scale(1.04);
    }
    12% {
      opacity: 1;
      -webkit-transform: translate(-50%, 92%) scale(1);
              transform: translate(-50%, 92%) scale(1);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate(-50%, 92%) scale(1);
              transform: translate(-50%, 92%) scale(1);
    }
  }
  @keyframes race_cheer_one_shot_msg_from_right_sp {
    0% {
      opacity: 0;
      -webkit-transform: translate(-145%, 92%) scale(1.04);
              transform: translate(-145%, 92%) scale(1.04);
    }
    12% {
      opacity: 1;
      -webkit-transform: translate(-50%, 92%) scale(1);
              transform: translate(-50%, 92%) scale(1);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate(-50%, 92%) scale(1);
              transform: translate(-50%, 92%) scale(1);
    }
  }
  @-webkit-keyframes race_cheer_yakumono_return_sp {
    0% {
      top: 50%;
      -webkit-transform: translate3d(-50%, -50%, 0);
              transform: translate3d(-50%, -50%, 0);
    }
    100% {
      top: 0;
      -webkit-transform: translate3d(-50%, -48%, 0);
              transform: translate3d(-50%, -48%, 0);
    }
  }
  @keyframes race_cheer_yakumono_return_sp {
    0% {
      top: 50%;
      -webkit-transform: translate3d(-50%, -50%, 0);
              transform: translate3d(-50%, -50%, 0);
    }
    100% {
      top: 0;
      -webkit-transform: translate3d(-50%, -48%, 0);
              transform: translate3d(-50%, -48%, 0);
    }
  }
}
@media (max-width: 979px) {
  .race_resume_required_overlay .app_modal_panel {
    width: min(92vw, 560px);
    max-width: 92vw;
  }
  .race_resume_required_overlay .race_resume_required_body {
    gap: 32px;
    padding: 12px 18px 20px;
  }
  .race_resume_required_overlay .race_resume_required_text {
    font-size: 27px;
    line-height: 1.7;
  }
  .race_resume_required_overlay .race_resume_required_reload_btn {
    min-width: 300px;
    padding: 16px 22px 18px;
    font-size: 23px;
  }
}
@media (max-width: 979px) {
  body.race_page .race_stage .race_commentary {
    bottom: 155px;
    width: calc(100% - 56px);
  }
  body.race_page .race_stage .race_commentary_list {
    min-height: 88px;
  }
  body.race_page .race_stage .race_commentary_line {
    font-size: 31.5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.race_page .race_commentary_line {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
            transform: none;
  }
}
body.is_race_shop_open {
  overflow: hidden;
}

.race_shop_overlay[hidden],
.race_shop_overlay [hidden] {
  display: none !important;
}

.race_shop_overlay {
  position: fixed;
  inset: 0;
  z-index: 1150000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #000;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.22s ease, visibility 0s linear 0.22s;
  transition: opacity 0.22s ease, visibility 0s linear 0.22s;
}
.race_shop_overlay.is_active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity 0.22s ease, visibility 0s linear 0s;
  transition: opacity 0.22s ease, visibility 0s linear 0s;
}
.race_shop_overlay .race_shop_overlay_close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: fixed;
  top: calc(18px + env(safe-area-inset-top));
  right: calc(18px + env(safe-area-inset-right));
  z-index: 1151000;
  width: 56px;
  height: 56px;
  padding: 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 0;
  -webkit-transition: -webkit-filter 0.2s ease;
  transition: -webkit-filter 0.2s ease;
  transition: filter 0.2s ease;
  transition: filter 0.2s ease, -webkit-filter 0.2s ease;
}
.race_shop_overlay .race_shop_overlay_close img {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.race_shop_overlay .race_shop_overlay_scroll {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}
.race_shop_overlay .race_shop_overlay_content {
  width: calc(100% - 80px);
  max-width: 980px;
  margin: 0 auto;
  padding: 70px 0 calc(70px + env(safe-area-inset-bottom));
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.race_shop_overlay section {
  width: 900px;
  max-width: 100%;
  margin: 0 auto;
}
.race_shop_overlay section + section {
  margin-top: 60px;
}
.race_shop_overlay h1 {
  margin: 0;
}
.race_shop_overlay h1 img {
  display: block;
  width: 500px;
  max-width: 100%;
}
.race_shop_overlay .txt01 {
  margin: 30px 0 22px;
  padding-left: 20px;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}
.race_shop_overlay .race_shop_notice {
  margin: 0 0 30px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(0, 0, 0, 0.35);
  color: #fff3b0;
  font-size: 13px;
  line-height: 1.7;
}
.race_shop_overlay .wrapper {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 50px 80px;
  background-image: url(../images/shop/bg_section.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.race_shop_overlay .section_ttl_box {
  height: 130px;
  padding-top: 63px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-image: url(../images/shop/bg_shop_ttl.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.race_shop_overlay .section_ttl_box.section_ttl_box_00 {
  padding-top: 60px;
}
.race_shop_overlay .section_ttl_box.section_ttl_box_00 img {
  height: 50px;
}
.race_shop_overlay .section_ttl_box img {
  display: block;
  height: 40px;
  margin: 0 auto;
}
.race_shop_overlay .itemlist {
  margin: 0;
  padding: 0;
  list-style: none;
}
.race_shop_overlay .itemlist li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 25px 40px 20px;
  background-image: url(../images/shop/bg_item.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.race_shop_overlay .itemlist li + li {
  margin-top: 15px;
}
.race_shop_overlay .itemlist .icon {
  width: 100px;
  height: 70px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.race_shop_overlay .itemlist .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.race_shop_overlay .itemlist .item_ttl {
  width: calc(100% - 350px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 20px 0 15px;
}
.race_shop_overlay .itemlist .item_ttl .ttl {
  display: block;
  height: 50px;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
.race_shop_overlay .itemlist .item_ttl p {
  margin: 8px 0 0;
  color: #ddd;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.race_shop_overlay .itemlist .price_btn_box {
  width: 250px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.race_shop_overlay .itemlist .item_price_box {
  width: 100px;
  padding-right: 10px;
  text-align: right;
  font-size: 0;
  letter-spacing: 0;
}
.race_shop_overlay .itemlist .item_price_box img {
  height: 24px;
  vertical-align: top;
}
.race_shop_overlay .itemlist .shop_buy_btn {
  display: block;
  width: 150px;
  border: none;
  background: transparent;
  cursor: pointer;
  outline: none;
  -webkit-transition: -webkit-filter 0.2s ease;
  transition: -webkit-filter 0.2s ease;
  transition: filter 0.2s ease;
  transition: filter 0.2s ease, -webkit-filter 0.2s ease;
}
.race_shop_overlay .itemlist .shop_buy_btn img {
  display: block;
  width: 100%;
}
.race_shop_overlay .itemlist .shop_buy_btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
  -webkit-filter: none;
          filter: none;
}
.race_shop_overlay .section_otoku_charge .item_ttl,
.race_shop_overlay .section_first .item_ttl {
  padding: 0 20px 0 10px;
}
.race_shop_overlay .section_otoku_charge .item_ttl .ttl,
.race_shop_overlay .section_first .item_ttl .ttl {
  height: 70px;
}
.race_shop_overlay .section_mainichi_medal_pass .itemlist li {
  padding: 35px 40px;
}
.race_shop_overlay .section_mainichi_medal_pass .item_ttl {
  padding: 0 20px 0 30px;
}
.race_shop_overlay .section_mainichi_medal_pass .item_ttl .ttl {
  height: 120px;
  margin-bottom: 10px;
}
.race_shop_overlay .section_rocket_start .itemlist li {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 35px 40px;
  background-image: url(../images/shop/bg_item02.webp);
}
.race_shop_overlay .section_rocket_start .skinbox {
  width: 100%;
}
.race_shop_overlay .section_rocket_start .skinbox img {
  display: block;
  width: 500px;
  max-width: 100%;
  margin: 0 auto;
}
.race_shop_overlay .section_rocket_start .medalbox {
  width: 100%;
  margin: -30px auto 30px;
}
.race_shop_overlay .section_rocket_start .medalbox img {
  display: block;
  height: 60px;
  margin: 0 auto;
}
.race_shop_overlay .section_rocket_start .icon {
  width: 70px;
  height: 70px;
}
.race_shop_overlay .section_rocket_start .item_ttl {
  width: calc(100% - 390px);
}
.race_shop_overlay .section_rocket_start .item_ttl .ttl {
  height: 50px;
}
.race_shop_overlay .race_shop_legal_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 22px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 54px 0 0;
  font-size: 13px;
}
.race_shop_overlay .race_shop_legal_links a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.race_shop_overlay .shop_checkout_overlay {
  position: fixed;
  inset: 0;
  z-index: 1160000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}
.race_shop_overlay .shop_checkout_overlay.is_active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity 0.2s ease, visibility 0s linear 0s;
  transition: opacity 0.2s ease, visibility 0s linear 0s;
}
.race_shop_overlay .shop_checkout_overlay_inner {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
}
.race_shop_overlay .shop_checkout_spinner {
  display: block;
  width: 42px;
  height: 42px;
  margin: 0 auto 14px;
  border: 3px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  -webkit-animation: shopLoadingSpin 0.8s linear infinite;
          animation: shopLoadingSpin 0.8s linear infinite;
}

.race_demo .odds_table .entry_horse_stats_status {
  display: inline-block;
  max-width: 118px;
  color: #e6e8eb;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
}
.race_demo .odds_table .entry_recent_results {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 5px;
  width: 100%;
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  padding-left: 5px;
}
.race_demo .odds_table .entry_recent_results .entry_recent_place {
  width: 26px;
  letter-spacing: 0;
  height: 28px;
  font-size: 26px;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  line-height: 1;
}
.race_demo .odds_table .entry_recent_results .entry_recent_place.is_place_1 {
  color: #fff;
  background-image: url(../images/bg_seiseki_1.webp);
  text-shadow: black 1px 1px 0, black -1px -1px 0, black -1px 1px 0, black 1px -1px 0, black 0px 1px 0, black -1px 0, black -1px 0 0, black 1px 0 0;
  -webkit-filter: brightness(130%);
          filter: brightness(130%);
  text-shadow: black 2px 0px 0px, black -2px 0px 0px, black 0px -2px 0px, black 0px 2px 0px, black 2px 2px 0px, black -2px 2px 0px, black 2px -2px 0px, black -2px -2px 0px, black 1px 2px 0px, black -1px 2px 0px, black 1px -2px 0px, black -1px -2px 0px, black 2px 1px 0px, black -2px 1px 0px, black 2px -1px 0px, black -2px -1px 0px, black 1px 1px 0px, black -1px 1px 0px, black 1px -1px 0px, black -1px -1px 0px;
}
.race_demo .odds_table .entry_recent_results .entry_recent_place.is_place_2 {
  color: #fff;
  background-image: url(../images/bg_seiseki_2.webp);
  text-shadow: black 1px 1px 0, black -1px -1px 0, black -1px 1px 0, black 1px -1px 0, black 0px 1px 0, black -1px 0, black -1px 0 0, black 1px 0 0;
  text-shadow: black 2px 0px 0px, black -2px 0px 0px, black 0px -2px 0px, black 0px 2px 0px, black 2px 2px 0px, black -2px 2px 0px, black 2px -2px 0px, black -2px -2px 0px, black 1px 2px 0px, black -1px 2px 0px, black 1px -2px 0px, black -1px -2px 0px, black 2px 1px 0px, black -2px 1px 0px, black 2px -1px 0px, black -2px -1px 0px, black 1px 1px 0px, black -1px 1px 0px, black 1px -1px 0px, black -1px -1px 0px;
  -webkit-filter: brightness(190%);
          filter: brightness(190%);
}
.race_demo .odds_table .entry_recent_results .entry_recent_place.is_place_3 {
  color: #fff;
  background-image: url(../images/bg_seiseki_3.webp);
  text-shadow: black 1px 1px 0, black -1px -1px 0, black -1px 1px 0, black 1px -1px 0, black 0px 1px 0, black -1px 0, black -1px 0 0, black 1px 0 0;
  -webkit-filter: brightness(110%);
          filter: brightness(110%);
  text-shadow: black 2px 0px 0px, black -2px 0px 0px, black 0px -2px 0px, black 0px 2px 0px, black 2px 2px 0px, black -2px 2px 0px, black 2px -2px 0px, black -2px -2px 0px, black 1px 2px 0px, black -1px 2px 0px, black 1px -2px 0px, black -1px -2px 0px, black 2px 1px 0px, black -2px 1px 0px, black 2px -1px 0px, black -2px -1px 0px, black 1px 1px 0px, black -1px 1px 0px, black 1px -1px 0px, black -1px -1px 0px;
}
.race_demo .odds_table .entry_recent_results .entry_recent_place.is_place_other {
  color: #fff;
  font-weight: 500;
  background-image: url(../images/bg_seiseki_other.webp);
  text-shadow: black 1px 1px 0, black -1px -1px 0, black -1px 1px 0, black 1px -1px 0, black 0px 1px 0, black -1px 0, black -1px 0 0, black 1px 0 0;
}
.race_demo .odds_table .entry_info_mode_recent .entry_marks_view.is_active[data-entry-mode=recent] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  text-align: left;
}
.race_demo .odds_table td.entry_marks_cell.entry_info_mode_recent {
  padding-right: 0;
}
.race_demo .odds_table .entry_recent_place {
  display: inline-block;
  padding-top: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0;
  border: 0;
  background: none;
  background-image: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  font-family: "clother", sans-serif;
  font-size: 23px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -2px;
  text-align: center;
}
.race_demo .odds_table .entry_recent_place.is_place_1, .race_demo .odds_table .entry_recent_place.is_place_2, .race_demo .odds_table .entry_recent_place.is_place_3, .race_demo .odds_table .entry_recent_place.is_place_other {
  color: #fff;
}
.race_demo .odds_table .entry_stats_summary {
  display: block;
  width: 100% !important;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
}
.race_demo .odds_table .entry_recent100_summary {
  -webkit-column-gap: 4px;
     -moz-column-gap: 4px;
          column-gap: 4px;
}
.race_demo .odds_table td.entry_marks_cell.entry_info_mode_recent100 {
  padding: 2px 2px;
}
.race_demo .odds_table .entry_recent100_summary {
  -webkit-transform: translateY(-7px);
          transform: translateY(-7px);
}
.race_demo .odds_table .entry_stats_separator {
  color: #fff;
  font-family: "clother", sans-serif;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  vertical-align: top;
  display: inline-block;
  padding-top: 12px;
  letter-spacing: 0;
}
.race_demo .odds_table .entry_revenue_index {
  display: block !important;
  width: 100% !important;
  padding-right: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: right;
}
.race_demo .odds_table .entry_info_mode_revenue .entry_marks_view.is_active[data-entry-mode=revenueIndex],
.race_demo .odds_table .entry_info_mode_place_revenue .entry_marks_view.is_active[data-entry-mode=placeRevenueIndex] {
  display: block;
  width: 100%;
  text-align: right;
}
.race_demo .odds_table .entry_revenue_index_value {
  display: inline;
  font-family: "clother", sans-serif;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -1px !important;
  overflow: hidden;
}
.race_demo .odds_table .entry_revenue_index_integer,
.race_demo .odds_table .entry_revenue_index_dot,
.race_demo .odds_table .entry_revenue_index_decimal {
  display: inline;
  line-height: 1;
  vertical-align: baseline;
}
.race_demo .odds_table .entry_revenue_index_integer,
.race_demo .odds_table .entry_revenue_index_dot {
  font-size: inherit;
}
.race_demo .odds_table .entry_revenue_index_decimal {
  font-size: 18px;
}
.race_demo .odds_table .entry_revenue_index_percent,
.race_demo .odds_table .entry_revenue_index_empty {
  display: inline;
  font-family: "clother", sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  opacity: 0.7;
}
.race_demo .odds_table .entry_revenue_index_percent {
  display: inline-block;
  margin-left: 4px;
}
.race_demo .odds_table .entry_stats_label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}
.race_demo .odds_table .entry_stats_value {
  overflow: hidden;
  font-family: "clother", sans-serif;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: 0;
  text-overflow: ellipsis;
  display: inline-block;
  vertical-align: top;
  width: 30px;
}
.race_demo .odds_table .entry_stats_value:last-child {
  width: 26px;
  opacity: 0.7;
  font-size: 20px;
  padding-top: 4px;
}

@media (max-width: 979px) {
  .race_demo .odds_table .entry_info_mode_recent .entry_marks_view.is_active[data-entry-mode=recent] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left;
  }
  .race_demo .odds_table .entry_info_mode_recent .entry_marks_view[data-entry-mode=recent]:not(.is_active) {
    display: none;
  }
  .race_demo .odds_table .entry_marks_view[data-entry-mode=placeRevenueIndex]:not(.is_active) {
    display: none;
  }
  .race_demo .odds_table .entry_recent_results {
    gap: 0 5px;
    padding-left: 5px;
  }
  .race_demo .odds_table .entry_recent_place {
    width: 21px;
    height: 22px;
    padding-top: 0;
    font-size: 22px;
  }
  .race_demo .odds_table .entry_recent100_summary {
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
  }
  .race_demo .odds_table .entry_stats_separator {
    font-size: 10px;
    padding-top: 10px;
  }
  .race_demo .odds_table .entry_revenue_index_value {
    font-size: 32px;
    padding-top: 3px !important;
    display: inline-block;
    vertical-align: bottom;
  }
  .race_demo .odds_table .entry_revenue_index_decimal {
    font-size: 18px;
  }
  .race_demo .odds_table .entry_revenue_index_percent,
  .race_demo .odds_table .entry_revenue_index_empty {
    font-size: 17px;
  }
  .race_demo .odds_table .entry_revenue_index {
    padding-right: 6px;
  }
  .race_demo .odds_table .entry_stats_label {
    font-size: 10px;
  }
  .race_demo .odds_table .entry_stats_value {
    font-size: 23px;
  }
  .race_demo .odds_table .entry_horse_stats_status {
    font-size: 12px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .race_shop_overlay .race_shop_overlay_close:hover,
  .race_shop_overlay .shop_buy_btn:hover:not(:disabled) {
    -webkit-filter: brightness(1.1);
            filter: brightness(1.1);
  }
}
@-webkit-keyframes shopLoadingSpin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes shopLoadingSpin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@media (max-width: 979px) {
  .race_shop_overlay .race_shop_overlay_close {
    top: calc(20px + env(safe-area-inset-top));
    right: calc(20px + env(safe-area-inset-right));
    width: 88px;
    height: 88px;
    padding: 18px;
  }
  .race_shop_overlay .race_shop_overlay_content {
    width: calc(100% - 26px);
    max-width: 979px;
    padding: 104px 13px calc(80px + env(safe-area-inset-bottom));
  }
  .race_shop_overlay section {
    width: 100%;
  }
  .race_shop_overlay section + section {
    margin-top: 30px;
  }
  .race_shop_overlay h1 img {
    width: 653px;
    max-width: 100%;
  }
  .race_shop_overlay .txt01 {
    margin: 26px 0 78px;
    padding-left: 26px;
    font-size: 28px;
    font-weight: 300;
    line-height: 1.8;
  }
  .race_shop_overlay .race_shop_notice {
    margin-bottom: 30px;
    padding: 18px 24px;
    font-size: 26px;
    line-height: 1.6;
  }
  .race_shop_overlay .wrapper {
    padding: 65px 52px;
  }
  .race_shop_overlay .section_ttl_box {
    height: 157px;
    padding-top: 76px;
  }
  .race_shop_overlay .section_ttl_box.section_ttl_box_00 {
    padding-top: 68px;
  }
  .race_shop_overlay .section_ttl_box.section_ttl_box_00 img {
    height: 68px;
  }
  .race_shop_overlay .section_ttl_box img {
    height: 52px;
  }
  .race_shop_overlay .section_otoku_charge .section_ttl_box,
  .race_shop_overlay .section_first .section_ttl_box {
    height: 157px;
    padding-top: 63px;
  }
  .race_shop_overlay .section_otoku_charge .section_ttl_box img,
  .race_shop_overlay .section_first .section_ttl_box img {
    height: 68px;
  }
  .race_shop_overlay .section_otoku_charge .item_ttl,
  .race_shop_overlay .section_first .item_ttl {
    padding: 0 0 0 13px;
  }
  .race_shop_overlay .section_otoku_charge .item_ttl .ttl,
  .race_shop_overlay .section_first .item_ttl .ttl {
    height: 115px;
  }
  .race_shop_overlay .section_otoku_charge .itemlist li,
  .race_shop_overlay .section_first .itemlist li {
    padding: 39px 26px 21px 18px;
  }
  .race_shop_overlay .section_first .item_ttl .ttl,
  .race_shop_overlay .section_otoku_charge .item_ttl .ttl {
    height: 120px !important;
  }
  .race_shop_overlay .itemlist li {
    padding: 52px 26px 39px 18px;
    background-image: url(../images/shop/bg_item02.webp);
  }
  .race_shop_overlay .itemlist li + li {
    margin-top: 60px;
  }
  .race_shop_overlay .itemlist .icon {
    width: 131px;
    height: 104px;
  }
  .race_shop_overlay .itemlist .item_ttl {
    width: calc(100% - 418px);
    padding: 0 0 0 13px;
  }
  .race_shop_overlay .itemlist .item_ttl .ttl {
    height: 89px;
  }
  .race_shop_overlay .itemlist .item_ttl p {
    font-size: 22px;
    letter-spacing: -1px;
    line-height: 1.35;
  }
  .race_shop_overlay .itemlist .price_btn_box {
    display: block;
    width: 287px;
  }
  .race_shop_overlay .itemlist .item_price_box {
    width: 100%;
    padding-right: 0;
  }
  .race_shop_overlay .itemlist .item_price_box img {
    height: 39px;
  }
  .race_shop_overlay .itemlist .shop_buy_btn {
    width: 100%;
    margin-top: 16px;
    -webkit-transform: translateX(13px);
            transform: translateX(13px);
  }
  .race_shop_overlay .section_mainichi_medal_pass .itemlist li {
    display: block;
    padding: 65px;
  }
  .race_shop_overlay .section_mainichi_medal_pass .icon {
    width: 313px;
    height: 209px;
    margin: 0 auto;
  }
  .race_shop_overlay .section_mainichi_medal_pass .item_ttl {
    width: 100%;
    margin-top: 5px;
    padding: 0;
  }
  .race_shop_overlay .section_mainichi_medal_pass .item_ttl .ttl {
    height: 261px;
    margin-bottom: 26px;
  }
  .race_shop_overlay .section_mainichi_medal_pass .item_ttl p {
    font-size: 26px;
    letter-spacing: 0.8px;
    color: #fff;
  }
  .race_shop_overlay .section_mainichi_medal_pass .price_btn_box {
    margin-left: calc(100% - 287px);
  }
  .race_shop_overlay .section_rocket_start .itemlist li {
    display: block;
    padding: 39px 26px 65px 26px;
  }
  .race_shop_overlay .section_rocket_start .medalbox {
    margin: -78px auto 26px;
  }
  .race_shop_overlay .section_rocket_start .medalbox img {
    height: 94px;
  }
  .race_shop_overlay .section_rocket_start .icon {
    display: none;
  }
  .race_shop_overlay .section_rocket_start .item_ttl {
    width: 100%;
    padding: 0 52px 0 39px;
  }
  .race_shop_overlay .section_rocket_start .item_ttl p {
    font-size: 26px;
    letter-spacing: 0.8px;
    color: #fff;
  }
  .race_shop_overlay .section_rocket_start .item_ttl .ttl {
    height: 131px;
  }
  .race_shop_overlay .section_rocket_start .price_btn_box {
    margin-left: calc(100% - 326px);
  }
  .race_shop_overlay .race_shop_legal_links {
    display: -ms-grid;
    display: grid;
    gap: 22px;
    margin-top: 54px;
    text-align: center;
    font-size: 26px;
  }
  .race_shop_overlay .shop_checkout_spinner {
    width: 110px;
    height: 110px;
    margin-bottom: 36px;
    border-width: 8px;
  }
  .race_shop_overlay .shop_checkout_overlay_inner {
    font-size: 37px;
  }
  body.race_page #appDialogModal.app_dialog .app_dialog_box {
    width: min(900px, 100% - 80px);
  }
  body.race_page #appDialogModal.app_dialog .app_dialog_body {
    padding: 68px 52px 52px;
  }
  body.race_page #appDialogModal.app_dialog .app_dialog_body h2 {
    margin-bottom: 37px;
    font-size: 52px;
  }
  body.race_page #appDialogModal.app_dialog .app_dialog_body p {
    font-size: 37px;
  }
  body.race_page #appDialogModal.app_dialog .app_dialog_actions {
    padding: 0 52px 63px;
  }
  body.race_page #appDialogModal.app_dialog .app_dialog_actions button {
    min-width: 261px;
    padding: 18px 65px;
    font-size: 39px;
  }
  body.race_page #appDialogModal.app_dialog .app_dialog_actions button + button {
    margin-top: 26px;
  }
  body.race_page.is_race_shop_open #appDialogModal.app_dialog,
  body.race_page.is_race_shop_open #authDialog.auth_dialog {
    z-index: 1165000;
  }
}