/* duux_assets/css/area_style.css  v1.01  Bootstrap 5対応（不要/旧依存なし） */

#area-introduction .description {
    margin-top: 15px;
    margin-left: 1em;
    margin-right: 1em;
    line-break: strict;
}

#stations p {
    margin-top: 0;
    margin-left: 1em;
    margin-right: 1em;
    margin-bottom: 40px;
}

/* スマホレイアウト（従来の閾値を維持して表示崩れ防止） */
@media screen and (max-width: 767px) {
    #area-introduction .description {
        margin-left: .5em;
        margin-right: .5em;
    }

    #stations h2 {
        text-align: center;
    }

    #stations p {
        margin-left: .5em;
        margin-right: .5em;
    }

    #fee-by-training-place h2 {
        text-align: center;
    }
}

table.stations-by-area {
    border-collapse: collapse;
    border-spacing: 2em;
    width: 100%;
}

table.stations-by-area tr {
    border-top: solid 3px #ddd;
    border-bottom: solid 3px #ddd;
}

table.stations-by-area tr th {
    min-width: 15em;
    vertical-align: middle;
    padding: 30px 0;
    text-align: left;
}

table.stations-by-area tr td {
    min-width: 8em;
    vertical-align: middle;
    text-align: left;
    padding: 20px 20px;
}

table.stations-by-area tr td:nth-child(3) {
    min-width: 12em;
}

table.stations-by-area tr td:nth-child(3) dl {
    display: flex;
    flex-wrap: wrap;
    width: 10em;
    margin-bottom: 6px;
}

table.stations-by-area tr td:nth-child(3) dt {
    text-align: right;
    font-weight: normal;
    width: 4em;
}

table.stations-by-area tr td:nth-child(3) dd {
    text-align: right;
    width: 4.5em;
}

table.stations-by-area tr td ul.custom-bullet li {
    padding-left: 20px;
    position: relative;
}

table.stations-by-area tr td ul.custom-bullet li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .6em;
    width: .4em;
    height: .4em;
    border-radius: 50%;
    background: currentColor;
}

/* スマホ時のテーブル縦積み（従来動作を維持） */
@media screen and (max-width: 767px) {
    table.stations-by-area {
        display: block;
    }

    table.stations-by-area tr {
        display: block;
        padding: 20px 0;
        border-bottom: none;
    }

    table.stations-by-area tr:last-of-type {
        border-bottom: solid 3px #ddd;
    }

    table.stations-by-area tr th {
        display: block;
        padding: 0 10px;
        margin-bottom: 10px;
    }

    table.stations-by-area tr td {
        display: block;
        padding: 0 20px;
    }
}
