@charset "UTF-8";
/* CSS Document */
html {
  overflow-y: scroll;
}

@keyframes kaiten {
  0% {
    transform: rotate(360deg);
  }
  50% {
    transform: rotate(0deg);
  }
}
@keyframes scroll_y {
  0% {
    height: 20rem;
  }
  50% {
    height: 16rem;
  }
  100% {
    height: 20rem;
  }
}
.kaimon {
  display: none !important;
}

.special li a {
  display: block;
  width: 100%;
  height: 100%;
}

/***********************************************************************
ミディアムデバイス (スマートフォン) のスタイル
**********************************************************************/
@media (max-width: 750px) {
  #wrapper {
    width: 75rem;
    overflow-x: hidden;
    background: #000B54;
    padding-bottom: 14rem;
  }
  .head {
    position: absolute;
    width: 75rem;
    z-index: 10;
    height: 15rem;
    overflow: hidden;
  }
  .head .a_top {
    display: none !important;
  }
  .head .suminoe {
    position: absolute;
    left: 2rem;
    top: 2rem;
    display: block !important;
  }
  .head .suminoe a {
    background: url(../images/logo.svg);
    background-size: contain;
    width: 27.4rem;
    height: 5rem;
    display: block !important;
  }
  .head .sns {
    position: absolute;
    left: 31rem;
    top: 1.8rem;
    display: flex !important;
  }
  .head .sns img {
    width: 5.2rem;
  }
  .head .sns li {
    margin-right: 0.8rem;
  }
  #news {
    width: 58rem;
    line-height: 5rem;
    height: 5rem;
    border-radius: 5rem;
    background: rgba(255, 255, 255, 0.16);
    overflow: hidden;
    position: absolute;
    color: #FFF;
    top: 8rem;
    left: 2rem;
    border: 1px solid #EEFF00;
  }
  #news li {
    font-weight: bold;
    font-size: 2.4rem;
  }
  ul.marquee {
    display: block;
    padding: 0;
    list-style: none;
    line-height: 1;
    line-height: 5rem;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 5rem;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
  }
  ul.marquee li {
    /* required styles */
    position: absolute;
    top: -999em;
    left: 0px;
    display: block;
    font-size: 2.8rem !important;
    white-space: nowrap; /* keep all text on a single line */
    /* optional styles for appearance */
  }
  ul.marquee li span {
    color: #EEFF00;
    margin-right: 1.5rem;
    font-size: 2.6rem;
    padding-left: 2rem;
    font-family: "Roboto", sans-serif;
  }
  ul.marquee li a {
    text-decoration: underline;
    color: #FFF;
  }
  #main {
    overflow: hidden;
    width: 100%;
    padding-top: 0;
    /*poster*/
  }
  #main #poster {
    width: 100%;
    background: url(../images/poster_bk_sp.jpg);
    background-size: contain;
    position: relative;
    height: 78rem;
    overflow: hidden;
  }
  #main #poster img {
    position: absolute;
  }
  #main #poster img.kamio {
    width: 42.2rem;
    filter: drop-shadow(0 5.8rem 2rem rgba(0, 0, 0, 0.5));
    left: 15rem;
    bottom: 0;
  }
  #main #poster img.copy {
    width: 37.5rem;
    top: 33.5rem;
    left: 37.5rem;
  }
  #main #poster h1 {
    background: url(../images/h1_sp.png) no-repeat;
    width: 100%;
    background-size: 69rem auto;
    height: 32rem;
    position: absolute;
    left: 3.5rem;
    top: 50rem;
  }
  #main #poster .kaimon {
    background: url(../images/kaimon.svg) center center no-repeat rgba(255, 255, 255, 0.27);
    background-size: 10rem;
    width: 14rem;
    height: 30rem;
    position: absolute;
    left: 0;
    top: 18rem;
    z-index: 1;
  }
  #main #poster address {
    position: absolute;
    text-align: center;
    width: 100%;
    bottom: 2rem;
    z-index: 1;
    color: #FFF;
    font-size: 1.4rem;
    display: none;
  }
  #main .menu {
    width: 100%;
    position: relative;
  }
  #main .menu .evecam {
    background: #FCD400;
    background-size: 14rem auto;
    height: 14rem;
    position: fixed;
    z-index: 10;
    width: 100%;
    bottom: 0;
  }
  #main .menu .evecam ul {
    width: 100%;
    display: flex;
    height: 100%;
  }
  #main .menu .evecam li {
    width: 33.3333333333%;
    height: 100%;
    border-right: 1px solid #000;
  }
  #main .menu .evecam li a {
    display: block;
    height: 100%;
    color: #000;
    font-weight: 900;
    color: #1D1F30;
    font-size: 2.2rem;
    text-align: center;
    letter-spacing: -0.04em;
  }
  #main .menu .evecam li i {
    width: 6.6rem;
    height: 6.6rem;
    display: block;
    margin-left: 2rem;
    position: relative;
    margin: 2rem auto 0.8rem auto;
  }
  #main .menu .evecam li.event i {
    background: url(../images/i_event.svg) center center no-repeat;
    background-size: contain;
  }
  #main .menu .evecam li.dento i {
    background: url(../images/i_dento.svg) center center no-repeat;
    background-size: contain;
  }
  #main .menu .evecam li.zenkoku i {
    background: url(../images/i_zenkoku.svg) center center no-repeat;
    background-size: contain;
  }
  #main .menu .evecam li.non {
    opacity: 0.3;
    pointer-events: none;
  }
  #main .menu .evecam:last-child {
    border-right: none;
  }
  #main #countdown {
    width: 100%;
    padding: 1rem;
    height: 13rem;
    background: #FFF;
    margin-bottom: -0.1rem;
  }
  #main #countdown .text {
    width: 100%;
    height: 12rem;
    display: flex;
    align-items: center;
  }
  #main #countdown .ato {
    font-size: 2.8rem;
    font-weight: bold;
    width: 18rem;
    text-align: center;
    line-height: 1.2em;
    margin-top: 1rem;
    margin-left: 2rem;
    margin-right: -3rem;
  }
  #main #countdown .hms {
    position: relative;
    top: -1rem;
    display: flex;
    font-family: "Roboto", sans-serif;
    font-size: 7rem;
    font-weight: 900;
  }
  #main #countdown .hms li {
    position: relative;
    padding: 0 2.2rem;
  }
  #main #countdown .hms li span {
    position: absolute;
    bottom: -1.8rem;
    right: 0;
    width: 100%;
    text-align: center;
    font-size: 2.7rem;
  }
  #main #countdown .hms li::before {
    content: ":";
    position: absolute;
    right: -1.1rem;
    top: -0.4rem;
  }
  #main #countdown .hms li:last-child::before {
    display: none;
  }
  #main .special {
    background: url(../images/special_bk_sp.png);
    background-size: 100% auto;
    padding-top: 14.6rem;
    padding-bottom: 5rem;
  }
  #main .special ul {
    margin: 0 auto 1.5rem auto;
    width: 62.4rem;
  }
  #main .special ul li {
    margin-bottom: 1rem;
    width: 62.4rem;
    height: 17.8rem;
    background-size: cover !important;
  }
  #main .special ul li.tri18 {
    background: url(../images/ind_spe_tri_sp.png);
  }
  #main .special ul li.vol1 {
    background: url(../images/ind_spe_vol1_sp.png);
  }
  #main .special ul li.vol2 {
    background: url(../images/ind_spe_vol2_sp.png);
  }
  #main .special ul li.vol3 {
    background: url(../images/ind_spe_vol3_sp.png);
  }
  #main .special ul li.non {
    opacity: 0.3;
    pointer-events: none;
  }
  #main .special .movie a,
  #main .special .interview a {
    display: block;
    border: 1px solid #000;
    border-radius: 3rem 0 3rem 0;
    background: url(../images/arrow.svg) right 2rem center no-repeat #FFF;
    color: #000;
    background-size: 1rem !important;
    width: 62.4rem;
    margin: 0 auto;
    text-align: center;
    line-height: 8rem;
    font-size: 3rem;
    font-weight: bold;
  }
  #main .special .movie a:hover,
  #main .special .interview a:hover {
    background: url(../images/arrow.svg) right 1.5rem center no-repeat #FFF;
  }
  #main .special .movie {
    margin-bottom: 1rem;
  }
  #main .ranking {
    width: 100%;
    background: url(../images/ind_tri_en.svg) center 3rem no-repeat, url(../images/ind_tri_bk.jpg) no-repeat center top;
    background-size: 80%, cover;
    color: #fff;
  }
  #main .ranking h3 {
    position: relative;
    top: 9rem;
    left: 15.5rem;
    text-align: center;
    width: 100%;
    background: url(../images/ind_tri_ja.png) no-repeat;
    background-size: contain;
    width: 42.3rem;
    height: 18rem;
    margin-bottom: 2.5rem;
    text-indent: -9999px;
  }
  #main .ranking .swiper {
    padding-bottom: 3rem;
  }
  #main .ranking .swiper .swiper-pagination-bullet {
    width: 8rem !important;
    border-radius: 100vmax !important;
    background: #FFF !important;
  }
  #main .ranking .swiper .swiper-pagination-bullet-active {
    background: #F22800 !important;
  }
  #main .ranking ul li {
    position: relative;
    height: 22.5rem;
    margin-left: 5rem;
  }
  #main .ranking ul li .bar {
    background: url(../images/ind_rank_bar.svg) top left no-repeat;
    background-size: auto 100%;
    width: 100%;
    height: 2.2rem;
  }
  #main .ranking ul li .rank {
    font-family: "GFS Didot", serif;
    font-style: normal;
    font-weight: 300;
    color: #FFD600;
    position: absolute;
    letter-spacing: -0.05em;
    width: 5rem;
    text-align: center;
    left: 0;
    font-size: 9rem;
  }
  #main .ranking ul li .txt {
    position: absolute;
    left: 0;
    top: 12.7rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  #main .ranking ul li .txt p {
    background: #F22800;
    line-height: 3.5rem;
    margin-bottom: 0.3rem;
    font-size: 2.3rem;
    color: #000B54;
    padding: 0 1rem;
  }
  #main .ranking ul li .photo {
    width: 20rem;
    height: 20rem;
    border-radius: 100%;
    overflow: hidden;
    top: 0;
    left: 12.5rem;
    position: absolute;
  }
  #main .ranking ul li .photo img {
    width: 100%;
  }
  #main .ranking ul li .prof {
    margin-left: 35rem;
    margin-top: 1rem;
  }
  #main .ranking ul li .prof .sub {
    font-size: 2.4rem;
  }
  #main .ranking ul li .prof .name {
    font-size: 5.2rem;
    font-family: "Noto Serif JP", serif;
  }
  #main .ranking ul li .prof .value {
    font-size: 5.2rem;
    line-height: 1em;
    font-family: "Oswald", sans-serif;
    background: linear-gradient(0deg, #FFF, #FFD600);
    -webkit-background-clip: text;
    font-weight: bold;
    -webkit-text-fill-color: transparent;
  }
  #main .ranking ul li .prof .value span {
    font-size: 2rem;
    font-weight: bold;
  }
  #logotape {
    background: url(../images/logotape.svg);
    width: 2.5rem;
    height: 100%;
    z-index: 100;
    right: 0;
    top: 0;
    position: fixed;
    pointer-events: none;
    background-size: auto 32rem;
    animation: logotape 10s infinite linear;
  }
  #banner {
    background: #222;
    width: 100%;
    padding: 3rem 0;
    overflow: hidden;
  }
  #banner .swiper-slide {
    width: 32rem; /* 固定幅禁止 */
  }
  #banner .swiper-slide img {
    width: 100%;
  }
  address {
    color: #FFF;
    text-align: center;
    font-size: 2rem;
    padding: 1rem 0 2rem 0;
  }
}
/***********************************************************************
ラージデバイス (デスクトップ) のスタイル
**********************************************************************/
@media (min-width: 751px) {
  html, body {
    width: 192rem;
    height: 100%;
  }
  .sp_only {
    display: none !important;
  }
  #wrapper {
    width: 100%;
    height: 100%;
    background: #000B54;
  }
  .head {
    position: absolute;
    z-index: 10;
  }
  .head a {
    transform: 0.3s;
  }
  .head a:hover {
    opacity: 0.7;
  }
  .head .suminoe {
    position: absolute;
    left: 4.4rem;
    top: 3.2rem;
    display: block !important;
  }
  .head .suminoe a {
    background: url(../images/logo.svg);
    background-size: contain;
    width: 18.8rem;
    height: 3.4rem;
    display: block;
  }
  .head .sns {
    position: absolute;
    left: 25rem;
    top: 2.8rem;
    display: flex !important;
  }
  .head .sns img {
    width: 3.5rem;
  }
  .head .sns li {
    margin-right: 0.5rem;
  }
  .head .a_top {
    display: none;
  }
  #news {
    width: 45rem;
    line-height: 4rem;
    height: 4rem;
    border-radius: 4rem;
    background: rgba(255, 255, 255, 0.16);
    overflow: hidden;
    position: absolute;
    color: #FFF;
    margin-left: 2.5rem;
    top: 2.6rem;
    left: 44rem !important;
    border: 1px solid #EEFF00;
  }
  #news li {
    font-weight: bold;
    font-size: 2.4rem;
  }
  ul.marquee {
    display: block;
    padding: 0;
    list-style: none;
    line-height: 1;
    line-height: 4rem;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 4rem;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
  }
  ul.marquee li {
    /* required styles */
    position: absolute;
    top: -999em;
    left: 0px;
    display: block;
    font-size: 1.8rem !important;
    white-space: nowrap; /* keep all text on a single line */
    /* optional styles for appearance */
  }
  ul.marquee li span {
    color: #EEFF00;
    margin-right: 1.5rem;
    font-size: 2.6rem;
    padding-left: 2rem;
    font-family: "Roboto", sans-serif;
  }
  ul.marquee li a {
    text-decoration: underline;
    color: #FFF;
  }
  #main {
    display: flex;
    overflow: hidden;
    height: 108rem;
    width: 100%;
    /*poster*/
  }
  #main #poster {
    width: 50%;
    background: url(../images/poster_bk.png) -12rem -14rem;
    background-size: 110rem auto;
    position: relative;
    height: 100%;
  }
  #main #poster img {
    position: absolute;
  }
  #main #poster img.kamio {
    width: 65rem;
    filter: drop-shadow(0 5.8rem 2rem rgba(0, 0, 0, 0.5));
    left: 15rem;
    top: 13rem;
  }
  #main #poster img.copy {
    width: 52rem;
    top: 43rem;
    left: 1.5rem;
  }
  #main #poster h1 {
    background: url(../images/h1.png) no-repeat;
    background-size: 90rem;
    width: 100%;
    height: 32rem;
    position: absolute;
    left: 3.5rem;
    top: 71rem;
  }
  #main #poster .kaimon {
    background: url(../images/kaimon.svg) center center no-repeat rgba(255, 255, 255, 0.27);
    background-size: 10rem;
    width: 16rem;
    height: 30rem;
    position: absolute;
    left: 0;
    top: 9rem;
    z-index: 1;
  }
  #main #poster address {
    position: absolute;
    text-align: center;
    width: 100%;
    bottom: 2rem;
    z-index: 1;
    color: #FFF;
    font-size: 1.4rem;
  }
  #main .menu {
    width: 49rem;
    height: 100%;
  }
  #main .menu .evecam {
    background: url(../images/evefan_jumpy.svg) bottom right 1.8rem no-repeat #FCD400;
    background-size: 14rem auto;
    height: 25.5rem;
  }
  #main .menu .evecam ul {
    width: 30rem;
    padding-top: 2rem;
    margin-left: 2.8rem;
  }
  #main .menu .evecam li {
    margin-bottom: 1rem;
  }
  #main .menu .evecam li a {
    display: block;
    line-height: 6rem;
    color: #000;
    border-radius: 100vmax;
    font-weight: 900;
    color: #1D1F30;
    font-size: 2rem;
    border: 2px solid #000;
    background: #EEFF00;
    transition: 0.3s;
    letter-spacing: -0.025em;
  }
  #main .menu .evecam li a:hover {
    opacity: 0.7;
    transform: translateY(0.3rem);
  }
  #main .menu .evecam li i {
    width: 3.6rem;
    height: 3.6rem;
    display: inline-block;
    margin-left: 2rem;
    position: relative;
    top: 1rem;
    margin-right: 0.8rem;
  }
  #main .menu .evecam li.event i {
    background: url(../images/i_event.svg) center center no-repeat;
    background-size: contain;
  }
  #main .menu .evecam li.dento i {
    background: url(../images/i_dento.svg) center center no-repeat;
    background-size: contain;
  }
  #main .menu .evecam li.zenkoku i {
    background: url(../images/i_zenkoku.svg) center center no-repeat;
    background-size: contain;
  }
  #main .menu .evecam li.non {
    opacity: 0.3;
    pointer-events: none;
  }
  #main #countdown {
    width: 100%;
    padding: 1rem;
    background: #FFF;
  }
  #main #countdown .text {
    width: calc(100% - 2rem);
    height: 10.4rem;
    outline: 1px solid;
    display: flex;
    align-items: center;
  }
  #main #countdown .ato {
    font-size: 1.8rem;
    font-weight: bold;
    width: 11rem;
    text-align: center;
    margin-right: -1rem;
  }
  #main #countdown .hms {
    position: relative;
    top: -1rem;
    display: flex;
    font-family: "Roboto", sans-serif;
    font-size: 4.8rem;
    font-weight: 900;
  }
  #main #countdown .hms li {
    position: relative;
    padding: 0 1.4rem;
  }
  #main #countdown .hms li span {
    position: absolute;
    bottom: -1.2rem;
    right: 0;
    width: 100%;
    text-align: center;
    font-size: 1.8rem;
  }
  #main #countdown .hms li::before {
    content: ":";
    position: absolute;
    right: -0.55rem;
    top: -0.4rem;
  }
  #main #countdown .hms li:last-child::before {
    display: none;
  }
  #main .special {
    background: url(../images/special_bk.png);
    background-size: contain;
    height: 85rem;
  }
  #main .special ul {
    margin: 0 auto;
    padding-top: 2.2rem;
    width: 39.8rem;
  }
  #main .special ul li {
    margin-bottom: 1rem;
    width: 39.8rem;
    height: 15.5rem;
    background-size: cover !important;
  }
  #main .special ul li.tri18 {
    display: none !important;
  }
  #main .special ul li.vol1 {
    background: url(../images/ind_spe_vol1.png);
  }
  #main .special ul li.vol2 {
    background: url(../images/ind_spe_vol2.png);
  }
  #main .special ul li.vol3 {
    background: url(../images/ind_spe_vol3.png);
  }
  #main .special ul li.non {
    opacity: 0.3;
    pointer-events: none;
  }
  #main .special .movie a,
  #main .special .interview a {
    display: block;
    border: 1px solid #000;
    border-radius: 3rem 0 3rem 0;
    background: url(../images/arrow.svg) right 2rem center no-repeat #FFF;
    color: #000;
    background-size: 1rem !important;
    width: 39.8rem;
    margin: 0 auto;
    text-align: center;
    line-height: 5.8rem;
    font-size: 2.4rem;
    font-weight: bold;
  }
  #main .special .movie a:hover,
  #main .special .interview a:hover {
    background: url(../images/arrow.svg) right 1.5rem center no-repeat #FFF;
  }
  #main .special .movie {
    margin-bottom: 1rem;
  }
  #main .ranking {
    width: 49rem;
    background: url(../images/ind_tri_en.svg) 2rem 3rem no-repeat, url(../images/ind_tri_bk.jpg) center top;
    background-size: 36.5rem auto, cover;
    height: 100%;
    color: #FFF;
  }
  #main .ranking h3 {
    position: relative;
    top: 7rem;
    left: 6.5rem;
    text-align: center;
    width: 100%;
    background: url(../images/ind_tri_ja.png) no-repeat;
    background-size: contain;
    width: 25.3rem;
    height: 13rem;
    margin-bottom: 2.5rem;
    text-indent: -9999px;
  }
  #main .ranking .swiper {
    padding-bottom: 3rem;
  }
  #main .ranking .swiper .swiper-pagination-bullet {
    width: 8rem !important;
    border-radius: 100vmax !important;
    background: #FFF !important;
  }
  #main .ranking .swiper .swiper-pagination-bullet-active {
    background: #F22800 !important;
  }
  #main .ranking ul li {
    position: relative;
    height: 14.5rem;
    width: 40rem;
    margin-left: 3rem;
  }
  #main .ranking ul li .bar {
    background: url(../images/ind_rank_bar.svg) top left no-repeat;
    background-size: auto 100%;
    width: 100%;
    height: 1.4rem;
  }
  #main .ranking ul li .rank {
    font-family: "GFS Didot", serif;
    font-style: normal;
    font-weight: 300;
    color: #FFD600;
    position: absolute;
    letter-spacing: -0.05em;
    width: 5rem;
    text-align: center;
    left: 0;
    font-size: 5.4rem;
  }
  #main .ranking ul li .txt {
    position: absolute;
    left: 0;
    top: 8.2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  #main .ranking ul li .txt p {
    background: #F22800;
    line-height: 2rem;
    margin-bottom: 0.3rem;
    font-size: 1.4rem;
    color: #000B54;
    padding: 0 1rem;
  }
  #main .ranking ul li .photo {
    width: 13rem;
    height: 13rem;
    border-radius: 100%;
    overflow: hidden;
    top: 0;
    left: 5.5rem;
    position: absolute;
  }
  #main .ranking ul li .photo img {
    width: 100%;
  }
  #main .ranking ul li .prof {
    margin-left: 20rem;
    margin-top: 1rem;
  }
  #main .ranking ul li .prof .sub {
    font-size: 1.5rem;
  }
  #main .ranking ul li .prof .name {
    font-size: 3.2rem;
    font-family: "Noto Serif JP", serif;
  }
  #main .ranking ul li .prof .value {
    font-size: 3rem;
    line-height: 1em;
    font-family: "Oswald", sans-serif;
    background: linear-gradient(0deg, #FFF, #FFD600);
    -webkit-background-clip: text;
    font-weight: bold;
    -webkit-text-fill-color: transparent;
  }
  #main .ranking ul li .prof .value span {
    font-size: 2rem;
    font-weight: bold;
  }
  #logotape {
    background: url(../images/logotape.svg);
    width: 2.5rem;
    height: 100%;
    z-index: 100;
    right: 0;
    top: 0;
    position: fixed;
    pointer-events: none;
    background-size: auto 32rem;
    animation: logotape 10s infinite linear;
  }
  #banner {
    background: #222;
    width: 100%;
    padding: 3rem 0;
    overflow: hidden;
  }
  #banner .swiper-slide {
    width: 32rem; /* 固定幅禁止 */
  }
  #banner .swiper-slide img {
    width: 100%;
  }
}
/* アニメーション */
@keyframes logotape {
  from {
    background-position: 0rem 0rem;
  }
  to {
    background-position: 0rem -32rem;
  }
}
/*星追加じゃあ*/
.star-container {
  position: relative;
  width: 100%;
  height: 400px;
  background: #000;
  overflow: hidden;
  color: white;
}

/* --- きらきら星 --- */
.stars {
  position: absolute;
  inset: 0;
  pointer-events: none; /* コンテンツに干渉しない */
}

.star {
  position: absolute;
  width: 2px;
  height: 2px;
  background: white;
  border-radius: 50%;
  opacity: 0;
  animation: twinkle 2s infinite ease-in-out;
}

@keyframes twinkle {
  0%, 100% {
    opacity: 0;
    transform: scale(0.5);
  }
  50% {
    opacity: 1;
    transform: scale(1.5);
  }
}
/* --- 流れ星 --- */
.shooting-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.shooting-star {
  position: absolute;
  width: 2px;
  height: 80px;
  background: linear-gradient(white, rgba(255, 255, 255, 0));
  transform: rotate(45deg);
  opacity: 0;
  animation: shoot 1s linear forwards;
}

@keyframes shoot {
  0% {
    opacity: 1;
    transform: translate(0, 0) rotate(45deg);
  }
  100% {
    opacity: 0;
    transform: translate(300px, -300px) rotate(45deg);
  }
}/*# sourceMappingURL=index.css.map */