@font-face {
    font-family: nototo;
    src: url("../fonts/Noto_Sans_JP/static/NotoSansJP-Regular.ttf") format("truetype");
}

@font-face {
    font-family: nototob;
    src: url("../fonts/Noto_Sans_JP/static/NotoSansJP-Bold.ttf") format("truetype");
}

@font-face {
    font-family: sf;
    src: url("../fonts/ABSTER.ttf") format("truetype");
}

@font-face {
    font-family: combo;
    src: url("../fonts/Elronmonospace.ttf") format("truetype");
}

@font-face {
    font-family: hack;
    src: url("../fonts/Hack-Regular.ttf") format("truetype");
}

#version {
    font-style: italic;
    font-size: 13px;
    opacity: .56;
}

body {
    padding: 0;
    margin: 0;
    background-color: #222;
    font-family: nototo;
    user-select: none;
}


* {
    scrollbar-width: thin;
    scrollbar-color: #888 transparent;
}

*::-webkit-scrollbar {
    width: 12px;
}

*::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 6px;
}

*:hover::-webkit-scrollbar-thumb,
*:focus::-webkit-scrollbar-thumb,
*:active::-webkit-scrollbar-thumb {
    background: #888;
}

*::-webkit-scrollbar-track {
    background: transparent;
}


header {
    text-align: center;
    font-family: sf;
    height: 68px;
    display: grid;
    place-items: center;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    font-size: 34px;
    color: #666;
    background-color: #000000ef;
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 10px #000c;
    z-index: 998;
    transition: all .3s;
}

header.hide {
    transform: translateY(-80px);
}

header img {
    height: 40px;
}


.information {
    width: 100%;
    height: 45px;
    position: relative;
    margin: 12px 0;
    transition: all .3s;
    box-shadow: 0 0 10px #0006;
}

.information:hover {
    height: 220px;
}

.information:hover .infoHeader {
    border-radius: 8px 8px 0 0;
}

.information:hover .infoText {
    height: 175px;
    font-size: 14px;
    opacity: 1;
}

.infoHeader {
    width: 100%;
    height: 45px;
    color: #ffffff;
    font-size: 20px;
    border-radius: 8px;
    transition: all .3s;
    position: absolute;
    top: 0;
    left: 0;
}

.infoHeader.newinfo {
    background: linear-gradient(140deg, #ffaf10d0, #ffdb27d0);
}

/*
.infoHeader.newsong {
    background: linear-gradient(140deg, #ff0055d0, #ff0088d0);
}
*/

.infoIcon {
    width: 45px;
    height: 45px;
    position: absolute;
    top: 0;
    left: 4px;
    display: grid;
    place-items: center;
}

.infoTitle{
    width: fit-content;
    height: 45px;
    padding-left: 15px;
    position: absolute;
    left: 40px;
    top: 0;
    display: grid;
    place-items: center;
    /*font-weight: bold;*/
    font-family: nototob;
}

.infoIcon img {
    height: 24px;
    opacity: 1;
}

.infoText {
    width: 100%;
    height: 0;
    font-size: 14px;
    background-color: #fff5cb;
    position: absolute;
    top: 45px;
    left: 0;
    opacity: 0;
    border-radius: 0 0 8px 8px;
    transition: all .3s;
}

.infoBox {
    width: calc(100% - 32px);
    height: 100%;
    padding: 0 16px;
    overflow-y: auto;
    color: #834420;
    scrollbar-width: thin;
    scrollbar-color: #cf865b transparent;
}

.infoBox table {
    margin: 8px 0 22px 0;
}

.infoBox tr {
    box-shadow: 0 1px 0 #cf865b70;
}
.infoBox tr:last-child {
    box-shadow: none;
}

.infoBox a {
    color: #ff8828;
    text-decoration: none;
}

.infoBox ul {
    margin: 6px 0;
}

.infoBox li {
    list-style-type: square;
}

.infoBox .messageArea {
    padding: 5px;
    margin: 5px 0;
    border-radius: 6px;
    border: solid 1px #cf865b;
    background-color: #fff9df;
}

.infoBox::-webkit-scrollbar-thumb {
    background-color: #cf865b;
}


#songBoxFormat {
    display: none;
}


