@charset "UTF-8";
/* CSS Document */
html {
  font-family: "Noto Sans JP", "Noto Serif JP", "roboto", "toppan-bunkyu-midashi-min-st", "Oswald", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.3333333333vw;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body {
  -webkit-text-size-adjust: 100%;
}

a.link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.nonac {
  opacity: 0.5;
  pointer-events: none !important;
  cursor: default !important;
}

.ind {
  text-indent: -999rem;
}

#wrapper {
  position: relative;
}

.pagetop {
  position: fixed;
  right: 1.8rem;
  bottom: 1.8rem;
  z-index: 100;
}

header {
  width: 100%;
  height: 10rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #3856BF;
  display: flex;
}
header .header_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}
header .btn_wrap {
  display: flex;
  align-items: center;
  height: 10rem;
}
header #kojima {
  background: url(../images/logo_kojima.png) no-repeat center;
  background-size: contain;
}
header .sns_btn {
  display: flex;
  margin-right: 1rem;
}
header .sns_btn li {
  border-radius: 0.5rem;
  border-color: #fff;
  border-width: 0.2rem;
  border-style: solid;
}
header .sns_btn li:hover {
  opacity: 0.5;
}
header .sns_btn li:nth-child(1) {
  background: url(../images/icon_yt.svg) no-repeat center, #FF0000;
  background-size: contain;
}
header .sns_btn li:nth-child(2) {
  background: url(../images/icon_fb.svg) no-repeat center, #1877F2;
  background-size: contain;
}
header .sns_btn li:nth-child(3) {
  background: url(../images/icon_x.svg) no-repeat center, #000;
  background-size: contain;
}
header .sns_btn li:nth-child(4) {
  background: url(../images/icon_ig.svg) no-repeat center, linear-gradient(135deg, #7638FA, #D300C5, #FF0069, #FF7A00, #FFD600);
  background-size: contain;
}
header #news {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 57.5rem;
  height: 4.6rem;
  background: #000;
  color: #fff;
  border-style: solid;
  border-width: 0.2rem;
  border-color: #000;
  font-size: 2rem;
  font-weight: 700;
}
header #news .news_tit {
  flex-shrink: 0;
  padding: 0 1.5rem;
}
header #news .news_area {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  background: #fff;
}
header #news .news_area * {
  color: #000;
}
header #news .news_area::before {
  content: "";
  background: #000;
  display: block;
  position: absolute;
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}
header #news #news_list {
  margin: 0;
  padding: 0;
  list-style: none;
  height: 100%;
}
header #news #news_list li {
  display: flex;
  align-items: center;
  padding: 0 1.5rem;
  box-sizing: border-box;
}
header #news #news_list li * {
  text-underline-offset: 0.3rem;
  font-weight: 700;
}
header #news #news_list li span {
  margin-right: 1em;
}

.kaimon {
  background: #ff0000;
  width: 40rem;
  height: 4.6rem;
  display: flex;
  border-width: 0.2rem;
  border-color: #ff0000;
  border-style: solid;
}
.kaimon p {
  color: #fff;
  font-size: 2.1rem;
  font-weight: 700;
  width: 10.5rem;
  text-align: center;
  line-height: 4.8rem;
}
.kaimon p.time {
  color: #000;
  background: #fff;
  font-size: 2.2rem;
  font-family: "Roboto", sans-serif;
  width: 29.5rem;
}
.kaimon p.time span.day {
  font-weight: 900;
  font-size: 2rem;
}
.kaimon p.time span.tri {
  font-size: 1.3rem;
  vertical-align: top;
  padding-right: 0.3rem;
  padding-left: 0.3rem;
}

