body {
    font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    background-color: #222;
    height: 100vh;
    margin: 0;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
header {
    background-image: linear-gradient(yellow, gold);
    width: 100%;
    height: 8vh;
    display: flex;
    text-align: center;
    justify-content: center;
}
.logo {
    display: inline-block;
    margin: 5px auto;
}
.logo a {
    display: inline-block;
    /* width: 100%; */
    height: 100%;
}
.logo img {
    vertical-align: top;
    /* max-height: 10vh; */
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

main {
    width: 95%;
    overflow-x: auto;
    overflow-y: auto;
    margin: 0 auto;
    padding: 0 10px;
}
.title .text {
    font-size: large;
    color: whitesmoke;
}
.telop {
    overflow:hidden;
    white-space:nowrap;
    text-align: center;
}
.telop p {
    margin: 0.25em 0;
    display: inline-block;
    color: whitesmoke;
}
.telop div {
    width: 100%;
    margin: 0.25em 0;
    color: whitesmoke;
}
ul#menu {
    list-style-type: none;
    margin: 8px auto;
    padding: 0;
    text-align: center;
}
#menu li {
    background-image: linear-gradient(royalblue, midnightblue);
    border: solid royalblue;
    border-width: 2px;
    margin: 8px auto;
}
#menu a {
    display: block;
    padding: 8px;
    text-decoration: none;
    font-weight: bold;
    color: whitesmoke;
}
#menu a:hover {
    background-image: linear-gradient(khaki, gold);
    text-shadow: black 1px 1px 0, black -1px -1px 0,
        black -1px 1px 0, black 1px -1px 0,
        black 0px 1px 0, black  0 -1px 0,
        black -1px 0 0, black 1px 0 0;
}
.result table {
    white-space: nowrap;
    text-align: center;
    min-width: 100%;
}
.result table th {
    background-image: linear-gradient(royalblue, midnightblue);
    color: whitesmoke;
}
.result table td {
    background: #ffff99;
    font-size: small;
}
.result table tr:nth-child(odd) td {
    background: #fff;
}
.result a {
    color: blue;
}
.result table .td_r {
    text-align: right;
}
.result table .td_c {
    text-align: center;
}
.result table .td_l {
    text-align: left;
}

footer {
    background-image: linear-gradient(yellow, gold);
    position: fixed;
    bottom: 0px;
    width: 100%;
    text-align: center;
}