@charset "UTF-8";

html, body {
    background-color: #fff;
}

#login {
    position: relative;
    max-width: 640px;
    margin: 0 auto;
}

#join {
    position: relative;
    max-width: 1200px;
    padding: 0 20px 60px;
    margin: 0 auto;
}

input.login-input {
    display: inline-block;
    height: 60px;
    line-height: 60px;
    padding: 0 30px 0 70px;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 5px;
    font-size: 14px;
}

input.login-input.join-input {
    padding: 0 20px;
}

input.login-input.error {
    border: 1px solid rgba(255,0,0,0.5);
    -moz-box-shadow: 0px 0px 15px rgba(255,0,0,0.3);
    -webkit-box-shadow: 0px 0px 15px rgba(255,0,0,0.3);
    box-shadow: 0px 0px 15px rgba(255,0,0,0.3);
}

input.login-input.complete {
    border: 1px solid rgba(102,204,51,0.5);
    -moz-box-shadow: 0px 0px 15px rgba(102,204,51,0.3);
    -webkit-box-shadow: 0px 0px 15px rgba(102,204,51,0.3);
    box-shadow: 0px 0px 15px rgba(102,204,51,0.3);
}

input.login-input.pw-input {
    padding-right: 50px;
}

select.login-select {
	height: 60px;
	padding: 0 30px 0 30px;
	border: 1px solid rgba(0,0,0,0.1);
	background: #fff url("../images/common/ico_select.png") no-repeat center right;
    border-radius: 4px;
	-webkit-appearance: none;
	-moz-appearance: none;
}

@media screen and (min-width:1139px) {
    #join {
        padding: 0 20px 80px;
    }
}


/* 상단 헤더 */
.login-mark {
    position: relative;
    padding: 50px 30px 0;
    font-size: 0;
    z-index: 1000;
    text-align: center;
}

.login-mark h1 a {
    display: inline-block;
    width: 150px;
    height: 46px;
    margin-bottom: 10px;
}

.login-mark h1 span {
    display: block;
    margin-top: 10px;
    text-transform: uppercase;
    font-family: 'IBMPlexSansKR-Bold';
    font-size: 16px;
}

.login-mark .close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
}

.login-mark .close-btn a {
    display: block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background-color: #212121;
    color: #fff;
    text-align: center;
    font-size: 28px;
    border-radius: 50%;
}

@media screen and (min-width:639px) {
    .login-mark {
        position: relative;
        top: auto;
        left: auto;
        width: 500px;
        padding: 50px 25px 0;
        margin: 0 auto;
        background: rgba(0,0,0,0);
    }

    .login-mark h1 span {
        font-size: 20px;
    }
}

@media screen and (min-width:767px) {
}

@media screen and (min-width:1139px) {
    .login-mark h1 a {
        width: 200px;
    }
}

@media screen and (min-width:1240px) {
}


/* 탭메뉴 */
.tabmnu {
    position: relative;
    padding: 0 30px;
    margin-top: 30px;
    margin-bottom: -20px;
}

.tabmnu ul li {
    width: 50%;
}

.tabmnu ul li a {
    display: block;
    height: 50px;
    line-height: 50px;
    background-color: #f6f6f6;
    text-align: center;
    font-family: 'IBMPlexSansKR-Regular';
    color: #999;
    font-size: 16px;
}

.tabmnu ul li a.current {
    background-color: #316BD4;
    font-family: 'IBMPlexSansKR-Bold';
    color: #fff;
}

@media screen and (min-width:639px) {
    .tabmnu {
        width: 500px;
        margin: 40px auto -10px;
    }
}


/* 로그인 박스 */
#login .login-box {
    padding: 50px 30px;
}

#login .login-box .inputbox > li {
    margin-top: 30px;
}

#login .login-box .inputbox > li:first-child {
    margin-top: 0px;
}

