body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    max-width: 750px;
    margin: 0 auto;
    height: 700px;
    overflow-y: scroll; /* 縦方向のスクロールバーを表示 */
}

html, body {
    width: 1980px;
    max-width: 100%;
    overflow-x: auto; /* 横方向にスクロールバーを表示 */
    height: 700px;
}

/* テーブルを横スクロール可能にする */
.table-wrapper {
    width: 100%;
    overflow-x: auto; /* 横方向にスクロールバーを表示 */
}

table {
    width: 100%;
    min-width: 750px; /* テーブル全体の最小幅を設定 */
    table-layout: auto;
}

table td, table th {
    white-space: nowrap; /* セル内の文字が改行されないようにする */
    text-overflow: ellipsis; /* セルが狭い場合に省略記号を表示 */
    overflow: hidden; /* セル内で文字がはみ出さないようにする */
}

/* 13インチのノートPCに適応させるレスポンシブデザイン */
@media (max-width: 1440px) {
    body {
        max-width: 100%;
        padding: 0 20px;
    }

    html, body {
        width: 100%;
        height: auto;
    }

    table {
        width: 100%;
        min-width: 750px; /* 小さい画面でも改行しないように最小幅を設定 */
    }
}

/* 各見出しのデザイン */
h2 {
    color: #2c3e50;
    background-color: #ecf0f1;
    padding: 10px;
    border-left: 5px solid #3498db;
    font-size: 24px;
}

h3 {
    color: #16a085;
    background-color: #e8f6f3;
    padding: 8px;
    border-left: 5px solid #1abc9c;
    font-size: 22px;
}

h4 {
    color: #8e44ad;
    background-color: #f5eef8;
    padding: 6px;
    border-left: 5px solid #9b59b6;
    font-size: 20px;
}

h5 {
    color: #e74c3c;
    background-color: #fceae9;
    padding: 5px;
    border-left: 5px solid #e74c3c;
    font-size: 18px;
}

p {
    margin-bottom: 20px;
}

img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto;
}

.important {
    background-color: #f8d7da;
    color: #721c24;
    font-weight: bold;
    padding: 10px;
    border-left: 5px solid #f5c6cb;
    margin-bottom: 20px;
}
