@charset "UTF-8";
/*
Theme Name: winners-cup-2026
*/
/* フォントのインポート */
/* @import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;800;900&display=swap"); */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&;600display=swap");
/* 関数 */
/* カスタムプロパティ定義 */
:root {
  /* フォントの太さ */
  --Light: 300;
  --Regular: 400;
  --Medium: 500;
  --SemiBold: 600;
  --Bold: 700;
  --ExtraBold: 800;
  --Black: 900;
  /* 画面サイズ関連 */
  --min-window: 1200px; /* ウィンドウサイズがこれより小さい場合は */
  --inner: 1000px; /* ニュース等の横幅 */
}

/* html全体に関わるもの */
body {
  margin: 0;
  /* font-family: "Noto Serif JP", serif; */
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  scroll-behavior: smooth;
  min-width: var(--min-window);
  color: #fff;
  background-color: #000;
  margin: 0 auto;
}
body:has(.menu-btn:checked) {
  overflow: hidden;
}
body {
  /* 横幅1920pxのときに10pxになる */
  /* font-size: calc(100vw / 192); */
}

@media screen and (max-width: 767px) {
  body {
    width: auto;
    min-width: auto;
    /* 横幅768pxのときに10pxになる */
    /* font-size: calc(100vw / 76.8); */
  }
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
.lum-img {
  max-width: 100% !important;
}

.lum-lightbox {
  z-index: 1000;
}

a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s;
  word-wrap: break-word;
}
a:hover {
  opacity: 0.6;
}

img {
  vertical-align: top;
}

section[id^=page] {
  width: var(--inner);
  margin: 0 auto;
}

h2 {
  font-size: 3.75rem;
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-weight: var(--SemiBold);
  margin: -60px 0 0 0;
  transform: scaleX(0.85);
}
h2::after {
  content: "";
  display: block;
  width: 270px;
  height: 3px;
  background-color: #fff;
  margin: -12px auto 0;
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 2.25rem;
    margin: -28px 0 0 0;
    line-height: 1.5;
  }
  h2.min {
    font-size: 2rem;
  }
  h2::after {
    margin: 0px auto 0;
  }
}

h3 {
  font-size: 2.5rem;
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-weight: var(--SemiBold);
  transform: scaleX(0.85);
  margin: 0;
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 2rem;
  }
}

.red {
  color: red;
}

.blue {
  color: blue;
}

/* splide関連 */
.splide__arrow {
  background: none !important;
  width: 4em !important;
  height: 4em !important;
  z-index: 10 !important;
}
.splide__arrow:disabled {
  display: none;
}
.splide__arrow svg {
  display: none;
}
.splide__arrow.splide__arrow--next::after {
  content: "";
  width: 36px;
  height: 36px;
  position: absolute;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
.splide__arrow.splide__arrow--prev::after {
  content: "";
  width: 36px;
  height: 36px;
  position: absolute;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(-45deg);
}

header {
  position: relative;
  z-index: 100;
}
header .header-margin {
  height: 60px;
  background-color: #000;
}
header .header-inner {
  width: var(--min-window);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  header .header-inner {
    width: auto;
  }
}
header .header-inner .sp-header {
  display: none;
  position: fixed;
  overflow: hidden;
  width: 100%;
  height: 60px;
  top: 0;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.6);
}
header .header-inner .sp-header:has(.menu-btn:checked) {
  background-color: rgb(0, 0, 0);
}
header .header-inner .sp-header:has(.menu-btn:checked) + .header-link .header-link-inner {
  max-height: 500px;
  padding-bottom: 60px;
}
header .header-inner .sp-header .sp-logo {
  width: 60%;
  margin-left: 12px;
  opacity: 0.34;
}
header .header-inner .sp-header .menu-btn {
  display: none;
}
header .header-inner .sp-header .menu-btn:checked + .menu-label span:nth-child(1) {
  top: 8px;
  transform: rotate(-45deg);
}
header .header-inner .sp-header .menu-btn:checked + .menu-label span:nth-child(2) {
  top: 8px;
  transform: rotate(-45deg);
}
header .header-inner .sp-header .menu-btn:checked + .menu-label span:nth-child(3) {
  top: 8px;
  transform: rotate(-135deg);
}
header .header-inner .sp-header .menu-label {
  position: absolute;
  width: 20px;
  height: 18px;
  right: 20px;
}
header .header-inner .sp-header .menu-label span {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transition: 0.3s;
}
header .header-inner .sp-header .menu-label span:nth-child(1) {
  top: 0;
}
header .header-inner .sp-header .menu-label span:nth-child(2) {
  top: 8px;
}
header .header-inner .sp-header .menu-label span:nth-child(3) {
  top: 16px;
}
@media screen and (max-width: 767px) {
  header .header-inner .sp-header {
    display: flex;
  }
}
header .header-inner .header-link {
  position: fixed;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 767px) {
  header .header-inner .header-link {
    position: static;
    height: auto;
    max-height: 0;
  }
}
header .header-inner .header-link .header-link-inner {
  display: flex;
  align-items: center;
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-weight: var(--SemiBold);
  width: var(--min-window);
  height: 60px;
  margin: 0 auto;
  transition: 0.3s;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  header .header-inner .header-link .header-link-inner {
    display: block;
    position: fixed;
    width: 100%;
    height: auto;
    max-height: 0;
    margin-top: -1px;
    background-color: rgb(0, 0, 0);
  }
}
header .header-inner .header-link .header-link-inner .disabled {
  opacity: 0.3;
}
header .header-inner .header-link .header-link-inner .character {
  margin: 0 24px 8px;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  header .header-inner .header-link .header-link-inner .character {
    display: block;
    text-align: center;
  }
}
header .header-inner .header-link .header-link-inner .hofukeirin img {
  width: 146px;
}
header .header-inner .header-link .header-link-inner .hofukeirin {
  margin: 0 8px 0 auto;
}
@media screen and (max-width: 767px) {
  header .header-inner .header-link .header-link-inner .hofukeirin {
    display: block;
    text-align: center;
    margin: 32px 0 24px;
  }
  header .header-inner .header-link .header-link-inner .hofukeirin img {
    width: 120px;
  }
}
header .header-inner .header-link .header-link-inner .keirin-jp img {
  width: 126px;
}
header .header-inner .header-link .header-link-inner .keirin-jp {
  margin: 0 64px 0 16px;
}
@media screen and (max-width: 767px) {
  header .header-inner .header-link .header-link-inner .keirin-jp {
    display: block;
    text-align: center;
    margin: 24px 0 32px;
  }
  header .header-inner .header-link .header-link-inner .keirin-jp img {
    width: 110px;
  }
}
header .header-inner .header-link .header-link-inner .icons {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  header .header-inner .header-link .header-link-inner .icons {
    justify-content: center;
  }
}
header .header-inner .header-link .header-link-inner .icons .icon {
  margin: 0 12px;
}
header .header-inner .header-link .header-link-inner .icons .icon img {
  display: block;
  width: 27px;
  height: 27px;
}