#configBtn {
    height: 100%;
    width: 70px;
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
}

#configBtn img {
    height: 30px;
    opacity: .65;
    transition: all .2s;
}

#configBtn:hover img {
    height: 36px;
    opacity: 1;
}

#userBtn {
    height: 100%;
    width: 70px;
    position: absolute;
    top: 0;
    right: 0;
    display: grid;
    place-items: center;
}

#userBtn img {
    height: 30px;
    opacity: .65;
    transition: all .2s;
}

#userBtn:hover img {
    height: 36px;
    opacity: 1;
}

#userDataMini {
    position: absolute;
    top: 0;
    right: 70px;
    height: 100%;
    width: fit-content;
    display: grid;
    place-items: center;
    font-size: 16px;
    color: #aaa;
}

#userNameMini {
    font-size: 13px;
    color: #aaa;
    font-family: nototob;
}

#userRateMini {
    font-size: 11px;
    color: #aaa;
    font-family: nototo;
}

.headerSpace {
    text-align: center;
    height: 80px;
    width: 100%;
    opacity: 0;
    /*font-weight: bold;*/
    font-family: nototob;
}

.headerSpace2 {
    text-align: center;
    height: 80px;
    width: 100%;
    opacity: 0;
    /*font-weight: bold;*/
    font-family: nototob;
}


#settingMenu {
    width: 500px;
    max-width: 100vw;
    height: 100vh;
    /*max-height: 700px;*/
    /*border-radius: 8px;*/
    background-color: #000000e0;
    backdrop-filter: blur(6px);
    position: fixed;
    top: 0;
    left: -500px;
    box-shadow: 0 0 10px #0008;
    z-index: 997;
    opacity: 0;
    transition: all .3s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#settingMenu[class="showST"] {
    left: 0;
    opacity: 1;
}

.settingHeader {
    margin-top: 50px;
    margin-bottom: 20px;
    width: 100%;
    height: 45px;
    /*background: linear-gradient(140deg, #ff82f5, #00eeff, #b8ffa6);*/
    background: linear-gradient(140deg, #ff82f5d0, #00eeffd0, #b8ffa6d0);
    color: #ffffff;
    font-size: 20px;
    display: grid;
    place-items: center;
    position: relative;
    font-family: nototob;
    border-radius: 8px;
}

.settingHeader .text {
    vertical-align: 2px;
}

.gear {
    height: 100%;
    width: 48px;
    color: #ffffff;
    background-color: #00000000;
    border-radius: 0 8px 0 0;
    display: grid;
    place-items: center;
    position: absolute;
    top: 0;
    left: 0;
}

.gear img {
    height: 22.2px;
}

.winClose {
    height: 100%;
    width: 48px;
    color: #ffffff;
    background-color: #00000000;
    border-radius: 0 8px 8px 0;
    display: grid;
    place-items: center;
    position: absolute;
    top: 0;
    right: 0;
    transition: all .2s;
}

.winClose:hover {
    background-color: #ff4444ff;
}

.winClose img {
    height: 29px;
    transition: all .2s;
}

.winClose:hover img {
    height: 33px;
}

.settingForm {
    /*height: calc(100% - 65px);*/
    height: 100%;
    width: calc(100% - 60px);
    padding: 0 30px;
    position: absolute;
    color: #aaa;
    font-size: 16px;
    bottom: 0;
    left: 0;
    border-radius: 0 0 8px 8px;
    overflow-y: auto;
}

#userMenu {
    /*
    position: fixed;
    top: 89px;
    right: -465px;
    width: 450px;
    height: 65vh;
    max-height: 700px;
    border-radius: 8px;
    background-color: #000000ef;
    backdrop-filter: blur(6px);
    box-shadow: 0 0 10px #0008;
    z-index: 999;
    opacity: 0;
    transition: all .3s;
    */
    width: 500px;
    max-width: 100vw;
    height: 100vh;
    /*max-height: 700px;*/
    /*border-radius: 8px;*/
    background-color: #000000e0;
    backdrop-filter: blur(6px);
    position: fixed;
    top: 0;
    right: -500px;
    box-shadow: 0 0 10px #0008;
    z-index: 997;
    opacity: 0;
    transition: all .3s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#userMenu[class="showUSR"] {
    right: 0;
    opacity: 1;
}