#login .login-box .inputbox li dl dt {
    padding: 0 25px;
    margin-bottom: 10px;
    font-weight: 700;
}

#login .login-box .inputbox li dl dd {
    position: relative;
}

#login .login-box .inputbox li dl dd.join-comment {
    margin-top: 5px;
    font-size: 12px;
    color: #999;
}

#login .login-box .inputbox li dl dd span.ico {
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    line-height: 60px;
    text-align: center;
    font-size: 20px;
    color: #316BD4;
}

#login .login-box .inputbox li dl dd ul.typebox li {
    margin-right: 5px;
}

#login .login-box .inputbox li dl dd ul.typebox li input.type-radio {
    display: none;
}

#login .login-box .inputbox li dl dd ul.typebox li input.type-radio+label {
    display: block;
    height: 60px;
    line-height: 58px;
    padding: 0 30px;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 5px;
}

#login .login-box .inputbox li dl dd ul.typebox li input.type-radio+label span {
    display: inline-block;
    margin-right: 5px;
    font-size: 18px;
    vertical-align: top;
    color: #999;
}

#login .login-box .inputbox li dl dd ul.typebox li input.type-radio:checked+label {
    background-color: #316BD4;
    color: #fff;
}

#login .login-box .inputbox li dl dd ul.typebox li input.type-radio:checked+label span {
    color: #fff;
}

#login .login-box .inputbox li dl dd .pw-toggle-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 20px;
    color: #ccc;
}

#login .login-box .inputbox li dl dd .pw-toggle-btn.view {
    color: #333;
}

#login .login-box .inputbox ul.twoline li {
    width: 49%;
    margin-left: 2%;
}

#login .login-box .inputbox ul.twoline li:first-child {
    margin-left: 0;
}

#login .login-box .remember-me {
    margin-top: 20px;
    padding: 0 25px;
}

#login .login-box .signin-area {
    margin-top: 30px;
}

#login .login-box .signin-area .forget-password-btn {
    display: inline-block;
    width: 100%;
    padding: 10px 0;
    margin: 10px 0;
    color: #316BD4;
    text-align: center;
}

#login .login-box .signup-area {
    margin-top: 15px;
}

#login .login-box .btns {
    height: 60px;
    line-height: 60px;
    border: none;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    border-radius: 5px;
}

#login .login-box .btns.violetLineBtn {
    line-height: 58px;
    border-width: 1px;
}

@media screen and (min-width:639px) {
    #login .login-box {
        width: 500px;
        margin: 0 auto;
    }
}


/* 사업자 회원가입, 소비자 회원가입 */
.join-choice {
    padding-top: 30px;
}

.join-choice h2 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
    text-align: center;
    font-size: 14px;
}

.join-choice h2 em {
    margin-bottom: 10px;
    font-size: 30px;
    font-family: 'IBMPlexSansKR-Bold';
}

.join-choice h2 span {
    color: #666;
}

.join-choice .join-choice-box {
    border: 1px solid rgba(0,0,0,0.1);
}

.join-choice .join-choice-box .jcb {
    padding: 30px;
}

.join-choice .join-choice-box .jcb:not(:first-child) {
    border-top: 1px solid rgba(0,0,0,0.1);
}

.join-choice .join-choice-box .jcb h3 {
    margin-bottom: 10px;
    font-size: 24px;
    font-family: 'IBMPlexSansKR-Bold';
}

.join-choice .join-choice-box .jcb h3 p {
    color: #666;
}

.join-choice .join-choice-box .jcb ul {
    margin-top: 20px;
}

