:root{
    --col-bg-main: rgb(26, 21, 21);
    --col-bg-black: rgb(13, 10, 10);
    --col-bg-panel: rgb(56, 54, 59);
    --col-p: rgb(220, 220, 220);
    --col-p-half: rgba(220, 220, 220, 0.3);
    --col-red: rgb(238, 50, 64);
    --col-link:rgb(50, 210, 238);
}

/*幅の狭い画面ではメニュー項目を簡略化する*/
@media (max-width: 639px) {
    .disappear-when-narrow {
        display: none;
    }
    /* パネルの余白を小さく */
    div.gen-panel {
        padding: 1.5em !important;
    }
}

::selection {
	color: #EEEEEE;
	background-color: #eb506a;
}

* {
    margin: 0;
    padding: 0;
}

body{
    background-color: var(--col-bg-main);
    color: var(--col-p);
    font-family: "Murecho", sans-serif;
    margin: 0;
    padding: 0;
    min-width: 259px;
}

p{
    line-height: 190%;
}

a {
    color:var(--col-link);
    font-weight: 600;
}

h2 {
    font-weight: 600;
    font-size: 210%;
    padding-left: 0.7rem;
    padding-top: 0.1rem;
    margin-bottom: 0.3rem;
    border-left: solid 0.3em;
    border-color: var(--col-red);
}

header{
    background: none;
    margin-top: 0;
    height: 60px;
}

#header-canvas-wrapper {
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100%;
    overflow: hidden;
}

/*ナビゲーションバーの設定*/
nav {
    background-image: repeating-linear-gradient(90deg, rgb(220,220,220) 0, rgb(220,220,220) 0.1rem, transparent 0.1rem, transparent 0.3rem);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 100% 3%;
    padding-bottom: 0;
}

nav ul {
    display: table;
    margin: 0 auto;
    width: 80%;
    height: 0.5rem;
    text-align: center;
}

nav li {
    display: table-cell;
    width: 24%;
    padding: 0.5rem 0.2rem;
    border-right: 0.02em solid;
    border-color: rgb(127, 127, 127);
}

nav li:nth-child(1) {
    border-left: 0.02em solid;
}

nav li:hover {
    background-color: var(--col-p-half);
    transition-duration: 200ms;
    transition-property: background-color;
}

nav a {
    display: block;
    text-decoration: none;
    color: var(--col-p);
}

nav li.nav-active {
    background-color: var(--col-p);
}

nav li.nav-active a {
    color: var(--col-bg-main);
}

#nav-wrapper {
    background-color: rgba(0, 0, 0, 0.6);
}

footer {
    text-align: center;
}

/*パーツの定義*/
div.gen-panel {
    margin: 20px auto;
    padding: 3em;
    max-width: 900px;
    background-color: var(--col-bg-panel);
    border-radius: 20px;
}

/*個別部分へのスタイル適用*/
#page-banner {
    display: block;
    font-size: 3rem;
    font-family: "M PLUS Code Latin", monospace;
    font-optical-sizing: auto;
    font-weight: 177;
    font-style: normal;
    font-variation-settings:
      "wdth" 125;
    text-align: center;
    letter-spacing: 0.2em;
}

#whole-container {
    width: 100%;
}

/* BMSList用 */
.bmslistOut {
	/*width: 95%;*/
	/*max-width: 720px;*/
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	margin-top: 9px;
	margin-bottom: 18px;
}

.bmslist {
	padding-bottom: 20px;
	font-size: 100%;
	background-color: rgba(11, 10, 15, 0.6);
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
}

.bmslist:hover {
	-webkit-backdromp-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.bmslist a {
	background-color: inherit;
}

.bmslist h4.bmstitle {
	display: flex;
	justify-content: space-between;
	font-size: 140%;
	padding: 10px 10px;
	border-bottom: solid 2px #382daf;
	background-color: inherit;
}

.bmslist h4.bmstitle span.bmstitlel {
	display: inline-block;
	color: var(--col-p);
	/*background-color: inherit;*/

}

.bmslist h4.bmstitle span.bmstitler {
	display: inline-block;
	color: #77777f;
	/*background-color: inherit;*/
}

.bmslistContent {
	padding: 10px 2em;
}

.bmslistDownload {
	display: block;
	margin-top: 5px;
	padding: 8px;
    border: solid 1px var(--col-p-half);
}
/* IDでBMSごとにことなる背景を設定する */
#bm_lens {
    background: url("img/BMS/lenses.png");
}

#bm_ibtt {
	background: url("img/BMS/ibtt.png");
}

#bm_yamiyotake {
	background: url("img/BMS/yamiyotake.png");
}

#bm_tm48 {
	background: url("img/BMS/tm48.png");
}

#bm_nm {
	background: url("img/BMS/nm.png");
}

#bm_amorp {
	background: url("img/BMS/amorp.png");
}

#bm_fl {
	background: url("img/BMS/fl.png");
}

#bm_ne {
	background: url("img/BMS/ne.png");
}

#bm_t2 {
	background: url("img/BMS/t2.png");
}

#bm_fs {
	background: url("img/BMS/fs.png");
}

#bm_retinae {
	background: url("img/BMS/retinae.png");
}

#bm_17 {
	background: url("img/BMS/17.png");
}

#bm_aoshigure {
	background: url("img/BMS/aoshigure.bmp");
}

/*汎用*/
.bg-dark {
    background-color: var(--col-bg-black);
}

.mpluscode-bold {
    font-family: "M PLUS Code Latin", monospace;
    font-optical-sizing: auto;
    font-weight: 750;
    font-style: normal;
    font-variation-settings:
      "wdth" 125;
  }

  .is-sticky {
    position:sticky;
    top: 0;
    z-index: 100; /* BMSListやSoundCloudより上 */
  }