/*import*/

@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c');
@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');
@import url('https://fonts.googleapis.com/css?family=Ubuntu+Mono');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mochiy+Pop+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100..900&display=swap');

/*変数(色など)*/
:root {
    --M_PLUS_Rounded_1c: 'M PLUS Rounded 1c', sans-serif;
    --M_PLUS_1p: 'M PLUS 1p', sans-serif;
    --Noto_Sans_JP: 'Noto Sans JP', sans-serif;
    --Ubuntu_Mono: 'Ubuntu Mono', sans-serif;
    --Zen_Maru_Gothic: 'Zen Maru Gothic', sans-serif;
    --Kosugi_Maru: 'Kosugi Maru', sans-serif;
    --Mochiy_Pop_One: 'Mochiy Pop One', sans-serif;
    --Rubik: 'Rubik', sans-serif;
    --PT_Sans: 'PT Sans', sans-serif;
    --Roboto_Slab: 'Roboto Slab', sans-serif;
    --color0:rgba(0,0,0,0);
    --color1_1:rgb(0,200,200);
    --color1_2:rgb(100,255,255);
    --color2_1:rgb(0,200,137);
    --color2_2:rgb(114, 228, 192);
    --color3_1:rgb(255,150,0);
    --color3_2:rgb(255,100,0);
    --color3_3:rgb(255,50,0);
    --color4_1:rgb(0, 150, 200);
    --color4_2:rgb(0, 150, 200);
}

:root {
    --color_mob1:rgb(255,0,0);
    --color_mob2:rgb(204,0,0);
    --color_block1:rgb(234,67,53);
    --color_block2:rgb(181,50,41);
    --color_item1:rgb(255,153,0);
    --color_item2:rgb(204,122,0);
    --color_biome1:rgb(251,189,4);
    --color_biome2:rgb(198,146,3);
    --color_build1:rgb(255,255,0);
    --color_build2:rgb(204,204,0);
    --color_crop1:rgb(221,255,0);
    --color_crop2:rgb(176,204,0);
    --color_food1:rgb(146,255,0);
    --color_food2:rgb(118,204,0);
    --color_ore1:rgb(50,255,0);
    --color_ore2:rgb(40,204,0);
    --color_effect1:rgb(0,255,153);
    --color_effect2:rgb(0,204,122);
    --color_weapon1:rgb(0,255,207);
    --color_weapon2:rgb(0,204,163);
    --color_armor1:rgb(0,239,255);
    --color_armor2:rgb(0,193,204);
    --color_rewrite1:rgb(0,198,255);
    --color_rewrite2:rgb(0,159,204);
    --color_particle1:rgb(0,97,255);
    --color_particle2:rgb(0,78,204);
    --color_furniture1:rgb(0,0,255);
    --color_furniture2:rgb(0,0,204);
    --color_enchant1:rgb(71,0,255);
    --color_enchant2:rgb(54,0,204);
    --color_villager1:rgb(157,0,255);
    --color_villager2:rgb(122,0,204);
    --color_progress1:rgb(210,0,255);
    --color_progress2:rgb(166,0,204);
    --color_system1:rgb(255,0,203);
    --color_system2:rgb(204,0,163);
    --color_weather1:rgb(255,0,140);
    --color_weather2:rgb(204,0,112);
    --color_other1:rgb(51,51,51);
    --color_other2:rgb(0,0,0);
}

/*一般要素(a)など*/

body {
    overflow:hidden;
    user-select: none;
}

/*最外部*/

#header {
    position:absolute;
    height:calc(100% / 9);
    width:100%;
    top:0;
    left:0;
    display:flex;
    align-items:center;
    justify-content: center;
}

#header_upperline1 {
    position:absolute;
    height:7%;
    width:100%;
    top:0;
    left:0;
    background-color:var(--color1_1);
}

#header_upperline2 {
    position:absolute;
    height:1px;
    width:100%;
    top:calc(10% - 1px);
    left:0;
    background-color:var(--color1_1);
}

