@charset "utf-8";

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: "Mgen+ 2cp";
    font-weight: normal;
    src: local("mgenplus-2c-regular"),
        url("../fonts/mgenplus-2cp-regular.woff2") format("woff2"),
        url("../fonts/mgenplus-2cp-regular.woff") format("woff");
}

@font-face {
    font-family: "Mgen+ 2cp";
    font-weight: bold;
    src: local("mgenplus-2cp-bold"),
        url("../fonts/mgenplus-2cp-bold.woff2") format("woff2"),
        url("../fonts/mgenplus-2cp-bold.woff") format("woff");
}

@font-face {
    font-family: "Mgen+ 2cp";
    font-weight: 900;
    src: local("mgenplus-2cp-black"),
        url("../fonts/mgenplus-2cp-black.woff2") format("woff2"),
        url("../fonts/mgenplus-2cp-black.woff") format("woff");
}

@font-face {
    font-family: "NotoSansJP-Bold";
    font-weight: bold;
    src: local("NotoSansJP-Bold"),
        url("../fonts/NotoSansJP-Bold.woff") format("woff")
}

@font-face {
    font-family: "NotoSansJP-Regular";
    font-weight: lighter;
    src: local("NotoSansJP-Regular"),
        url("../fonts/NotoSansJP-Regular.woff") format("woff")
}

@font-face {
    font-family: "NotoSansJP-Medium";
    font-weight: medium;
    src: local("NotoSansJP-Medium"),
        url("../fonts/NotoSansJP-Medium.woff") format("woff")
}

html {
    height: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: "M PLUS 1p", sans-serif;
    display: flex;
    flex-direction: column;
    min-width: 1300px;
    margin: 0;
    color: #fff;
    height: 100%;
    position: relative;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    background-image: url(../img/background.png), linear-gradient(to bottom, rgba(0, 0, 0, 0), black);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-blend-mode: screen;
    width: 100%;
    height: 100%;
}

main {
    flex: 1;
}

.main-contents-wrap {
    overflow: hidden;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

img {
    max-width: 100%;
    vertical-align: middle;
}

a {
    text-decoration: none;
}

a:hover {
    opacity: 0.8    ;
}

ul {
    padding-left: 0;
}

li {
    list-style-type: none;
}

hr {
    width: 100%;
    color: #fff;
}

.container {
    width: 1200px;
    max-width: 90%;
    margin: auto;
    position: relative;
}

.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

.movie-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.sub-page {
    padding-top: 130px;
    padding-bottom: 40px;
}

.sub-page .heading {
    text-align: center;
    margin-bottom: 20px;
}

.sub-page .heading h1 img {
    height: 100px;
}

#top-kv {
    position: relative;
    min-height: 400px;
}

#top-pc {
    position: relative;
    width: 100%;
}

#top-sp {
    position: relative;
    width: 100%;
}

.top_inner {
    position: absolute;
    top: 0;
    left: 0;
    height: auto;
    width: 100%;
}

.top_bank_none{
    display: none;
}
.top_bank {
    position: absolute;
    top: 0;
    left: 0;
    animation-name: fadeIn;
    animation-duration: 2s;
    width: 100%;
}
.top_bank_2 {
    position: absolute;
    top: 0;
    left: 0;
    animation-name: fadeIn;
    animation-duration: 2s;
    width: 100%;
}
.atari {
    position: absolute;
    top: 2%;
    left: 0;
    animation-name: fadeIn;
    animation-duration: 1s;
    width: 33%;
}
.atari-day {
    position: sticky;
    opacity: 0;
    height: auto;
    padding-bottom: 100px;
    width: 250px;
}





.text {
    color: #fff;
    width: 100%;
    position: relative;
}

.text p {
    color: #fff;
    writing-mode: vertical-rl;
    height: 300px;
    position: absolute;
    font-size: 1.5rem;
    width: 40px;
    line-height: 65px;
}
.textimg p {
    width: 400px;
}

.text p.catch-copy1 {
    top: 100px;
    left: 50%;
}

.text p.catch-copy2 {
    top: 170px;
    left: 50%;
    padding-right: 40px;
}

.text img {
    position: absolute;
}
.text img.catch-copy1 {
    top: 100px;
    left: 50%;
}
.slideConts {
    opacity: 0;
    transition: all 1s;
}

.slideConts.scrollin {
    opacity: 1;
}

.slideConts2 {
    opacity: 0;
}

.slide {
    animation: slideAnime 1s ease forwards;
}

.slideConts.up {
    transform: translateY(40px);
    transition: all 1s;
    transition-delay: 0s; /* 変更: 遅延を0秒に設定 */
}

.slideConts.up.scrollin {
    transform: translateY(0);
}

@keyframes slideAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.txt1 {
    transition-delay: 1.0s;
}

.txt2 {
    transition-delay: 2.0s;
}

.txt3 {
    transition-delay: 3.0s;
}

.allstarkeirin_layer {
    position: sticky;
    width: 100%;
    height: auto;
    padding-bottom: 0px;
}

.contents {
    padding: 1rem;
}

#innner1 {
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0%;
    background: #000000;
}

#innner1 p {
    color: #fff;
    font-size: 1.4rem;
}

#innner1 p img {
    height: 30px;
}

footer {
    background-color: #000;
}

#top-foot {
    margin-bottom: 20px;
    margin-top: 20px;
}

#top-foot .meteor4 {
    position: absolute;
    left: 98%;
    width: 300px;
    top: 0;
}

.footer {
    position: relative;
    overflow-x: clip;
    z-index: 1;
    margin-top: 41rem;
}

.footer__wrapper {
    position: relative;
    padding: 0 0 14.8rem
}

.footer__lineText {
    position: absolute;
    inset: 0 0 auto;
    display: flex;
    overflow: hidden;
    margin-top: 18.462%;
    z-index: -1
}

.footer__lineText .text {
    flex-shrink: 0;
    width: min(200%, 260rem);
    -webkit-animation: footer-loop-text 24s linear infinite;
    animation: footer-loop-text 24s linear infinite
}

.footer__meteorite {
    position: absolute;
    top: 0;
    z-index: -2
}

.footer__meteorite.meteorite-1 {
    right: calc(min(1.693%, 2.2rem)*-1);
    width: min(30.77%, 40rem);
    margin-top: calc(min(5.077%, 6.6rem)*-1)
}

.footer__meteorite.meteorite-2 {
    left: min(7.77%, 10.1rem);
    width: min(31.616%, 41.1rem);
    margin-top: min(6.154%, 8rem)
}

.footer__satellite {
    position: absolute;
    top: 0
}

