body {
    background-color: #111111;
    color: #eeeeee;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    max-width: 800px;
    margin: 80px auto;
    padding: 0 30px;
    line-height: 1.9;
}

header {
    border-bottom: 1px solid #888888;
    padding-bottom: 30px;
    margin-bottom: 55px;
}

.english {
    font-size: 14px;
    letter-spacing: 0.15em;
    color: #999999;
}

h1 {
    font-size: 30px;
    font-weight: normal;
    margin: 12px 0 0;
}

h2 {
    font-size: 21px;
    font-weight: normal;
    margin-top: 50px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #666666;
}

.description {
    margin-bottom: 45px;
    font-size: 15px;
}

nav {
    border-top: 1px solid #888888;
}

nav a {
    display: block;
    padding: 22px 5px;
    border-bottom: 1px solid #666666;
    color: #eeeeee;
    text-decoration: none;
    transition: background-color 0.2s;
}

nav a:hover {
    background-color: #222222;
}

.nav-title {
    display: block;
    font-size: 18px;
}

.nav-description {
    display: block;
    margin-top: 5px;
    font-size: 13px;
    color: #999999;
}

.sub-link {
    margin-top: 40px;
    font-size: 13px;
}

.sub-link a {
    color: #bbbbbb;
    text-decoration: none;
}

.sub-link a:hover {
    color: #eeeeee;
    text-decoration: underline;
}

.record-list {
    border-top: 1px solid #888888;
    margin-top: 40px;
}

.record {
    border-bottom: 1px solid #666666;
}

.record a {
    display: block;
    padding: 27px 5px;
    color: #eeeeee;
    text-decoration: none;
    transition: background-color 0.2s;
}

.record a:hover {
    background-color: #222222;
}

.record-number {
    font-size: 12px;
    letter-spacing: 0.1em;
    color: #999999;
}

.record-title {
    display: block;
    margin-top: 6px;
    font-size: 20px;
}

.record-info {
    display: block;
    margin-top: 7px;
    font-size: 13px;
    color: #999999;
}

.record-note {
    display: block;
    margin-top: 13px;
    font-size: 14px;
}

.record-data {
    border-top: 1px solid #777777;
    border-bottom: 1px solid #777777;
    padding: 22px 8px;
    margin: 40px 0 55px;
    font-size: 14px;
    color: #aaaaaa;
    line-height: 2.1;
}

.poem {
    font-size: 17px;
    line-height: 2.3;
    white-space: normal;
}

.notice-list {
    border-top: 1px solid #888888;
    margin-top: 40px;
}

.notice-item {
    padding: 27px 5px;
    border-bottom: 1px solid #666666;
}

.notice-date {
    font-size: 12px;
    color: #999999;
    letter-spacing: 0.1em;
}

.notice-title {
    margin-top: 6px;
    font-size: 18px;
}

.notice-text {
    margin-top: 12px;
    font-size: 14px;
}

.link-list {
    border-top: 1px solid #888888;
    margin-top: 40px;
}

.link-item {
    border-bottom: 1px solid #666666;
}

.link-item a {
    display: block;
    padding: 24px 5px;
    color: #eeeeee;
    text-decoration: none;
}

.link-item a:hover {
    background-color: #222222;
}

.link-title {
    display: block;
    font-size: 18px;
}

.link-description {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: #999999;
}

.rule {
    margin-bottom: 45px;
    padding-bottom: 30px;
    border-bottom: 1px solid #555555;
}

.rule-number {
    font-size: 12px;
    color: #999999;
    letter-spacing: 0.1em;
}

.rule-title {
    font-size: 20px;
    margin: 6px 0 12px;
}

.rule-text {
    font-size: 14px;
}

.error-code {
    font-size: 13px;
    color: #999999;
    letter-spacing: 0.1em;
    margin-bottom: 22px;
}

.notice {
    font-size: 16px;
}

.small {
    margin-top: 40px;
    font-size: 12px;
    color: #999999;
}

.back {
    margin-top: 65px;
    font-size: 13px;
}

.back a {
    color: #eeeeee;
    text-decoration: none;
}

.back a:hover {
    text-decoration: underline;
}

footer {
    margin-top: 80px;
    padding-top: 22px;
    border-top: 1px solid #666666;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: #999999;
}


/* 管理者ページ */

.administrator-name {
    font-size: 16px;
    margin: 10px 0 25px;
}

.administrator-section {
    margin-top: 45px;
    padding-top: 25px;
    border-top: 1px solid #666666;
}


/* 施設日誌 */

.diary-list {
    border-top: 1px solid #888888;
    margin-top: 40px;
}

.diary-entry {
    padding: 35px 5px 40px;
    border-bottom: 1px solid #666666;
}

.diary-date {
    font-size: 10px;
    color: #777777;
    letter-spacing: 0.1em;
}

.diary-title {
    font-size: 21px;
    font-weight: normal;
    margin: 7px 0 25px;
    padding: 0;
    border: none;
}

.diary-text {
    font-size: 15px;
    line-height: 2;
}

.diary-text p {
    margin: 0 0 18px;
}

.diary-author {
    margin-top: 30px;
    font-size: 10px;
    color: #777777;
}