#main_plan_ui {
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 50;
}

#main_plan_ui .bnts_stage {
    position: absolute;
    box-sizing: border-box;
    width: auto; height: auto;
    min-width: 4rem; min-height: 4rem;
    pointer-events: all;
    cursor: pointer;
}

#main_plan_ui .bnts_stage.rt {
    right: 1rem; top: 1rem;
}

#main_plan_ui .bnts_stage.r {
    right: 1rem; top: 50%; height: auto;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

#main_plan_ui .bnts_stage.rb {
    right: 1rem; bottom: 1rem; 
}

#main_plan_ui .btn {
    display: block;
    border: 0;
    position: relative;
    width: 4rem; height: 4rem;
    background-color: var(--btn-plan-ui-bg);
    background-repeat: no-repeat;
    background-size: 90%;
    background-position: center;
    cursor: pointer;
}

#main_plan_ui .zoom {
    position: relative;
}

#main_plan_ui .zoom .btn.in {
    border-radius: var(--btn-border-radius) var(--btn-border-radius) 0 0;
    background-image: url(../images/icon_plus.svg);
}

#main_plan_ui .zoom .btn.out {
    border-radius: 0 0 var(--btn-border-radius) var(--btn-border-radius);
    background-image: url(../images/icon_minus.svg);
}

#main_plan_ui .btn.hs_show {
    /* width: 5rem; height: 5rem; */
    border-radius: var(--btn-border-radius);
    margin-bottom: 1rem;
}

#main_plan_ui .btn.hs_hide {
    /* width: 5rem; height: 5rem; */
    border-radius: var(--btn-border-radius);
    margin-bottom: 1rem;
}

#main_plan_ui .btn.plan_360 {
    /* width: 5rem; height: 5rem; */
    border-radius: var(--btn-border-radius);
    margin-top: 1rem;
}

#main_plan_ui .btn.plan_flat {
    /* width: 5rem; height: 5rem; */
    border-radius: var(--btn-border-radius);
    margin-top: 1rem;
}

#main_plan_ui .btn.theme_light,
#main_plan_ui .btn.theme_dark {
    border-radius: var(--btn-border-radius);
    margin-top: 1rem;
    display: none;
}

body.theme_dark #main_plan_ui .btn.theme_light { display: block; } 
body:not(.theme_dark) #main_plan_ui .btn.theme_dark { display: block; } 


#main_plan_ui .btn.map {
    /* width: 5rem; height: 5rem; */
    border-radius: var(--btn-border-radius);
    width: 8rem; height: 8rem;
    background-size: 100%;
    padding: 0.3rem;
    border: 0.3rem solid rgba(0,0,0,0.6);
    background-clip: padding-box;
    /* background-image: url(../images/icon_yamap.svg); */
    background-image: url(../images/minimap_ym.webp);
    margin-top: 1rem;
    transition: background 0.5s, margin-bottom 0.5s;
}

body.ymap #main_plan_ui .btn.map {
    background-image: url(../images/minimap_3d.webp);
    margin-bottom: 2rem;
}

#iframe_plan,
#iframe_map {
    transition: opacity 0.5s;
}

#iframe_map {
    opacity: 0;
    pointer-events: none;
}

body.ymap #iframe_plan {
    opacity: 0;
    pointer-events: none;
    display: block;
}

body.ymap #iframe_map {
    opacity: 1;
    pointer-events: all;
    display: block;
}

#plan_logo {
    position: absolute;
    right: 1rem; top: 1rem; height: 9rem; width: auto;
    opacity: 0.9;
}

@media only screen and (max-width: 500px) {
    #plan_logo {
        left: 1rem; right: auto; top: auto; bottom: 1rem;
    }
}