.footer__satellite.satellite-1 {
    right: min(13.693%, 17.8rem);
    width: min(12.924%, 16.8rem);
    margin-top: calc(min(1.462%, 1.9rem)*-1)
}

.footer__satellite.satellite-2 {
    left: min(.385%, .5rem);
    width: min(30.385%, 39.5rem);
    margin-top: min(28.462%, 37rem)
}

.footer__satellite.satellite-3 {
    right: calc(min(20%, 26rem)*-1);
    width: min(57.539%, 74.8rem);
    margin-top: min(30.077%, 39.1rem)
}


.footer__star {
    width: min(52.308%, 68rem);
    margin: 0 auto
}

.footer__ttl {
    width: min(100%, 58rem);
    margin: 0 auto
}

.footer__links {
    margin-top: 3.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    width: min(100%, 67rem);
    margin: 3rem;
}

.footer__links .item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 3rem;
    background: rgba(11, 18, 41, .4);
    box-sizing: border-box;
    border-radius: .3rem;
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
    padding: 2rem;
    text-align: center;
    margin: 0 auto;
    width: 100%;
}

.footer__links .item:before {
    position: absolute;
    inset: .3rem;
    display: block;
    content: "";
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: .3rem;
    /* z-index: -1 */
}

.footer__links .item__logo.keirin {
    width: 8.7rem;
    margin-bottom: 0.8rem;
    margin: 0 auto;
    margin-bottom: 10px;
    position: relative;
    display: flex;
    justify-content: center;
}
.footer__links .item__logo.keirin.cycle {
    width: 16.7rem;
}

.footer__links .item__logo.keirin img {
    height: auto;
    aspect-ratio: initial;
    width: auto;
    width: 80%;
}

.footer__links .item__logo.keirin.other {
    width: 27rem;
    margin-bottom: 0.8rem;
    margin: 0 auto;
    margin-bottom: 32px;
    margin-top: 32px;
    position: relative;
    display: flex;
    justify-content: center;
}

.footer__links .item__logo.keirin.other img {
    height: auto;
    aspect-ratio: initial;
    width: auto;
    width: 80%;
}

.footer__links .item__logo.girls-keirin {
    width: 17.05rem;
    margin: auto 0 2.3rem
}

.footer__links .item__textlink {
    display: inline-flex;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
    margin-left: 1.8rem
}

.footer__links .item__textlink .icon {
    transition: opacity .8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    width: 1.8rem;
    opacity: .6;
    margin: 0 0 -0.2rem .2rem
}

@media(hover) {
    .footer__links .item__textlink: hover .icon {
        opacity: 1
    }
}

.footer__links .item__sns {
    display: flex;
    justify-content: center;
    gap: 0 1.3rem;
    margin-top: 1.8rem
}

.footer__links .item__sns a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    aspect-ratio: 1/1;
    border: 1px solid #fff;
    box-sizing: border-box;
    border-radius: 50%;
    z-index: 0
}

.item__sns a img {
    width: 50%;
}

.item__sns a img.w {
    width: 1.6rem;
}

.item__sns a img.b {
    width: 1.6rem;
}


@media(hover) {
    .footer__links .item__sns a: hover {
        background: #fff
    }

    .footer__links .item__sns a:hover .icon {
        fill: #000
    }
}

.footer__links .item__sns .icon {
    transition: fill .8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s
}

.footer__links .item__sns .icon--x {
    width: 1.6rem
}

.footer__links .item__sns .icon--instagram {
    width: 1.8rem
}

.footer__links .item__sns .icon--youtube {
    width: 2.1rem
}

.footer__logo {
    display: block;
    width: 6rem;
    margin: 6.3rem auto 0
}

.footer__copyright {
    font-size: 1.2rem;
    letter-spacing: .04em;
    line-height: 1;
    text-align: center;
    margin-top: 2.1rem
}

.footer__caption {
    font-size: 1.1rem;
    letter-spacing: .04em;
    line-height: 1.73;
    text-align: center;
    margin-top: 4.4rem
}

.scroll_left {
    color: #fff;
    font-size: 1.2rem;
    margin-top: 0.5rem;
}

.item___body {
    text-align: center;
    font-family: "NotoSansJP-Medium";
    width: 100%;
}

.item__body {
    text-align: center;
    font-family: "NotoSansJP-Medium";
    width: 100%;
}

.item__body span {
    color: #fff;
    display: block;
    font-size: 0.8rem;
    margin-top: 1rem;
}

.item__body img {
    width: 65%;
    margin-top: 1rem;
}

footer {
    color: #fff;
    text-align: center;
    padding: 2rem;
}

header {
    position: fixed;
    z-index: 99;
    width: 100%;
}

.head-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: auto;
    padding: 15px 2%;
}

header .title {
    position: relative;
    z-index: 2;
    height: 60px;
    opacity: 0;
    transition: all 0.5s;
}

header .title.active {
    opacity: 1;
}

header .title img {
    height: 60px;
}

.navi-btn-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
}

.navi-btn {
    width: 40px;
    position: relative;
    cursor: pointer;
    display: inline-block;
    z-index: 1;
    height: 27px;
}

.navi-btn span {
    position: absolute;
    display: block;
    width: 40px;
    height: 2px;
    background: #fff;
    border-radius: 5px;
    transition: all .3s;
}

.navi-btn span:nth-of-type(2) {
    top: 12px;
    opacity: 1;
    transition: all .3s;
}

.navi-btn span:last-of-type {
    top: 25px;
}

.navi-btn-on span:first-of-type {
    transform: rotate(-45deg) translateY(9px) translateX(-9px);
}

.navi-btn-on span:nth-of-type(2) {
    transform: translateX(0);
    opacity: 0;
}

.navi-btn-on span:last-of-type {
    transform: rotate(45deg) translateY(-9px) translateX(-8px);
}

#gnav {
    height: 100dvh;
    width: 100%;
    position: fixed;
    top: 0px;
    background: rgba(11, 18, 41, .95);
    display: none;
}

#gnav .nav-list {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 2%;
    padding-top: 150px;
    overflow: auto;
}

#gnav .nav-list>ul {
    display: flex;
    flex-wrap: wrap;
}

#gnav .nav-list>ul>li {
    width: 240px;
    margin: 20px;
}

#gnav .nav-list>ul>li .cat-ttl {
    font-size: 1.2em;
    display: block;
    font-weight: bold;
    margin-bottom: 15px;
    border-bottom: 1px solid rgb(255 255 255 / 50%);
    padding-bottom: 10px;
    width: 100%;
}

