
        /* ==================================================================
           LP Yurutto Study Overrides (シニア・初心者向けの視認性・余白調整)
           ================================================================== */
        /* 全体の文字サイズと行間を大きくして読みやすく */
        .lp-yurutto {
            font-size: 18px;
            line-height: 2.0;
            color: #1a1a1a;
        }

        .lp-yurutto main p,
        .lp-yurutto main td,
        .lp-yurutto main li {
            font-size: 18px;
            line-height: 2.0;
        }

        /* 共通ボタン（.btn）の幅制限をLP内のみ解除・中央寄せに対応 */
        .lp-yurutto .btn {
            max-width: 100%;
            font-size: 17px;
            padding: 16px 40px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            margin: 0 auto;
        }

        .lp-yurutto .lp-intro-block__cta,
        .lp-yurutto .cta-section div {
            text-align: center;
        }

        /* リード文の強調 */
        .lp-yurutto .head-text {
            font-size: 20px;
            line-height: 2.0;
            max-width: 800px;
            margin: 56px auto;
            padding: 0 24px;
            text-align: center;
        }

        /* セクションの余白と見出しのサイズアップ */
        .lp-yurutto .section {
            padding: 100px 0;
        }

        .lp-yurutto .section-title-sub {
            font-size: 28px;
            margin-bottom: 56px;
            font-weight: 700;
        }

        /* 特徴カードのサイズアップ */
        .lp-yurutto .card__title {
            font-size: 22px;
            margin-bottom: 16px;
            font-weight: 700;
        }

        .lp-yurutto .card__text {
            font-size: 17px;
            line-height: 1.8;
        }

        /* テーブルセルの余白を広げる */
        .lp-yurutto .info-table th,
        .lp-yurutto .info-table td {
            font-size: 17px;
            padding: 24px;
            line-height: 1.8;
        }

        /* 実績タイムライン */
        .lp-yurutto .timeline-item__date {
            font-size: 16px;
        }

        .lp-yurutto .timeline-item__title {
            font-size: 22px;
            margin: 12px 0;
            font-weight: 700;
        }

        .lp-yurutto .timeline-item__text {
            font-size: 17px;
            line-height: 1.8;
        }

        /* 講師紹介 */
        .lp-yurutto .profile-detail__name {
            font-size: 26px;
            font-weight: 700;
        }

        .lp-yurutto .profile-detail__role {
            font-size: 17px;
            margin-bottom: 16px;
        }

        .lp-yurutto .profile-detail__bio {
            font-size: 17px;
            line-height: 1.9;
        }

        /* 最終CTA */
        .lp-yurutto .cta-section__title {
            font-size: 28px;
            font-weight: 700;
            margin-bottom: 24px;
        }

        .lp-yurutto .cta-section__text {
            font-size: 18px;
            line-height: 1.9;
        }

        /* 改行調整用ユーティリティ */
        .text-nowrap {
            display: inline-block;
            white-space: nowrap;
        }

        /* デスクトップ専用改行のスマホ非表示 */
        @media (max-width: 768px) {
            .u-desktop-only {
                display: none;
            }

            .lp-yurutto .profile-detail {
                padding: 24px;
                gap: 20px;
            }

            .lp-yurutto .profile-detail__photo {
                width: 100px;
                height: 100px;
            }

            .lp-yurutto .profile-detail__name {
                font-size: 20px;
            }

            .lp-yurutto .profile-detail__role {
                font-size: 14px;
                margin-bottom: 12px;
                line-height: 1.6;
            }

            .lp-yurutto .profile-detail__bio {
                font-size: 14px;
                line-height: 1.6;
            }
        }

        /* ==================================================================
           画像枠（フレーム）のプレースホルダー表示用スタイル
           ================================================================== */
        .image-placeholder-frame {
            background-color: #f8fafc;
            border: 2px dashed #cbd5e1;
            border-radius: 12px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            color: #64748b;
            font-size: 14px;
            font-weight: 700;
            padding: 24px;
            box-sizing: border-box;
            margin: 0 auto;
            position: relative;
            user-select: none;
            box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.02);
            transition: border-color 0.3s ease, background-color 0.3s ease;
        }

        .image-placeholder-frame::before {
            content: "📷";
            font-size: 36px;
            margin-bottom: 12px;
            display: block;
        }

        .image-placeholder-frame span {
            display: block;
            margin-bottom: 4px;
        }

        .image-placeholder-frame .frame-size {
            font-size: 12px;
            font-weight: 500;
            color: #94a3b8;
        }

        /* 各画像の推奨アスペクト比に基づきフレームのアスペクト比を固定 */
        /* 特徴まとめ図解 (1080x1350px = 4:5 比率) */
        .features-summary-frame {
            width: 100%;
            max-width: 400px;
            aspect-ratio: 4 / 5;
            margin-bottom: 48px;
        }

        /* 参加者の声まとめ図解 (1080x1350px = 4:5 比率) */
        .voice-summary-frame {
            width: 100%;
            max-width: 400px;
            aspect-ratio: 4 / 5;
            margin-top: 32px;
        }

        /* 実績タイムライン写真 (800x533px = 3:2 比率) */
        .past-event-photo-frame {
            width: 100%;
            aspect-ratio: 3 / 2;
            margin-bottom: 16px;
        }

        /* ==================================================================
           連動して下からスライドインするスティッキーCTA（PC表示時は横幅制限して中央寄せ）
           ================================================================== */
        .lp-yurutto .lp-sticky-cta {
            position: fixed;
            bottom: 0;
            left: 50%;
            transform: translate(-50%, 100%);
            /* 最初は画面下に隠す */
            width: 100%;
            max-width: 440px;
            /* カルーセルと同じ横幅に制限 */
            background: rgba(255, 255, 255, 0.95);
            border: 1px solid var(--color-border-light);
            border-bottom: none;
            border-radius: 12px 12px 0 0;
            box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.08);
            z-index: 1000;
            box-sizing: border-box;
            padding: 16px;
            transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .lp-yurutto .lp-sticky-cta.is-visible {
            transform: translate(-50%, 0);
            /* スライドイン */
        }

        .lp-yurutto .lp-sticky-cta .btn {
            max-width: 100%;
            /* 440pxの枠幅いっぱいに広げる */
            width: 100%;
            display: flex;
            margin: 0 auto;
            font-size: 16px;
            padding: 14px;
            border-radius: 8px;
        }

        @media (max-width: 768px) {
            .lp-yurutto .lp-sticky-cta {
                max-width: 100%;
                /* スマホでは全幅 */
                border-radius: 0;
                border-left: none;
                border-right: none;
            }
        }

        /* ==================================================================
           マンガやイラストが切れないカルーセル表示の最適化
           ================================================================== */
        .lp-yurutto .lp-carousel-wrapper {
            position: relative;
            aspect-ratio: 9 / 16;
            /* 1080x1920 (9:16) に完全に固定し、アスペクト比を維持 */
            height: auto;
            max-height: calc(100vh - 80px - 120px);
            /* PCヘッダー(80px)と下部余白(120px)を除いた縦幅制限 */
            width: min(440px, calc((100vh - 80px - 120px) * 9 / 16));
            /* 縦幅に収まるよう横幅を自動縮小 */
            margin: 0 auto 24px;
        }

        .lp-yurutto .lp-carousel-container {
            width: 100%;
            height: 100%;
            overflow: hidden;
            border-radius: 12px;
            background: #ffffff;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
            margin: 0;
        }

        @media (max-width: 768px) {
            .lp-yurutto .lp-carousel-wrapper {
                aspect-ratio: 9 / 16;
                height: auto;
                max-height: calc(100dvh - 70px - 40px);
                /* スマホヘッダー(70px)と下部余白(40px)を除いた縦幅制限 */
                width: min(100vw, calc((100dvh - 70px - 40px) * 9 / 16));
                /* 縦幅に収まるよう横幅を自動縮小 */
                border-radius: 0;
                margin-bottom: 24px;
            }

            .lp-yurutto .lp-carousel-container {
                border-radius: 0;
            }
        }

        /* デスクトップ表示時：矢印をコンテナの外側に配置してテキスト被りを防止 */
        @media (min-width: 769px) {
            .lp-yurutto .lp-carousel-prev {
                left: -60px;
            }

            .lp-yurutto .lp-carousel-next {
                right: -60px;
            }

            .lp-yurutto .lp-carousel-prev,
            .lp-yurutto .lp-carousel-next {
                background: #ffffff;
                color: #333333;
                border: 1px solid #e2e8f0;
                font-size: 18px;
                width: 44px;
                height: 44px;
                display: flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                z-index: 10;
                transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
                border-radius: 50%;
                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
                transform: translateY(-50%);
                top: 50%;
            }

            .lp-yurutto .lp-carousel-prev:hover,
            .lp-yurutto .lp-carousel-next:hover {
                background: #f8fafc;
                border-color: #cbd5e1;
                color: #1a1a1a;
                box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
            }
        }

        .lp-yurutto .lp-carousel-slide img {
            object-fit: contain;
            /* マンガのコマやセリフが絶対にトリミングされないように全体表示 */
            background: #ffffff;
        }
    

                    details summary::-webkit-details-marker {
                        display: none;
                    }

                    details summary {
                        list-style: none;
                    }

                    details summary span:last-child {
                        transition: transform 0.2s ease;
                    }

                    details[open] summary span:last-child {
                        transform: rotate(45deg);
                    }
                