.front-page {
  width: var(--min-window);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .front-page {
    width: auto;
  }
}
.front-page .front-page-top {
  text-align: center;
  margin-bottom: 128px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-top {
    margin-bottom: 32px;
  }
}
.front-page .front-page-top img {
  width: 100%;
}
.front-page .front-page-top .winners {
  width: auto;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-top .winners {
    width: calc(100% - 32px);
    margin: 0 16px 32px;
  }
}
.front-page .front-page-top .hofukeirin {
  width: 55%;
  margin: 4px auto 12px;
}
.front-page .front-page-top .countdown {
  max-width: 500px;
  font-size: 2rem;
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-weight: var(--SemiBold);
  transform: scaleX(0.85);
  color: #000;
  background-color: #fff;
  justify-content: center;
  margin: 16px auto 72px;
  padding: 0 36px 12px;
  border-radius: 32px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-top .countdown {
    height: 40px;
    font-size: 1.5rem;
    margin: 16px auto 36px;
    padding: 0 36px;
  }
}
.front-page .front-page-top .countdown .day {
  position: relative;
  font-size: 3rem;
  margin: 0 8px;
  top: 4px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-top .countdown .day {
    top: 2px;
    font-size: 2rem;
  }
}
.front-page .front-page-top .ad {
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-top .ad {
    line-height: 1.5;
  }
}
.front-page .front-page-top .ad-movies {
  display: grid;
  width: 100%;
  gap: 32px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-top .ad-movies {
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
    margin: 0 16px 32px;
  }
}
.front-page .front-page-top .ad-movies .ad-movie {
  width: 100%;
  aspect-ratio: 16/9;
}
.front-page .front-page-top .news {
  margin-bottom: 24px;
}
.front-page .front-page-top .news-wrap {
  display: block;
  border-bottom: 3px dotted rgba(255, 255, 255, 0.2);
  text-align: left;
}
.front-page .front-page-top .news-wrap .date {
  font-size: 1.25rem;
  margin: 24px 36px 8px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-top .news-wrap .date {
    font-size: 1.0625rem;
    margin: 24px 16px 8px;
  }
}
.front-page .front-page-top .news-wrap .title {
  font-size: 1.25rem;
  margin: 0 36px 24px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-top .news-wrap .title {
    font-size: 1.0625rem;
    margin: 0 16px 24px;
  }
}
.front-page .front-page-about {
  margin-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-about {
    margin-bottom: 32px;
  }
}
.front-page .front-page-about .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-about .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .front-page .front-page-about .title img {
    width: 65%;
    margin: 0 8px;
  }
}
.front-page .front-page-about .content {
  font-size: 1.1875rem;
  margin: 0 24px 0;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-about .content {
    font-size: 1rem;
  }
}
.front-page .front-page-racers .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-racers .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .front-page .front-page-racers .title img {
    width: 70%;
    margin: 0 8px;
  }
}
.front-page .front-page-racers .content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 64px 54px;
  margin: 0 59px 64px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-racers .content {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 0 16px 32px;
  }
}
.front-page .front-page-racers .content .racer img {
  width: 100%;
  margin-bottom: 8px;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: top;
}
.front-page .front-page-racers .content .racer .rank {
  font-size: 1.1875rem;
  margin: 0 16px 0 4px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-racers .content .racer .rank {
    font-size: 1rem;
    margin: 0 4px 0 4px;
  }
}
.front-page .front-page-racers .content .racer .name {
  font-size: 1.5rem;
  font-weight: var(--Bold);
}
@media screen and (max-width: 767px) {
  .front-page .front-page-racers .content .racer .name {
    font-size: 1.125rem;
    white-space: nowrap;
  }
}
.front-page .front-page-racers .content .racer .place {
  font-size: 1.1875rem;
  margin: 2px 4px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-racers .content .racer .place {
    font-size: 1rem;
  }
}
.front-page .front-page-racers .link {
  width: 460px;
  display: block;
  position: relative;
  border: 2px solid #fff;
  border-radius: 32px;
  text-align: center;
  padding: 16px 0;
  font-size: 1.1875rem;
  margin: 48px auto 128px;
}
.front-page .front-page-racers .link::after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  right: 10%;
  top: 32%;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .front-page .front-page-racers .link {
    width: calc(100% - 32px);
    padding: 8px 0;
    font-size: 1rem;
    margin: 16px;
  }
  .front-page .front-page-racers .link::after {
    width: 12px;
    height: 12px;
    right: 8%;
  }
}
.front-page .front-page-winner {
  margin-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner {
    margin-bottom: 32px;
  }
}
.front-page .front-page-winner .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .title img {
    width: 75%;
    margin: 0 8px;
  }
}
.front-page .front-page-winner .content {
  position: relative;
  margin: 0 24px 128px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .content {
    margin: 0 12px 32px;
  }
}
.front-page .front-page-winner .content.prev::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to right, rgb(0, 0, 0) 4%, rgba(0, 0, 0, 0) 12%);
  z-index: 1;
}
.front-page .front-page-winner .content.next::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to right, rgba(0, 0, 0, 0) 88%, rgb(0, 0, 0) 96%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .content img {
    width: calc(100% - 16px);
    margin: 0 8px;
  }
}
.front-page .front-page-winner .content .rank {
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-weight: var(--SemiBold);
  font-style: italic;
}
.front-page .front-page-winner .content .rank .number {
  font-size: 2.75rem;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .content .rank .number {
    font-size: 1.5rem;
  }
}
.front-page .front-page-winner .content .rank .character {
  font-size: 1.875rem;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .content .rank .character {
    font-size: 1.25rem;
  }
}
.front-page .front-page-winner .content .date {
  font-size: 1.25rem;
  margin: -12px 16px 0 4px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .content .date {
    font-size: 1rem;
  }
}
.front-page .front-page-winner .content .name {
  font-size: 1.5rem;
  font-weight: var(--Bold);
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .content .name {
    font-size: 1.125rem;
  }
}
.front-page .front-page-winner .content .place {
  font-size: 1.1875rem;
  margin: 2px 4px 12px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-winner .content .place {
    font-size: 1rem;
  }
}
.front-page .front-page-winner .content a {
  display: inline-block;
  padding: 4px 20px;
  background-color: #3b3b3b;
  font-size: 1.125rem;
}
.front-page .front-page-race-info {
  margin-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info {
    margin-bottom: 80px;
  }
}
.front-page .front-page-race-info .title {
  margin: 96px 0;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info .title {
    margin: 72px 0 36px;
  }
}
.front-page .front-page-race-info .title {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info .title img {
    width: calc(100% - 16px);
    margin: 0 8px;
  }
}
.front-page .front-page-race-info .content {
  position: relative;
  font-size: 1.1875rem;
  margin: 0 24px;
  line-height: 2;
  max-height: 400px;
  overflow: hidden;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info .content {
    font-size: 1rem;
    margin: 0 16px;
  }
}
.front-page .front-page-race-info .content:has(+ .more:checked) {
  max-height: 3000px;
}
.front-page .front-page-race-info .content:not(:has(+ .more:checked))::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 60%, rgb(0, 0, 0) 95%);
  z-index: 1;
}
.front-page .front-page-race-info .more {
  display: none;
}
.front-page .front-page-race-info .more:checked + .more-btn {
  display: none;
}
.front-page .front-page-race-info .more-btn {
  display: block;
  position: relative;
  width: fit-content;
  color: #000;
  background-color: #fff;
  margin: 0 auto;
  padding: 16px 132px;
  border-radius: 32px;
  text-align: center;
  font-size: 1.1875rem;
  cursor: pointer;
  transition: 0.3s;
}
.front-page .front-page-race-info .more-btn:hover {
  opacity: 0.6;
}
.front-page .front-page-race-info .more-btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  right: 10%;
  top: 22%;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info .more-btn {
    width: calc(100% - 48px);
    font-size: 1rem;
    padding: 8px 0;
  }
  .front-page .front-page-race-info .more-btn::after {
    width: 12px;
    height: 12px;
    top: 28%;
    right: 7%;
  }
}
.front-page .front-page-race-info .links {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px 60px;
  margin: 128px 4px 72px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info .links {
    grid-template-columns: 1fr;
    gap: 16px 16px;
    margin: 64px 24px 32px;
  }
}
.front-page .front-page-race-info .links div {
  opacity: 0.3;
}
.front-page .front-page-race-info .links .link {
  position: relative;
  border: 2px solid #fff;
  border-radius: 32px;
  text-align: center;
  padding: 16px 0;
  font-size: 1.1875rem;
}
.front-page .front-page-race-info .links .link::after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  right: 10%;
  top: 32%;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info .links .link {
    padding: 8px 0;
    font-size: 1rem;
  }
  .front-page .front-page-race-info .links .link::after {
    width: 12px;
    height: 12px;
    right: 8%;
  }
}
.front-page .front-page-race-info aside {
  font-size: 1.1875rem;
  text-align: center;
  margin-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info aside {
    font-size: 1rem;
    margin: 0 16px 64px;
  }
}
.front-page .front-page-race-info .girls-wrap {
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info .girls-wrap {
    margin: 0 24px;
  }
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info .girls-wrap img {
    width: 100%;
  }
}
.front-page .front-page-race-time {
  text-align: center;
  margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-time {
    margin-bottom: 64px;
  }
}
.front-page .front-page-race-time .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-time .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-time .title img {
    width: calc(100% - 16px);
    margin: 0 8px;
  }
}
.front-page .front-page-race-time img {
  width: 80%;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-time img {
    width: calc(100% - 32px);
    margin: 0 16px;
  }
}
.front-page .front-page-race-time .link {
  width: 460px;
  display: block;
  position: relative;
  border: 2px solid #fff;
  border-radius: 32px;
  text-align: center;
  padding: 16px 0;
  font-size: 1.1875rem;
  margin: 48px auto 32px;
}
.front-page .front-page-race-time .link::after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  right: 10%;
  top: 32%;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-time .link {
    width: calc(100% - 32px);
    padding: 8px 0;
    font-size: 1rem;
    margin: 16px;
  }
  .front-page .front-page-race-time .link::after {
    width: 12px;
    height: 12px;
    right: 8%;
  }
}
.front-page .front-page-program {
  margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-program {
    margin-bottom: 64px;
  }
}
.front-page .front-page-program .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-program .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .front-page .front-page-program .title img {
    width: 55%;
    margin: 0 8px;
  }
}
.front-page .front-page-program .program {
  display: block;
  width: 1080px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-program .program {
    width: calc(100% - 32px);
    margin: 0 16px;
  }
}
.front-page .front-page-links {
  margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-links {
    margin-bottom: 64px;
  }
}
.front-page .front-page-links .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-links .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .front-page .front-page-links .title img {
    width: 55%;
    margin: 0 8px;
  }
}
.front-page .front-page-links .links {
  width: 1080px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 8px 40px;
  margin: 0 auto;
}
.front-page .front-page-links .links img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-links .links {
    width: calc(100% - 32px);
    gap: 16px;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.girls-fresh-queen {
  max-width: 1320px;
  margin: 0 auto;
  color: #000;
}
.girls-fresh-queen .title {
  margin: 140px 0 80px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .title {
    margin: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .title img {
    width: calc(100% - 16px);
    margin: 0 8px;
  }
}
.girls-fresh-queen .title h2::after {
  background-color: #000;
}
.girls-fresh-queen .top {
  width: 100%;
  margin: 0 auto;
}
.girls-fresh-queen .top .main {
  width: 100%;
}
.girls-fresh-queen .top .ttl {
  display: block;
  width: 89%;
  margin: 0 auto;
}
.girls-fresh-queen .about {
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .about {
    margin: 0 16px;
  }
}
.girls-fresh-queen .about .about-top {
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-size: 2.25rem;
  font-weight: var(--Medium);
  text-align: center;
  line-height: 1.6;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .about .about-top {
    font-size: 1.75rem;
    margin-bottom: 40px;
  }
}
.girls-fresh-queen .about .detail {
  font-size: 1.25rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .about .detail {
    font-size: 1rem;
  }
}
.girls-fresh-queen .racers {
  max-width: 1150px;
  margin: 0 auto;
}
.girls-fresh-queen .racers .content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 64px 48px;
  margin: 0 24px 128px;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .racers .content {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 0 16px 32px;
  }
}
.girls-fresh-queen .racers .content .racer img {
  width: 100%;
  margin-bottom: 8px;
}
.girls-fresh-queen .racers .content .racer .rank {
  font-size: 1.25rem;
  margin: 0 16px 0 4px;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .racers .content .racer .rank {
    font-size: 1rem;
    margin: 0 4px 0 4px;
  }
}
.girls-fresh-queen .racers .content .racer .name {
  font-size: 1.5rem;
  font-weight: var(--Bold);
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .racers .content .racer .name {
    font-size: 1.125rem;
    white-space: nowrap;
  }
}
.girls-fresh-queen .racers .content .racer .place {
  font-size: 1.375rem;
  margin: 2px 4px;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .racers .content .racer .place {
    font-size: 1rem;
  }
}
.girls-fresh-queen .race-info {
  max-width: 1100px;
  margin: 0 auto 320px;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .race-info {
    margin: 0 16px 80px;
  }
}
.girls-fresh-queen .race-info .content {
  font-size: 1.25rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .race-info .content {
    font-size: 1rem;
  }
}

.single {
  width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .single {
    width: auto;
  }
}
.single a {
  text-decoration: underline;
}
.single table {
  color: #000;
  border: 1px solid #000;
  border-collapse: collapse;
}
.single table th {
  background-color: #ccc;
  padding: 8px 24px;
  border: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .single table th {
    padding: 8px 16px;
  }
}
.single table td {
  background-color: #fff;
  padding: 8px 24px;
  border: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .single table td {
    padding: 8px 16px;
  }
}
.single table .center {
  text-align: center;
}
.single .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .single .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .single .title img {
    width: 60%;
    margin: 0 8px;
  }
}
.single .news-title-wrap {
  border-bottom: 1px dotted #444;
}
.single .news-title-wrap .news-date {
  font-size: 1.25rem;
  margin: 0 12px 16px;
}
@media screen and (max-width: 767px) {
  .single .news-title-wrap .news-date {
    font-size: 1rem;
  }
}
.single .news-title-wrap .news-title {
  font-size: 2rem;
  margin: 0 12px;
  padding-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .single .news-title-wrap .news-title {
    font-size: 1.5rem;
  }
}
.single .news-content {
  font-size: 1.25rem;
  margin: 32px 12px 256px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .single .news-content {
    font-size: 1rem;
    margin: 32px 12px 160px;
  }
}
.single .back-btn {
  display: block;
  position: relative;
  max-width: 320px;
  padding: 14px 0;
  margin: 0 auto 200px;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 32px;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .single .back-btn {
    margin: 0 auto 160px;
  }
}
.single .back-btn::before {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 10%;
  transform: rotate(-45deg) translateY(-50%);
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}

