@charset "UTF-8";
/**************************************************************
※モバイルファースト
※ビューポートスケーリング無し

・pxはすべてremに置き換え(10px = 1rem)(htmlに基準値を付与)
  例：デザインカンプ 20px = 2rem
***************************************************************/
/* CSS Document */
:root {
  --font-family-en-1: "nocturne-serif", sans-serif;
  --font-family-en-2: "itc-avant-garde-gothic-pro", sans-serif;
  --font-family-en-3: "roboto", sans-serif;
  --font-family-en-4: "Oswald", sans-serif;
  --font-family-J: "Noto Sans JP", sans-serif;
  --font-family-J-2: "toppan-bunkyu-midashi-min-st", serif;
  --red: #E50012;
  --red2: #EA5E45;
  --lightblue: #00FFDC;
  --lightblue2: #77CBEF;
  --yellow: #F4E329;
  --orange: #F1902C;
}

* {
  background: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
  text-decoration: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

html {
  font-family: "Noto Sans JP", "nocturne-serif", "itc-avant-garde-gothic-pro", "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;
}

body {
  background: -webkit-gradient(linear, left top, right top, from(#EBDC92), to(#B09A30));
  background: linear-gradient(90deg, #EBDC92, #B09A30);
  -webkit-text-size-adjust: 100%;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  min-height: 100vh;
  overflow-x: hidden;
}

picture {
  display: block;
  width: 100%;
  height: auto;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a.link {
  color: #000;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
a.link:hover {
  opacity: 0.7;
}

button {
  color: #000;
  display: block;
  cursor: pointer;
}

/* ALL
------------------------------------------------------------*/
#wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.inner {
  width: 100%;
  padding: 0 3rem;
}

.attention {
  margin-top: 1.6rem;
}
.attention li {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}
.attention li span.jyunyu {
  color: #0057FF;
}
.attention li span.yusho {
  color: #FF0046;
}
.attention li em {
  font-weight: 900;
}

/* loading
------------------------------------------------------------*/
#loading {
  background: -webkit-gradient(linear, left bottom, left top, from(#049FC0), to(#001434));
  background: linear-gradient(0deg, #049FC0, #001434);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  inset: 0;
  z-index: 9999;
  -webkit-animation: fadeOut 0.5s 1s forwards;
          animation: fadeOut 0.5s 1s forwards;
}
#loading::before, #loading::after {
  content: "";
  background: linear-gradient(135deg, #EBDC92, #B09A30);
  width: 100%;
  height: 0.5rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
}
#loading::before {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-animation: zoomIn 1s forwards;
          animation: zoomIn 1s forwards;
}
#loading::after {
  top: auto;
  bottom: 0;
}
#loading img {
  width: 37.5rem;
}

/* top button
------------------------------------------------------------*/
#topBtn {
  border-radius: 50%;
  font-family: var(--font-family-en-1);
  font-size: 2.8rem;
  font-style: italic;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 11.2rem;
  height: 11.2rem;
  position: fixed;
  bottom: 2rem;
  right: 3rem;
  z-index: 500;
  -webkit-transition: 0.3s opacity, 0.3s visibility, background-color 0.2s, color 0.2s;
  transition: 0.3s opacity, 0.3s visibility, background-color 0.2s, color 0.2s;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
#topBtn span:first-child {
  -webkit-mask: url("../images/icn_top.svg") center/contain no-repeat;
          mask: url("../images/icn_top.svg") center/contain no-repeat;
  display: block;
  width: 2.6rem;
  height: 2.6rem;
  margin-bottom: 0.4rem;
}
#topBtn.default {
  background: #fff;
}
#topBtn.default span:first-child {
  background: #000;
}
#topBtn.black {
  background: #000;
  color: #fff;
}
#topBtn.black span:first-child {
  background: #fff;
}
#topBtn.show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
#topBtn.show:hover {
  opacity: 0.7;
}

/* menu
------------------------------------------------------------*/
/* open button */
button#showBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 10rem;
  height: 10rem;
  padding: 0.7rem 1.2rem 0;
  position: fixed;
  top: 1.6rem;
  right: 0.8rem;
  z-index: 2001;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translateY(-12rem);
          transform: translateY(-12rem);
  -webkit-animation: header-loading 0.5s 2s ease-out forwards;
          animation: header-loading 0.5s 2s ease-out forwards;
}
button#showBtn:hover {
  opacity: 0.7;
}
button#showBtn p {
  color: #fff;
  font-family: var(--font-family-en-1);
  font-size: 2.4rem;
  margin-top: 0.8rem;
}

/* close button */
button#closeBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 11rem;
  height: 11rem;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 2001;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
button#closeBtn:hover {
  opacity: 0.7;
}
button#closeBtn img {
  width: 5rem;
}
button#closeBtn p {
  color: #fff;
  font-family: var(--font-family-en-1);
  font-size: 2.4rem;
  margin-top: 0.8rem;
}
button#closeBtn::before {
  content: "";
  background: #000;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  width: 20rem;
  height: 20rem;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}

/* menu contents */
#menu {
  background: rgba(255, 255, 255, 0.9);
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: auto;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2002;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
#menu.open {
  -webkit-animation-name: dialog-open;
          animation-name: dialog-open;
}
#menu.close {
  -webkit-animation-name: dialog-close;
          animation-name: dialog-close;
}
#menu #menu_con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 90%;
  margin: 0 auto;
  padding: 1.6rem 0 4rem;
  z-index: 1;
}
#menu #menu_con .box h2 {
  background: url("../images/icn_twinkle_skew.svg") no-repeat left center/3.6rem 3.6rem, url("../images/icn_twinkle_skew.svg") no-repeat right center/3.6rem 3.6rem;
  font-family: var(--font-family-en-1);
  font-size: 5.4rem;
  font-style: italic;
  text-align: left;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 !important;
  padding: 0 4.5rem 0 4rem;
  position: relative;
  z-index: 1;
}
#menu #menu_con .box h2::before {
  -webkit-text-stroke: 0.3rem #000;
  font-family: var(--font-family-en-1);
  font-size: 5.4rem;
  font-style: italic;
  text-align: left;
  line-height: 1;
  padding: 0 4.5rem 0 4rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#menu #menu_con .box:nth-of-type(2) h2 {
  color: var(--red2);
}
#menu #menu_con .box:nth-of-type(2) h2::before {
  content: "SPECIAL";
}
#menu #menu_con .box:nth-of-type(2) ul li::before {
  background: var(--red2);
}
#menu #menu_con .box:nth-of-type(2) ul li a:hover {
  background: var(--red2);
}
#menu #menu_con .box:nth-of-type(3) h2 {
  color: var(--lightblue2);
}
#menu #menu_con .box:nth-of-type(3) h2::before {
  content: "RACE INFORMATION";
}
#menu #menu_con .box:nth-of-type(3) ul li::before {
  background: var(--lightblue2);
}
#menu #menu_con .box:nth-of-type(3) ul li a:hover {
  background: var(--lightblue2);
}
#menu #menu_con .box:nth-of-type(4) h2 {
  color: var(--orange);
}
#menu #menu_con .box:nth-of-type(4) h2::before {
  content: "INFORMATION";
}
#menu #menu_con .box:nth-of-type(4) ul li::before {
  background: var(--orange);
}
#menu #menu_con .box:nth-of-type(4) ul li a:hover {
  background: var(--orange);
}
#menu #menu_con ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin-bottom: 4rem;
  position: relative;
}
#menu #menu_con ul li {
  border-bottom: 0.1rem solid #000;
  font-size: 3rem;
  text-align: left;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(50% - 0.4rem);
  height: 10rem;
  padding-left: 3.8rem;
  position: relative;
}
#menu #menu_con ul li::before {
  content: "";
  background: #000;
  -webkit-mask: url("../images/con_icn_arrow.svg") no-repeat center/contain;
          mask: url("../images/con_icn_arrow.svg") no-repeat center/contain;
  width: 3rem;
  height: 3rem;
  margin: auto;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
