    /* ===== MV ===== */
    .lde-mv {
        background: #E5E4D5;
        padding: calc(10 * var(--b)) 0 calc(6 * var(--b));
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .lde-mv__inner {
        width: 100%;
        padding: 0 calc(12 * var(--b));
        display: flex;
        flex-direction: column;
        gap: calc(3 * var(--b));
    }

    .lde-mv__heading {
        display: flex;
        flex-direction: column;
        gap: calc(1.2 * var(--b));
    }

    .lde-mv__title-row {
        display: flex;
        flex-direction: row;
        align-items: baseline;
        gap: calc(1.2 * var(--b));
    }

    .lde-mv__title {
        font-family: new-spirit, serif;
        font-weight: 500;
        font-size: calc(4.8 * var(--b));
        line-height: 100%;
        color: #212227;
    }

    .lde-mv__label {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.4 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
    }

    .lde-mv__subtitle-row {
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        gap: calc(1.6 * var(--b));
    }

    .lde-mv__subtitle {
        font-family: new-spirit, serif;
        font-weight: 500;
        font-size: calc(3.2 * var(--b));
        line-height: 100%;
        color: #212227;
    }

    .lde-mv__lead {
        font-family: 'Shippori Mincho', serif;
        font-weight: 500;
        font-size: calc(1.5 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
        max-width: calc(112.6 * var(--b));
    }

    /* ===== Experience List ===== */
    .lde-locations {
        background: #EDECE2;
        padding: calc(6 * var(--b)) calc(12 * var(--b)) calc(12 * var(--b));
        border-bottom: 1px solid rgba(209, 208, 193, .5);
    }

    .lde-locations__list {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: calc(10 * var(--b));
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .lde-locations__item {
        display: flex;
        flex-direction: column;
        gap: 0;
        width: calc(50% - 5 * var(--b));
    }

    .lde-locations__item-name {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 500;
        font-size: calc(1.8 * var(--b));
        line-height: 130%;
        letter-spacing: .03em;
        color: #212227;
        margin: 0 0 calc(3 * var(--b));
        margin-bottom: calc(2 * var(--b));
    }

    .lde-locations__thumb-wrap {
        position: relative;
        overflow: hidden;
        margin-bottom: calc(3 * var(--b));
    }

    .lde-locations__slides-container {
        overflow: hidden;
    }

    .lde-locations__slides {
        display: flex;
        transition: transform .35s ease;
    }

    .lde-locations__slide {
        flex-shrink: 0;
        width: 100%;
    }

    .lde-locations__slide img {
        width: 100%;
        aspect-ratio: 513/385;
        object-fit: cover;
        display: block;
    }

    .lde-locations__carousel-nav {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: calc(1 * var(--b)) 0;
    }

    .lde-locations__dots {
        display: flex;
        gap: calc(0.8 * var(--b));
        align-items: center;
    }

    .lde-dot {
        width: calc(0.7 * var(--b));
        height: calc(0.7 * var(--b));
        border-radius: 50%;
        background: #D1D0C1;
        cursor: pointer;
        transition: background .2s;
    }

    .lde-dot.is-active {
        background: #212227;
    }

    .lde-locations__prev-next {
        display: flex;
        gap: calc(3 * var(--b));
    }

    .lde-locations__btn {
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        width: calc(1.6 * var(--b));
        height: calc(1.6 * var(--b));
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .lde-locations__btn svg {
        display: block;
        transition: transform 0.2s ease;
    }

    .lde-locations__btn[data-dir="next"]:hover svg {
        transform: translateX(3px);
    }

    .lde-locations__btn[data-dir="prev"]:hover svg {
        transform: translateX(-3px);
    }

    .lde-locations__item-text {
        display: flex;
        flex-direction: column;
        gap: calc(0.8 * var(--b));
    }

    .lde-locations__item-desc {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.5 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
        margin: 0;
    }

    /* ===== Dining ===== */
    .lde-dining {
        background: #E5E4D5;
        padding: calc(10 * var(--b)) 0 calc(10 * var(--b)) calc(12 * var(--b));
    }

    .lde-dining__header {
        display: flex;
        flex-direction: column;
        gap: calc(1.6 * var(--b));
        margin-bottom: calc(4 * var(--b));
        max-width: calc(124.6 * var(--b));
    }

    .lde-dining__title-row {
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        gap: calc(1.6 * var(--b));
    }

    .lde-dining__title {
        font-family: new-spirit, serif;
        font-weight: 400;
        font-size: calc(3.6 * var(--b));
        line-height: 100%;
        color: #212227;
    }

    .lde-dining__label {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.4 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
    }

    .lde-dining__lead {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.5 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
        margin: 0;
    }

    .lde-dining .ldh-carousel__track {
        padding: 0 calc(12 * var(--b)) 0 0;
        gap: calc(3 * var(--b));
    }

    .lde-dining__item {
        display: flex;
        flex-direction: column;
        gap: calc(3 * var(--b));
        width: calc(46.3 * var(--b));
        flex-shrink: 0;
        padding-top: 0;
        border-radius: 0;
        overflow: visible;
    }

    .lde-dining__item-img {
        width: calc(46.3 * var(--b));
        height: calc(26 * var(--b));
        overflow: hidden;
        flex-shrink: 0;
    }

    .lde-dining__item-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .lde-dining__item-name {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 500;
        font-size: calc(1.8 * var(--b));
        line-height: 130%;
        letter-spacing: .03em;
        color: #212227;
        margin: 0 0 calc(-2.2 * var(--b));
    }

    .lde-dining__item-desc {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.5 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
        margin: 0;
    }

    .lde-dining__item-price {
        display: flex;
        flex-direction: row;
        align-items: baseline;
        gap: calc(1.2 * var(--b));
        margin-top: auto;
    }

    .lde-dining__price-label {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.2 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
    }

    .lde-dining__price-num {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: calc(0.2 * var(--b));
    }

    .lde-dining__price-yen {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.8 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
    }

    .lde-dining__price-val {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(2.6 * var(--b));
        line-height: 100%;
        color: #212227;
    }

    .lde-dining .ldh-progress,
    .lde-sightseeing .ldh-progress {
        padding-left: 0;
        padding-right: calc(12 * var(--b));
    }

    .ldh-progress--sparse {
        display: none;
    }

    /* ===== Sightseeing ===== */
    .lde-sightseeing {
        background: #EDECE2;
        border-bottom: 1px solid rgba(209, 208, 193, .5);
        padding: calc(8 * var(--b)) 0 calc(8 * var(--b)) calc(12 * var(--b));
    }

    .lde-sightseeing__header {
        display: flex;
        flex-direction: column;
        gap: calc(1.6 * var(--b));
        margin-bottom: calc(3 * var(--b));
    }

    .lde-sightseeing__title-row {
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        gap: calc(1.6 * var(--b));
    }

    .lde-sightseeing__title {
        font-family: new-spirit, serif;
        font-weight: 400;
        font-size: calc(3.6 * var(--b));
        line-height: 100%;
        color: #212227;
    }

    .lde-sightseeing__label {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.4 * var(--b));
        line-height: 170%;
        letter-spacing: .03em;
        color: #212227;
    }

    .lde-sightseeing__image-row {
        display: flex;
        flex-direction: row;
        gap: calc(10 * var(--b));
        align-items: flex-start;
    }

    .lde-sightseeing__text {
        display: flex;
        flex-direction: column;
        gap: calc(0.8 * var(--b));
        width: calc(44.3 * var(--b));
        flex-shrink: 0;
    }

    .lde-sightseeing__desc {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(1.5 * var(--b));
        line-height: 150%;
        letter-spacing: .03em;
        color: #212227;
        margin: 0;
    }

    .lde-sightseeing__right {
        display: flex;
        flex-direction: column;
        gap: calc(2 * var(--b));
        flex: 1;
        overflow: hidden;
    }

    .lde-sightseeing .ldh-carousel__track {
        padding: 0 calc(12 * var(--b)) 0 0;
        gap: calc(0.8 * var(--b));
    }

    .lde-sightseeing__carousel-item {
        width: calc(31.5 * var(--b));
        height: calc(31.5 * var(--b));
        flex-shrink: 0;
        overflow: hidden;
    }

    .lde-sightseeing__carousel-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }


    /* ===== SP ===== */
    @media (max-width:1024px) {
        .lde-mv {
            padding: calc(10 * var(--b)) calc(2 * var(--b)) calc(4 * var(--b));
        }

        .lde-mv__inner {
            padding: 0;
            gap: calc(2 * var(--b));
        }

        .lde-mv__title {
            font-size: calc(4.4 * var(--b));
        }

        .lde-mv__title-row {
            flex-wrap: nowrap;
            align-items: flex-end;
            gap: calc(1 * var(--b)) calc(2 * var(--b));
        }

        .lde-mv__label {
            flex-shrink: 1;
            min-width: 0;
        }

        .lde-mv__subtitle {
            font-size: calc(3.2 * var(--b));
        }

        .lde-locations {
            padding: calc(4 * var(--b)) calc(2 * var(--b)) 0;
        }

        .lde-locations__list {
            flex-direction: column;
            gap: 0;
        }

        .lde-locations__item {
            width: 100%;
            padding: calc(5 * var(--b)) 0 calc(5 * var(--b));
            border-bottom: 1px solid #D1D0C1;
            gap: 0;
        }

        .lde-locations__item-name {
            margin-bottom: calc(0.8 * var(--b));
        }

        .lde-locations__item:first-child {
            padding-top: 0;
        }

        .lde-locations__item:last-child {
            border-bottom: none;
            padding-bottom: calc(8 * var(--b));
        }

        .lde-locations__slide img {
            aspect-ratio: 353/266;
        }

        .lde-dining {
            padding: calc(8 * var(--b)) calc(2 * var(--b));
            box-shadow: none;
        }

        .lde-dining__title {
            font-size: calc(3.2 * var(--b));
        }

        .lde-dining .ldh-carousel {
            width: calc(100vw + 2 * var(--b));
            margin-left: calc(-2 * var(--b));
        }

        .lde-dining__item {
            width: calc(32 * var(--b));
            padding-left: calc(2 * var(--b));
        }

        .lde-dining__item-img {
            width: calc(32 * var(--b));
            height: calc(19.8 * var(--b));
        }

        .lde-dining__item-name {
            white-space: nowrap;
            max-width: calc(37 * var(--b));
        }

        .lde-dining .ldh-carousel__track {
            padding-right: 0;
            scroll-snap-type: x mandatory;
        }

        .lde-dining .ldh-carousel__item {
            scroll-snap-align: start;
        }

        .lde-dining .ldh-carousel__track::after {
            content: '';
            flex-shrink: 0;
            width: calc(2 * var(--b));
        }

        .lde-dining .ldh-progress__arrows {
            justify-content: center;
        }

        .lde-sightseeing {
            padding: calc(8 * var(--b)) 0 calc(4 * var(--b)) calc(2 * var(--b));
            border-bottom: none;
        }

        .lde-sightseeing__title {
            font-size: calc(3.2 * var(--b));
        }

        .lde-sightseeing__right {
            width: 100%;
        }

        .lde-sightseeing .ldh-carousel__track {
            padding-right: calc(2 * var(--b));
        }

        .lde-sightseeing__image-row {
            flex-direction: column-reverse;
            gap: calc(3 * var(--b));
        }

        .lde-sightseeing__text {
            width: 100%;
            padding-right: calc(2 * var(--b));
        }

        .lde-sightseeing__carousel-item {
            width: calc(31.5 * var(--b));
            height: calc(31.5 * var(--b));
        }

        .lde-sightseeing .lde-sightseeing__carousel-item:only-child {
            width: 100%;
        }

        .lde-dining .ldh-progress,
        .lde-sightseeing .ldh-progress {
            padding-right: 0;
        }

        .ldh-progress--sparse {
            display: none;
        }

        .ldh-info {
            padding-top: 0;
        }

        .lde-mv__label {
            font-size: calc(1.2 * var(--b));
        }
    }
