@import url('https://webfontworld.github.io/pretendard/Pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500&display=swap');


/* 온모바일 폰트 */
@font-face {
  font-family: 'OneMobile';
  font-weight: 300;
  font-style: normal;
  src: url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileLight.eot');
  src: url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileLight.eot?#iefix') format('embedded-opentype'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileLight.woff2') format('woff2'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileLight.woff') format('woff'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileLight.ttf') format("truetype");
  font-display: swap;
}
@font-face {
  font-family: 'OneMobile';
  font-weight: 500;
  font-style: normal;
  src: url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileRegular.eot');
  src: url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileRegular.eot?#iefix') format('embedded-opentype'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileRegular.woff2') format('woff2'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileRegular.woff') format('woff'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileRegular.ttf') format("truetype");
  font-display: swap;
}
@font-face {
  font-family: 'OneMobile';
  font-weight: 700;
  font-style: normal;
  src: url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileBold.eot');
  src: url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileBold.eot?#iefix') format('embedded-opentype'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileBold.woff2') format('woff2'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileBold.woff') format('woff'),
      url('https://cdn.jsdelivr.net/gh/webfontworld/onestore/OneMobileBold.ttf') format("truetype");
  font-display: swap;
}



:not(.full-list *){
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
    text-decoration: none;
    color: #111111;
    letter-spacing: -0.04em;
    font-size: 16px;
    font-family: 'Pretendard';
    font-weight: 400;
}
html,body{
    margin: 0 auto;
    /* width: 1920px; */
}
body{
  overflow-x: hidden;
  min-width: 1200px;
}
body.active, body.scrollDisable{
  overflow: hidden;
}
body::-webkit-scrollbar{
  width: 0;
}
/* body::-webkit-scrollbar-thumb{
  background-color: #aaa;
  border-radius: 10px;
  background-clip: padding-box;
  border: 2px solid transparent;
}
body::-webkit-scrollbar-track{
  background-color: #f9f9f9;
  border-radius: 0;
} */

ul,li{
    list-style: none;
}
a{
    color: inherit;
}
table{
    border-collapse: collapse;
}
button{
  background: inherit;
}
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="text"],
input[type="date"],
input[type="number"] {
  font-weight: 500;
  border: 1px solid #a7a7a7;
  border-radius: 4px;
}
input::placeholder, textarea::placeholder{
  color: #c7c7c7;
}
input[type="text"]:disabled{
  background: #ddd;
}
input[type="text"]:focus,
input[type="date"]:focus,
input[type="number"]:focus,
input[type="password"]:focus{
  outline: none;
  border-radius: 4px;
  border: 1px solid #014099 ;
}
input[type="checkbox"],
input[type="radio"]{
  accent-color: #014099;
  width: 16px;
  height: 16px;
}
textarea{
  text-align: left;
  resize: none;
  outline: none;
  border: none;
  height: auto;
  border: 1px solid #a7a7a7;
}
textarea:disabled{
  background: inherit;
}
textarea::-webkit-scrollbar{
  display: none;
}
.right-input{
  background: #F1F3F8 !important;
  border: 1px solid transparent !important;
}
.right-input:focus{
  border: 1px solid #014099 !important;
  background: #fff !important;
}

/* header */
.top-logjoin{
    background: #F6F6F6;
    height: 40px;
    max-width: 1920px;
}
.top-logjoin>.right-lj{
    display: flex;
    justify-content: flex-end;
    padding: 0 260px;
    height: 100%;
    align-items: center;
    gap: 20px;
    white-space: nowrap;
}
.right-lj>a,
.right-lj>span,
.right-lj button{
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.right-lj>span{
	cursor: default
}

header{
    z-index: 100;
    height: 80px;
    width: 100%;
    position: relative;
    transition: 0.3s ease top;
}   
.head-inner{
    height:100%;
    display: flex;
    justify-content: space-between;
    padding: 0 260px;
    flex-wrap:nowrap;
    background: #fff;
    border-bottom: 1px solid #eee;
}

.head-inner .hd-logo{
    display: block;
    width: 200px;
    position: relative;
    flex-shrink:0;

}
.hd-logo>.blackOn{
    background: url(../images/logo-black.png) center no-repeat ;
    background-size: 100%;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 1;
    visibility: visible;
}
.hd-logo.active>.blackOn{
  opacity: 0;
  visibility: hidden;
}

.hd-logo>.whiteOn{
  z-index: 150;
  background: url(../images/logo-white.png) center no-repeat ;
  background-size: 100%;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  transition: all .3s;

}
.hd-logo.active>.whiteOn{
  opacity: 1;
  visibility: visible;
}
nav>.gnb{
    display: flex;
    justify-content: center;
    height: 80px;
    position: relative;
    z-index: 100;
    overflow: hidden;
    transition: all .3s ease-in-out;
}
.gnb>.gnb-menu{
    position: relative;
    white-space: nowrap;
    height: 100%;
}
.gnb>.gnb-menu>a{
    font-size: 20px;
    height: 80px;
    line-height: 80px;
    margin: 0 45px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    position: relative;
    display: block;
}
header.on .gnb-menu>a{
    color: #1E1E1E;
}
.gnb>.gnb-menu>a:after,
.gnb>.gnb-menu.on>a::after{
    content: "";
    position: absolute;
    height: 3px;
    width: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #014099;
    transition: 0.3s ease;

}
.gnb>.gnb-menu.on>a{
    color: #014099;
}

.gnb>.gnb-menu>a:hover{
    color: #014099;
}
.gnb>.gnb-menu.on>a::after,
.gnb>.gnb-menu>a:hover::after{
    width: 100%;
}

.sub-menu{
    text-align: center;
    opacity: 1;
    /* transition: all .2s ease-in-out;
    transition-delay: 0.5s; */
    height: 205px;
    display: block;
}
.sub-menu>li{
  display: none;
}
header.on .sub-menu>li{
  display: block;
}
/* .sub-menu>li>a{
  display: none;
  transition-delay: 0.5s;
} */
header.on .sub-menu>li>a{
   display: block;
}

.sub-menu>li{
    padding: 8px 0;
}
.sub-menu>li>a{
    font-weight: 500;
    color: #707070;
}
.sub-menu>li>a:hover{
    color: #014099;
}
.sub-menu>li:first-child{
    padding: 24px 0 8px 0;
}
.navigation-bg{
    position: absolute;
    z-index: 99;
    top: 80px;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 0;
    background: #fff;
    opacity: 0;
    transition: all .3s ease-in-out;
    box-shadow: 2px 5px 6px rgba(0,0,0, .05);
}
.navigation-bg.on{
    height: 205px;
    opacity: 1;

}
/* header css 끝*/


/* 햄버거 버튼 애니메이션*/
.hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    position: relative;
    padding: 4px 0;
    width:32px;
    z-index: 150;
  }
  #hamburger.on>span{
    background: #fff;
  } 
  
