@charset "UTF-8";

@media only screen and  (max-width:767px) {
    .header.mobile {
        display:flex;
        align-items:center;
        justify-content:center;
        height:15.6vw;
        position:fixed;
        border-bottom:0.3vw solid #e2e2e2;
        background:#fff;
    }

    .header.mobile .langWrap strong {
        border-color:#222;
        color:#222;
    }

    .passport {
        padding:25vw 4.7vw 0;
    }

    .passport h2 {
        font-size:6.3vw;
        font-weight: 700;
        text-align:center;
    }

    .passport h2 strong {
        display:block;
        color:#ED484A;
    }

    .passport .passport_notication {
        overflow:hidden;
        width:100%;
        margin-top:9.4vw;
        border: 0.3vw solid #E2E2E2;
        border-radius:3.1vw;
    }

    .passport .passport_notication dt {
        display:flex;
        align-items:center;
        padding:4.1vw 4.7vw;
        background: #F9F9F9;
        font-size:4.4vw;
        font-weight:500;
    }

    .passport .passport_notication dd {
        padding:4.4vw 4.7vw;
    }

    .passport .passport_notication li {
        color: #666;
        font-size:3.8vw;
        line-height:1.6;
        word-break: break-all;
    }

    .passport .passport_notication li.ja {
        display:none;
    }

    .passport .tip_btn {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        margin-top:5.6vw;
        font-size:3.6vw;
        font-weight: 500;
        text-decoration: underline;
    }

    .passport .tip_btn::before {
        content:'';
        display:block;
        width:4.4vw;
        height:4.4vw;
        margin-right:1.1vw;
        background:url("/resources/front/images/icon_tip.svg") center no-repeat;
        background-size:100%;
    }

    .passport .passport_form {
        margin-top:6.3vw;
        padding-top:4.7vw;
        padding-bottom:25vw;
        border-top:0.3vw solid #666;
    }

    .passport .passport_form dl + dl {
        margin-top:4.7vw;
    }

    .passport .passport_form dt {
        width:100%;
        font-size:4.1vw;
        font-weight: 500;
    }

    .passport .passport_form dd {
        width:100%;
        margin-top:3.1vw;
    }

    .passport .passport_form dd input,
    .passport .passport_form dd select {
        width:100%;
        padding:3.8vw 4.2vw;
        border: 0.3vw solid #C2C2C2;
        border-radius:1.3vw;
        font-size:4.1vw;
    }

    .passport .passport_form dd div {
        display:flex;
        align-items:center;
        justify-content:space-between;
    }

    .passport .passport_form dd div input {
        width:28.6vw;
    }

    .passport .passport_form dd select::-ms-expand {
        display: none;
    }

    .passport .passport_form dd select {
        -o-appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background:url("/resources/front/images/arrow.svg") right 3.8vw center no-repeat;
        background-size:3.8vw;
    }

    .passport .passport_form dd ul {
        display:flex;
        align-items: flex-start;
        flex-wrap:wrap;
        margin-bottom:2vw;
    }

    .passport .passport_form dd ul li {
        width:50%;
        margin-bottom:2vw;
    }

    .passport .passport_form button:not(.reload) {
        width:100%;
        height:15.6vw;
        position:fixed;
        bottom:0;
        left:0;
        background:#222;
        color:#fff;
        font-size:4.1vw;
    }

    .loading_wrap {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction: column;
        width:100%;
        height:100%;
        position:fixed;
        top:0;
        left:0;
        background:rgba(0,0,0,0.7);
        z-index:10;
        display:none;
    }

    .loading {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction: column;
        width:69.4vw;
        height:69.4vw;
        border-radius:2.8vw;
        background:#fff;
    }

    .loading_container {
        width: 100px;
        height: 100px;
        position: relative;
    }

    /* 개별 직사각형 스타일 */
    .rectangle {
        width: 8px;
        height: 20px;
        background-color: #ED484A;
        position: absolute;
        top: 0;
        left: 50%;
        transform-origin: 50% 40px; /* 원점 조정 */
        animation: rotate 1.2s linear infinite;
    }

    /* 12개의 직사각형을 30도씩 회전 */
    .rectangle:nth-child(1)  { transform: rotate(0deg);  animation-delay: -1.1s; }
    .rectangle:nth-child(2)  { transform: rotate(30deg); animation-delay: -1s;   }
    .rectangle:nth-child(3)  { transform: rotate(60deg); animation-delay: -0.9s; }
    .rectangle:nth-child(4)  { transform: rotate(90deg); animation-delay: -0.8s; }
    .rectangle:nth-child(5)  { transform: rotate(120deg); animation-delay: -0.7s;}
    .rectangle:nth-child(6)  { transform: rotate(150deg); animation-delay: -0.6s;}
    .rectangle:nth-child(7)  { transform: rotate(180deg); animation-delay: -0.5s;}
    .rectangle:nth-child(8)  { transform: rotate(210deg); animation-delay: -0.4s;}
    .rectangle:nth-child(9)  { transform: rotate(240deg); animation-delay: -0.3s;}
    .rectangle:nth-child(10) { transform: rotate(270deg); animation-delay: -0.2s;}
    .rectangle:nth-child(11) { transform: rotate(300deg); animation-delay: -0.1s;}
    .rectangle:nth-child(12) { transform: rotate(330deg); animation-delay: 0s;   }

    /* 애니메이션 정의 */
    @keyframes rotate {
        0% { opacity: 1; }
        100% { opacity: 0; }
    }

    .loading_wrap strong {
        display:block;
        font-size:4.4vw;
        font-weight:500;
        text-align:center;
    }

    .loading_wrap strong span {
        display:block;
        color:#666;
        font-size:3.3vw;
        text-align:center;
    }

    .agree_passport {
        margin-top:6.3vw;
    }
    .agree_passport .chkWrap input[type="checkbox"] + label::before{
        width:6.3vw;
        height:6.3vw;
        margin-right:2.3vw;
        background:url("/resources/front/images/check_default.svg") center no-repeat;
        background-size:100%;
    }

    .agree_passport .chkWrap input[type="checkbox"]:checked + label::before {
        background:url("/resources/front/images/passport_check.png") center no-repeat;
        background-size:100%;
    }

    .agree_passport .chkWrap label {
        font-size:3.8vw;
    }

    .agree_passport_text {
        margin-top:4.7vw;
        border: 0.3vw solid #E2E2E2;
        background: #F9F9F9;
    }

    .agree_passport_text > div {
        display:none;
        padding:5vw 3.1vw;
        background:#fff;
        color:#666;
        font-size:3.8vw;
    }

    .agree_passport_text .text_title {
        display:flex;
        align-items:center;
        width:100%;
        height:11.6vw;
        padding:0 4.7vw;
        color:#666;
        font-size:3.8vw;0
    font-weight:500;
    }

    .agree_passport_text .text_title::after {
        content:'';
        display:block;
        width:5vw;
        height:5vw;
        margin-left:auto;
        background: url("/resources/front/images/ico__arrow_down.png") no-repeat center;
        background-size:100%;
    }

    .agree_passport_text .text_title.on {
        color:#ed484a;
    }

    .agree_passport_text .text_title.on::after {
        background: url("/resources/front/images/ico__arrow_up_on.png") no-repeat center;
        background-size:100%;
    }

    .agree_passport_text strong {
        color:#222;
        font-weight:500;
    }

    .agree_passport_text p {
        word-break: break-all;
    }

    .agree_passport_text table {
        margin-top:3.1vw;
    }

    .agree_passport_text table th,
    .agree_passport_text table td {
        padding:2.7vw;
        border:0.3vw solid #ddd;
        color:#222;
        font-size:3.4vw;
        word-break: break-all;
    }

    .agree_passport_text table th {
        background: #F9F9F9;
        font-size:3.4vw;
        font-weight: 500;
        text-align:left;
    }

    .agree_passport_text table td:last-child {
        color:#ED484A;
        font-weight:500;
    }

    .agree_passport_text ul {
        margin-top:3.1vw;
    }

    .agree_passport_text ul li {
        word-break: break-all;
    }

    .agree_passport_text + .chkWrap {
        margin-top:3.1vw;
    }

    .passport .fin_text {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction: column;
        padding-bottom:25vw;
    }

    .passport .fin_text02 {
        display:block;
        margin-top:6.3vw;
        font-size:5vw;
        font-weight: 700;
        text-align:center;
    }

    .passport .fin_text02::before {
        content:'';
        display:block;
        width:34.4vw;
        height:34.4vw;
        margin: 0 auto;
        background:url("/resources/front/images/passport_fin_icon.svg") center no-repeat;
        background-size:100%;
    }

    .passport .fin_text span {
        color: #ED484A;
    }

    .passport .fin_text div {
        width:100%;
        margin-top:20.9vw;
        padding:4.7vw;
        background: #F9F9F9;
    }

    .passport .fin_text div ul {
        width:100%;
    }

    .passport .fin_text div li {
        width:100%;
        padding-left:1.6vw;
        position:relative;
        color: #666;
        font-size:3.8vw;
        line-height:1.6;
        word-break: break-all;
    }

    .passport .fin_text div li::before {
        content:'';
        display:block;
        width:0.5vw;
        height:0.5vw;
        position:absolute;
        top:2.8vw;
        left:0.5vw;
        border-radius:50%;
        background:#ed484a;
    }

    .passport .fin_text button {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:15.6vw;
        position:fixed;
        bottom:0;
        left:0;
        background:#222;
        color:#fff;
        font-size:4.1vw;
    }

    .passport_step {
        display:flex;
        align-items:center;
        justify-content:center;
        margin-top:9.4vw;
    }

    .passport_step li {
        display:flex;
        align-items:center;
        justify-content:center;
        width:7.2vw;
        height:7.2vw;
        position:relative;
        border-radius:100%;
        background:#ddd;
        color:#fff;
        font-size:4.1vw;
        font-weight:500;
    }

    .passport_step li::before {
        content:'';
        display:block;
        width:9.4vw;
        height:0.3vw;
        position:absolute;
        top:50%;
        left:7.2vw;
        background:#E2E2E2;
        transform: translateY(-50%);
    }

    .passport_step li:last-child::before {
        display:none;
    }

    .passport_step li + li {
        margin-left:9.4vw;
    }

    .passport_step li.now {
        border:1px solid #ED484A;
        background:none;
        color:#ED484A;
    }

    .passport_step li.pass {
        border:none;
        background:#ED484A url("/resources/front/images/bul_step.svg") center no-repeat;
        background-size:3.3vw auto;
        text-indent:-9999px;
        font-size:0;
    }

    .step_info_layer {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:100%;
        position:fixed;
        top:0;
        left:0;
        background:rgba(0, 0, 0, 0.6);
        z-index:10;
        display:none;
    }

    .step_info_layer div {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        color:#fff;
        font-size:4.2vw;
        font-weight: 700;
        text-align:center;
    }

    .step_info_layer div img {
        width:44.4vw;
    }

    .step_info_layer div strong {
        display:block;
        margin-top:4.2vw;
    }

    .step_info_layer div span {
        color: #ED484A;
    }


    .step_layer {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:100%;
        position:fixed;
        top:0;
        left:0;
        background:rgba(0, 0, 0, 0.7);
        z-index:10;
        display:none;
    }

    .step_wrap {
        overflow:hidden;
        width:83.3vw;
        border-radius:1.4vw;
        background:#fff;
    }

    .step_header {
        display:flex;
        align-items:center;
        width:100%;
        min-height:10.4vw;
        padding:1.2vw 4.2vw !important;
        position:relative;
        background: #999;
        color:#fff;
        font-size:4.4vw;
    }

    .step_header .close {
        width:3.3vw;
        height:3.3vw;
        margin-left:auto;
        position:absolute;
        top:50%;
        right:4.2vw;
        background:url("/resources/front/images/close.svg") center no-repeat;
        background-size:100%;
        transform: translateY(-50%);
    }

    .step_container {
        overflow-y:auto;
        max-height:80vh;
        padding:4.2vw;
    }

    .step_container > strong {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        min-height:15vw;
        padding:2vw 4.7vw;
        border-radius: 0.8vw;
        background: #23254B;
        color:#fff;
        font-size:3.9vw;
        font-weight:500;
        text-align:center;
    }

    .step_container h5 {
        margin-top:4.2vw;
        font-size:3.9vw;
        font-weight: 500;
    }

    .step_container .swiper {
    }

    .step_container .swiper strong {
        display:none;
        margin-top:4.2vw;
        padding:0;
        font-size:3.9vw;
        font-weight: 500;
    }

    .step_container .swiper-slide div {
        overflow:hidden;
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        width:99.9%;
        height:31.9vw;
        margin-top:2.8vw;
        padding-top:4.2vw;
        border: 1px solid #D2D2D2;
        border-radius: 2.8vw 2.8vw 0px 0px;
        color: #ED484A;
        font-size:3.6vw;
        font-weight: 500;
    }

    .step_container .swiper-slide img {
        display:block;
        width:41.7vw;
        margin-top:4.2vw;
    }

    .step_container .swiper-slide span {
        display:block;
        margin-top:2.8vw;
        font-size:3.3vw;
        font-weight: 400;
        text-align:center;
    }

    .step_container .swiper-button-next,
    .step_container .swiper-button-prev {
        width:8.3vw;
        height:8.3vw;
        margin-top:0;
        top:15.8vw;
        background: #999;
    }

    .step_container .swiper-button-next {
        right:0;
    }

    .step_container .swiper-button-prev {
        left:0;
    }

    .step_container .swiper-button-next svg,
    .step_container .swiper-button-prev svg {
        width:2.2vw;
        height:3.9vw;
    }

    .step_container .swiper-button-next:after,
    .step_container .swiper-button-prev:after {
        font-size:0;
        text-indent:-99999px;
    }

    .step_container .swiper-button-next.swiper-button-disabled,
    .step_container .swiper-button-prev.swiper-button-disabled {
        display:none;
    }

    .step_container .swiper-pagination {
        margin-top:2.8vw;
        position:static;
        color:#666;
        font-size:3.3vw
    }

    .step_container .swiper-pagination-current {
        color: #ED484A;
    }

    .step_container .tip_text {
        margin-top:5.6vw;
        padding:4.2vw;
        background: #F9F9F9;
    }

    .step_container .tip_text dt {
        color: #ED484A;
        font-size:3.6vw;
        font-weight: 500;
    }

    .step_container .tip_text ul {
        margin-top:2.8vw;
    }

    .step_container .tip_text li {
        padding-left:2.1vw;
        position:relative;;
        color:#666;
        font-size:3.3vw;
        line-height:1.6;
        word-break: break-all;
    }

    .step_container .tip_text li:first-child {
        color:#ed484a;
    }

    .step_container .tip_text li::before {
        content:'';
        display:block;
        width:3px;
        height:3px;
        position:absolute;
        top:2.1vw;
        left:0;
        border-radius:50%;
        background:#ed484a;
    }

    /* 리캡챠 */
    .chapchaWrap {
        height:10vw;
        margin-top:3.8vw;
    }

    .chapchaWrap img {
        height:100%;
    }

    .captcha_input + a {
        width:28.1vw;
        padding:3vw;
        border-radius:10vw;
        font-size:4.1vw;
        letter-spacing:-0.1vw;
    }


}

