.join_wrap {
    max-width: 1100px;
    padding: 100px 31px 21px;
    margin: 0 auto;
}
.join_wrap  > h1 {font-size: 35px; margin-bottom: 30px; text-align: center;}




/*회원가입 메뉴*/
.join_menu_wrap {
    width: 50%;
    display: flex; align-items: center; justify-content: center; column-gap: 10px;
    margin: 0 auto 50px;
}
.join_menu_wrap .join_menu {
    flex-grow: 1; text-align: center;
    line-height: 50px; font-size: 20px; color: #999;
    position: relative;
}
.join_menu_wrap .join_menu.active {color: #E57703}
.join_menu_wrap .join_menu.active::after {
    content: "";
    width: 100%; height: 4px;
    border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px;
    background-color: #E57703;
    position: absolute; bottom: 0; right: 0; left: 0;
}
.join_wrap h2 {font-size: 25px; margin-bottom: 35px; word-break: keep-all;}


/*회원가입 step01*/

.join_form01 {border-top : 2px solid #00145A}

.join_form01 li {
    padding: 10px 20px;
    font-size: 18px; color: #454551;
}
.join_form01 label {font-weight: 600;}
.join_form01 > li:first-child { border-bottom: 1px solid #f0f3f5; padding: 20px;}

.rule_box {
    width: 100%; max-height: 200px; height: auto; 
    border-radius: 20px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -ms-border-radius: 20px; -o-border-radius: 20px;
    padding: 10px 15px; margin-top: 25px;
    border: 1px solid #dadada; 
}
.rule_box > div { 
    font-size: 13px; white-space: pre-line; word-break: keep-all; 
    height: 100%; max-height: 180px;  overflow-y: auto; 
}

.submint_btn {
    display: block;
    margin: 30px auto;
    width: 250px; 
    line-height: 60px; font-size: 20px; font-weight: 700; color: #fff; text-align: center;
    border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px;
    background-color: #E57703;    
}



/*회원가입 step02*/
table.join_form01 {width: 100%; box-sizing: border-box;}
table.join_form01 th,
table.join_form01 td {padding: 20px 0 10px;}
table.join_form01 th {width: 20%; font-weight: 600;  padding-top: 35px;}
table.join_form01 td {width: 90%; vertical-align: middle;}
table.join_form01 .id_box {display: flex; align-items: center; justify-content: flex-start; column-gap: 15px;}
table.join_form01 input {
    width: 90%;
    padding: 15px 10px;
    border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border: 1px solid #ddd;
}
table.join_form01 input::placeholder {color: #aaa; font-weight: 400; }

table.join_form01 .overlap_btn {
    padding: 13px 25px;
    border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border: 1px solid #E57703;
    color: #E57703; font-weight: 600;
}
table.join_form01 td > p {margin-top: 10px; color: #999}

.address_wrap > li {padding: 0 0 10px}
.find_btn {
    padding: 12px 25px;
    border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border: 1px solid #666;
    color: #fff;
    background-color: #666; font-weight: 600;
}

.event_box.join_form01 {
    --border-width: 4px;
    position: relative;
    width: 90%;
    margin: 50px auto 25px; padding: 50px 15px 25px;
    border-radius: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; -ms-border-radius: 9px; -o-border-radius: 9px; border: none;
    display: flex; align-items: center; justify-content: space-evenly; column-gap: 25px;
    background-color: #fff;
}
.event_box::after {
    content: "";
    position: absolute; top: calc(-1 * var(--border-width)); left: calc(-1 * var(--border-width));
    z-index: -1;
    width: calc(100% + var(--border-width) * 2); height: calc(100% + var(--border-width) * 2);
    background: linear-gradient(
      60deg,
      #fbb300,
      #e55054,
      #e57703,
      #ffbfbe,
      #ff8888,
      #c35257
    );
    background-size: 300% 300%; background-position: 0 50%; border-radius: 10px;
    animation: moveGradient 4s alternate infinite;
}
@keyframes moveGradient {
  50% {
    background-position: 100% 50%;
  }
}
.event_box > h2 {
    padding: 3px 10px;
    color: #333; font-size: 25px; white-space: nowrap;
    background-color: #fff;
    position: absolute; top: -18px; left: 50%;
    transform: translateX(-50%); -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -o-transform: translateX(-50%);
}

.event_box h3 {font-size: 20px;}
.event_box p {font-size: 15px; color: #666}
.event_box .flex_box {column-gap: 15px; margin-top: 20px;}


/*회원가입 step03*/
.lottie_file {width: 500px; height: 500px; margin: 0 auto;}





/* ===== 휴대폰 ===== */
@media (max-width: 800px) {
    .join_wrap {
        max-width: initial; width: 100%;
        padding: 80px 10px 50px;
        margin: 0 auto;
    }
    .join_wrap  > h1 {font-size: 25px; margin-top: 30px;}

    /*회원가입 메뉴*/
    .join_menu_wrap {width: 80%;}
    .join_menu_wrap .join_menu {
        flex-grow: 1; text-align: center;
        line-height: 50px; font-size: 20px; color: #999;
        position: relative;
    }
    .join_menu_wrap .join_menu > span {display: none;}
    .join_menu_wrap .join_menu::after {
        content: "";
        width: 100%; height: 4px;
        border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px;
        background-color: #b6bec9;
        position: absolute; bottom: 0; right: 0; left: 0;
    }
    .join_wrap h2 {font-size: 20px;}


    /*회원가입 step01*/

    .join_form01 {
        margin-top: 20px;
        border-top : none;
    }

    .join_form01 li {
        padding: 10px 0;
        font-size: 15px;
        display: flex; align-items: center; justify-content: space-between;
    }
    .join_form01 > li:first-child { padding: 10px 0px;}
    .join_form01 li > i {font-size: 25px; padding-left: 20px;}

    .submint_btn {
        display: block;
        margin: 30px auto;
        width: 250px; 
        line-height: 60px; font-size: 20px; font-weight: 700; color: #fff; text-align: center;
        border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px;
        background-color: #E57703;    
    }



    /*회원가입 step02*/
    table.join_form01 th, table.join_form01 td {padding: 10px 0 5px;}
    table.join_form01 th {
        padding-top: 25px;
        font-size: 14px; letter-spacing: -0.02rem;
    }
    table.join_form01 .id_box {column-gap: 8px;}
    table.join_form01 .overlap_btn {
        padding: 14.5px 8px;
        font-size: 14px;
    }
    table.join_form01 td > p {font-size: 13px;}
    .address_wrap label {width: 100%; display: block;}
    .find_btn {padding: 14.5px 8px; font-size: 14px;}
    .address_wrap li {padding: 0 0 10px;}
    table.join_form01 th.mo_p {padding-top: 15px;}

    .event_box > h2 {top:-35px}
    .event_box h3 {font-size: 5.13vw;}
    .event_box p {font-size: 13px;}
    .event_box.join_form01 { flex-direction: column; row-gap: 20px; align-items: flex-start;}
    .event_box .flex_box {margin-top: 8px;}

    /*회원가입 step03*/
    .lottie_file {width: 90%; height: auto; margin: 0 auto;}

}


@media (max-width: 380px){
    .footer_wrap .footer_menu {column-gap: 7.6vw;}
    .footer_menu li {font-size: 3.34vw; }

    table.join_form01 td > p {font-size: 3.33vw;}
}






