@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body{
    font-size: 16px;
    font-family: 'Pretendard', sans-serif;

    padding:0;
    margin:0;
    height:100vh;
    word-break: keep-all;
    color: #111;
}

/* input 기본 스타일 초기화 */
input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

input {
    background: none;       /* 배경 제거 */
    border: none;           /* 테두리 제거 */
    outline: none;          /* 포커스 시 아웃라인 제거 */
    box-shadow: none;       /* 박스 그림자 제거 */
    padding: 0;             /* 내부 패딩 제거 */
    margin: 0;              /* 외부 여백 제거 */
    font-family: inherit;   /* 폰트 스타일 상속받기 */
    font-size: inherit;     /* 폰트 크기 상속받기 */
    color: inherit;         /* 폰트 색상 상속받기 */
    /* 추가적인 스타일 리셋이 필요하다면 여기에 추가 */
}

/* IE10 이상에서 input box 에 추가된 지우기 버튼 제거 */
input::-ms-clear { display: none; }

/* input type number 에서 화살표 제거 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* Select box 스타일 초기화 */ 
select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* IE 에서 Select box 화살표 제거 */ 
select::-ms-expand { display: none; }

button  {
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
}


.header-container img{
    width: 1.5rem;
}   

.header-close, .header-back{
    padding: 1rem;  
    cursor: pointer;
    flex: none;
}
.header{
    background: white;
    position: sticky;
    top: 0;
    min-height: 3.5rem;
    
    overflow: hidden;
    z-index: 2;
}
.header-container{
    display: flex;
    justify-content: center;
    align-items: center;    
}

.header-title{    
    
    font-size: 1.125rem;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.44;
    letter-spacing: -0.54px;
    text-align: center;
    color: #111;
    flex : 1;

}

.content{
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
}

.font13{
    font-size: 0.8125rem;
}

.font14{
    font-size: 0.875rem;
}

.font28{
    1.75rem;
}

.txt-big{
    margin: 0 1rem;
    height: 4.5rem;
    flex-grow: 1;
    font-size: 1.75rem;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.29;
    letter-spacing: -0.84px;
    text-align: left;
    color: #111;
    word-break: keep-all;
}

.know-more{
    height: 1.25rem;
    flex-grow: 0;
    font-size: 1.125rem;
    font-weight: 500;    
    color: #751485;
    display: flex;
    margin: 2.5rem 1rem 0;        
    align-items: center;    
    cursor: pointer;
}
.know-more img{
    margin-left: 4px;
    height: 100%;
}

.main-img-wrap{
    margin-top: 7.75rem;
    display: flex;
    width: 100vw;
    align-items: center;   
    justify-content: center;
}
.main-img{
    height: 13.75rem;
}

.check-img{
    width: 1.25rem;
    height: 1.25rem;
    border: solid 1px #e5e5ea;
    background-color: rgba(116, 116, 128, 0.08);
    border-radius: 10rem;
}

.checkbox-wrap img{
    width: 3.5rem;
    cursor: pointer;
    padding: 1rem;
}
.check-img-wrap{
    width: 2.5rem;
    cursor: pointer;
    padding-left: 1rem;
}

.checkbox-wrap{
    margin-top: 4.125rem;
      
    height: 3rem;
    flex-grow: 0;
    font-size: 1rem;
    font-weight: 500;    
    text-align: left;
    color: #111;
    display: flex;
    align-items: center;    
}
.checkbox-wrap{
    flex: 1;
}
.checkbox-label{
    margin-left: 0.5rem;
}
.checkbox{
    
}

.checkbox-next{
    margin-left: auto;
}

.button-wrap{
    padding: 1rem;
}
.button-disabled{
    align-self: stretch;
    width: 100%;
    border-radius: 8px;
    background-color: #c7c7cc;
    cursor: pointer;
    height: 3rem;
    
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: center;
    color: rgba(60, 60, 67, 0.5);
}

.button-normal{
    
}

.button-active{
    align-self: stretch;
    width: 100%;
    border-radius: 8px;
    background-color: #751485;
    cursor: pointer;
    height: 3rem;
    
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: center;
    color: #fff;
}
.center{
    display: flex;
    justify-content: center;
    align-items: center;    
}
.center-h{
    display: flex;
    justify-content: center;
}
.center-v{
    display: flex;
    align-items: center;
}
.main-later{
    height: 1.5rem;
    flex-grow: 0;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: right;
    color: #3f3f3f;
    cursor:pointer;
    border-bottom: 1px solid black;
    margin: 1rem;
}