@media screen and (min-width:767px) {
    .join-choice h2 {
        margin-bottom: 50px;
        font-size: 16px;
    }

    .join-choice .join-choice-box {
        display: flex;
        justify-content: center;
        align-items: stretch;
    }

    .join-choice .join-choice-box .jcb {
        position: relative;
        width: 50%;
        padding-bottom: 120px;
    }

    .join-choice .join-choice-box .jcb:not(:first-child) {
        border-top: none;
        border-left: 1px solid rgba(0,0,0,0.1);
    }

    .join-choice .join-choice-box .jcb ul li {
        font-size: 14px;
    }

    .join-choice .join-choice-box .jcb .btn-area {
        position: absolute;
        bottom: 30px;
        left: 0;
        width: 100%;
    }

    .join-choice .join-choice-box .jcb .btn-area .btns {
        width: 200px;
        height: 50px;
        line-height: 48px;
        border-radius: 25px;
        font-size: 16px;
    }
}

@media screen and (min-width:1139px) {
    .join-choice .join-choice-box .jcb {
        padding: 50px 50px 150px;
    }

    .join-choice .join-choice-box .jcb:hover {
        background-color: rgba(0,0,0,0.04);
    }

    .join-choice .join-choice-box .jcb ul li:not(:first-child) {
        margin-top: 5px;
    }

    .join-choice .join-choice-box .jcb .btn-area .btns {
        height: 60px;
        line-height: 56px;
        border-width: 2px;
        border-radius: 30px;
    }

    .join-choice .join-choice-box .jcb .btn-area .btns:hover {
        background-color: #fff;
        color: #143383;
    }
}


/* 회원가입 스텝  */
.join-step-guide {
    position: relative;
    max-width: 800px;
    margin: 20px auto 40px;
}

.join-step-guide .jsg-con {
    position: relative;
    display: none;
    padding: 10px 0;
    margin-bottom: 5px;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 5px;
    text-align: center;
}

.join-step-guide .jsg-con span,
.join-step-guide .jsg-con em {
    display: inline-block;
}

.join-step-guide .jsg-con span {
    font-size: 12px;
    opacity: 0.5;
}

.join-step-guide .jsg-con.active {
    display: block;
    background-color: #212121;
    color: #fff;
}

.join-step-guide .jsg-con.active em {
    font-family: 'IBMPlexSansKR-Bold';
}

@media screen and (min-width:639px) {
    .join-step-guide {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    .join-step-guide .jsg-con {
        display: block;
        width: 19%;
    }

    .join-step-guide .jsg-con span,
    .join-step-guide .jsg-con em {
        display: block;
    }

    .join-step-guide .jsg-con span {
        font-size: 12px;
    }
}

@media screen and (min-width:1139px) {
    .join-step-guide {
        margin-bottom: 60px;
    }
}


/* Step 01. 약관동의 */
.join-agree-area {
    position: relative;
}

.join-agree-area .agreebox {
    margin-top: 40px;
}

.join-agree-area .agreebox:first-child {
    margin-top: 0px !important;
}

.join-agree-area .agreebox h2 {
    margin-bottom: 10px;
    font-size: 18px;
    font-family: 'IBMPlexSansKR-Bold';
}

.join-agree-area .agreebox .agreecon {
    position: relative;
    height: 200px;
    padding: 20px;
    margin: 0 -20px;
    background-color: #f4f4f4;
    font-size: 12px;
    color: #666;
}

.join-agree-area .agreebox .agreecon h3 {
    margin-bottom: 10px;
    font-size: 16px;
    font-family: 'IBMPlexSansKR-Bold';
    color: #333;
}

.join-agree-area .agreebox .agreecon h4 {
    margin-bottom: 10px;
    font-size: 14px;
    font-family: 'IBMPlexSansKR-Medium';
    color: #444;
}

.join-agree-area .agreebox .agreecon .group {
    margin-bottom: 30px;
}

.join-agree-area .agreebox .agreecon .group p {
    margin-bottom: 10px;
}

.join-agree-area .agreebox .agreecon ol {
    padding-left: 20px;
}

.join-agree-area .agreebox .agreecon ol li {
    list-style-type: decimal;
    margin-top: 15px;
}

.join-agree-area .agreebox .agreecon ol li:first-child {
    margin-top: 0 !important;
}

.join-agree-area .agreebox .agreecon .agree-tbl th,
.join-agree-area .agreebox .agreecon .agree-tbl td {
    padding: 10px;
    border: 1px solid #dcdcdc;
    color: #212121;
    font-size: 12px;
}

.join-agree-area .agreebox .agreecon .agree-tbl thead th {
    text-align: center;
    background-color: #fff;
}

.join-agree-area .agreebox .agreecon .big-point {
    font-family: 'IBMPlexSansKR-Bold';
    color: #212121;
    font-size: 14px;
}

.join-agree-area .agreebox .agree-checkarea {
    margin-top: 10px;
}

.join-agree-area .agree-check-ul {
    position: relative;
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #dcdcdc;
}

.join-agree-area .agree-check-ul li {
    margin-top: 10px;
}

.join-agree-area .agree-check-ul li:first-child {
    margin-top: 0px !important;
}

.join-agree-area .agree-check-ul li label b {
    font-family: 'IBMPlexSansKR-Bold';
    color: #212121;
}

#join .btn-area {
    margin-top: 40px;
    text-align: center;
}

