@charset "utf-8";
@import url('main.css');
/* 폰트 */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

body {
    position: relative;
    word-break: keep-all;
    font-size: 10px;
}

::selection {
    background: #ec1d25;
    color: #fff;
}

/* 초기화 */
* {
    box-sizing: border-box;
    font-family: "Pretendard";
}

body,
h1,
h2,
h3,
h4,
h5,
p,
ul,
li,
address,
small,
a,
span,
br,
hr,
button,
img,
dl,
dd,
dt {
    margin: 0;
    padding: 0;
    list-style: none;
    word-break: keep-all;
}

a {
    text-decoration: none;
    color: #000;
}

address,
span,
p {
    font-style: normal;
}

.hidden {
    display: none;
}

.hideText {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}


/* 기본 헤더 설정 */
header {
    position: sticky;
    top: 0;
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 160px;
    font-weight: 500;
    transition: all 0.25s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    background-color: #ffffff;
    z-index: 100;
}

/* 로고 설정 */
h1 {
    width: 143px;
    height: 50px;
    background: url(../img/H-logo.jpg) no-repeat center / contain;
}

#header h1>a {
    display: block;
    width: 100%;
    height: 100%;
}

#nav {
    position: relative;
    text-align: center;
    width: auto;
}

#gnb {
    position: relative;
    display: flex;
    justify-content: center;
    padding-right: 100px;
}

#gnb>li {
    line-height: 8em;
    position: relative;
}

#gnb>li>a {
    position: relative;
    display: block;
    margin: 0 45px;
    font-size: 1.9em;
    font-weight: 400;
    white-space: nowrap;
}

/* 호버 시 밑줄 효과 */
#gnb>li>a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background-color: #ec1d25;
    transition: width 0.3s ease;
}

/* 호버 시 붉은 선 표시 */
#gnb>li:hover>a::after {
    width: 100%;
}

/*모바일 gnb*/
#gnb-mobile{display: none;}



/* 서브메뉴 스타일 */
.snb {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    min-width: 200px;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* 서브메뉴 아이템 스타일 */
.snb li {
    white-space: nowrap;
    line-height: 5.5em;
}

.snb li a {
    display: block;
    font-size: 1.7em;
}

.snb li a:hover {
    color: #ec1d25;
    background: #f0f0f0;
}

/* 서브메뉴 펼치기 효과 */
#gnb>li:hover .snb {
    opacity: 1;
    visibility: visible;
    z-index: 99;
}

/* 메인 메뉴 호버 시 스타일 */
#gnb>li:hover>a {
    font-weight: 700;
    transition: all 0.5s ease;
}

/* 사이트맵 */
.open {
    display: block;
    width: 33px;
    height: 17px;
    background: url(../img/sitemap.png) no-repeat center / cover;
}

/* 사이트맵 열기 및 닫기 버튼 */
#siteMap .button {
    position: fixed;
    top: 32px;
    right: 20px;
    width: 33px;
    height: 17px;
    cursor: pointer;
    background: url(../img/sitemap.png) no-repeat center / cover;
    filter: invert(1) brightness(100%);
    z-index: 10000;
}
#siteMap .button-close {
    opacity: 0;
    position: fixed;
    top: 32px;
    right: 20px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    background: url(../img/sitemap-close.png) no-repeat center / cover;
    z-index: 10000;
}

/* 사이트맵 기본 스타일 */
#siteMap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: transform 0.2s ease;
    backdrop-filter: blur(20px);
    background: rgba(0, 0, 0, 0.8);
    z-index: 200;
}

/* 사이트맵이 열렸을 때 */
#siteMap.open {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease-in-out;
}

.mapWrap {
    display: flex;
}

.mapWrap .navi {
    width: 350px;
    display: flex;
    flex-flow: column;
    align-items: center;
}

.sitemap-area h2 {
    font-size: 3em;
    padding-bottom: 30px;
    color: #fff;
    transition: none;
    font-weight: 600;
}

.sitemap-2dep li {
    margin: 28px 0;
    text-align: center;
}

.sitemap-2dep li a {
    font-size: 1.8em;
    color: #fff;
    text-decoration: none;
    transition: color 0.1s ease, opacity 0.1s ease;
}

.sitemap-2dep li a:not(:hover) {
    opacity: 0.5;
}

.sitemap-2dep li a:hover {
    color: #ec1d25;
    opacity: 1;
}

/* top */
#top {
    display: none;
}

