.br-sp {
  display: none;
}

@media screen and (max-width: 1080px) {
  .br-pc {
    display: none;
  }

  .br-sp {
    display: inline-block;
  }
}

@media screen and (max-width: 640px) {
  .midashi_h2 {
    font-size: 0.8em;
  }
}

table {
  border-collapse: collapse;
  width: 100%;
}

.tb01 th,
.tb01 td {
  padding: 10px;
  border: solid 1px #ccc;
  box-sizing: border-box;
}

.tb01 th {
  background: #efefef;
}

@media screen and (max-width: 640px) {
  .tb01 {
    width: 100%;
  }

  table.tb01 th,
  table.tb01 td {
    display: block;
    width: 100%;
    border-bottom: none;
  }

  .tb01 tr:last-child {
    border-bottom: solid 1px #ccc;
  }
}

.tb02_th {
  background-color: #bcddef;
  border-width: 0px;
  border-radius: 25px;
  border-style: hidden;
}

.tb02_td {
  border-style: hidden;
  font-size: 16px;
}

/* h1, h2, h3, h4 の基本マージン */

.article-main-title,
.article-section-title,
.article-subsection-title,
.article-tertiary-title {
  margin-top: 2em;
  margin-bottom: 0.8em;
  font-weight: bold;
}

        .article-main-title, .article-section-title, .article-subsection-title, .article-tertiary-title {
            margin-top: 2em;
            margin-bottom: 0.8em;
            font-weight: bold;
        }
        .article-main-title { /* h1 */
            font-size: 2.2em;
            color: #2c3e50;
            border-bottom: 3px solid #3498db;
            padding-bottom: 0.3em;
        }
        .article-section-title { /* h2 */
            font-size: 1.8em;
            color: #1abc9c;
            border-bottom: 1px solid #3498db;
            padding-bottom: 0.2em;
            margin-top: 2.5em;
        }
        .article-subsection-title { /* h3 */
            font-size: 1.5em;
            color: #1abc9c;
            margin-top: 2em;
        }
        .article-tertiary-title { /* h4 */
            font-size: 1.2em;
            color: #1abc9c;
            margin-top: 1.5em;
        }
        .text-paragraph { /* p */
            margin-bottom: 1em;
        }
        .article-unordered-list, .article-ordered-list { /* ul, ol */
            margin-bottom: 1em;
            padding-left: 1.5em;
        }
        .list-item-entry { /* li */
            margin-bottom: 0.5em;
        }
        .article-content-table { /* table */
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 1.5em;
            font-size: 0.95em;
        }
        .article-table-header-cell, .article-table-data { /* th, td */
            border: 1px solid #ddd;
            padding: 10px;
            text-align: left;
            vertical-align: top;
        }
        .article-table-header-cell { /* th */
            background-color: #f0f8ff; /* AliceBlue */
            font-weight: bold;
        }
        strong {
            color: #3498db; /* Pomegranate */
        }
        .intro-text, .conclusion-text { /* 既存クラス */
            font-size: 1.1em;
            margin-bottom: 1.5em;
        }
        .case-study {
            background-color: #f9f9f9;
            border-left: 5px solid #3498db;
            padding: 15px;
            margin: 1.5em 0;
        }
        .case-study strong {
             color: #2c3e50;
        }
        .important-note { /* 既存クラス */
            color: #7f8c8d; /* Asbestos */
            font-size: 0.9em;
            margin-bottom: 1em;
        }
        .association-message {
            margin-top: 2.5em;
            padding: 20px;
            background-color: #e8f6f3; /* Light Cyan */
            border: 1px solid #a2d9ce; /* Medium Aquamarine */
            border-radius: 5px;
        }
        /* 目次スタイル */
        .table-of-contents {
            background-color: #f8f9fa;
            border: 1px solid #dee2e6;
            padding: 20px;
            margin-bottom: 2em;
            border-radius: 5px;
        }
        .table-of-contents-title {
            font-size: 1.4em;
            font-weight: bold;
            margin-bottom: 1em;
            color: #343a40;
        }
        .table-of-contents ul { /* 目次内のul */
            list-style: none;
            padding-left: 0;
            margin-bottom: 0; /* 目次内のリスト下のマージン調整 */
        }
        .table-of-contents ul ul { /* 目次内のネストされたul */
            padding-left: 20px; /* インデント */
        }
        .table-of-contents li { /* 目次内のli */
            margin-bottom: 0.6em;
        }
        .table-of-contents a {
            text-decoration: none; /* 下線を非表示 */
            color: #007bff;
        }
        .table-of-contents a:hover {
            text-decoration: none; /* ホバー時も下線を非表示 */
            color: #0056b3; /* ホバー時の色を少し濃くする例 */
        }