#menu #menu_con ul li a {
  line-height: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0.8rem 0 0.8rem 0.8rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#menu #menu_con ul li a:hover {
  opacity: 1;
}
#menu #menu_con ul li a span {
  font-size: 2.4rem;
}
#menu #menu_con ul li.no {
  opacity: 0.3;
}
#menu #menu_con ul li.no a {
  pointer-events: none;
}
#menu #menu_con ul.special_menu li {
  width: 100%;
}
#menu #menu_con .menu_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100vw;
  height: 10rem;
  margin-left: -5vw;
  margin-bottom: 2rem;
}
#menu #menu_con .menu_header h1 {
  width: 29.8rem;
  height: 100%;
}
#menu #menu_con .menu_header h1 a {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 2.4rem;
}
#menu #menu_con .menu_header h1 a img {
  -webkit-filter: invert(1);
          filter: invert(1);
}
#menu #menu_con .menu_header ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0.8rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 11.6rem;
  margin-bottom: 0;
}
#menu #menu_con .menu_header ul li {
  background: var(--lightblue);
  border: 0.5rem solid #000;
  border-radius: 50%;
  width: 10rem;
  height: 100%;
  padding: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#menu #menu_con .menu_header ul li::before {
  content: none;
}
#menu #menu_con .menu_header ul li:hover {
  opacity: 0.7;
  -webkit-transform: translateY(0.2rem);
          transform: translateY(0.2rem);
}
#menu #menu_con .menu_header ul li a {
  font-size: 2.4rem;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.8rem;
}
#menu #menu_con .menu_header ul li a img {
  display: block;
  width: 100%;
}
#menu #menu_con ul.sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 52.8rem;
  height: 9.6rem;
}
#menu #menu_con ul.sns-list li {
  border-bottom: none;
  width: 9.6rem;
  height: 100%;
  padding: 0;
}
#menu #menu_con ul.sns-list li::before {
  content: none;
}
#menu #menu_con ul.sns-list li a:hover {
  opacity: 0.7;
}

/* header
------------------------------------------------------------*/
header {
  background: rgba(0, 20, 52, 0.7);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 13.2rem;
  padding: 1.6rem 0;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transition: top 0.2s ease-in-out;
  transition: top 0.2s ease-in-out;
  z-index: 100;
  opacity: 0;
  -webkit-transform: translateY(-12rem);
          transform: translateY(-12rem);
  -webkit-animation: header-loading 0.5s 2s ease-out forwards;
          animation: header-loading 0.5s 2s ease-out forwards;
}
header h1 {
  width: 29.8rem;
  height: 100%;
  position: relative;
}
header h1 a {
  -webkit-filter: drop-shadow(0 0 0.6rem #001434);
          filter: drop-shadow(0 0 0.6rem #001434);
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 2.4rem;
}
header ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 32rem;
  margin-right: 11.6rem;
}
header ul li {
  background: var(--lightblue);
  border: 0.5rem solid #000;
  border-radius: 50%;
  width: 10rem;
  height: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header ul li:hover {
  opacity: 0.7;
  -webkit-transform: translateY(0.2rem);
          transform: translateY(0.2rem);
}
header ul li a {
  font-size: 2.4rem;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.8rem;
}
header ul li a img {
  display: block;
  width: 100%;
}

body:not(.index) header h1::before {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#002156), to(#0389AE));
  background: linear-gradient(90deg, #002156 0%, #0389AE 100%);
  width: 120%;
  height: calc(100% + 3.2rem);
  position: absolute;
  top: -1.6rem;
  left: -20%;
  -webkit-transform: skew(-16deg);
          transform: skew(-16deg);
}

/* first view
------------------------------------------------------------*/
body.index section#first-view {
  position: relative;
  z-index: 1;
}
body.index section#first-view::before {
  content: "";
  background: url(../images/bg_con.jpg) no-repeat center center/100% auto;
  width: 100%;
  height: 150.4rem;
  position: absolute;
  top: 93.4rem;
  left: 0;
  z-index: -1;
}
@supports (background-image: url("../images/bg_con.webp")) {
  body.index section#first-view::before {
    background: url("../images/bg_con.webp") no-repeat center center/100% auto;
  }
}
body.index section#first-view section#visu {
  background: #001434;
  width: 100%;
  height: 93.2rem;
  position: relative;
  overflow: hidden;
}
body.index section#first-view section#visu .bg {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-filter: blur(1.5rem);
          filter: blur(1.5rem);
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  -webkit-animation: visu-bg-loading 1s 1s ease-out forwards;
          animation: visu-bg-loading 1s 1s ease-out forwards;
}
body.index section#first-view section#visu .tit {
  width: 73.7rem;
  position: absolute;
  bottom: 3.2rem;
  left: 1.6rem;
  opacity: 0;
  -webkit-filter: blur(1rem);
          filter: blur(1rem);
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  -webkit-animation: visu-tit-loading 0.5s 2s ease-out forwards;
          animation: visu-tit-loading 0.5s 2s ease-out forwards;
}
body.index section#first-view article .h2-wrap {
  width: 100%;
  position: relative;
}
body.index section#first-view article h2 {
  background: -webkit-gradient(linear, left top, right top, from(#EBDC92), to(#B09A30));
  background: linear-gradient(90deg, #EBDC92, #B09A30);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--font-family-en-1);
  font-size: 4.8rem;
  font-style: italic;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
body.index section#first-view article h2::before, body.index section#first-view article h2::after {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#EBDC92), to(#B09A30));
  background: linear-gradient(90deg, #EBDC92, #B09A30);
  width: 17.5rem;
  height: 0.3rem;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
}
body.index section#first-view article#contents {
  margin-top: 4rem;
}
body.index section#first-view article#contents h2 {
  margin: 0 auto;
}
body.index section#first-view article#contents h2::before {
  left: 0;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
body.index section#first-view article#contents h2::after {
  right: 0;
}
body.index section#first-view article#contents .btn-wrap {
  margin-top: 3.2rem;
}
body.index section#first-view article#contents ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.4rem;
  width: 100%;
}
body.index section#first-view article#contents ul li {
  width: calc(50% - 0.7rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
body.index section#first-view article#contents ul li.no {
  pointer-events: none;
}
body.index section#first-view article#contents ul li.no::before {
  content: "";
  width: 10.5rem;
  height: 10.5rem;
  position: absolute;
  top: -2.4rem;
  right: -1.2rem;
  z-index: 3;
}
body.index section#first-view article#contents ul li.no::after {
  content: "";
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
body.index section#first-view article#contents ul li.no a {
  pointer-events: none;
}
body.index section#first-view article#contents ul.special li {
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
}
body.index section#first-view article#contents ul.special li:hover {
  -webkit-filter: drop-shadow(0 0 1.6rem rgba(0, 255, 220, 0.8));
          filter: drop-shadow(0 0 1.6rem rgba(0, 255, 220, 0.8));
  opacity: 1;
}
body.index section#first-view article#contents ul.special li a:hover {
  opacity: 1;
}
body.index section#first-view article#contents ul.special li:nth-child(1) {
  -webkit-animation: header-loading 0.7s 2.5s ease-out forwards;
          animation: header-loading 0.7s 2.5s ease-out forwards;
}
body.index section#first-view article#contents ul.special li:nth-child(1)::before {
  background: url(../images/btn_spe_day01.svg) no-repeat center center/100% auto;
}
body.index section#first-view article#contents ul.special li:nth-child(2) {
  -webkit-animation: header-loading 0.7s 2.7s ease-out forwards;
          animation: header-loading 0.7s 2.7s ease-out forwards;
}
body.index section#first-view article#contents ul.special li:nth-child(2)::before {
  background: url(../images/btn_spe_day01.svg) no-repeat center center/100% auto;
}
body.index section#first-view article#contents ul.special li:nth-child(3) {
  -webkit-animation: header-loading 0.7s 2.9s ease-out forwards;
          animation: header-loading 0.7s 2.9s ease-out forwards;
}
body.index section#first-view article#contents ul.special li:nth-child(3)::before {
  background: url(../images/btn_spe_day02.svg) no-repeat center center/100% auto;
}
body.index section#first-view article#contents ul.special li:nth-child(4) {
  -webkit-animation: header-loading 0.7s 3.1s ease-out forwards;
          animation: header-loading 0.7s 3.1s ease-out forwards;
}
body.index section#first-view article#contents ul.special li:nth-child(4)::before {
  background: url(../images/btn_spe_day03.svg) no-repeat center center/100% auto;
}
body.index section#first-view article#contents ul.other {
  margin-top: 2.4rem;
  opacity: 0;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  -webkit-animation: header-loading 0.7s 3.3s ease-out forwards;
          animation: header-loading 0.7s 3.3s ease-out forwards;
}
body.index section#first-view article#contents ul.other li {
  background: #00A8FF;
  border: 0.4rem solid #fff;
  height: 12rem;
}
body.index section#first-view article#contents ul.other li:hover {
  opacity: 0.7;
  -webkit-transform: translateY(0.2rem);
          transform: translateY(0.2rem);
}
body.index section#first-view article#contents ul.other li a {
  color: #fff;
  font-weight: 900;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
