@charset "utf-8";

/* ============================== [ 공통 ] ========================================================================================== */
.sub_hero {padding-top: 205px; height: 520px; background: url(../images/sub/sub_hero.png) no-repeat center; background-size: cover; text-align: center;}
.sub_hero strong {color: #9999FF; font-size: 28px; font-weight: 600; display: block;}
.sub_hero h2 {font-size: 60px; color: #fff; font-weight: 700; line-height: 1.3; margin-top: 30px;}

.sub_tab {background-color: rgba(64, 55, 137, 0.55); margin-top: -60px;}
.sub_tab .inner ul {display: flex; flex-wrap: wrap;}
.sub_tab .inner ul li {flex:1;}
.sub_tab .inner ul li a {padding: 20px 0; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; font-size: 20px; font-weight: 500; letter-spacing: -0.08px;}
.sub_tab .inner ul li a.active {background-color: #403789;}

.sub_section {padding: 120px 0;}
.page_title {margin-bottom: 40px; font-size: 40px; font-weight: 700; color: #333; line-height: 1.5;}
.sub_intro {min-height: 360px; text-align: center; margin-bottom: 60px;}
.sub_intro.tl {text-align: left;}
.sub_intro .inner {display: flex; flex-direction: column; justify-content: center; height: 100%; min-height: 360px;}
.sub_intro h3 {font-size: 32px; font-weight: 700; line-height: 1.3; color: #333;}
.sub_intro h3 strong {color: #403789;}
.sub_intro p {color: #666; font-size: 20px; font-weight: 500; line-height: 1.6;}
.sub_intro h3 ~ p {margin-top: 20px;}
.sub_intro p ~ h3 {margin-top: 30px;}

/* 페이지별 이미지 변경 */
.sub_intro.intro {background: url(../images/sub/bg_intro.png) no-repeat right center; background-size: cover;}
.sub_intro.core {background: url(../images/sub/bg_core.png) no-repeat center; background-size: cover;}
.sub_intro.org_chart {background: url(../images/sub/bg_org.png) no-repeat center; background-size: cover;}
.sub_intro.history {background: url(../images/sub/bg_history.png) no-repeat center; background-size: cover;}

@media screen and (max-width:1200px) {
  .sub_hero {padding-top: 115px; height: 400px;}
  .sub_section {padding: 80px 0;}
  .page_title {margin-bottom: 30px; font-size: 36px;}
}
@media screen and (max-width:768px) {
  .sub_intro,
  .sub_intro .inner {min-height: 320px;}
  .sub_hero {padding-top: 100px; height: 320px;}
  .sub_hero strong {font-size: 20px;}
  .sub_hero h2 {font-size: 30px; margin-top: 15px;}
  .sub_tab {margin-top: -86px;}
  .sub_tab .inner {padding: 0;}
  .sub_tab .inner ul li {flex:none; width: 33.33%;}
  .sub_tab .inner ul li a {font-size: 14px; padding: 12px 0;}
  .sub_section {padding: 60px 0;}
  .page_title {margin-bottom: 20px; font-size: 30px;}
  .sub_intro {margin-bottom: 40px;}
  .sub_intro h3 {font-size: 24px;}
  .sub_intro p {font-size: 16px;}
  .sub_intro h3 ~ p {margin-top: 15px;}
  .sub_intro p ~ h3 {margin-top: 15px;}
}
/* ============================== [ 회사소개 ] ========================================================================================== */
.intro_txt p {color: #666; font-size: 18px; line-height: 1.5;}

@media screen and (max-width:768px) {
  .intro_txt p {font-size: 14px;}
}

/* ============================== [ 비전미션 ] ========================================================================================== */
.vision_wrap {padding: 140px 0; background: url(../images/sub/bg_vision.png) no-repeat center; background-size: cover;}
.vision_wrap .inner {text-align: center;}
.vision_wrap .inner .desc {font-size: 32px; font-weight: 500;}
.vision_wrap .inner h3 {margin-top: 10px; font-size: 36px; font-weight: 700;}
.vision_wrap .inner h3 strong {color: #403789;}
.vision_wrap .path {margin-top: 60px; display: flex; align-items: center; justify-content: center; padding: 0 20px;}
.vision_wrap .path > div {display: flex; flex-direction: column; justify-content: center;}
.vision_wrap .item_01 {padding: 0 28px; background: url(../images/sub/vision_01.png) no-repeat; width: 398px; height: 460px; margin-right: -76px; background-size: 100% auto;}
.vision_wrap .item_01 strong {color: #FF6A25; font-weight: 800; font-size: 32px; border-bottom: 1px solid #FF6A25; display: block; padding-bottom: 8px; line-height: 1;}
.vision_wrap .item_01 h4 {margin-top: 28px; font-size: 22px; font-weight: 600;}
.vision_wrap .item_01 p {margin-top: 10px; font-size: 18px; color: #666;}
.vision_wrap .item_02 {align-items: center; background: url(../images/sub/vision_02.png) no-repeat; height: 398px; width: 460px; text-align: center; background-size: 100% auto;}
.vision_wrap .item_02 strong {width: 140px; color: #fff; font-weight: 800; font-size: 32px; border-bottom: 1px solid #fff; display: block; padding-bottom: 12px; line-height: 1; text-align: center; position: relative;}
.vision_wrap .item_02 strong::after {display: block; content: ''; width: 100%; height: 1px; position: absolute; left: 0; bottom: 4px; background-color: #fff;}
.vision_wrap .item_02 p {margin-top: 36px; font-weight: 600; font-size: 22px; color: #fff; line-height: 1.3;}
.vision_wrap .item_02 h4 {color: #9999FF; font-size: 32px; margin-top: 10px; font-weight: 700;}

.mission {margin-top: 60px;}
.mission .txt_wrap {text-align: center;}
.mission .txt_wrap ~ .txt_wrap {margin-top: 60px;}
.mission .txt_wrap h3 {font-size: 40px; font-weight: 500; line-height: 1.5; color: #403789;}
.mission .txt_wrap p {font-size: 20px; margin-top: 20px; font-weight: 500; color: #666;}
.mission ul {margin-top: 40px; display: flex; flex-wrap: wrap; gap:24px;}
.mission ul li {flex:1; text-align: center;}
.mission ul li i {display: block; width: 120px; height: 120px; margin: 0 auto; background-position: center; background-size: 100% auto; background-position: center; background-repeat: no-repeat;}
.mission ul li:nth-child(1) i {background-image: url(../images/sub/mission_01.svg);}
.mission ul li:nth-child(2) i {background-image: url(../images/sub/mission_02.svg);}
.mission ul li:nth-child(3) i {background-image: url(../images/sub/mission_03.svg);}
.mission ul li:nth-child(4) i {background-image: url(../images/sub/mission_04.svg);}
.mission ul li h3 {padding-top: 35px; margin-top: 35px; border-top:2px solid #333; font-weight: 700; color: #403789; font-size: 22px; line-height: 1.4;}
.mission ul li p {margin-top: 20px; color: #666;line-height: 1.5;font-size: 18px;}

@media screen and (max-width: 1200px) {
  .vision_wrap {padding: 100px 0;}
}
@media screen and (max-width: 800px) {
  .vision_wrap .path {flex-direction: column; margin-top: 40px;}
  .vision_wrap .inner .desc {font-size: 20px;}
  .vision_wrap .inner h3 {font-size: 24px;}
  .vision_wrap .item_01 {margin-right: 0; width: 320px; height: 372px;}
  .vision_wrap .item_01 h4 {font-size: 20px; margin-top: 22px;}
  .vision_wrap .item_01 p {margin-top: 8px; font-size: 16px;}
  .vision_wrap .item_02 {margin-top: -40px; width: 372px; height: 320px;}
  .vision_wrap .item_02 strong {font-size: 28px;}
  .vision_wrap .item_02 p {margin-top: 24px; font-size: 20px;}
  .vision_wrap .item_02 h4 {font-size: 24px; margin-top: 8px;}

  .mission {margin-top: 40px;}
  .mission .txt_wrap ~ .txt_wrap {margin-top:40px;}
  .mission .txt_wrap h3 {font-size: 32px;}
  .mission .txt_wrap p {font-size: 18px; margin-top: 10px;}
  .mission ul {gap:30px 20px; margin-top: 30px;}
  .mission ul li i {width: 100px; height: 100px;}
  .mission ul li {flex:none; width: calc(50% - 10px);}
  .mission ul li h3 {padding-top: 20px; margin-top: 20px;}
}
@media screen and (max-width: 500px) {
  .mission ul li {width: 100%;}
}

/* ============================== [ 핵심 경쟁력 ] ========================================================================================== */
.core_li {margin-top: 60px; display: flex; flex-wrap: wrap; gap:30px;}
.core_li li {width: calc(33.33% - 20px); border-top:2px solid #403789; padding: 32px 28px;}
.core_li li i {display: block; margin: 0 auto; width: 80px; height: 80px; background-position: center; background-repeat: no-repeat; background-size: 100% auto;}
.core_li li:nth-child(1) i {background-image: url(../images/sub/core_01.svg);}
.core_li li:nth-child(2) i {background-image: url(../images/sub/core_02.svg);}
.core_li li:nth-child(3) i {background-image: url(../images/sub/core_03.svg);}
.core_li li:nth-child(4) i {background-image: url(../images/sub/core_04.svg);}
.core_li li:nth-child(5) i {background-image: url(../images/sub/core_05.svg);}
.core_li li h3 {margin-top: 20px; font-size: 22px; line-height: 1.5; font-weight: 700; text-align: center;}
.core_li li p {margin-top: 20px; font-size: 18px; color: #666; line-height: 1.5;}

@media screen and (max-width: 768px) {
  .core_li {margin-top: 40px;gap:20px;}
  .core_li li {width: calc(50% - 10px); padding: 20px 5px;}
}

@media screen and (max-width: 500px) {
  .core_li li  {width: 100%;}
}

/* ============================== [ 조직도 ] ========================================================================================== */
.org_chart {margin-top: 60px; display: flex; flex-direction: column; align-items: center;}
.org_chart .lv_01 {display: flex; align-items: center; justify-content: center; width: 130px; height: 150px; background: url(../images/sub/org_chart.svg) no-repeat 0 0; background-size: 100% auto; position: relative;}
.org_chart .lv_01::after {display: block; content: ''; height: 112px; width: 1px; background-color: #c8c8c8; position: absolute; left: 50%; top: calc(100% + 18px);}
.org_chart .lv_01 .item {font-size: 24px; color: #fff; font-weight: 700; }

.org_chart .lv_02 {display: flex; gap:36px; justify-content: space-between; width: 756px; margin-top: 46px;}
.org_chart .lv_02 .item {position: relative; flex:1;}
.org_chart .lv_02 .item p {display: flex; align-items: center; justify-content: center; background-color: #F8F8F8; border-radius: 80px; width: 226px; height: 56px; font-size: 18px; font-weight: 700; text-align: center;}
.org_chart .lv_02 .item:nth-child(2) p {margin-left: auto;}
.org_chart .lv_02 .item::after {display: block; content: ''; width: 106px; height: 1px; background-color: #c8c8c8; position: absolute; top: calc(50% - 0.5px);}
.org_chart .lv_02 .item::before {display: block; content: ''; width: 10px; height: 10px; background-color: #403789; border-radius: 50%; position: absolute;  top: calc(50% - 5px);}
.org_chart .lv_02 .item:nth-child(1):after {right: 0;}
.org_chart .lv_02 .item:nth-child(2):after {left: 0;}
.org_chart .lv_02 .item:nth-child(1)::before {right: 106px;}
.org_chart .lv_02 .item:nth-child(2)::before {left: 106px;}
.org_chart .lv_03 {margin-top: 46px; width: 100%;}
.org_chart .lv_03 ul {display: flex; justify-content: space-between; flex-wrap: wrap;}
.org_chart .lv_03 ul li { position: relative; width: 210px;}
.org_chart .lv_03 ul li .item {width: 120px; height: 120px; border-radius: 50%; background-color: rgba(88, 76, 186, 0.75); margin: 0 auto 98px; color: #fff; font-size: 18px; line-height: 1.5; display: flex; align-items: center; justify-content: center; color: #fff; text-align: center; position: relative;}
.org_chart .lv_03 ul li .item::after {display: block; content: ''; width: 1px; height: 56px; background-color: #c8c8c8; position: absolute; left: calc(50% - 0.5px); top: calc(100% + 18px);}
.org_chart .lv_03 ul li .item::before {display: block; content: ''; width: 10px; height: 10px; background-color: #403789; border-radius: 50%; position: absolute;  top: calc(100% + 18px + 56px); left: calc(50% - 5px);}
.org_chart .lv_03 ul li .lv_04 {width: 100%; height: 64px; display: flex; align-items: center; justify-content: center; text-align: center; border:1px solid #403789; border-radius: 80px;}
.org_chart .lv_03 ul li .lv_04 ~ .lv_04 {margin-top: 8px;}

@media screen and (max-width: 1200px) {
  .org_chart .lv_02 {width: 100%; gap:24px;}
  .org_chart .lv_02 .item p {width: 200px; height: 52px; font-size: 16px;}
  .org_chart .lv_03 ul {gap:15px; }
  .org_chart .lv_03 ul li {width: calc(20% - 12px);}
  .org_chart .lv_03 ul li .item {width: 104px; height: 104px; font-size: 16px;}
  .org_chart .lv_03 ul li .lv_04 {height: 56px; font-size: 12px; letter-spacing: -0.4px;}
}

@media (max-width: 768px) {
  .org_chart {margin-top: 40px;}
  .org_chart .lv_01 { width: 100px;height: 120px;}
  .org_chart .lv_01::after {display: none;}
  .org_chart .lv_01 .item {font-size: 18px;}
  .org_chart .lv_02 {flex-direction: column; gap: 12px; width: 100%; margin-top: 24px;}
  .org_chart .lv_02 .item::before,
  .org_chart .lv_02 .item::after {display: none;}
  .org_chart .lv_02 .item p { width: 100%; height: auto; padding: 12px; font-size: 15px;}
  .org_chart .lv_03 ul { flex-direction: column; gap: 24px;}
  .org_chart .lv_03 ul li {width: 100%;}
  .org_chart .lv_03 ul li .item { margin: 0 auto 12px; padding: 14px; font-size: 16px;}
  .org_chart .lv_03 ul li .item::before,
  .org_chart .lv_03 ul li .item::after {display: none;}
  .org_chart .lv_03 ul li .lv_04 { font-size: 14px; height: 40px;}
}

/* ============================== [ 주요연혁 ] ========================================================================================== */
.history_wrap {margin-top: 60px;}
.history_wrap .group {padding-left: 50px; padding-bottom: 60px; position: relative;}
.history_wrap .group::before {display: block; content: ''; width: 1px; height: 100%; position: absolute; left: 10px; top: 0; background-color: #E5E5E5;}
.history_wrap .group:last-child {padding-bottom: 0;}
.history_wrap .group h4 {font-weight: 700; font-size: 36px; line-height: 1; position: relative;}
.history_wrap .group h4 i {width: 20px; height: 20px; border-radius: 50%; border:1px solid #403789; position: absolute; left: -50px; top: 0; background-color: #fff;}
.history_wrap .group h4 i::after {display: block; content: ''; border-radius: 50%; width: 10px; height: 10px; background-color: #403789; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.history_wrap .group ul li {margin-top: 20px; font-weight: 500; font-size: 26px; color: #666;}

@media screen and (max-width: 1200px) {
  .history_wrap {margin-top: 40px;}
  .history_wrap .group {padding-bottom: 40px;}
  .history_wrap .group h4 {font-size: 32px;}
  .history_wrap .group ul li {font-size: 22px;}
}
@media screen and (max-width: 768px) {
  .history_wrap .group {padding-bottom: 40px; padding-left: 40px;}
  .history_wrap .group h4 {font-size: 28px;}
  .history_wrap .group ul li {font-size: 18px;}
  .history_wrap .group h4 i {left: -40px;}
}

/* ============================== [ 오시는 길 ] ========================================================================================== */
.map.inner {margin-top: 40px;}
.map_area {width: 100%; height: 580px;}
.map_area .dummy {width: 100%; height: 100%; object-fit: cover; display: block;}
.map_info {margin-top: 60px;}
.map_info h3 {font-size: 20px; font-weight: 500; color: #403789; line-height: 1.6;}
.map_info address {margin-top: 30px; font-weight: 500; font-size: 24px; line-height: 1.4;}
.map_info p {line-height: 1.5; margin-top: 2px; font-size: 18px; color: #666;}
.map_tel {border-top:1px solid #DEDEDE; margin-top: 60px; padding-top: 60px; display: flex; gap:20px 66px;}
.map_tel h3 {font-size: 18px; line-height: 1.5;}
.map_tel ul li {font-size: 18px; color: #666; line-height: 1.5; padding-left: 32px; background-position: left center; background-size: 20px; background-repeat: no-repeat;}
.map_tel ul li:nth-child(1) {background-image: url(../images/sub/icon_map_01.svg);}
.map_tel ul li:nth-child(2) {background-image: url(../images/sub/icon_map_02.svg); background-size: 24px auto;}
.map_tel ul li:nth-child(3) {background-image: url(../images/sub/icon_map_03.svg);}
.map_tel ul li ~ li {margin-top: 15px;}
@media screen and (max-width: 768px) {
  .map.inner {margin-top: 0;}
  .map_info {margin-top: 40px;}
  .map_tel {flex-direction: column; margin-top: 40px; padding-top: 40px;}
  .map_area {height: 300px;}
  .map_info address {margin-top: 20px; font-size: 22px;}
  .map_info p {font-size: 16px;}
}