/* ===== MAIN - VISUAL ===== */


.dl, .dl2{ display:flex;}
.dl dt, .dl2 dt{flex-shrink: 0;}
.dl dd, .dl2 dd{flex-grow: 1;}



.hid {position: absolute;margin: -1px; padding: 0; width: 1px; height: 1px;border: 0;clip: rect(0, 0, 0, 0);overflow: hidden;}
/* slick slide common */
.slick-slider {-webkit-transition: all ease-in-out 0.3s; transition: all ease-in-out 0.3s; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent;}
.slick-slide {display: none; height: 100%; min-height: 1px; vertical-align: middle;}
.slick-list {overflow: hidden;}
.slick-list.dragging {cursor: pointer;}
.slick-initialized .slick-slide {display: inline-block;}
.slick-arrow.slick-hidden {display: none;}
.slick-current {opacity: 1; display: block;}
.slick-track {position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto;}

/* slick arrow show */
.arwShow .slick-arrow.slick-hidden { display: inline-block; }


/* 메인비주얼 */
.MVisual { position: relative; width:100%; height:74vh; overflow:hidden; }

.MVisual .slider {overflow: hidden; background: rgba(0, 0, 0, 0.5);  isolation: isolate; }
.MVisual .slider,
.MVisual .slick-list,
.MVisual .slick-track {height: 100%; }
.MVisual .item { position: relative; background-size:cover; background-position:50% 50%; }
.MVisual .item .inner{ height:100%;}
.MVisual .area{ position:absolute; top:48%;transform: translateY(-50%);left:0; z-index:2; width:100%; color:#fff; }
.MVisual .area h1{ font-size:86px;font-family: 'Paperlogy'; font-weight:700;}
.MVisual .area h1 strong{font-family: 'Paperlogy'; font-weight:700;}
.MVisual .area h3{ font-size:36px;font-family: 'Paperlogy'; font-weight:400;  margin-bottom: 25px; }
.MVisual .area p{ position: absolute; right: 0; bottom: -130%; font-size:30px; text-align: right;}
.MVisual .area p  strong{ font-size:40px; text-align: right; display: block; margin-bottom: 11px;}

.MVisual .type1 h2{}
.MVisual .area p{}
.MVisual .type2 p{ margin:20px 0 35px 0;}


.MVisual .control { position: absolute; bottom: 20px; right: 0; height: 2rem; display: flex;  align-items: center; z-index: 2; background: rgba(0, 0, 0, 0.3); padding: 13px 30px;  border-radius: 30px;}
.MVisual .control .page { color: #fff;  margin-right: 1rem; }
.MVisual .control .page span { position: relative; display: inline-block; padding-left:85px; color: #ebebeb; }
.MVisual .control .page span::before { position: absolute; top: 50%; left:20px; width:50px; height:1px; border-top:1px #fff solid; background: #fff; content: ""; }
.MVisual .control a { color: #fff;  padding: 0 0.1rem; }
.MVisual .control a.play { display: none; }


.MVisual .cs-call{ position: absolute; bottom: 0; left:0; display: flex; width:100%; align-items: center;  z-index: 2; color:#fff; }
.MVisual .cs-call:before, .MVisual .cs-call:after{ content:''; position:absolute; bottom:0;width:500px;height:100%;}
.MVisual .cs-call:before{  left:-500px;background:#0072bc;}
.MVisual .cs-call:after{ right:-500px;background:#092430;}
.MVisual .cs-call .s01, .MVisual .cs-call .s02{ padding:35px 0; font-size:25px; height:30px;}
.MVisual .cs-call .s01{ width:32%;background: linear-gradient(315deg, rgba(0, 88, 178, 1) 38%, rgba(0, 114, 188, 1) 100%);  font-weight:600;}
.MVisual .cs-call .s02{ background:#092430; width:calc(100% - 32%); display:flex;justify-content:flex-end;  align-items: center;font-weight:300; }
.MVisual .cs-call .s02 strong{ color:#60c0ff; font-weight:600; margin-right:30px; display:flex;align-items: center;}
.MVisual .cs-call .s02 strong i{ font-size:30px; font-weight:normal; margin-right:10px;}
.MVisual .cs-call .s02 p+p{ position:relative; margin-left:20px; padding-left:20px;}
.MVisual .cs-call .s02 p+p:before{ content:''; position:absolute; top:50%; left:0; width:1px; height:15px; border-left:1px solid rgb(255,255,255,0.3);transform: translateY(-50%);}
.MVisual .cs-call .s02 p span{font-weight:600; margin-left:10px; letter-spacing:0;}
#visualSlide { width: 100%; position: relative; overflow: hidden; }
#visualSlide .item { width: 100%; height: 100%; background-image: var(--pc-img); background-repeat: no-repeat; background-position: center center; background-size: cover; box-sizing: border-box; }


.quickmenu { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; padding: 55px 0;  border-bottom: 2px solid #131820;}
.qm_body { display: flex; flex: 3; flex-wrap: wrap; gap: 20px;  min-width: 300px;}
.qm_btn { display: flex; flex: 1;  gap: 10px; flex-wrap: wrap; justify-content: flex-end; align-items: center;  min-width: 200px;}
.consultation-item { display: flex; align-items: flex-start; gap: 24px; margin-right: 8%;}
.icon {  font-size: 24px; color: #007bff; flex-shrink: 0;}
.content strong { display: block; font-size: 24px; margin-bottom:10px; font-family: 'Paperlogy'; font-weight: 600;color: #222;}
.content p { font-size: 22px; color: #555; margin: 0;}
.qm_btn a { padding: 40px; font-size: 20px; border-radius: 12px; cursor: pointer;font-weight: 500; font-family: 'Paperlogy'; white-space: nowrap;}
.quickbtn1 {background-color: #111; color: #fff;}
.quickbtn2 { background-color: #fff; color: #111;  border: 1px solid #ccc;}


/* 공통 */
.m_tit{position: relative;}
.m_tit h1 {font-size: 60px;  color: #111; font-weight: 800; margin-bottom: 20px;}
.m_tit h5 {font-size: 26px; color: #444; margin-bottom: 30px;}
.m_tit h5 strong{font-weight: 700; color:#0ba29a;}
.m_tit2 h1 {font-size: 60px; color: #b8dd44; font-weight: 800; margin-bottom: 20px;}
.m_tit2 h5 {font-size: 24px; color: #ccc; margin-bottom: 80px;}

.morebtn{position: absolute; right: 0; bottom: 0;}
.morebtn a{color: #939393;display: flex;align-items: center; font-size: 18px;}
.morebtn a:hover {font-weight: 600;}
.morebtn a:hover strong{background: #f6f6f6;}
.morebtn a strong{font-weight: 500;font-size: 28px;border: 2px solid #b2b2b2;border-radius: 50px; width: 20px;height: 20px;text-align: center;padding: 15px;display: flex;align-items: center;justify-content: center;margin-left: 8px;}


.sec01 { position: relative; padding: 140px 0; overflow: hidden; z-index: 1; }
.sec01::before { content: ""; position: absolute; top: 0; right: 0; width: 60%; height: 100%; background: url('../img/main/sec01_bg.png') no-repeat right top / contain; opacity: 0.15; pointer-events: none; z-index: -1; }
.sec01::after { content: "JEONBUK"; position: absolute; top: 48%; left: -415px; transform: translateY(-50%) rotate(-270deg); transform-origin: center center; font-size: 215px; font-weight: 900;line-height: 1;  color: rgba(230, 243, 241, 0.4); letter-spacing: -2px; pointer-events: none; z-index: -1; text-transform: capitalize; }


.sec02 { display: flex; width: 100%;position: relative; }
.sec02::before { content: "Infectious Disease\A Control & Prevention"; position: absolute; top: -180px; right: 0; white-space: pre; text-align: right;font-size: 110px;font-weight: 900; line-height: 0.9; color: rgba(230, 243, 241, 0.4); letter-spacing: -2px; pointer-events: none;  z-index: -1;}
.sec02 .sec02_item { overflow: hidden;  flex: 1; text-decoration: none; display: block; }
.sec02 .s01, .sec02 .s02 { padding: 110px 0; height: 100%; display: flex; align-items: center; box-sizing: border-box; position: relative; background-size: cover; background-repeat: no-repeat; background-position: center; }
.sec02 .s01 { background-image: url('../img/main/sec02_s01.jpg'); justify-content: flex-end; padding-right: 17%; color: #fff; }
.sec02 .s01 .sec02_txt { text-align: right; color: #fff;}
.sec02 .s02 { background-image: url('../img/main/sec02_s02.jpg'); justify-content: flex-start; padding-left: 17%; color: #0056b3; }
.sec02 .s02 .sec02_txt { color: #0056b3;}
.sec02_txt h2{font-size: 36px; font-weight: 700;margin: 0 0 8px 0; letter-spacing: -0.5px;}
.sec02_txt h3 { font-size: 20px; font-weight: 400; margin: 0 0 32px 0; word-break: keep-all; }
.sec02_txt p { display: inline-flex; align-items: center; font-size: 18px; font-weight: 500;}
.sec02_txt p img { margin-left: 12px; transition: transform 0.3s ease; }
.sec02 .sec02_item:hover .sec02_txt p img { transform: translateX(6px); }


.sec03 { width: 100%; padding: 100px 0; background: #fff; position: relative; overflow: hidden; }
.sec03::before { content: ""; position: absolute; top: 0; right: 0; width: 60%; height: 100%; background: url('../img/main/sec01_bg.png') no-repeat right top / contain; opacity: 0.15; pointer-events: none; z-index: 0; }
.sec03 > div { display: flex; box-sizing: border-box; }
.sec03 .s01 { flex-basis: 22%; flex-shrink: 0; background: #f8f9fa; border-radius: 0 80px 80px 0; padding: 60px 0px 60px 230px; box-sizing: border-box; position: relative; z-index: 2; }
.sec03 .s01 .m_tit h1 {}
.sec03 .tab_list { display: flex; flex-direction: column; gap: 12px; list-style: none; padding: 0; margin: 0; }
.sec03 .tab_list li { position: relative; }
.sec03 .tab_list li a { display: flex; align-items: center; justify-content: space-between; padding: 18px 35px; border-radius: 35px; font-size: 20px; font-weight: 600; color: #555; text-decoration: none; position: relative; transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; }
.sec03 .tab_list li a::after { content: ""; display: inline-block; width: 32px; height: 14px; background: url('../img/common/arrow_w.png') no-repeat right center / contain; opacity: 0; transform: translateX(-8px); transition: opacity 0.3s ease, transform 0.3s ease; }
.sec03 .tab_list li.on a { background: #00a69c; color: #fff; box-shadow: 0 8px 18px rgba(0, 166, 156, 0.25); margin-right: -25px; position: relative; z-index: 3; }
.sec03 .tab_list li.on a::after { opacity: 1; transform: translateX(0); }
.sec03 .tab_list_con { flex-grow: 1; min-width: 0; padding-left: 4%; padding-right: 230px; position: relative; box-sizing: border-box; display: flex; align-items: flex-end; }
.sec03 .tab_list_con .cont { display: none; }
.sec03 .tab_list_con .cont.on { display: block; }
.sec03 .tab_list_con .morebtn { position: absolute; top: 80px; right: 0; z-index: 2; padding-right: 230px; }




.sec_ft{}
.sec_ft ul{display: flex; justify-content: center; gap: 30px;}
.sec_ft ul li a img{width: 100%;}

#ft_wr .inner{ padding-bottom:60px;}
#ft_wr .s02{ padding:30px 0; margin:100px 0 30px 0; border-top:1px solid rgb(0,0,0,0.2); border-bottom:1px solid rgb(0,0,0,0.2); display:flex;  align-items: center;justify-content: space-between;}
#ft_wr .s02 h1{ font-weight:700;}
#ft_wr .s02 a{ font-size:19px; font-weight:500; color: #444;}
#ft_wr .s02 a i{ margin-right:5px;}
#ft_wr .s02 .s02_etc a+a{position: relative; margin-left: 15px;  padding-left: 15px;}
#ft_wr .s02 .s02_etc a+a:before{content: ''; position: absolute; top: 50%; transform: translateY(-50%);left: 0; width: 1px; height: 20px; border-left: 2px solid #444;}
#ft_wr .s03{color:#555; display:flex;align-items: center;justify-content: space-between; letter-spacing:0;}
#ft_wr .s03 p{font-size: 19px; line-height:30px; }
#ft_wr .s03 span+span{ margin-left:20px;}
#ft_wr .s03 b{ font-weight:600; margin-right:5px; color:#222;}
#ft_wr .s03 img{ width:45px;}
#ft_wr .s03  ul{gap:0 15px;}
#ft_wr  .copy{ text-align:center; background:#222; color: rgb(255,255,255,0.5); padding:25px 0; font-size:18px;letter-spacing:0;}
#ft_wr  .copy a{ color: rgb(255,255,255,0.5);}


.footer_family { display: flex; flex-direction: column; gap: 10px; width: 220px; box-sizing: border-box; }
.footer_family .family_box { position: relative; width: 100%; }
.footer_family .family_btn { width: 100%; height: 45px; padding: 0 22px; border: 1px solid #c8c8c8; border-radius: 25px; background: #fff; display: flex; align-items: center; justify-content: space-between; cursor: pointer; outline: none; transition: border-color 0.3s ease, background-color 0.3s ease; box-sizing: border-box; }
.footer_family .family_btn span { font-size: 17px; font-weight: 500; color: #555; text-align: left; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.footer_family .family_btn .icon_plus { font-style: normal; font-size: 15px; font-weight: 400; color: #777; transition: transform 0.3s ease; line-height: 1; }
.footer_family .family_box.on .family_btn { border-color: #00a69c; }
.footer_family .family_box.on .family_btn .icon_plus { transform: rotate(45deg); color: #00a69c; }
.footer_family .family_list { display: none; position: absolute; bottom: calc(100% + 6px); left: 0; width: 100%; max-height: 220px; overflow-y: auto; background: #fff; border: 1px solid #00a69c; border-radius: 10px; box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.08); list-style: none; padding: 6px 0; margin: 0; z-index: 100; box-sizing: border-box; }
.footer_family .family_list li a { display: block; padding: 10px 16px; font-size: 15px; color: #555; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease; word-break: keep-all; }
.footer_family .family_list li a:hover { background-color: #f0f8f7; color: #00a69c; font-weight: 600; }
.footer_family .family_list::-webkit-scrollbar { width: 4px; }
.footer_family .family_list::-webkit-scrollbar-thumb { background: #d0d0d0; border-radius: 4px; }




@media all and ( max-width: 1920px ){
	
	.MVisual .cs-call .s01, .MVisual .cs-call .s02{ font-size:20px; height:20px; padding:30px 0;}
	.MVisual .area h1{ font-size:56px;}
	.MVisual .area h3 { font-size: 32px; margin-bottom: 16px;}
	.MVisual .area p{ font-size:23px;}
	.MVisual .control {bottom:35px;}
	
	
	.qm_body { flex: 3; gap: 0;}
	.qm_btn {gap: 5px;}
	
	.m_tit h1, .m_tit2 h1 {font-size: 46px;}
	.m_tit h5, .m_tit2 h5 {font-size: 21px;}

	
	#ft_wr .s02{ padding:20px 0; margin:70px 0 20px 0;}
	#ft_wr .s02 h1{ font-size:25px;}
	#ft_wr .s02 a{ font-size:17px;}
	#ft_wr .s03{ line-height:25px;}
	#ft_wr .s03 img{ width:37px;}
	#ft_wr .s03  ul{gap:0 10px;}
	#ft_wr  .copy{ font-size:15px;}
}


@media all and ( max-width: 1680px ){
	
	

	
	
}

@media all and ( max-width: 1280px ){
	
	.MVisual {height: 45vh;}
	.MVisual .area{}
	.MVisual .area p{ font-size:18px;}
	.MVisual .area p strong {font-size: 26px;}
	
	.content strong {	font-size: 20px;}
	.content p {font-size: 19px;}
	.consultation-item {    margin-right: 34px; gap: 19px;}
	.consultation-item img{}
	.qm_btn a {padding: 30px;font-size: 17px;}

    .m_tit h1, .m_tit2 h1 {font-size: 38px;}
	.m_tit h1 { margin-bottom: 12px;}
	.morebtn a {font-size: 16px;}
	.morebtn a strong { font-weight: 300; font-size: 26px; width: 16px; height: 16px; padding: 10px;}
	
	.sec01 {padding: 80px 0;}
	.sec01::after { top: 44%; left: -260px;font-size: 135px;}
	
	.sec02::before { top: -118px; font-size: 70px;}
	.sec02 .s01, .sec02 .s02 {padding: 50px 0;}
	.sec02 .s01 {padding-right: 10%;}
	.sec02 .s02 {padding-left: 10%;}
	.sec02_txt h2 { font-size: 26px; margin: 0 0 5px 0;}
	.sec02_txt h3 { font-size: 17px; margin: 0 0 20px 0;}
	.sec02_txt p {font-size: 16px;}
	.sec02_txt p img {	width: 35%;}
	
	.sec03 .s01 {padding: 60px 0px 60px 40px;}
	.sec03 .tab_list_con, .sec03 .tab_list_con .morebtn {padding-right: 40px;}
	.sec03 .tab_list_con .morebtn {top: -10%;}
	.sec03 .tab_list li a {font-size: 18px;}
	
	
	#ft_wr .s02{ margin:50px 20px 20px 20px;}
	#ft_wr .s03{ margin:0 20px;}
	.sec_ft ul {gap: 10px;}
	

}


@media all and ( max-width: 1024px ){
	
	.MVisual .area h1{ font-size:40px;}
	.MVisual .area h3 { font-size: 24px;  margin-bottom: 10px; }
	.MVisual .area p{ font-size:17px;}
	
	
}

@media all and ( max-width: 800px ){
	
	
	.MVisual .area p{ font-size:17px;}
	.MVisual .control {bottom:20px; height: 1.3rem; padding: 13px 25px;}
	.MVisual .control .page span::before {width: 30px;}
	.MVisual .control .page span {padding-left: 60px;}
	.MVisual .control .page { margin-right: 0.7rem;}
	#visualSlide .item { background-image: var(--mo-img); background-size: cover; background-position: center top; }
	
	.quickmenu { flex-direction: column;    padding: 35px 0; }
    .qm_body { }
    .qm_btn { justify-content: center; }
    .qm_btn button { flex: 1 1 auto;  }
	.consultation-item {  margin-right: 12px; gap: 15px; }
    .consultation-item img {height: 35%; }

	
	
    .m_tit h1, .m_tit2 h1 { font-size: 28px;}
    .m_tit h5, .m_tit2 h5 { font-size: 17px;}
	.m_tit h5 { margin-bottom: 20px;}
	
	.morebtn a { font-size: 15px; } 
	

	.sec_ft ul { gap: 5px;}
	    
	.sec02::before { top: -95px;  font-size: 55px; }
	.sec02_txt h2 {	font-size: 20px;}
	.sec02_txt h3 { font-size: 16px; margin: 0 0 15px 0; }
	.sec02_txt p {font-size: 15px;}
	.sec02 .s01, .sec02 .s02 { padding: 40px 0;}
	.sec02 .s01 { padding-right: 9%; }
	.sec02 .s02 { padding-left: 9%; }
	
	.sec03 > div {flex-direction: column;}    
	.sec03 .s01 { padding: 40px 0px 40px 40px; margin-bottom: 20px;}
	.sec03 .tab_list {flex-direction: row;}
	.sec03 .tab_list li a::after {margin-left: 20px;}
    .sec03 .tab_list_con .morebtn {  top: -30%; }
	
	
	#ft_wr .s03 p {  font-size: 16px; line-height: 27px;}

	
	
}

@media all and ( max-width: 640px ){
	
	.MVisual .area p{ display:none;}
    .MVisual .area h3 {font-size: 18px;}
	.MVisual .area h1 { font-size: 26px; }
	
	.sec01 .morebtn { bottom: 50px;}
	
	.sec02 {flex-direction: column;}
	
	.sec03 {padding: 100px 0 50px 0;}
	.sec03 .s01 {border-radius: 0;}
	.sec03 .tab_list li.on a {margin-right: 0;}
	.sec03 .tab_list_con .morebtn { top: -25%;}
	.sec03 .tab_list_con, .sec03 .tab_list_con .morebtn {  padding: 3%;}
	
	#ft_wr .s02 { flex-direction: column;}    
	#ft_wr .s02 h1 {  font-size: 22px; }    
	#ft_wr .s02 a { font-size: 15px;}
	#ft_wr .s02 .s02_etc a+a {  margin-left: 10px; padding-left: 10px;}
	#ft_wr .s02 .s02_etc a+a:before { height: 12px; border-left: 1px solid #444;}
	#ft_wr .s03 { flex-direction: column-reverse;}
	.footer_family {width: 100%;    flex-direction: row; margin-bottom: 20px;}
	.footer_family .family_btn span {font-size: 15px;}
	.footer_family .family_box {width: 33%;}
	.footer_family .family_btn {width: 100%;}
	.footer_family .family_list li a {  padding: 6px 10px; font-size: 14px;}
	#ft_wr .s03 p { font-size: 15px; line-height: 25px;  }
	
	
	
}




@media all and ( max-width: 480px ){
	
	
	
	#ft_wr .s03{ display:block;}
	#ft_wr .s03 b, #ft_wr .s03 p span{ display:block;}
	#ft_wr .s03 p br{ display:none;}
	#ft_wr .s03 p span:nth-child(1){ margin-bottom:7px}
	#ft_wr .s03 p span+span{ margin:7px 0 0 0;}
	
	#ft_wr .s03 ul{ margin-top:10px;}
	
	#ft_wr .s02 h1{ font-size:23px;}
	
	#ft_wr .s01 h2 span{ display:block;}
	#ft_wr .s01 h2 span + span{ margin:0;}
}