#gnav .nav-list>ul>li li {
    padding-bottom: 10px;
    font-size: 1.1em;
}

#gnav .nav-list>ul>li a {
    color: #fff;
    display: flex;
    align-items: center;
}
#gnav .nav-list>ul>li a.disable {
    color: #8f8f8f;
    display: flex;
    align-items: center;
    pointer-events: none

}

#gnav .nav-list>ul>li a img {
    height: 14px;
    margin-right: 8px;
}

#top-bnr {
    margin-top: 100px;
}

#top-bnr .meteor1 {
    position: absolute;
    right: 105%;
    width: 300px;
    bottom: 0;
}

#top-bnr .slider {
    margin: 0 3rem;
}

#top-bnr .slick-prev {
    width: 46px;
    height: 46px;
    left: 15px;
}

#top-bnr .slick-prev::before {
    content: '';
    display: inline-block;
    width: 46px;
    height: 46px;
    background-image: url(../img/slide_prev.svg);
    background-size: contain;
    vertical-align: middle;
}

#top-bnr .slick-next {
    width: 46px;
    height: 46px;
    right: 15px;
}

#top-bnr .slick-next::before {
    content: '';
    display: inline-block;
    width: 46px;
    height: 46px;
    background-image: url(../img/slide_next.svg);
    background-size: contain;
    vertical-align: middle;
}

#top h2 {
    text-align: center;
}

#top h2 img {
    height: 100px;
}

#top-news {
    margin-top: -80px;
}

#top-news .news-list-wrap {
    margin: 0 4rem;
    background: rgba(11, 18, 41, .7);
    position: relative;
    padding: 20px 20px 20px 40px;
    border-radius: .3rem;
    height: auto;
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
}

#top-news .news-list-wrap::before {
    position: absolute;
    inset: .3rem;
    display: block;
    content: "";
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: .3rem;
}

#top-news .news-list {
    padding: 20px 20px 20px 0;
    max-height: 500px;
    overflow: auto;
}

#top-news .news-box {
    color: #fff;
    text-decoration: none;
    display: flex;
    border-bottom: 1px solid rgb(255 255 255 / 50%);
    padding-bottom: 10px;
    margin-bottom: 20px;
    position: relative;
    font-size: 1.4rem;
}

#top-news .news-box:last-child {
    margin-bottom: 0;
    /* padding-bottom: 0;
    border: none;
    border-bottom: 1px solid #fff; */
}

#top-news .news-box .date {
    margin-right: 20px;
    flex-shrink: 0;
}

#top-news .satellite1 {
    position: absolute;
    right: 100%;
}

#top-news .meteor2 {
    position: absolute;
    left: 94%;
    width: 300px;
    top: -80%;
}

#top-player {
    margin-top: 100px;
}

#top-player .planet {
    position: absolute;
    left: 110%;
    width: 220px;
}

#top-player .player-list {
    margin: 0 3rem;
}

#top-player .thumb-slider {
    margin-bottom: 30px;
    padding: 0 20px;
}

#top-player .thumb-slider li {
    height: 130px;
    margin: 0 4px;
    background: rgba(11, 18, 41, .4);
    border-radius: .3rem;
}

#top-player .thumb-slider li.slick-center {
    height: 180px;
}

#top-player .thumb-slider li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#top-player .thumb-slider .slick-track {
    display: flex;
    align-items: center;
}

#top-player .main-slider .player-box {
    display: inline-block;
    align-items: center;
    padding-left: 0.1%;
}

#top-player .main-slider .player-box .img-area {
    width: 58%;
    display: inline-block;
}

#top-player .main-slider .player-box .detail-area {
    width: 38%;
    margin-top: 10%;
    display: inline-block;
}

#top-player .main-slider .slick-prev {
    width: 46px;
    height: 41px;
    left: auto;
    right: 100%;
}

#top-player .main-slider .slick-prev::before {
    content: '';
    display: inline-block;
    width: 46px;
    height: 41px;
    background-image: url(../img/player_prev.png);
    background-size: contain;
    vertical-align: middle;
}

#top-player .main-slider .slick-next {
    width: 46px;
    height: 41px;
    right: auto;
    left: 100%;
}

#top-player .main-slider .slick-next::before {
    content: '';
    display: inline-block;
    width: 46px;
    height: 41px;
    background-image: url(../img/player_next.png);
    background-size: contain;
    vertical-align: middle;
}

#top-player .player-index {
    display: grid;
    gap: 0.5rem;
    width: min(100%, 67rem);
    margin: 3rem 1rem 5rem 1rem;
    grid-template-columns: repeat(20, 1fr);
}

#top-player .player-index li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 3rem;
    background: rgba(11, 18, 41, .4);
    box-sizing: border-box;
    border-radius: .3rem;
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
    padding: 2rem;
    text-align: center;
    margin: 0 auto;
    width: 7%;
    height: 84px;
}

#top-dream {
    margin-top: 80px;
}

#top-dream .dream-box {
    position: relative;
    padding: 20px 20px 20px 40px;
    border-radius: .3rem;
    height: 300px;
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
    padding: 20px 20px 20px 40px;
    margin: 0 3rem;
}

#news .main-contents {
    margin: 0 3rem;
    background: rgba(11, 18, 41, .7);
    position: relative;
    padding: 40px;
    border-radius: .3rem;
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
    margin-bottom: 3rem;
}

#news .main-contents::before {
    position: absolute;
    inset: .3rem;
    display: block;
    content: "";
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: .3rem;
}

#news .contents-inner {
    position: relative;
    z-index: 2;
}

#news .date {
    margin-bottom: 10px;
    text-align: left;
}

#news .contents-inner .cts {
    font-size: 1.4rem;
}

#news .title {
    padding-bottom: 15px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgb(255 255 255 / 50%);
    font-size: 1.7rem;
}
#top-day{
    position: relative;
}
#top-day h2 img{
    width: 220px;
    height: 220px;
    position: absolute;
    top: -75px;
    right: 0;
}
#top-day .day-counter-0{
    width: 40px;
    height: auto;
    top: 16px;
    right: 115px;
}
#top-day .day-counter-1{
    width: 40px;
    height: auto;
    top: 16px;
    right: 80px;
}

header .head-wrap .title img{
    /* display: none; */
}
header .head-wrap.is-show .title img{
    display: block;
}
#news .contents-inner .cts a{
    color: #ffff6a;
    word-break: break-all;
}
#layer{
    width: 100%;
    height: 150px;
    background: linear-gradient(to bottom, #000407, rgba(255, 255, 255, 0));
    border-top: 1px solid #000407;
    position: relative;
    z-index: -1;
    top: -2px;
}
.slick-slide a:hover{
    opacity: 1;
}

