@charset "UTF-8";
/* CSS Document */
html {
  height: 100%;
}

body {
  background: #FFF7F4;
  height: 100%;
}

.loading-wrapper {
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  position: fixed;
  background: #FFF;
  z-index: 10;
}

#wrapper {
  width: 100%;
  height: 100%;
  position: relative;
}

#info {
  width: 50%;
  position: relative;
  background: url(../images/info_bk.png) top 85rem center;
  background-size: 100% auto;
}
#info::after {
  position: fixed;
  content: "";
  right: 50%;
  height: 100%;
  top: 0;
  width: 3rem;
  background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
}
#info .scroll {
  width: 100%;
  height: 100%;
}
#info .left_fix {
  position: fixed;
  left: 2rem;
  bottom: 0;
  height: 40rem;
}
#info .left_fix ul {
  margin-bottom: 1.5rem;
}
#info .left_fix li {
  margin-bottom: 0.5rem;
}
#info .left_fix li img {
  width: 6rem;
}
#info .left_fix .scroll {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  line-height: 4rem;
  width: 4rem;
  margin-left: 1rem;
  font-size: 2.2rem;
  font-family: wayfinder-cf, serif;
  font-weight: 400;
  height: 10rem;
  font-style: normal;
  background: url(../images/scroll_border.svg) no-repeat;
  background-size: 1.8rem auto;
  animation: scroll 5s infinite;
}
#info .left_fix .scroll p {
  padding-top: 1rem;
}
@keyframes scroll {
  0% {
    background-position: left -9rem;
  }
  20% {
    background-position: left 0rem;
  }
  80% {
    background-position: left 0rem;
  }
  100% {
    background-position: left 9rem;
  }
}
#info #top.loading {
  transform: translate(25vw, 15vh) scale(1.2);
}
#info #top {
  width: 100%;
  height: calc(100% - 40rem);
  height: 68rem;
  background-size: contain;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  pointer-events: none;
  transition: 1s;
}
#info #top .splash1,
#info #top .splash2,
#info #top .splash3 {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  animation: fadeIn 0.5s forwards;
  opacity: 0;
  pointer-events: none;
}
#info #top .splash1 {
  animation-delay: 0.3s;
}
#info #top .splash2 {
  animation-delay: 0.8s;
}
#info #top .splash3 {
  animation-delay: 1.2s;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#info #top h1 {
  font-weight: 900;
  font-size: 3.2rem;
  text-align: center;
  position: relative;
  z-index: 1;
  top: 3rem;
  left: -1rem;
}
#info #top h1 img.tit {
  width: 67rem;
  height: 37.4rem;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 2;
}
#info #top h1 img {
  position: absolute;
}
#info #top h1 img.smile {
  width: 12.8rem;
  top: -10.6rem;
  left: 61.2rem;
  z-index: 1;
  transform: translate(-40rem, 10rem) scale(0) rotate(30deg);
  transition-delay: 1s;
  transition: 1s;
}
#info #top h1 img.star1 {
  width: 6.6rem;
  top: -4rem;
  left: 31.6rem;
}
#info #top h1 img.star2 {
  width: 6.6rem;
  top: 30rem;
  left: 15rem;
}
#info #top h1 img.star3 {
  width: 6.6rem;
  top: 28rem;
  left: 59.4rem;
}
#info #top.mov h1 img.smile {
  transform: translate(0rem, 0rem) scale(1) rotate(0deg);
}
#info .logo {
  position: absolute;
  left: 3rem;
  top: 2.5rem;
}
#info .logo a {
  display: block;
}
#info .logo a:hover {
  opacity: 0.8;
}
#info .logo img {
  width: 34rem;
}
#info::before {
  content: "";
  width: 138rem;
  height: 92rem;
  background: url(../images/bk.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: -28rem;
  top: -10rem;
}
#info .info_wrap {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  margin-left: 13rem;
  padding-bottom: 3rem;
}
#info .info_wrap .banner {
  width: 100%;
}
#info .info_wrap .banner img {
  width: 100%;
}
#info .info_wrap .banner a {
  margin-bottom: 3rem;
  display: block;
}
#info .info_wrap .banner a:hover {
  opacity: 0.7;
}
#info .info_wrap section {
  width: 30rem;
  padding: 0 3rem;
  min-height: 33rem;
  padding-top: 2.5rem;
  border: 0.3rem solid #000;
  color: #000;
  background: linear-gradient(#FFFFFF, #F6F6F6);
  margin-right: 3rem;
  margin-bottom: 3rem;
  border-radius: 2rem 0 2rem 0;
  opacity: 0;
  transition: 1s;
  position: relative;
  transform: translateY(3rem);
}
#info .info_wrap section.mov {
  opacity: 1;
  transform: translateY(0rem);
}
#info .info_wrap section:nth-child(even) {
  top: 7rem;
}
#info .info_wrap section .date {
  font-size: 2.8rem;
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  margin-bottom: 0.5rem;
}
#info .info_wrap section .tag {
  margin-bottom: 1.5rem;
}
#info .info_wrap section .tag span {
  line-height: 2.5rem;
  background: #FC4276;
  display: inline-block;
  font-size: 1.6rem;
  color: #FFF;
  padding: 0 1.2rem;
  border-radius: 100vmax;
}
#info .info_wrap section .thum {
  width: 100%;
  height: 14rem;
  background: #FFF;
  margin-bottom: 1rem;
}
#info .info_wrap section .thum img {
  width: 100%;
}
#info .info_wrap section .mida {
  font-weight: bold;
  font-size: 2.4rem;
}