#header_underline {
    position:absolute;
    height:1px;
    width:90%;
    top:90%;
    left:5%;
    background-color:var(--color1_1);
}

#header_buttons {
    width:90%;
    height:80%;
    display:flex;
    align-items:center;
    justify-content: center;
    button{
        height:80%;
        width:20%;
        margin-left:calc(100vw / 192);
        margin-right:calc(100vw / 192);
        border:none;
        border-left:1px solid var(--color1_1);
        border-right:1px solid var(--color1_1);
        outline:none;
        color:var(--color1_1);
        background-color:rgba(0,0,0,0);
        font-size:1.5vw;
        font-family:var(--M_PLUS_Rounded_1c);
        transition:0.3s;
    }
    button.active{
        color:white;
        background-color:var(--color1_1);
        border-image:none;
        border-image-slice: none;
        border-color:var(--color1_1);
    }
}

#main {
    position:absolute;
    height:calc((100% / 9) * 7);
    width:100%;
    aspect-ratio: 16/7;
    top:calc(100% / 9);
    left:0;
    transition: 0.3s;
    &.active {
        height:calc((100% / 9) * 8);
    }
}

#footer {
    position:absolute;
    height:calc(100% / 9);
    width:100%;
    aspect-ratio: 16/1;
    z-index:100;
    top:calc((100% / 9) * 8);
    left:0;
    background-color:var(--color1_1);
    transition: 0.3s;
    &.active {
        top:100%;
    }
    #speaker {
        position:absolute;
        height:80%;
        width:20vw;
        top:10%;
        left:calc((100vh / 9) / 10);
        background-color:var(--color1_2);
        border-radius: calc((100vh / 9) / 10);
        img {
            position:absolute;
            height:100%;
            aspect-ratio: 1/1;
            background-color:white;
            border-radius: 10%;
        }
        #value_setting {
            position:absolute;
            height:100%;
            width:calc(20vw - (((100vh / 9) / 10) * 8));
            top:0;
            right:0;
            display:flex;
            align-items:center;
            justify-content:center;
            h1 {
                position:absolute;
                left:0;
                font-size:1vw;
                font-family:var(--Zen_Maru_Gothic);
            }
            input {
                height:8px;
                width:50%;
                border-radius:4px;
                accent-color: var(--color1_1);
                outline:none;
                -webkit-appearance: none;
                appearance: none;
            }
            h2 {
                position:absolute;
                right:0;
                font-size:1vw;
                font-family:var(--Zen_Maru_Gothic);
            }
        }
    }
    #musicselect {
        position:absolute;
        height:80%;
        width:10vw;
        top:10%;
        left:calc(((100vh / 9) / 5) + 20vw);
        background-color:white;
        border-radius:calc((100vh / 9) / 10);
        label {
            height:100%;
            width:100%;
            display:flex;
            flex-flow: column;
            align-items: center;
            justify-content: center;
            h1 {
                font-size:1vw;
                font-family: var(--Zen_Maru_Gothic);
            }
            select {
                height:calc((100vh / 9) / 5);
                width:80%;
                border:none;
                border-radius:calc((100vh / 9) / 20);
                outline:none;
                background-color:var(--color1_2);
            }
            option {
                background-color:white;
            }
        }
    }
}

#footer_upperline {
    position:absolute;
    height:calc(100vh / 540);
    width:100%;
    top:-0.5vh;
    left:0;
    background-color:var(--color1_1);
}

.footertoglbutton {
    position:absolute;
    height:3vh;
    width:3vw;
    top:-3vh;
    color:white;
    background-color: var(--color1_1);
    border:none;
    border-top-right-radius: 1vh;
    opacity:0;
    pointer-events: none;
    &.visible {
        opacity: 1;
        pointer-events: all;
    }
}

#audio {
    display:none;
}