.bottom{
    margin-top: auto;

}


.page-step-01{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.page-step-02{
    display: flex;
    flex-direction: column;    
    height: 100%;
}
.page-nation{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.page-cust-info{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.page-terms{
    display: flex;
    flex-direction: column;
    height: 100%;
}

.dimm{
    z-index: 90;
    position: fixed;
    top: 0;
    bottom: 0;
    left : 0;
    right: 0;
    
    background-color: rgba(0, 0, 0, 0.6);
    padding: 0 2.5rem;
}
.dialog{
    width: 80%;
    border-radius: 8px;
    max-width: 40rem;
    z-index: 99;
    background: white;    
    padding: 1rem;
}

.dialog-content{
    
    font-weight: 500;
    line-height: 1.5;
    color: #111;

}

.btn-wrap{
    margin-top: 1.5rem;
    display: flex;
    width: 100%;
}


.btn-wrap > *:not(:last-child) {
    margin-right: 0.5rem; 
}

.btn-wrap2{
    margin-top: .5rem;
    display: flex;
    width: 100%;
}


.btn-wrap2 > *:not(:last-child) {
    margin-right: 0.5rem; 
}

.btn-cancel{
    height: 2.5rem;
    flex: 1;
    border-radius: 8px;
    background-color: #e5e5ea;
    font-weight: 500;
    text-align: center;
    color: rgba(60, 60, 67, 0.6);

}
.btn-accept{
    height: 2.5rem;
    flex: 1;
    border-radius: 8px;
    background-color: #751485;
    font-weight: 500;
    text-align: center;
    color: #fff;
}

.btn-ok{
    height: 2.5rem;
    flex: 1;
    border-radius: 8px;
    background-color: #00479d;
    font-weight: 500;
    text-align: center;
    color: #fff;
}

.terms-content{
    padding: 1.5rem 1rem;
    flex: 1;
    color: #111;
}
.terms-title{
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #111;    
}


.divider-2{
    height: 2px;
    align-self: stretch;
    flex-grow: 0;
    border-radius: 2px;
    background-color: #f1f3f9;
    margin: 2rem 0;
}

.divider-thick{
    height: .5rem;
    
    background-color: #f2f2f7;
    margin: 1.25rem 0;
}

.cust-info-wrap{
    padding: 1.25rem 1rem;
}
.cust-info-sub-title{
    font-size: 1.125rem;
    font-weight: 600;
    color: #111;
    margin-bottom: 1rem;
    
}

.cust-info-content{
    font-size: 0.875rem;
    color: #5f5f5f;
    
}  
 
.input-wrap{
    padding: 0.75rem 1rem;
}

.input-label-big{
    color: #00479d;
    font-weight: 800;
    height: 1.5rem;        
    font-size: 1rem;
}

.input-label{
    height: 1.5rem;    
    color: #111;
    font-size: 0.875rem;
}

.input-common{
    height: 3rem;
    padding: 0 1rem;
    border-radius: .5rem;
    width: 100%;
    margin-top: .5rem;
    border: solid 1px #ebebeb;
    background-color: #fff;

}
input::placeholder {
  color: rgba(60, 60, 67, 0.3);
}
input:disabled::placeholder {
  color: rgba(60, 60, 67, 0.3);
}

.input-common:disabled{
    border: solid 1px #f2f2f7;
    background-color: #f2f2f7;
    opacity: 1;
}
.input-btn{
    border: solid 1px #f2f2f7;
    background-color: #f2f2f7;
}

.input-hint{
    margin-top: .25rem;
    font-size: .8125rem;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.54;
    letter-spacing: normal;
    text-align: left;
    color: rgba(60, 60, 67, 0.6);
}
.input-click-img{

}

.input-click-img2{

}
.input-click{

}

.btn-address-search{
    width: 5rem;
    height: 3rem;
    font-size: 0.875rem;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.71;
    letter-spacing: normal;
    text-align: center;
    color: #fff;
    border-radius: .5rem;
    background-color: #5f5f5f;
    margin: .5rem 0 0 .5rem;
    flex: none;
}
.place-holder{
    color: rgba(60, 60, 67, 0.3);
}

.btn-top-m{
    margin-top: 2.375rem;
}

.btn-radio{

}

.button-style {
    /* 버튼처럼 보이도록 스타일링 */
    border-radius: 8px;
    border: solid 1px #e5e5ea;
    background-color: #fff;
    cursor: pointer;
    width: 100%;
    height: 3rem;
}

input[type="radio"] {
    display: none; /* 실제 라디오 버튼 숨기기 */
}

.button-style:hover {
    background-color: #e0e0e0;
}

input[type="radio"]:checked + label{
    background-color: #751485;
    color: white;
    font-weight: 500;
    border-color: #751485;

}

.input-icon{
    margin-left: auto;    
}

.input-icon img{
    width: 1.25rem;
    height: 1.25rem;
}

// 숨길 때
.hide{
    display: none;   
}

.address-upper{
    display: flex;
}

.header-bottom{
    padding: 0.625rem 1rem;
}

.search-container{
    display: flex;    
    

    gap: .5rem;
    border-radius: 1.25rem;
    background-color: #f2f2f7;
    height: 2.25rem;
}



.input-search{
    background-color: #f2f2f7!important;
    height: 100%;
    border-radius: 3rem;
    position: absolute;   
    top:0;
    left:0;
    right:0;
    bottom:0;
    padding-left: 2rem!important;
}
.search-icon{
    
    position: absolute;
    left: .5rem;
    top: .5rem;
    bottom: 0;
    
    
    z-index: 2;
}

.nation-list-wrap li{
    height: 3rem;
    padding: 1rem;
    display: flex;    
    align-items: center;
}

.input-container{
    position: relative;
    display: inline-block;
    padding: 0.1rem!important;
    width:100%;
    background: #EBEBF0;
}
.input-container img{
    height: 1.25rem;
    width: 1.25rem;
}

.input-container input[type="text"]{
    padding-right: 1rem;
    height: 100%;
    width: 100%;
    padding-left: 0.9rem;
    background: #EBEBF0;
}

.clear-icon {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    /* 아이콘 스타일링 */
    display: none;
}

.arrow-icon {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    /* 아이콘 스타일링 */
}

.mt05{
    margin-top: .5rem;
}

.dimm-bottom{
    z-index: 90;
    position: fixed;
    top: 0;
    bottom: 0;
    left : 0;
    right: 0;
    display: flex;
    background-color: rgba(0, 0, 0, 0.6);
    padding-top: 5rem;
    align-items: end;
}
.bottom-select-wrap{
    background: white;
    width: 100%;
    border-radius: 1rem 1rem 0 0;
    max-height: 80%;
    display: flex;
    flex-direction: column;
}
.bottom-select-header{
    height: 2.5rem;
}

.bottom-header-container img{
    width: 1.5rem;
    cursor: pointer;
}

.bottom-header-close, .bottom-header-back{
    padding: 1rem;
    flex: none;
}


.bottom-header-title{    
    font-size: 1.125rem;
    font-weight: bold;
    text-align: center;
    color: #111;
    flex : 1;
}

.bottom-header-container{
    height: 2.5rem;
    flex: none;
    overflow: hidden;
}
.bottom-select-container {
    margin-top: 0.75rem;
    overflow-y: scroll;    
    height: 100%;
}

.bottom-select-container li{
    height: 3.5rem;
    padding: 1rem;
    
}

.addr-wrap{
    z-index: 99;
    position: fixed;
    top: 0;
    bottom: 0;
    left : 0;
    right: 0;
    display: none;
    flex-direction: column;
    background-color: rgba(0, 0, 0, 0.6);
    
}

.addr-container {
    display: flex;
}
.addr-header{
    display: flex;
    align-items: end;
    justify-content: end;
    background: white;
    width: 100%;
}

.addr-close img{
    width: 3.5rem;
    height: 3.5rem;
    padding: 1rem;
}

#postLayer {
    height: 100%;
}

.svg {
    color:red;
	fill: currentColor;
}

.logo-img-wrap{
    padding: 2.5rem 0;        
}

.logo-img-wrap img{
    width: 55%;
    max-width: 30rem;
}

.terms-list-top-wrap {
}
.terms-list-top-wrap > div{
    display: flex;
    height: 3rem;
    padding: 0 1rem;    
}

.terms-list-wrap {
    margin-bottom: 6rem;
}
.terms-list-wrap > div{
    display: flex;
    height: 3rem;
    padding: 0 1rem;    
}

.primary-color{
    color: #00479d;
}

.primary-background{
    background: #00479d;
}
.right{
    margin-left: auto;
}

.flex{
    display: flex;
    
}

.bold{
    font-size: 1.125rem;
    font-weight: bold;
}


.checkbox{
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
    .check-wrap label {        
        display: inline-block;
        cursor: pointer;
        width: 1.5rem;
        height: 1.5rem;
        margin: 0.125rem;
        background-color: #E0DFE1;
        border-radius: 10rem;
        background-position: center;
        background-size: 100% 100%;        
        border: 1px solid #D0D0D7
    }

    .checkbox:checked + label {
        background-image: url('img/check.png');
    }

    .checkbox:checked + label {
        background-color: #00479d;
        background-image: url('img/check.png');
        background-repeat: no-repeat; 
        background-position: center; 
        border:0px;
    }
.checkbox-text{
    margin-left: .5rem;    
    display: flex;
    align-items: center;
}    

.medium{
    font-weight: 500;
}

.img-arrow{
    width: 1.25rem;
    height: 1.25rem;
}
.btn-arrow{
    cursor: pointer;
    display: flex;
    align-items: center;
}

.bottom-btn-wrap{
    padding: 0.75rem 1rem 1.5rem 1rem;
    position: fixed;
    bottom:0;
    left:0;
    right:0;
    background: white;
}

.btn-confirm{
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;    
    height: 3rem;
    background: #00479d;
    width: 100%;
    border-radius: 8px;
}
.btn-confirm:disabled{
    background: #BBBBC1;
    color: rgba(60, 60, 67, 0.5);
}

.terms-wrap{
    padding: 1.5rem 1rem;
    font-weight: 500;
}

.terms-number{
    height: 100%;
    width: 2rem;
    display: flex;
    align-items:start;
    justify-content: center;
    
}
.terms-right{
    width: 100%;
}

.mypage-list-wrap > div{
    display: flex;
    padding: 1rem;
}
.mypage-menu-label {
    height: 1.5rem;
    font-weight: 500;
}
.mypage-menu-sub {
    height: 24px;
  align-self: stretch;
  flex-grow: 0;
  font-size: 14px;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: normal;
  text-align: left;
  color: rgba(60, 60, 67, 0.6);
}

.ars-label{
    font-size: 1.125rem;
    font-weight: bold;
    width: 100%;
    text-align: center;
    margin-top: 1.5rem;
    
}

.img-ars-wrap{
    width:100%;
    
}
.img-ars{
    margin-top: 2.5rem;
    margin-bottom: 1.5rem;
    width: 60%;
    max-width: 25rem;
}

.phone-number-txt{
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
}

.ars-sub{
    font-weight: 500;
    color: rgba(60, 60, 67, 0.6);
    text-align: center;
    margin-top: 1.5rem;
}

.ars-re{
    color: #00479d;
    width: 5rem;
    height: 3rem;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 500;
    text-decoration: underline;
    margin: 5rem 0;
}
.ars-complete-wrap{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 80vh;
}
.ars-complete-img-wrap{
    background-color: #00479d;
        background-image: url('img/check.png');
        background-repeat: no-repeat; 
        background-position: center; 
        border-radius: 10rem;
        background-position: center;
        background-size: 100% 100%; 
        width: 5rem;
        height: 5rem;
}

.ars-complete-txt{
    text-align: center;
    margin-top: 1.5rem;
    font-size: 1.5rem;
    font-weight: bold;
}
.ars-complete-sub{
    font-weight: 500;
    color: rgba(60, 60, 67, 0.6);
    text-align: center;
    margin-top: 1rem;
}
.payment-list-wrap{
    margin-bottom: 8rem;
}
.payment-list-wrap > li{
    height: 5.5rem;
}
.payment-item{
    display: flex;
    padding: 1rem;
}

.payment-item-top{
    display:flex;
}
.payment-item-left div{
    display: flex;
    gap: .25rem;
    font-weight: 500;
    height: 1.625rem;
}

.payment-item .icon-del{
    width: 1.5rem;
    height: 1.5rem;   
    cursor: pointer;
}

.payment-item .icon-bank{
    width: 1.5rem;
    height: 1.5rem;   
    padding: .125rem;
}

.payment-item-add-btn{
    border: 1px solid #00479d;
    height: 3rem;
    color: #00479d;
    display: flex;
    justify-content: center;
    align-items: center;    
    background: white;
    width: 100%;
    border-radius: 8px;
    font-weight: 500;
    gap: .5rem;
}

.payment-item-account{
    color: rgba(60, 60, 67, 0.6);
    display: flex;
    align-items: center;
}

.verify-check-wrap{
    display: flex;
    height: 3rem;
    align-items: center;
    padding: 0 1rem;
    font-weight: bold;   
}

.terms-text{
    font-size: 0.875rem;
    font-weight: 500;
    display: flex;
    align-items: center;    
}

.verify-input-wrap{
    padding: 0 1rem;
    margin-bottom: 5rem;
}

.verify-input-wrap > div {
    height: 6.5rem;
}

.verify-input-gap{
    display: flex;
    gap:.5rem;
}

.verify-input-toggle-wrap{
    display: flex;
    overflow: hidden;
    align-items: end;
    width: 7.5rem;
    flex: none;
    
}

.verify-input-toggle-wrap input{
    position: absolute !important;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	width: 1px;
	border: 0;
	overflow: hidden;
}

.verify-input-toggle-wrap label{
    height: 3rem;
    width: 3.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: white;
	color: rgba(0, 0, 0, 0.6);
	font-size: 0.875rem;
	line-height: 1;
	text-align: center;
    border: solid 1px #D0D0D7;
    cursor: pointer;
}

.verify-input-toggle-wrap input:checked + label {
	background-color: #00479d;
    border: solid 1px #00479d;
	box-shadow: none;
    
}

.verify-input-toggle-wrap label:first-of-type {
	border-radius: 8px 0 0 8px;
}

.verify-input-toggle-wrap label:last-of-type {
	border-radius: 0 8px 8px 0;
}

.cell-company-wrap{
    width: 6.875rem;
    flex: none;
}

.cell-company-wrap-txt{
    padding-left: .5rem;
    display: flex;
    align-items: center;
    height: 100%;
}

.arrow-bottom-icon {
    position: absolute;
    right: .5rem;
    top: 30%;
    cursor: pointer;    
    transform: rotate( 90deg );
}

.cell-no-wrap{
    margin-left: .5rem;
    width: 100%;
}

.verify-btn-wrap{
    width: 3.75rem;
    display: flex;
    align-items: end;
}

.verify-btn-wrap button{
    background: #000;
    color: white;
    line-height: 1rem;
    height: 3rem;
    width: 100%;
    border-radius: 8px;
    flex: none;
}

.verify-btn-wrap button:disabled{
    background: #87878b;
}

.bottom-keypad-wrap{
    height: 16.875rem;
    color: white;
    background: #00479d;
    background: green;

    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
}

.bottom-keypad-wrap div{
    display:flex;
    align-items: center;
    justify-content: center;
}

.bottom-keypad-top{
    height: 2.5rem;
    font-size: 0.875rem;
    font-weithe: 500;
}

.bottom-keypad-items{
    width: 100%;
    display: grid!important;
    grid-template-columns: 1fr 1fr 1fr 1fr; /* 4개의 열, 각각 같은 크기 */

}

.bottom-keypad-key{
    display: flex;
    flex: 1;
    cursor: pointer;
    font-weithe: 500;
    font-size: 1.125rem;
    height: 4.5rem;
}

.bottom-keypad-key img{
    width: 2rem;
    height: 2rem;
}

.circle-wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .75rem;
    margin-top: 3rem;
}

.circle {
      width: 1.25rem;
  height: 1.25rem;
  flex-grow: 0;
  object-fit: contain;
  background-color: #e6e6e6;
  border-radius: 20rem;
}

.circle-active {
      width: 1.25rem;
  height: 1.25rem;
  flex-grow: 0;
  object-fit: contain;
  background: #00479d;
  border-radius: 20rem;
}

.password-comment{
    margin-top: 10vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.verify-timer{
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    /* 아이콘 스타일링 */
    color:red;
}

    .bank-list{
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .bank-list li{
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: rgba(60, 60, 67, 0.6);
      height: 7.5rem;
      font-size: 0.875rem;
      cursor: pointer;
    }

    .bank-list img{
      width: 3rem;
      height: 3rem;
    }

    .bank-list p{
      margin-top: .5rem;
    }