#userName {
    font-size: 31px;
    font-family: nototob;
}

#optionCover {
    z-index: 996;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #00000000;
    backdrop-filter: blur(0);
    position: fixed;
    top: -100vh;
    left: -100vw;
    transition: background-color .3s, backdrop-filter .3s;
}

#optionCover.show {
    top: 0;
    left: 0;
    background-color: #00000050;
    backdrop-filter: blur(50px);
}

/*ここからslider*/
/* 以下スライダーのCSS */
input[type="range"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    cursor: pointer;
    outline: none;
    background: linear-gradient(140deg, #ff82f5d0, #00eeffd0, #b8ffa6d0);
    height: 3px;
    width: calc(100% - 4px);
    border-radius: 3px;
    border: solid 0px #dff1ff;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: #53aeff;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}

input[type="range"]::-moz-range-thumb {
    background: #53aeff;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
    border: none;
}

input[type="range"]::-moz-focus-outer {
    border: 0;
}

input[type="range"]:active::-webkit-slider-thumb {
    box-shadow: 0px 5px 10px -2px rgba(0, 0, 0, 0.3);
}

/*ここまでslider*/
input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    height: 20px;
    width: 20px;
    background-color: #222;
    outline: 0;
    border: solid 2px #53aeff;
    border-radius: 3px;
    margin: 0 2px;
    position: relative;
    vertical-align: -4px;
}

input[type="checkbox"]:checked:before {
    position: absolute;
    top: 0;
    left: 4px;
    transform: rotate(40deg);
    width: 6px;
    height: 10px;
    border-right: 3px solid #08f;
    border-bottom: 3px solid #08f;
    content: '';
}

input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    height: 20px;
    width: 20px;
    background-color: #222;
    outline: 0;
    border: solid 2px #53aeff;
    border-radius: 50%;
    margin: 0 2px;
    position: relative;
    vertical-align: -4px;
}

input[type="radio"]:checked::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 4px;
    width: 8px;
    height: 8px;
    background: #08f;
    border-radius: 50%;
    display: block;
}