#link_btn li {
  border-style: solid;
  border-color: #D3A73C;
  border-width: 0.2rem;
}
#link_btn li a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3.2rem;
  font-family: "Roboto", sans-serif;
  font-weight: 900;
}
#link_btn li.live .icon {
  background: url(../images/btn_live.svg) no-repeat center;
  background-size: contain;
}
#link_btn li.live:hover .icon {
  background: url(../images/btn_live_on.svg) no-repeat center;
  background-size: contain;
}
#link_btn li.replay .icon {
  background: url(../images/btn_rep.svg) no-repeat center;
  background-size: contain;
}
#link_btn li.replay:hover .icon {
  background: url(../images/btn_rep_on.svg) no-repeat center;
  background-size: contain;
}
#link_btn li.vote .icon {
  background: url(../images/btn_vote.svg) no-repeat center;
  background-size: contain;
}
#link_btn li.vote:hover .icon {
  background: url(../images/btn_vote_on.svg) no-repeat center;
  background-size: contain;
}

#nav {
  position: fixed;
  right: 0;
  z-index: 5;
  pointer-events: none;
}
#nav .nav_btn li {
  pointer-events: all;
  filter: drop-shadow(0 0.3rem 0.5rem rgba(0, 0, 0, 0.5019607843));
  border-radius: 1rem;
  border-style: solid;
  border-width: 0.3rem;
}
#nav .nav_btn li:nth-child(1) {
  border-color: #FF3737;
}
#nav .nav_btn li:nth-child(2) {
  border-color: #00EB66;
}
#nav .nav_btn li:nth-child(3) {
  border-color: #00BBFF;
}
#nav .nav_btn li.data {
  background: url(../images/nav_data.svg) no-repeat center, #FF3737;
  background-size: contain;
  border-color: #fff;
  border-radius: 50%;
}

#menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 5;
}

.menu_btn {
  width: 8rem;
  height: 8rem;
  background: #3856BF;
  border-radius: 0.5rem;
  position: relative;
}
.menu_btn span {
  width: 5rem;
  height: 0.2rem;
  display: block;
  background: #fff;
  position: absolute;
  left: 5rem;
  top: 5rem;
  margin-left: -2.5rem;
  transition: all 0.3s;
}
.menu_btn .top {
  transform: translateY(-1.7rem) scale(1);
}
.menu_btn .middle {
  background: none;
  position: relative;
}
.menu_btn .middle::before, .menu_btn .middle::after {
  content: "";
  display: block;
  width: 5rem;
  height: 0.2rem;
  background: #fff;
  transform: rotate(0deg);
  position: absolute;
  transition: all 0.3s;
}
.menu_btn .bottom {
  transform: translateY(1.7rem) scale(1);
}
.menu_btn.active .top {
  transform: translateY(0rem) scale(0);
}
.menu_btn.active .bottom {
  transform: translateY(0rem) scale(0);
}
.menu_btn.active .middle:before {
  transform: rotate(45deg);
}
.menu_btn.active .middle:after {
  transform: rotate(-45deg);
}

.menu-content {
  width: 100%;
  position: fixed;
  top: -150%;
  left: 0;
  transition: all 0.75s;
  background: rgba(56, 86, 191, 0.7490196078);
  backdrop-filter: blur(0.5rem);
}
.menu-content * {
  color: #fff;
  font-weight: 700;
}
.menu-content {
  padding-top: 5rem;
}
.menu-content .menu_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: flex-start;
  width: 99%;
}
.menu-content li {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  padding: 1rem;
}
.menu-content li:not(:first-child) {
  border-bottom: dotted 0.15rem rgba(255, 255, 255, 0.5019607843);
}
.menu-content li:not(:first-child):before {
  content: "*";
  position: relative;
}
.menu-content ul:nth-child(1) h3 {
  background: url(../images/menu_spe.svg) no-repeat center left;
  background-size: contain;
}
.menu-content ul:nth-child(2) h3 {
  background: url(../images/menu_race.svg) no-repeat center left;
  background-size: contain;
}
.menu-content ul:nth-child(3) h3 {
  background: url(../images/menu_info.svg) no-repeat center left;
  background-size: contain;
}
.menu-content.active {
  top: 0;
}

