*,
*::before,
*::after {
    box-sizing: border-box;
}

p {
    margin: 5px;
}

h2 {
    border-bottom: 1px solid;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    min-height: 100vh;
    padding: 20px;

    display: flex;
    flex-direction: column;
}

main {
    margin-top: 10px;
    border-top: 1px solid;
    border-bottom: 1px solid;
}
.page-header {
    text-align: center;
}

main {
    flex: 1;
    width: 100%;
    flex-direction: column;
    display: flex;
}

#main_section {
    flex: 1;
    width: 100%;
}
#blog_top_title {
    width: 100%;
    text-align: center;
}
#blog_title {
    margin-top: 10px;
    border-top: 1px solid;
}
#blog_title > h1,
#blog_title > p {
    margin: 0;
}

#create_date {
    text-align: end;
}