#hamburger span{
  position: relative;
  display:block;
  width: 100%;
  height: 2px;
  top: 0;
  left: 50%;
  border-radius: 2px;
  overflow: hidden;
  transition: all 0.3s linear;
  background:#000;
}
#hamburger.on span{
  width:28px;
}
#hamburger span:nth-child(1){
  animation: span-first-off 0.5s ease-in-out;
    animation-fill-mode: forwards;
}
#hamburger span:nth-child(2){
  animation: span-second-off 0.5s ease-in-out;
    animation-fill-mode: forwards;
}
#hamburger span:nth-child(3){
  animation: span-third-off 0.5s ease-in-out;
    animation-fill-mode: forwards;
}
#hamburger.on span:nth-child(1){
animation: span-first-on 0.5s ease-in-out;
  animation-fill-mode: forwards;
}
#hamburger.on span:nth-child(2){
  animation: span-second-on 0.5s ease-in-out;
  animation-fill-mode: forwards;
}
#hamburger.on span:nth-child(3){
  animation: span-third-on 0.5s ease-in-out;
  animation-fill-mode: forwards;
}


 @keyframes span-first-on {
  0% {
    transform: translate(-50%, -300%);
  }
  30% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%,-50%) rotate(-45deg);
  }
}

@keyframes span-first-off {
  0% {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  30% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -400%);
  }
}

@keyframes span-second-on {
  0% {
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    transform: translate(-150%, -50%) scale(0);
  }
}

@keyframes span-second-off {
  0% {
    transform: translate(-150%, -50%) scale(0);
  }
  25% {
    background: gray;
  }
  50% {
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes span-third-on {
  0% {
    transform: translate(-50%, 200%);
  }
  30% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%, -230%) rotate(45deg);
  }
}

@keyframes span-third-off {
  0% {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  30% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, 300%);
  }
}

/* 햄버거 버튼 애니메이션* 끝/

/* 사이트맵 */
.map-full{
    position: fixed;
    z-index: 120;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgb(81,137,250);
    background: linear-gradient(90deg, rgba(81,137,250,1) 0%, rgba(154,216,255,1) 80%);
    /* display: none; */
    transform: translateY(-100%);
    visibility: hidden;
    transition: all .4s;
}
.map-full.active{
  transform: translateY(0);
  visibility: visible;
}
.site-map{
    display: flex;
    height: 100%;
    column-gap: 92px;
    width: 1400px;
    margin: 0 auto;
}
.left-map{
    display: flex;
    align-items: center;
}
.left-map .sitemap-tit{
    font-family: 'LeferiBase';
    font-size: 80px;
    opacity: 0.25;
    font-weight: bold;
    color: #fff;
    white-space: nowrap;
    display: flex;
    height: 680px;
    align-items: flex-end;
    padding-bottom: 160px;
}
.left-map .sitemap-img{
    position: absolute;
    height: 680px;
    display: flex;
    align-items: flex-end;
}
.left-map .sitemap-img>span{
    background: url(../images/sitemap-img.png) center/contain no-repeat;
    display: inline-block;
    width: 313px;
    height: 204px;
    position: absolute;
    left: 0;
}
.map-menulist{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;

}
.map-menulist>li{
    display: flex;
    align-items: center;
    padding: 42px 0;
    border-bottom: 1px solid #F4F8FD;
    width: 100%;
}
.map-menulist>li h1{
    font-size: 44px;
    font-weight: 700;
    color: #fff;
    width: 266px;
    white-space: nowrap;
}
.map-menulist .map-submenu{
    display: flex;
    gap: 40px;
}
.map-menulist .map-submenu>a{
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    opacity: 0.7;
    transition: all .2s;
    position: relative;
    white-space: nowrap;
}
.map-menulist .map-submenu>a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: #fff;
    transition: all .2s;
}
.map-menulist .map-submenu>a:hover{
    opacity: 1;
}
.map-menulist .map-submenu>a:hover::after{
    width: 100%;
}


/*  */
.db-container{
    width: 1400px;
    margin: 0 auto; 
}
.sub-tit{
  margin-top: 80px;
  opacity: 0;
  transform: translateY(30px);
  transition: all .8s ease-in-out;
}
.sub-tit.ani{
  transform: translateY(0);
  opacity: 1;
}
.sub-tit>h1{
  display: inline;
  font-size: 48px;
  font-weight: 700;
  /* font-family: 'OneMobile';
  letter-spacing: 0;
  -webkit-text-stroke: 0.7px; */
  position: relative;

}
.sub-tit>h1::after{
  content: "";
  position: absolute;
  display: block;
  width: 9px;
  height: 9px;
  background:#2062F2 ;
  border-radius: 50%;
  top: 0;
  right: -16px;
}
.card-box .mark-wrap{
  display: flex;
  gap: 10px;
  padding: 0 28px;
}
.mark-wrap .common-mark{
  margin-bottom: 0;
}
.blue-mark{
  width: 88px;
  background: #E8F0FF;
  color: #2062F2;
}
.gray-mark{
  width: 88px;
  background: #F6F6F6;
}
.red-mark{
  width: 88px;
  background: #FFE7EE;
  color: #DB285A;
}
.sky-mark{
  width: 88px;
  background: #EBF7FF;
  color: #0F99E9;
}
.green-mark{
  width: 88px;
  background-color: #EBFBF2;
  color: #05C1BA;
}