.menu {
    position:absolute;
    height:100%;
    width:90%;
    top:0;
    left:5%;
    background-color:white;
    opacity: 0;
    overflow: auto;
    scrollbar-width: none;
    pointer-events: none;
    transition: 0.3s;
    &.visible {
        opacity:1;
        pointer-events: all;
    }
    &.unvisible {
        display:none;
    }
}

.menu_title {
    position:absolute;
    width:100%;
    height:50%;
    display:flex;
    flex-flow: column;
    align-items:center;
    justify-content:center;
    overflow: hidden;
    opacity:0;
    pointer-events: none;
    img {
        position:absolute;
        width:100%;
    }
    &.visible {
        opacity: 1;
        pointer-events: all;
    }
}

.menu_title_textarea {
    position:relative;
    height:70%;
    width:50%;
    z-index:2;
    border:10px dashed white;
    background-color:rgba(0,0,0,0.3);
    border-radius: 5vw;
    display:flex;
    flex-flow: column;
    align-items:center;
    h1 {
        position:relative;
        top:-1.5vh;
        color:white;
        font-size:7vw;
        margin:0;
        font-family: var(--M_PLUS_Rounded_1c);
    }
    h2 {
        position:relative;
        top:-2em;
        color:white;
        font-size:1.5vw;
        margin:0;
        font-family: var(--Noto_Sans_JP);
    }
    h3 {
        position:relative;
        top:-2.5em;
        color:white;
        font-size: 1vw;
        margin:0;
        font-family: var(--Noto_Sans_JP);
    }
}


/*home*/


/*MBM*/

#minecraft_gate {
    position:absolute;
    width:100%;
    height:12.5%;
    top:60%;
    color:black;
    display: flex;
    flex-flow:column;
    align-items: center;
    #minecraft_buttons {
        height:100%;
        width:100%;
        background-color:white;
        #gate_upperline1 {
            position:relative;
            height:5px;
            width:95%;
            top:calc(10% - 5px);
            left:2.5%;
            background-color:var(--color2_1);
        }
        #gate_upperline2 {
            position:relative;
            height:0;
            width:calc(95% - 2px);
            top:8%;
            left:2.5%;
            border-bottom:1px dashed var(--color2_1);
        }
        #gate_upperline3 {
            position:relative;
            height:5px;
            width:95%;
            top:calc(80% + 5px);
            left:2.5%;
            background-color:var(--color2_1);
        }
        #gate_upperline4 {
            position:relative;
            height:0;
            width:calc(95% - 2px);
            top:calc(74% + 5px);
            left:2.5%;
            border-bottom:1px dashed var(--color2_1);
        }
        .minecraft_toglbutton {
            position:relative;
            height:60%;
            width:30%;
            top:10%;
            left:15%;
            z-index:2;
            color:var(--color2_1);
            font-size:2vw;
            font-family: var(--M_PLUS_Rounded_1c);
            border:none;
            margin-right:10%;
            border-left:1px solid var(--color2_1);
            border-right:1px solid var(--color2_1);
            background-color:var(--color0);
            transition: 0.3s;
            &.active{
                color:white;
                background-color:var(--color2_1);
            }
        }
    }
}

