html {
    font-size: 62.5%;
    height: 100%;
}
body {
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    color: #3b3d40;
    font-size: 1.6rem;
    min-height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
}

#contents {
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    flex: 1; /* This is the magic line that pushes the footer down */
}

#contents .main-container{
    width: 1098px;
    margin: 0 auto;
}

header {
    margin: 0 auto;
    width: 1098px;
    overflow: hidden;
    height: auto;
    text-align: left;
}

header h1{
    margin: 0;
    padding: 20px 0 0;
}

#footer {
    clear: both;
}

#header-lt #site-id{
    padding: 20px;
}

.page-title {
    border-bottom: solid 1px #c8d1db;
    margin-bottom: 30px;
}

.page-title h2 {
    font: inherit;
    font-size: 3.2rem;
    line-height: 1.2em;
    margin-bottom: .8em;
}

#contents p {
    line-height: 1.8;
    letter-spacing: 0.03em;
    margin: 0 0 15px;
}

.sec_maintenance {
    margin-bottom: 110px;
}

#footer-lt {
    background: #000;
    width: 100%;
    padding: 20px 0; 
}

#footer-lt .footer-inner #footer-inner-logo{
    float: none;
    margin: 0 auto;
}

#contents p {
    font-size: 1.6rem;
}

@media only screen and (min-width: 768px) and (max-width: 1075px){
    .sec_maintenance {
        margin-bottom: 110px;
    }

    #footer-lt,
    #header-lt #header-lt-inner,
    #footer-lt .footer-inner{
        width: 100%;
        max-width: 1075px;
    } 
}

@media only screen and (max-width: 767px) {
    #footer-lt,
    #header-lt #header-lt-inner,
    #footer-lt .footer-inner,
    header{
        width: 100%;
        max-width: 750px;
    } 

    #contents .main-container{
        width: 80%;
        max-width: 750px;
    }

    .sec_maintenance{
        margin-bottom: 50px;
    }


    .page-title h2,
    #contents p{
        text-align: left;
    }
    
    header h1,
    #contents p.time{
        text-align: center;
    }

    aside{
        text-align: left;
    }
}