body {
    font-family: 'Times New Roman','MS PGothic';
    background-color: #ccc;
    -webkit-text-size-adjust: 100%;
}
footer {
    margin-top: 1rem;
    border-top: 1px black solid;
    text-align: center;
    padding-top: 2px;
}
h2 {
    font-size: 130%;
    margin: 1em 0;
}
h3 {
    margin: 0.5em 0;
}
p {
    margin: 0.25em 0;
}

pre.code {
    border:1px solid black;
    overflow: auto;
    padding: 2px;
}
.posted-time {
    margin: 0 5px 10px 5px;
    font-size: 90%;
}

.tbl-old-style {
    border-collapse: separate;
    border: 1px solid gray;
}
.tbl-old-style tr th{
    border-collapse: separate;
    border: 1px solid black;
}
.tbl-old-style tr td{
    border-collapse: separate;
    border: 1px solid black;
}

.link-table tr td{
    height: 2em;
}

.letter-body {
    margin-left: 1em;
}

@media screen and (max-width:500px) {
    .flex-table {
        display:flex;
        flex-direction: column;
        border-left: 1px solid gray;
        border-right: 1px solid gray;
        width: 100%;
    }
    .diary-photo {
        margin: 2px 0;
        max-width: 100%;
    }
}
@media screen and (min-width:501px) {
    .flex-table {
        display:flex;
        flex-direction: row;
        border-left: 1px solid gray;
        border-right: 1px solid gray;
        width: 100%;
    }
    .diary-photo {
        margin: 2px 0;
        max-width: 480px;
    }
}

.flex-table:first-of-type {
    border-top: 1px solid gray;
}
.flex-table:last-of-type {
    border-bottom: 1px solid gray;
}
.flex-table>div {
    border:1px solid black;
    margin: 2px;
}