.list-definition-02 {
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.list-definition-02 dt,
.list-definition-02 dd {
    margin: 0;
    padding: 0;
}

/* ------------------------------
    Chapter (例: 第1章)
------------------------------ */
.list-definition-02 dt {
    font-weight: bold;
    font-size: 20px;
    margin-top: 40px;
    /* 2.5rem → 40px */
    padding-bottom: 5px;
    /* 0.3rem → 5px */
    border-bottom: 2px solid #ccc;
    color: #222;
}

/* 章名だけ（■がついていない dt） */
.list-definition-02 dt:not(:has(■)) {
    font-size: 20px;
    margin-top: 20px;
    padding-top: 8px;
    /* 0.5rem → 8px */
    margin-bottom: 20px;
}

/* ------------------------------
    条タイトル（■第○条）
------------------------------ */
.list-definition-02 dt:has(■) {
    font-weight: bold;
    font-size: 18px;
    /* 1.15rem → 18px */
    margin-top: 28px;
    /* 1.8rem → 28px */
    color: #444;
    border: none;
}

/* ------------------------------
    条文内容
------------------------------ */
.list-definition-02 dd {
    margin-left: 20px;
    margin-bottom: 20px;
}

/* UL がない段落 */
.list-definition-02 dd:not(:has(ul)) {
    margin-bottom: 24px;
}

/* ------------------------------
    番号付き UL（list-numbering-01）
------------------------------ */
.list-numbering-01 {
    counter-reset: item;
    padding-left: 24px;
    margin-top: 8px;
}

.list-numbering-01>li {
    position: relative;
    list-style: none;
    margin: 10px 0;
    padding-left: 28px;
    line-height: 1.7;
}

/* カスタム番号（1. 2. 3.） */
.list-numbering-01>li::before {
    counter-increment: item;
    content: counter(item) ". ";
    position: absolute;
    left: 0;
    top: 0;
    color: #666;
    font-weight: bold;
}

/* 入れ子 UL */
.list-numbering-01 li ul {
    padding-left: 24px;
    margin-top: 10px;
}

.list-numbering-01 li ul li {
    list-style: disc;
    margin: 6px 0;
    padding-left: 4px;
}

/* ------------------------------
    Lay-space utility
------------------------------ */
.lay-space-btm-01 {
    margin-bottom: 24px;
}

/* ------------------------------
    Table
------------------------------ */
.list-definition-02 table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0 32px;
    font-size: 15px;
}

.list-definition-02 th,
.list-definition-02 td {
    border: 1px solid #ddd;
    padding: 10px;
}

.list-definition-02 th {
    background: #f5f5f5;
    font-weight: bold;
}

.list-definition-02 td {
    background: #fff;
}

/* ------------------------------
    Links
------------------------------ */
.list-definition-02 a {
    color: #0066cc;
    text-decoration: underline;
}

.list-definition-02 a:hover {
    text-decoration: none;
}


/* ------------------------------------------------
    Responsive (Tablet & Smartphone)
---------------------------------------------------*/

/* タブレット（768px〜991px） */
@media (max-width: 991px) {

    .list-definition-02 dt {
        font-size: 18px;
        margin-top: 32px;
    }

    .list-definition-02 dt:not(:has(■)) {
        font-size: 19px;
    }

    .list-definition-02 dt:has(■) {
        font-size: 16px;
    }

    .list-definition-02 dd {
        margin-left: 16px;
        font-size: 15px;
    }

    .list-numbering-01>li {
        padding-left: 22px;
    }
}

/* スマホ（〜767px） */
@media (max-width: 767px) {

    .list-definition-02 {
        font-size: 16px;
        line-height: 1.75;
    }

    /* 見出し */
    .list-definition-02 dt {
        font-size: 20px;
        margin-top: 26px;
    }

    .list-definition-02 dt:not(:has(■)) {
        font-size: 18px;
        margin-top: 20px;
    }

    .list-definition-02 dt:has(■) {
        font-size: 16px;
        /* 1.05rem → 16px */
    }

    /* 条文内容 */
    .list-definition-02 dd {
        margin-left: 12px;
        margin-bottom: 18px;
        font-size: 15px;
    }

    /* 番号付きリスト */
    .list-numbering-01 {
        padding-left: 16px;
    }

    .list-numbering-01>li {
        padding-left: 20px;
        margin: 8px 0;
    }

    .list-numbering-01>li::before {
        left: 0;
    }

    .list-numbering-01 li ul {
        padding-left: 16px;
    }

    /* テーブルは横スクロール */
    .list-definition-02 table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 16px 0 24px;
    }

    .list-definition-02 th,
    .list-definition-02 td {
        white-space: nowrap;
        font-size: 14px;
        padding: 8px;
    }
}
