

/* 인사말 (4:6 레이아웃) */
.greeting { position: relative; margin:0 auto 150px auto; max-width: 1600px; display: flex; justify-content: space-between; }
.greeting .txt { position: relative; margin: 0 40px 0 0; padding: 0; width: 50%; z-index: 1; }
.greeting .txt .point { max-width: 650px; word-break: keep-all; font-size: 40px; font-weight: 500; letter-spacing: -2px; margin-bottom: 20px; line-height: 1.4; }
.greeting .txt p { word-break: keep-all; max-width: 650px }
.greeting ul { margin: 30px 0}
.greeting ul li { line-height: 1.65; font-size: 20px; font-weight: 600}
.greeting .photo { width: 50%; position: relative; }
.greeting .photo img { width: 100%; }

/* 화면이 980px 이하로 줄어들 때 */
@media (max-width: 980px) {
  .greeting { flex-direction: column; align-items: center; }
  .greeting .txt { width: 100%; margin: 0 auto; padding: 40px 20px; }
  .greeting .txt .point { font-size: 38px; }
  .greeting .photo { width: 100%; max-width: 660px; margin: 0 auto; }
}






/*연혁1*/
.history_area {position: relative;width: 100%;padding-top: 100px;}
.history_area .history_point {position: absolute;left: 50%;top: 0;margin-left: -5px;bottom: 20px;width:8px;background-color: #f6f6f6;overflow: hidden;}
.history_area dl {width: 50%;padding-right: 94px;padding-left: 94px;box-sizing:border-box;}
.history_area dt {margin-bottom: 20px;font-size: 46px;line-height:1.3;color: #555;font-weight: bold;}
.history_area dd { margin-bottom: 15px}
.history_area dd strong {display: block;padding-bottom: 10px;font-size: 20px;line-height: 1.6;color: #1a1a1a;font-weight: 500;}
.history_area dd p {display: block; font-size: 18px; color: #555; line-height: 1.75}
.history_area dd .img_box {display: block;margin-top: 39px;}
.history_area .right {text-align: right;}
.history_area .left {text-align: left;}
.history_area .fr {float: right;}
.history_area .img_box img { max-width: 100%}



@media screen and (max-width: 992px) {
	.history_area .history_point {left: 10px;margin-left: 0;}
	.history_area dl {float: none !important;width: 100%;padding-right: 20px;padding-left: 50px;text-align: left;}
	.history_area div:nth-child(odd) dl {/* padding-right: 0; */padding-left: 50px;}
	.history_area div + div {margin-top: 40px;}
	.history_area div:nth-child(2) {margin-top: 0;}
	.history_area dt {margin-bottom: 20px;font-size:30px;}
	.history_area dd p br {display: none;}
	.history_area dd .img_box {margin-top: 20px;}	
}
/*연혁1*/


/*연혁2*/
.timeline { position: relative; } 
.timeline-nav { display: flex; justify-content: space-between; margin-bottom: 40px; position: relative; flex-wrap: wrap; } 
.timeline-nav::before { content: ''; position: absolute; top: 15px; left: 0; width: 100%; height: 1px; background: #0096e0; } 
.timeline-nav button { background: none; border: none; cursor: pointer; font-size: 20px; position: relative; padding-top: 40px; margin-bottom: 10px; width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 
.timeline-nav button::before { content: ''; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 10px; height: 10px; background: #0096e0; border-radius: 50%; } 
.timeline-nav button.active::after { display: block; content: ""; width: 29px; height: 29px; background: #fff; border: 11px solid #0096e0; position: absolute; top: 0; left: 50%; border-radius: 50%; transform: translateX(-50%) scale(1); transition: 0.5s; box-sizing: border-box; } 
.timeline-content { display: flex; flex-direction: row; } 
.timeline-left { width: 60%; padding-right: 40px; margin-top: 50px } 
.timeline-right { width: 40%; position: relative; } 
.timeline-year { font-size: 5em; color: #0096e0; font-weight: bold; margin-bottom: 20px; letter-spacing: -2px } 
.timeline-image { width: 100%; height: 300px; background-size: cover; background-position: center; } 
.timeline-item-wrapper { display: flex; padding-top: 140px; font-size: 18px; position: relative; } 
.timeline-year-column { flex-shrink: 0; width: 80px; color: #0096e0; } 
.timeline-year-line { width: 1px; background: #0096e0; position: absolute; top: 140px; bottom: 0; left: 90px; } 
.timeline-year-line::before { content: ''; position: absolute; top: 5px; left: -4px; width: 10px; height: 10px; background: #0096e0; border-radius: 50%; } 
.timeline-items { margin-left: 40px; flex-grow: 1; line-height: 1.6 } 
.timeline-item { display: flex; align-items: flex-start; margin-bottom: 26px; } 
.timeline-year-column > div, .timeline-item .description { min-height: 30px; display: flex; align-items: flex-start; color: #555; } 
.timeline-year-column > div { justify-content: flex-end; color: #0096e0; padding-right: 20px; padding-top: 5px; padding-bottom: 35px; font-weight: bold; } 
.timeline-item .description { padding-top: 5px; } 
.timeline-content-wrapper { display: none; } 
.timeline-content-wrapper.active { display: block; } 

@media (max-width: 1024px) { 
    .timeline-nav button { font-size: 18px; } 
    .timeline-year { font-size: 4em; } 
    .timeline-image { height: 250px; } 
    .timeline-item-wrapper { padding-top: 40px; font-size: 17px } 
    .timeline-year-line { top: 40px; } 
} 

@media (max-width: 768px) { 
    .timeline-content { flex-direction: column; } 
    .timeline-left { width: 100%; padding-right: 0; margin-bottom: 20px; } 
    .timeline-right { width: 100%; } 
    .timeline-year { font-size: 3em; } 
    .timeline-image { height: 200px; } 
    .timeline-item-wrapper { padding-top: 20px; font-size: 16px } 
    .timeline-year-column { width: 60px; } 
    .timeline-year-line { left: 70px; top: 20px; } 
    .timeline-items { margin-left: 30px; line-height: 1.0; } 
    .timeline-item .description { line-height: 1.2 } 
    .timeline-year-column > div { padding-bottom: 38px } 
} 

@media (max-width: 450px) { 
    .timeline-item-wrapper { align-items: flex-start; } 
    .timeline-year-column > div { padding-bottom: 0; height: auto; } 
    .timeline-item { flex-direction: column; margin-bottom: 20px; } 
    .timeline-item .description { margin-top: 5px; } 
}

/*연혁2*/






/*조직도*/
.sub_organization { width: 100%; padding-top: 100px; }
.sub_organization h4 { position: relative; margin: 0 auto; width: 280px; height: 100px; border: 2px solid #1c9b59; background: #fff; font-size: 28px; text-align: center; display: flex; justify-content: center; align-items: center; flex-direction: column; font-weight: 700;  color: #222; line-height: 1.3; }
.sub_organization h4:before { content: ''; position: absolute; left: 50%; transform: translateX(-50%); bottom: -53px; width: 1px; height: 53px; background: #ddd; z-index: -1; }
.sub_organization h4 span { font-size: 18px; color: #555; font-weight: 400; }
.sub_organization .dep { position: relative; padding: 100px 0; display: flex; justify-content: space-between; align-items: center; }
.sub_organization .dep:before { content: ''; position: absolute; top: 50px; left: 50%; transform: translate(-50%, -50%); width: 80%; height: 1px; background: #ddd; z-index: -1; }
.sub_organization .dep dl { position: relative; width: 20%; }
.sub_organization .dep dl:before { content: ''; position: absolute; top: -50px; left: 50%; width: 1px; height: 100%; background: #eee; z-index: -1; }
.sub_organization .dep dl dt { font-weight: 600; display: none}
.sub_organization .dep dl dt img { width: 100%; }
.sub_organization .dep dl > * { padding: 22px 0; text-align: center; font-size: 20px; }
.sub_organization .dep dl dd { border: 1px solid #ddd; color: #222; font-weight: bold; background-color: #fff; }
.sub_organization .dep2 { display: flex; justify-content: space-between; align-items: stretch; }
.sub_organization .dep2 > dl { position: relative; width: 20%; }
.sub_organization .dep2 > dl:before { content: ''; position: absolute; left: 50%; top: -100px; transform: translateX(-50%); width: 1px; height: 200px; background: #eee; z-index: -1; }
.sub_organization .dep2 dl dt { background: #ddd; color: #555; font-weight: 600; }
.sub_organization .dep2 dl > * { padding: 22px; font-size: 18px; text-align: center; }
.sub_organization .dep2 dl dd { border: 1px solid #ddd; background: #fff; }
.sub_organization .dep2 dl dd ul { font-size: inherit; }
.sub_organization .dep2 dl dd ul li { line-height: 2.2; font-size: inherit; }
@media screen and (max-width: 992px) { 
    .sub_organization .dep { font-size: 1.4rem; } 
    .sub_organization .dep dl dt { font-size: 18px; } 
    .sub_organization .dep dl dd { font-size: 16px; } 
    .sub_organization .dep2 dl dd ul li { font-size: 16px; } 
    .sub_organization .dep2 dl > * { font-size: 16px; line-height: 1.3; } 
    .sub_organization h4 { width: 200px; height: 200px; font-size: 2rem; border: 10px solid #1c9b59; } 
    .sub_organization h4 span { font-size: 1.0rem; } 
}
.mobile-only { display: none; }
.desktop-only { display: block; }

@media screen and (max-width: 768px) {
    .desktop-only { display: none; } 
    .mobile-only { display: block; } 
    #mobile-organization { width: 100%; padding: 20px 0; } 
    .mobile-org-row { display: flex; justify-content: space-between; margin-bottom: 30px; }
    .mobile-org-col { width: 48%; display: flex; flex-direction: column; } 
    .mobile-org-img { width: 100%; margin-bottom: 10px; } 
    .mobile-org-img img { width: 100%; height: auto; display: block; } 
    .mobile-org-department { border: 1px solid #ddd; background: #fff; padding: 15px 10px; text-align: center; margin-bottom: 10px; }
    .mobile-org-department p { margin: 0; font-size: 16px; font-weight: bold; color: #222; } 
    .mobile-org-sub { display: flex; flex-direction: column; } 
    .mobile-org-sub-item { border: 1px solid #ddd; background: #fff; padding: 12px 10px; text-align: center; margin-bottom: 5px; } 
    .mobile-org-sub-item span { margin: 0; font-size: 14px; color: #222; }
}



/*조직도*/

.company_profile img { width: 100%}
.pdf_donwn { display: flex; align-items: center;justify-content: center;  margin-right: 0;  width: 100%; margin: 20px 0 }
.pdf_donwn a { margin-left: 0;  text-decoration: none; color: #fff; padding: 20px; background-color: #242424; font-size: 16px;  text-align: center; width: 160px;}



  /* 폼메일 */
    .form-container { padding: 20px;max-width: 1400px; margin: 0 auto;}
    .form-section { display: flex; align-items: center; gap: 100px; margin-bottom: 20px; font-size: 17px; }
    .form-section label { width: 110px; color: #000; font-size: 19px; font-weight: 600; }
    .form-section .input-group, .form-section input, .form-section textarea, .form-section { flex: 1; }
    .form-section input[type=password] { font-size: 0.9rem; border: 1px solid #ddd; padding: 0.5rem; }
    .input-group { display: flex; align-items: center; gap: 10px; }
    .input-group input { flex: 1; padding: 10px; border: 1px solid #ddd; }
    .radio-group { display: flex; gap: 50px; justify-content: center; font-weight: 500; }
    .radio-group.status label { text-align: left; font-size: 17px; font-weight: 500; }
     textarea { width: 100%; height: 150px; padding: 10px; border: 1px solid #ccc; }
    .file-button { padding: 8px 16px; background-color: #ccc; border: none; cursor: pointer; }
    .file-selection { display: flex; align-items: center; gap: 10px; }
    .file-status { color: #555; font-size: 14px; }
    .note { color: #555; font-size: 12px; margin-top: 10px; text-align: left; }
    .button-container { text-align: center; margin-top: 20px; }
    button[type="submit"] { background-color: #000; color: #fff; padding: 20px 30px; border: none; cursor: pointer; font-size: 17px; }

    /* 반응형 디자인 */
    @media (max-width: 1000px) {
      .form-section { flex-direction: column; align-items: flex-start; gap: 20px; }
      .radio-group { flex-direction: column; gap: 30px; }
      .input-group { flex-wrap: wrap; }
      .radio-group.status label { text-align: left; }
    }

    p.note { font-size: 0.9em; color: #555; margin: 5px 0 0 0; }

/*오시는 길*/
.location .maparea { display: flex; flex-wrap: wrap; margin-bottom: 100px; padding-bottom: 100px; border-bottom: 1px solid #ccc; }
.location .maparea:last-child { margin-bottom: 0; border-bottom: 0; }
.location .maparea .map { width: calc(100% - 740px); height: 562px; }
.location .maparea .loca_info_box { width: 740px; padding: 80px 65px; box-sizing: border-box; border-top: 1px solid #111; border-bottom: 1px solid #111; }
.location .maparea h3 { color: #171717; font-size: 36px; font-weight: 800; letter-spacing: -0.36px; }
.location .maparea .loca_address { color: #171717; font-size: 19px; letter-spacing: -0.2px; margin-top: 32px; }
.location .maparea .loca_contact { color: #646464; font-size: 17px; letter-spacing: -0.16px; margin-top: 15px; }
.location .maparea .loca_guide { margin-top: 48px; }
.location .maparea .loca_guide dl { display: flex; align-items: flex-start; }
.location .maparea .loca_guide dl + dl { margin-top: 12px; }
.location .maparea .loca_guide dt { width: 100px; text-align: center; margin-right: 16px; border-radius: 110px; color: #fff; font-size: 17px; font-weight: 500; line-height: 46px; letter-spacing: -0.16px; }
.location .maparea .loca_guide dd { width: calc(100% - 118px); color: #646464; font-size: 17px; line-height: 2.1; letter-spacing: -0.18px; }
.location .maparea .loca_guide .loca_sub1 { background-color: #3cb44a; }
.location .maparea .loca_guide .loca_bus1 { background-color: #386de8; }
.location .maparea .loca_guide .loca_sub2 { background-color: #3cb44a; }
.location .maparea .loca_guide .loca_bus2 { background-color: #87c700; }
.location .maparea .loca_guide .loca_sub3 { background-color: #3cb44a; }
.location .maparea .loca_guide .loca_bus3 { background-color: #87c700; }

@media screen and (max-width: 1200px) {
  .location .maparea .map { width: calc(100% - 635px); height: 562px; }
  .location .maparea .loca_info_box { width: 635px; padding: 55px 40px; box-sizing: border-box; }
}

@media screen and (max-width: 992px) {
  .location .maparea { margin-bottom: 50px; padding-bottom: 50px; }
  .location .maparea .map { width: 100%; height: 350px; }
  .location .maparea .loca_info_box { width: 100%; padding: 40px 20px; }
  .location .maparea h3 { font-size: 24px; letter-spacing: -0.24px; }
  .location .maparea .loca_guide { margin-top: 20px; }
  .location .maparea .loca_address { font-size: 17px; letter-spacing: -0.18px; margin-top: 22px; }
  .location .maparea .loca_guide dt, .location .maparea .loca_guide dd { font-size: 15px; }
}

/*오시는 길*/



/*프로필*/
.profile-wrapper { max-width: 1600px; margin: 0 auto; display: flex; gap: 5rem; align-items: flex-start; padding: 1rem; box-sizing: border-box; }
.profile-left { flex: 0 0 400px; display: flex; flex-direction: column; align-items: flex-start; }
.profile-photo { width: 100%; height: auto; object-fit: cover; margin-bottom: 1rem; }
.profile-name { font-size: 1.6rem; margin-bottom: 0.3rem; }
.en-name { font-size: 1rem; color: #555; margin-left: 0.4rem; }
.profile-title { font-size: 0.95rem; color: #666; margin-bottom: 0.3rem; }
.profile-right { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.info-left { display: flex; flex-direction: column; gap: 2rem; }
.info-right { display: flex; flex-direction: column; }
.info-section h2 { font-size: 1.1rem; margin-bottom: 0.5rem; border-bottom: 1px solid #ddd; padding-bottom: 0.3rem; }
.info-section ul { list-style: disc; }
.info-section li { margin: 0.6rem 0; font-size: 17px; color: #555; line-height: 1.4; }
@media screen and (max-width: 768px) { 
    .profile-wrapper { flex-direction: column; align-items: stretch; padding: 0; } 
    .profile-left { flex: none; width: 100%; margin-bottom: 1rem; } 
    .profile-right { display: flex; flex-direction: column; } 
    .info-left, .info-right { width: 100%; } 
    .info-section h2 { font-size: 1rem; } 
}
/*프로필*/



/*탭*/
.tl_tab { padding-bottom: 30px; } 
.tl_tab ul { display: flex; flex-wrap: wrap; justify-content: center; padding: 0; margin: 0 auto; max-width: 450px;  /* 최대 너비 증가 */ list-style-type: none; gap: 20px;  /* 버튼 사이의 간격 */ } 
.tl_tab.ts2 ul li { width: calc(50% - 10px);  /* 50%에서 간격의 절반만큼 뺌 */ } 
.tl_tab.ts2 ul li a { display: flex; justify-content: center; align-items: center; height: 55px; font-size: 15px; color: #222; text-decoration: none; border: 1px solid #ddd; border-radius: 27.5px;  /* 타원형을 위해 height의 절반으로 설정 */ transition: all 0.3s ease; padding: 0 20px;  /* 좌우 패딩 추가 */ white-space: nowrap;  /* 텍스트가 한 줄로 유지되도록 */ overflow: hidden;  /* 넘치는 텍스트 숨김 */ text-overflow: ellipsis;  /* 넘치는 텍스트를 ...으로 표시 */ } 
.tl_tab.ts2 ul li a.on { background-color: #3181cb; color: #fff; } 
@media screen and (max-width: 576px) { 
    .tl_tab ul { max-width: 100%; gap: 10px;  /* 모바일에서는 간격을 좁힘 */ } 
    .tl_tab.ts2 ul li { width: calc(40% - 5px);  /* 모바일에서 간격 조정 */ } 
    .tl_tab.ts2 ul li a { padding: 0 10px;  /* 모바일에서는 패딩을 줄임 */ } 
} 
/*탭*/



.tl_pop_con{background:#fff;} 
.tl_pop_con h2.f_pop_tit{width:100%;height:80px;line-height:80px;background:#076aa3;font-size:20px;color:#fff;}
.tl_pop_con h2.f_pop_tit img {display:inline-block;margin-left:50px;margin-right:5px;margin-top:-10px;width:120px;}
.tl_pop_con h2.f_pop_tit span {display:inline-block; padding-left:50px;}
.f_pop_wrap {line-height:23px;text-align:justify;word-break:break-all;font-size:15px;overflow-y:auto;}
.f_pop_wrap strong {color:#00a19a;font-weight:normal;}
.f_pop_wrap p { color:#333; padding:40px 50px; line-height:1.6;}
.mfp-close:after { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url("../img/btn_close_w.png") no-repeat center center; -webkit-transition: -webkit-transform 300ms; transition: -webkit-transform 300ms; transition: transform 300ms; transition: transform 300ms, -webkit-transform 300ms; border-radius: 50%; }
.mfp-close { width: 40px; height: 40px; text-indent: -999px;opacity: 1; overflow: hidden; background-color:transparent; border:0; }
button.mfp-close:hover:after { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }