@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");
/* カスタムプロパティ定義 */
: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 48px;
  margin: 0 24px 128px;
}
@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;
}
.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 8px 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;
  }
}
.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-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;
}
.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;
}
@media screen and (max-width: 767px) {
  .front-page .front-page-race-info aside {
    font-size: 1rem;
    margin: 0 16px;
  }
}
.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;
}
@media screen and (max-width: 767px) {
  .girls-fresh-queen .racers {
    margin: 0 16px;
  }
}
.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 8px 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.25rem;
  }
}
.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: 1.125rem;
  }
}
.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 .map {
  width: 100%;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .event .contents .content .map {
    width: calc(100% - 32px);
    margin: 0 16px 64px;
  }
}
.event .contents .content .flyer {
  display: grid;
  gap: 32px 16px;
  grid-template-columns: 1fr 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;
  }
}

.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;
  }
}

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