.campaign {
  width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .campaign {
    width: auto;
  }
}
.campaign .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .campaign .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .campaign .title img {
    width: 80%;
    margin: 0 8px;
  }
}
.campaign .content {
  display: grid;
  background-color: #272727;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding: 32px 32px;
  margin-bottom: 256px;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.4), 0 0 30px rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 767px) {
  .campaign .content {
    grid-template-columns: 1fr;
    padding: 16px 16px;
    margin: 0 16px 160px;
  }
}
.campaign .content .campaign-wrap {
  color: #000;
}
.campaign .content .campaign-wrap .campaign-title {
  display: flex;
  height: 80px;
  font-size: 1.375rem;
  font-weight: var(--Bold);
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .campaign .content .campaign-wrap .campaign-title {
    font-size: 1.125rem;
  }
}
.campaign .content .campaign-wrap .campaign-title {
  background: linear-gradient(to bottom, #b5b6b6 0%, #ffffff 55%, #c0c0c0 100%);
}
.campaign .content .campaign-wrap .campaign-content {
  background-color: #fff;
  font-size: 1.0625rem;
  padding: 24px 32px 40px;
}
@media screen and (max-width: 767px) {
  .campaign .content .campaign-wrap .campaign-content {
    font-size: 0.9375rem;
    padding: 16px 16px 20px;
  }
}
.campaign .content .campaign-wrap .campaign-content img {
  width: 100%;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .campaign .content .campaign-wrap .campaign-content img {
    margin-bottom: 24px;
  }
}
.campaign .content .campaign-wrap .campaign-content .detail-btn {
  display: block;
  position: relative;
  width: 230px;
  margin: 32px auto 0;
  padding: 8px 0;
  text-align: center;
  font-size: 1.125rem;
  color: #fff;
  background-color: #ff4444;
  border-radius: 32px;
}
@media screen and (max-width: 767px) {
  .campaign .content .campaign-wrap .campaign-content .detail-btn {
    font-size: 1rem;
  }
}
.campaign .content .campaign-wrap .campaign-content .detail-btn::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 18px;
  height: 18px;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  background-image: url("./images/expand-arrows.png");
}

