.price {
    .lead {
        padding: 32px 0 0;
        margin-bottom: -32px;

        @media (width <=768px) {
            margin-bottom: -16px;
        }
    }

    .layout {
        padding: 64px 0 88px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 48px;
        column-gap: 32px;

        @media (width <=768px) {
            display: flex;
            flex-direction: column;
            padding: 32px 0 64px;
        }

        .wrapper,
        .spot-wrapper,
        .last-wrapper {
            padding: 0px 0px 48px;
            display: flex;
            flex-direction: column;
            row-gap: 18px;
            background-color: rgb(217, 216, 216);

            @media (width <=768px) {
                padding: 0px 0px 36px;
            }

            .price-h2 {
                background-color: #222;
                font-weight: bold;
                font-size: 24px;
                padding: 16px 16px 16px 36px;
                color: #ddd;
                position: relative;
                scroll-margin-top: 80px;

                @media (width <=768px) {
                    font-size: 20px;
                    scroll-margin-top: 64px;
                }

                &::before {
                    content: "";
                    position: absolute;
                    top: calc(50% - 18px);
                    left: 16px;
                    width: 8px;
                    height: 36px;
                    background-color: #ddd;

                    @media (width <=768px) {
                        top: calc(50% - 16px);
                        height: 32px;
                    }
                }
            }

            .back-text {
                font-size: 18px;
            }

            .contents {
                padding: 0 16px;
                display: flex;
                flex-direction: column;
                row-gap: 18px;

                p {
                    font-size: 16px;

                    @media (width <=768px) {
                        font-size: 15px;
                    }

                    .underline {
                        font-weight: bold;
                        text-decoration: underline;
                        text-decoration-color: #222;
                        /* アンダーラインの色 */
                        text-decoration-thickness: 2px;
                        /* アンダーラインの太さ */
                        text-underline-offset: 3px;
                        /* テキストからの距離 */
                    }
                }

                .outer {

                    table {
                        width: 100%;
                        border-collapse: collapse;
                        font-family: "Noto Sans JP", sans-serif;
                        font-size: 16px;
                        color: #222;
                        background-color: #fff;

                        th,
                        td {
                            padding: 14px 18px;
                            border-bottom: 1px solid #ddd;
                            text-align: left;
                        }

                        th {
                            background-color: #f8f8f8;
                            font-weight: 600;
                            letter-spacing: 0.05em;
                        }

                        tr:last-child td {
                            border-bottom: none;
                        }

                        tbody tr:hover {
                            background-color: #f2f2f2;
                            transition: background-color 0.3s ease;
                        }

                        @media (width <=768px) {
                            font-size: 15px;

                            th,
                            td {
                                padding: 12px 14px;
                            }
                        }
                    }

                    .table-text {
                        font-weight: bold;
                        position: relative;
                        margin-top: 4px;
                        padding-left: 20px;

                        &::before {
                            content: "★";
                            position: absolute;
                            left: 0;
                        }
                    }

                    p {
                        margin-top: 4px;
                    }
                }
            }
        }

        .spot-wrapper,
        .last-wrapper {
            grid-column: span 2;
        }

        .last-wrapper {
            p {
                padding: 0 16px;
            }
        }
    }
}


.price2 {

    .price-h1 {
        color: #F5F5F5;
        margin: 0 -24px;
        padding: 16px 0;
        font-size: 16px;
        text-align: center;
        background-color: #1E1E1E;

        span {
            font-weight: 100;
            display: block;
            font-size: 34px;

            @media (width <=768px) {
                font-size: 28px;
            }
        }

        @media (width <=768px) {
            margin: 0 -16px;
            font-size: 14px;
            padding: 14px 0;
        }
    }

    .layout {
        .wrapper {
            padding: 32px 0 48px;
            display: flex;
            flex-direction: column;
            row-gap: 12px;

            .price-h2 {
                font-weight: bold;
                font-size: 24px;
                border-left: solid 6px #222;
                padding-left: 8px;
            }

            .back-text {
                font-size: 18px;
            }

            .outer {

                table {
                    width: 100%;
                    border-collapse: collapse;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 16px;
                    color: #222;
                    background-color: #fff;

                    th,
                    td {
                        padding: 14px 18px;
                        border-bottom: 1px solid #ddd;
                        text-align: left;
                    }

                    th {
                        background-color: #f8f8f8;
                        font-weight: 600;
                        letter-spacing: 0.05em;
                    }

                    tr:last-child td {
                        border-bottom: none;
                    }

                    tbody tr:hover {
                        background-color: #f2f2f2;
                        transition: background-color 0.3s ease;
                    }

                    @media (width <=768px) {
                        font-size: 15px;

                        th,
                        td {
                            padding: 12px 14px;
                        }
                    }
                }

                .table-text {
                    position: relative;
                    margin-top: 4px;
                    padding-left: 20px;

                    &::before {
                        content: "★";
                        position: absolute;
                        left: 0;
                    }
                }

                p {
                    margin-top: 4px;
                }
            }
        }
    }
}

.price3 {

    .layout {
        .wrapper {
            display: flex;
            flex-direction: column;
            row-gap: 10px;

            h3 {
                font-weight: bold;
                font-size: 20px;
            }

            .outer {
                width: 100%;
                margin: 0 auto;

                table {
                    width: 100%;
                    border-collapse: collapse;
                    font-family: "Noto Sans JP", sans-serif;
                    font-size: 16px;
                    color: #222;
                    background-color: #fff;

                    th,
                    td {
                        padding: 14px 18px;
                        border-bottom: 1px solid #ddd;
                        text-align: left;
                    }

                    th {
                        background-color: #f8f8f8;
                        font-weight: 600;
                        letter-spacing: 0.05em;
                    }

                    tr:last-child td {
                        border-bottom: none;
                    }

                    tbody tr:hover {
                        background-color: #f2f2f2;
                        transition: background-color 0.3s ease;
                    }

                    @media (width <=768px) {
                        font-size: 15px;

                        th,
                        td {
                            padding: 12px 14px;
                        }
                    }
                }
            }



        }


    }

}