body.index section#first-view article#contents ul.other li a::before {
  content: "";
  background: #fff;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  width: 10rem;
  height: 10rem;
  position: absolute;
  bottom: 0;
  right: 0;
}
body.index section#first-view article#contents ul.other li a::after {
  content: "";
  width: 4rem;
  height: 3.8rem;
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
}
body.index section#first-view article#contents ul.other li:nth-child(1) a::after, body.index section#first-view article#contents ul.other li:nth-child(2) a::after {
  background: url("../images/con_icn_arrow.svg") no-repeat center/100% auto;
}
body.index section#first-view article#contents ul.other li:nth-child(3) a::after {
  background: url("../images/con_icn_arrow.svg") no-repeat center/100% auto;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
body.index section#first-view article#contents ul.other li:nth-child(4) a::after {
  background: url("../images/con_icn_download.svg") no-repeat center/100% auto;
}
body.index section#first-view article#news {
  max-height: 24rem;
  margin-top: 6.4rem;
  padding-bottom: 1.2rem;
  position: relative;
}
body.index section#first-view article#news::before {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#EBDC92), to(#B09A30));
  background: linear-gradient(90deg, #EBDC92, #B09A30);
  width: 100%;
  height: 0.3rem;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
body.index section#first-view article#news h2::before {
  width: 50.8rem;
  right: 0;
}
body.index section#first-view article#news h2::after {
  content: none;
}
body.index section#first-view article#news ul {
  width: 100%;
  max-height: 18rem;
  overflow: hidden;
  overflow-y: scroll;
}
body.index section#first-view article#news ul::-webkit-scrollbar {
  background: -webkit-gradient(linear, left top, right top, color-stop(0.4rem, transparent), color-stop(0.4rem, #fff), color-stop(0.5rem, #fff), color-stop(0.5rem, transparent));
  background: linear-gradient(90deg, transparent 0.4rem, #fff 0.4rem, #fff 0.5rem, transparent 0.5rem);
  width: 0.9rem;
}
body.index section#first-view article#news ul::-webkit-scrollbar-thumb {
  background: #fff;
  border-radius: 0.5rem;
}
body.index section#first-view article#news ul li {
  border-bottom: 0.1rem solid #fff;
  padding: 2.4rem 0;
}
body.index section#first-view article#news ul li:last-child {
  border-bottom: none;
}
body.index section#first-view article#news ul li a {
  color: #fff;
  font-size: 2.8rem;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
body.index section#first-view article#news ul li a span.day {
  font-family: var(--font-family-en-1);
  font-style: italic;
  margin-bottom: 0.4rem;
}
body.index section#first-view article#news ul li.no a {
  pointer-events: none;
}
body.index section#first-view article#banner {
  width: 100%;
  height: 18.5rem;
  margin-top: 2.4rem;
  position: relative;
}
body.index section#first-view article#banner .swiper {
  height: 16.5rem;
}
body.index section#first-view article#banner .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 24.8rem;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 0;
}
body.index section#first-view article#banner .swiper-pagination span {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 0;
  display: block;
  width: 12rem;
  height: 0.4rem;
}
body.index section#first-view article#banner .swiper-pagination span.swiper-pagination-bullet-active {
  background: #fff;
}