.event {
  width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .event {
    width: auto;
  }
}
.event .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .event .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .event .title img {
    width: 65%;
    margin: 0 8px;
  }
}
.event .tabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 24px;
  margin: 0 24px 64px;
}
@media screen and (max-width: 767px) {
  .event .tabs {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 0 12px 32px;
  }
}
.event .tabs .tab-wrap {
  cursor: pointer;
  background: linear-gradient(to bottom, #b5b6b6 0%, #ffffff 55%, #c0c0c0 100%);
}
.event .tabs .tab-wrap .tab {
  margin: 1px;
  text-align: center;
  font-size: 1.25rem;
  padding: 12px 0;
  color: #000;
}
@media screen and (max-width: 767px) {
  .event .tabs .tab-wrap .tab {
    font-size: 1rem;
  }
}
.event .tabs .tab-wrap:not(.active) .tab {
  background-color: #000;
  color: #fff;
}
.event .contents .content {
  display: none;
}
.event .contents .content.active {
  display: block;
}
.event .contents .content .event-header {
  text-align: center;
  margin-bottom: 32px;
}
.event .contents .content .event-contents {
  display: grid;
  background-color: #272727;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding: 32px 32px;
  margin-bottom: 256px;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.4), 0 0 30px rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 767px) {
  .event .contents .content .event-contents {
    grid-template-columns: 1fr;
    padding: 16px 16px;
    margin: 0 16px 160px;
  }
}
.event .contents .content .event-contents .event-wrap {
  color: #000;
}
.event .contents .content .event-contents .event-wrap .event-title {
  display: flex;
  height: 80px;
  font-size: 1.375rem;
  font-weight: var(--Bold);
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .event .contents .content .event-contents .event-wrap .event-title {
    font-size: 1.125rem;
  }
}
.event .contents .content .event-contents .event-wrap .event-title {
  background: linear-gradient(to bottom, #b5b6b6 0%, #ffffff 55%, #c0c0c0 100%);
}
.event .contents .content .event-contents .event-wrap .event-content {
  background-color: #fff;
  font-size: 1.0625rem;
  padding: 24px 32px 32px;
}
@media screen and (max-width: 767px) {
  .event .contents .content .event-contents .event-wrap .event-content {
    font-size: 0.9375rem;
    padding: 16px 16px 20px;
  }
}
.event .contents .content .event-contents .event-wrap .event-content .event-information {
  margin-bottom: 16px;
}
.event .contents .content .event-contents .event-wrap .event-content .event-information th {
  width: 60px;
  background-color: #dfdfdf;
  padding: 8px 16px;
}
.event .contents .content .event-contents .event-wrap .event-content .event-information td {
  padding: 8px;
}
.event .contents .content .event-contents .event-wrap .event-content .event-information th,
.event .contents .content .event-contents .event-wrap .event-content .event-information td {
  border: 2px solid #fff;
  text-align: left;
}
.event .contents .content .event-contents .event-wrap .event-content img {
  width: 100%;
  margin-bottom: 16px;
}
.event .contents .content .event-contents .event-wrap .event-content .button {
  display: block;
  max-width: 235px;
  margin: 0 auto;
}
.event .contents .content .one-image {
  width: 100%;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .event .contents .content .one-image {
    width: calc(100% - 32px);
    margin: 0 16px 64px;
  }
}
.event .contents .content .flyer {
  display: grid;
  gap: 32px 16px;
  grid-template-columns: 1fr;
  margin-bottom: 64px;
}
.event .contents .content .flyer img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .event .contents .content .flyer {
    width: calc(100% - 32px);
    margin: 0 16px 64px;
    grid-template-columns: 1fr;
  }
}
.event .page-top {
  display: flex;
  position: fixed;
  bottom: 48px;
  right: 48px;
  width: 80px;
  height: 80px;
  color: #000;
  background-color: #fff;
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-size: 1.25rem;
  border-radius: 50px;
  line-height: 1;
  text-align: center;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-weight: bold;
  pointer-events: none;
  opacity: 0;
  transition: 0.3s;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.event .page-top.fade-in {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .event .page-top {
    width: 60px;
    height: 60px;
    bottom: 24px;
    right: 24px;
    font-size: 1rem;
  }
}

.access {
  width: 990px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .access {
    width: auto;
  }
}
.access .title {
  margin: 72px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access .title {
    margin: 72px 0 36px;
  }
}
@media screen and (max-width: 767px) {
  .access .title img {
    width: 75%;
    margin: 0 16px;
  }
}
.access .tabs {
  display: grid;
  width: 400px;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 auto 64px;
}
@media screen and (max-width: 767px) {
  .access .tabs {
    width: 320px;
    gap: 12px;
    margin: 0 auto 32px;
  }
}
.access .tabs .tab-wrap {
  cursor: pointer;
  color: #fff;
  background: linear-gradient(to bottom, #b5b6b6 0%, #ffffff 55%, #c0c0c0 100%);
}
.access .tabs .tab-wrap .tab {
  background-color: #000;
  color: #fff;
  margin: 1px;
  text-align: center;
  font-size: 1.25rem;
  padding: 12px 0;
}
@media screen and (max-width: 767px) {
  .access .tabs .tab-wrap .tab {
    font-size: 1rem;
  }
}
.access h3 {
  text-align: center;
}
.access .access-map {
  display: block;
  width: 100%;
  aspect-ratio: 9/5;
  margin: 0 auto 64px;
}
@media screen and (max-width: 767px) {
  .access .access-map {
    width: calc(100% - 32px);
    aspect-ratio: 1/1;
    margin: 0 16px 64px;
  }
}
.access .grid {
  display: grid;
  gap: 32px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .access .grid {
    grid-template-columns: 1fr;
  }
}
.access .grid .grid-title {
  color: #000;
  background-color: #fff;
  font-size: 1.25rem;
  padding: 20px 24px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .access .grid .grid-title {
    font-size: 1rem;
    padding: 8px 10px;
    margin: 0 8px 16px;
  }
}
.access .grid .grid-content {
  padding: 0 24px;
}
@media screen and (max-width: 767px) {
  .access .grid .grid-content {
    padding: 0 16px;
  }
}
.access .parking-map {
  display: block;
  width: 100%;
  aspect-ratio: 9/5;
  margin: 0 auto 128px;
}
@media screen and (max-width: 767px) {
  .access .parking-map {
    width: calc(100% - 32px);
    aspect-ratio: 1/1;
    margin: 0 16px 64px;
  }
}
.access .period {
  color: #000;
  background-color: #fff;
  font-size: 1.25rem;
  margin: 32px 16px;
  padding: 20px 24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access .period {
    padding: 8px 10px;
    margin: 32px 16px;
    font-size: 1rem;
  }
}
.access .bus-time {
  display: flex;
}
@media screen and (max-width: 767px) {
  .access .bus-time {
    display: block;
  }
}
.access .bus-time div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .access .bus-time div {
    width: 100%;
  }
}
.access .bus-time img {
  width: 100%;
}
.access h4 {
  font-size: 1.875rem;
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-weight: var(--SemiBold);
  transform: scaleX(0.85);
  margin: 72px auto 32px;
  width: 505px;
  text-align: center;
  border: 1px solid #fff;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .access h4 {
    width: auto;
    font-size: 1.5rem;
    margin: 56px auto 16px;
  }
}
.access .map-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 72px;
}
@media screen and (max-width: 767px) {
  .access .map-wrap {
    grid-template-columns: 1fr;
  }
}
.access .map-wrap .bus-map {
  display: block;
  width: 100%;
  aspect-ratio: 9/5;
}
@media screen and (max-width: 767px) {
  .access .map-wrap .bus-map {
    width: calc(100% - 32px);
    aspect-ratio: 1/1;
    margin: 0 auto;
  }
}
.access .map-wrap .view-map {
  display: block;
  width: 100%;
  aspect-ratio: 9/5;
}
@media screen and (max-width: 767px) {
  .access .map-wrap .view-map {
    width: calc(100% - 32px);
    aspect-ratio: 1/1;
    margin: 0 auto;
  }
}
.access .map-text {
  margin: 0 0 48px;
}
@media screen and (max-width: 767px) {
  .access .map-text {
    margin: 0 16px 16px;
  }
}

