@charset "utf-8";

.wrap{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;}
.wrap .wrapper{max-width: 1280px;}
.wrap > .container,
.wrap > .about-wrap > div,
.wrap > .main-container .main-hero,
.wrap > .main-container .sec-inner,
.wrap > .login-page,
.wrap .footer .footer-inner,
.wrap > .error-page{flex:1;width:100%;max-width: 1280px;margin:0 auto;}

@media all and (max-width:1300px) and (min-width:1025px){
    .header .wrapper,
    .footer .footer-inner{padding:0 20px;}
}
@media all and (min-width:1025px){
    .search-aside{margin-left:32px;}
}
@media all and (max-width:1300px) and (min-width:1025px){
    .header .logo{height:auto !important;width:200px;}
    .header .logo a,
    .header .logo a img{width:100%;}
}
@media all and (min-width:769px){
    .container{padding-bottom:50px;width: var(--min-width) !important; margin: 0 auto; padding: 48px 0 60px;display:flex;flex-wrap: wrap;}
    .container.size2{max-width:868px !important;width:100% !important;}
    .contents{flex:1;min-width: 0;}
    
    .main-container{padding-bottom:0;padding-top:32px;}
}

@media all and (max-width:1023px){
    .container{padding:16px 16px 48px;flex-direction: column;}
    .main-contents{padding:16px 16px 0;}
    .contents{padding-top:16px;}
}