/* dream
------------------------------------------------------------*/
body.index section#dream {
  background: url(../images/bg_pop.png) repeat-y top center/100% auto, var(--red2);
  background-blend-mode: soft-light;
  width: 100%;
  margin: 16.8rem 0 6.2rem;
  padding: 7.9rem 0 9.5rem;
  position: relative;
  z-index: 2;
}
body.index section#dream::before, body.index section#dream::after {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#ebdc92), to(#b09b30));
  background: linear-gradient(90deg, #ebdc92, #b09b30);
  width: 100%;
  height: 14.4rem;
  -webkit-transform: skew(-6deg) rotate(-6deg);
          transform: skew(-6deg) rotate(-6deg);
  position: absolute;
  left: 0;
}
body.index section#dream::before {
  top: -10.3rem;
}
body.index section#dream::after {
  bottom: -10.3rem;
}
body.index section#dream h2 {
  width: 100%;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  opacity: 0;
}
body.index section#dream h2.mov {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
body.index section#dream .min-inner {
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  opacity: 0;
}
body.index section#dream .min-inner.mov {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
body.index section#dream .tab-wrap {
  margin-top: 2.2rem;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] {
  background: none;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
  padding-bottom: 0.1rem;
  position: relative;
  overflow-x: visible;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist]::before {
  content: "";
  background: #fff;
  width: 120%;
  height: 0.3rem;
  position: absolute;
  bottom: -0.1rem;
  left: -10%;
  right: -10%;
  z-index: 2;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab] {
  background: #000;
  border: none;
  color: #fff;
  font-family: var(--font-family-en-1);
  font-size: 2.6rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1.1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
  height: 12rem;
  padding: 0;
  position: relative;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab] p {
  margin-bottom: 3.2rem;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab] em {
  font-size: 4.4rem;
  margin-right: 0.8rem;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab] span {
  background: #fff;
  color: #000;
  font-size: 2.5rem;
  font-weight: 900;
  font-family: var(--font-family-J);
  display: inline-block;
  font-style: normal;
  line-height: 3.5rem;
  height: 3.5rem;
  padding: 0 1.2rem;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=true] {
  background: #fff;
  color: var(--red);
  font-size: 4.3rem;
  height: 15rem;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=true] p {
  margin-bottom: 0;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=true] em {
  font-size: 7.2rem;
  margin-right: 1rem;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=true] span {
  background: var(--red);
  color: #fff;
  font-size: 4.1rem;
  line-height: 5.6rem;
  height: 5.6rem;
  padding: 0 2rem;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=true]::before {
  content: none;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=false] {
  cursor: pointer;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=false]:hover {
  opacity: 0.7;
}
body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab]::before {
  content: "";
  background: url("../images/icn_arrow_down.svg") no-repeat center/100% auto;
  width: 2.7rem;
  height: 1.5rem;
  margin: 0 auto;
  position: absolute;
  bottom: 0.7rem;
  left: 0;
  right: 0;
}
body.index section#dream .tab-wrap .tabs-content {
  border: none;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane {
  background: none;
  border: none;
  font-weight: 700;
  padding: 0;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane h3 {
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 3.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  height: 7.5rem;
  margin-top: 2.8rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane h3 span:first-child span {
  display: inline-block;
  font-family: var(--font-family-en-1);
  font-size: 4.7rem;
  margin-right: 1.6rem;
  -webkit-transform: translateY(0.2rem);
          transform: translateY(0.2rem);
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane h3 span:last-child {
  font-weight: 900;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] {
  background: none;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 2.4rem;
  overflow-x: visible;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab] {
  border: none;
  color: #fff;
  font-size: 3.8rem;
  font-weight: 700;
  width: 33.3333333333%;
  padding: 0 0 2.4rem;
  position: relative;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab][aria-selected=true] {
  background: url("../images/dream_btn_active.svg") no-repeat center/96% auto;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab][aria-selected=true] picture {
  border-width: 0.7rem !important;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab] picture {
  border-radius: 50%;
  width: 16.5rem;
  height: 16.5rem;
  margin: 0 auto;
  overflow: hidden;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab] span {
  font-family: var(--font-family-en-1);
  font-size: 12.2rem;
  font-style: italic;
  line-height: 1;
  display: block;
  position: absolute;
  top: 5.9rem;
  right: 1.1rem;
  z-index: 1;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab] span::before {
  -webkit-text-stroke: 0.9rem #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(1) picture {
  border: 0.3rem solid #fff;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(1) span {
  color: #fff;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(1) span::before {
  content: "1";
  -webkit-text-stroke: 0.9rem #000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(2) picture {
  border: 0.3rem solid #000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(2) span {
  color: #000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(2) span::before {
  content: "2";
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(3) picture {
  border: 0.3rem solid #FF0000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(3) span {
  color: #FF0000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(3) span::before {
  content: "3";
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(4) picture {
  border: 0.3rem solid #002BFF;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(4) span {
  color: #002BFF;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(4) span::before {
  content: "4";
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(5) picture {
  border: 0.3rem solid #FFF700;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(5) span {
  color: #FFF700;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(5) span::before {
  content: "5";
  -webkit-text-stroke: 0.9rem #000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(6) picture {
  border: 0.3rem solid #00AD23;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(6) span {
  color: #00AD23;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers[role=tablist] li[role=tab]:nth-child(6) span::before {
  content: "6";
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content {
  background: none;
  border: none;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li {
  background: #fff;
  font-weight: 700;
  padding: 3rem;
  position: relative;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro {
  width: 25.3rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro .img_wrap {
  position: relative;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro .img_wrap p {
  color: #fff;
  font-size: 3rem;
  line-height: 0.75;
  padding-left: 0.5rem;
  position: absolute;
  bottom: 0;
  z-index: 1;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro .img_wrap p em {
  font-family: var(--font-family-en-1);
  font-size: 11.1rem;
  font-style: italic;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro .img_wrap p::before {
  content: "";
  background: rgba(0, 0, 0, 0.75);
  clip-path: polygon(0 100%, 0 0, 100% 100%);
  width: 18.4rem;
  height: 11rem;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro h4 {
  font-size: 3rem;
  font-weight: 900;
  text-align: left;
  line-height: 1.2;
  margin-top: 1.2rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro h4 em {
  font-size: 5rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 0.4rem;
  width: calc(100% - 25.3rem - 1.6rem);
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section.tsusan {
  height: 100%;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section h5 {
  border-bottom: 0.2rem solid #000;
  font-size: 2.8rem;
  text-align: left;
  width: 100%;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 0.4rem;
  height: 100%;
  margin-top: 0.8rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li {
  background: rgba(0, 0, 0, 0.1);
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(50% - 0.2rem);
  padding: 0;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li span {
  font-size: 2.8rem;
  margin-bottom: 1.2rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li em {
  font-family: var(--font-family-en-2);
  font-size: 5.4rem;
  font-weight: 600;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li em span {
  font-size: 3.6rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li em span.ja {
  font-family: var(--font-family-J);
  font-size: 3.2rem;
  font-weight: 700;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box {
  background: rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 8rem;
  margin-top: 0.8rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p {
  font-family: var(--font-family-en-2);
  font-size: 3rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span {
  display: inline-block;
  color: #fff;
  font-size: 3rem;
  line-height: 3.3rem;
  width: 5.7rem;
  height: 3.3rem;
  margin: 0 0.8rem;
  -webkit-transform: translateY(-0.3rem);
          transform: translateY(-0.3rem);
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span.G0 {
  background: #8386A4;
  font-size: 2.4rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span.G1 {
  background: #EB6E00;
  font-size: 2.7rem;
  letter-spacing: -0.4rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span.G2 {
  background: #00B892;
  font-size: 2.7rem;
  letter-spacing: -0.4rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span.SG {
  background: #CE0000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p em b.jyunyu {
  color: #0057FF;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p em b.yusho {
  color: #FF0046;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p em span.ja {
  color: #000;
  font-size: 2.7rem;
  line-height: normal;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  -webkit-transform: scale(0.8, 1) translate(-0.3rem, -0.1rem);
          transform: scale(0.8, 1) translate(-0.3rem, -0.1rem);
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li section.tanpyo {
  margin-top: 2rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li section.tanpyo h5 {
  font-size: 2.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 4.8rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li section.tanpyo p {
  border: 0.2rem solid #000;
  border-top: none;
  font-size: 3rem;
  text-align: justify;
  line-height: 1.3;
  width: 100%;
  padding: 1.6rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li::before {
  content: "";
  width: 9.2rem;
  height: 9.2rem;
  position: absolute;
  top: 27.8rem;
  right: -0.7rem;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(1) {
  border: 0.3rem solid #828282;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(1)::before {
  background: url("../images/dream_card_accent01.svg") no-repeat center/100% auto;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(1) section.tanpyo h5 {
  background: #E5E5E5;
  border: 0.2rem solid #000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(2) {
  border: 0.3rem solid #000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(2)::before {
  background: url("../images/dream_card_accent02.svg") no-repeat center/100% auto;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(2) section.tanpyo h5 {
  background: #000;
  color: #fff;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(3) {
  border: 0.3rem solid #FF0000;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(3)::before {
  background: url("../images/dream_card_accent03.svg") no-repeat center/100% auto;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(3) section.tanpyo h5 {
  background: #FF0000;
  color: #fff;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(4) {
  border: 0.3rem solid #002BFF;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(4)::before {
  background: url("../images/dream_card_accent04.svg") no-repeat center/100% auto;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(4) section.tanpyo h5 {
  background: #002BFF;
  color: #fff;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(5) {
  border: 0.3rem solid #FFCB00;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(5)::before {
  background: url("../images/dream_card_accent05.svg") no-repeat center/100% auto;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(5) section.tanpyo h5 {
  background: #FFCB00;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(6) {
  border: 0.3rem solid #00AD23;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(6)::before {
  background: url("../images/dream_card_accent06.svg") no-repeat center/100% auto;
}
body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li:nth-child(6) section.tanpyo h5 {
  background: #00AD23;
  color: #fff;
}
@supports (background-image: url("../images/bg_pop.webp")) {
  body.index section#dream {
    background: url(../images/bg_pop.webp) repeat-y top center/100% auto, var(--red2);
  }
}

/* tenbo
------------------------------------------------------------*/
body.index section#tenbo {
  background: url(../images/bg_pop.png) repeat-y top center/100% auto, var(--lightblue2);
  background-blend-mode: soft-light;
  width: 100%;
  margin-bottom: 14.4rem;
  padding: 10.3rem 0 8rem;
  position: relative;
}
body.index section#tenbo::before {
  content: "";
  background: url("../images/tenbo_accent01.png") no-repeat center/100% auto;
  width: 20.4rem;
  height: 129.2rem;
  position: absolute;
  top: -8.8rem;
  right: -6.3rem;
  z-index: 4;
}
body.index section#tenbo::after {
  content: "";
  background: url("../images/tenbo_accent02.png") no-repeat center/100% auto;
  width: 65.2rem;
  height: 49.7rem;
  position: absolute;
  bottom: 1.4rem;
  left: -6.1rem;
  z-index: 4;
}
@supports (background-image: url("../images/tenbo_accent01.webp")) {
  body.index section#tenbo::before {
    background: url("../images/tenbo_accent01.webp") no-repeat center/100% auto;
  }
  body.index section#tenbo::after {
    background: url("../images/tenbo_accent02.webp") no-repeat center/100% auto;
  }
}
body.index section#tenbo h2 {
  width: 51.1rem;
  margin: 0 auto;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  opacity: 0;
}
body.index section#tenbo h2.mov {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
body.index section#tenbo .racer_img {
  margin-top: -4.6rem;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  opacity: 0;
}
body.index section#tenbo .racer_img.mov {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
body.index section#tenbo .txt_box {
  margin-top: -6.3rem;
  padding: 3rem;
  position: relative;
  z-index: 2;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  opacity: 0;
}
body.index section#tenbo .txt_box.mov {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
body.index section#tenbo .txt_box::before, body.index section#tenbo .txt_box::after {
  content: "";
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
body.index section#tenbo .txt_box::before {
  content: "";
  background: #777BEF;
  width: 92%;
  height: 102%;
  -webkit-transform: rotate(-4deg);
          transform: rotate(-4deg);
  z-index: -1;
}
body.index section#tenbo .txt_box::after {
  content: "";
  background: #fff;
  border: 0.1rem solid #000;
  z-index: -1;
}
body.index section#tenbo .txt_box h3 {
  color: #777BEF;
  font-size: 4.1rem;
  font-weight: 900;
  line-height: 1.1;
}
body.index section#tenbo .txt_box h3 em {
  font-size: 5.6rem;
}
body.index section#tenbo .txt_box h4 {
  background: #777BEF;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 900;
  text-align: justify;
  line-height: 1.5;
  margin: 2.4rem 0;
  padding: 1.6rem;
}
body.index section#tenbo .txt_box p {
  font-size: 3rem;
  font-weight: 400;
  text-align: justify;
  line-height: 1.6;
}
body.index section#tenbo .txt_box p em {
  font-weight: 700;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, rgba(255, 243, 69, 0.5)));
  background: linear-gradient(to bottom, transparent 50%, rgba(255, 243, 69, 0.5) 50%);
}
@supports (background-image: url("../images/bg_pop.webp")) {
  body.index section#tenbo {
    background: url(../images/bg_pop.webp) repeat-y top center/100% auto, var(--lightblue2);
  }
}

/* racer
------------------------------------------------------------*/
body.index section#racer {
  background: url(../images/bg_pop.png) repeat-y top center/100% auto, var(--yellow);
  background-blend-mode: soft-light;
  width: 100%;
  height: 93.7rem;
  margin-bottom: 14.4rem;
  padding: 8rem 0 11.4rem;
  position: relative;
}
body.index section#racer h2 {
  width: 64.4rem;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  opacity: 0;
}
body.index section#racer h2.mov {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
body.index section#racer #racer_slide-box {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
  opacity: 0;
}
body.index section#racer #racer_slide-box.mov {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
body.index section#racer #racer_slide-box .track {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  top: -314%;
  left: 3rem;
  -webkit-animation: scroll-up 200s infinite linear 0.5s both;
          animation: scroll-up 200s infinite linear 0.5s both;
}
body.index section#racer #racer_slide-box .track.reverse {
  top: 0;
  left: auto;
  right: 3rem;
  -webkit-animation: scroll-up 200s infinite linear 0.5s both;
          animation: scroll-up 200s infinite linear 0.5s both;
}
body.index section#racer #racer_slide-box .track li {
  border: 0.5rem solid #000;
  width: 33rem;
  height: 33rem;
  margin: 1.6rem 0;
  position: relative;
  overflow: hidden;
}
body.index section#racer #racer_slide-box .track li picture {
  width: auto;
  height: 100%;
  position: absolute;
  left: -10%;
  right: -10%;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transform-origin: top;
          transform-origin: top;
}
body.index section#racer button {
  background: var(--lightblue);
  border: 0.4rem solid #000;
  color: #000;
  width: 50rem;
  height: 12rem;
  margin: 0 auto;
  position: absolute;
  bottom: 11.4rem;
  left: 0;
  right: 0;
  z-index: 2;
}
body.index section#racer button::before {
  content: "";
  background: #000;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  width: 10rem;
  height: 10rem;
  position: absolute;
  bottom: 0;
  right: 0;
}
body.index section#racer button::after {
  content: "";
  background: url("../images/racer_icn_arrow.svg") no-repeat center/100% auto;
  width: 3.8rem;
  height: 3.6rem;
  position: absolute;
  bottom: 1rem;
  right: 0.9rem;
}
body.index section#racer button a {
  color: #000;
  font-family: var(--font-family-J);
  font-size: 3.2rem;
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
body.index section#racer button.no {
  pointer-events: none;
}
body.index section#racer button.no::before {
  background: rgba(0, 0, 0, 0.5);
  clip-path: none;
  width: 100%;
  height: 100%;
  z-index: -1;
}
body.index section#racer button.no::after {
  content: "COMING SOON…";
  background: none;
  font-family: var(--font-family-J);
  font-size: 3.2rem;
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  bottom: 0;
  right: 0;
}
body.index section#racer button.no a {
  display: none;
}
@supports (background-image: url("../images/bg_pop.webp")) {
  body.index section#racer {
    background: url(../images/bg_pop.webp) repeat-y top center/100% auto, var(--yellow);
  }
}

/* movie
------------------------------------------------------------*/
body.index section#movie {
  background: var(--orange);
  width: 100%;
  margin-bottom: 14.4rem;
}
body.index section#movie ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}
body.index section#movie ul li {
  width: calc(50% - 1.2rem);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
body.index section#movie ul li dialog {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: initial;
}
body.index section#movie ul li dialog::-ms-backdrop {
  background: rgba(0, 0, 0, 0.5);
}
body.index section#movie ul li dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}
body.index section#movie ul li dialog iframe {
  width: 100%;
  aspect-ratio: 16/9;
}
body.index section#movie ul li dialog button#closeMovie {
  width: 5.2rem;
  height: 5.2rem;
  position: absolute;
  top: -5.2rem;
  right: 0;
}
body.index section#movie ul li dialog button#closeMovie::before, body.index section#movie ul li dialog button#closeMovie::after {
  content: "";
  background: #fff;
  width: 100%;
  height: 0.1rem;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
