html, body, header, main, nav, footer{
    box-sizing: border-box;
    margin: 0; padding: 0;
    border: 1px solid red;
}

html, body{
    width: 100%;
    height: 100%; 
}

header{
    width: 100%;
    height: 100px;
}

main{ 
    padding: 1rem;
    float: right; 
    width: 80%;
    height: calc(100% - 100px - 2rem); 
    overflow: auto;
}

nav{ 
    float: left; 
    width: 20%;
    height: calc(100% - 100px - 2rem); 
    overflow: auto;
}

footer{ 
    clear: both; /* float要素をclearする（下に移動する） */
    height: 2rem;
}

pre{
    font-weight: 800;
}