:root {
    --width: 640px;
}
@media screen and (max-width: 640px) {
    :root {
        --width: 100%;
    }
}
@keyframes bg-scroll {
    to {
        background-position: 0px -900px;
    }
}
* {
    margin: 0;
    font-family: sans-serif;
}
html {
    background-color: black;
    background-image: url(./assets/bg.png);
    background-position: top;
    background-repeat: repeat-y;
    background-attachment: fixed;
    background-size: 100% auto;
    animation: bg-scroll 60s linear infinite;
    cursor: default;
}
body {
    width: var(--width);
    margin: auto;
    overflow-y: scroll;
}
#logo {
    cursor: pointer;
    object-fit: contain;
    width: var(--width);
}
#navi {
    text-align: center;
    background-color: white;
    border: 3px solid black;
    border-radius: 1605px;
}
#navi > button {
    cursor: pointer;
    border-radius: 1605px;
    width: 75px;
    padding: 0;
}
#navi > button:nth-child(odd) {
    color: #00002c;
    border-color: #00002c;
    background-color: #8baacd;
}
#navi > button:nth-child(even) {
    color: #2b2200;
    border-color: #2b2200;
    background-color: #c3b277;
}
main {
    text-align: center;
    border: 3px solid black;
    background-color: white;
}
#buttons > img {
    cursor: pointer;
}
#infobox {
    border: 1px solid black;
    width: 50%;
    float: right;
}
.info-title {
    text-align: center;
    background-color: black;
    color: white;
}
.info-cell {
    text-align: left;
}
.info-cell:nth-child(odd) {
    background-color: #ccc;
}
#gallery {
    text-align: center;
}
.illustration {
    height: 144px;
    border: 1px solid black;
    margin: 0 2px 0 2px;
}
.wallpaper {
    display: inline-block;
    background-color: #ccc;
    width: 220px;
    border-radius: 16px;
    border: 1px solid black;
    margin: 4px;
}
.wallpaper > img {
    height: 144px;
    border: 1px solid black;
}
.wallpaper > a, .wallpaper > p {
    text-decoration: none;
    display: block;
    text-align: left;
    font-family: ＭＳ Ｐゴシック;
    font-size: 12px;
    margin-left: 12px;
}
.news-entry {
    margin: 8px 0 8px 0;
}
iframe {
    aspect-ratio: 4/3;
    width: 90%;
}