.minecraftmenu {
    position:absolute;
    width:100%;
    top:72.5%;
    left:0;
    color:black;
    background-color:white;
    display: flex;
    flex-flow: column;
    align-items: center;
    opacity: 0;
    overflow: auto;
    scrollbar-width: none;
    pointer-events: none;
    transition: 0.3s;
    &.visible {
        opacity:1;
        pointer-events: all;
    }
    h1 {
        height:3vh;
        margin:0;
        display:flex;
        align-items:center;
        justify-content: center;
        font-family: var(--Zen_Maru_Gothic);
    }
    #MBM_h2s {
        height:4vh;
        width:100%;
        display:flex;
        h2 {
            height:4vh;
            width:50%;
            margin:0;
            display:flex;
            align-items:center;
            justify-content: center;
            font-family:var(--Noto_Sans_JP);
            font-size:2vw;
        }
    }
    #MBM_or {
        position:relative;
        height:calc(100% - 7vh);
        width:100%;
        display:flex;
        #goto_regi,#goto_view {
            position:relative;
            width:50%;
            aspect-ratio: 1/1;
            top:0;
            left:0;
            button {
                position:absolute;
                height:80%;
                width:80%;
                top:10%;
                left:10%;
                z-index:2;
                border:none;
                outline: none;
                background-color:white;
                transition:0.3s;
                .smallblock {
                    position:absolute;
                    height:7.5%;
                    aspect-ratio: 1/1;
                    background-color:var(--color3_1);
                    pointer-events: none;
                    &.front {
                        z-index:3;
                    }
                }
                #moveblock1 {
                    left:10%;
                }
                #moveblock2 {
                    left:80%;
                }
                #moveblock5 {
                    left:14%;
                }
                #moveblock6 {
                    left:90%;
                }
                .mediumblock {
                    position:absolute;
                    height:12.5%;
                    aspect-ratio: 1/1;
                    background-color: var(--color3_2);
                    pointer-events: none;
                }
                #moveblock3{
                    left:64%;
                }
                #moveblock7{
                    left:28%
                }
                .bigblock {
                    position:absolute;
                    height:20%;
                    aspect-ratio:1/1;
                    z-index: 3;
                    background-color:var(--color3_3);
                    pointer-events: none;
                }
                #moveblock4 {
                    left:6%;
                }
                #moveblock8 {
                    left:53%;
                }
                img {
                    position:absolute;
                    height:80%;
                    aspect-ratio: 1/1;
                    left:50%;
                    transform: translateX(-50%);
                }
            }
        }
    }
}

#regi_area,#view_area {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    aspect-ratio: 292/187;
    z-index:4;
    background-color:white;
    opacity:0;
    pointer-events: none;
    transition: 0.3s;
    &.visible {
        opacity:1;
        pointer-events: all;
    }
    img {
        position:absolute;
        width:90%;
        aspect-ratio: 292/187;
        top:0;
        left:5%;
    }
    h1 {
        font-size:2.5vw;
        font-family:var(--Zen_Maru_Gothic);
        margin:0;
    }
    h2 {
        font-size:1.5vw;
        margin:0.5vh;
        margin-bottom:0;
        font-family:var(--Zen_Maru_Gothic);
    }
}

#regi_area {
    #regi_left {
        position:absolute;
        height:65%;
        width:35%;
        top:10%;
        left:10%;
        display:flex;
        flex-flow:column;
        h1 {
            height:8.6%;
        }
        #first_genres {
            ol {
                height:100%;
                margin-top:0;
                overflow: auto;
                scrollbar-width: none;
                font-size:1.2vw;
                font-family:var(--Zen_Maru_Gothic);
                a {
                    text-decoration: none;
                    color:black;
                    transition: 0.3s;
                    &:hover {
                        color:var(--color4_1);
                    }
                    &.active {
                        color:var(--color3_3);
                    }
                }
            }
        }
        #more_genres {
            position:absolute;
            height:80%;
            left:50%;
            ol {
                height:100%;
                margin:0;
                overflow: auto;
                scrollbar-width: none;
                font-size:1.2vw;
                font-family:var(--Zen_Maru_Gothic);
                a {
                    text-decoration: none;
                    color:black;
                    transition: 0.3s;
                    &:hover {
                        color:var(--color4_1);
                    }
                    &.active {
                        color:var(--color3_3);
                    }
                }
            }
        }
    }
    #regi_right {
        position:absolute;
        height:65%;
        width:35%;
        top:10%;
        right:10%;
        display:flex;
        flex-flow:column;
        h1 {
            height:8.6%;
        }
        #regiforms {
            position:absolute;
            height:91.4%;
            width:100%;
            top:8.6%;
            left:0;
            .regiform {
                position:absolute;
                height:100%;
                width:100%;
                top:0;
                left:0;
            }
        }
    }
}

/*terminal*/

/*others*/

/*setting*/