.container {
    max-width: 920px;
    margin: 5rem auto;
    padding: 0 2rem;
    /* width: calc(100vw - 20rem); */
}

.header-part{
    margin: 1rem auto;
    display: flex;
    padding-top: 8rem;
}

.step {
    margin: 1rem auto;
    display: flex;
}

/* img {
	display: block;
	max-width: 100%;
} */

/* Header Part */
.header-part {
    font-size: 2.5rem;
    font-weight: bold;
    flex-direction: column;
    align-items: center;}
    .header-part__button {
        color: white;
        background: var(--mainColor1);
        width: 100%;
        border-radius: 2rem;
        padding: 1rem 0;
        text-align: center;
        font-size: 18px;}
    .header-part__desc {
        font-size: 16px;
        font-weight: normal;}

/* Arrow */
.step__arrow {
    color: var(--mainColor1);
    font-size: 6rem;
    display: flex;
    justify-content: center;}
    .step__arrow--rotate {
        width: fit-content;
        transform: rotate(90deg);}

/* Step */
.step {
    flex-direction: column;}
    .step__body {
        position: relative;}
        .step__content {
            display: flex;
            flex-direction: column-reverse;}
    .step__header {
        display: flex;
        align-items: flex-end; }
        .step__num-header {
            font-size: 5rem;
            color: var(--mainColor2);}
        .step__text-header {
            font-size: 2rem;
            padding: 1rem;
            font-weight: bold;}
    .step__desc {
        font-size: 1.6rem;}
    .step__banner {
        margin: 3rem 0;
	    position: relative;
        height: 30rem;}
        .step__banner .step__background-img {
            position: absolute;
            right: 0;
            top: 0;
            width: 55%;}
        .step__blurry-image {
            height: 100%;
            position: absolute;
            left: 0;
		    right: auto;
            top: 0;
            width: 45%;
            box-shadow: 60px 0 40px 10px white;}
        .step__overlay {
            align-items: flex-start;
            background-color: transparent;
            box-sizing: border-box;
            /* color: white; */
            display: flex;
            flex-direction: column;
            font-size: 20px;
            height: 100%;
            position: absolute;
            top: 90px;
            left: 0;
		    right: auto;
            width: 50%;
            z-index: 1;}
            .step__overlay picture {
                width: 100%;}
            .step__overlay .step__overlay-img {
                width: 100%;}
        
/* Step's header */
.num-header {
    font-size: 5rem;
    font-weight: bold;}
    .num-header--first {color: var(--mainColor2);}
    .num-header--second {color: rgb(243 138 145)}
    .num-header--third {color: rgb(183 137 186);}
    .num-header--fourth {color: rgb(128 161 210);}
    .num-header--fifth {color: rgb(96 194 207);}
    .num-header--sixth {color: rgb(162 203 156);}
.text-header{
    font-size: 2.5rem;
    padding: 1rem;
    font-weight: bold;}
        
/* Step Button */
.step__button {
    padding-left: 20px;
    width: 50%;
}

@media (max-aspect-ratio: 10/9) {
    /* Instruction */
    .step__body {
        position: static;
        display: flex;
        flex-direction: column;
        align-items: center;}
        .step__content {
            flex-direction: column;
            width: 100%;
            align-items: center;
            /* margin-bottom: 2rem; */}
            .step__banner {
                margin: unset;
                margin-bottom: 2rem;
                display: flex;
                justify-content: center;
                width: 100%;}
                .step__banner .step__background-img {
                    position: static;
                    width: 80%;
                    padding: 0 2rem;
                    object-fit: contain;}
            .step__blurry-image {
                display: none;}
        .step__overlay {
            position: static;
            flex-direction: row;
            padding: 0 3rem;
            width: auto;}
}

/* PC View */
@media screen and (min-width: 1024px) {
    .step__banner {
        height: 35rem;
    }
}

/* For Tablet View */
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .step__banner {
        height: 30rem;
    }
}

/* For Mobile Phones Portrait or Landscape View */
@media screen and (max-width: 640px) {
    .header-part {
        font-size: calc(100vw/27);
        font-weight: bold;}
        .header-part__desc {font-size: 1.4rem;}

    .step__arrow {
        font-size: 4rem;
        padding-top: 2rem;}
    
    .step__banner {
        /* height: 20rem; */
        margin: unset;
        /* margin-top: 3rem; */
    }
}
  
/* For Mobile Portrait View */
@media screen and (max-width: 480px) and (orientation: portrait) {
    .header-part {
        font-size: calc(100vw/27);
        font-weight: bold;}
        .header-part__desc {font-size: 1rem;}
        .header-part__button {font-size: unset;}
        .header-part__title {padding: 1rem 0;}

    .num-header {font-size: 4rem;}
    .text-header {font-size: calc(100vw/27);}

    .step__desc {font-size: 1.1rem; margin: 1rem 0;}
    .step__arrow {
        font-size: 4rem;
        padding-top: 2rem;}
    .step__banner {
        /* div's height ≈ images's height */
        height: calc(100vw*11/24);
        margin: unset;
        /* margin-top: 3rem;} */}
    .step__header {
        justify-content: center;
    }
}
 