body.index section#movie ul li dialog button#closeMovie::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
body.index section#movie ul li dialog button#closeMovie::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
body.index section#movie ul li a {
  position: relative;
}
body.index section#movie ul li a::before {
  content: "";
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  width: 9.4rem;
  height: 9.4rem;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: scale(0.85);
          transform: scale(0.85);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
body.index section#movie ul li a::after {
  content: "";
  background: #000;
  clip-path: polygon(100% 50%, 0 100%, 0 0);
  height: 2.4rem;
  aspect-ratio: 0.8660254038;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.6rem;
  right: 0;
}
body.index section#movie ul li a:hover::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* topics
------------------------------------------------------------*/
body.index section#topics {
  width: 100%;
  height: 22.8rem;
  margin-top: 2.4rem;
  position: relative;
}
body.index section#topics .swiper {
  width: 33.7rem;
  height: 20rem;
  overflow: visible;
}
body.index section#topics .swiper .swiper-slide {
  margin: 0 1.2rem;
}
body.index section#topics .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 0;
}
body.index section#topics .swiper-pagination span {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  margin: 0 0.8rem;
}
body.index section#topics .swiper-pagination span.swiper-pagination-bullet-active {
  background: #000;
}

/* footer
------------------------------------------------------------*/
footer {
  background: -webkit-gradient(linear, left top, right top, from(#EBDC92), to(#B09A30));
  background: linear-gradient(90deg, #EBDC92, #B09A30);
  width: 100%;
  padding: 6rem 0 14.4rem;
}
footer .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
footer p {
  color: #000;
  font-size: 2.4rem;
}
footer ul.sns-list {
  width: 52.8rem;
  height: 9.6rem;
  margin-bottom: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
footer ul.sns-list li {
  height: 100%;
  aspect-ratio: 1/1;
}

/***********************************************************************
ミディアムデバイス (スマートフォン) のスタイル
**********************************************************************/
@media (max-width: 750px) {
  .sp_non {
    display: none !important;
  }
  button:focus {
    outline: none;
  }
}
/***********************************************************************
ラージデバイス (デスクトップ) のスタイル
**********************************************************************/
@media (min-width: 751px) {
  .pc_non {
    display: none !important;
  }
  html {
    font-size: 0.5208333333vw;
  }
  body {
    font-size: 2rem;
  }
  /* ALL
  ------------------------------------------------------------*/
  .inner {
    padding: 0 4rem;
  }
  .min-inner {
    width: 160rem;
    margin: 0 auto;
  }
  .attention {
    margin-top: 1.6rem;
  }
  .attention li {
    font-size: 1.4rem;
  }
  /* loading
  ------------------------------------------------------------*/
  #loading img {
    width: 25rem;
  }
  /* top button
  ------------------------------------------------------------*/
  #topBtn {
    width: 10rem;
    height: 10rem;
    bottom: 2.4rem;
    right: 4rem;
  }
  #topBtn span:first-child {
    width: 2rem;
    height: 2rem;
    margin-bottom: 0;
  }
  /* menu
  ------------------------------------------------------------*/
  /* open button */
  button#showBtn {
    padding: 0 1.2rem;
    top: 2.8rem;
    right: 3rem;
  }
  /* close button */
  button#closeBtn {
    width: 11rem;
    height: 11rem;
    top: 50.8rem;
    bottom: auto;
  }
  button#closeBtn img {
    width: 5rem;
  }
  button#closeBtn p {
    font-size: 2.4rem;
    margin-top: 0.8rem;
  }
  button#closeBtn::before {
    width: 20rem;
    height: 20rem;
  }
  /* menu contents */
  #menu {
    height: auto;
    max-height: none;
    bottom: auto;
    overflow: hidden;
  }
  #menu::-ms-backdrop {
    background: rgba(0, 0, 0, 0.5);
  }
  #menu::backdrop {
    background: rgba(0, 0, 0, 0.5);
  }
  #menu #menu_con {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 160rem;
    padding: 1.6rem 0 4rem;
  }
  #menu #menu_con .box {
    width: calc(33.3333333333% - 1.6rem);
  }
  #menu #menu_con .box h2 {
    background: url("../images/icn_twinkle_skew.svg") no-repeat left center/2.4rem 2.4rem, url("../images/icn_twinkle_skew.svg") no-repeat right center/2.4rem 2.4rem;
    font-size: 3.2rem;
    margin: 0 0 0.8rem !important;
    padding: 0 3.1rem 0 2.8rem;
  }
  #menu #menu_con .box h2::before {
    -webkit-text-stroke: 0.3rem #000;
    font-size: 3.2rem;
    padding: 0 3.1rem 0 2.8rem;
  }
  #menu #menu_con ul {
    width: 100%;
    margin-bottom: 0;
  }
  #menu #menu_con ul li {
    font-size: 1.8rem;
    width: 100%;
    height: 4.8rem;
    padding-left: 2.6rem;
  }
  #menu #menu_con ul li::before {
    width: 1.8rem;
    height: 1.8rem;
  }
  #menu #menu_con ul li a {
    padding: 0.4rem 0 0.4rem 0.4rem;
  }
  #menu #menu_con ul li a span {
    font-size: 1.3rem;
  }
  #menu #menu_con .menu_header {
    height: 11.8rem;
    margin: 0 calc(-49.7vw + 80rem);
    margin-bottom: 2rem;
  }
  #menu #menu_con .menu_header h1 {
    width: 29.8rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-top: -1.6rem;
  }
  #menu #menu_con .menu_header h1 a {
    padding: 1.6rem 2.4rem;
  }
  #menu #menu_con .menu_header ul {
    gap: 0.4rem;
    margin-right: 16rem;
  }
  #menu #menu_con .menu_header ul li {
    width: 11.8rem;
  }
  #menu #menu_con .menu_header ul li a {
    padding: 1.6rem;
  }
  #menu #menu_con ul.sns-list {
    width: 26.4rem;
    height: 4.8rem;
    position: absolute;
    top: 1.6rem;
    left: 29.8rem;
  }
  #menu #menu_con ul.sns-list li {
    width: 4.8rem;
    height: 100%;
  }
  /* header
  ------------------------------------------------------------*/
  header {
    background: none;
    height: 15rem;
  }
  header::before {
    content: "";
    background: rgba(0, 20, 52, 0.7);
    width: 70rem;
    height: 100%;
    position: absolute;
    top: 0;
    right: -16rem;
    z-index: -1;
    -webkit-transform: skew(16deg);
            transform: skew(16deg);
  }
  header h1 {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-top: -1.6rem;
  }
  header h1 a {
    padding: 1.6rem 2.4rem;
  }
  header ul {
    width: 36rem;
    margin-right: 16rem;
  }
  header ul li {
    width: 11.8rem;
  }
  header ul li a {
    padding: 1.6rem;
  }
  body:not(.index) header h1::before {
    height: 100%;
    top: 0;
  }
  body:not(.index) header h1 a {
    padding: 2.4rem;
  }
  /* first view
  ------------------------------------------------------------*/
  body.index section#first-view {
    z-index: 3;
  }
  body.index section#first-view::before {
    content: none;
  }
  body.index section#first-view section#visu {
    height: 93.2rem;
  }
  body.index section#first-view section#visu .bg {
    -webkit-transform: translateX(10rem);
            transform: translateX(10rem);
  }
  body.index section#first-view section#visu .tit {
    width: 84.4rem;
    bottom: 2.4rem;
    left: 4rem;
  }
  body.index section#first-view article h2 {
    background: none;
    background-clip: border-box;
    color: #000;
    -webkit-text-fill-color: initial;
    font-size: 4rem;
  }
  body.index section#first-view article h2::before, body.index section#first-view article h2::after {
    background: #000;
    width: 17.5rem;
  }
  body.index section#first-view article#contents {
    width: 90.4rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-top: 0;
    position: absolute;
    top: 19.7rem;
    right: 4rem;
  }
  body.index section#first-view article#contents .btn-wrap {
    margin-top: 0;
  }
  body.index section#first-view article#contents ul {
    row-gap: 1.6rem;
  }
  body.index section#first-view article#contents ul li {
    width: calc(50% - 2rem);
  }
  body.index section#first-view article#contents ul li.no::after {
    height: 91.6%;
    top: auto;
    bottom: 0;
  }
  body.index section#first-view article#contents ul.special li::before {
    top: -0.9rem;
    right: -2.7rem;
  }
  body.index section#first-view article#contents ul.other {
    margin-top: 4rem;
  }
  body.index section#first-view article#contents ul.other li {
    border: 0.2rem solid #fff;
    width: calc(25% - 1.8rem);
    height: 8rem;
    padding-right: 5.5rem;
  }
  body.index section#first-view article#contents ul.other li.no::after {
    height: 100%;
  }
  body.index section#first-view article#contents ul.other li a {
    font-size: 2.2rem;
  }
  body.index section#first-view article#contents ul.other li a::before {
    content: "";
    clip-path: none;
    width: 5.5rem;
    height: 100%;
    right: -5.5rem;
  }
  body.index section#first-view article#contents ul.other li a::after {
    width: 2.8rem;
    height: 2.9rem;
    margin: auto;
    top: 0;
    bottom: 0;
    right: -4.25rem;
  }
  body.index section#first-view article#contents ul.other li:nth-child(1) a::after, body.index section#first-view article#contents ul.other li:nth-child(2) a::after {
    top: 0.4rem;
  }
  body.index section#first-view article#news {
    width: 84.4rem;
    max-height: 22rem;
    margin-top: 2.4rem;
    padding-bottom: 0;
  }
  body.index section#first-view article#news::before {
    content: none;
  }
  body.index section#first-view article#news::after {
    content: "";
    background: url("../images/pc/news_accent.svg") no-repeat center/100% auto;
    width: 183rem;
    height: 27.9rem;
    position: absolute;
    top: 2.6rem;
    left: -1.5rem;
  }
  body.index section#first-view article#news h2::before {
    width: 68.8rem;
  }
  body.index section#first-view article#news ul {
    max-height: 18rem;
  }
  body.index section#first-view article#news ul::-webkit-scrollbar {
    background: -webkit-gradient(linear, left top, right top, color-stop(0.2rem, transparent), color-stop(0.2rem, #000), color-stop(0.3rem, #000), color-stop(0.3rem, transparent));
    background: linear-gradient(90deg, transparent 0.2rem, #000 0.2rem, #000 0.3rem, transparent 0.3rem);
    width: 0.5rem;
  }
  body.index section#first-view article#news ul::-webkit-scrollbar-thumb {
    background: #000;
    border-radius: 0.4rem;
  }
  body.index section#first-view article#news ul li {
    border-bottom: 0.1rem solid #000;
    padding: 1.6rem 0;
  }
  body.index section#first-view article#news ul li a {
    color: #000;
    font-size: 1.8rem;
  }
  body.index section#first-view article#banner {
    width: 90.4rem;
    height: 20rem;
    margin-top: -20rem;
    float: right;
  }
  body.index section#first-view article#banner .swiper {
    height: 18.1rem;
  }
  body.index section#first-view article#banner .swiper-pagination {
    width: 20.8rem;
  }
  body.index section#first-view article#banner .swiper-pagination span {
    width: 10rem;
    height: 0.3rem;
  }
  /* dream
  ------------------------------------------------------------*/
  body.index section#dream {
    background: url(../images/pc/bg_pop.png) repeat-y top center/100% auto, var(--red2);
    margin: -7.9rem 0 -7.4rem;
    padding: 12.7rem 0 11.5rem;
  }
  body.index section#dream .inner {
    position: relative;
  }
  body.index section#dream .inner::before, body.index section#dream .inner::after {
    content: "";
    background: url(../images/pc/dream_accent01.png) no-repeat center/100% auto;
    width: 191.4rem;
    height: 49.3rem;
    position: absolute;
    top: -12.3rem;
    left: 2.1rem;
  }
  body.index section#dream .inner::after {
    content: "";
    background: url(../images/pc/dream_accent02.png) no-repeat center/100% auto;
    width: 203.8rem;
    height: 57.8rem;
    top: auto;
    bottom: -32.1rem;
    left: auto;
    right: 4rem;
  }
  body.index section#dream::before, body.index section#dream::after {
    height: 12.8rem;
  }
  body.index section#dream::before {
    height: 20.5rem;
    top: -10.3rem;
  }
  body.index section#dream::after {
    bottom: -2.7rem;
  }
  body.index section#dream h2 {
    width: 94.1rem;
    margin: 0 auto;
  }
  body.index section#dream .tab-wrap {
    margin-top: -2.3rem;
  }
  body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab] {
    font-size: 2.4rem;
    line-height: 1.1;
    height: 9.6rem;
  }
  body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab] p {
    margin-bottom: 2.2rem;
  }
  body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab] em {
    font-size: 3.7rem;
    margin-right: 0.4rem;
  }
  body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab] span {
    font-size: 2.8rem;
    line-height: 3.7rem;
    height: 3.7rem;
    margin-left: 1.2rem;
  }
  body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=true] {
    font-size: 4rem;
    height: 13rem;
  }
  body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=true] em {
    font-size: 5.8rem;
    margin-right: 0.8rem;
  }
  body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab][aria-selected=true] span {
    font-size: 4.5rem;
    line-height: 6.2rem;
    height: 6.2rem;
    padding: 0 2rem;
  }
  body.index section#dream .tab-wrap ul.tabs[role=tablist] li[role=tab]::before {
    width: 2.7rem;
    height: 1.5rem;
    bottom: 1.4rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane [data-panes] > * {
    display: block !important;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane h3 {
    font-size: 3.8rem;
    height: 6.4rem;
    margin-top: 3.2rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    row-gap: 2.4rem;
    margin-top: 3.2rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li {
    width: calc(33.3333333333% - 1.6rem);
    padding: 1.6rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro {
    width: 18.4rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro .img_wrap p {
    font-size: 2.3rem;
    line-height: 0.75;
    padding-left: 0.5rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro .img_wrap p em {
    font-size: 8.3rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro .img_wrap p::before {
    width: 13.4rem;
    height: 8rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro h4 {
    font-size: 2rem;
    margin-top: 1.2rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .pro h4 em {
    font-size: 3.6rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap {
    width: calc(100% - 18.4rem - 1.6rem);
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section h5 {
    font-size: 1.8rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul {
    row-gap: 0.4rem;
    height: 100%;
    margin-top: 0.8rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li span {
    font-size: 2rem;
    margin-bottom: 0.8rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li em {
    font-size: 4rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li em span {
    font-size: 2.7rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section ul li em span.ja {
    font-size: 2.4rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box {
    height: 6rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p {
    font-size: 2.4rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span {
    font-size: 2rem;
    line-height: 2.5rem;
    width: 4rem;
    height: 2.5rem;
    margin: 0 0.4rem;
    -webkit-transform: translateY(-0.2rem);
            transform: translateY(-0.2rem);
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span.G0 {
    font-size: 1.6rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span.G1 {
    font-size: 2rem;
    letter-spacing: -0.4rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p span.G2 {
    font-size: 2rem;
    letter-spacing: -0.4rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li .con_wrap .data_wrap section .box p em span.ja {
    font-size: 2.2rem;
    -webkit-transform: scale(0.8, 1) translate(-0.2rem, -0.1rem);
            transform: scale(0.8, 1) translate(-0.2rem, -0.1rem);
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li section.tanpyo {
    margin-top: 1.6rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li section.tanpyo h5 {
    font-size: 1.8rem;
    height: 3.2rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li section.tanpyo p {
    font-size: 1.8rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li section.tanpyo p span {
    letter-spacing: -0.5rem;
  }
  body.index section#dream .tab-wrap .tabs-content .tabs-pane ul.racers-content > li::before {
    width: 6.8rem;
    height: 6.8rem;
    top: 19.8rem;
    right: 0;
  }
  @supports (background-image: url("../images/pc/bg_pop.webp")) {
    body.index section#dream {
      background: url(../images/pc/bg_pop.webp) repeat-y top center/100% auto, var(--red2);
    }
    body.index section#dream .inner::before, body.index section#dream .inner::after {
      background: url(../images/pc/dream_accent01.webp) no-repeat center/100% auto;
    }
    body.index section#dream .inner::after {
      background: url(../images/pc/dream_accent02.webp) no-repeat center/100% auto;
    }
  }
  /* tenbo
  ------------------------------------------------------------*/
  body.index section#tenbo {
    background: url(../images/pc/bg_pop.png) repeat-y top center/100% auto, var(--lightblue2);
    clip-path: polygon(0 18.6%, 100% 0, 100% 100%, 0% 100%);
    margin-bottom: 12.8rem;
    padding: 12.5rem 0 7.2rem;
    overflow: hidden;
    position: relative;
    z-index: 3;
  }
  body.index section#tenbo::before {
    background: url("../images/pc/tenbo_accent01.png") no-repeat center/100% auto;
    width: 110.5rem;
    height: 104.7rem;
    top: 5rem;
    right: -11.9rem;
  }
  body.index section#tenbo::after {
    content: none;
  }
  @supports (background-image: url("../images/pc/tenbo_accent01.webp")) {
    body.index section#tenbo::before {
      background: url("../images/pc/tenbo_accent01.webp") no-repeat center/100% auto;
    }
    body.index section#tenbo::after {
      background: url("../images/pc/tenbo_accent02.webp") no-repeat center/100% auto;
    }
  }
  body.index section#tenbo .racer_img {
    width: 98.4rem;
    height: 75.5rem;
    margin-top: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 3;
  }
  body.index section#tenbo .txt_box {
    width: 81.6rem;
    margin-top: 4rem;
    padding: 5.4rem;
  }
  body.index section#tenbo .txt_box .basis {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }
  body.index section#tenbo .txt_box .basis::after {
    content: "";
    background: url("../images/pc/tenbo_accent02.png") no-repeat center/100% auto;
    width: 47.2rem;
    height: 85.7rem;
    position: absolute;
    top: -3.8rem;
    left: -28rem;
  }
  body.index section#tenbo .txt_box::before {
    width: 135.6rem;
    height: 86%;
    margin: 0;
    -webkit-transform: rotate(-6deg);
            transform: rotate(-6deg);
    top: 7.4rem;
    bottom: auto;
    left: -0.3rem;
    right: auto;
  }
  body.index section#tenbo .txt_box h3 {
    font-size: 3.6rem;
  }
  body.index section#tenbo .txt_box h3 em {
    font-size: 5.1rem;
  }
  body.index section#tenbo .txt_box h4 {
    font-size: 2rem;
    line-height: 1.3;
    margin: 1.6rem 0;
    padding: 0.8rem 1.6rem;
  }
  body.index section#tenbo .txt_box p {
    font-size: 1.8rem;
    line-height: 1.7;
  }
  @supports (background-image: url("../images/pc/bg_pop.webp")) {
    body.index section#tenbo {
      background: url(../images/pc/bg_pop.webp) repeat-y top center/100% auto, var(--lightblue2);
    }
  }
  /* racer
  ------------------------------------------------------------*/
  body.index section#racer {
    background: url(../images/pc/bg_pop.png) repeat-y top center/100% auto, var(--yellow);
    height: 82.7rem;
    margin-bottom: 12.8rem;
    padding: 8rem 0 8.8rem;
  }
  body.index section#racer #racer_slide-box .track {
    width: calc(100% - 8rem);
    top: 100%;
    left: 4rem;
    -webkit-animation: scroll-down 100s infinite linear 0.5s both;
            animation: scroll-down 100s infinite linear 0.5s both;
  }
  body.index section#racer #racer_slide-box .track ul {
    display: grid;
    grid-template-columns: auto 1fr auto;
    justify-items: center;
  }
  body.index section#racer #racer_slide-box .track.reverse {
    padding: 0 15rem;
    right: 4rem;
    -webkit-animation-duration: 100s;
            animation-duration: 100s;
  }
  body.index section#racer #racer_slide-box .track.reverse ul {
    grid-template-columns: repeat(2, 1fr);
  }
  body.index section#racer #racer_slide-box .track li {
    border: 0.5rem solid #000;
    width: 30rem;
    height: 30rem;
    margin: 0.8rem 0;
  }
  @supports (background-image: url("../images/pc/bg_pop.webp")) {
    body.index section#racer {
      background: url(../images/pc/bg_pop.webp) repeat-y top center/100% auto, var(--yellow);
    }
  }
  /* movie
  ------------------------------------------------------------*/
  body.index section#movie ul li {
    width: 25rem;
  }
  body.index section#movie ul li dialog {
    width: 80rem;
  }
  body.index section#movie ul li dialog button#closeMovie {
    width: 5.2rem;
    height: 5.2rem;
    top: -5.2rem;
  }
  body.index section#movie ul li a::before {
    width: 9.4rem;
    height: 9.4rem;
  }
  body.index section#movie ul li a::after {
    height: 2.4rem;
    left: 0.6rem;
  }
  /* topics
  ------------------------------------------------------------*/
  body.index section#topics {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-top: 2.4rem;
  }
  body.index section#topics .swiper {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 16.6rem;
  }
  body.index section#topics .swiper .swiper-slide {
    width: 28rem;
    margin: 0 1.2rem;
  }
  body.index section#topics .swiper-pagination span {
    width: 1rem;
    height: 1rem;
    margin: 0 0.6rem;
  }
  /* footer
  ------------------------------------------------------------*/
  footer {
    padding: 4rem 0 7.2rem;
  }
  footer .inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  footer p {
    font-size: 1.4rem;
    margin-right: 4rem;
  }
  footer ul.sns-list {
    width: 26.4rem;
    height: 4.8rem;
    margin-bottom: 0;
  }
}
/***********************************************************************
@keyframes
**********************************************************************/
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes zoomIn {
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoomIn {
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes visu-bg-loading {
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes visu-bg-loading {
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes visu-tit-loading {
  to {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes visu-tit-loading {
  to {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes header-loading {
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes header-loading {
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes kiran {
  0% {
    -webkit-transform: scale(2) rotate(45deg);
            transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    -webkit-transform: scale(20) rotate(45deg);
            transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }
  40% {
    -webkit-transform: scale(30) rotate(45deg);
            transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }
  80% {
    -webkit-transform: scale(45) rotate(45deg);
            transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
            transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes kiran {
  0% {
    -webkit-transform: scale(2) rotate(45deg);
            transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    -webkit-transform: scale(20) rotate(45deg);
            transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }
  40% {
    -webkit-transform: scale(30) rotate(45deg);
            transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }
  80% {
    -webkit-transform: scale(45) rotate(45deg);
            transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
            transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@-webkit-keyframes dialog-open {
  from {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
  }
  to {
    opacity: 1;
    clip-path: inset(0);
  }
}
@keyframes dialog-open {
  from {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
  }
  to {
    opacity: 1;
    clip-path: inset(0);
  }
}
@-webkit-keyframes dialog-close {
  from {
    opacity: 1;
    clip-path: inset(0);
  }
  to {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
  }
}
@keyframes dialog-close {
  from {
    opacity: 1;
    clip-path: inset(0);
  }
  to {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
  }
}
@-webkit-keyframes scroll-up {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@keyframes scroll-up {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@-webkit-keyframes scroll-down {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@keyframes scroll-down {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}/*# sourceMappingURL=common.css.map */