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

html {
    /* ルートのフォントサイズを10pxに設定しておく */
    font-size: 62.5%;
    font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

body {
    /* ルートのフォントサイズを1.6em（16pxと同等のサイズ）に設定 */
    font-size: 1.6em;
    width: 100%;
    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;
    background-color: rgb(234,242,250);
}

.padding-top-2{
    padding-top: 2rem;
}

.description{
    padding-bottom: 3rem;
}

.description ul{
    padding-left: 1em;
}

.description li{
    margin-bottom: 1.5rem;
}

.title {
    font-size: 1.8rem;
    color: rgb(0,32,96);
}

table{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

table th,table td{
    padding: 0 1rem;
    border-bottom: solid 1px #6c757d;
}

table th{
    background-color: rgb(31,78,121);
    color: #fff;
    white-space: nowrap;
}

table td{
    background-color: #fafafa;
}
hr {
    border-top: solid 10px rgb(31, 78, 121);
    width: 100%;
}

.pagetop {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    text-decoration: none;
    opacity: 0.7;
}

.pagetop img {
    width: 50px;
    height: 50px;
}

.pagetop:hover {
    opacity: 1;
}

footer {
    background-color: rgb(206, 206, 206);
    margin-top: auto;
}

footer p{
    padding: .5rem;
    margin: 0;
}

/*モバイルファーストで設定*/

/*560px以上をタブレットと想定*/

@media screen and (min-width: 560px) {
    html{
        font-size: 93.75%;
    }
    .book_img {
        width: 30%;
    }
    .book_list ul {
        width: 65%;
    }
    .book_img img {
        max-width: 200px;
    }   

}

/*960px以上をPCと想定*/

@media screen and (min-width: 960px) {
    .book_img img {
        max-width: 300px;
    }   
    html{
        font-size: 125%;
    }

}