#top a {
    position: fixed;
    bottom: 75px;
    right: 103px;
    display: block;
    width: 60px;
    height: 60px;
    background: url(../img/top.jpg) no-repeat center / cover;
    z-index: 10;
}

/* 푸터 */
#footer {
    bottom: 0;
    width: 100%;
    height: 203px;
    padding-top: 60px;
    background: #222222;
    z-index: 1;
    letter-spacing: -0.5px;
}

.f-police {
    display: flex;
    margin-bottom: 40px;
}

.f-police dd {
    margin-right: 30px;
}

.f-police a {
    display: block;
    font-size: 1.7em;
    font-weight: 400;
    color: #ffffff;
}

.f-police a:hover {
    color: #ec1d25;
}

.f-info {
    display: flex;
    margin-bottom: 15px;
}

.f-info dd {
    font-size: 1.5em;
    font-weight: 300;
    color: #dddddd;
    margin-right: 20px;
}

.copyright {
    font-size: 1.5em;
    font-weight: 300;
    color: #888888;
}

/* 공통 container */
.container {
    max-width: 1340px;
    margin: 0 auto;
}

/* 서브페이지 공통 css */
.sub-visual {
    position: relative;
    width: 100%;
    height: 430px;
}

/* 서브비주얼 이미지 */
#subCompany {
    background: url(../img/sub_header1.jpg) no-repeat center / cover;
}

#subProduct {
    background: url(../img/sub_header3.jpg) no-repeat center / cover;
}

#subStandard {
    background: url(../img/sub_header4.jpg) no-repeat center / cover;
}

#subLicense {
    background: url(../img/sub_header6.jpg) no-repeat center / cover;
}

#subInquiry {
    background: url(../img/sub_header7.jpg) no-repeat center / cover;
}

#subNotice {
    background: url(../img/sub_header5.jpg) no-repeat center / cover;
}

.sub-visual .container {
    width: 100%;
    height: 95%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}

.sub-title,
#sub_menu {
    z-index: 1;
}

.sub-title h2 {
    font-size: 7em;
    color: #fff;
}

#sub_menu {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 70px;
    display: flex;
    justify-content: center;
    border-top: 3px solid rgba(255, 255, 255, 0.1);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.04);
}

#sub_menu ul {
    width: 80%;
    display: flex;
}

#sub_menu ul li {
    width: 100%;
    height: 100%;
    line-height: 70px;
    text-align: center;
}

#sub_menu ul li a {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    font-size: 1.8em;
    font-weight: 500;
    color: #fff;
}

#sub_menu ul li a::after {
    content: "";
    position: absolute;
    top: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background-color: #fff;
    transition: width 0.3s ease;
}

#sub_menu ul li:hover>a::after {
    width: 100%;
}

.on>a::after {
    content: "";
    width: 100% !important;
}


/* top always */
#top-always {
    position: fixed;
    top: 48%;
    right: 0;
    transform: translateY(-50%);
    z-index: 999;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#top-always a {
    width: 100%;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.8em;
    writing-mode: vertical-rl;
}

.top-email {
    background-color: #ec1d25;
    color: #fff;
}

.top-bank {
    background-color: #fff;
    color: #333;

}

.top-bank .bank-detail {
    display: inline-flex;
    flex-flow: column;
    font-weight: 500;
}

.top-bank .bank-detail span {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: -1.2;
}

.icon {
    font-size: 1.5rem;
    margin-bottom: 15px;
}

.bank-img {
    display: block;
    width: 30px;
    height: 30px;
    background: url(../img/bank.png) no-repeat center / contain;
}


