body {
    margin: 0;
    padding: 0;
    font-family: sans-serif; /* 例：フォントファミリーを指定 */
    line-height: 1.4; /* 行間を指定 */
}

/* 728px以下の画面幅に適用されるスタイル */
@media screen and (max-width: 728px) {
    body {
        width: 100%; /* 画面幅いっぱいに表示 */
        box-sizing: border-box; /* padding, border を幅に含める */
        padding: 0 16px; /* 左右に余白を追加 */
    }
}

/* 729px以上の画面幅に適用されるスタイル */
@media screen and (min-width: 729px) {
    body {
        width: 728px; /* 最大幅を728pxに設定 */
        margin: 0 auto; /* 中央寄せ */
    }
}

a {
    text-decoration: none;
    color: #1122cc;
}

ul {
    margin: 0;
    padding: 0 0 1.4em 0;
}

li {
    margin: 0;
    padding: 0;
    list-style: none;
}

li.date {
    color: #666;
    padding: 0;
    font-size: 0.7em;
}

li.date span {
    padding-left: 1em;
}

li.post {
    padding: 0 0 0.4em 0;
    margin: 0 0 0.5em 0;
    border-bottom: 1px solid #aaa;
    font-size: 0.9em;
}

li.post a:hover {
    text-decoration: underline;
}
li.post a:visited {
    color: #1d2794;
}

li.post span {
    padding-left: 0.5em;
}

li.post img {
    padding-top: 2px;
    height: auto;
    vertical-align: text-top;
}

header {
    display: flex;
    justify-content: space-between; /* 要素を左右に配置 */
    align-items: center; /* 要素を垂直方向に中央揃え */
}

h1 {
    margin: 0.8em 0 0.8em 0;
    padding: 0;
    font-size: 1.1em;
}

header span.update {
    color: #666;
    font-size: 0.8em;
}

h2 {
    margin: 0 0 0.5em 0;
    padding: 0 0 0.2em 0;
    font-size: 1.0em;
    border-bottom: 2px solid #000;
}

h2 a:link {
    color: #000;
}
h2 a:visited {
    color: #000;
}

nav {
    margin: 0 0 0.8em 0;
    padding: 0;
    display: flex;
    justify-content: space-between; /* 要素を両端に配置 */
}

nav ul {
    margin: 0;
    padding: 0;
    display: flex;
    overflow-x: auto; /* 水平方向のスクロールを許可 */
    white-space: nowrap; /* 要素を折り返さない */
    -webkit-overflow-scrolling: touch; /* iOSでスムーズなスクロールを有効化 */
/*    border-left: 1px solid #666;  */
}

nav ul li {
    padding: 0 0.8em 0 0.8em;
    border-right: 1px solid #666;
    font-weight: bold;
}

nav ul li:first-child {
    border-left: 1px solid #666;
}

nav ul li:last-child {
    margin-right: 0; /* 最後の要素の右マージンを削除 */
}

nav ul li a {
    font-size: 1.1em;
}

p.info {
    margin: 0 0 0.8em 0;
    padding: 0;
    font-size: 0.8em;
    font-weight: bold;
    color: #CF3838;
}

footer {
    text-align: center;
}