input[type="button"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    border-radius: 3px;
    border: 0;
    outline: 0;
    height: 32px;
    width: 155px;
    font-size: 14px;
    font-family: nototo;
    color: #53aeff;
    border: solid 2px #53aeff;
    background: linear-gradient(140deg, #ff82f500, #00eeff00, #b8ffa600);
}

input[type="button"]:hover {
    transition: all .1s;
    border: 0;
    color: #ffffff;
    background: linear-gradient(140deg, #ff82f5d0, #00eeffd0, #b8ffa6d0);
}

.smallFont {
    font-size: 13px;
}

input[type="text"],
input[type="password"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    border-radius: 3px;
    border: solid 1px #555;
    outline: 0;
    height: 28px;
    width: 300px;
    font-size: 16px;
    padding: 0 5px;
    background-color: #111;
    color: #eee;
    font-family: nototo;
    margin: 8px 0 14px 0;
}

input[type="text"]::placeholder,
input[type="password"]::placeholder {
    color: #666;
}

input[type="text"]:focus,
input[type="password"]:focus {
    border: solid 1px #4e95ff;
}


ul {
    padding-left: 21px;
}

a {
    color: #4e95ff;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.artist a {
    color: #ffffff;
    text-decoration: none;
}

.artist a:hover {
    color: #ffffff;
    text-decoration: underline;
}



.titleBox {
    width: 100%;
    height: 70px;
    /*
    background: linear-gradient(90deg, #ffffff70, #00000050), url(../images/bg7.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    */
    background-color: #555555;
    color: #222;
    position: relative;
    border-radius: 8px;
}

.title {
    font-size: 33px;
    /*font-weight: bold;*/
    font-family: nototob;
    height: 68px;
    width: fit-content;
    display: grid;
    place-items: center;
    position: absolute;
    top: 0;
    left: 20px;
}

h2 {
    font-size: 23px;
    font-weight: normal;
    font-family: nototob;
    line-height: 100%;
}

#footer {
    width: 100%;
    height: auto;
    padding: 15px 0;
    color: #999;
    font-size: 18px;
    overflow-y: hidden;
    text-align: center;
    border-radius: 8px;
    background: #444;
}


.songs {
    width: 100%;
    height: 45px;
    position: relative;
    margin: 12px 0;
    transition: all .3s;
    box-shadow: 0 0 10px #0006;
}

.songs:hover {
    height: 105px;
}

.songData {
    width: 100%;
    height: 45px;
    /*background: linear-gradient(140deg, #ff82f5, #00eeff, #b8ffa6);*/
    background: linear-gradient(140deg, #ff82f5d0, #00eeffd0, #b8ffa6d0);
    color: #ffffff;
    font-size: 20px;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 8px;
    transition: all .3s;
}

.songs:hover .songData {
    border-radius: 8px 8px 0 0;
}

.songName {
    width: fit-content;
    height: 45px;
    padding-left: 15px;
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    place-items: center;
    /*font-weight: bold;*/
    font-family: nototob;
}

.originalIcon {
    height: 26px;
    width: fit-content;
    padding: 0 7px;
    display: grid;
    place-items: center;
    color: #fff;
    font-family: nototo;
    font-size: 12px;
    border-radius: 4px;
    background: linear-gradient(30deg, #2a47c9ef, #ff227bef);
    box-shadow: inset 0 0 3px #fff;
    position: absolute;
    top: calc((100% - 26px) / 2);
    right: 48px;
}

.originalIcon.contestSong {
    background: linear-gradient(30deg, #ff154cef, #ed7c1fef);
}

.originalIcon.collabSong {
    background: linear-gradient(30deg, #ef1feb, #f060a3);
    /*background: linear-gradient(30deg, #088c29, #09938e);*/
}

.rankingBtn {
    width: 45px;
    height: 45px;
    position: absolute;
    top: 0;
    right: 4px;
    display: grid;
    place-items: center;
}

.rankingBtn img {
    height: 24px;
    opacity: 1;
    transition: all .2s;
}

.rankingBtn:hover img {
    height: 28px;
    opacity: 1;
}

.artist {
    width: fit-content;
    height: 45px;
    padding-left: 15px;
    font-size: 16px;
    /*font-weight: normal;*/
    font-family: nototo;
}

.chartData {
    width: 100%;
    height: 0;
    font-size: 0;
    background-color: #ffffff;
    position: absolute;
    top: 45px;
    left: 0;
    opacity: 0;
    border-radius: 0 0 8px 8px;
    transition: all .3s;
}

.songs:hover .chartData {
    width: 100%;
    height: 60px;
    font-size: 0;
    position: absolute;
    top: 45px;
    left: 0;
    border-radius: 0 0 8px 8px;
    opacity: 1;
}

.albumArt {
    width: 120px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0 0 0 8px;
}

.highScore {
    width: 200px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 110px;
}

.highDif {
    height: 0;
    font-size: 0;
    line-height: 100%;
    font-family: nototo;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s;
}

.songs:hover .highDif {
    height: auto;
    font-size: 12px;
    top: 7px;
}

.hses {
    color: #08f;
}

.hshd {
    color: #f80;
}

.hsex {
    color: #f33;
}

.hsov {
    color: #666;
}

.score {
    height: 0;
    font-size: 0;
    line-height: 100%;
    color: #222;
    font-family: nototo;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s;
}

.songs:hover .score {
    height: auto;
    font-size: 18px;
    top: 23px;
}

.grade {
    height: 0;
    font-size: 0;
    line-height: 100%;
    font-family: nototob;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s;
}

.songs:hover .grade {
    height: auto;
    font-size: 22px;
    top: 20px;
    left: 88px;
}

.gm {
    color: #c0f;
}

.gs {
    color: #0af;
}

.ga {
    color: #f80;
}

.gb {
    color: #190;
}

.gc {
    color: #04f;
}

.gd {
    color: #666;
}

.gl {
    color: #f11;
}

.difficulty {
    width: 200px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

.difBtn {
    width: 50px;
    height: 100%;
    display: grid;
    place-items: center;
    font-size: 0;
    color: #ffffff;
    font-family: nototob;
    position: absolute;
    transition: font-size .3s;
}

.songs:hover .difBtn {
    width: 50px;
    height: 100%;
    font-size: 20px;
    position: absolute;
    transition: all .1s;
}

.songs:hover .difBtn:hover {
    width: 50px;
    height: 92%;
    font-size: 20px;
    position: absolute;
}

.easy {
    background: linear-gradient(180deg, #329cff, #329cff40);
    bottom: 0;
    right: 150px;
}

.hard {
    background: linear-gradient(180deg, #ff953f, #ff953f40);
    bottom: 0;
    right: 100px;
}

.expert {
    background: linear-gradient(180deg, #ff1d69, #ff1d6940);
    bottom: 0;
    right: 50px;
}

.over {
    background: linear-gradient(180deg, #666666, #66666640);
    bottom: 0;
    right: 0px;
    border-radius: 0 0 8px 0;
}

.lamp {
    height: 0;
    width: 0;
    box-sizing: border-box;
    border: solid 0px #ffffff00;
    border-radius: 0 0 2px 2px;
    position: absolute;
    top: 0;
    left: 25px;
    background-color: #ffffff;
    transition: all .1s;
}

.songs:hover .lamp {
    border: solid 1px #ffffff;
    left: 15px;
    height: 6px;
    width: 20px;
}

.lamp_tc {
    background-color: #ffffff;
}

.lamp_ta {
    background-color: #190;
}

.lamp_mc {
    background-color: #f80;
}

.lamp_pc {
    background-color: #0af;
}

.lamp_ac {
    background-color: #c0f;
}


#continueHowto {
    height: 28px;
    width: 100%;
    border-radius: 2px;
    border: solid 1px #666;
    color: #666;
    font-family: nototo;
    font-size: 14px;
    display: grid;
    place-items: center;
    background-color: #333;
}

#continueHowto:hover {
    background-color: #2c2c2c;
}

#hiddenHowto {
    height: 0;
    opacity: 0;
    font-size: 0;
    transition: all .3s;
}

#hiddenHowto[class="showHT"] {
    height: auto;
    opacity: 1;
    font-size: 17px;
}

#hiddenHowto h2 {
    font-size: 0;
}

#hiddenHowto[class="showHT"] h2 {
    font-size: 23px;
}

@media screen and (min-width:1000px) {
    section {
        width: 800px;
        min-height: 100vh;
        height: auto;
        margin: 0 auto;
        color: #aaa;
        font-size: 17px;
    }
}

@media screen and (min-width:750px) and (max-width:999px) {
    section {
        width: 84%;
        min-height: 100vh;
        height: auto;
        margin: 0 auto;
        color: #aaa;
        font-size: 17px;
    }
}

@media screen and (min-width:500px) and (max-width:749px) {
    section {
        width: 90%;
        min-height: 100vh;
        height: auto;
        margin: 0 auto;
        color: #aaa;
        font-size: 17px;
    }
}

@media screen and (max-width:499px) {
    section {
        width: 94%;
        min-height: 100vh;
        height: auto;
        margin: 0 auto;
        color: #aaa;
        font-size: 17px;
    }
}







#keyConf {
    position: fixed;
    height: 100vh;
    width: 100%;
    top: calc(-100vh - 10px);
    /*background-color: #00000050;*/
    background-color: #00000069;
    backdrop-filter: blur(0);
    left: 0;
    opacity: 0;
    transition: opacity .2s, backdrop-filter;
    z-index: 10000;
    display: grid;
    place-items: center;
    opacity: 0;
    font-family: combo;
    color: #c0c0c0;
    font-size: 17px;
    text-align: center;
}

#keyConf[class="show"] {
    top: 0;
    opacity: 1;
    backdrop-filter: blur(50px);
}

#confKey {
    height: 100px;
    width: 400px;
    font-size: 26px;
    position: relative;
    border-radius: 12px;
    margin-top: 12px;
    border: solid 1px #505050;
}

.confKey {
    height: 100px;
    width: 100px;
    margin: 0;
    display: grid;
    place-items: center;
    border-radius: 12px;
    position: absolute;
    top: 0;
    font-size: 18px;
    font-family: combo;
    word-break: break-all;
}

#confKey1 {
    left: 0;
}