#page-race-info {
  width: 990px;
  text-align: left;
  margin: 0 auto 128px;
}
@media screen and (max-width: 767px) {
  #page-race-info {
    width: 90%;
    margin: 0 5% 128px;
  }
}
#page-race-info h3 {
  transform: none;
  font-family: none;
  font-size: 1.5rem;
  margin: 48px 0 32px;
}
@media screen and (max-width: 767px) {
  #page-race-info h3 {
    font-size: 1.25rem;
    margin: 32px 0 16px;
  }
}
#page-race-info table {
  border-collapse: collapse;
}
#page-race-info .Title02 {
  font-size: 20px;
  background-color: #ececec;
  padding: 20px 25px;
  font-weight: 500;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  #page-race-info .Title02 {
    font-size: 16px;
    padding: 1.6666666667vw 5vw;
    margin-bottom: 4.1666666667vw;
  }
}
#page-race-info .Title05 {
  font-size: 20px;
  border-bottom: 1px solid #888;
  padding: 3px 15px;
  margin-bottom: 20px;
}
#page-race-info .Title02-color-orange {
  background-color: #f6461d;
  color: #fff;
}
#page-race-info .Title02-color-green {
  background-color: #00b57d;
  color: #fff;
}
#page-race-info .Title02-color-violet {
  background-color: #e82d80;
  color: #fff;
}
#page-race-info .emphasis {
  font-size: 20px;
  font-weight: 500;
}
#page-race-info .flexbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#page-race-info ul {
  margin: 0;
  padding: 0;
}
#page-race-info li {
  list-style: none;
}
#page-race-info li img {
  width: 100%;
}
#page-race-info #yoso {
  -webkit-text-size-adjust: 100%;
}
#page-race-info #yoso .k_table {
  width: 100%;
  margin-bottom: 60px;
  table-layout: auto;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table tr {
    display: flex;
    flex-direction: column;
  }
  #page-race-info #yoso .k_table tr:first-child {
    display: none;
  }
}
#page-race-info #yoso .k_table-san tr {
  border-bottom: 1px solid #ff3000;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-san tr {
    border-bottom: none;
  }
}
#page-race-info #yoso .k_table-san tr:first-child {
  background-color: #ffeae5;
}
#page-race-info #yoso .k_table-san tr:first-child th {
  color: #ff3000;
}
#page-race-info #yoso .k_table-san tr td:before {
  background-color: #ffeae5;
  color: #ff3000;
}
#page-race-info #yoso .k_table-san tr td.race {
  color: #ff3000;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-san tr td.race {
    border-bottom: 0.3333333333vw solid #ff3000;
  }
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-san tr td.text {
    border-bottom: 0.1666666667vw solid #ff3000;
  }
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-san tr td.ticket {
    border-bottom: 0.1666666667vw solid #ff3000;
  }
}
#page-race-info #yoso .k_table-san tr td.ticket span {
  background-color: #ff3000;
}
#page-race-info #yoso .k_table-san tr td.evaluation-hot {
  color: #ff3000;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-san tr td.evaluation {
    border-bottom: 0.3333333333vw solid #ff3000;
  }
}
#page-race-info #yoso .k_table-gake tr {
  border-bottom: 1px solid #00b57d;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-gake tr {
    border-bottom: none;
  }
}
#page-race-info #yoso .k_table-gake tr:first-child {
  background-color: #edf9f5;
}
#page-race-info #yoso .k_table-gake tr:first-child th {
  color: #00b57d;
}
#page-race-info #yoso .k_table-gake tr td:before {
  background-color: #edf9f5;
  color: #17a67a;
}
#page-race-info #yoso .k_table-gake tr td.race {
  color: #00b57d;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-gake tr td.race {
    border-bottom: 0.3333333333vw solid #00b57d;
  }
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-gake tr td.text {
    border-bottom: 0.1666666667vw solid #00b57d;
  }
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-gake tr td.ticket {
    border-bottom: 0.1666666667vw solid #00b57d;
  }
}
#page-race-info #yoso .k_table-gake tr td.ticket span {
  background-color: #00b57d;
}
#page-race-info #yoso .k_table-gake tr td.evaluation-hot {
  color: #00b57d;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-gake tr td.evaluation {
    border-bottom: 0.3333333333vw solid #00b57d;
  }
}
#page-race-info #yoso .k_table-osi tr {
  border-bottom: 1px solid #e82d80;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-osi tr {
    border-bottom: none;
  }
}
#page-race-info #yoso .k_table-osi tr:first-child {
  background-color: #fef7fa;
}
#page-race-info #yoso .k_table-osi tr:first-child th {
  color: #e82d80;
}
#page-race-info #yoso .k_table-osi tr td:before {
  background-color: #fef7fa;
  color: #e82d80;
}
#page-race-info #yoso .k_table-osi tr td.race {
  color: #e82d80;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-osi tr td.race {
    border-bottom: 0.3333333333vw solid #e82d80;
  }
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-osi tr td.text {
    border-bottom: 0.1666666667vw solid #e82d80;
  }
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-osi tr td.ticket {
    border-bottom: 0.1666666667vw solid #e82d80;
  }
}
#page-race-info #yoso .k_table-osi tr td.ticket span {
  background-color: #e82d80;
}
#page-race-info #yoso .k_table-osi tr td.evaluation-hot {
  color: #ff0000;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table-osi tr td.evaluation {
    border-bottom: 0.3333333333vw solid #e82d80;
  }
}
#page-race-info #yoso .k_table tr:first-child th {
  text-align: center;
  padding: 20px 0;
}
#page-race-info #yoso .k_table tr td {
  padding: 30px 0;
  text-align: center;
  color: #000;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table tr td {
    display: flex;
    align-items: center;
  }
  #page-race-info #yoso .k_table tr td:before {
    display: block;
    font-size: 3.25vw;
    width: 18.75vw;
    padding: 5vw 0;
    margin-right: 3.75vw;
    text-align: center;
    box-sizing: content-box;
    font-weight: normal;
  }
}
#page-race-info #yoso .k_table tr td.hot {
  color: #ff0000;
}
#page-race-info #yoso .k_table tr td.race {
  font-family: "Oswald", sans-serif;
  width: 150px;
  padding: 0 10px;
  font-size: 52.61px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table tr td.race {
    width: calc(100% - 20px);
    font-size: 10.67875vw;
    text-align: left;
    display: flex;
    align-items: baseline;
  }
}
#page-race-info #yoso .k_table tr td.race .min {
  font-size: 28.62px;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table tr td.race .min {
    font-size: 5.80875vw;
  }
}
#page-race-info #yoso .k_table tr td.race.none {
  font-size: 22px;
  padding: 1.5em 0;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table tr td.race.none {
    visibility: hidden;
  }
}
#page-race-info #yoso .k_table tr td.text {
  width: 330px;
  font-size: 22px;
  padding: 0 50px;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table tr td.text {
    width: 100%;
    font-size: 4.375vw;
    text-align: left;
    padding: 0;
  }
  #page-race-info #yoso .k_table tr td.text:before {
    content: "内容";
  }
}
#page-race-info #yoso .k_table tr td.ticket {
  width: 350px;
  padding: 0 40px;
  text-align: left;
  font-family: "Oswald", sans-serif;
}
#page-race-info #yoso .k_table tr td.ticket span {
  display: inline-block;
  font-size: 27.17px;
  color: #fff;
  padding: 3px 18px;
  margin: 10px 10px 10px 0;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table tr td.ticket {
    width: 100%;
    padding: 0;
  }
  #page-race-info #yoso .k_table tr td.ticket:before {
    content: "勝負車券";
  }
  #page-race-info #yoso .k_table tr td.ticket span {
    display: inline-block;
    font-weight: 500;
    font-size: 4.625vw;
    padding: 0.625vw 2.75vw;
    margin: 0 2.5vw 0 0;
    border-radius: 3px;
  }
}
#page-race-info #yoso .k_table tr td.evaluation {
  width: 170px;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #page-race-info #yoso .k_table tr td.evaluation {
    width: 100%;
    text-align: left;
    font-size: 5vw;
    margin-bottom: 13.3333333333vw;
    padding: 0;
  }
  #page-race-info #yoso .k_table tr td.evaluation:before {
    content: "本命度合";
  }
}
#page-race-info #players {
  margin-top: 100px;
  z-index: 100;
}
#page-race-info #players .Title02 {
  color: #fff;
}
#page-race-info #players .Title02.SSTitle {
  background-color: #c20009;
}
#page-race-info #players .Title02.S1Title, #page-race-info #players .Title02.S2Title, #page-race-info #players .Title02.A1Title, #page-race-info #players .Title02.A2Title, #page-race-info #players .Title02.A3Title {
  background-color: #191919;
}
#page-race-info #players .Title02.L1Title {
  background-color: #e40073;
}
#page-race-info #players ul {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #page-race-info #players ul {
    margin-bottom: 16.6666666667vw;
  }
}
#page-race-info #players li {
  display: flex;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li {
    margin-bottom: 16.6666666667vw;
  }
}
#page-race-info #players li.SS .name:before {
  background-image: url(./images/players/SS.png);
}
#page-race-info #players li.S1 .name:before, #page-race-info #players li.S2 .name:before {
  background-image: url(./images/players/S1.png);
}
#page-race-info #players li.A1 .name:before, #page-race-info #players li.A2 .name:before, #page-race-info #players li.A3 .name:before {
  background-image: url(./images/players/A1.png);
}
#page-race-info #players li.L1 .name:before {
  background-image: url(./images/players/L1.png);
}
#page-race-info #players li .img {
  width: 180px;
  margin-right: 50px;
  margin-top: 12px;
}
#page-race-info #players li .img:hover {
  opacity: 0.8;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li .img {
    width: 30vw;
    margin-right: 2.5vw;
  }
}
#page-race-info #players li .img img {
  width: 100%;
}
#page-race-info #players li .info {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li .info {
    margin-bottom: 1.6666666667vw;
  }
}
#page-race-info #players li .info .name {
  font-weight: bold;
  font-size: 26px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li .info .name {
    font-size: 3.8vw;
  }
}
#page-race-info #players li .info .name:before {
  content: "";
  display: block;
  width: 30px;
  height: 52px;
  margin-right: 20px;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li .info .name:before {
    width: 5vw;
    height: 8.6666666667vw;
    margin-right: 2vw;
    background-size: cover;
  }
}
#page-race-info #players li .info .name span {
  font-size: 17px;
  font-weight: normal;
  margin-left: 65px;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li .info .name span {
    font-size: 2vw;
    margin-left: 2.5vw;
  }
}
#page-race-info #players li .info .more {
  font-family: "Oswald", sans-serif;
  width: 125px;
  padding: 7px 0 12px;
  margin-left: auto;
  text-align: center;
  background-color: #ebebeb;
  color: #191919;
  font-size: 20px;
}
#page-race-info #players li .info .more a {
  color: #191919;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li .info .more {
    width: 12.5vw;
    padding: 0.8333333333vw 0 1.3333333333vw;
    font-size: 2.2vw;
  }
}
#page-race-info #players li .info .more:after {
  content: ">";
  margin-left: 15px;
  margin-top: 3px;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li .info .more:after {
    margin-left: 2.5vw;
    margin-top: 0.5vw;
  }
}
#page-race-info #players li table {
  width: 750px;
  color: #000;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li table {
    width: 63.3333333333vw;
  }
}
#page-race-info #players li table tr td {
  border: 1px solid #d6d6d6;
  background-color: #fff;
  padding: 10px 20px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li table tr td {
    font-size: 2.8vw;
    padding: 1.6666666667vw 3.3333333333vw;
  }
}
#page-race-info #players li table tr td:first-child {
  width: 5em;
  padding: 0 70px;
  box-sizing: content-box;
  background-color: #f5f5f5;
  text-align-last: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 767px) {
  #page-race-info #players li table tr td:first-child {
    padding: 0 3.6666666667vw;
  }
}
#page-race-info #shusohyo .Title02 {
  color: #000;
}
#page-race-info #shusohyo a.btn {
  position: relative;
  display: flex;
  align-items: center;
  width: 959px;
  margin: 0 auto;
  padding: 20px 30px;
  background: rgb(0, 161, 217);
  background: linear-gradient(120deg, rgb(0, 161, 217) 0%, rgb(0, 161, 217) 5%, rgb(0, 85, 203) 100%);
}
@media screen and (max-width: 767px) {
  #page-race-info #shusohyo a.btn {
    width: 95%;
    padding: 3.3333333333vw 2.5vw;
  }
}
#page-race-info #shusohyo a.btn span {
  display: block;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #page-race-info #shusohyo a.btn span {
    font-size: 3.3333333333vw;
  }
}
#page-race-info #shusohyo a.btn span.bold {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: toVw(7);
}
@media screen and (max-width: 767px) {
  #page-race-info #shusohyo a.btn span.bold {
    font-size: 4vw;
    margin-bottom: 1.1666666667vw;
  }
}
#page-race-info #shusohyo a.btn:before {
  content: "";
  display: block;
  background-image: url("data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEUAAABFCAYAAAAcjSspAAADwklEQVR4nO2cO2gVQRSGv2wiokIEEW1iSgsRCfEBIlgJSgQbrbQQtVEbFXwgoo2Ij0I7G7XUShtBiJhKkICKL0QhjRAtfKEoeC2ijIycq+Pk7N1rJnf37t75YAnMzuzO/3N3Hid7tssYQ5PMBtYCq4HFwHxgRrONC2AC+AiMAaPAXaDWTDd6mqizBDgMbAHmtLEJWXwDrgPngBeN6jb6pcwDzgK7bL28FbQQK/gKcAT4pN0mzZSVwA1gUUmFN8NrYDPwwK+rmbIOuAnMSrnwV+AhMA58KUJNk8wF+oEVQG9Kk+/AJmDkn1JrinOsNMbUjM6wMWa9Mabba9PuR7f0ezhFV010/9HhCppnjBlXGr01xgyVzIi0Y0j0+IyL/kmmXFIqvzTG9FXEkPrRJ7p8LtXr1McUO+0+92aZd/I8vil2aGgJfTIuLnQubo1YaqfrRAoOK9Puzooaguja6ZV1iQ+/fyl2pfreW5jdBjbk289CGAbWOze2C7wFiSzd/ZXqhYqbUcfXaX1Ym8hexuXrpHm7uoyIXpfViWzuXOwA9LNDTPkpel0WJ7LbdRkvrIvF4Oud36Ns//9n6W6fwVPAGu86P4D7wNE23wqg9G9GM6GDRlhD9qWcXw7MlF12qQg1ZU3G+UGl7KIErFqJfSROTPX6oaZkRd60OMxW2cG2kqchpiRN1Ok4oikKoY/Pj4zzWljvVg6x3lchjUNNuS+zTBrPlPJtgfdsOaGmHJVpd9AbVI0YcrCNtacSasqXMq5DsogDrUI0RSGaohBNUYimKITOPnYPcwZYBXQ75TZ48xg4BHye1h7nQKgpJ4HdKecGxagdbac6g1BT/Piuz4BSdjWnZf6BqTYuInSwMafQwZSJA61CNEUh9PGZyDjfkaGDUfknfBpPlPLKhw6Oy2DbaJ1SOqYjdLCnjMIbEQdahWiKQjRFIZqiEE1RmI7QwfmMaP6Hae1xDoSaclp5oa5OfYe8vd1EZxFqyqqM88uUssqHDrLax9BBVYimKBQROriW05tMUybUlHsZoYNHStnewHu2nFBTjsnfRm9Hlo4e5RH4n5nBvsu+v4zCHXy9E4mkqbr0F9W7gvD1fkwkb9dlhRdFqzLdypg4lkic1aVXkis7gXVK0uVozPdJyfepSWa3i604VEw/c2PIMwTxoRZzCP8yKYfwhaS6u9gGd+QCVaJPdC30NF358w2EmJf8m9S8ZGIG+795yS4d/62D+FUM5asYafGUBxJjvZyy/S8zRnQNaIaQ8VGZOvFLOw3ojG8yAb8AP/MNtbBZGjsAAAAASUVORK5CYII=");
  background-size: cover;
  width: 69px;
  height: 69px;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  #page-race-info #shusohyo a.btn:before {
    width: 11.5vw;
    height: 11.5vw;
    margin-right: 2.5vw;
  }
}
#page-race-info #shusohyo a.btn:after {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  transform: rotate(45deg);
  right: 20px;
}
@media screen and (max-width: 767px) {
  #page-race-info #shusohyo a.btn:after {
    width: 2.5vw;
    height: 2.5vw;
    border-top: 0.8333333333vw solid #fff;
    border-right: 0.8333333333vw solid #fff;
    right: 2.5vw;
  }
}
#page-race-info #yososhi .Title02 {
  color: #000;
}
#page-race-info #yososhi .flexbox {
  justify-content: flex-start;
}
#page-race-info #yososhi .flexbox li {
  width: 229px;
  transition: 0.1s;
  margin-right: 24px;
  margin-bottom: 20px;
}
#page-race-info #yososhi .flexbox li.nolink {
  opacity: 0.3;
  pointer-events: none;
}
#page-race-info #yososhi .flexbox li:nth-child(4n+4) {
  margin-right: 0;
}
#page-race-info #yososhi .flexbox li:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  #page-race-info #yososhi .flexbox li {
    width: 42vw;
    margin: 2vw 1.5vw;
  }
}

footer {
  color: #fff;
  font-size: 0.875rem;
  text-align: center;
  margin-bottom: 32px;
}
