            .lp-memuro,
            .lp-memuro * {
                box-sizing: border-box;
            }

            .lp-memuro {
                --lp-memuro-color-bg: #f7f3e9;
                --lp-memuro-color-surface: #fffdf8;
                --lp-memuro-color-text: #262b27;
                --lp-memuro-color-muted: #666a64;
                --lp-memuro-color-green: #244a38;
                --lp-memuro-color-green-dark: #183528;
                --lp-memuro-color-gold: #a9802f;
                --lp-memuro-color-gold-soft: #e5d3a6;
                --lp-memuro-color-border: #dcd5c7;
                --lp-memuro-shadow: 0 12px 34px rgba(34, 43, 36, 0.08);
                width: 100%;
                overflow: hidden;
                background: var(--lp-memuro-color-bg);
                color: var(--lp-memuro-color-text);
                font-family:
                    "Hiragino Kaku Gothic ProN",
                    "Hiragino Sans",
                    "Yu Gothic",
                    "YuGothic",
                    "Meiryo",
                    sans-serif;
                font-size: 16px;
                line-height: 1.8;
            }

            .lp-memuro-visually-hidden {
                position: absolute;
                width: 1px;
                height: 1px;
                padding: 0;
                margin: -1px;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap;
                border: 0;
            }

            .lp-memuro-container {
                width: min(100% - 48px, 1140px);
                margin-inline: auto;
            }

            .lp-memuro-section {
                padding: 96px 0;
            }

            .lp-memuro-section-heading {
                margin: 0;
                color: var(--lp-memuro-color-green-dark);
                font-family:
                    "Hiragino Kaku Gothic ProN",
                    "Hiragino Sans",
                    "Yu Gothic",
                    "YuGothic",
                    "Meiryo",
                    sans-serif;
                font-size: clamp(30px, 4.2vw, 48px);
                font-weight: 600;
                letter-spacing: 0.06em;
                line-height: 1.45;
            }

            .lp-memuro-section-kicker {
                display: block;
                margin: 0 0 14px;
                color: var(--lp-memuro-color-gold);
                font-size: 13px;
                font-weight: 700;
                letter-spacing: 0.18em;
                line-height: 1.5;
                text-transform: uppercase;
            }

            .lp-memuro-section-lead {
                max-width: 720px;
                margin: 28px auto 0;
                color: var(--lp-memuro-color-muted);
            }

            .lp-memuro-link-button {
                display: inline-flex;
                min-width: min(100%, 280px);
                min-height: 52px;
                align-items: center;
                justify-content: center;
                gap: 14px;
                padding: 14px 24px;
                border: 1px solid var(--lp-memuro-color-green);
                border-radius: 4px;
                background: var(--lp-memuro-color-green);
                color: #ffffff;
                font-weight: 700;
                line-height: 1.4;
                text-align: center;
                text-decoration: none;
                transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
            }

            .lp-memuro-link-button::after {
                content: "→";
                flex: 0 0 auto;
                transition: transform 180ms ease;
            }

            .lp-memuro-link-button:hover {
                border-color: var(--lp-memuro-color-green-dark);
                background: var(--lp-memuro-color-green-dark);
                box-shadow: 0 10px 24px rgba(24, 53, 40, 0.18);
                transform: translateY(-2px);
            }

            .lp-memuro-link-button:hover::after {
                transform: translateX(4px);
            }

            .lp-memuro-link-button:focus-visible,
            .lp-memuro-accordion-button:focus-visible {
                outline: 3px solid var(--lp-memuro-color-gold);
                outline-offset: 4px;
            }

            .lp-memuro-hero {
                padding: 24px 0 72px;
            }

            .lp-memuro-hero-picture {
                display: block;
                width: 100%;
                overflow: hidden;
                border-radius: 4px;
                background: #e7e2d7;
                box-shadow: var(--lp-memuro-shadow);
            }

            .lp-memuro-hero-image {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 1140 / 400;
                object-fit: cover;
                object-position: center;
            }

            .lp-memuro-hero-action {
                display: flex;
                justify-content: center;
                margin-top: 28px;
            }

            .lp-memuro-intro {
                position: relative;
                padding: 100px 0;
                background-image:
                    linear-gradient(rgba(19, 45, 33, 0.74), rgba(19, 45, 33, 0.74)),
                    url("https://stprodaeonblob.blob.core.windows.net/eshop-files/images/event/2026/dousanday/memuro_landscape.jpg");
                background-position: center;
                background-size: cover;
                color: #ffffff;
                text-align: center;
            }

            .lp-memuro-intro .lp-memuro-container {
                position: relative;
                z-index: 1;
            }

            .lp-memuro-intro .lp-memuro-section-heading {
                color: #ffffff;
                text-shadow: 0 2px 16px rgba(0, 0, 0, 0.28);
            }

            .lp-memuro-intro .lp-memuro-section-lead {
                color: rgba(255, 255, 255, 0.94);
                text-shadow: 0 1px 10px rgba(0, 0, 0, 0.3);
            }

            .lp-memuro-story {
                background: var(--lp-memuro-color-bg);
            }

            .lp-memuro-story-heading-wrap {
                margin-bottom: 64px;
                text-align: center;
            }

            .lp-memuro-title-decoration {
                display: block;
                width: min(50%, 520px);
                height: auto;
                margin: 10px auto 0;
                object-fit: contain;
                object-position: center;
            }

            .lp-memuro-title-decoration + .lp-memuro-section-lead {
                margin-top: 10px;
            }

            .lp-memuro-closing .lp-memuro-title-decoration + .lp-memuro-period-grid {
                margin-top: 30px;
            }

            .lp-memuro-story-list {
                display: grid;
                gap: 88px;
            }

            .lp-memuro-story-block {
                display: grid;
                grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
                align-items: center;
                gap: clamp(44px, 7vw, 88px);
            }

            .lp-memuro-story-block-reverse .lp-memuro-story-media {
                order: 2;
            }

            .lp-memuro-story-block-reverse .lp-memuro-story-copy {
                order: 1;
            }

            .lp-memuro-story-media {
                overflow: hidden;
                border-radius: 4px;
                background: #e7e2d7;
                box-shadow: var(--lp-memuro-shadow);
            }

            .lp-memuro-story-image {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 4 / 3;
                object-fit: cover;
                object-position: center;
            }

            .lp-memuro-story-title {
                margin: 0;
                color: var(--lp-memuro-color-green-dark);
                font-family:
                    "Hiragino Kaku Gothic ProN",
                    "Hiragino Sans",
                    "Yu Gothic",
                    "YuGothic",
                    "Meiryo",
                    sans-serif;
                font-size: clamp(27px, 3vw, 38px);
                font-weight: 600;
                letter-spacing: 0.04em;
                line-height: 1.55;
            }

            .lp-memuro-story-text {
                margin: 24px 0 0;
                color: var(--lp-memuro-color-muted);
            }

            .lp-memuro-feature-list {
                display: flex;
                flex-wrap: wrap;
                gap: 10px;
                padding: 0;
                margin: 28px 0 0;
                list-style: none;
            }

            .lp-memuro-feature-item {
                padding: 8px 14px;
                border: 1px solid var(--lp-memuro-color-gold-soft);
                border-radius: 999px;
                background: rgba(255, 253, 248, 0.78);
                color: var(--lp-memuro-color-green-dark);
                font-size: 14px;
                font-weight: 700;
                line-height: 1.5;
            }

            .lp-memuro-items {
                background: var(--lp-memuro-color-surface);
            }

            .lp-memuro-items-heading-wrap {
                margin-bottom: 52px;
                text-align: center;
            }

            .lp-memuro-item-grid-top,
            .lp-memuro-item-grid-bottom {
                display: grid;
                gap: 28px;
            }

            .lp-memuro-item-grid-top {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                max-width: 850px;
                margin: 0 auto;
            }

            .lp-memuro-item-grid-bottom {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                margin-top: 28px;
            }

            .lp-memuro-item-card {
                display: flex;
                min-width: 0;
                flex-direction: column;
                overflow: hidden;
                border: 1px solid var(--lp-memuro-color-border);
                border-radius: 4px;
                background: #ffffff;
                box-shadow: 0 8px 24px rgba(34, 43, 36, 0.055);
                transition: transform 180ms ease, box-shadow 180ms ease;
            }

            .lp-memuro-item-card:hover {
                box-shadow: 0 15px 34px rgba(34, 43, 36, 0.1);
                transform: translateY(-4px);
            }

            .lp-memuro-item-image {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 1 / 1;
                background: #e7e2d7;
                object-fit: cover;
                object-position: center;
            }

            .lp-memuro-item-body {
                display: flex;
                flex: 1;
                flex-direction: column;
                padding: 28px;
            }

            .lp-memuro-item-origin {
                margin: 0 0 7px;
                color: var(--lp-memuro-color-gold);
                font-size: 13px;
                font-weight: 700;
                letter-spacing: 0.12em;
                line-height: 1.35;
            }

            .lp-memuro-item-name {
                margin: 0;
                color: var(--lp-memuro-color-green-dark);
                font-family:
                    "Hiragino Kaku Gothic ProN",
                    "Hiragino Sans",
                    "Yu Gothic",
                    "YuGothic",
                    "Meiryo",
                    sans-serif;
                font-size: 21px;
                font-weight: 600;
                line-height: 1.35;
                overflow-wrap: anywhere;
            }

            .lp-memuro-item-amount {
                margin: 10px 0 0;
                color: var(--lp-memuro-color-text);
                font-weight: 700;
                line-height: 1.4;
                overflow-wrap: anywhere;
            }

            .lp-memuro-item-prices {
                padding-top: 22px;
                margin: auto 0 0;
                text-align: right;
            }

            .lp-memuro-item-base-price,
            .lp-memuro-item-tax-price {
                margin: 0;
                font-variant-numeric: tabular-nums;
            }

            .lp-memuro-item-base-price {
                color: var(--lp-memuro-color-green-dark);
                font-size: 22px;
                font-weight: 800;
                line-height: 1.3;
            }

            .lp-memuro-item-tax-price {
                margin-top: 5px;
                color: var(--lp-memuro-color-muted);
                font-size: 15px;
                font-weight: 400;
                line-height: 1.4;
            }

            .lp-memuro-item-button {
                width: 100%;
                min-width: 0;
                margin-top: 22px;
            }

            .lp-memuro-faq {
                background: var(--lp-memuro-color-bg);
            }

            .lp-memuro-faq-heading-wrap {
                margin-bottom: 48px;
                text-align: center;
            }

            .lp-memuro-faq-heading-wrap h2 {
                font-size: 22px;
            }

            .lp-memuro-accordion-list {
                max-width: 920px;
                padding: 0;
                margin: 0 auto;
                border-top: 1px solid var(--lp-memuro-color-border);
                list-style: none;
            }

            .lp-memuro-accordion-item {
                border-bottom: 1px solid var(--lp-memuro-color-border);
            }

            .lp-memuro-accordion-button {
                display: grid;
                width: 100%;
                min-height: 68px;
                grid-template-columns: minmax(0, 1fr) 24px;
                align-items: center;
                gap: 24px;
                padding: 22px 4px;
                border: 0;
                border-radius: 0;
                background: transparent;
                color: var(--lp-memuro-color-green-dark);
                cursor: pointer;
                font: inherit;
                font-weight: 700;
                text-align: left;
            }

            .lp-memuro-accordion-question {
                min-width: 0;
            }

            .lp-memuro-accordion-icon {
                position: relative;
                display: block;
                width: 20px;
                height: 20px;
            }

            .lp-memuro-accordion-icon::before,
            .lp-memuro-accordion-icon::after {
                position: absolute;
                top: 50%;
                left: 50%;
                width: 18px;
                height: 2px;
                background: var(--lp-memuro-color-gold);
                content: "";
                transform: translate(-50%, -50%);
                transition: transform 180ms ease;
            }

            .lp-memuro-accordion-icon::after {
                transform: translate(-50%, -50%) rotate(90deg);
            }

            .lp-memuro-accordion-button[aria-expanded="true"] .lp-memuro-accordion-icon::after {
                transform: translate(-50%, -50%) rotate(0deg);
            }

            .lp-memuro-accordion-panel {
                padding: 0 52px 26px 4px;
            }

            .lp-memuro-accordion-panel[hidden] {
                display: none;
            }

            .lp-memuro-accordion-answer {
                margin: 0;
                color: var(--lp-memuro-color-muted);
            }

            .lp-memuro-closing {
                position: relative;
                background: var(--lp-memuro-color-green-dark);
                color: #ffffff;
                text-align: center;
            }

            .lp-memuro-closing::before {
                position: absolute;
                inset: 0;
                background-image: linear-gradient(120deg, rgba(255, 255, 255, 0.035) 0, rgba(255, 255, 255, 0) 45%);
                content: "";
                pointer-events: none;
            }

            .lp-memuro-closing-inner {
                position: relative;
            }

            .lp-memuro-closing .lp-memuro-section-kicker {
                color: #dcc384;
            }

            .lp-memuro-closing-title {
                margin: 0;
                color: #ffffff;
                font-family:
                    "Hiragino Kaku Gothic ProN",
                    "Hiragino Sans",
                    "Yu Gothic",
                    "YuGothic",
                    "Meiryo",
                    sans-serif;
                font-size: clamp(20px, 2.2vw, 30px);
                font-weight: 600;
                letter-spacing: 0.06em;
                line-height: 1.45;
            }

            .lp-memuro-closing-text {
                max-width: 690px;
                margin: 24px auto 0;
                color: rgba(255, 255, 255, 0.82);
            }

            .lp-memuro-period-grid {
                display: grid;
                max-width: 800px;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 16px;
                margin: 44px auto 0;
            }

            .lp-memuro-period-card {
                padding: 27px 22px;
                border: 1px solid rgba(220, 195, 132, 0.82);
                border-radius: 4px;
                background: var(--lp-memuro-color-surface);
                box-shadow: 0 10px 26px rgba(8, 25, 18, 0.18);
            }

            .lp-memuro-period-label {
                display: block;
                color: var(--lp-memuro-color-gold);
                font-size: 13px;
                font-weight: 700;
                letter-spacing: 0.14em;
            }

            .lp-memuro-period-date {
                display: block;
                margin-top: 7px;
                color: var(--lp-memuro-color-green-dark);
                font-size: clamp(17px, 2.2vw, 21px);
                font-weight: 700;
                line-height: 1.55;
            }

            .lp-memuro-closing-action {
                margin-top: 38px;
            }

            .lp-memuro-closing-button {
                border-color: #ffffff;
                background: #ffffff;
                color: var(--lp-memuro-color-green-dark);
            }

            .lp-memuro-closing-button:hover {
                border-color: #f4ecd9;
                background: #f4ecd9;
                color: var(--lp-memuro-color-green-dark);
            }

            .brsp {
                display: none;
            }

            @media (max-width: 767px) {
                .lp-memuro {
                    font-size: 16px;
                    line-height: 1.75;
                }

                .lp-memuro-container {
                    width: min(100% - 32px, 1140px);
                }

                .lp-memuro-section {
                    padding: 72px 0;
                }

                .lp-memuro-hero {
                    padding: 16px 0 56px;
                }

                .lp-memuro-hero-image {
                    aspect-ratio: 1 / 1;
                }

                .lp-memuro-hero-action {
                    margin-top: 22px;
                }

                .lp-memuro-intro {
                    padding: 84px 0 72px;
                }

                .lp-memuro-section-heading,
                .lp-memuro-closing-title {
                    font-size: clamp(28px, 5.5vw, 38px);
                    letter-spacing: 0.035em;
                }

                .lp-memuro-section-lead {
                    margin-top: 22px;
                    text-align: center;
                }

                .lp-memuro-story-heading-wrap {
                    margin-bottom: 40px;
                }

                .lp-memuro-story-list {
                    gap: 64px;
                }

                .lp-memuro-title-decoration {
                    width: min(50%, 240px);
                    margin-top: 14px;
                }

                .lp-memuro-story-block {
                    grid-template-columns: 1fr;
                    gap: 28px;
                }

                .lp-memuro-story-block-reverse .lp-memuro-story-media,
                .lp-memuro-story-block-reverse .lp-memuro-story-copy {
                    order: initial;
                }

                .lp-memuro-story-title {
                    font-size: clamp(25px, 7vw, 32px);
                }

                .lp-memuro-story-text {
                    margin-top: 18px;
                }

                .lp-memuro-feature-list {
                    margin-top: 22px;
                }

                .lp-memuro-items-heading-wrap,
                .lp-memuro-faq-heading-wrap {
                    margin-bottom: 36px;
                }

                .lp-memuro-item-grid-top,
                .lp-memuro-item-grid-bottom {
                    grid-template-columns: 1fr;
                    gap: 22px;
                }

                .lp-memuro-item-grid-bottom {
                    margin-top: 22px;
                }

                .lp-memuro-item-body {
                    padding: 24px 20px;
                }

                .lp-memuro-item-name {
                    font-size: 20px;
                }

                .lp-memuro-accordion-button {
                    min-height: 64px;
                    gap: 16px;
                    padding: 20px 2px;
                }

                .lp-memuro-accordion-panel {
                    padding: 0 2px 22px;
                }

                .lp-memuro-period-grid {
                    grid-template-columns: 1fr;
                    margin-top: 34px;
                }

                .lp-memuro-closing-text {
                    text-align: left;
                }

                .brsp {
                    display: block;
                }
            }

            @media (max-width: 359px) {
                .lp-memuro-container {
                    width: min(100% - 24px, 1140px);
                }

                .lp-memuro-link-button {
                    padding-inline: 16px;
                }

                .lp-memuro-item-body {
                    padding-inline: 16px;
                }

                .lp-memuro-item-base-price {
                    font-size: 20px;
                }

                .brsp {
                    display: block;
                }
            }

            @media (prefers-reduced-motion: reduce) {

                .lp-memuro-link-button,
                .lp-memuro-link-button::after,
                .lp-memuro-item-card,
                .lp-memuro-accordion-icon::before,
                .lp-memuro-accordion-icon::after {
                    transition: none;
                }

                .lp-memuro-link-button:hover,
                .lp-memuro-item-card:hover {
                    transform: none;
                }
            }