#confKey2 {
    left: 100px;
}

#confKey3 {
    left: 200px;
}

#confKey4 {
    left: 300px;
}

#keyChoose {
    height: 100px;
    width: 100px;
    box-sizing: border-box;
    border: solid 3px #0026d1;
    border-radius: 12px;
    transition: all .2s;
    position: absolute;
    top: 0;
    left: 0;
}

#keyChoose[class="pos1"] {
    left: 0;
}

#keyChoose[class="pos2"] {
    left: 100px;
}

#keyChoose[class="pos3"] {
    left: 200px;
}

#keyChoose[class="pos4"] {
    left: 300px;
}

#sub_keyConf {
    position: fixed;
    height: 100vh;
    width: 100%;
    top: calc(-100vh - 10px);
    /*background-color: #000000b9;*/
    background-color: #00000050;
    backdrop-filter: blur(0);
    left: 0;
    opacity: 0;
    transition: opacity .2s, backdrop-filter .2s;
    z-index: 10000;
    display: grid;
    place-items: center;
    opacity: 0;
    font-family: combo;
    color: #c0c0c0;
    font-size: 17px;
    text-align: center;
}

#sub_keyConf[class="show"] {
    top: 0;
    backdrop-filter: blur(50px);
    opacity: 1;
}

#sub_confKey {
    height: 100px;
    width: 450px;
    font-size: 26px;
    position: relative;
    border-radius: 12px;
    margin-top: 12px;
    border: solid 1px #505050;
}