footer {
  background: #000;
  text-align: center;
  color: #fff;
  width: 100%;
  height: 6rem;
  line-height: 6rem;
  font-family: "Roboto", sans-serif;
  font-size: 2rem;
}

/***********************************************************************
ミディアムデバイス (スマートフォン) のスタイル
**********************************************************************/
@media screen and (max-width: 750px) {
  .sp_non {
    display: none !important;
  }
  .lock {
    overflow: hidden;
  }
  header {
    width: 75rem;
    height: 16rem;
    flex-direction: column;
  }
  header #news {
    width: calc(100% - 0.2rem);
    font-size: 3rem;
    height: 5.6rem;
  }
  header #news .news_area {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 3rem 50%);
  }
  header #news .news_area::before {
    width: 1.8rem;
    height: 2rem;
    left: 4rem;
    top: calc(50% - 1rem);
  }
  header #news #news_list li {
    height: 5.6rem;
    padding-left: 7rem;
  }
  #wrapper {
    width: 75rem;
    overflow-x: hidden;
  }
  #kojima {
    width: 32.4rem;
    height: 7.9rem;
    margin-left: 1.5rem;
    margin-right: 2rem;
  }
  #racelogo {
    margin-left: 1.3rem;
    margin-right: 1.6rem;
  }
  #link_btn {
    width: 30rem;
    margin-right: 2.5rem;
  }
  #link_btn li {
    width: 9.5rem;
    height: 8rem;
    border-radius: 1.5rem;
    padding-top: 0.5rem;
  }
  #link_btn li:not(:last-child) {
    margin-right: 0.7rem;
  }
  #link_btn li a {
    flex-direction: column;
    font-size: 1.9rem;
  }
  #link_btn li a .icon {
    width: 5.5rem;
    height: 4.6rem;
    margin-bottom: 0.3rem;
  }
  .sns_btn li {
    width: 6rem;
    height: 6rem;
    margin-right: 1rem;
  }
  .menu_btn {
    width: 8rem;
    height: 8rem;
    position: relative;
    top: 1rem;
    right: 1rem;
  }
  .menu_btn span {
    top: 4rem;
    left: 4rem;
  }
  .menu-content {
    height: 90vh;
    -webkit-overflow-scrolling: touch;
  }
  .menu-content * {
    font-size: 3rem;
  }
  .menu-content {
    padding-top: 5rem;
    padding-bottom: 0;
    padding-right: 5rem;
    padding-left: 5rem;
  }
  .menu-content .menu_wrap {
    flex-direction: column;
    width: calc(100% - 15rem);
    height: calc(85vh - 15rem);
    padding-right: 5rem;
  }
  .menu-content ul {
    width: 100%;
    margin-bottom: 5rem;
  }
  .menu-content ul:last-child {
    margin-bottom: 25rem;
  }
  .menu-content li {
    padding: 2rem 1rem;
  }
  .menu-content li::before {
    top: 1rem;
    margin-right: 2rem;
    margin-left: 2.7rem;
  }
  .menu-content h3 {
    width: 100%;
    height: 8.4rem;
  }
  .menu-content .simplebar-scrollbar::before {
    background: #fff;
  }
  #nav {
    bottom: 0;
  }
  #nav .nav_btn {
    position: absolute;
    width: 73rem;
    height: 16rem;
    padding-left: 2rem;
    background: #3856BF;
    bottom: 0;
    right: 0;
    display: flex;
  }
  #nav .nav_btn li {
    width: 15.5rem;
    height: 14.5rem;
    filter: drop-shadow(0.5rem 0.5rem 0.6rem rgba(0, 0, 0, 0.7490196078));
    margin-top: -1.2rem;
    margin-right: 1.2rem;
    border-width: 0.5rem;
  }
  #nav .nav_btn li:nth-child(1) {
    background: url(../images/nav_vote_sp.svg) no-repeat center, #000;
    background-size: contain;
  }
  #nav .nav_btn li:nth-child(2) {
    background: url(../images/nav_live_sp.svg) no-repeat center, #000;
    background-size: contain;
  }
  #nav .nav_btn li:nth-child(3) {
    background: url(../images/nav_rep_sp.svg) no-repeat center, #000;
    background-size: contain;
  }
  #nav .nav_btn li.data {
    width: 17rem;
    height: 17rem;
    margin-top: -3rem;
    margin-left: 1rem;
    border-width: 0.5rem;
  }
  #main {
    padding-top: 14rem;
  }
  .pagetop {
    bottom: 16rem;
  }
  footer {
    padding-bottom: 17rem;
  }
}
/***********************************************************************
ラージデバイス (デスクトップ) のスタイル
**********************************************************************/
@media screen and (min-width: 751px) {
  .pc_non {
    display: none !important;
  }
  html {
    font-size: 0.5208333333vw !important;
  }
  #wrapper {
    width: 100%;
  }
  header {
    align-items: center;
  }
  header #news {
    margin-left: 2rem;
  }
  header #news .news_area {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 2rem 50%);
  }
  header #news .news_area::before {
    width: 1.2rem;
    height: 1.4rem;
    left: 3rem;
    top: calc(50% - 0.7rem);
  }
  header #news #news_list li {
    height: 4.6rem;
    padding-left: 5.5rem;
  }
  #kojima {
    width: 27.4rem;
    height: 6.4rem;
    margin-left: 3rem;
    margin-right: 2rem;
  }
  #kojima:hover {
    opacity: 0.65;
  }
  #racelogo {
    flex-shrink: 0;
    margin-left: 5rem;
    margin-right: 11rem;
  }
  .sns_btn li {
    width: 5rem;
    height: 5rem;
    margin-right: 1rem;
  }
  #nav {
    top: 0;
  }
  .nav_btn {
    margin-top: 15rem;
  }
  .nav_btn li {
    width: 10rem;
    height: 8.5rem;
    margin-top: 2rem;
  }
  .nav_btn li:hover {
    opacity: 0.75;
  }
  .nav_btn li:nth-child(1) {
    background: url(../images/nav_vote.svg) no-repeat center, #000;
    background-size: contain;
  }
  .nav_btn li:nth-child(2) {
    background: url(../images/nav_live.svg) no-repeat center, #000;
    background-size: contain;
  }
  .nav_btn li:nth-child(3) {
    background: url(../images/nav_rep.svg) no-repeat center, #000;
    background-size: contain;
  }
  .nav_btn li.data {
    width: 14rem;
    height: 14rem;
    margin-top: 30rem;
    margin-left: -4.2rem;
    border-width: 0.3rem;
  }
  .menu_btn {
    cursor: pointer;
    width: 10rem;
    height: 10rem;
  }
  .menu_btn:hover {
    opacity: 0.65;
  }
  .menu-content {
    padding-bottom: 10rem;
  }
  .menu-content * {
    font-size: 2rem;
  }
  .menu-content li {
    position: relative;
    overflow: hidden;
  }
  .menu-content li::before {
    top: 0.5rem;
    margin-right: 1rem;
    margin-left: 1.65rem;
  }
  .menu-content li h3 {
    height: 5.3rem;
  }
  .menu-content li:not(:first-child)::after {
    content: "";
    display: inline-block;
    background: rgba(255, 255, 255, 0.7490196078);
    width: 3rem;
    height: 10rem;
    position: absolute;
    transform: rotate(45deg);
    left: -6rem;
  }
  .menu-content li:not(:first-child):hover::after {
    transition: all 0.5s;
    left: 110%;
  }
  .menu-content ul:nth-child(1) h3 {
    width: 18.9rem;
  }
  .menu-content ul:nth-child(2) {
    margin-right: 9rem;
    margin-left: 9rem;
  }
  .menu-content ul:nth-child(2) h3 {
    width: 40.5rem;
  }
  .menu-content ul:nth-child(3) h3 {
    width: 30.3rem;
  }
}/*# sourceMappingURL=common.css.map */