:root{
    --qtc: #ffbe89;
    --sec1: #fff9d4;
    --sec2: #d0ffd2;
    --sec2-2: #e3ffe5;
    --sec3: #dafeff;
    --sec3-2: #cbe9f7;
    --overlap: #7eed84;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

li{
    list-style: none;
}

html{
    scroll-behavior: smooth;
}

body{
    font-family: "Arima",
    "Zen Maru Gothic",
     "Helvetica Neue",
     "Helvetica",
     "Hiragino Sans",
     "Hiragino Kaku Gothic ProN",
     "Arial",
     "Yu Gothic",
     "Meiryo",
     sans-serif;
    font-size: 2.4vw;
    line-height: 1.5;
    font-weight: 400;
    color: #444;
}

h2,h3,h4,h5{
    font-weight: 300;
    text-align: center;
}

h2{
    font-size: 3.4vw;
}

h3{
    font-size: 2.8vw;
}

h4{
    font-size: 2.4vw;
}

h5{
    font-size: 2.1vw;
}

p{
    font-size: 1.8vw;
    font-weight: 300;
}

@media screen and (max-width: 480px) {

    h2{
        font-size: 6vw;
    }

    h3{
        font-size: 5.5vw;
    }

    h4{
        font-size: 5vw;
    }

    h5{
        font-size: 4.5vw;
    }

    p{
        font-size: 4vw;
    }
}

a{
    text-decoration: none;
    color: inherit;
}

img{
    max-width: 100%;
    max-height: 100%;
}

iframe{
    border-radius: 2vw;
    width: 100%;
    height: 100%;
}

.text_align_center{
    text-align: center;
}

.bgm_container{
    width: 98vw;
    height: 99vh;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.bgm_sidebar{
    width: 30%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: space-evenly;
    padding-right: 3%;
    background-color: var(--sec1);
}

.bgm_menu_button,.bgm_select_button{
    position: relative;
    cursor: pointer;
}

.active_bgm_menu_button,.active_bgm_select_button{
    position: relative;
}

.bgm_menu_button::after,.bgm_select_button::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #444;
    transform: scale(0, 1);
    transform-origin: left;
    transition: .4s;
}

.active_bgm_menu_button::after,.active_bgm_select_button::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #444;
}

.bgm_menu_button:hover::after,.bgm_select_button:hover::after{
    transform: scale(1, 1);
}

.bgm_contents{
    width: 70%;
    height: 100%;
    background-color: var(--sec2-2);
    position: relative;
}

.bgm_iframe_container{
    position: absolute;
    left: 0;
    top: 56%;
    transform: translateY(-50%);
    width: 68vw;
    height: calc(68vw * 9 / 16);
    opacity: 0;
    transition: .6s;
    z-index: -1;
}

.soundcloud_iframe_height{
    height: 65vh;
}

.mp3_link_container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.banner_border_radius{
    border-radius: 2vw;
}

.bgm_iframe_selected{
    opacity: 1;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
}

.bgm_mode_select{
    position: fixed;
    bottom: 0;
    right: 0;
    width: 70.5%;
    height: 10vh;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    background-color: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 480px) {
    .bgm_container{
        width: 100vw;
        height: 100vh;
        flex-direction: column;
        justify-content: start;
    }

    .bgm_sidebar{
        width: 100%;
        height: 40%;
        align-items: center;
        flex-wrap: wrap;
    }

    .bgm_contents{
        width: 100%;
        height: 60%;
    }

    .bgm_iframe_container{
        top: 5vh;
        transform: translateX(0);
        width: 100vw;
        height: calc(100vw * 9 / 16);
    }

    .soundcloud_iframe_height{
        top: 0;
        height: 50vh;
    }

    .bgm_iframe_selected{
        top: 0vh;
        transform: translateX(0);
    }

    .bgm_mode_select{
        width: 100%;
    }
}