/* ===========================================
    footer
=========================================== */
.footer{background:#343A40;flex-shrink:0;margin-top:auto;}
.footer .footer-inner{display:flex;flex-wrap:wrap;align-items:center;}
.footer .footer-logo{margin:0;display:flex;justify-content:center;}
.footer .footer-logo img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center;opacity:0.4;}
.footer .footer-nav{display:flex;}
.footer .footer-nav a{font-size:14px;font-weight:300;line-height:1.6;color:#fff;white-space:nowrap;}
.footer .footer-sns{display:flex;align-items:center;gap:12px;}
.footer .footer-sns a,.footer .footer-sns button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#fff;padding:0;border:0;background:none;cursor:pointer;}
.footer .footer-sns .ico-sns{display:block;width:24px;height:24px;}
.footer .footer-addr{font-style:normal;display:flex;flex-direction:column;gap:6px;font-weight:300;line-height:1.6;color:#ADB5BD;}
.footer .footer-addr p{display:flex;align-items:center;gap:5px 14px;}
.footer .footer-line{display:block;width:100%;height:1px;background:rgba(224, 224, 224, 0.1);}
.footer .footer-policy{display:flex;flex-wrap:wrap;}
.footer .footer-policy a{font-weight:300;line-height:1.6;color:#ADB5BD;white-space:nowrap;}
.footer .footer-copy{font-weight:300;line-height:1.6;color:#868E96;}
@media all and (max-width:1023px){
    .footer .footer-addr p{flex-wrap:wrap;display:flex;justify-content:center;align-items:center;}
}

/* ===========================================
    header
=========================================== */
.header{position:sticky;top:0;background:#fff;z-index:80;transition:transform .3s ease;}
.header.hide{transform:translateY(-100%);}
.header .header-menu{transition:height .25s ease;}
.header .wrapper{display:flex;align-items:center;}
.header .ico{display:block;width:24px;height:24px;}
.header .logo{margin:0;transition:height .25s ease;}
.header .logo a{display:block;height:100%;}
.header .logo img{display:block;width:auto;height:100%;}

.lang-list{display:flex;align-items:center;gap:8px;}
.lang-list li{display:flex;align-items:center;gap:8px;}
.lang-list li:not(:last-child):after{content:'';display:block;width:1px;height:8px;background:#DEE2E6;}
.lang-list button{font-size:13px;color:#868E96;white-space:nowrap;}
.lang-list li:not(.on) button:hover{text-decoration:underline;}
.lang-list li.on button{color:#343A40;font-weight:500;}

.header-util{display:flex;align-items:center;}
.header-util .btn-util{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#212529;}
.header-util .btn-allmenu .ico-close,
.header-util .btn-search .ico-close{display:none;}
/* PC 전체메뉴 버튼은 열림 상태에서도 메뉴(햄버거) 아이콘 유지(X 로 바뀌지 않게). 검색 버튼은 기존대로 토글. */
.header.search-on .btn-search .ico-open{display:none;}
.header.search-on .btn-search .ico-close{display:block;}

.header-search{display:none;position:absolute;left:0;right:0;background:#0F3E85;z-index:1;}
.header-search .wrapper{flex-direction:column;align-items:center;}
.header-search .search-tit{font-weight:700;color:#fff;text-align:center;}
.header-search .search-form{position:relative;display:flex;align-items:center;background:#fff;border-radius:5px;width:100%;}
.header-search .search-input{flex:1;min-width:0;border:none !important;height:48px;min-height:48px;background:transparent;padding:0 16px;font-size:15px;border-radius:5px;}
.header-search .search-input::-webkit-input-placeholder{color:#8E8E8E !important;font-weight:400;}
.header-search .btn-search-del{display:none;align-items:center;justify-content:center;width:20px;height:20px;color:#8E8E8E;}
.header-search .btn-search-del .ico{width:20px;height:20px;}
.header-search .search-form.has-value .btn-search-del{display:flex;}
.header-search .search-form.has-value .btn-search-go{color:#1D62CA;}
.header-search .btn-search-go{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0 16px 0 8px;color:#212529;}
.header.search-on .header-search{display:block;}

/* 모바일 전체메뉴 */
.m-menu{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;z-index:200;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .3s ease;}
.m-menu.on{transform:translateX(0);}
.m-menu .ico{display:block;width:24px;height:24px;}
.m-menu-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction: column;}
.m-menu-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 16px;border-bottom:1px solid #DEE2E6;}
.m-menu-header .logo{margin:0;height:24px;}
.m-menu-header .logo a{display:block;height:100%;}
.m-menu-header .logo img{display:block;width:auto;height:100%;}
.m-menu-header .btn-m-close,
.m-menu-header .btn-util{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#343A40;background:none;border:none;}
.m-menu-util{display:flex;align-items:center;gap:10px;}
.m-menu-search{flex-shrink:0;background:#0F3E85;padding:24px;display:flex;flex-direction:column;gap:16px;}
.m-menu-search .search-tit{font-size:18px;font-weight:700;color:#fff;text-align:center;}
.m-menu-search .search-form{display:flex;align-items:center;background:#fff;border-radius:5px;}
.m-menu-search .search-input{flex:1;min-width:0;border:none !important;height:48px;min-height:48px;background:transparent;padding:0 16px;font-size:15px;border-radius:5px;}
.m-menu-search .search-input::-webkit-input-placeholder{color:#8E8E8E !important;font-weight:400;}
.m-menu-search .btn-search-del{display:none;align-items:center;justify-content:center;width:20px;height:20px;color:#8E8E8E;background:none;border:none;}
.m-menu-search .btn-search-del .ico{width:20px;height:20px;}
.m-menu-search .search-form.has-value .btn-search-del{display:flex;}
.m-menu-search .search-form.has-value .btn-search-go .ico path{stroke:#1D62CA;}
.m-menu-search .btn-search-go{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0 16px 0 8px;color:#212529;background:none;border:none;}
.m-cate-list{padding:0 16px;}
.m-cate-list .m-cate-tit{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:64px;padding:0;background:none;border:none;border-bottom:1px solid #E9ECEF;font-size:16px;font-weight:700;color:#212529;text-align:left;cursor:pointer;}
.m-cate-list .ico-arr{display:block;flex-shrink:0;width:24px;height:24px;color:#212529;transition:transform .25s ease;}
.m-cate-list > li.on .ico-arr{transform:rotate(90deg);}
.m-cate-list .m-depth{display:none;padding:24px 0;border-bottom:1px solid #E9ECEF;}
.m-cate-list > li.on .m-depth{display:block;}
.m-cate-list .m-depth ul{display:flex;flex-direction:column;gap:16px;}
.m-cate-list .m-depth a{display:block;font-size:15px;line-height:1.6;color:#212529;}
.m-cate-list .m-depth li.on a{color:#1D62CA;font-weight:600;}
.m-cate-list .m-cate-extra{border-bottom:none;padding:16px 0 24px;}
.m-cate-list .m-cate-extra .btn-report{display:inline-flex;align-items:center;padding:4px 16px;border:1px solid #1D62CA;background:#F4F7FB;border-radius:100px;font-size:14px;line-height:1.6;color:#1D62CA;}
.m-menu-lang{flex-shrink:0;background:#F8F9FA;padding:16px;display:flex;justify-content:center;margin-top:auto;}
.m-menu-lang .lang-list{flex-wrap:wrap;justify-content:center;gap:16px;width:320px;}
.m-menu-lang .lang-list li{gap:16px;}
.m-menu-lang .lang-list li button{width:70px;text-align:center;font-size:13px;letter-spacing:-0.5px;}
.m-menu-lang .lang-list li:nth-child(3n){gap:0;}
.m-menu-lang .lang-list li:nth-child(3n):after{display:none;}

@media all and (min-width:1025px){

    .pc-hide{display:none !important;}
    .wrapper{width:var(--min-width);margin:0 auto;}

    .m-menu,
    .m-menu-dim{display:none !important;}

    .header{top:-40px;}
    .header.scrolled .header-menu{height:60px;box-shadow:0 4px 12px rgba(0,0,0,.06);}
    .header.scrolled .logo{height:28px;}
    .header.scrolled .logo a{display:block;height: 100%;}
    .header.scrolled .gnb-menu > li > a{height:44px;}
    
    .header .top-lang{background:#F8F9FA;height:40px;}
    .header .top-lang .wrapper{height:100%;justify-content:flex-end;}
    .header .header-menu{position:relative;height:88px;border-bottom:2px solid #000;}
    .header .header-menu .wrapper{height:100%;justify-content:space-between;}
    .header .header-menu .btn-m-menu{display:none;}
    .header .logo{height:36px;}
    .header .gnb-menu-wrap{align-self:stretch;display:flex;align-items:center;}
    .header .gnb-menu{display:flex;align-items:center;gap:16px;}
    .header .gnb-menu > li > a{display:flex;align-items:center;justify-content:center;height:52px;padding:0 20px;font-size:16px;font-weight:700;color:#212529;white-space:nowrap;}
    .header .gnb-menu > li > a:hover{color:#1D62CA;}
    .header .header-util{gap:32px;}

    .header .depth-wrap{position:absolute;left:0;right:0;top:calc(100% + 2px);background:#fff;border-bottom:1px solid #343A40;box-shadow:0 8px 16px rgba(0,0,0,.06);z-index:79;overflow:hidden;max-height:0;opacity:0;visibility:hidden;transition:max-height .35s ease, opacity .2s ease, visibility 0s linear .35s;}
    .header .depth-wrap .wrapper{justify-content:center;padding:24px 10px;}
    .header .depth-inner{display:flex;gap:16px;align-items:stretch;width:100%;}
    .header .depth-col{width:179px;padding:0 20px 16px;border-right:1px solid #E9ECEF;display:flex;flex-direction:column;gap:16px;flex:1;}
    .header .depth-col .depth-tit a{font-size:16px;font-weight:700;color:#212529;}
    .header .depth-col ul{display:flex;flex-direction:column;gap:16px;}
    .header .depth-col ul a{font-size:14px;color:#212529;}
    .header .depth-col ul a:hover{text-decoration:underline;}
    .header .depth-extra .btn-report{display:inline-flex;align-items:center;padding:4px 16px;border:1px solid #1D62CA;background:#F4F7FB;border-radius:100px;font-size:14px;color:#1D62CA;white-space:nowrap;}
    .header .gnb-menu-wrap:hover .depth-wrap,
    .header .depth-wrap:hover,
    .header.menu-open .depth-wrap{max-height:520px;opacity:1;visibility:visible;transition:max-height .35s ease, opacity .2s ease, visibility 0s;}

    .header .header-search .wrapper{gap:16px;padding:40px 0;}
    .header .header-search .search-tit{font-size:24px;}
    .header .header-search .search-form{width:450px;}



    .footer{padding:48px 0;}
    .footer .footer-inner{width:var(--min-width);margin:0 auto;row-gap:20px;column-gap:40px;}
    .footer .footer-logo{width:160px;}
    .footer .footer-logo img{width:100%;height:auto;}
    .footer .footer-nav{gap:24px;}
    .footer .footer-sns{margin-left:auto;}
    .footer .footer-addr,
    .footer .footer-line,
    .footer .footer-policy,
    .footer .footer-copy{width:100%;}
    .footer .footer-addr{font-size:14px;}
    .footer .footer-policy{gap:24px;font-size:14px;}
    .footer .footer-copy{font-size:14px;}
    .footer .footer-nav a:hover,
    .footer .footer-policy a:hover{text-decoration:underline;}
    .footer .footer-sns a:hover,.footer .footer-sns button:hover{opacity:.8;}
}



@media all and (max-width:1024px){

    .header .top-lang{display:none;}
    .header .header-search{display:none !important;}
    .header .depth-wrap{display:none !important;}
    .header .gnb-menu-wrap{display:none;}
    .header .header-menu{height:64px;border-bottom:1px solid #000;}
    .header.scrolled .header-menu{height:52px;}
    
    .header .header-menu .wrapper{width:100%;height:100%;padding:0 16px;justify-content:space-between;}
    .header .header-menu .btn-m-menu{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#343A40;}
    .header .logo{height:24px;}
    .header .header-util{gap:10px;}
    .header .header-util .btn-search,
    .header .header-util .btn-allmenu{display:none;}
    body.m-menu-open{overflow:hidden;}

    /* 비한국어 등 내용/가로 오버플로우로 푸터 내용이 뷰포트 밖으로 밀리는 것 방지: 푸터 박스를 뷰포트 폭으로 제한하고 넘치는 자식은 클립 */
    .footer{padding:24px 16px 48px;max-width:100vw;overflow-x:hidden;}
    /* Safari flex 컬럼 이슈(항목이 오른쪽 2번째 컬럼으로 감싸져 내용이 옆으로 밀림)를 원천 차단하기 위해
       flex 대신 grid 단일 컬럼으로 배치한다. minmax(0,1fr) 로 컬럼이 내용에 의해 확장되지 않게 하고,
       order(nav/sns/logo) 는 grid 에서도 그대로 유지된다. */
    .footer .footer-inner{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;width:100%;max-width:100%;margin-left:0;box-sizing:border-box;}
    .footer .footer-inner > *{min-width:0;max-width:100%;box-sizing:border-box;}
    .footer .footer-inner > *{order:4;}
    .footer .footer-nav{order:1;flex-wrap:nowrap;justify-content:flex-start;gap:24px;align-self:center;padding:0 16px 4px;overflow-x:auto;max-width: 100%;}
    .footer .footer-nav li{flex-shrink:0;}
    .footer .footer-nav::-webkit-scrollbar{height:4px;}
    .footer .footer-nav::-webkit-scrollbar-thumb{background-color:rgba(255, 255, 255, 0.2);border-radius:10px;}
    .footer .footer-nav::-webkit-scrollbar-track{background-color:rgba(255, 255, 255, 0.05);border-radius:10px;}
    .footer .footer-sns{order:2;margin-top:20px;justify-content:center;width:100%;}
    /* justify-self:center 명시: Safari 는 grid justify-items:stretch 로도 flex 아이템(로고)을 stretch 하지 않아
       로고가 content-width 로 셀 왼쪽(start)에 붙는다. 셀 중앙 배치를 명시해 브라우저 무관하게 중앙 정렬. */
    .footer .footer-logo{order:3;margin-top:24px;height:27px;justify-self:center;}
    .footer .footer-addr{margin-top:20px;align-items:center;text-align:center;font-size:13px;font-weight:400;line-height:1.4;}
    .footer .footer-line{margin-top:20px;}
    .footer .footer-policy{margin-top:20px;justify-content:center;gap:12px 20px;font-size:13px;}
    .footer .footer-copy{width:100%;margin-top:20px;text-align:center;font-size:12px;font-weight:400;line-height:1.4;}
    /* 다국어(긴 텍스트) 모바일 오버플로우 방지: 텍스트 블록을 뷰포트 폭으로 제한(패딩 포함)하고, 긴 정책/링크·주소는 줄바꿈 허용 */
    .footer .footer-addr,
    .footer .footer-policy,
    .footer .footer-copy{width:100%;max-width:100%;box-sizing:border-box;padding-left:16px;padding-right:16px;}
    .footer .footer-addr p{max-width:100%;overflow-wrap:anywhere;}
    .footer .footer-policy a{white-space:normal;text-align:center;}

}


.breadcrumb { display: flex; gap: 4px; align-items: center; list-style: none; padding: 0; margin: 0; }
.breadcrumb li { display: flex; align-items: center; gap: 4px; }
.breadcrumb li a { display: flex; align-items: center; padding: 6px; color: #212529;font-size: 16px; line-height: 1.5; transition: background-color 0.2s; }
.breadcrumb li a .ico-home { display: flex; align-items: center; justify-content: center; width: 24px;height:24px;margin-right:4px; background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 11V17C18 17.5523 17.5523 18 17 18H13.5V15C13.5 14.4477 13.0523 14 12.5 14H11.5C10.9477 14 10.5 14.4477 10.5 15V18H7C6.44772 18 6 17.5523 6 17V11L12 6L18 11Z' fill='%23343A40'/%3E%3C/svg%3E") no-repeat 50% 50%; background-size:auto 100%;}
.breadcrumb li a span{border-bottom:1px solid #212529;  line-height:1;}
.breadcrumb li::after { content: '';width: 16px;height:16px;background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.60175 13.1572C5.79879 13.3762 6.13601 13.3939 6.35496 13.1969L11.6883 8.39709C11.8007 8.29595 11.8648 8.15186 11.8648 8.00067C11.8649 7.84948 11.8007 7.70539 11.6883 7.60424L6.35498 2.80392C6.13604 2.60687 5.79882 2.6246 5.60177 2.84354C5.40472 3.06247 5.42246 3.39969 5.64139 3.59674L10.5343 8.00063L5.64141 12.404C5.42247 12.6011 5.40471 12.9383 5.60175 13.1572Z' fill='%23343A40'/%3E%3C/svg%3E") no-repeat 50% 50%;background-size:auto 100%;}
.breadcrumb li:last-child::after { display: none; }


@media all and (max-width:1024px){
.breadcrumb { gap: 4px; }
.breadcrumb li { gap: 4px; }
.breadcrumb li a { padding: 6px;font-size: 16px; }
.breadcrumb li a .ico-home { width: 24px;height:24px;margin-right:4px;}
.breadcrumb li::after {width: 16px;height:16px;}
.breadcrumb li:not(:last-child):not(:first-child){display:none;}
.breadcrumb li:first-child ~ li ~ li:last-child:before{content: '';display:block; width: 44px;height:24px;background: url("data:image/svg+xml,%3Csvg width='44' height='24' viewBox='0 0 44 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.60059 11.0674C8.11605 11.0674 8.53418 11.4855 8.53418 12.001C8.53395 12.5162 8.11591 12.9336 7.60059 12.9336C7.08544 12.9334 6.6682 12.5161 6.66797 12.001C6.66797 11.4856 7.0853 11.0676 7.60059 11.0674ZM12.002 11.0674C12.5174 11.0674 12.9355 11.4855 12.9355 12.001C12.9353 12.5162 12.5173 12.9336 12.002 12.9336C11.4867 12.9336 11.0686 12.5162 11.0684 12.001C11.0684 11.4855 11.4865 11.0674 12.002 11.0674ZM16.4004 11.0674C16.9159 11.0674 17.334 11.4855 17.334 12.001C17.3338 12.5162 16.9157 12.9336 16.4004 12.9336C15.8851 12.9336 15.467 12.5162 15.4668 12.001C15.4668 11.4855 15.885 11.0674 16.4004 11.0674Z' fill='%23343A40'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M33.6018 17.1572C33.7988 17.3762 34.136 17.3939 34.355 17.1969L39.6883 12.3971C39.8007 12.2959 39.8648 12.1519 39.8648 12.0007C39.8649 11.8495 39.8007 11.7054 39.6883 11.6042L34.355 6.80392C34.136 6.60687 33.7988 6.6246 33.6018 6.84354C33.4047 7.06247 33.4225 7.39969 33.6414 7.59674L38.5343 12.0006L33.6414 16.404C33.4225 16.6011 33.4047 16.9383 33.6018 17.1572Z' fill='%23343A40'/%3E%3C/svg%3E") no-repeat 50% 50%;background-size:auto 100%;}
}


.floating-menu{ position:fixed;bottom:20px;right:20px;z-index: 80;display:flex;flex-direction: column;gap:10px;}
.floating-menu .btn-top{ display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; background: rgba(255, 255, 255, 0.8); border: 1px solid #DEE2E6; box-shadow: 0px 2px 4px rgba(84, 85, 86, 0.16); border-radius: 100%; }
.floating-menu .btn-top[style*=block]{display:flex !important;}
.floating-menu .btn-top:before{content:'';display:block;width: 18px;height:20px;background: url("data:image/svg+xml,%3Csvg width='18' height='20' viewBox='0 0 18 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 0C9.33768 0 9.66078 0.133308 9.89483 0.369193L17.6534 8.18874C18.1286 8.66766 18.1132 9.42922 17.619 9.88972C17.1248 10.3502 16.339 10.3353 15.8638 9.85637L10.2414 4.1898V18.797C10.2414 19.4614 9.68559 20 9 20C8.31441 20 7.75862 19.4614 7.75862 18.797V4.1898L2.13621 9.85637C1.66102 10.3353 0.875169 10.3502 0.38097 9.88972C-0.113229 9.42922 -0.128638 8.66766 0.346553 8.18874L8.10517 0.369193C8.33922 0.133308 8.66232 0 9 0Z' fill='%23343A40'/%3E%3C/svg%3E") no-repeat 50% 50%;background-size:auto 100%;}
@media all and (max-width:1024px){
    .floating-menu{transform:scale(0.8);transform-origin:bottom right;}
}