#top-player .main-sliderg .player-box {
    display: inline-block;
    align-items: center;
    padding-left: 0.1%;
}

#top-player .main-sliderg .player-box .img-area {
    width: 58%;
    display: inline-block;
}

#top-player .main-sliderg .player-box .detail-area {
    width: 38%;
    margin-top: 10%;
    display: inline-block;
}

#top-player .main-sliderg .slick-prev {
    width: 46px;
    height: 41px;
    left: auto;
    right: 100%;
}

#top-player .main-sliderg .slick-prev::before {
    content: '';
    display: inline-block;
    width: 46px;
    height: 41px;
    background-image: url(../img/player_prev.png);
    background-size: contain;
    vertical-align: middle;
}

#top-player .main-sliderg .slick-next {
    width: 46px;
    height: 41px;
    right: auto;
    left: 100%;
}

#top-player .main-sliderg .slick-next::before {
    content: '';
    display: inline-block;
    width: 46px;
    height: 41px;
    background-image: url(../img/player_next.png);
    background-size: contain;
    vertical-align: middle;
}
#top-player .thumb-sliderg {
    margin-bottom: 30px;
    padding: 0 20px;
}

#top-player .thumb-sliderg li {
    height: 130px;
    margin: 0 4px;
    background: rgba(11, 18, 41, .4);
    border-radius: .3rem;
}

#top-player .thumb-sliderg li.slick-center {
    height: 180px;
}

#top-player .thumb-sliderg li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#top-player .thumb-sliderg .slick-track {
    display: flex;
    align-items: center;
}

.margin100{
    margin-top: 100px;
}
#top-player .main-slider .player-box .detail-area{
    text-align: center;
    padding: 1rem;
}
#top-player .table-area{
    text-align: center;
    padding: 1rem;
    font-size: 1.4rem;
}
#top-player .table-area table{
    border-spacing:0;
    margin: 0 auto;
}
#top-player .table-area table thead{
    background: rgb(3 22 9 / 60%);
}
#top-player .table-area.girls table thead{
    background: rgb(67 0 0 / 60%);
}
#top-player .table-area table tbody{
    background: rgb(255 255 255 / 70%);
    color: #333;
}

#top-player .table-area table tr td{
    padding: 1rem;
    border-left: 1px solid #fff;
}
#top-player .table-area table tr td.none{
    border-left: none;
}

#top-player .table-area table tbody tr td{
    border-left: 1px solid rgb(4 12 30 / 80%);
}
#top-player .table-area table tr td.border-bottom{
    border-bottom: 1px solid #fff;
}

#top-player .table-area p{
    text-align: right;
    margin-right: 3rem;
    margin-top: 0.2rem;
    font-size: 1rem;
}
.event-box{
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.event-container{
    background-color: rgb(0 15 35 / 30%);
    margin: 0 auto;
    text-align: center;
    margin-top: 3rem;
    margin-bottom: 3rem;
    display: none;
    /* background: linear-gradient(to bottom, rgb(0 13 29 / 70%), rgba(0, 15, 35, 30%)); */
}
.event-container.active{
    display: block;
}
.event-container h2{
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 2rem;
}
#news .event-box .box img.title{
    height: 70px;
    margin: 1rem;
    border-bottom: 3px solid #fff;
    /* border-bottom: 3px solid rgb(255 255 255 / 50%); */
    padding-bottom: 15px;
}
#news .event-box .box img.title.day{
    height: 100px;
}
#news .event-box .box{
    width: 100%;
    display: inline-block;
}
#news .event-box .box .contents{
    width: 48%;
    background: hwb(0deg 0% 100% / 50%);
    min-height: 500px;
    margin: 0rem 0.5rem 0.5rem 0.5rem;
    border: 3px solid;
    padding: 0;
    padding-bottom: 30px;
}
#news .event-box .list{
    display: flex;
    justify-content: flex-start;
}
#news .event-box .box .list img.title{  
    margin: 0;
    width: 100%;
    height: auto;
    border: none;
}
#news .event-box .box .list .data{
    padding: 1rem;
}
.box button{
    background: #004f87;
    min-width: 200px;
    border: none;
    padding: 1rem;
    margin: 10px;
    color: #fff;
    font-weight: bold;
}
.box button.active{
    background: #3DB9D8;
}
dl.komoku {
    width: 100%;
    margin: 0px 0px 0px 10px;
    font-size: 1rem;
}
dl.komoku dt {
    background: #3DB9D8;
    border-radius: 5px;
    color: #FFF;
    text-align: center;
    width: 15%;
    float: left;
    padding: 2px 0;
    margin-right: 10px;
    clear: both;
    width: 74px;
}
dl.komoku dd {
    width: 80%;
    color: #fff;
    padding: 2px 0;
    margin-bottom: 6px;
    float: left;
    text-align: left;
}
dl.komoku dd.last{
    margin-bottom: 1rem;
}
#news .event-box .box .list .data p{
    text-align: left;
    font-size: 1rem;
}
#news .event-box .box .list .tate p.comment{
    text-align: left;
    font-size: 1rem;
    padding: 0rem 1rem 0rem 1rem;
}
#news .event-box .box .contents h4{
    font-size: 1.5rem;
    height: 88px;
    background: #fff;
    margin-bottom: 1rem;
    line-height: 88px;
    color: #0e306e;
    font-weight: bold;
    line-height: inherit;
    padding: 0.5rem 0rem;
    height: auto;
    display: grid;
    place-items: center;
    min-height: 88px;
    text-align: center;

}
#news .event-box .box .contents h4 img{
    height: 75px;
}
#news .event-box .box .contents img.title{
    padding: 1rem;
}
.displaib{
    display: block;
}

.contents .guest{
    display: flex;
    margin-top: 20px;
    justify-content: center;
}
.contents .guest > div{
    text-align: center;
}
.contents .guest img{
    max-height: 240px;
    margin: 0 10px;
}
.contents .guest.mild{
    display: flex;
    margin-top: 20px;
    justify-content: flex-start;
}
.contents .guest.mild img{
    max-height: 170px;
    margin: 0 10px;
}
.contents .guest.small img{
    max-height: 140px;
    margin: 0 5px;
}
.contents .guest.other img{
    max-height: 125px;
    margin: 0 5px;
}

