    .container {
        max-width: 1280px;
        margin: 0 auto;
        width: 100%;
    }

    /* Main Content */
    .main-content {
        max-width: 1000px;
        margin: 0 auto;
        padding: 0 0px;
    }

    /* Title Section */
    .flow-title {
        text-align: center;
        padding: 40px 20px;
    }

    .flow-title h1 {
        font-family: var(--siteflow-heading-font);
        font-size: 36px;
        font-weight: 400;
        letter-spacing: var(--siteflow-heading-letter-spacing);
        margin-bottom: 10px;
    }

    .title-underline {
        width: 361px;
        height: 6px;
        margin: 0 auto;
    }

    .title-underline img {
        width: 100%;
        height: auto;
    }

    /* Flow Steps */
    .create-flow {
        padding: 60px 0;
    }

    .step {
        /* min-width: 360px;
        max-width: 1000px;
        width: 100%; */
        margin: 0 auto;
        margin-bottom: 0;
    }

    .step-detail {
        display: flex;
        flex-wrap: wrap;
        min-height: 320px;
        margin-bottom: 0;
    }

    .step-left-text,
    .step-right-text {
        flex: 1 1 320px;
        min-width: 320px;
        background: #ffffff;
        padding: 50px 40px 0;
        display: flex;
        gap: 30px;
    }

    .step-left-text {
        justify-content: flex-end;
    }

    .step-image {
        flex: 1 1 360px;
        min-width: 360px;
        height: 320px;
        position: relative;
        overflow: hidden;
        padding: 10px;
    }

    .step-image img.main-image {
        position: absolute;
        width: auto;
        height: auto;
        max-width: none;
    }

    .step-1 .step-image img.main-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
        position: absolute;
        inset: 0;
    }

    .step-2 .step-image img.main-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
        position: absolute;
        inset: 0;
    }

    .step-3 .step-image img.main-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
        position: absolute;
        inset: 0;
    }

    .step-4 .step-image img.main-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
        position: absolute;
        inset: 0;
    }

    .num-frame {
        position: absolute;
        /* bottom: 10px; */
        top: 10px;
        left: 10px;
        z-index: 10;
    }

    .step-number {
        font-family: var(--siteflow-step-number-font);
        font-size: 40px;
        font-weight: 400;
        padding: 0 20px;
        margin-bottom: -20px;
    }

    .number-underline {
        width: 100px;
        height: 3px;
    }

    .number-underline img {
        width: 100%;
        height: auto;
    }

    .vertical-title {
        writing-mode: vertical-rl;
        font-size: 22px;
        text-align: top;
        min-width: 18px;
        height: 280px;

        line-height: var(--siteflow-vertical-title-line-height);
        letter-spacing: 0em;

    }

    .vertical-text {
        writing-mode: vertical-rl;
        font-size: 14px;
        text-align: top;
        line-height: 2;
        max-width: 70px;
        padding: 5px 0;
        /*display: flex;*/
    }

    .vertical-text {
        flex: 0 0 140px;
        width: 140px;
        max-width: none;
        height: 280px;
        text-wrap: pretty;
    }

    .next-arrow {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10px;
        min-height: 44px;
    }

    .next-arrow img {
        width: 24px;
        height: 24px;
    }

    /* Completed */
    .completed-section {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 80px;
        padding: 15px 10px;
        position: relative;
        margin: 40px 0;
    }

    .completed-section img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .completed-section p {
        font-family: var(--siteflow-heading-font);
        font-size: 36px;
        font-weight: 400;
        letter-spacing: var(--siteflow-completed-letter-spacing);
        position: relative;
        z-index: 1;
    }

    /* Breakline */
    .breakline {
        width: 90%;
        height: 46px;
        margin: 0 auto;
    }

    .breakline img {
        width: 100%;
        height: 24px;
    }

    /* Mitsumori Section */
    .mitsumori-section {
        padding: 40px 0;
    }

    .mitsumori-detail {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

    .mitsumori-image {
        flex: 0 0 360px;
        height: 320px;
        position: relative;
        overflow: hidden;
    }

    .mitsumori-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        position: absolute;
        inset: 0;
    }

    .mitsumori-text {
        flex: 0 0 360px;
        padding: 40px 0;
        display: flex;
        flex-direction: column;
        gap: 29px;
        align-items: center;
    }

    .mitsumori-title {
        text-align: center;
    }

    .mitsumori-title p {
        font-family: var(--siteflow-heading-font);
        font-size: 24px;
        font-weight: 400;
        letter-spacing: var(--siteflow-mitsumori-title-letter-spacing);
        margin-bottom: -10px;
    }

    .mitsumori-title-underline {
        width: 150px;
        height: 3px;
        margin: 0 auto;
    }

    .mitsumori-title-underline img {
        width: 100%;
        height: auto;
    }

    .mitsumori-description {
        font-size: 14px;
        line-height: 24px;
        max-width: 360px;
        text-align: left;
    }

    .mitsumori-button {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        height: 80px;
        width: 100%;
        max-width: 360px;
        cursor: pointer;
        border: 0px solid #000000;
        background: #ffffff;
        text-decoration: none;
        color: #000000;
        transition: all 0.3s;
    }

    .mitsumori-button:hover {
        /* background: #f5f5f5; */
    }

    .mitsumori-button p {
        font-family: var(--siteflow-heading-font);
        font-size: 20px;
        font-weight: 400;
        letter-spacing: var(--siteflow-mitsumori-button-letter-spacing);
    }

    .mitsumori-button img {
        width: 30px;
        height: 30px;
        opacity: 0;
        transition: opacity 0.3s;
    }

    .mitsumori-button:hover img {
        opacity: 1;
    }


    /* Responsive */
    @media (max-width: 768px) {
        /* Flow Steps */
            .create-flow {
            padding: 0px 0;
        }

        .mitsumori-section {
        padding: 0px 0;
        }

        .flow-title h1 {
            font-size: 28px;
            letter-spacing: var(--siteflow-heading-letter-spacing-tablet);
        }

        .title-underline {
            width: 280px;
        }

        .step-detail {
            min-height: auto;
            height: auto;
            flex-direction: column;
        }

        .step-left-text,
        .step-right-text,
        .step-image {
            min-width: 100%;
            width: 100%;
        }

        .step-1 .step-detail,
        .step-3 .step-detail {
            flex-direction: column-reverse;
        }

        .step-number {
            font-size: 36px;
        }

        .vertical-title,
        .vertical-text {
            writing-mode: horizontal-tb;
            width: 100%;
            max-width: 100%;
            height: auto;
            text-align: center;
        }

        .vertical-text {
            flex: 0 0 auto;
            width: 100%;
            max-width: 100%;
            height: auto;
        }

        .step-left-text,
        .step-right-text {
            flex: 0 0 150px;
            padding: 30px 20px;
            gap: 15px;
            justify-content: flex-end;
            flex-direction: column;
        }

        html[lang="ja"] .step-left-text,
        html[lang="ja"] .step-right-text {
            flex-basis: auto;
        }

        .step-1 .step-left-text,
        .step-3 .step-left-text {
            justify-content: flex-start;
            flex-direction: column-reverse;
        }

        .step-1 .step-right-text,
        .step-3 .step-right-text,
        .step-2 .step-left-text,
        .step-4 .step-left-text {
            display: none;
        }

         .mitsumori-detail {
            flex-direction: column;
        }

        .mitsumori-image {
            width: 95%;
            display: flex;
        }

        .mitsumori-text {
            width: 100%;
            padding: 20px;
        }

        .completed-section p {
            font-size: 28px;
        }
    }

    @media (max-width: 480px) {
        .flow-title h1 {
            font-size: 28px;
            letter-spacing: var(--siteflow-heading-letter-spacing-mobile);
        }

        .step-number {
            font-size: 32px;
        }

        .vertical-title {
            font-size: 18px;
            font-weight: 700;
        }

        .vertical-text {
            font-size: 14px;
        }

        .mitsumori-title p {
            font-size: var(--siteflow-mobile-mitsumori-title-font-size);
            font-weight: 700;
        }

        .mitsumori-button p {
            font-size: var(--siteflow-mobile-mitsumori-button-font-size);
        }

        .completed-section p {
            font-size: var(--siteflow-mobile-completed-font-size);
        }
    }

/* Animation */
@keyframes fadeIn {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

.flow-title,
.create-flow,
.mitsumori-section {
animation: fadeIn 0.6s ease-out;
}

/* 단계 설명과 안내 그림의 최소 너비를 모바일에서 해제한다. */
@media (max-width: 768px) {
    .main-content,
    .step-left-text,
    .step-right-text,
    .step-image,
    .mitsumori-image,
    .mitsumori-text {
        min-width: 0;
        max-width: 100%;
    }

    .step-left-text,
    .step-right-text,
    .mitsumori-text {
        flex-basis: auto;
    }

    .vertical-title {
        line-height: 1.5;
    }

    .mitsumori-title,
    .mitsumori-description,
    .mitsumori-button p {
        min-width: 0;
        max-width: 100%;
    }

    .mitsumori-button img {
        flex-shrink: 0;
    }
}

.flow-title h1,
.vertical-title,
.mitsumori-title p {
    text-wrap: balance;
}

.mitsumori-description {
    text-wrap: pretty;
}