#join .btn-area .btns {
    width: 45%;
}

#join .btn-area .btns.whiteBtn {
    color: #999;
}

.authentication-method-choice {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #dcdcdc;
}

.authentication-method-choice h2 {
    margin-bottom: 10px;
    font-size: 18px;
    font-family: 'IBMPlexSansKR-Bold';
}

.authentication-method-choice .amc-guide {
    color: #999;
}

.authentication-method-choice .amc-box {
    margin-top: 30px;
}

.amc-box {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 1%;
}

.amc-box .amc-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 32%;
    padding: 20px 0;
    border: 1px solid #666;
    border-radius: 10px;
}

.amc-box .amc-btn .ico {
    font-size: 24px;
    color: #1bcbea;
}

.amc-box .amc-btn em {
    font-family: 'IBMPlexSansKR-Medium';
}

.amc-box .amc-btn.disabled {
    border-color: #dcdcdc;
    color: #ccc;
    cursor: default;
}

.amc-box .amc-btn.disabled .ico {
    color: #ccc;
}

.amc-box .amc-btn.complete {
    border: 2px solid #145abc;
}

.amc-box .amc-btn.complete .ico,
.amc-box .amc-btn.complete em {
    color: #145abc;
}

@media screen and (min-width:1139px) {
    .join-agree-area .agreebox {
        margin-top: 50px;
    }

    .join-agree-area .agreebox h2 {
        font-size: 20px;
    }

    .join-agree-area .agreebox .agreecon {
        height: 240px;
        line-height: 1.6;
        margin: 0;
        font-size: 14px;
        border-radius: 5px;
    }

    .join-agree-area .agree-check-ul {
        padding-top: 50px;
        margin-top: 50px;
    }

    #join .btn-area {
        max-width: 800px;
        margin: 50px auto 0;
    }

    #join .btn-area .btns {
        height: 60px;
        line-height: 58px;
        font-size: 18px;
        font-family: 'IBMPlexSansKR-Medium';
    }

    .authentication-method-choice {
        padding-top: 50px;
        margin-top: 50px;
    }

    .authentication-method-choice h2 {
        font-size: 20px;
    }

    .amc-box .amc-btn {
        width: 20%;
        padding: 40px 0;
    }

    .amc-box .amc-btn .ico {
        font-size: 50px;
    }
}


/* Step 02. 계좌인증 */
.join-detail .jd-cutbox {
    margin-top: 50px;
}

.join-detail h2.join-tit {
    margin-bottom: 20px;
    font-size: 20px;
}

.join-detail h2.join-tit em,
.join-detail h2.join-tit span {
    display: block;
}

.join-detail h2.join-tit em {
    margin-bottom: 10px;
    font-family: 'IBMPlexSansKR-Bold';
}

