div[header-wrap] {
header {
    background-color: #d0dfff;
    padding-block: 15px;
    text-align: center;
}
header a {
    display: inline-block;
    font-weight: bold;
    font-size: 2.4rem;

    text-decoration: none;
    color: var(--text-black);

    span {
        display: inline-block;
    }
}
}
div[footer-wrap] {
footer {
    width: 100%;
    padding: 12px 0;
    background-color: #bbb;

    * {
        margin: 0;
        padding: 0;
    }

    small {
        display: block;
        padding: 8px 0;
        color: #fff;
        text-align: center;
        font-size: 16px;
    }
}
}
div[home-wrap] {

display: flex;
main, .sp-ext-links { margin: 0 15px; }

main {
    flex: 1;
    margin-bottom: 10px;
}
aside.for-pc {
    width: 10.5rem;
    margin-left: 2px;
    padding-inline: 10px;
    background-image: linear-gradient(to bottom, #bbb 21px, transparent 1px);
    background-size: 2px 45px;
    background-position: left top;
    background-repeat: repeat-y;

    .int-links, .ext-links {
        li { border: solid 1px #8a8a8a; }
        padding: 0;
        margin: 10px 0;
    }
    .ext-links {
        border-top: solid 2px #999;
        padding-top: 10px;
    }
    .int-links li {
        text-align: center;
        padding: 0.25rem 5px;
        border-radius: 0.6rem;
        font-size: 1.15rem;
        margin-bottom: 0.5rem;
    }
    .ext-links li {
        padding: 0.15rem;
        margin-bottom: 0.25rem;
    }
}
aside.for-pc, nav.for-sp {
    ul {
        list-style: none;
    }

    ul li {
        a {
            text-decoration: none;
            display: inline-block;
            width: 100%;
            color: #33b;
        }
        a span { display: inline-block; }
    }
}
nav.for-sp {
    ul.nav-links {
        padding: 3px 0;
        margin: 0;
        display: flex;

        li {
            flex: 1;
            text-align: center;
            padding-block: 5px;
        }
        li:not(:first-child) a { border-left: solid 1px #ddd; }
        li a {box-sizing: border-box; }

        border-bottom: solid 1px #ddd;
        margin-bottom: 10px;
    }
    ul.foot-links {
        padding: 0;
        margin: 5px 0;
        li {
            border-left: solid 2px #bbb;
            padding-left: 5px;
        }
    }
}
.sp-ext-links {
    padding-block: 5px;
    border-top: solid 2px #ddd;
}
.for-sp { display: none; }


@media screen and (max-width: 780px) {
    display: block;

    .for-pc { display: none; }
    .for-sp { display: block; }
}

}