@media only screen and (min-width: 768px) {
    .passport_wrap {
        width:720px;
        margin:0 auto;
        border:2px solid #e2e2e2;
    }

    .header.mobile {
        display:flex !important;
        align-items:center;
        justify-content:center;
        width:720px;
        height:100px;
        padding:0 30px;
        position:fixed;
        left:50%;
        border:2px solid #e2e2e2;
        border-top:0;
        background:#fff;
        transform:translateX(-50%);
    }

    .header.mobile .langWrap strong {
        border-color:#222;
        color:#222;
    }

    .header.mobile h1 {
        margin: 0 auto;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    .header.mobile h1 img {
        width: 152px;
        height: auto;
    }
    .header.mobile .langWrap {
        margin-left: auto;
    }
    .header.mobile .langWrap strong {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width:auto;
        padding:14px 16px;
        border:1px solid #222;
        border-radius:30px;
        font-size:24px;
        font-weight:500;
        cursor: pointer;
        text-transform: uppercase;
    }
    .header.mobile .langWrap .langContWrap {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        z-index: 9;
        background: rgba(0, 0, 0, 0.6);
        display: none;
    }
    .header.mobile .langWrap .langContWrap .langCont {
        width: 380px;
        position: relative;
    }
    .header.mobile .langWrap .langContWrap .langCont .langUl {
        border-radius:10px;
        overflow: hidden;
    }
    .header.mobile .langWrap .langContWrap .langCont .langUl li a {
        width: 100%;
        background: #fff;
        text-align: center;
        padding: 26px;
        text-transform: uppercase;
    }
    .header.mobile .langWrap .langContWrap .langCont .langUl li + li {
        border-top: 1px solid #ccc;
    }
    .header.mobile .langWrap .langContWrap .langCont .langUl li.on {
        border-top: none;
    }
    .header.mobile .langWrap .langContWrap .langCont .langUl li.on + li {
        border-top: none;
    }
    .header.mobile .langWrap .langContWrap .langCont .langUl li.on a {
        background: #ed484a;
        color: #fff;
    }
    .header.mobile .langWrap .langContWrap .langCont .close {
        position: absolute;
        top: 27px;
        right: -45px;
        width: 25px;
        height: 25px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .header.mobile .langWrap .langContWrap .langCont .close img {
        width: 100%;
        height: auto;
    }

    .header.mobile .langWrap strong.on + .langContWrap {
        display:flex;
    }









    .passport {
        padding:160px 30px 0;
    }

    .passport h2 {
        font-size:40px;
        font-weight: 700;
        text-align:center;
    }

    .passport h2 strong {
        display:block;
        color:#ED484A;
    }

    .passport .passport_notication {
        overflow:hidden;
        width:100%;
        margin-top:60px;
        border: 2px solid #E2E2E2;
        border-radius:20px;
    }

    .passport .passport_notication dt {
        display:flex;
        align-items:center;
        padding:26px 30px;
        background: #F9F9F9;
        font-size:28px;
        font-weight:500;
    }

    .passport .passport_notication dd {
        padding:26px 30px;
    }

    .passport .passport_notication li {
        color: #666;
        font-size:24px;
        line-height:1.6;
        word-break: break-all;
    }

    .passport .tip_btn {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        margin-top:40px;
        font-size:26px;
        font-weight: 500;
        text-decoration: underline;
    }

    .passport .tip_btn::before {
        content:'';
        display:block;
        width:32px;
        height:32px;
        margin-right:8px;
        background:url("/resources/front/images/icon_tip.svg") center no-repeat;
        background-size:100%;
    }

    .passport .passport_form {
        margin-top:32px;
        padding-top:30px;
        padding-bottom:160px;
        border-top:2px solid #666;
    }

    .passport .passport_form dl + dl {
        margin-top:30px;
    }

    .passport .passport_form dt {
        width:100%;
        font-size:26px;
        font-weight: 500;
    }

    .passport .passport_form dd {
        width:100%;
        margin-top:20px
    }

    .passport .passport_form dd input,
    .passport .passport_form dd select {
        width:100%;
        padding:27px 24px;
        border: 2px solid #C2C2C2;
        border-radius:8px;
        font-size:26px;
    }

    .passport .passport_form dd div {
        display:flex;
        align-items:center;
        justify-content:space-between;
    }

    .passport .passport_form dd div input {
        width:208px;
    }

    .passport .passport_form dd div input + input {
        margin-left:20px;
    }

    .passport .passport_form dd select::-ms-expand {
        display: none;
    }

    .passport .passport_form dd select {
        -o-appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background:url("/resources/front/images/arrow.svg") right 24px center no-repeat;
        background-size:24px;
    }

    .passport .passport_form dd select:disabled {
        background-color: #F9F9F9;
        color: #999;
    }

    .passport .passport_form dd ul {
        display:flex;
        align-items: flex-start;
        flex-wrap:wrap;
        margin-bottom:30px;
    }

    .passport .passport_form dd ul li {
        width:50%;
        margin-bottom:20px;
        font-size:24px;
    }

    .passport  .radioWrap input[type="radio"] + label::before {
        width:40px;
        height:40px;
    }

    .passport .passport_form button:not(.reload) {
        width:720px;
        height:100px;
        position:fixed;
        bottom:0;
        left:50%;
        background:#222;
        color:#fff;
        font-size:26px;
        transform: translateX(-50%);
    }

    .loading_wrap {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction: column;
        width:100%;
        height:100%;
        position:fixed;
        top:0;
        left:0;
        background:rgba(0,0,0,0.7);
        z-index:10;
        display:none;
    }

    .loading {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction: column;
        width:500px;
        height:500px;
        border-radius:20px;
        background:#fff;
    }

    .loading_container {
        width: 100px;
        height: 100px;
        position: relative;
    }

    /* 개별 직사각형 스타일 */
    .rectangle {
        width: 8px;
        height: 20px;
        background-color: #ED484A;
        position: absolute;
        top: 0;
        left: 50%;
        transform-origin: 50% 40px; /* 원점 조정 */
        animation: rotate 1.2s linear infinite;
    }

    /* 12개의 직사각형을 30도씩 회전 */
    .rectangle:nth-child(1)  { transform: rotate(0deg);  animation-delay: -1.1s; }
    .rectangle:nth-child(2)  { transform: rotate(30deg); animation-delay: -1s;   }
    .rectangle:nth-child(3)  { transform: rotate(60deg); animation-delay: -0.9s; }
    .rectangle:nth-child(4)  { transform: rotate(90deg); animation-delay: -0.8s; }
    .rectangle:nth-child(5)  { transform: rotate(120deg); animation-delay: -0.7s;}
    .rectangle:nth-child(6)  { transform: rotate(150deg); animation-delay: -0.6s;}
    .rectangle:nth-child(7)  { transform: rotate(180deg); animation-delay: -0.5s;}
    .rectangle:nth-child(8)  { transform: rotate(210deg); animation-delay: -0.4s;}
    .rectangle:nth-child(9)  { transform: rotate(240deg); animation-delay: -0.3s;}
    .rectangle:nth-child(10) { transform: rotate(270deg); animation-delay: -0.2s;}
    .rectangle:nth-child(11) { transform: rotate(300deg); animation-delay: -0.1s;}
    .rectangle:nth-child(12) { transform: rotate(330deg); animation-delay: 0s;   }

    /* 애니메이션 정의 */
    @keyframes rotate {
        0% { opacity: 1; }
        100% { opacity: 0; }
    }

    .loading_wrap strong {
        display:block;
        font-size:28px;
        font-weight:500;
        text-align:center;
    }

    .loading_wrap strong span {
        display:block;
        color:#666;
        font-size:24px;
        text-align:center;
    }

    .agree_passport {
        margin-top:40px;
    }
    .agree_passport .chkWrap input[type="checkbox"] + label::before{
        width:40px;
        height:40px;
        margin-right:15px;
        background:url("/resources/front/images/check_default.svg") center no-repeat;
        background-size:100%;
    }

    .agree_passport .chkWrap input[type="checkbox"]:checked + label::before {
        background:url("/resources/front/images/passport_check.png") center no-repeat;
        background-size:100%;
    }

    .agree_passport .chkWrap label {
        font-size:24px;
    }

    .agree_passport_text {
        margin-top:30px;
        padding:0 20px;
        border: 2px solid #E2E2E2;
        background: #F9F9F9;
    }

    .agree_passport_text > div {
        display:none;
        margin-bottom:20px;
        padding:32px 20px;
        background:#fff;
        color:#666;
        font-size:24px;
    }

    .agree_passport_text .text_title {
        display:flex;
        align-items:center;
        width:100%;
        height:74px;
        padding:0;
        color:#666;
        font-size:24px;
        font-weight:500;
    }

    .agree_passport_text .text_title::after {
        content:'';
        display:block;
        width:32px;
        height:32px;
        margin-left:auto;
        background: url("/resources/front/images/ico__arrow_down.png") no-repeat center;
        background-size:100%;
    }

    .agree_passport_text .text_title.on {
        color:#ed484a;
    }

    .agree_passport_text .text_title.on::after {
        background: url("/resources/front/images/ico__arrow_up_on.png") no-repeat center;
        background-size:100%;
    }

    .agree_passport_text strong {
        color:#222;
        font-weight:500;
    }

    .agree_passport_text p {
        word-break: break-all;
    }

    .agree_passport_text table {
        margin-top:3.1vw;
    }

    .agree_passport_text table th,
    .agree_passport_text table td {
        padding:17px;
        border:2px solid #ddd;
        color:#222;
        font-size:22px;
        word-break: break-all;
    }

    .agree_passport_text table th {
        background: #F9F9F9;
        font-size:22px;
        font-weight: 500;
        text-align:left;
    }

    .agree_passport_text table td:last-child {
        color:#ED484A;
        font-weight:500;
    }

    .agree_passport_text ul {
        margin-top:20px;
    }

    .agree_passport_text ul li {
        word-break: break-all;
    }

    .agree_passport_text + .chkWrap {
        margin-top:20px;
    }

    .passport .fin_text {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction: column;
        padding-bottom:160px;
    }

    .passport .fin_text02 {
        display:block;
        margin-top:133px;
        font-size:32px;
        font-weight: 700;
        text-align:center;
    }

    .passport .fin_text02::before {
        content:'';
        display:block;
        width:220px;
        height:220px;
        margin: 0 auto;
        background:url("/resources/front/images/passport_fin_icon.svg") center no-repeat;
        background-size:100%;
    }

    .passport .fin_text span {
        color: #ED484A;
    }

    .passport .fin_text div {
        margin-top:134px;
        padding:30px;
        background: #F9F9F9;
    }

    .passport .fin_text div li {
        padding-left:10px;
        position:relative;
        color: #666;
        font-size:24px;
        line-height:1.6;
        word-break: keep-all;
    }

    .passport .fin_text div li::before {
        content:'';
        display:block;
        width:3px;
        height:3px;
        position:absolute;
        top:18px;
        left:3px;
        border-radius:50%;
        background:#ed484a;
    }

    .passport .fin_text button {
        display:flex;
        align-items:center;
        justify-content:center;
        width:720px;
        height:100px;
        position:fixed;
        bottom:0;
        left:50%;
        background:#222;
        color:#fff;
        font-size:26px;
        transform: translateX(-50%);
    }

    .passport_step {
        display:flex;
        align-items:center;
        justify-content:center;
        margin-top:60px;
    }

    .passport_step li {
        display:flex;
        align-items:center;
        justify-content:center;
        width:46px;
        height:46px;
        position:relative;
        border-radius:100%;
        background:#ddd;
        color:#fff;
        font-size:26px;
        font-weight:500;
    }

    .passport_step li::before {
        content:'';
        display:block;
        width:62px;
        height:2px;
        position:absolute;
        top:50%;
        left:45px;
        background:#E2E2E2;
        transform: translateY(-50%);
    }

    .passport_step li:last-child::before {
        display:none;
    }

    .passport_step li + li {
        margin-left:60px;
    }

    .passport_step li.now {
        border:1px solid #ED484A;
        background:none;
        color:#ED484A;
    }

    .passport_step li.pass {
        border:none;
        background:#ED484A url("/resources/front/images/bul_step.svg") center no-repeat;
        background-size:21px auto;
        text-indent:-9999px;
        font-size:0;
    }

    .step_info_layer {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:100%;
        position:fixed;
        top:0;
        left:0;
        background:rgba(0, 0, 0, 0.6);
        z-index:10;
        display:none;
    }

    .step_info_layer div {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        color:#fff;
        font-size:4.2vw;
        font-weight: 700;
        text-align:center;
    }

    .step_info_layer div img {
        width:44.4vw;
    }

    .step_info_layer div strong {
        display:block;
        margin-top:4.2vw;
    }

    .step_info_layer div span {
        color: #ED484A;
    }


    .step_layer {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:100%;
        position:fixed;
        top:0;
        left:0;
        background:rgba(0, 0, 0, 0.7);
        z-index:10;
        display:none;
    }

    .step_wrap {
        overflow:hidden;
        width:83.3vw;
        border-radius:1.4vw;
        background:#fff;
    }

    .step_header {
        display:flex;
        align-items:center;
        width:100%;
        height:10.4vw;
        padding:0 4.2vw;
        background: #999;
        color:#fff;
        font-size:4.4vw;
    }

    .step_header .close {
        width:3.3vw;
        height:3.3vw;
        margin-left:auto;
        background:url("/resources/front/images/close.svg") center no-repeat;
        background-size:100%;
    }

    .step_container {
        padding:4.2vw;
    }

    .step_container > strong {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:15vw;
        border-radius: 0.8vw;
        background: #23254B;
        color:#fff;
        font-size:3.9vw;
        font-weight:500;
        text-align:center;
    }

    .step_container h5 {
        display:none;
    }

    .step_container .swiper {
        margin-top:2.8vw;
    }

    .step_container .swiper-slide strong {
        margin-top:4.2vw;
        font-size:3.9vw;
        font-weight: 500;
    }

    .step_container .swiper-slide div {
        overflow:hidden;
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        height:31.9vw;
        padding-top:4.2vw;
        border: 1px solid #D2D2D2;
        border-radius: 2.8vw 2.8vw 0px 0px;
        color: #ED484A;
        font-size:3.6vw;
        font-weight: 500;
    }

    .step_container .swiper-slide img {
        display:block;
        width:41.7vw;
        margin-top:4.2vw;
    }

    .step_container .swiper-slide span {
        display:block;
        margin-top:2.8vw;
        font-size:3.3vw;
        font-weight: 400;
        text-align:center;
    }

    .step_container .swiper-button-next,
    .step_container .swiper-button-prev {
        width:8.3vw;
        height:8.3vw;
        margin-top:0;
        top:11.8vw;
        background: #999;
    }

    .step_container .swiper-button-next {
        right:0;
    }

    .step_container .swiper-button-prev {
        left:0;
    }

    .step_container .swiper-button-next svg,
    .step_container .swiper-button-prev svg {
        width:2.2vw;
        height:3.9vw;
    }

    .step_container .swiper-button-next:after,
    .step_container .swiper-button-prev:after {
        font-size:0;
        text-indent:-99999px;
    }

    .step_container .swiper-button-next.swiper-button-disabled,
    .step_container .swiper-button-prev.swiper-button-disabled {
        display:none;
    }

    .step_container .swiper-pagination {
        margin-top:2.8vw;
        position:static;
        color:#666;
        font-size:3.3vw
    }

    .step_container .swiper-pagination-current {
        color: #ED484A;
    }

    .step_container .tip_text {
        margin-top:5.6vw;
        padding:4.2vw;
        background: #F9F9F9;
    }

    .step_container .tip_text dt {
        color: #ED484A;
        font-size:3.6vw;
        font-weight: 500;
    }

    .step_container .tip_text ul {
        margin-top:2.8vw;
    }

    .step_container .tip_text li {
        padding-left:2.1vw;
        position:relative;;
        color:#666;
        font-size:3.3vw;
        line-height:1.6;
    }

    .step_container .tip_text li:first-child {
        color:#ed484a;
    }

    .step_container .tip_text li::before {
        content:'';
        display:block;
        width:3px;
        height:3px;
        position:absolute;
        top:2.1vw;
        left:0;
        border-radius:50%;
        background:#ed484a;
    }

    /* 여권진위여부 안내 팝업 */
    .passport_title {
        display:flex;
        align-items:center;
        margin:60px 0 20px;
    }

    .passport_title h4 {
        padding:0 !important;
    }

    .passport_title .tip_btn {
        display:flex;
        align-items:center;
        height: 46px;
        margin-left:30px;
        padding:0 20px;
        border-radius: 4px;
        background: #ED484A;
        color:#fff;
        font-size: 16px;
        font-weight: 500;
    }

    .passport_title .tip_btn i {
        display:flex;
        width:8px;
        margin-left: 5px;
    }

    .step_layer {
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:100%;
        position:fixed;
        top:0;
        left:0;
        background:rgba(0, 0, 0, 0.7);
        z-index:10;
        display:none;
    }

    .step_wrap {
        overflow:hidden;
        width:900px;
        border-radius:10px;
        background:#fff;
    }

    .step_header {
        display:flex;
        align-items:center;
        width:100%;
        height:60px;
        padding:0 30px !important;
        background: #989898;
    }

    .step_header h4 {
        padding:0 !important;
        color:#fff !important;
        font-size:24px !important;
        font-weight:500 !important;
    }

    .step_header .close {
        width:20px;
        height:20px;
        margin-left:auto;
        background:url("/resources/front/images/close.svg") center no-repeat;
        background-size:100%;
    }

    .step_container {
        overflow-y:auto;
        max-height:790px;
        padding:30px;
    }

    .step_container::-webkit-scrollbar {
        display: none; /* 스크롤바 숨기기 */
    }

    .step_container strong {
        display:block;
        width:100%;
        height:auto;
        padding:16px 0;
        border-radius:6px;
        background: #23254B;
        color:#fff;
        font-size:20px;
        font-weight:500;
        text-align:center;
    }

    .step_container h5 {
        margin-top:30px;
        padding-top:0 !important;
        color:#222 !important;
        font-size:20px !important;
        font-weight:500 !important;
    }

    .step_container .step {
        display:flex;
        align-items:flex-start;
        flex-wrap:wrap;
        gap:20px 36px;
        margin-top:20px;
    }

    .step_container .step li {
        width:256px;
        position:relative;
        text-align:center;
    }

    .step_container .step li::after {
        content:'';
        display:block;
        width:12px;
        height:22px;
        position:absolute;
        top:78px;
        right:-24px;
        background:url("/resources/front/images/step_arrow.svg") center no-repeat;
        background-size:100%;
    }

    .step_container .step li:nth-child(3)::after,
    .step_container .step li:last-child::after {
        display:none;
    }

    .step_container .step li div {
        padding-top:20px;
        border-radius:20px 20px 0 0;
        border: 1px solid #D2D2D2;
        color: #ED484A;
        font-size: 18px;
    }

    .step_container .step li img {
        display:block;
        width:100%;
        margin-top:15px;
    }

    .step_container .step li span {
        display:block;
        margin-top:20px;
        font-weight:400;
        word-break: break-all;
    }

    .step_container .tip_text {
        margin-top:30px;
        padding:20px;
        background: #FAFAFA;
    }

    .step_container .tip_text dt {
        color: #ED484A;
        font-size: 18px;
        font-weight: 500;
    }

    .step_container .tip_text ul {
        margin-top:20px;
    }

    .step_container .tip_text li {
        padding-left:13px;
        position:relative;;
        color:#666;
        font-size:16px;
        line-height:1.6;
    }

    .step_container .tip_text li:first-child {
        color:#ed484a;
    }

    .step_container .tip_text li::before {
        content:'';
        display:block;
        width:3px;
        height:3px;
        position:absolute;
        top:12px;
        left:0;
        border-radius:50%;
        background:#ed484a;
    }

    .step_info_layer {
        display:none !important;
    }

    .passport .passport_notication li.ja {
        display:none;
    }

}