.flow {

    h1 {
        position: relative;
        text-align: center;
        background-color: rgb(245, 225, 187);

        font-weight: bold;
        font-family: 'Shippori Mincho', serif;
        font-size: 18px;

        color: rgb(31, 45, 61);
        /* header ネイビーブルー */

        padding: 12px;
        margin: 0 -18px 16px;

        @media (width <=767px) {
            margin: 0 -14px 16px;
        }

        &::before {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 8px;
            width: 8px;
            height: 100%;
            background-color: rgb(31, 45, 61);
        }
    }

    p {
        font-size: 1rem;
        line-height: 1.7;
        margin-bottom: 2rem;
        text-align: center;
    }

    .flow-steps {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 2rem;

        li {
            background: rgba(255, 183, 77, 0.15);
            /* 淡いオレンジ */
            border: 1px solid rgb(255, 128, 0);
            padding: 1.5rem;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);

            .step-header {
                display: flex;
                align-items: center;
                gap: 0.75rem;
                margin-bottom: 0.5rem;

                .step-num {
                    background: rgb(255, 128, 0);
                    color: #fff;
                    font-size: 0.85rem;
                    font-weight: bold;
                    padding: 0.3rem 0.75rem;
                    border-radius: 20px;
                }

                h3 {
                    font-size: 1.1rem;
                    font-weight: 600;
                }
            }

            ul {
                margin: 0.5rem 0 0.5rem 1.5rem;

                li {
                    box-shadow: none;
                    border: none;
                    background: none;
                    list-style: disc;
                    font-size: 0.95rem;
                    line-height: 1.6;
                }
            }

            p {
                text-align: left;
                font-size: 0.95rem;
                margin: 0.5rem 0;
            }
        }
    }
}