.sub_confKey {
    height: 100px;
    width: 150px;
    margin: 0;
    display: grid;
    place-items: center;
    border-radius: 12px;
    position: absolute;
    top: 0;
    font-size: 18px;
    font-family: combo;
    word-break: break-all;
}

#sub_confKey1 {
    left: 0;
}

#sub_confKey2 {
    left: 150px;
}

#sub_confKey3 {
    left: 300px;
}

#sub_keyChoose {
    height: 100px;
    width: 150px;
    box-sizing: border-box;
    border: solid 3px #0026d1;
    border-radius: 12px;
    transition: all .2s;
    position: absolute;
    top: 0;
    left: 0;
}

#sub_keyChoose[class="pos1"] {
    left: 0;
}

#sub_keyChoose[class="pos2"] {
    left: 150px;
}

#sub_keyChoose[class="pos3"] {
    left: 300px;
}



#rankingContainer {
    position: fixed;
    height: 100vh;
    width: 100%;
    top: 0;
    background-color: #000000b9;
    /*background-color: #00000050;*/
    backdrop-filter: blur(50px);
    left: -100%;
    opacity: 0;
    transition: opacity .2s, backdrop-filter .2s;
    z-index: 5;
    font-family: nototo;
    color: #c0c0c0;
    font-size: 17px;
    overflow-y: auto;
}

#rankingContainer[class="show"] {
    left: 0;
    opacity: 1;
}

.rankingTitleIcon {
    width: 45px;
    height: 45px;
    position: absolute;
    top: 11px;
    right: 18px;
    display: grid;
    place-items: center;
    filter: brightness(0.13);
}

#rankingTable {
    width: 100%;
    height: auto;
    font-size: 15px;
    /*background-color: #222;*/
    border-radius: 8px;
    /*padding: 12px;*/
    box-sizing: border-box;
    box-shadow: 0 0 10px #0008;
    border-spacing: 0;
    overflow: hidden;
    margin-bottom: 34px;
}

#rankingTable thead {
    background-color: #292929;
}

#rankingTable thead th {
    color: #f2f2f2;
}

#rankingTable tbody td {
    color: #c0c0c0;
}