.common-mark{
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  height: 28px;
  line-height: 28px;
  border-radius: 4px;
  margin-bottom: 16px;
  white-space: nowrap;
}

/* 서브 탑메뉴 */
.sub-topbar{
  z-index: 50;
  width: 100%;
  height: 72px;
  background: linear-gradient(90deg, rgba(69,129,249,1) 20%, rgba(1,64,153,1) 100%);
  border-radius: 8px;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  position: relative;
  opacity: 0;
  transform: translateY(30px);
  transition: all .8s ease-in-out;
  transition-delay: 0.2s;

}
.sub-topbar.ani{
  opacity: 1;
  transform: translateY(0);
}
.lnb-menu{
  display: flex;
  height: 100%;
  position: relative;
}
.lnb-menu>li{
  position: relative;
  display: inline-block;
}
.lnb-menu .home{
    width: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.lnb-menu .home>a{
  display: block;
  background: url(../images/home-icon.png) center/contain no-repeat;
  width: 22px;
  height: 22px;
}
.aft-line:after{
  content: "";
  display: block;
  width: 1px;
  height: 20px;
  background: #ddd;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.lnb-menu .dropdown-btn{
  position: relative;
  width: 200px;
  padding: 0 24px;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
  cursor: pointer;
}
.lnb-menu .dropdown-btn>p{
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}
.lnb-menu .dropdown-btn>span{
  background: url(../images/select-aw-wh.png) no-repeat;
  display: inline-block;
  background-size: contain;
  width: 14px;
  height: 8px;
  position: absolute;
  right: 24px;
  top: 6px;
  transition: all .3s;
}
.lnb-menu .dd-arrow.active{
  transform: rotate(-180deg);
}

.dropdown-menu{
  position: absolute;
  top: 72px;
  width: 100%;
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, .2);
  display: none;
}
.dropdown-menu>li{
  height: 60px;
  border-bottom: 1px solid #ccc;

}
.dropdown-menu>li>a{
  display: block;
  width: 100%;
  height: 100%;
  line-height: 60px;
  font-weight: 600;
  padding: 0 24px;
  transition: all .2s;
}
.dropdown-menu>li>a.on{
  background: #ECF2FF;
  color: #014099;
}
.dropdown-menu>li>a:hover{
  background: #ECF2FF;
  color: #014099;
}
.lnb-icon{
  display: flex;
  align-items: center;
}
.lnb-icon>li{
  width: 80px;
  position: relative;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lnb-icon .print{
  background: url(../images/print-icon.png) center/contain no-repeat;
  display: inline-block;
  width: 20px;
  height: 20px;
}
.lnb-icon .share{
  background: url(../images/share-icon.png) center/contain no-repeat;
  display: inline-block;
  width: 18px;
  height: 20px;
}


.topbar-visual{
  position: absolute;
  width: 100%;
  opacity: 0;
  transform: translateY(30px);
  transition: all .8s ease-in-out;
  transition-delay: 0.4s;
}
.topbar-visual.ani{
  opacity: 1;
  transform: translateY(0);
}
.topbar-visual>img{
  position: absolute;
}
.topbar-bg{
  right: 200px;
  bottom: -40px;
}
.buisness-ani{
  right: 180px;
  bottom: -100px;
}
.bs-floating1{
  right: 242px;
  bottom: 50px;
}
.bs-floating2{
  right: 206px;
  bottom: 80px;
}
.guide-ani{
  right: 232px;
  bottom: -76px;
}
.gd-floating1{
  right: 230px;
  bottom: 67px;
}
.gd-floating2{
  right: 228px;
  top: -86px;
}
.mypage-ani{
  right: 192px;
  bottom: -74px;
}
.mp-floating1{
  right: 258px;
  bottom: 84px;
}
.mp-floating2{
  right: 500px;
  bottom: 70px;
}
/* 탑바 애니메이션 */
.sub-topbar.ani{
  opacity: 1;
}


.topbar-visual.ani>.floating1,
.topbar-visual.ani>.floating2{
  animation-name: floating;
  animation-duration: .8s;
  /* animation-delay: 1.1s; */
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
  animation-direction: alternate;
}






@-webkit-keyframes slideUp{
  0%{
    transform: scale(0);
    opacity: 0;
  }
  50%{
    transform: scale(0);
    opacity: 0;
  }
  65%{
    transform: scale(1);
    opacity: 0;
  }
  100%{
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes floating{
  0%{
    opacity: 1;
    transform: translateY(0);
  }
  100%{
    opacity: 1;
    transform: translateY(5px);
  }
}

/* 그라데이션 호버 */
.gredient-box{
  position: relative;
  background: #fff;
  padding: 28px;
  line-height: 28px;
  border-radius: 4px;
  outline: 1px solid #ccc;
}
.gredient-hover{
  border-radius: 6px;
  border: double 3px transparent;
}
.gredient-hover:hover{
  /* border: double 2px transparent; */
  background-image: linear-gradient(#fff, #fff), 
  linear-gradient(45deg, rgba(154,216,255,1) 0%, rgba(69,129,249,1) 100%);
  background-origin: border-box;
  background-clip: content-box, border-box;
  box-shadow: 2px 2px 10px rgba(0,0,0, 0.2);
  transition: all .2s;
}
.gredient-hover:hover .gredient-box{
  outline-color: #fff;
}




/* 셀렉트박스 커스텀 */
.select-box>.sel-label{
  height: 40px;
  width: 200px;
  border-bottom: 1px solid #878787;
  padding: 0 10px;
  cursor: pointer;
  position: relative;
  text-align: left;
  background-color: #fff;
  font-weight: 500;
}
.select-box.active>.sel-label{
    outline: 1px solid #014099;
    border-bottom: 1px solid transparent;
    border-radius: 4px;
}
.select-box>.sel-label:after{
  content: '';
  background: url(../images/select-aw-bk.png) no-repeat center;
  background-size: contain;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);                  
  right: 10px;
  transition: all .3s;
}
.select-wrap{
  position: relative;
  z-index: 100;
  width: 200px;
  border-radius: 4px;
  margin-top: 2px;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.1);
   display: none;
}
.select-wrap>li{
  padding: 0 10px;
  height: 40px;
  line-height: 39px;
  cursor: pointer;
  font-weight: 500;
  font-size: 15px;
}
.select-wrap>li:first-child{
  border-radius: 3px 3px 0 0;
}
.select-wrap>li:last-child{
  border-radius: 0 0 3px 3px;
}
.select-wrap >li:hover{
  background: #ECF2FF;
  color: #2062F2;
}

.select-box.active .select-wrap{
  display: block;
  position: absolute;
}


/* 버튼 */
.navy-btn{
  border: 1px solid #014099;
  color: #014099;
  background: #fff;
  cursor: pointer;
  transition: all .2s;
  font-weight: 500;
}
.navy-btn:hover{
  background: #014099;
  color: #fff;
}
.navy-bg-btn{
  background: #014099;
  color: #fff;
  cursor: pointer;
  transition: all .2s;
  font-weight: 500;
}
.navy-bg-btn:hover{
  background: #005BDC;
}
.gray-btn{
  border: 1px solid #707070;
  color: #707070;
}
.gray-btn:hover{
  background: #707070;
  color: #fff;
}
.red-btn{
  border: 1px solid #DB285A;
  color: #DB285A;
  background: #ffff;
  transition: all .2s;
  cursor: pointer;
}
.red-btn:hover{
  color: #fff;
  background: #DB285A;
}

/* 첨부파일 커스텀 */
.file-upload-container {
	display: flex;
	align-items: center;
	gap: 10px;
}

.file-preview {
	display: flex;
	flex: 7;
	align-items: center;
	background-color: #f0f0f0;
	padding: 0 15px;
	border-radius: 6px;
	height: 32px;
}
.file-name {
	font-weight: 600;
	font-size: 14px;
	color: #333;
	margin-right: 10px;
	display: -webkit-box;
	text-overflow: ellipsis;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	word-break: break-all;
}

.remove-file-btn {
	width: 16px;
	height: 16px;
	padding: 5px;
	background-color: #999; /* 배경색 설정 */
	border: none;
	font-size: 14px;
	color: #fff; /* 폰트 색상 하얗게 */
	border-radius: 50%; /* 버튼 둥글게 */
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s, box-shadow 0.3s; /* 전환 효과 */
}

.remove-file-btn:hover {
	background-color: #666; /* 호버 시 배경색 변경 */
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.upload-btn {
	flex: 3;
	height: 32px;
	padding: 5px 15px;
	font-size: 14px;
	color: #00498C;
	border: 1px solid #00498C;
	border-radius: 6px;
	background-color: #FFF;
	cursor: pointer;
	transition: color 0.3s, box-shadow 0.3s;
}

.upload-btn:hover {
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.file-box .upload-name{
  display: inline-block;
  width: 252px;
  height: 32px;
  outline: none;
  padding: 0 10px;
  border-radius: 4px;
  vertical-align: middle;
  border: 1px solid #8A8A8A;
  text-overflow: ellipsis;
  font-size: 15px;
}
.file-box label{
  width: 100px;
  height: 32px;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  line-height: 31px;
  text-align: center;
  transition: all 0.2s;
}

.file-box label:hover{
  color: #fff;
}
.file-box>input[type="file"]{
  display: none;
}


/* 리스트 컨텐츠 */
.sub-con-fadeup{
  transform: translateY(30px);
  opacity: 0;
  transition: all .8s ease-in-out;
  transition-delay: .2s;
}
.sub-con-fadeup.ani{
  opacity: 1;
  transform: translateY(0);
}


.con-card-list>li:nth-child(1){
  animation-delay: .4s;
}
.con-card-list>li:nth-child(2){
  animation-delay: .5s;
}
.con-card-list>li:nth-child(3){
  animation-delay: .6s;
}
.con-card-list>li:nth-child(5){
  animation-delay: .2s;
}
.con-card-list>li:nth-child(6){
  animation-delay: .3s;
}
.fadeUp{
  opacity: 0;
}
@-webkit-keyframes fadeUp{
  0%{
    opacity: 0;
    transform: translate3d(0,30px,0);
  }
  100%{
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

.fadeUp.ani{
  animation: fadeUp 0.6s ease-in-out;
  -webkit-animation-fill-mode: forwards;
}
.ani-fadeIn{
  transform: translateY(40px);
    transition: all .8s ease-in-out;
    transition-delay: 0.2s;
    opacity: 0;
    position: relative;
    z-index: 10;
}
.ani-fadeIn.ani{
  transform: translateY(0);
  opacity: 1;
}
.sub-contents{
  margin-top: 80px;
}
.sub-contents h2{
    font-size: 40px;
    font-weight: 800;
    /* font-family: 'OneMobile'; */
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: -0.02em;
    /* -webkit-text-stroke: 1px; */
}

.list-custombar{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  /* transform: translateY(20px);
  transition: all .8s ease-in-out;
  transition-delay: 0.4s;
  opacity: 0; */
  position: relative;
  z-index: 45;
}
.list-custombar>li{
  display: flex;
  align-items: center;
}
.list-custombar>li:nth-child(1)>p,
.list-custombar>li:nth-child(1) span{
  font-size: 18px;
  font-weight: 600;
}
.list-custombar>li:nth-child(1) span{
  color: #2062F2;
}
.list-custombar>li .dot{
  background: #ccc;
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  margin: 0 10px;
}
.list-custombar>li:nth-child(2){
  gap: 20px;
}
.search-box{
  position: relative;
}
.search-box>input{
  border-bottom: 1px solid #878787;
  height: 40px;
  padding: 10px;
  width: 460px;
}
.search-box .search-icon{
  background: url(../images/search-icon.png) center/contain no-repeat;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  cursor: pointer;
}
.list-custombar .lc-btn{
  width: 100px;
  height: 40px;
  border-radius: 4px;
  transition: all .2s;
  cursor: pointer;
}


.con-card-list{
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.con-card-list>li{
  width: 100%;
  max-width: 440px;
}
.gredient-hover .auto{
  width: auto;
  padding: 0 12px;
  max-width: 172px;
  white-space: nowrap;
  margin: 0;
}
.card-list-tit{
  font-weight: 600;
  word-break: keep-all;
  margin: 24px 28px 28px;
  height: 60px;
}
.card-box .summary-wrap{
  padding: 0 28px;
}
.summary-wrap{
  display: flex;
  white-space: nowrap;
}
.summary-wrap>p:nth-child(1){
  font-weight: 700;
}
.summary-wrap>.af-line{
  position: relative;
  padding-right: 10px;
  margin-right: 10px;
}
.summary-wrap>.af-line:after{
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  height: 12px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #ccc;
}
.card-box{
  padding: 28px 0 0 0;
}
.card-box .card-btn-wrap{
  padding: 0 28px;
  height:76px;
  margin-top: 20px;
  border-top: 1px dashed #ccc;
  display: flex;
  align-items: center;
}
.card-btn-wrap>.more-btn{
  width: 100%;
  height: 40px;
  border: 1px solid #ccc;
  background: #fff;
  transition: all .2s;
  cursor: pointer;
  border-radius: 3px;
  font-weight: 500;
}
.card-btn-wrap>.more-btn:hover{
  background: #014099;
  border-color: #014099;
  color: #fff;
}
.pagenation{
  margin: 0 auto;
  text-align: center;
}

.list-common-tb{
  margin-bottom: 40px;
}

.list-common-tb>table{
  width: 100%;
  border-top: 2px solid #111;
}
.list-common-tb>table tr{
  height: 72px;
  border-bottom: 1px solid #ccc;
  cursor: pointer;
}
.list-common-tb>table tr:hover .lc-tit{
  color: #014099;
  text-decoration: underline;
  text-underline-position : under;
  transition: all .2s;
}
.list-common-tb>table tr .lc-num{
  color: #014099;
}
.list-common-tb>table tr .lc-qna-tit{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
}
.lc-qna-tit .common-cs{
  width: 80px;
  height: 28px;
  line-height: 28px;
  border-radius: 16px;
  color: #fff;
  text-align: center;
  font-size: 14px;
}
.lc-qna-tit .bk-capsule{
  background: #3A3F45;
}
.lc-qna-tit .bl-capsule{
  background: #2B5DCE;
}
.lc-qna-tit>p{
  margin-left: 20px;
  font-size: 18px;
  font-weight: 600;
}


.list-common-tb>table tr>td{
  text-align: center;
}
.list-common-tb>table tr .lc-tit{
  font-size: 18px;
  font-weight: 600;
  text-align: left;
  padding-bottom: 2px;
}
.list-common-tb>table td>p{
  color: #878787;

}
.lc-writer::before{
  content:"";
  display: inline-block;
  background: url(../images/writer-icon.png) center/contain no-repeat;
  width: 16px;
  height: 16px;
  margin-right: 6px;
  vertical-align: -2px;
}
.lc-view::before{
  content:"";
  display: inline-block;
  background: url(../images/view-icon.png) center/contain no-repeat;
  width: 18px;
  height: 12px;
  margin-right: 6px;
}
.lc-date::before{
  content:"";
  display: inline-block;
  background: url(../images/date-icon.png) center/contain no-repeat;
  width: 15px;
  height: 14px;
  margin-right: 6px;
  vertical-align: -1px;
}


/* 상세페이지 컨텐츠 */
.detail-titbar{
  border-top: 2px solid #111111;
  border-bottom: 1px solid #ccc;
  background-color: #F1F3F8;
  padding: 32px 40px;
  display: flex;
  flex-direction: column;
  align-items:center
}
.detail-titbar>li{
  display: flex;
  align-items: center;
}
.detail-titbar>li:nth-child(1){
  align-items: flex-start;
}
.detail-titbar .busi-tit{
  font-size: 24px;
  font-weight: 700;
  margin-right: 12px;
}
.detail-titbar .prog-txt{
  width: 88px;
  height: 28px;
  line-height: 28px;
  font-weight: 600;
  font-size: 14px;
  background: #2062F2;
  border-radius: 4px;
  color: #fff;
  text-align: center
}
.detail-titbar .type-list{
  color: #878787;
  margin-top: 10px;
}
.detail-titbar .type-list>span{
  display: inline-block;
  margin:  0 16px;
  width: 1px;
  height: 10px;
  background: #ccc;
}
.detail-titbar .type-list>div{
  color: #878787;
}
/* .detail-list{
  transform: translateY(30px);
  transition: all .8s ease-in-out; 
  opacity: 0;
  transition-delay: 0.2s;
}
.detail-list.ani{
  transform: translateY(0);
  opacity: 1;
} */
.detail-list .full-list{
  padding: 50px 60px 100px 60px;
  border-bottom: 1px solid #ccc;
  word-break: keep-all;
}
.file-bar{
  border-bottom: 1px solid #ccc;
  height: 48px;
  display: flex;
  align-items: center;
  padding-left: 40px;
}
.file-bar::before{
  content: "";
  background: url(../images/download-icon.png) center/contain no-repeat;
  display: block;
  width: 14px;
  height: 14px;
  margin-right: 8px;
}
.file-bar>p:hover{
  text-decoration: underline;
  text-underline-position: under;
}
.subunder-btnbox{
    margin-top: 40px;
    display: flex;
    justify-content: center;
    gap: 10px;
    /* transform: translateY(20px);
    transition: all .8s ease-in-out;
    opacity: 0;
    transition-delay: 0.2s; */
}
/* .subunder-btnbox.ani{
  transform: translateY(0);
  opacity: 1;
} */
.subunder-btnbox>button{
    width: 140px;
    height: 48px;
    border-radius: 4px;
    transition: all .2s;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
}
.url-bar{
  display: flex;
  height: 48px;
  line-height: 48px;
  border-bottom: 1px solid #ccc;
}

.url-bar .tit-name{
  width: 200px;
  background: #F1F3F8;
  font-weight: 500;
  border-right: 1px solid #ccc;
  text-align: center;
}
.url-bar .url{
  margin-left: 20px;
  text-decoration: underline;
}
.url-bar .url:hover{
  color: #2062F2;
}

/* footer */
footer{
  background: #3A3F45;
  margin-top: 140px !important;
  padding: 58px 260px !important;
  max-height: 160px;
  position: relative;
  z-index: -1;
}
.footer-inner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  height: 100%;
  top: 0;
}
.footer-txt>li{
  display: flex;
  column-gap: 16px;
  align-items: center;
  color: #DEDEDE;
  font-size: 14px;
  margin-bottom: 10px;
}
.footer-txt>li>p{
  color: #DEDEDE;
  font-size: 14px;
}
.footer-txt>li>span{
  width: 1px;
  height: 12px;
  background: #DEDEDE;
}
.footer-logobox img:nth-child(1){
  margin-right: 20px;
}

/* sub 메뉴 텝 메뉴 */
.sub-inner-tab{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}
.sub-inner-tab>a{
  font-size: 20px;
  color: #878787;
  font-weight: 500;
}

.sub-inner-tab>a.on{
  color: #005BDC;
  font-weight: 700;
}
.sub-inner-tab span{
  display: inline-block;
  width: 2px;  
  height:18px;
  background: #bbb;
  margin: 0 16px;
}
/* 마이페이지 border가두는 table */
.table-wrap{
  border: 1px solid #ccc;
  padding: 60px;
  border-radius: 12px;
  margin-bottom: 40px;
  position: relative;
}
.table-wrap .inner-tit{
  color: #014099;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
}
.table-wrap .tit-bf{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.table-wrap .tit-bf>.inner-tit{
  margin-bottom: 0;
}
.table-wrap .tit-bf>button{
  height: 32px;
  width: 80px;
  border-radius: 4px;
}
.inner-table{
  width: 100%;
  border-top: 1px solid #111;
}
.inner-table tr{
  height: 60px;
  border-bottom: 1px solid #ccc;
}
.inner-table .fst-tr th{
  border-right: none;
  position: relative;
}
.inner-table .fst-tr div{
    font-weight: 600;
}
.inner-table .fst-tr button{
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 140px;
  height: 32px;
  border-radius: 4px;
  cursor: pointer;
  transition: all .2s;
}
.inner-table tr th{
  background: #F1F3F8;
  font-weight: 600;
  border-right: 1px solid #ccc;
}
.inner-table tr .trd-th{
  border-left: 1px solid #ccc;
}
.inner-table tr td{
  padding: 0 10px;
}
.inner-table tr .file-box input,
.inner-table tr input[type="text"],
.inner-table tr input[type="date"],
.inner-table tr input[type="number"] {
  width: 100%;
  height: 36px;
  padding: 0 10px;
}
.inner-table tr .input-btn-sort,
.inner-table tr .file-box{
  display: flex;
  align-items: center;
  gap: 10px;
}
.inner-table tr .inner-btn,
.inner-table tr .tb-inner-btn{
  min-width: 108px;
  height: 36px;
  line-height: 36px;
  border-radius: 4px;
  cursor: pointer;
  transition: all .2s;
}
.inner-table2 thead tr>th{
  border-right: none;
}
.inner-table2 tbody tr>td{
  text-align: center;
}
.inner-table2  .select-box{
  position: relative;
}
.inner-table2  .select-box>.sel-label{
  width: 100%;
  border: 1px solid #a7a7a7;
  border-radius: 4px;
  height: 36px;
}
.inner-table2  .select-box.active>.sel-label{
  border: 1px solid transparent;
}
.inner-table2  .select-box .select-wrap{
  width: 100%;
}
.inner-table2  .select-box .select-wrap>li{
  height: 36px;
  text-align: left;
}
.inner-tit-flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.inner-tit-flex>.inner-tit{
  margin-bottom: 0;
}
.inner-tit-flex>button{
  width: 80px;
  height: 36px;
  border-radius: 4px;
  cursor: pointer;
  transition: all .2s;
}
.table-dubble{
  display: flex;
  column-gap: 40px;
}
.table-dubble>li{
  width: 100%;
}
.table-dubble table{
  text-align: center;
}
.inner-table .red-btn{
  width: 80px;
  height: 36px;
  border-radius: 4px;
}
.ck-custom-wrap{
  width: 100%;
  height: 60px;
  background: #F1F3F8;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 0 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ck-custom-wrap input[type="checkbox"]{
  width: 16px;
  height: 16px;
  vertical-align: -2px;
  margin-right: 2px;
}
.ck-custom-wrap label{
  font-weight: 600;
}
.inner-table2 .sub-tr th{
  background: #F6F6F6;
}
.result-table tr>td{
  padding: 0 20px;
}
.td-textarea{
  padding: 12px 0;
}
.td-textarea textarea{
  resize: none;
  border: 1px solid #ccc;
  width: 100%;
  border-radius: 4px;
  height: 300px;
  padding: 10px;
}
.td-textarea textarea:focus{
  outline: none;
  border-color: #014099;
}

.table-wrap .sticker{
  width: 100px;
  height: 68px;
  line-height: 68px;
  background: #2062F2;
  border-radius: 0 0 20px 20px;
  position: absolute;
  top: 0;
  color: #fff;
  text-align: center;
  font-weight: 600;
}
.top-summarize-tit{
  font-size: 28px;
  font-weight: 600;
  text-align: center;
  margin: 10px 0 40px 0;
}
.top-summarize{
  display: flex;
  gap: 20px;
}
.top-summarize>li{
  width: 100%;
  background: #F1F3F8;
  border-radius: 8px;
  height: 60px;
  padding: 0 32px;
}
.top-summarize>li .top-inner-sort{
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
.top-summarize>li .top-inner-sort>p:nth-child(2){
  font-size: 18px;
  font-weight: 600;
}
.top-summarize>li .top-inner-sort>.blue-color{
  color: #2B5DCE;
}
.top-summarize>li .top-inner-sort>.sky-color{
  color: #0F99E9;
}
.top-summarize>li .top-inner-sort>.green-color{
  color: #05C1BA;
}


/* 모달창 */
.modal-bg{
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0, 0.4);
  display: none;
}
.modal-bg.on{
  display: block;
}
.modal-bg>.modal{
  width: 800px;
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(0,0,0, .2);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: #fff;
}
.modal-bg .modal-head{
  background: #F6F6F6;
  border-radius: 8px 8px 0 0;
  border-bottom: 1px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 48px;
  padding: 0 32px;
}
.modal-bg .modal-head>p{
  font-size: 20px;
  font-weight: 600;
}
.modal-bg .modal-head>.modal-close{
  background: url(../images/x-icon.png) center/contain no-repeat;
  width: 18px;
  height: 18px;
  cursor: pointer;
}
.modal-bg .modal-con{
  padding: 32px;
}
.modal-bg .modal-con .modal-list{
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.modal-bg .modal-con .modal-list>p{
  border: 1px solid #ccc;
  background: #F1F3F8;
  font-weight: 600;
  height: 40px;
  width: 130px;
  line-height: 40px;
  text-align: center;
  border-radius: 4px;
}
.modal-bg .modal-con .modal-list .select-box{
  width: 100%;
  position: relative;
}
.modal-bg .modal-con .modal-list .select-box>.sel-label{
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 100%;
}
.modal-bg .modal-con .modal-list .select-box>.select-wrap{
  width: 100%;
}
.modal-bg  .modal-btn{
  text-align: center;
}
.modal-bg  .modal-btn>button{
  width: 130px;
  height: 40px;
  border-radius: 4px;
}

.modal-bg .agree-modal{
  width: 1200px;
  
}
.agree-modal .modal-con>p{
  font-size: 20px;
  font-weight: 600;
  color: #014099;
  margin-bottom: 10px;
}
.agree-box{
  border: 1px solid #ccc;
  border-radius: 8px;
}
.agree-box .scroll-ul{
  padding: 28px;
  height: 180px;
  overflow-y: scroll;
}
.scroll-ul::-webkit-scrollbar{
  width: 10px;
}
.scroll-ul::-webkit-scrollbar-thumb{
  background-color: #014099;
  border-radius: 10px;
  background-clip: padding-box;
  border: 2px solid transparent;
}
.scroll-ul::-webkit-scrollbar-track{
  background-color: none;
  border-radius: 10px;
}
.agree-box .scroll-ul>li{
  padding: 16px 0;
  border-bottom: 1px dashed #ccc;
}
.agree-box .scroll-ul>li:first-child{
  padding-top: 0;
}
.agree-box .scroll-ul>li>div{
  margin-bottom: 8px;
}
.agree-box .scroll-ul .last-li{
  border-bottom: none;
  padding-bottom: 0;
}
.agree-box .scroll-ul>li p{
  color: #707070;
  font-size: 14px;
  margin: 4px 0;
}
.agree-box .under-agreebar{
  background: #f6f6f6;
  border-radius: 0 0 8px 8px;
  border-top: 1px solid #ccc;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 28px;
  gap: 4px;
}
.agree-modal .text-box{
  border: 1px solid #ccc;
  width: 100%;
  height: 120px;
  border-radius: 8px;
  padding: 28px;
  resize: none;
}
.agree-modal .text-box:focus{
  outline: none;
  border: 1px solid #014099;
}
.agree-modal .modal-btn{
  margin-top: 28px;
}


/* 회원가입 */

.join-tit{
  text-align: center;
  width: 100%;
  font-size: 40px;
  font-weight: 800;
  transform: translateY(30px);
  opacity: 0;
  transition: all .8s ease-in-out;
  /* font-family: 'OneMobile'; */
  margin: 5rem 0 40px 0;
  letter-spacing: 0.02em;
  /* -webkit-text-stroke: 1px; */
}
.join-process{
  border-radius: 8px;
  width: 100%;
  height: 120px;
  border: 1px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 80px;
  margin-bottom: 50px;
  transform: translateY(30px);
  opacity: 0;
  transition: all .8s ease-in-out;
  transition-delay: 0.2s;
}
.join-process >li{
  display: flex;
  align-items: center;
  gap: 12px;
}
.join-process >li>div:nth-child(2)>p{
  font-size: 18px;
  font-weight: 500;
}
.join-process .icon-circle{
  height: 72px;
  width: 72px;
  border-radius: 50%;
  background-color: #CED1D8;
  position: relative;
}
.join-process .icon-circle.on{
  background-color: #014099;
}
.join-process .pcs0::before{
  content: "";
  display: inline-block;
  background: url(../images/join_process0.png) center/contain no-repeat;
  width: 28px;
  height: 37px;
  position: absolute;
  top: 49%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.join-process .pcs1::before{
  content: "";
  display: inline-block;
  background: url(../images/join-process1.png) center/contain no-repeat;
  width: 28px;
  height: 37px;
  position: absolute;
  top: 49%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.join-process .pcs2::before{
  content: "";
  display: inline-block;
  background: url(../images/join-process2.png) center/contain no-repeat;
  width: 30px;
  height: 38px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.join-process .pcs3::before{
  content: "";
  display: inline-block;
  background: url(../images/join-process3.png) center/contain no-repeat;
  width: 36px;
  height: 31px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.join-process .process-aw{
  background: url(../images/process-arrow.png) center/contain no-repeat;
  width: 39px;
  height: 13px;
}
.page-num {
    width: 32px;
    height: 32px;
    color: #717A8C;
    border: #C3C5CC solid 1px;
    line-height: 32px;
}
.page-num.on {
    color: #FFFFFF;
    background-color: #007BC3;
}
.paging {
    display: flex;
    justify-content: center;
}
.page-icon{
  width: 32px;
  height: 32px;
}
.valid-msg {
  display: none;
  color: red;
}
form.submitted input:invalid, form.submitted textarea:invalid, .invalid {
  border: 1px solid red !important;
/*   color: red; */
}
/* form.submitted input:invalid::placeholder, form.submitted textarea:invalid::placeholder, .invalid::placeholder { */
/*   color: red; */
/* } */
span.required {
  margin-left: 2px;
  color: #E95561;
}
iframe.required {
  border: 1px solid red;
}

.file-download{
	cursor: pointer;
}

.hidden{
	display: none;
}
.hide{
	display: none !important;
}
.status-select {
  margin-right: 25px;
}
.auth__modal{
	z-index: 101;
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .5);
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	transition: all .3s ease-in-out;
}
.auth__modal.show{
	z-index: 101;
	visibility: inherit;
	opacity: 1;
}
.modal__container{
	width: 50rem;
	background-color: #fff;
	position: absolute;
	margin: 0 auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 0.75rem;
	box-shadow: 3px 3px 10px rgba(0, 0, 0, .15);
	transform: translate(-50%, -25%);
	transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.auth__modal.show .modal__container{
	transform: translate(-50%, -50%);
}
.modal__title{
	width: 100%;
	height: 4.5rem;
	background: linear-gradient(90deg, rgba(69,129,249,1) 20%, rgba(1,64,153,1) 100%);
	border-radius: 8px 8px 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 2.5rem;
}
.modal__text{
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff;
}
.modal__close{
	cursor: pointer;
}
.modal__content{
	padding: 2.5rem;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
	gap: 1rem;
	place-items: center;
}
.auth__item{
	display: grid;
	place-items: center;
	gap: .5rem;
	width: 12rem;
	height: 12rem;
	background-color: #F1F3F8;
	border: 1px solid #001F4A;
	border-radius: 5px;
	box-shadow: 0px 5px 10px rgba(0,0,0,.3);
	cursor: pointer;
	transition: all .2s ease-in-out;
}
.auth__item:hover{
	background: transparent;
	backdrop-filter: blur(10px);
}
.auth__character{
	width: 100%;
	height: 100%;
	display: grid;
	place-items: flex-end center;
}
.auth__detail{
	width: 100%;
	height: 100%;
	display: grid;
	place-items: flex-start center;
}
.auth__name{
	font-size: 1.25rem;
	font-weight: 700;
}
#userFlagWrap {
  width: 100%;
  margin: 10rem 0;
}
.flag__container {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 8px;
}
.flag__gap {
	padding: 4rem;
}
.flag__contents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  place-items: center;
  grid-gap: 10rem;
}
.flag__left, .flag__right{
  width: 25rem;
  height: 25rem;
  padding: 2rem;
  border: 0;
  background: #F6F6F6;
  box-shadow: 0px 5px 10px rgba(0,0,0,.3);
  border-radius: 4px;
  -webkit-backdrop-filter: blur(10px);
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  place-items: center;
  transition: all .2s ease-in-out;
  cursor: pointer;
  user-select: none;
}
.flag__left{
	justify-self: flex-end;
}
.flag__right{
	justify-self: flex-start;
}
.flag__left:hover, .flag__right:hover {
  background: transparent;
  backdrop-filter: blur(10px);
  outline: 2px solid #014099;
}
.flag__left:hover .flag__img,
.flag__right:hover .flag__img {
  background-color: #f6f6f6;
}
.flag__left.active, .flag__right.active {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
/*   background: rgba(0, 0, 0, 0.1); */
  background-color: #fff;
  outline: 2px solid #014099;
}
.flag__left.active .flag__img,
.flag__right.active .flag__img {
	background-color: #f6f6f6;
}
.flag__title{
	font-size: 1.25rem;
	font-weight: 700;
	color: #014099;
	margin-bottom: .75rem;
}
.flag__top {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}
.flag__img {
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
    justify-content: center;
    align-items: center;
    transition: all .2s ease-in-out;
}
.flag__middle {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr 1fr 3fr;
  gap: .5rem;
  place-items: flex-start center;
  margin-top: 2rem;
}
.flag__name{
	font-size: 1.5rem;
	font-weight: 600;
}

.flag__subtitle{
	font-weight: 400;
}
.checkbox__container {
	min-width: 100px;
	height: 48px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.membership__box{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 1rem;
}
.h-100 .membership__box {
	height: 100%;
	place-items: center flex-start;
}
.membership__left, .membership__right, .radio__box {
	position: relative;
}
.membership__label, .membership__input,
.radio__label, .radio__input {
	cursor: pointer;
}
.membership__label, .radio__label{
	margin-left: 2rem;
}
.membership__label::before{
	content: "";
	width: 15px; height: 15px; margin: auto;
	border: 1px solid #ccc;
	background-color: #fff;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
}
.h100 .membership__label {
	font-weight: 500;
	font-family: 'Pretendard';
	color: #111111;
	margin-bottom: 10px;
}
.membership__label::before{
	content: "";
	width: 15px; height: 15px; margin: auto;
	border: 1px solid #ccc;
	background-color: #fff;
	position: absolute;
	left: 1.2rem;
	top: 0;
	bottom: 0;
}
.h-100 .membership__label::before{
	left: 0.2rem;
}
.membership__input:checked + .membership__label::before,
.checkbox__input:checked + .membership__label::before,
.radio__input:checked + .radio__label::before{
	border-color: #00498C;
	background: #fff url(/images/checked_blue.png) no-repeat center center;
}

.membership__input:disabled + .membership__label,
.radio__input:disabled + .radio__label{
	cursor: default;
}

.membership__input:disabled + .membership__label::before,
.radio__input:disabled + .radio__label::before{
	border-color: #999;
    background-color: #eee;
}

.h-100 {
	height: 100%;
}


input[readonly], input[readonly]:focus{
	background:#DDDDDD !important;
	color: #555 !important;
	cursor: not-allowed !important;
}
input[readonly]:focus-visible, input[readonly]:focus{
    outline: none !important;
}

.btn-file {
	border: none;
	color: #111;
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	padding: .375rem .75rem;
	text-align: center;
	vertical-align: middle;
	transition: all .2s ease-in-out;
}
.btn-file:hover {
	color : #007bff;
	text-decoration: underline;
}

/* 20250722 projectApplyForm validation check message */
.error-message {
	color: red;
}