.bannerSwiper {
  width: 100%;
  margin-top: 2rem;
  padding-bottom: 6rem !important;
}
.bannerSwiper .swiper-slide {
  width: 45rem !important;
}
.bannerSwiper .swiper-slide img {
  width: 100%;
}

address {
  width: 100%;
  text-align: center;
  font-family: "Roboto" sans-serif;
  font-style: normal;
  font-size: 1.2rem;
  padding-bottom: 1.5rem;
}

/*--------------------------------

            右エリア

--------------------------------*/
#gradelist {
  position: fixed;
  width: 50%;
  height: 100%;
  right: 0;
  top: 0;
  display: flex;
}
#gradelist section {
  width: 33.3333333333%;
  position: relative;
  height: 100%;
}
#gradelist section .wrap {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  transform: translateY(10rem);
  transition: 1s;
  opacity: 0;
}
#gradelist section.mov .wrap {
  transform: translateY(0rem) !important;
  opacity: 1;
}
#gradelist section.kyo .wrap {
  transform: translateY(-10rem);
}
#gradelist section.lad {
  background: #FC4276;
}
#gradelist section.lad.kaisai .circle {
  background: url(../images/poster_las.png) top -10rem center no-repeat;
  background-size: 110% auto;
}
#gradelist section.lad.kaisai .count {
  color: #FC4276;
}
#gradelist section.lad .racelogo {
  background: url(../images/logo_las.svg) center top 3.5rem no-repeat #FF789E;
  background-size: 28.5rem;
}
#gradelist section.lad a.tok_bt {
  color: #FC4276;
  background: url(../images/tok_bk_las.svg) right 1.5rem center no-repeat #FFF;
  background-size: 1.5rem;
}
#gradelist section.kyo {
  background: #0783FF;
}
#gradelist section.kyo .count {
  color: #0783FF;
}
#gradelist section.kyo .racelogo {
  background: url(../images/logo_kyo.svg) center top 2.5rem no-repeat #30B0FF;
  background-size: auto 5.6rem;
}
#gradelist section.kyo a.tok_bt {
  color: #0441AC;
  background: url(../images/tok_bk_kyo.svg) right 1.5rem center no-repeat #FFF;
  background-size: 1.5rem;
}
#gradelist section.shi {
  background: #7ED30E;
}
#gradelist section.shi .count {
  color: #7ED30E;
}
#gradelist section.shi .racelogo {
  background: url(../images/logo_shi.svg) center top 2.5rem no-repeat #9CED33;
  background-size: auto 5.6rem;
}
#gradelist section.shi a.tok_bt {
  color: #5DA400;
  background: url(../images/tok_bk_shi.svg) right 1.5rem center no-repeat #FFF;
  background-size: 1.5rem;
}
#gradelist section.kaisai .circle {
  background: #000;
  border: 0.1rem solid #000;
}
#gradelist section.kaisai .poster {
  background: #FFF !important;
}
#gradelist section.kaisai .count {
  width: 12rem !important;
  height: 12rem;
  background: #000;
  border-radius: 100%;
  top: -5rem !important;
  left: calc(50% - 6rem);
}
#gradelist section.kaisai .count::before {
  content: "";
  width: 4rem;
  height: 2rem;
  background: url(../images/count_arrow.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -1.2rem;
  left: calc(50% - 2rem);
}
#gradelist section.comingsoon .circle {
  opacity: 0;
}
#gradelist section.comingsoon.kyo::before {
  background: url(../images/coming_kyo.svg) top left no-repeat;
}
#gradelist section.comingsoon.kyo::after {
  background: url(../images/coming_smile_kyo.svg) center center no-repeat;
  top: -10rem;
}
#gradelist section.comingsoon.shi::before {
  background: url(../images/coming_shi.svg) top left no-repeat;
}
#gradelist section.comingsoon.shi::after {
  background: url(../images/coming_smile_shi.svg) center center no-repeat;
  top: 10rem;
}
#gradelist section.comingsoon.kyo.mov::after, #gradelist section.comingsoon.shi.mov::after {
  top: 0;
  opacity: 1;
}
#gradelist section.comingsoon:before {
  content: "";
  width: 100%;
  height: 12.4rem;
  background-size: 100% auto !important;
  position: absolute;
  left: 0;
  top: 0;
}
#gradelist section.comingsoon::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background-size: 100% auto !important;
  left: 0;
  top: 0;
  transition: 1s;
  opacity: 0;
  mix-blend-mode: soft-light;
}
#gradelist section.mov .circle {
  transform: scale(1);
}
#gradelist section .circle {
  width: 56rem;
  height: 56rem;
  border-radius: 100%;
  background: none;
  border: 0.1rem solid rgba(0, 0, 0, 0);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