.contents .guest p{
    font-size: 0.9em;
    margin-top: 5px;
}
.event-box-button{
    display: none;
}
#inracer .table-container{
    overflow-x: auto;
    white-space: nowrap;
}
#inracer table{
    width: 100%;
    border-collapse:collapse;
    text-align: center;
}
#inracer table thead{
    background: #000000;
    border-spacing:0;
}
#inracer table thead{
    background: #000000;
    border-spacing:0;
}
#inracer table th,#inracer table td{
    padding: 0.5rem;
}
#inracer table thead td{
    border-left: 1px solid #fff;
}
#inracer table thead td.none,#inracer table tbody td.none{
    border-left: none;
}
#inracer table thead td.border-bottom{
    border-bottom: 1px solid #fff;
}

#inracer table tbody td{
    background: hsl(237.07deg 100% 13% / 80%);
}
#inracer table tbody tr.l td{
    background: hsl(220deg 100% 1.4% / 80%);
}
#inracer table tbody tr.gl td{
    background: hsl(0deg 100% 11.02% / 80%);
}
#inracer table tbody tr.g td{
    background: hsl(280.72deg 100% 5.78% / 80%);
}

#inracer table tbody td img{
    max-width: 100px;
    padding: 0.2rem;
}
#inracer table tbody td{
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
#inracer table thead td.w50{
    width: 50px;
}
#inracer table tbody tr:last-child td{
    border-bottom: none;
}
#inracer table tbody tr td a{
    color: #fff;
    display: block;
    font-size: 0.6rem;
}
#inracer table tbody tr:first-child td{
    border-top: 1px solid #fff;
}
.tr{
    text-align: right;
}
#news .event-box .box .contents .tate {
    display: inline-block;
}

#news .event-box .box .contents .tate img.title{
    width: 64%;
    text-align: left;
    display: inline-block;
}
#news .event-box .box .list .tate .data{
    display: inline-block;
    padding: 0;
    width: 33%;
    vertical-align: top;
    margin-top: 20px;
}
.tate dl.komoku{
    display: inline-table;
    margin: 0;
}
.tate dl.komoku dt{
    display: table-cell;
    width: 74px;
}
.tate dl.komoku dd{
    width: 100%;
}
.contents .guest.mild img.log{
    width: 50%;
}
.contents .guest.mild.center{
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 10px;
}
.contents .guest.mild.center.tate{
    justify-content: center;
    padding: 1rem;
    margin: 0;
}
.contents .guest.mild img.s3{
    max-height: 210px;
}
.contents .guest.mild.center.tate > div{
    display: inline-block;
}
.contents .guest.mild img.s4{
    max-height: 312px;
}


#playback .footer__links{
    grid-template-columns: repeat(4, 1fr);
}
#playback .footer__links .item{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 3rem;
    background: rgba(11, 18, 41, .4);
    box-sizing: border-box;
    border-radius: .3rem;
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
    padding: 1rem;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    justify-content: space-around;
}
#playback .footer__links .item.active{
    background: rgb(0 0 0 / 80%);
}
#playback .footer__links .item__logo.keirin{
    width: 100%;
    margin-bottom:0px;
}
#playback .footer__links .item__logo.keirin p{
    font-size: 1.2rem;
    font-weight: bold;
}
#playback .playback-tab {
    display: flex;
    list-style: none;
    margin: 0 -10px;
    margin-bottom: 40px;
}
#playback .playback-tab li {
    width: 100%;
    text-align: center;
    background-color: #000;
    color: #fff;
    margin: 0 8px;
    padding: 12px;
    line-height: 1.2;
    cursor: pointer;
    font-weight: bold;
}
#playback .playback-tab li.active{
    color: #000;
    background: #fff;
}

#playback .playback-box{
    text-align: center;
    margin-bottom: 3rem;
}

#playback .playback-box .movie-title {
    margin-bottom: 10px;
    text-align: center;
    font-size: 1.6em;
    border-bottom: 3px solid #ffffff;
    display: inline-block;
    padding: 10px;
    font-weight: bold;
    margin-top: 30px;
}
.movie-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3px solid #000;
}
.playback-box .table{
    padding: 0.5rem 3rem 3rem 3rem;
}
.playback-box table{
    width: 100%;
    border-spacing: initial;
    margin: 0 auto;
    border: 3px solid #000;
}
.playback-box table thead tr td{
    background: hsl(230.51deg 100% 9.28% / 80%);
    padding: 0.5rem 1rem;
    border-right: 1px solid #fff;
}
.playback-box table tbody tr td{
    padding: 0.5rem 1rem;
    background: hsl(0deg 0% 100% / 80%);
    color: #333;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
}
.playback-box table tbody tr:last-child td{
    border-bottom: none;
}
.playback-box table tbody tr td.noneb{
    border-bottom: none;
}
.noneb{
    border-bottom: none;
}
.playback-box table tbody tr td.noneR{
    border-right: none;
}
.playback-box table thead tr td.noneR{
    border-right: none;
}
.num{
    width: 22px;
    height: 22px;
    font-size: 14px;
    text-align: center;
    margin: auto auto;
    border: 1px solid #666;
    border-collapse: collapse;
    border-radius: 3px;
    display: inline-block;
}
.num1{
    background-color: #FFFFFF;
    color: #404040;
}
.num2{
    background-color: #404040;
    color: #FFFFFF;
}
.num3{
    background-color: #E61717;
    color: #FFFFFF;
}
.num4{
    background-color: #0066CC;
    color: #FFFFFF;
}
.num5{
    background-color: #F0C518;
    color: #404040;
}
.num6{
    background-color: #228900;
    color: #FFFFFF;
}
.num7{
    background-color: #FF9500;
    color: #404040;
}
.num8{
    background-color: #F28ABD;
    color: #404040;
}
.num9{
    background-color: #822BD9;
    color: #FFFFFF;
}
#playback .playback-tab .pc-only{
    display: inline;
}

.playback-list{
    display: none;
}
.playback-list.active{
    display: block;
}
.maediumKbn{
    display: none;
}
.maediumKbn.active{
    display: block;
}
.playback-box table tbody tr td.blue{
    background: hsl(230.51deg 100% 9.28% / 80%);
    padding: 0.5rem 1rem;
    color: #fff;
    border-bottom: 1px solid #fff;
}
.playback-box table tbody tr td.blue.none{
    border-bottom: none;
}
.playback-box table tbody tr td.left{
    text-align: left;
}

#event .event-tab{
    display: flex;
    list-style: none;
    margin: 0px;
    margin-bottom: 40px;
}
#event .event-tab li {
    width: 100%;
    text-align: center;
    background-color: #000;
    color: #fff;
    margin: 0 5px;
    cursor: pointer;
    font-weight: bold;
}
#event .event-tab li a{
    padding: 20px 10px;
    display: inline-block;
    color: #fff;
    width: 100%;
}

