@charset "UTF-8";

.subcontent-wrap {
    padding:100px 0; box-sizing: border-box;
    background:
    /* url(../img/main/top-bg.png) no-repeat top center, */
    url(../img/main/bottom-bg.png) no-repeat bottom center;
    background-size: contain;
}
/* 회사소개 */
.sub0101 {}
/* 탭 */
.tab-wrap {padding:50px 0 100px 0;}
.tab-wrap  ul {
    display: flex;
    justify-content: center;
    gap:30px;
}
.tab-wrap ul li {
    padding: 10px 30px;
    border-radius: 50px;
    background: #f0f4fb;
}
.tab-wrap ul li.on a {color: #fff;}
.tab-wrap ul li:hover,.tab-wrap ul li.on{
    background: var(--Linear, linear-gradient(90deg, #037BEB 1.08%, #17C0F0 91.77%));
}
.tab-wrap ul li:hover a {color:#fff;
    text-decoration: none;
}
.tab-wrap ul li a{
    color: #091634;
    font-family: Paperlogy;
    font-size: 22px;
    font-weight: 600;
}


/* 탭 */

.bd_category_area {
    display: flex;
    justify-content: center;
    gap:30px;
    padding:50px 0 100px 0;
}
.bd_category_area li {
    padding: 10px 30px;
    border-radius: 50px;
    background: #f0f4fb;
}
.bd_category_area li.on a {color: #fff;}
.bd_category_area li:hover,
.bd_category_area  li.on{
    background: var(--Linear, linear-gradient(90deg, #037BEB 1.08%, #17C0F0 91.77%));
}
.bd_category_area li:hover a {color:#fff;
    text-decoration: none;
}
.bd_category_area li a{
    color: #091634;
    font-family: Paperlogy;
    font-size: 22px;
    font-weight: 600;
}


.title-wrap {display: flex; justify-content: center;}
.title-wrap h2 {
    color: #091634;
    font-family: Paperlogy;
    font-size: 55px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}
.company-info {
    display: flex;
    flex-direction: column;
    gap:30px 0;
    margin-top: 50px;;
}
.company-info h3 {
    margin-top: 50px;
    font-family: Paperlogy;
    font-size: 60px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    background: var(--Linear, linear-gradient(90deg, #037BEB 1.08%, #17C0F0 91.77%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center;
}
.company-info p {
    color: #091634;
    font-family: Paperlogy;
    font-size: 35px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}
.company-info div {
    color: #696F7F;
    text-align: center;
    font-family: Pretendard;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.map-info {
    margin-top: 150px;
}

.map-content {
    display: flex;
    justify-content: center;
    gap:50px;
    margin-top: 100px;
}
.map-content ul {display: flex; flex-direction: column; gap:15px;}
.map-content ul .title {font-size: 20px;}
.map-content ul ul {padding-left:15px;}
.map-content ul ul .title{color:#037BEB}
.map-content .title{
    width: 100px;
    color:#091634;
    display: block;
    font-weight: bold;

}

/* 연혁 */
.sub0102 {}
.history-wrap {
    position: relative;
}
.history-wrap:before{
    position: absolute;
    left:20px; 
    background: #091634;
    width: 2px;
    height: 100%;
    content: '';


}
.history-wrap ul {}
.history-wrap ul li{
    display: flex;
}
.history-wrap>ul>li{padding:30px 0;}
.history-wrap ul li h3{
    position: relative;
    width: 300px;
    font-size: 35px;
    display: flex;
    justify-content: center;
    align-items: start;
    font-weight: 800;
    color:#091634;
    flex-grow: 0;
    flex-shrink: 0;
}
.history-wrap ul li h3:before{
    display: block;
    width: 15px;
    height: 15px;
    background: #ffffff;
    border: 5px solid #037BEB;
    border-radius: 50%;
    content: '';
    left: 9px;
    top: 11px;
    position: absolute;
}
.history-wrap ul li div>ul{
    display: flex;
    flex-direction: column;
    gap:10px;
}
.history-wrap ul li div>ul>li {
    display: flex;
    gap:30px;
        font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;

}
.history-wrap ul li div>ul>li .month{
    color:  #037BEB;
    font-weight: 600;
    font-size: 20px;
    font-style: normal;
    line-height: normal;
}
/* 핵심역량 */
.core-list {}
.core-list>ul{
    display: flex;
    flex-direction: column;
    gap:30px;
}
.core-list>ul>li{
    display: flex;
    gap:50px;
}
.core-list>ul>li .title{
    width:300px;
    height: 150px;
    background: #091634;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px 0;
   
}
.lang-en .core-list>ul>li .title{
    width:300px;
    height: 150px;
    background: #091634;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px 0;
    flex-grow: 0;
    flex-shrink: 0;
   
}
.core-list>ul>li:nth-child(1) .title{
    background: #31c4ed;
}
.core-list>ul>li:nth-child(2) .title{
    background: #1e86c1;
}
.core-list>ul>li:nth-child(3) .title{
    background: #063057;
}
.core-list>ul>li .title h3{
    color:#fff;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-shadow: 0 0 10px rgb(0 0 0 / 28%);
}
.core-list>ul>li .content{
    display: flex;
    align-items: center;
    justify-content: start;
}
.core-list>ul>li .content>ul{}
.core-list>ul>li .content>ul>li {
    padding-left:15px;
    position: relative;
    font-weight: 500;
    font-size: 20px;
    font-style: normal;
    line-height: 180%;
    
}
.core-list>ul>li .content>ul>li:before {
    display: block;
    content: '';
    position: absolute;
    width: 4px;
    height:4px;
    background: #152855;
    left:0;
    top:12px;
}

.org-chart {
    display: flex;
    justify-content: center;
    padding: 50px 0;
  }
  
  .org-chart ul {
    position: relative;
    padding-top: 40px;
    text-align: center;
    list-style: none;
    margin: 0;
  }
  
  /* ───────────── 노드 ───────────── */
  .org-chart li {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0 20px;
  }
  
  /* ───────────── 수평 연결선 ───────────── */
  .org-chart li::before,
  .org-chart li::after {
    content: "";
    position: absolute;
    top: 0;
    width: 50%;
    height: 20px;
    border-top: 2px solid #b1c8dc;
  }
  
  .org-chart li::before {
    left: 0;
  }
  
  .org-chart li::after {
    right: 0;
  }
  
  /* 첫/마지막 자식 연결선 제거 */
  .org-chart li:only-child::before,
  .org-chart li:only-child::after {
    display: none;
  }
  .org-chart li:first-child::before {
    display: none;
  }
  .org-chart li:last-child::after {
    display: none;
  }
  
  /* ───────────── 부모-자식 수직선 ───────────── */
  .org-chart ul ul::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    border-left: 2px solid #b1c8dc;
    height: 40px;
    transform: translateX(-50%);
  }
  
  /* ───────────── 최상단(KRS→브랜치) 세로선 ───────────── */
  .org-chart > ul > li::before {
    content: "";
    position: absolute;
    top: 60px; /* KRS 하단 간격 */
    left: 50%;
    transform: translateX(-50%);
    border-left: 2px solid #b1c8dc;
    height: 40px;
    z-index: 0;
  }
  
  /* ───────────── 노드 스타일 ───────────── */
  .node {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #b1c8dc;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    font-size: 18px;
    font-weight: 700;
    color: #333;
    min-width: 150px;
    position: relative;
    z-index: 1;
  }
  .node.main:before {display: none;}
  .node:before {
    content: "";
    position: absolute;
    top: -22px;
    left: 50%;
    border-left: 2px solid #b1c8dc;
    height: 22px;
    transform: translateX(-50%);
  }
  
  /* ───────────── KRS / 중간 ───────────── */
  .node.main {
    background: linear-gradient(90deg, #037BEB 1.08%, #17C0F0 91.77%);
    color: #fff;
    font-weight: 600;
    font-size: 25px;
  }
  
  .node.branch {
    background: #dce9f9;
    color: #1e73be;
    font-weight: 700;
  }
  .node.branch:before {
    content: "";
    position: absolute;
    top: -22px;
    left: 50%;
    border-left: 2px solid #b1c8dc;
    height: 22px;
    transform: translateX(-50%);
  }
  

  /* ───────────── 하위 간격 보정 ───────────── */
  .org-chart ul ul {
    padding-top: 60px; /* 하위 단계 간격 */
    display: flex;
    justify-content: center;
   
  }
  .node.branch+ ul .node{
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .org-chart ul > li > ul > li::before,
  .org-chart ul > li > ul > li::after {
    top: -22px; /* 라인 위치 조정 */
  }
  
  

  /* 제품소개 */
  .product-info {display: flex; flex-direction: column; gap:50px;}
  .product-info>ul {display: flex; flex-direction: column; gap:50px;}
  .product-info>ul>li {
    border-radius: 30px;
    padding: 50px 40px; box-sizing: border-box;
    display: flex;
    gap:60px;
  }
  .product-info>ul li .right{
   
  }
  .product-info>ul>li .right .img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 550px;
    height: 370px;
    border-radius: 25px;
    overflow: hidden;
    padding:50px; box-sizing: border-box;
   background: #fff;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  }
  .product-info>ul>li .right .img-wrap img{ 
    width: 100%;
    height: 100%;
    object-fit: contain; /* 비율 유지하면서 전체가 보이게 */
    display: block;
    border: none;
   }
  .product-info>ul>li {
    display: flex;gap:30px;
    border-radius: 30px;
    /* background: linear-gradient(110deg, #e6eef7 9.12%, #d3dce3 71.39%); */
    background: #F6F8FA;
  }
  .product-info>ul>li>.left>ul {display: flex;
flex-direction: column; gap:30px;}
  .product-info>ul>li>.left ul li {
    display: flex;
    align-items: start;
    gap:30px;
  }
  .product-info>ul>li>.left ul li.video-wrap {
    flex-direction: column;
  }
  .product-info>ul>li>.left ul li .title{
    color: #2069bf;
    font-weight: bold;
    display: block;
    width: 130px;
    position: relative;
    padding-left:15px;
  }
  .lang-en .product-info>ul>li>.left ul li .title{
    color: #2069bf;
    font-weight: bold;
    display: block;
    width: 130px;
    position: relative;
    padding-left:15px;
    word-break: break-word;
  }
  .product-info>ul>li>.left ul li .title:before{
    content: '';
    width: 3px;
    height: 12px;
    background:#2069bf ;
    display: block;
    position: absolute;
    top:7px; left:0;
  }
  .product-info>ul>li>.left h3{
    color: #252525;
    font-family: Paperlogy;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    padding:30px 0; box-sizing: border-box;
  }
  .product-info>ul>li .label{
    color: #FFF;
    font-family: Pretendard;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: capitalize;
    border-radius: 4px;
    background: #2069BF;
    display: inline-block;
    padding: 5px 9px;
  }
.gallery-pro-list-wrap {
    padding:45px; box-sizing: border-box;
    border-radius: 30px; 
    /* background: linear-gradient(110deg, #e6eef7 9.12%, #d3dce3 71.39%); */
    background: #F6F8FA;
}
.product-info .gallery-pro-list  {
    /* display: flex;
    flex-direction: row;
    flex-wrap: wrap; */
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:60px 40px;
}
.product-info .gallery-pro-list li {
    gap:25px;
    width: 100%; flex-grow:1;display: flex; flex-direction: column;
}
.product-info .gallery-pro-list li .img-wrap{
    width: 100%;
    aspect-ratio: 4 / 3; /* 비율 4:3 (필요시 16/9로 변경 가능) */
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f8fafc; /* 배경색 여백용 */
    background: #fff;
    border-radius: 12px;
    overflow: hidden;padding:50px; box-sizing: border-box;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
}

.product-info .gallery-pro-list li .img-wrap img{
    width: 100%;
    height: 100%;
    object-fit: contain; /* 비율 유지하면서 전체가 보이게 */
    display: block;
    border: none;
}
.gallery-pro-list li h3 {
    text-align: center;
    overflow: hidden;
    color: #000;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: Paperlogy;
    font-size: 22px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.lang-en .product-info .gallery-pro-list li h3 {
    text-align: center;
    overflow: hidden;
    color: #000;
    text-overflow: ellipsis;
    display: -webkit-box;          /* 2줄 이상 말줄임을 위한 필수 속성 */
    -webkit-line-clamp: 2;         /* 표시할 최대 줄 수 */
    -webkit-box-orient: vertical;  /* 텍스트 방향을 수직으로 지정 */
    white-space: normal;           /* 줄바꿈 허용 */
    font-family: Paperlogy;
    font-size: 22px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;              /* 줄 간격 적당히 조정 */
    height: calc(1.4em * 2); 
}

.product-info2 {
    /* margin-top: 200px; */
}
.youtube-wrap {
    margin-top: 20px;
    text-align: center;
    flex:1;
  }
  .youtube-wrap iframe {
    max-width: 100%;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  }
  .link-wrap  {margin:0 0 30px 0;}
  .link-wrap a {
    display: inline-block;
    margin-right: 10px;
    background: #dae2e9;
    color: #152940;
    /* color: #fff; */
    padding: 6px 12px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 13px;
    font-weight: bold;
  }
  .link-wrap a:hover {
    background: #dae2e9;
    color: #1c5596;
  }
  .video-wrap>div {
    display: flex;
    align-items: center;
    gap:30px;
    /* flex-direction: column; */
  }
  .prod-info {
    background: #dff1f7;
    padding: 20px;
    margin-bottom: 10px;
  }


  .privacy {margin-bottom: 100px;}
  .privacy .top {
    width: 100%;
    text-align: center;
    margin-bottom: 5rem;
  }
 .privacy .section .box {
    color: var(--mono1);
    font-size: 1.25rem;
    font-weight: 300;
    padding: 2.5rem;
    border: 1px solid var(--mono7);
    border-radius: 40px;
    box-sizing: border-box;
 }
 .privacy .section h3{
    /* color: var(--mono1);
    font-size: 2.25rem;
    font-weight: 700;
    margin-bottom: 2.5rem; */
    font-size: 30px;
    margin-bottom: 2.5rem;
 }
 .privacy .section .box{}
 .privacy .section + .section {
    margin-top: 7.5rem;
 }
 