#gradelist section .circle .count {
  position: absolute;
  font-size: 2rem;
  top: 1rem;
  width: 100%;
  font-weight: 900;
  line-height: 12rem;
  text-align: center;
}
#gradelist section .circle .count span {
  font-family: "Roboto", sans-serif;
  font-size: 3rem;
}
#gradelist section .circle .poster {
  width: 52rem;
  height: 52rem;
  background: #000;
  border: 0.1rem solid #000;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#gradelist section .circle .poster .img img {
  height: 38rem;
  width: 27.4rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#gradelist section .sche {
  font-size: 9.5rem;
  line-height: 1em;
  width: 100%;
  margin-top: 2rem;
  text-align: center;
  color: #FFF;
  font-family: wayfinder-cf, serif;
  font-weight: 400;
  font-style: normal;
  display: flex;
  justify-content: center;
  position: relative;
  left: -1.1rem;
}
#gradelist section .sche p {
  position: relative;
}
#gradelist section .sche p span {
  position: absolute;
  font-size: 2.3rem;
  bottom: 1.2rem;
  line-height: 1em;
  margin-left: 0.5rem;
  text-align: left;
  display: inline-block;
}
#gradelist section .sche p:last-child span {
  margin-left: 0rem;
}
#gradelist section .racelogo {
  width: 100%;
  height: 13.5rem;
  margin-bottom: -3.5rem;
}
#gradelist section a.tok_bt.non {
  opacity: 0.5;
  pointer-events: none;
}
#gradelist section a.tok_bt {
  width: 25rem;
  height: 6.5rem;
  display: block;
  line-height: 6.5rem;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  border-radius: 0.8rem;
  border: 0.1rem solid #000;
  filter: drop-shadow(0.5rem 0.6rem 0 #000);
}
#gradelist section a.tok_bt:hover {
  transform: translate(0.2rem, 0.2rem);
  filter: drop-shadow(0rem 0rem 0 #000);
}