.join-detail h2.join-tit span {
    line-height: 1.4;
    font-size: 14px;
    color: #666;
}

.join-detail h3 {
    margin-bottom: 20px;
    font-family: 'IBMPlexSansKR-Bold';
    font-size: 16px;
}

.join-detail .guide-ul {
    padding-left: 20px;
}

.join-detail .guide-ul li {
    list-style-type: disc;
    margin-top: 5px;
}

.join-detail .guide-ul li:first-child {
    margin-top: 0 !important;
}

.join-detail .guide-txt {
    margin-top: 20px;
    font-size: 12px;
    color: #999;
}

.join-detail .user-dl-box {
    margin-top: 20px;
    border-top: 2px solid #212121;
}

.join-detail .user-dl-box ul li {
    width: 100%;
}

.join-detail .user-dl-box dl {
    padding: 10px;
    border-bottom: 1px solid #dcdcdc;
}

.join-detail .user-dl-box dl dt {
    margin-bottom: 10px;
}

.join-detail .user-dl-box dl.sex .basic-select {
    margin-top: 5px;
}

.join-detail .user-dl-box dl.bank-number .basic-input {
    width: 100%;
}

.join-detail .user-dl-box p.input-guide {
    color: #666;
    margin-top: 5px;
}

.join-detail .user-dl-box .certify-choice {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
}

.join-detail .user-dl-box .certify-choice .certify-choice-btn {
    all: unset;
    display: block;
    height: 36px;
    line-height: 34px;
    padding: 0 20px;
    border: 1px solid rgba(0,0,0,0.1);
    background-color: #fafafa;
    color: #666;
    border-radius: 18px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.04);
}

.join-detail .user-dl-box .certify-choice .certify-choice-btn.active {
    background-color: #118E93;
    color: #fff;
    font-weight: 500;
}

.join-detail .search-answer {
    display: inline-block;
    padding: 5px 10px;
    margin: 3px;
    border: 1px solid #dcdcdc;
    background-color: #f1f1f1;
    font-size: 12px;
    border-radius: 4px;
}

@media screen and (min-width:639px) {
    .join-detail .user-dl-box dl {
        display: table;
        width: 100%;
        padding: 0;
    }

    .join-detail .user-dl-box dl dt,
    .join-detail .user-dl-box dl dd {
        display: table-cell;
        padding: 10px 20px;
        vertical-align: middle;
    }

    .join-detail .user-dl-box dl dt {
        width: 100px;
        background-color: #f4f4f4;
        margin-bottom: 0;
        color: #000;
        text-align: center;
    }
}

@media screen and (min-width:767px) {
    .join-detail h2.join-tit {
        padding-bottom: 40px;
        margin-bottom: 40px;
        border-bottom: 1px solid #dcdcdc;
        font-size: 30px;
    }
    
    .join-detail h2.join-tit span {
        font-size: 16px;
    }

    .join-detail h3 {
        margin-bottom: 10px;
        font-size: 18px;
    }
    
    .join-detail .guide-txt {
        line-height: 1.6;
        font-size: 14px;
    }

    .join-detail .user-dl-box {
        margin-top: 30px;
    }

    .join-detail .user-dl-box dl dt,
    .join-detail .user-dl-box dl dd {
        padding: 20px;
    }

    .join-detail .user-dl-box dl dt {
        width: 150px;
    }

    .join-detail .user-dl-box dl.sex br {
        display: none;
    }

    .join-detail .user-dl-box dl.sex .basic-select {
        margin-top: 0px;
        margin-left: 20px;
    }

    .join-detail .user-dl-box dl.bank-number .basic-input {
        width: 400px;
    }

    .join-detail .jd-cutbox .user-dl-box dl dt {
        width: 200px;
    }
}

@media screen and (min-width:1139px) {
    .join-detail h3 {
        font-size: 20px;
    }

    .join-detail .user-dl-box ul li {
        width: 50%;
    }
}