#event .event-tab li a:hover{
    opacity: 1;
    color: #fff;
}
#event .event-tab li.btn {
    padding: 20px 10px;
}
#event .event-tab li.active{
    color: #000;
    background: #fff;
}
#event .event-tab li.active a{
    color: #000;
}

#event .event-day-tab{
    display: flex;
    list-style: none;
    margin: 0px;
    margin-bottom: 10px;
    margin-top: 40px;
}
#event .event-day-tab li {
    width: 100%;
    text-align: center;
    background-color: #000;
    color: #fff;
    margin: 0 5px;
    padding: 20px 10px;
    cursor: pointer;
    font-weight: bold;
}
#event .event-day-tab li.active{
    color: #000;
    background: #fff;
}
#event h5{
    text-align: center;
    padding: 1rem 2rem;
    font-size: 1rem;
}
.contents .guest{
    margin-bottom: 20px;
}
.contents .guest.mini img {
    max-height: 85px;
    margin: 0 5px;
}
#news .event-box .box .contents.mini{
    min-height: 200px;
    width: 31.53%;
}
.mini dl.komoku dd{
    width: 70%;
}

#campaign .cp-tab{
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
}

#campaign .cp-tab li{
    position: relative;
    background: rgba(11, 18, 41, .4);
    border-radius: .3rem;
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
    padding: 1rem;
    text-align: center;
    width: 250px;
    margin: 0 1rem;
    font-size: 1.1em;
    cursor: pointer;
}

#campaign .cp-tab li.active{
    background: rgb(0 0 0 / 80%);
    cursor: auto;
}

#campaign .cp-tab li::before{
    position: absolute;
    inset: .3rem;
    display: block;
    content: "";
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: .3rem;
}

#campaign .contents-inner{
    text-align: center;
}

#campaign .cp-contents{
    display: none;
}

#campaign .cp-contents.active{
    display: block;
}

#campaign h2{
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 30px;
}

#campaign .lead{
    font-size: 1.1em;
}

#campaign .step1{
    margin-top: 50px;
}

#campaign .follow-box{
    background: rgba(11, 18, 41, .7);
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
    display: inline-block;
    width: 600px;
    margin-top: 20px;
    position: relative;
    padding: 60px 40px 40px;
}

#campaign .follow-box h3{
    background-color: #fff;
    font-size: 1.6em;
    display: inline-block;
    padding: 8px 20px;
    font-weight: bold;
    color: #333;
    font-weight: 900;
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 200px;
}

#campaign .follow-box .cts{
    font-size: 1.5em;
}

#campaign .follow-box .account{
    background-color: #f8de06;
    color: #000;
    margin: 15px 0;
}

#cp-x .follow-box .account{
    font-size: 1.5em;
}

#cp-instagram .follow-box .account{
    font-size: 1.3em;
    padding: 2px 0;
}

#campaign .follow-box .follow{
    padding: 5px;
    display: block;
    border: 1px solid;
    font-weight: bold;
    margin-top: 30px;
    color: #fff;
    text-decoration: none;
    border-radius: 30px;
}

#cp-x .follow-box .follow{
    font-size: 1.3em;
    background-color: #000;
}

#cp-instagram .follow-box .follow{
    background: linear-gradient(to right,
        rgba(247, 207, 0, 0.7),
        rgba(246, 37, 2, 0.7) 45%,
        rgba(182, 47, 82, 0.7) 75%,
        rgba(113, 58, 166, 0.7));
    padding: 10px 0;
}

#campaign .step-arrow{
    margin-top: 50px;
    margin-bottom: 20px;
}

#campaign .step-arrow img{
    width: 100px;
}

#campaign .step2 h3{
    margin-bottom: 25px;
    text-align: center;
    font-size: 1.6em;
    border-bottom: 3px solid #ffffff;
    display: inline-block;
    padding: 10px;
    font-weight: bold;
}

#campaign .step2 .guide-msg{
    font-size: 1.1em;
}

#campaign .cp-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    margin-top: 15px;
}

#campaign .cp-list li{
    width: 48%;
    margin: 1%;
    text-align: center;
    background: hwb(0deg 0% 100% / 50%);
    border: 3px solid;
    border-top: none;
}

#campaign .cp-list li a{
    text-decoration: none;
    color: #fff;
}

#campaign .cp-list li .title{
    background: #fff;
    color: #333;
    padding: 10px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

#campaign .cp-list li .cp-num{
    background: #3DB9D8;
    border-radius: 5px;
    color: #FFF;
    display: inline-block;
    padding: 4px 10px;
    font-size: 0.9em;
    margin-right: 10px;
    white-space: nowrap;
}

#campaign .cp-list li p{
    margin-top: 3px;
    text-align: left;
}

#campaign .cp-list li p .deadline{
    white-space: nowrap;
}

#campaign .cp-list li .img-area img{
    width: 100%;
}

#cp-vote h3{
    margin-bottom: 20px;
    text-align: center;
    font-size: 1.6em;
    font-weight: bold;
}

#cp-vote .vote-box{
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, .3);
    padding-bottom: 50px;
}

#cp-vote .vote-box .img-area{
    display: flex;
    justify-content: center;
}

#cp-vote .vote-box .img-area > div:not(:last-child){
    margin-right: 20px;
}

#cp-vote .vote-box .img-area > div{
    width: 496px;
}

#entrance .entrance-inner dl{
    display: block;
    flex-wrap: wrap;
    width: 100%;
}
#entrance .entrance-inner dl dt{
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 0px;
    padding: 1rem;
    background: hwb(0deg 0% 100% / 50%);
    font-size: 1.5rem;
    font-weight: bold;
}
#entrance .entrance-inner dl dd{
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 30px;
    padding: 1rem;
    font-size: 1rem;
    background-color: #fff;
    color: #333;
}
#entrance .entrance-inner .bold{
    font-weight: bold;
}
#entrance .entrance-inner ul li.last{
    margin-bottom: 1rem;
}
#entrance .entrance-inner ul li a{
    color: #333;
}
#entrance .entrance-inner ul li a.blue{
    color: #3b88c3;
}
#entrance .entrance-inner ul li a:hover{
    opacity: 1;
    color: #3b88c3;
}
#entrance .entrance-inner ul li{

}
#entrance .entrance-inner ul li.disc{
    list-style: disc;
    margin-left: 1rem;
}
#entrance .entrance-inner ul li:last-child{
    margin-bottom: 1rem;
}
#entrance table{
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
#entrance table tr td{
    border-right: 1px solid #333;
    padding: 0.5rem;
    border-bottom: 1px solid #333;
}
#entrance table tr td.bold{
    font-weight: bold;
    color: #fff;
    background: #333;
}
#entrance table tr td.w300{
    color: #fff;
    background: #888;
    width: 300px;
    text-align: left;
}
.red{
    color: #ff3a3a;
}
.half{
    display: inline-block;
}
.half img{
    display: inline-block;
    width: 49%;
    padding: 0.2rem;
}

