/* マニフェストセクション専用：300〜1000pxでの完全中央揃いと行間統一 */
@media (min-width:300px) and (max-width:1000px) {

    /* セクション全体のテキスト配置 */
    .manifesto .manifesto__left {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        /* 左寄せに復元 */
        justify-content: center !important;
        text-align: left !important;
        /* 左寄せに復元 */

        /* タイトルと本文の間隔をもう少し広げる */
    }

    .manifesto .manifesto__title {
        text-align: left !important;
        /* タイトルは左寄せ */
        margin-left: 0 !important;
        /* 左寄せに復元 */
        margin-right: auto !important;
    }

    .manifesto .manifesto__text {
        text-align: center !important;
        /* 本文のみ中央揃い */
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* タイトル：左揃え＋行の美しい分割 */
    .manifesto .manifesto__title {
        text-wrap: balance !important;
        /* ブラウザ対応外では無視されるが害なし */
        max-width: 22ch !important;
        /* 行の長さを制御して視認性を確保 */
        line-height: 1.3 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        /* 左寄せに復元 */
        justify-content: center !important;
        gap: clamp(6px, 1.5vw, 12px) !important;
    }

    .manifesto .manifesto__title .manifesto__title-line {
        display: block !important;
        margin: 0 !important;
        /* 行間のばらつきをなくす */
        text-align: left !important;
        /* 左寄せに復元 */
    }

    /* 本文：中央揃い、先頭スペース排除、行間統一 */
    .manifesto .manifesto__text {
        max-width: 36rem !important;
        /* 可読幅を固定 */
        line-height: 1.9 !important;
        /* 行間を統一 */
        text-wrap: balance !important;
        word-break: keep-all !important;
        /* 句読点の直前での不自然な分割を抑制 */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .manifesto .manifesto__text .manifesto__line {
        display: block !important;
        margin: 0 !important;
        /* 行と行の余白をゼロに */
        text-align: center !important;
        width: 100% !important;
    }

    /* 画像や他要素の影響を避けるためのローカルリセット */
    .manifesto .manifesto__text,
    .manifesto .manifesto__title {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* レインボーテキストも中央揃い */
    .manifesto .manifesto__right {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .manifesto .manifesto__rainbow-text {
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* CTAボタンも中央揃い */
    .manifesto .manifesto__cta {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
    }

    /* 画面の3分の1ぐらいが覆われる細い二頭辺三角形が2つ重なったデザイン */
    .manifesto::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        pointer-events: none !important;
        z-index: 0 !important;
        background: rgba(59, 130, 246, 0.12) !important;
        /* 初期カラー */
        /* 画面の3分の1ぐらいが覆われる三角 */
        clip-path: polygon(50% 0%, 100% 0%, 100% 100%) !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
        animation: gradientShift1 10s ease-in-out infinite, triangleRotate1 20s linear infinite !important;
    }

    .manifesto::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        pointer-events: none !important;
        z-index: 0 !important;
        background: rgba(139, 92, 246, 0.10) !important;
        /* 初期カラー */
        /* 1枚目より内側・角度を少し変える */
        clip-path: polygon(40% 0%, 70% 0%, 55% 100%) !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
        animation: gradientShift2 10s ease-in-out infinite 1.5s, triangleRotate2 25s linear infinite reverse !important;
    }

    /* グラデーションシフトアニメーション */
    @keyframes gradientShift1 {
        0% {
            background: rgba(59, 130, 246, 0.12) !important;
        }

        50% {
            background: rgba(251, 191, 36, 0.12) !important;
        }

        100% {
            background: rgba(59, 130, 246, 0.12) !important;
        }
    }

    @keyframes gradientShift2 {
        0% {
            background: rgba(139, 92, 246, 0.10) !important;
        }

        50% {
            background: rgba(34, 197, 94, 0.10) !important;
        }

        100% {
            background: rgba(139, 92, 246, 0.10) !important;
        }
    }

    /* 回転アニメーション */
    @keyframes triangleRotate1 {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    @keyframes triangleRotate2 {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }
}