/*반응형제작*/
@media screen and (max-width: 1600px){
header{padding: 0 20px;} 
#gnb>li>a{margin: 0 20px;}
#footer{height: auto; padding: 40px 20px;}
.f-info{gap: 10px 0;}
}
@media screen and (max-width: 1280px){
#top-always{display: none;}
#top a{right: 20px;}
#gnb>li>a{font-size: 1.6em;}
/*vis*/
.main-visual-controls{padding: 0 20px;}
.main-visual-txt-con{padding-left: 220px;}
.slick-dots{width: 800px;}
.slick-dots li{width: 250px;}
/*about us*/
#aboutUsCon{padding: 80px 0;}
#aboutUsCon .container{width: 1024px;}
.aboutLeft h2, .contactUs-title h2{font-size: 3.2em;}
.aboutLeft h4{margin-bottom: 20px;}
.aboutLeft p{font-size: 1.8em;}
.aboutRight{width: 500px; height: 300px; background-size: cover;}
/*product*/
#productCon{height: 680px; padding: 80px 0;}
.product-title h2{font-size: 3.2em;}
.main-product-img{width: 480px; height: 252px; background-size: cover; background-position: center;}
.main-product-controls{top: 105px;}
.main-product-controls .controls-wrap{max-width: 610px;}
.main-product-controls .prev-btn{left: 50px;}
.main-product-item .main-product-img::after{width: 488px;     top: -78px;}
.product-detail-con .tit{font-size: 2.6em; padding: 30px 0;}
/*contact*/
#contactUsCon{padding-top: 80px;}
.contactUs-mapCon{height: 500px;}
.contactUs-txtBox{left: 60px;}
.contactUs-mapCon{margin-top: 38px;}
.contactUs-txtBox h3{font-size: 2.6em;}
.txtBox-address dd:nth-child(1){font-size: 1.9em;}
.txtBox-address dd:nth-child(2){font-size: 1.8em;}
.txtBox-police dd span{font-size: 18px;}
.quick-title{font-size: 2.6em;}
/*footer*/
.f-police{margin-bottom: 20px;}

/*게시판*/
.license-list table .board > tbody > tr{display: inline-block;}
.license-list table > tbody > tr > td{display: inline-block; width: 100%;}
.license-list table > tbody > tr > td > table{text-align: center;}
.license-list table > tbody > tr > td > table > tbody > tr{width: 33%;}
.license-list table > tbody > tr > td > table > tbody{width: 100%;}
.license-list .right{text-align: right !important;}
.board_admin_bgcolor > table > tbody > tr{display: flex !important; width: 100% !important;}
.board_admin_bgcolor > table{text-align: left !important;}
/*사이트맵*/
.sitemap-area h2{font-size: 1.8rem;}
.sitemap-2dep li a{font-size: 1.3rem;}





}