#timetable .tab{
    display: flex;
    margin-bottom: 60px;
    margin-top: 40px;
}

#timetable .tab li{
    width: 100%;
    text-align: center;
    background-color: #000;
    color: #fff;
    margin: 0 5px;
    padding: 20px 10px;
    cursor: pointer;
    font-weight: bold;
}

#timetable .tab li.active{
    color: #000;
    background: #fff;
}

#timetable table{
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

#timetable table th{
    border: 1px solid #666;
    background-color: hsl(220deg 100% 1.4% / 80%);
    padding: 0.5rem;
}

#timetable table td{
    border: 1px solid #666;
    padding: 0.5rem;
    background-color: #fff;
    color: #333;
}

#timetable table tr:nth-child(even) td{
    background-color: rgb(255 255 255 / 90%);
}

#timetable .timetable-cts{
    display: none;
}

#timetable .timetable-cts.active{
    display: block;
}
#leaflet .center{
    text-align: center;
}
#leaflet .center a{
    opacity: 1;
    color: yellow;
}
#leaflet .center a:hover{
    opacity: 1;
    color: yellow;
}
#leaflet .center span{
    border-bottom: 3px solid #fff;
    display: inline-block;
}

#cp-ctc .vote-box .img-area {
    display: inline-block;
    justify-content: center;
}
#cp-ctc .vote-box .img-area > div {
    width: 496px;
    display: inline-block;
    margin-bottom: 20px;
}
#cp-ctc .vote-box .img-area > div.even{
    margin-right: 20px;
}
#cp-ctc h3 {
    margin-bottom: 20px;
    text-align: center;
    font-size: 1.6em;
    font-weight: bold;
}
#timetable #timeschedule .table-container {
    overflow: auto;
    max-height: 800px;
    max-width: 1200px;
    /* border: 3px solid #000; */
}

#timetable #timeschedule table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    table-layout: fixed;
    border-spacing: 0;
}
#timetable #timeschedule table td.set{
    background-color: rgb(255 255 255 / 90%);
}
#timetable #timeschedule th.fixed04{
    width: 100px;
}
#timetable #timeschedule th.fixed03{
    width: 200px;
}
#timetable #timeschedule th.fixed03.col4{
    width: 100px;
}
#timetable #timeschedule th.fixed03.col5{
    width: 150px;
}
#timetable #timeschedule th.fixed03.col6{
    width: 200px;
}

#timetable #timeschedule th.fixed03.col1{
    width: 216px;
}
#timetable #timeschedule th,
#timetable #timeschedule td {
    height: auto;
    vertical-align: middle;
    padding: 0 15px;
    font-size: 0.7rem;
    text-align: left;
}

#timetable #timeschedule .fixed01,
#timetable #timeschedule .fixed02 {
    position: sticky;
    color: #fff;
    background: #333;

    &:before {
        content: "";
        position: absolute;
        top: -1px;
        left: -1px;
        width: 100%;
        height: 100%;
    }
}

#timetable #timeschedule .fixed01 {
    left: 0;
    width: 60px;
    background: #dddddd;
    color: #333;
}

#timetable #timeschedule .fixed02 {
    left: 60px !important;
}

#timetable #timeschedule .fixed03,
#timetable #timeschedule .fixed04 {
    position: sticky;
    top: 0;
    left: 0;
    color: #fff;
    background: #333;
    height: 50px;

    &:before {
        content: "";
        position: absolute;
        top: -1px;
        left: -1px;
        width: 100%;
        height: 100%;
        border-top: 1px solid #333;
    }
}

#timetable #timeschedule .fixed03 {
    z-index: 2;
}

#timetable #timeschedule .fixed04 {
    z-index: 1;
}

#timetable #timeschedule .fixed_top {
    z-index: 3;
}

#timetable #timeschedule ul {
    padding: 0.5rem 0.2rem 0.5rem 0.5rem;
}

#timetable #timeschedule table ul li {
    list-style-type: disc;
}

#timetable #timeschedule table td {
    padding: 0rem 0.5rem 0rem 1rem;
}

#timetable #timeschedule .tate-td {
    padding: 0;
    vertical-align: top;
    padding-top: 200px;
}
#timetable #timeschedule .tate-td.s {
    padding-top: 166px;
}
#timetable #timeschedule .tate-td.t {
    padding-top: 115px;
}
#timetable #timeschedule .tate-td.g {
    padding-top: 80px;
}
#timetable #timeschedule table th{
    border: 1px solid #000;
}

#timetable #timeschedule table tr:nth-child(even) td {
    background-color: #fff;
}
#timetable #timeschedule table tr:nth-child(even) td.set {
    background-color: rgb(255 255 255 / 90%);
}
#timetable #timeschedule .fixed01 {
    position: sticky;
    left: 0;
    background: none;
    border-left: none;
    border-right: none;
    background: #dddddd;
}

#timetable #timeschedule .fixed01:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-left: none;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    z-index: -1;
}

#timetable #timeschedule .fixed03 {
    position: sticky;
    top: 0;
    left: 0;
    background: none;
    border-top: none;
    border-bottom: none;
    background: #000;
    border-left: 1px solid #fff;

}

#timetable #timeschedule .fixed03:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-top: 1px solid #333;
    border-bottom: none;
    z-index: -1;
    color: #fff;
    border-left: 1px solid #fff;
}

#timetable #timeschedule .fixed04 {
    position: sticky;
    top: 0;
    left: 0;
    background: none;
    border-top: none;
    border-bottom: none;
    border-left: none;
    border-right: none;
    z-index: 4;
    background: #000;
    border-right: 1px solid #fff;
}

#timetable #timeschedule .fixed04:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-top: 1px solid #333;
    border-bottom: none;
    border-right: 1px solid #fff;
    z-index: 4;
    color: #fff;
}
#timetable #timeschedule .tate {
    text-orientation: upright;
    padding: 0;
    margin: 0px auto;
    -ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	height: 300px;
    width: 100%;
}
#timetable #timeschedule .tate.mr{
    padding-right: 7px;
}
#timetable #timeschedule .tate.mr15{
    padding-right: 15px;
}
#timetable #timeschedule .tate.mr6{
    padding-right: 6px;
}
#timetable #timeschedule .tate p {
    display: inline-block;
    padding-right: 20px;
}
#timetable #timeschedule .tate p.p0{
    padding-right: 0px;
}

