.sec_menu_courses {
    background: var(--color-paper);

    .wrap {
        padding: var(--pad-block) var(--pad-section);
    }

    .list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 26px;

        @media (max-width: 900px) {
            grid-template-columns: 1fr;
        }
    }

    .item {
        background: var(--color-white);

        img {
            width: 100%;
            height: auto;
            aspect-ratio: 3 / 2;
            object-fit: cover;
        }
    }

    .text_in {
        padding: 30px 32px 34px;
    }

    .txt {
        margin: 13px 0;
        color: var(--color-text-body);
        font-size: 13px;
        line-height: 2em;
    }

    .tags {
        margin-top: 18px;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;

        li {
            padding: 5px 12px;
            color: var(--color-text-sub);
            font-size: 11px;
            line-height: 1.45em;
            border: 1px solid var(--color-line);
        }
    }
}

/* 名前と料金の行 */
.price_head {
    padding-bottom: 16px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--color-line);

    .ttl {
        font-family: var(--font-serif);
        font-size: 24px;
        font-weight: 400;
        line-height: 1.6em;

        @media (max-width: 1300px) {
            font-size: 22px;
        }
        @media (max-width: 1100px) {
            font-size: 20px;
        }
        @media (max-width: 1024px) {
            font-size: 19px;
        }
    }

    b {
        font-size: 15px;
        font-weight: 500;
        line-height: 1.35em;
        white-space: nowrap;
    }
}

.sec_menu_spa {
    background: var(--color-paper-deep);

    .wrap {
        padding: var(--pad-block) var(--pad-section);
    }

    .list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 26px;

        @media (max-width: 900px) {
            grid-template-columns: 1fr;
        }
    }

    .item {
        padding: 34px 32px;
        background: var(--color-white);
    }

    .ttl {
        font-family: var(--font-serif);
        font-size: 24px;
        font-weight: 400;
        line-height: 1.6em;

        @media (max-width: 1300px) {
            font-size: 22px;
        }
        @media (max-width: 1100px) {
            font-size: 20px;
        }
        @media (max-width: 1024px) {
            font-size: 19px;
        }
    }

    .txt {
        margin: 13px 0;
        color: var(--color-text-body);
        font-size: 13px;
        line-height: 2em;
    }

    .prices {
        margin-top: 22px;
        border-top: 1px solid var(--color-line);

        div {
            padding: 12px 0;
            display: flex;
            justify-content: space-between;
            font-size: 13px;
            line-height: 1.45em;
            border-bottom: 1px solid var(--color-line);
        }
    }
}

.sec_menu_beauty {
    background: var(--color-paper);

    .wrap {
        padding: var(--pad-block) var(--pad-section);
    }

    .item {
        max-width: 900px;
    }

    .txt {
        margin: 13px 0;
        color: var(--color-text-body);
        font-size: 13px;
        line-height: 2em;
    }
}

.sec_menu_option {
    background: var(--color-white);

    .wrap {
        padding: var(--pad-block) var(--pad-section);
    }

    .item {
        max-width: 900px;
    }

    .txt {
        margin: 13px 0;
        color: var(--color-text-body);
        font-size: 13px;
        line-height: 2em;
    }

    .list {
        margin-top: 26px;
        list-style: none;
        border-top: 1px solid var(--color-line);

        li {
            padding: 14px 0;
            font-size: 13px;
            line-height: 1.9em;
            border-bottom: 1px solid var(--color-line);
        }
    }

    .note {
        margin-top: 40px;
        color: var(--color-text-sub);
        font-size: 12px;
        line-height: 1.45em;
    }
}
