.fes-container {
  container-type: inline-size;
  container-name: fes-container;
    --green:#3a99a8;
    --grey:#dadada;
    --pink:#fc4a80;
}

.fes-wrapper {
    font-size: 16px;
    line-height: 1.7;
    width: 100%;
    overflow: hidden;
    padding-bottom: 120px;
    background: url(../img/bg_bottom.jpg) bottom / 100% no-repeat;
}

.fes-wrapper img {
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
    object-fit: contain;
    position: relative;
    z-index: 2;
}

.fes-wrapper > section,
.fes-prize {
    max-width:1000px;
    margin:auto;
}

.fes-top {
    position: relative;
    text-align: center;
}

.fes-top img {
    width: 100%
}

.fes-intro {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 150px;
}

.fes-intro p {
    position:relative;
}

b.fex-red {
    color: #f33f7c;
}

b.fex-blue {
    color: #1566c6;
}

@media (min-width: 801px){
    .fes-intro p:before {
        content:"";
        display:block;
        position:absolute;
        background:url(../img/deco_intro1.png);
        aspect-ratio:154/118;
        width:154px;
        left:-154px;
        top: -30px;
    }
    
    .fes-intro p:after {
        content:"";
        display:block;
        position:absolute;
        background:url(../img/deco_intro2.png);
        aspect-ratio:109/126;
        width:109px;
        right: -129px;
        top: -30px;
    }
}

.fes-join h2 {
    color:white;
    background:var(--green);
    width:300px;
    margin: 0px auto 30px;
    text-align:center;
    padding:10px;
    position: relative;
    box-sizing: border-box;
    height: 50px;
    font-size: 20px;
}

.fes-join h2::before,
.fes-join h2::after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: var(--green) transparent;
    border-style: solid;
    content: '';
}
.fes-join h2::before {
    left: -15px;
    border-width: 25px 0px 25px 15px;
}
.fes-join h2::after {
    right: -15px;
    border-width: 25px 15px 25px 0px;
}


.fes-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.fes-steps > div {
    border:1px solid var(--grey);
    border-radius:10px;
    padding:15px;
    text-align: center;
    position: relative;
}

@media (min-width: 600px){
    .fes-steps > div p {
        word-break: auto-phrase;
    }
}

.fes-steps > div p span {
    display: inline-block;
}

.fes-steps > div img {
    width: 95px;
}

.step-num {
    background: red;
    color: white;
    aspect-ratio: 1/1;
    width: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    position: absolute;
    z-index: 3;
}

.fes-steps > div:nth-child(1) .step-num {
    background: #61b441;
}

.fes-steps > div:nth-child(2) .step-num {
    background: #f39d00;
}

.fes-steps > div:nth-child(3) .step-num {
    background: #ef5a81;
}

.fes-steps > div:nth-child(4) .step-num {
    background: #4567ba;
}

.fes-steps > div > p:nth-of-type(1) {
    font-weight:bold;
    margin: .5em 0;
}

.fes-steps > div > p:nth-of-type(1) span {
    font-weight:bold;
}

section.fes-comment-example h2 {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 2em 0 1em;
    font-size: 20px;
}

section.fes-comment-example h2 img {
    width:50px;
}

.fes-comment-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 13px;
}

.fes-comment-list > div {
    border:1px solid var(--grey);
    border-radius:10px;
    padding:15px;
    word-break: auto-phrase;
    display: flex;
    flex-direction: column;
}

.fes-comment-list > div p.staff-num {
    margin: 0em 0 1em;
    display: flex;
    align-items: center;
    gap: .5em;
}

.fes-comment-list > div p.staff-num img {
    width: 35px;
}

.fes-comment-list > div > img {
    margin-top:auto;
    /* width: 35px; */
}

.fes-prize {
    border: 1px solid var(--pink);
    padding: 1.5em 1.5em 1.5em 190px;
    margin: 80px auto;
    border-radius: 15px;
    box-sizing: border-box;
}

.fes-prize > div:first-child {
    position: absolute;
    width: 165px;
    margin-top: -94px;
    left: 84px;
}

.fes-pink {
    color: var(--pink);
}

.fes-prize p {
    display:flex;
    flex-direction:column;
    font-size: 21px;
    gap: 5px;
}

.fes-prize p span:last-child {
    margin-left:auto;
}

.fes-cta {
    display: flex;
    max-width: 800px;
    margin: auto;
}

.fes-cta-btn {
    display: flex;
    flex-direction: column;
    width: 640px;
    gap: 20px;
    justify-content: center;
    align-items: center;
    margin: auto;
    font-size: 26px;
    position: relative;
    left: -26px;
}

.fes-cta-btn a {
    color:white;
    font-size: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f25a82;
    border-radius: 70px;
    height: 90px;
    width: 100%;
    %:
    row;
    position:relative;
    padding-right: 35px;
    box-sizing: border-box;
}

.fes-cta-btn:before,
.fes-cta-btn:after {
    content:"";
    display:block;
    position:absolute;
    
}

.fes-cta-btn:before {
    background:url(../img/deco_cta.png) center / 100% no-repeat;
    aspect-ratio:93/74;
    width:93px;
    left: -120px;
    top: 0px;
}

.fes-cta-btn:after {
    background:url(../img/deco_share.png) center / 100% no-repeat;
    aspect-ratio:828/578;
    width:250px;
    right: -260px;
    top: -20px;
}


.fes-cta-btn a span {
    margin:auto;
    font-weight: bold;
}

.fes-cta-btn a:after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 15px;
  height: 15px;
  border: solid;
  border-width: 2px 2px 0 0;
    rotate:45deg;
}

.fes-cta-btn a img {
    width: 57px;
    left: 29px;
}

.fes-present {
    margin: 2em auto;
    text-align: center;
    max-width: 1000px;
}

@media (max-width: 800px){
    .fes-wrapper {
        font-size: 14px;
    }

    .fes-intro {
        margin: 15px;
        word-break: auto-phrase;
    }
    
    .fes-steps {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .fes-wrapper > section, .fes-prize {
        margin: 15px;
    }
    
    .step-num {
        left: 10px;
        top: 10px;
    }
    
    .fes-comment-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .fes-cta {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 30px;
    }
    
    .fes-cta {
        margin-top: 80px;
    }
    
    .fes-wrapper > section.fes-cta {
        margin-top: 40px;
    }
    
    .fes-wrapper {
        padding-bottom: 50px;
    }
    
    .fes-cta-btn {
        font-size: 16px;
        width: 100%;
        padding-bottom: 178px;
        left: 0;
    }
    
    .fes-cta-btn a {
        font-size: 22px;
        width: 100%;
        margin: auto;
        height: 60px;
        z-index: 3;
    }

    .fes-cta-btn a:after {
    width: 10px;
    height: 10px;
    right: 21px;
    }

    .fes-comment-list > div:last-child {
        gap: 15px;
    }
    .fes-cta-btn a img {
        width: 38px;
        left: 15px;
    }
    .fes-present {
    margin: 2em 15px 0;
    }
    .fes-cta-btn:before {
    display:none;
    }
    .fes-cta-btn:after {
    right: auto;
    bottom: -52%;
    }
}