#timetable #timeschedule .tate span.jikan.m10{
    margin-top: 10px;

}
#timetable #timeschedule .tate span.jikan{
    writing-mode: horizontal-tb;
    text-align: center;
}

#charichan .tab{
    display: flex;
    margin-bottom: 60px;
    margin-top: 40px;
}

#charichan .tab li{
    width: 100%;
    text-align: center;
    background-color: #000;
    color: #fff;
    margin: 0 5px;
    padding: 20px 10px;
    cursor: pointer;
    font-weight: bold;
}

#charichan .tab li.active{
    color: #000;
    background: #fff;
}

#charichan .movie{
    margin-bottom: 40px;
}

#charichan .table-wrap:not(:last-child){
    margin-bottom: 30px;
}

#charichan table{
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    table-layout: fixed;
    font-size: 0.8em;
}

#charichan table .title{
    width: 100px;
}

#charichan table th{
    border: 1px solid #666;
    background-color: hsl(220deg 100% 1.4% / 80%);
    padding: 0.5rem 0.2rem;
}

#charichan table td{
    border: 1px solid #666;
    padding: 0.5rem 0.2rem;
    background-color: #fff;
    color: #333;
}

#charichan table td.school{
    background-color: rgb(200 231 255);
}

#charichan table td.broadcast{
    background-color: #ffcbcc;
}
#charichan table td.yosou{
    background: #d7ffd7;
}

#charichan .charichan-cts{
    display: none;
}

#charichan .charichan-cts.active{
    display: block;
}
#charichan .img{
    padding-top: 2rem;
    padding-bottom: 3rem;
}

.news-dl-type-1 {
    display: block;
    flex-wrap: wrap;
    width: 100%;
}
.news-dl-type-1 dt {
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 0px;
    background: hwb(190.17deg 0% 29.47% / 50%);
    padding: 1rem;
    color: #fff;
    font-weight: bold;

}
.news-dl-type-1 dd {
    width: 100%;
    padding-bottom: 20px;
    background-color: #fff;
    margin-bottom: 30px;
    padding: 1rem;
    color: #333;
}
.content_wrapper ul.disc {
    list-style: disc;
    padding-left: 1rem;
}
.content_wrapper ul li{
    text-align: left;
}
.event-img {
    display: flex;
    margin-top: 20px;
    justify-content: center;
    text-align: center;
}
.event-img div img {
    max-height: 300px;
    margin: 0 10px;
}
.half3 {
    display: inline-block;
}
.half3 img {
    display: inline-block;
    width: 33%;
    padding: 0.2rem;
}
#top-all-star{
    margin-top: 100px;
}
.top-box-1{
    background: hwb(0deg 0% 100% / 50%);
    padding: 4rem;
}
.center{
    text-align: center;
    margin: 0 auto;
}

#special{
    margin-bottom: 3rem;
}
#special .tab {
    display: inline-block;
    margin-bottom: 60px;
    margin-top: 40px;
    width: 100%;
    text-align: center;
}
#special .tab li {
    width: 32%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    padding: 0;
    height: 65px;
}
#special .timetable-cts a:hover {
    opacity: 1;
}
#special img{
    width: 100%;
}
#movie .kind-tab{
    grid-template-columns: repeat(2, 1fr);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 40px;
}

#movie .kind-tab .item{
    position: relative;
    flex-direction: column;
    align-items: center;
    min-height: 3rem;
    background: rgba(11, 18, 41, .4);
    box-sizing: border-box;
    border-radius: .3rem;
    box-shadow: 0 0 1.9rem 0.7rem rgba(47, 118, 255, .45);
    text-align: center;
    margin: 0.5rem 0;
    width: 49%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#movie .kind-tab .item:before {
    position: absolute;
    inset: .3rem;
    display: block;
    content: "";
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: .3rem;
}

#movie .kind-tab .item.active{
    background: rgb(0 0 0 / 80%);
}
#movie .kind-tab .item__logo.keirin{
    width: 100%;
    margin-bottom:0px;
}
#movie .kind-tab .item__logo.keirin p{
    font-size: 1.2rem;
    font-weight: bold;
}
#movie .kind-tab .item p{
    padding: 1rem;
}
#movie .kind-tab .item a{
    width: 100%;
    color: #fff;
}

#movie .movie-tab {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0 -0.5%;
    margin-top: 40px;
    margin-bottom: 40px;
}

#movie .movie-tab li {
    width: 19%;
    text-align: center;
    background-color: #000;
    color: #fff;
    margin: 0.5%;
    padding: 20px 10px;
    line-height: 1.2;
    cursor: pointer;
    font-weight: bold;
}

#movie .movie-tab  li.active{
    color: #000;
    background: #fff;
}

#movie .movie-link {
    display: flex;
    list-style: none;
    margin: 0 -10px;
    margin-top: 40px;
    margin-bottom: 40px;
}

#movie .movie-link li{
    width: 100%;
    margin: 0 8px;
}

#movie .movie-link li a {
    width: 100%;
    text-align: center;
    background-color: #000;
    color: #fff;
    padding: 20px 10px;
    line-height: 1.2;
    font-weight: bold;
    display: block;
}

#movie .movie-link li a:hover{
    background-color: #fff;
    color: #000;
    opacity: 1;
}

#movie .movie-list{
    display: none;
}

#movie .movie-list.active{
    display: block;
}

#movie .movie-box {
    text-align: center;
}

#movie .movie-box .movie-title {
    margin-bottom: 25px;
    font-size: 1.6em;
    border-bottom: 3px solid #ffffff;
    display: inline-block;
    padding: 0 10px 10px;
    font-weight: bold;
}
.karatate{
    display: block;
}

#timetable #timeschedule td.bln{
    border-left: none;
    border-bottom: none;
}
#timetable #timeschedule td.brn{
    border-right: none;
    border-bottom: none;
}
#timetable #timeschedule .tate.mr7{
    padding-right: 3px;
}
#timetable #timeschedule .tate.mr7 p{

}
#timetable #timeschedule .tate.ketugou{
    height: 200px;
}
#timetable #timeschedule table td.bottom{
    margin: 0;
    padding: 0;
    text-align: center;
    vertical-align: super;
    border-top: none;
}
#timetable #timeschedule .tate-td.p30{
    padding-top: 34px;
}
#timetable #timeschedule .tate-td.p10{
    padding-top: 10px;
}
#timetable #timeschedule .tate-td.p93{
    padding-top: 93px;
}