/***********************************************************************
ミディアムデバイス (スマートフォン) のスタイル
**********************************************************************/
@media (max-width: 750px) {
  #wrapper {
    width: 75rem;
    background-size: 75rem auto;
    margin: 0 auto;
    overflow-x: hidden;
  }
  #info {
    padding-top: 2.6rem;
    height: auto;
  }
  #info #top {
    width: 96rem;
    height: 68rem;
    left: -10.4rem;
  }
  #info #top.loading {
    transform: translateY(10vh);
  }
  #info {
    width: 100%;
    background: url(../images/info_bk.png) top 90rem center;
    background-size: 100% auto;
  }
  #info h2 .en {
    font-family: wayfinder-cf, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14.6rem;
    line-height: 12.4rem;
    width: 69rem;
  }
  #info h2 .ja {
    position: absolute;
    top: 19.5rem;
    left: 25rem;
    font-size: 3.2rem;
    line-height: 1em;
  }
  #info h2 {
    position: relative;
    margin-bottom: 2rem;
  }
  #gradelist {
    position: relative;
    display: block;
    width: 69rem;
  }
  #gradelist {
    height: 65rem;
  }
  #gradelist section {
    width: 65rem;
    height: 40rem;
  }
  #info .info_wrap {
    margin: 0;
    width: 69rem;
    justify-content: space-between;
    margin: 0 auto;
  }
  #info .info_wrap section {
    width: 27rem;
    margin-right: 0;
  }
  #info .info_wrap section .tag span {
    font-size: 2rem;
  }
  #info .info_wrap section .tag span {
    line-height: 3rem;
    padding: 0 2rem;
  }
  #info .info_wrap section .mida {
    font-size: 2.8rem;
    line-height: 3.4rem;
  }
  #info::after {
    display: none;
  }
  #gradelist .swiper-slide.swiper-slide-active {
    z-index: 100;
    margin-left: 0;
    transition: 0.5s;
  }
  #gradelist .swiper-slide:not(.swiper-slide-active) .circle,
  #gradelist .swiper-slide:not(.swiper-slide-active) .poster {
    display: none !important;
    opacity: 0 !important;
  }
  #gradelist .swiper-slide:not(.swiper-slide-active) .sche {
    transform: translate(1rem, 15rem) scale(0.75);
    transform-origin: left bottom;
    border-right: 0.1rem solid #FFF;
    padding-right: 3rem;
  }
  #gradelist .swiper-slide:not(.swiper-slide-active) .tok_bt {
    display: none;
  }
  #gradelist .swiper-slide:not(.swiper-slide-active) .racelogo {
    transform: translate(27rem, 7rem);
  }
  address {
    font-size: 2rem;
  }
  #gradelist section .poster {
    width: 24rem !important;
    height: 34rem !important;
    border: none !important;
  }
  #gradelist section .circle {
    background: none;
    width: 24rem;
    height: 34rem;
    border: none;
    position: absolute;
    top: 3rem;
    left: 38rem;
  }
  #gradelist section.comingsoon::after {
    display: none;
  }
  #gradelist section {
    border: 0.5rem solid #000;
  }
  #gradelist section .sche {
    width: 33rem;
  }
  #gradelist section .wrap {
    width: 38rem;
    overflow: visible;
  }
  #gradelist section.lad .racelogo {
    background: url(../images/logo_las_w.svg) center top 5rem no-repeat;
    background-size: 33rem;
  }
  #gradelist section.kyo .racelogo {
    background: url(../images/logo_kyo_w.svg) center top 3.2rem no-repeat;
    background-size: auto 6.5rem;
  }
  #gradelist section.shi .racelogo {
    background: url(../images/logo_shi_w.svg) center top 3.2rem no-repeat;
    background-size: auto 6.5rem;
  }
  .swiper-creative .swiper-slide {
    overflow: visible !important;
  }
  #gradelist section .racelogo {
    margin-bottom: -1.8rem;
  }
  #gradelist {
    padding-top: 3.5rem;
    position: absolute;
    top: 71rem;
    left: 0;
  }
  #gradelist section .circle .count {
    width: 32rem !important;
    height: 10rem !important;
    border-radius: 0;
    left: -35rem !important;
    top: -34px !important;
  }
  #gradelist section.comingsoon .circle {
    opacity: 1;
  }
  #gradelist section .circle .count {
    font-size: 4.5rem;
    line-height: 10rem;
  }
  #gradelist section .circle .count span {
    font-size: 6.8rem;
  }
  #gradelist section .sche {
    margin-top: 3rem;
    position: relative;
    top: 3rem;
    text-align: left;
  }
  #gradelist section .sche {
    font-size: 11rem;
  }
  #gradelist section a.tok_bt {
    width: 33rem;
    height: 8.8rem;
    line-height: 8.8rem;
    font-size: 2.6rem;
  }
  #gradelist section .circle .poster .img img {
    height: 35rem;
  }
  #gradelist section.comingsoon::before {
    display: none;
  }
  #gradelist section .circle .count {
    background: #000;
  }
  #gradelist section .count::before {
    content: "";
    width: 4rem;
    height: 2rem;
    background: url(../images/count_arrow.svg) center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -1.2rem;
    left: calc(50% - 2rem);
  }
  #info .info_wrap {
    padding-top: 86rem;
  }
  #info .left_fix {
    display: flex;
    justify-content: center;
    position: absolute;
    width: 100%;
    z-index: 2;
    top: 141rem;
  }
  #info .left_fix ul {
    display: flex;
    width: 46rem;
    margin: 0 auto;
    justify-content: space-between;
  }
  #info .left_fix .scroll {
    display: none;
  }
  #info .left_fix li img {
    width: 10rem;
  }
  .bannerSwiper {
    width: 75rem !important;
    position: relative;
  }
}
/***********************************************************************
ラージデバイス (デスクトップ) のスタイル
**********************************************************************/
@media (min-width: 751px) {
  #info .info_wrap .banner {
    width: 76rem;
  }
  #info .info_wrap .banner a {
    transition: 0.3s;
  }
  #info .left_fix ul a {
    transition: 0.3s;
    display: block;
  }
  #info .left_fix ul a:hover {
    transform: scale(0.9);
  }
  .bannerSwiper a {
    display: block;
    transition: 0.3s;
  }
  .bannerSwiper a:hover {
    opacity: 0.8;
  }
}
@media (min-width: 751px) and (min-aspect-ratio: 16/9) {
  /* ここに横長ブラウザ用の調整を書く */
  .circle {
    transform: scale(0.9) !important;
    margin-bottom: -4rem;
  }
}/*# sourceMappingURL=index.css.map */