#rankingTable th,
#rankingTable td {
    padding: 12px 14px;
    font-family: nototo;
    letter-spacing: .03em;
    color: #f2f2f2;
    text-align: center;
    border-bottom: 1px solid #000;
}

#rankingTable tbody {
    background-color: #1b1b1b;
}

#rankingTable tbody tr:hover {
    background-color: #262626;
}

#rankingTable tbody tr:last-child td {
    border-bottom: none;
}

#rankingTable td .bold {
    font-family: nototob;
}

.toggleDifficultyBox {
    width: 100%;
    height: fit-content;
    padding: 0;
    margin-bottom: 8px;
    position: relative;
}

#closeRankingBtn {
    position: absolute;
    top: 0;
    right: 0;
}

.toggleDifficulty {
    max-width: calc(100% - 160px);
    display: flex;
    padding: 0;
}

.rankingDifBtn {
    width: 100px;
    height: 40px;
    display: grid;
    place-items: center;
    margin-right: 3px;
    font-size: 16px;
    color: #707070;
    font-family: nototob;
    background-color: #000000d0;
    cursor: pointer;
    transition: all .2s;
}

.rankingDifBtn:hover {
    background-color: #2c2c2cd0;
}

.rankingDifBtn.selected {
    color: #fff;
}

#rankingEasyBtn {
    box-shadow: inset 0 -3px 0 #329cff;
}

#rankingHardBtn {
    box-shadow: inset 0 -3px 0 #ff953f;
}

#rankingExpertBtn {
    box-shadow: inset 0 -3px 0 #ff1d69;
}

#rankingOverBtn {
    box-shadow: inset 0 -3px 0 #666666;
}


#loading {
    height: 100vh;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    background-color: #202020;
    color: #777;
    font-size: 35px;
    z-index: 990;
    display: grid;
    place-items: center;
    /*font-weight: bold;*/
    font-family: nototob;
}

@keyframes slideIn {
    0% {
        transform: translateX(100vw);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slideOut {
    0% {
        transform: translateX(0);
    }

    90% {
        transform: translateX(-100vw);
    }

    100% {
        transform: translateX(-100vw);
    }
}

@keyframes fadeInOut {
    0% {
        color: #666;
    }

    50% {
        color: #202020;
    }

    100% {
        color: #666;
    }
}

#loadAnim {
    animation: fadeInOut 1.5s infinite ease;
}


#sideMenu {
    position: fixed;
    bottom: 100px;
    left: 10px;
    height: 195px;
    width: 65px;
    /*
    background-color: #ffffff80;
    backdrop-filter: blur(6px);
    box-shadow: 0 0 10px #0008;
    */
    z-index: 2;
    transition: all .3s;
    border-radius: 8px;
    display: grid;
    place-items: center;
}

.sideMenuIcon {
    height: 54px;
    width: 54px;
    display: grid;
    place-items: center;
    transition: all .2s;
    border-radius: 8px;
    background-color: #666;
    box-shadow: 0 0 5px #0008;
}

.sideMenuIcon img {
    height: 26px;
    filter: brightness(0) invert(1);
    transition: all .2s;
}

.sideMenuIcon:hover img {
    height: 30px;
}

.sideMenuIcon.x {
    background-color: #000;
}

.sideMenuIcon.discord {
    background-color: #7289da;
}

@media screen and (max-width: 999px) {
    #sideMenu {
        display: none;
    }
}

.copyMessage-top {
    position: absolute;
    top: 195px;
    left: calc(50% - 27px);
    display: inline-block;
    display: grid;
    place-items: center;
    width: 54px;
    height: 26px;
    color: #fff;
    font-size: 12px;
    background: #ff346a;
    border-radius: 4px;
    opacity: 0;
    transition: all .16s;
}

.copyMessage-top.show {
    top: 205px;
    opacity: 1;
}

.copyMessage-top:before {
    content: "";
    position: absolute;
    top: -15px;
    left: 50%;
    margin-left: -8px;
    border: 8px solid transparent;
    border-bottom: 8px solid #ff346a;
}

.copyMessage-top p {
    margin: 0;
    padding: 0;
}


b{
    font-family: nototob;
    font-weight: normal;
}