@media screen and (max-width: 1024px){
#gnb{display: none;}
.pc-br{display: none;}
.more-btn-red{padding: 12px 36px;}
.more-btn-red span{font-size: 1.6em;}
/*visual*/
#visualCon{height: 460px;}
.main-visual-txt-con{padding-left: 100px;}
.main-visual-img{background-position: 70% 20%;}
.visual-txt-box .visual-slogan{font-size: 2.2em; line-height: 1.4;}
.visual-txt-box .visual-slogan strong{font-size: 2em;}
.slick-dots .progress-con .num{font-size: 1.8em;}
/*about us*/
#aboutUsCon .container{width: 800px;}
.aboutLeft h2, .contactUs-title h2{font-size: 2.4em; word-break: keep-all;}
/*product*/
#productCon{height: 610px;}
.product-title h2{font-size: 2.4em;}
.product-detail-con .tit{font-size: 1.8em;}
.main-product-img{width: 100%; height: 230px;}
.main-product-item{margin: 0 45px;}
.main-product-controls .controls-wrap{max-width: 460px;}
.main-product-controls .prev-btn{left: 0;}
.main-product-controls .next-btn{right: 0;}
.main-product-item .main-product-img::after{display: none;}
/*contact us*/
.quick-title{font-size: 2.2em;}
.more-btn-white span{font-size: 1.6em;}
/*사이트맵*/
#siteMap{background: linear-gradient(to right, #000000ab 50%, #fff 50%); color: #000;}
.sitemap-area{width: 45%; float: right;}
.mapWrap{flex-direction: column; padding-left: 1rem;}
#siteMap .button{display: none;}
#siteMap .button-close{opacity: 100;}
.mapWrap .navi{padding-bottom: 10px; align-items: flex-start;}
.sitemap-area h2{color: #000; font-size: 1.5rem; padding-bottom: 8px;} 
.sitemap-2dep li{margin: 0; text-align: left; padding-bottom: 5px;}
.sitemap-2dep li a{color: #000; font-size: 1.4rem;}
}

@media screen and (max-width: 820px){
.slick-dots{display: none !important}
/*about*/
.main-aboutUs-con{width: 100%;}
#aboutUsCon .container{width: 100%;}
.aboutRight{display: none;}
.aboutLeft{width: 100%;display: flex; flex-direction: column; justify-content: center; align-items: center; padding-bottom: 38px; text-align: center;}
#aboutUsCon{background: #fff;}
/*product*/
.main-product-controls .controls-wrap{display: none;}
.slick-slider{display: inline-block;}
.main-product-img{width: 100%;}
/*contact us*/
.contactUs-quickCon{flex-wrap: wrap;}
.contactUs-mapCon{height: 360px;}
.contactUs-txtBox{padding: 20px;}
.contactUs-txtBox h3{display: none;}
.more-btn-white{padding: 19px 84px;}
/*게시판*/
.license-list table > tbody > tr > td > table > tbody > tr{width: 100% !important;}
}
@media screen and (max-width: 768px){
/*vis*/
#visualCon{height: 330px;}
.main-visual-txt-con{padding-top: 110px;}
.visual-txt-box .visual-slogan strong{font-size: 1.4em;}
/*about*/
#aboutUsCon{padding: 20px;}
.aboutLeft{padding-bottom: 20px;}
.aboutLeft h4{margin-bottom: 14px;}
.aboutLeft p{margin: 20px 0 30px; font-size: 1.6em;}
.aboutLeft h2, .contactUs-title h2{font-size: 2em;}
/*product*/
#productCon{padding: 50px 0; height: 500px;}
.product-detail-con .tit{padding: 18px 0;}
.product-title{padding-bottom: 24px;}
.product-title h4{margin-bottom: 10px;}
.product-title h2{font-size: 2em;}
#productCon .pagingInfo{width: 32px; height: 30px; font-size: 20px;}
.main-product .pagingInfo .current{font-size: 20px; left: -10px; top: -8px;}
.main-product .pagingInfo .total{right: -10px; bottom: -8px;}
/*contact*/
#contactUsCon{padding-top: 50px;}
.contactUs-mapCon{margin-top: 20px;}
.contactUs-txtBox{width: 42%; top: 0; left: 20px;}
.contactUs-txtBox .more-btn-white{padding: 14px 42px;}
.contactUs-quickCon{text-align: center; height: 200px;}
.contactUs-title h4{margin-bottom: 14px;}
.txtBox-address dd:nth-child(2){font-size: 1.6em; margin-bottom: 15px; padding-bottom: 15px;}
.txtBox-police dd{font-size: 1.6em;}
.txtBox-police dd span{font-size: 16px;}
.quick-title{font-size: 2em; margin: 14px;}
.quick-detail{font-size: 1.6em; margin-bottom: 20px;}
.contactUs-quickCon .more-btn-white{margin-top: 0;}
.contactUs-quickCon{height: 400px;}
.quickLeft, .quickRight{width: 100%; height: 50%;}
/*footer*/
.f-info{flex-wrap: wrap;}
.f-police{margin-bottom: 20px; flex-wrap: wrap;}
.f-info dd{margin-right: 40px;}

}

@media screen and (max-width:650px) {
  .main-product-con
  {margin:0 20px;}
  .main-product-item
  {margin:0;}
  .main-product-con .slick-list
  {max-width:none; }
  .main-product-img
  {width:100%;}
  .main-product-img::before
  {display:none;}
  #productCon .pagingInfo{top:86%;}
  .main-product-item:not(.first) .product-detail-con{transform: none;}
}


@media screen and (max-width: 570px){
/*게시판*/
.license-list table > tbody > tr > td > table > tbody > tr{width: 100% !important;}
/*사이트맵*/
.sitemap-area h2{font-size: 1.3rem;}
.sitemap-2dep li a{font-size: 1.1rem;}
}

@media screen and (max-width: 450px){
  #top a{right: 0; width: 50px; height: 50px;}
  .main-visual-img{background-position: 80% 20%;}
.visual-txt-box .visual-slogan{text-shadow: 2px 2px 8px #000;}
.main-visual-controls .prev-btn{width: 20px;}
.main-visual-controls .next-btn{width: 20px;}
.main-visual-txt-con{padding-left: 70px;}
.product-title h2{text-align: center; padding:0 10px;}
.contactUs-txtBox{width: 100%; left: 0;}
.txtBox-police{display: flex; flex-wrap: wrap;}
.contactUs-mapCon{height: auto;}
.contactUs-txtBox{position: relative;}
#daumRoughmapContainer1731286789486{height: 360px;}
.contactUs-txtBox .more-btn-white{padding: 9px 12%; width: 100%;}
.aboutLeft h2, .contactUs-title h2{text-align: center;}
.txtBox-police dd{margin-left: 10px;}
.f-police{margin-bottom: 10px;}
.f-police dd{margin-right: 20px; font-size: 1.4em;}
.txtBox-police dd span{margin-right: 12px;}
.f-police a{font-size: 1rem;}
.f-info dd{font-size: 1rem; margin-right: 12px;}
#siteMap.open{background: #fff;}
.sitemap-area{width: 90%;}

}

@media screen and (max-width: 375px){
#productCon .pagingInfo{display: none;}


  
}
@media screen and (max-width: 340px){



  
}








