@charset "utf-8";

@import url('../../../nariya/css/g5.css');

/********************************************************
■ Theme Common
********************************************************/
html{
	font-size:10px;
	transition: font-size .35s ease;
}
body { margin:0; padding:0;	background:#fff; }
h1, h2, h3, h4, h5, h6, .en,
body, input, button, textarea, select {    color: #2d2d2d;
    font-family: "Pretendard", sans-serif;
    font-size: 1.6rem;
    line-height: 1.42857;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: keep-all;
    line-break: normal;
	font-weight: 400; /* 필요하면 500, 700만 추가 */
}
#ctt {
    margin: 10px 0;
    padding: 20px 0 !important;box-shadow: none !important;}
#ctt_con{position: relative;z-index:99;}
/********************************************************
■ Theme Layout : 테마 레이아웃
********************************************************/
.wrapper { background:#fff; }
@media all and (max-width:1280px) {
#ctt {
    
    padding: 20px 10px !important;}
}

@media all and (max-width:991px) {
	.responsive .wrapper { overflow-x:hidden; }
}
.nt-container,
.nt-container-wide { margin:0 auto; }
@media all and (min-width:992px) {
	#nt_menu .me-icon{
		display:none;
	}
	.responsive .boxed-a.wrapper .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
	.responsive .boxed-b.wrapper { padding-left:1.5rem !important; padding-right:1.5rem !important; }
	.responsive .boxed-b.wrapper #nt_title .nt-container.px-xl-0,
	.responsive .boxed-b.wrapper #nt_wing .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
}
.nt-container{max-width: 140rem !important;}
/* 비반응형 */
.no-responsive .boxed-a.wrapper .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
.no-responsive .boxed-b.wrapper { padding-left:1.5rem !important; padding-right:1.5rem !important; }
.no-responsive .boxed-b.wrapper #nt_title .nt-container.px-xl-0,
.no-responsive .boxed-b.wrapper #nt_wing .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
@media all and (max-width:1200px) {
	.no-responsive .wrapper.wided .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
	.no-responsive .wrapper.wided #nt_title .nt-container.px-xl-0,
	.no-responsive .wrapper.wided #nt_wing .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
}

/********************************************************
■ Loader : 페이지 로딩바
********************************************************/
#nt_loader { background: #fff; left: 0; top: 0; width: 100%; height: 100%; display: block; position: fixed; z-index: 100000; }
#nt_loader .loader { margin: -25px 0 0 -25px; left: 50%; top: 50%; width: 50px; height: 50px; line-height:50px; font-size: 45px; position: absolute; z-index: 10001; }
.nt-body{
	
    position: relative;
    z-index: 1;
}
.page-link{
	min-width: 32px;
    text-align: center;
}

/********************************************************
■ LNB
********************************************************/
#nt_lnb ul { list-style: none; margin: 0;display: flex; align-items: center;}
#nt_lnb ul > li { float: left; padding: 0 13px; }
#nt_lnb ul > li::after { font-family: dotum; font-weight: normal; float: right; color:#ccc; content: "|"; margin-right:-15px; }
#nt_lnb ul > li:first-child { padding-left:0; }
#nt_lnb ul > li:last-child { padding-right:0; }
#nt_lnb ul > li:last-child::after { content: ""; margin-right:0; }
#nt_lnb ul > li > a { float:left; white-space:nowrap; }
#nt_lnb .dropdown-toggle::after { color:#ccc; }
/* LNB 글자크기 버튼 */
#nt_lnb .font-size-controls a { padding:0 6px; font-weight:bold; }

/********************************************************
■ PC 헤더(Header)
********************************************************/
#header_pc .header-logo img { max-width:340px; }
#header_pc .header-search { width:100%;	max-width:400px; }
#header_pc .header-search form { padding:0; border-width:2px; border-style:solid; }
#header_pc .header-search input { font-size:16px !important; background: #fff; border:0 !important; box-shadow:none !important; -webkit-box-shadow:none !important; }
#header_pc .header-search .form-control:focus { box-shadow:none !important; -webkit-box-shadow: none !important; }
#header_pc .header-search .btn { border:0; background: none !important; outline:none; }
.wrap-menu{
	justify-content: space-between;
}

.font-size-controls a {
    float: left;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    color: #fff;
    font-size: 1.4rem;
    line-height: 3rem;
    text-align: center;
	background-color: #06b085;
	margin-right:0.4rem;
	opacity: 0.8;
	transition: opacity .3s ease, background-color .3s ease, transform .2s ease;
}
.font-size-controls a + a{
	background-color: #74be42;
	margin-right:0;
}
.font-size-controls a:hover{
	opacity: 1;
}
/********************************************************
■ 모바일 헤더(Header)
********************************************************/
#header_mo { box-shadow: 0px 5px 5px -2px rgba(50, 60, 70, 0.15); -webkit-box-shadow: 0px 5px 5px -2px rgba(50, 60, 70, 0.15); -moz-box-shadow: 0px 5px 5px -2px rgba(50, 60, 70, 0.15); }

/********************************************************
■ PC 주메뉴
********************************************************/
/* 공통 */
#nt_header{
	position: relative;
	z-index:9;
}
#nt_menu { position:relative; z-index:20;  }
#nt_header .menu-backdrop { 
	position: absolute;
    left: 0;
    top: 160px;
    width: 100%;
    height: 0;
    background: #fff;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .08);
    transition: height .35s  ease;
    z-index: 20; 
	background-color: #f6f9fc;
}
@media all and (max-width:991px) { /* 데스크탑 전용 */
	#nt_header .menu-backdrop { 
		display:none; 
		border-bottom: 0.1rem solid rgba(0, 125, 213, .16);
		box-shadow: 0.1rem 0.2rem 0.5rem rgba(94, 94, 94, 0.1);
		padding: 4rem 0 3rem;
	}
	#ctt {
    
		padding: 20px 5px !important;}
}
#nt_header.on_nt-menu .menu-backdrop { 
	height:370px;
	border-top: 0.1rem solid rgba(0, 125, 213, .16); 
} /* 필요시 높이 조정 */
#nt_menu .nt-container,
#nt_menu .me-list .me-li,
#nt_menu .sub-1dul,
#nt_menu .sub-1dli { position:relative; }
#nt_menu .me-list .me-li{
	position: static;
}

#nt_menu .sub-1dul {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: 86rem;
	min-height: 30rem;
	margin-left: auto;
	position: relative;
	padding-top:100px;
}

#nt_menu .sub-1dli {
	flex: 0 0 calc((100% - 3rem) / 3);
	margin-left: 1rem;
	margin-bottom: 1rem;
}

#nt_menu .sub-1dli a {
	color: #505254;
	font-size: 1.5rem;
	letter-spacing: -0.026em;
	display: flex;
	align-items: center;
	border: 0.1rem solid #e6eaed;
	border-radius: 0.4rem;
	padding: 1rem 1.5rem;
	background: #fff;
	min-height: 4.8rem;
	line-height:2em;
}
#nt_menu .sub-1dli a::after {
    content: "\f054";
    font-family: "Font Awesome 6 Pro";
    font-size: 1rem;
    color: #babcbe;
    margin-left: auto;
    padding-left: 1rem;
}
#nt_menu .sub-1dli a:hover{
	color: #053577;
    font-weight: 600;
    border-color: #053577;
}
#nt_menu .sub-1dli a:hover::after{color: #053577;}
#nt_menu .sub-slide { display:none; visibility:visible; }
#nt_menu .sub-icon::after { font-family: "FontAwesome"; float: right; position: relative; content: "\f105"; }
#nt_menu .me-icon {	width:4.0rem; text-align:center; }
#nt_menu .d-block{
	padding: 0 3rem;
}
#nt_menu .me-a { 
	display: block;
 
    color: #181818;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 9.5rem;
    position: relative;
 }
.sub-slide:after{
    position: fixed;
    left: 0;
    top: 160px;
    width: 71rem;
    height: 0rem;
    transition: height .35s ease;
    background-position: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
 }
/* 부모에 on_nt-menu가 붙으면 높이를 서서히 펼침 */
.on_nt-menu .sub-slide:after{
    height: 37rem;
}
.memu_li_1 .sub-slide:after{
	background-image: url('../img/bg_gnb_1.png');
}
.memu_li_2 .sub-slide:after{
	background-image: url('../img/menu_bg2.png');
}
.memu_li_3 .sub-slide:after{
	background-image: url('../img/menu_bg3.png');
}
.memu_li_4 .sub-slide:after{
	background-image: url('../img/menu_bg4.png');
}
.memu_li_5 .sub-slide:after{
	background-image: url('../img/menu_bg5.png');
}
#nt_menu .me-li.on .me-a,
#nt_menu .me-li:hover .me-a { color:#053577; }
#nt_menu .sub-2div { left:100%; top:0; position:absolute; z-index:22; background: #fff; box-shadow: 0 6px 12px rgba(0, 0, 0, .175); -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } 
#nt_menu .sub-2dul { list-style:none; margin:0; padding:0; }
#nt_menu .sub-2dli { list-style:none; }
#nt_menu .sub-2da { display:block; color:#000; border-bottom: 1px solid #eee; } 
#nt_menu .sub-2dli.on .sub-2da,
#nt_menu .sub-2dli:hover .sub-2da { color:#000; background: #fafafa; border-color: #eee; font-weight: bold; }
#nt_menu .sub-2line { display:block; color:#000; font-weight:bold; background:#f5f5f5; }
.nt-menu .sub-1div { position:absolute; left:0; z-index:21; width:auto; text-align:left; top:100%; left:0; }
.nt-menu .sub-1div::before { left: 50%; margin-left:-8px; }
.nt-menu .sub-1da { display:block; color:#000; border-bottom: 1px solid #eee; }
.nt-menu .sub-1line { position:relative; display:block; }
.nt-menu .sub-1dli.on .sub-1da,
.nt-menu .sub-1dli:hover .sub-1da { color:#000; background: #f5f5f5; border-color: #eee; font-weight:bold; }
.nt-menu .sub-1line { color:#000; font-weight:bold; background:#fafafa; }
.nt-menu .me-sh { padding:0.59rem 1.0rem; } /* 서브메뉴 높이설정 : 페딩값으로 조절 */
#header_mo .float-right{
	font-size:2.4rem;
}
#header_mo .float-right a + a{
	margin-left:2rem;
}
/* 메뉴 상단 고정 */
#nt_sticky_wrap.me-sticky { position:fixed; width:100%; z-index:999; left:0; top:0; }
@media all and (min-width:992px) {
	.wrapper.m-lg-auto #nt_sticky_wrap.me-sticky nav { margin:0 auto !important; }
	.wrapper.ml-lg-auto #nt_sticky_wrap.me-sticky nav { margin:0 0 0 auto !important; }
	.wrapper.mr-lg-auto #nt_sticky_wrap.me-sticky nav { margin:0 auto 0 0 !important; }
}

/********************************************************
■ 페이지 타이틀
********************************************************/
#nt_title { position:relative; overflow:hidden; }
.nt_title{
	 color:#333; background:#d5edbb; 
}
#nt_title .nt-container { position:relative; z-index:2; }
#nt_title .page-title h2{ 
	font-family: "Gmarket Sans";
    font-size: 4.2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.4;
    color: rgb(33 33 45 / 73%);
	padding-top:40px;
	position: relative;
}
#nt_title .page-title h2:before{
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 40px;
    background: url(../img/bre_logo.png) no-repeat center center;
    background-size: 100%;
	opacity: 0.6;
}
#nt_title .page-title + nav{
    color: rgb(33 33 45 / 63%);
    margin-top: 2rem;
}
#nt_title .breadcrumb a { color:#333; }
#nt_title .breadcrumb-item + .breadcrumb-item::before {	font-family: dotum;	font-weight: normal; color:#aaa; content:">"; }
.inner_nt_title{
	height:240px;
	flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}
.nt_side_menu_wrap{
	position: relative;
	height: 100%;
	margin-bottom:0;
	
}
.sub-visual-deco {
    position: absolute;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    width: 52.4rem;
    height: 8.7rem;
    left: 50%;
	transform: translateX(-50%);
    top:0;

	background-repeat: no-repeat;
	background-size: 100%;
	background-position: 50% bottom;
}
.nt_side_menu {
	position: relative;
	z-index:2;
	height: 100%;
	box-shadow: .8rem .6rem 1.6rem 0 rgba(177, 183, 195, 0.27);
    border-left: 0.1rem solid #d8d8d8;
    border-right: 0.1rem solid #d8d8d8;
    padding-bottom: 0rem;
	border-radius: 5rem 5rem 0 0;
}
.nt_side_menu:before{
	background-image: url(../img/sub_visual_img_13470.png);
    width: 28.6rem;
    height: 22.4rem;
    top: -16.7rem;
    left: 3rem;
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: 50% bottom;
}
.nt_side_menu .wrap-h4{
	background: #3BA456;
	height: 14rem;
    text-align: left;
    padding: 0 1.2rem;
    display: flex;
    align-items: center;
    position: relative;
	border-radius: 5rem 5rem 0 0;
	justify-content: center;
}
.nt_side_menu h4{
	font-size: 3.4rem;
    font-family: "Gmarket Sans";
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #fff;
    margin-top: 2rem;
	text-align: center;
}
.nt_side_menu .me-ul > li {
	border-bottom: 0.1rem solid #eee;
}

.nt_side_menu .me-ul > li > a {
	display: block;
	padding: 1.5rem 2rem 1.5rem 3rem;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.nt_side_menu .me-ul > li.active > a {
	color: #005dbc;
}
.nt_title{
	background-color: #d5edbb;
}

.nt_title_1.nt_title{
	background-color: #edd9bb;
}

.nt_title_2.nt_title{
	background-color: #c0e5fb;
}

.nt_title_3.nt_title{
	background-color: #f6dbd9;
}
.nt_title_4.nt_title{
	background-color: #bbe7df;
}

.nt_title_5.nt_title{
	background-color: #f6ebb9;
}
.nt_body_1 .sub-visual-deco{
	background-image: url(../img/sub_visual_top1.png);
}
.nt_body_2 .sub-visual-deco{
	background-image: url(../img/sub_visual_top2.png);
}
.nt_body_3 .sub-visual-deco{
	background-image: url(../img/sub_visual_top3.png);
}
.nt_body_4 .sub-visual-deco{
	background-image: url(../img/sub_visual_top4.png);
}
.nt_body_5 .sub-visual-deco{
	background-image: url(../img/sub_visual_top5.png);
}
.nt-container-row{
    position: relative;
    display: flex;
	flex-direction: row-reverse;
}
.right-content{
	flex: 1 1 auto;
    min-width: 0;
    position: relative;
    display: flex;
    flex-direction: column;
	padding-bottom: 60px;
}
.left-content{
	width: 36rem;
    flex: 0 0 auto;
    margin-right: 7rem;
    position: relative;

}
.off-left .left-content{
	display: none;
}
.register{
	margin:100px 20px !important;
}
.register .btn_confirm .btn_close {
	padding:10px 20px;
	line-height:30px;
	text-align: center;
}
@media all and (max-width:1024px) {
	.left-content{
		display: none;
	}
	.nt-container{
		padding:0 15px;
	}
}
@media all and (max-width:991px) {
	.responsive #nt_title .page-title { font-size:24px; letter-spacing:0; }
}
@media all and (max-width:767px) {
	.responsive #nt_title .page-title { font-size:22px; }
	
}
@media all and (max-width:575px) {
	.responsive #nt_title .page-title { font-size:20px; }
	#nt_title .page-title h2{
		font-size: 3.2rem;
	}
}

/********************************************************
■ Wing
********************************************************/
#nt_wing .nt-container { position:relative; overflow:visible !important; }
#nt_wing img { max-width:100%; }
#nt_wing .wing-left,
#nt_wing .wing-right { position:absolute; width:160px; }
#nt_wing .wing-left { left:-180px; }
#nt_wing .wing-right { right:-180px; }
.boxed-b #nt_wing .wing-left { left:-200px; }
.boxed-b #nt_wing .wing-right { right:-200px; }

#nt_footer{
	z-index:9;
	background: #fff;
}

@media all and (max-width:991px) {
	.responsive #nt_footer .nt-links ul > li { float:none; display:inline-block; }
}

/********************************************************
■ Widget Title 위젯 타이틀
********************************************************/
h3.h3 { padding:0; margin:0; font-weight:bold; }
hr.hr::before { width:100%; height:1px; content: ""; position:absolute; left:0; bottom:1px; line-height:1px; background-color:#ddd; }
hr.hr { display:block; position:relative; height:3px; border: none; line-height:1px; padding:0;	margin:0; }
hr.hr::after { width:4.0rem; height:3px; content: ""; position:absolute; left:0; bottom:0; line-height:1px; }
@media all and (max-width:575px) {
	.responsive h3.h3 {	padding-left:1.0rem; padding-right:1.0rem; }
	.responsive hr.hr::after { left:1.0rem;	}
}

/********************************************************
■ Bootstrap 4 : 부트스트랩 기본 속성
********************************************************/
/* 툴팁 */
.tooltip .tooltip-inner { font-size:1.0rem !important; }

/* 체크박스, 라디오버튼 재지정 */
.custom-checkbox .custom-control-label::before,
.custom-checkbox .custom-control-label::after,
.custom-radio .custom-control-label::before,
.custom-radio .custom-control-label::after { top:0.15rem !important; width:1.4rem !important; height:1.4rem !important; }

/* 체크박스, 라디오버튼과 글자간 간격 */
.custom-checkbox .custom-control-label span,
.custom-radio .custom-control-label span { cursor: pointer; padding-left:0.5rem !important; }

/* 스위치 버튼 재지정 */
.custom-switch .custom-control-label::before,
.custom-switch .custom-control-label::after { margin-top:2px; }

/* Button */
.btn-lg { padding: 10px 16px; border-radius: 3px; line-height: 1.33; font-size: 18px; }
.btn-lg i {	top: 3px; font-size: 24px; position: relative; }

/* Form */
.col-form-label { font-weight:bold; }

/* Pagenation */
.page-link,
.page-link:hover,
.page-link:focus { color: #333; }

/* 라운드 스타일 */
.na-round,
.view_image img,
.pretty-embed img { border-radius: 0.3rem !important; }

/* 사각 스타일 */
.is-square .na-round,
.is-square .view_image img,
.is-square .pretty-embed img,
.is-square .btn,
.is-square .alert,
.is-square .nav-link,
.is-square .form-control,
.is-square .input-group-prepend,
.is-square .input-group-append,
.is-square .input-group-text,
.is-square .custom-file-label,
.is-square .custom-file-label:after,
.is-square .custom-select,
.is-square .label,
.is-square .progress,
.is-square .pagination li a,
.is-square .list-group-item { border-radius:0 !important; }

/********************************************************
■ Visual Swiper
********************************************************/
.visual-hero { position:relative; overflow:hidden; }
.visual-swiper { width:100%; }
.visual-slide { background-size:cover; background-position:center; }
.visual-slide .container { height:100%; display:flex;justify-content: space-between; }
.visual-title-box .title { font-size:4.0rem; font-weight:700; line-height:1.2; color:#222; }
.visual-title-box .title span { color:#6a4df4; }
.visual-title-box .sub-title { margin-top:1.0rem; font-size:1.6rem; color:#444; }
.visual-menu-wrap { list-style:none; margin:2rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:1rem; }
.visual-menu-wrap li a { display:inline-flex; align-items:center; gap:.6rem; border-radius:2rem; padding:.8rem 1.2rem; box-shadow:0 6px 12px rgba(0,0,0,.08); }
.visual-menu-wrap img { width:28px; height:28px; }
.visual-navigation { 
	position: absolute;
    top: 48.5%;
    left: 0;
    right: 0;
    z-index: 10;
    transform: translateY(-50%);
    display: flex;
}
.visual-swiper-btn { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:rgba(0,0,0,.4); color:#fff; cursor:pointer; }
.visual-prev { position:absolute; left:15px; top:50%; transform:translateY(-50%); }
.visual-next { position:absolute; right:15px; top:50%; transform:translateY(-50%); }
.visual-pagination { position:absolute; left:0; right:0; bottom:0; text-align:center; }
.nt-container.container { position:relative; }
 /* 메인 비쥬얼 */
 .visual-hero .visual-slide {
	height: 61rem;
	background-position: 50% 100%;
	background-size: cover;
	background-repeat: no-repeat;
	display: block;
} 

.visual-slide .container {
	display: flex;
	justify-content: space-between;
	height: 100%;
}


.visual-title-box {
	padding: 6.5rem 7rem 0 0;
	flex: 0 1 auto;
}

.slide03  .visual-title-box br {
	display: none;
}

.visual-title-box .title {
	font-size: 5.2rem;
	line-height: 1.4;
	font-family: "SB Aggro";
	text-shadow: 2.88px 2.88px 0px rgba(121, 121, 121, 0.18);
}

.visual-title-box .sub-title {
	 font-size: 2rem;
	 font-weight: 500;
	 line-height: 1.5;
	 letter-spacing: -0.06em;
 }

.visual-menu-wrap {
	 padding: 5rem 0;
	 flex: 0 0 52rem;
	 display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   margin: auto 0 auto -2rem;
}
 
.visual-menu-wrap li {
	display: inline-flex;
	height: 12.4rem;
	background: #fff;
	border-radius: 2rem;
	border: .1rem;
	border-style: solid;
	box-shadow: 6px 6px 7.2px 0px rgba(161, 161, 161, 0.09);
	position: relative;
	margin-bottom: 2rem;
   margin-left: 2rem;
}

.visual-menu-wrap li a:hover:after {
	  content: "";
	  position: absolute;
	  top: 0;
	  bottom: 0;
	  right: 0;
	  left: 0;
	  border-radius: 2rem;
	  border-width: .2rem;
	  border-style: solid;
}

.visual-menu-wrap li a {
	width: 100%;
	display: flex;
	align-items: center;
	padding: 0 2.2rem;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: -0.06em;
}

.visual-menu-wrap li img {
	max-width: 2.8rem;
	margin-right: 1.5rem;
} 

.visual-menu-wrap li.on img{
	width: 4.0rem;
	margin-right: 1.5rem;
	margin-left: -0.5rem;
}

/* 평생교육 기회 확대 */
.slide01 .visual-title-box .title{
	color: #204FAC;
}
.slide01 .visual-title-box .sub-title {
	color: #456DA1;
}
.slide01 .visual-menu-wrap li {
	 border-color: #afcade;
}
.slide01 .visual-menu-wrap li a:hover:after {
	border-color: #0075e2;
}
/* 다양한 성장경로 */
.slide02 .visual-title-box .title{
	color: #733DB0;
}
.slide02 .visual-title-box span {
	color: #CD4965;
}
.slide02 .visual-title-box .sub-title {
	color: #7F4A4D;
}
.slide02 .visual-menu-wrap li {
	 border-color: #ef9c25;
}
.slide02 .visual-menu-wrap li a:hover:after {
	border-color: #ef9c25;
}
/* 디지털 평생교육체제 */
.slide03 .visual-title-box .title{
	color: #0C676D;
}
.slide03 .visual-title-box .sub-title {
	color: #5D8985;
}
.slide03 .visual-menu-wrap li {
	 border-color: #a1d577;
}
.slide03 .visual-menu-wrap li a:hover:after {
	border-color: #4cc02c;
}
/* 뉴노멀 대응 */
.slide04 .visual-title-box .title{
	color: #661098;
}
.slide04 .visual-title-box span {
	color: #238;
}
.slide04 .visual-title-box .sub-title {
	color: #886583;
}
.slide04 .visual-menu-wrap li {
	 border-color: #ffb5e4;
}
.slide04 .visual-menu-wrap li a:hover:after {
	border-color: #ee85c8;
}

.visual-swiper-btn {
   width:3.7rem;
   height: 4.4rem;
   line-height: 4.4rem;
   text-align: center;
   background: #4b84d8;
   border-radius: .7rem;
   box-shadow: 6px 6px 7.2px 0px rgba(161, 161, 161, 0.09);
   color: #fff;
   font-size: 1.8rem;
   cursor: pointer;
   position: absolute;
}
.visual-navigation .visual-next {
   right: -6rem;
}
.visual-navigation .visual-prev {
   left:auto;
   right: 58rem;
}
.visual-pagination.swiper-pagination-bullets {
   position: absolute;
   bottom: -26.5rem;
   left: auto;
   right: 11.8rem;
   width: auto;
}
.visual-pagination .swiper-pagination-bullet {
   width: 6rem;
   height: .9rem;
   border-radius: 0.3rem;
   background: #fff;
   opacity: 0.54;
}
.visual-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
   margin-left: 1rem;
}
.visual-pagination .swiper-pagination-bullet-active {
   opacity: 1;
}
.visual-hero .slide01 {
	background-image: url(../img/main_visual_bg01.png)!important;
}
.visual-hero .slide02 {
	background-image: url(../img/main_visual_bg02.png)!important;
	background-position: 50% 20%;
}
.visual-hero .slide03 {
	background-image: url(../img/main_visual_bg03.png)!important;
	background-position: 50% 24%;
}
.bg-primaryA{
	background: #fff;
}
.f-mo #logo_img{
	max-width:400px;
}
.h3_mo{
	display:flex;
	justify-content: space-between;
	align-items: center;
	min-height: 60px;
}
/*
.float-right{
	font-size:2.5rem;
}
.float-right a + a{
	margin:0 1rem 0 1.5rem;
}
	*/
@media screen and (min-width:2000px) {
	.visual-hero .visual-slide {
	 	height: 74.6rem;
 	}
 }


@media screen and (max-width:1446px) {
	.visual-title-box .title {
		font-size: 4.6rem;
	}
	
	.visual-navigation .visual-next {
		right: 0;
	}
	.visual-navigation .visual-prev {
		right: 53rem;
	 }
	.visual-pagination {
		right: 16rem;
	}
	#header_pc{
		zoom:0.8
	}
	#nt_menu .d-block {
		padding: 0 2rem;
	}
}

@media screen and (max-width: 1208px) {
	.visual-title-box {
		padding-left: 0;
		
	}
}

@media screen and (max-width: 1024px) {
	.visual-hero .visual-slide {
		height: auto;
		padding: 9rem 0 7rem;
		position: relative;
		background-position: 50% 50%;
	}

	.slide01  .visual-title-box br,
 	.slide03  .visual-title-box br {
 		display: block;
	 }
	
	.visual-hero .slide01 {
		background-image: url(../img/main_visual_mobile_bg01.png)!important;
	}
	.visual-hero .slide02 {
		background-image: url(../img/main_visual_mobile_bg02.png)!important;
		background-position: 50% 20%;
	}
	.visual-hero .slide03 {
		background-image: url(../img/main_visual_mobile_bg03.png)!important;
		background-position: 50% 24%;
	}
	.visual-hero .slide04 {
		background-image: url(../img/main_visual_mobile_bg04.png)!important;

	}
	
	.visual-pagination.swiper-pagination-bullets {
		left: 0;
	    right: 0;
	    margin: 0 auto;
	    bottom: -29.5rem;
	}
	.swiper-container-android .swiper-slide{
		
	}
	.visual-slide .container {
		
		flex-direction: column;
		align-items: center;
		justify-content: space-around;
	}
	
	.visual-title-box {
		padding-top: 0;
		padding-right: 0;
    	margin-left: 0;
    	z-index: 2;
    	text-align: center;
    	text-wrap: balance;
    	width: 100%;
	}
	
	.visual-menu-wrap {
		width: 85%;
		flex-direction: column;
		align-content: normal;
		margin: 2rem 0 0 0;
		padding: 2rem;
		overflow: hidden;
		flex: none;
		z-index: 2;
	}
	.visual-menu-wrap li {
		margin-bottom: 0;
		margin-left: 0;
		box-shadow: 1.2rem 1.1rem 1.3rem 0 rgba(106, 134, 182, 0.16);
		height: 9rem;
		line-height: 9rem;
	}
	
	.visual-menu-wrap li br {
	   display: none;
	}
	
	.visual-menu-wrap li + li {
		margin-top: 1.8rem;
	}
	.visual-menu-wrap li a {
		padding: 0 5rem;
	}
	
	.visual-navigation {
		top: 60%;
	}
	.visual-navigation .visual-prev {
		right: auto;
		left: 0;
	}
	.visual-pagination {
		text-align: center;
	    left: 0;
	    right: 0;
	    bottom: -30rem;
	}
	.visual-slide .container{

	}
}

@media screen and (max-width: 768px) {
	.f-mo #logo_img{
		max-width:50vw;
		width:280px;
	}
	.visual-hero .visual-slide {
		padding: 3.5rem 0 1.5rem;
		height: 47rem;
	}
	
	.visual-title-box {
	}
	
	.slide02 .visual-title-box {
		text-align: center;
		margin-left: auto;
	}
	
	.visual-title-box .title {
		font-size: 2.8rem;
		line-height: 1.29;
	}
	.slide02 .sub-title br{
		display: none;
	}
	.visual-title-box .sub-title {
		font-size: 1.3rem;
	}
	
	.visual-menu-wrap {
		width: 88%;
		margin: 0;
		gap:0;
	}
	.visual-menu-wrap li {
		height: 5rem;
		line-height: 5rem;
		border-radius: 1rem;
	}
	.visual-menu-wrap li a:hover:after {
		border-radius: 1rem;
	}
	.visual-menu-wrap li + li {
		margin-top: 0.9rem;
	}
	.visual-menu-wrap li a {
		font-size: 1.4rem;
		padding: 0 0 0 2.5rem;
	}
	.visual-menu-wrap li img {
		width: 1.5rem;
		margin-right: 1.5rem;
	}
	
	.visual-menu-wrap li.on img {
		width: 2.5rem;
		margin-right: 1.0rem;
		margin-left: -0.5rem;
	}
	
	.visual-swiper-btn {
		width: 2.7rem;
		height: 3.1rem;
		line-height: 3.1rem;
		border-radius: 0.35rem;
		font-size: 1.3rem;
	}
	
	.visual-navigation {
		top: 61%;
	}
	.visual-navigation .visual-next {
		right: 0;
	}
	.visual-navigation .visual-prev {
    	right: auto;
    	left: 0;
    }
    .visual-pagination {
    	bottom: -17.5rem;
    }
    .visual-pagination .swiper-pagination-bullet {
    	width: 3rem;
    	height: .5rem;
    	border-radius: 0.15rem;
    }
    .visual-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
    	margin-left: 0.5rem;
    }
	.inner_nt_title{
		height:200px;
	}
}

/* ===== Main Tab (공지/자료/보도) ===== */
.wrap-main-tab{
	display: flex;
	justify-content: space-between;
	padding: 5rem 0px 8rem;
}
.left-tab{
	box-sizing: border-box;
    height: 38.8rem;
    width:61%;
    border: .2rem solid #5da3f2;
    border-radius: 3rem;
    overflow: hidden;
    box-shadow: 5px 9px 6px 0px rgba(200, 200, 207, 0.17);
}
.right-tab{
	width:36%;
}
.right-tab li{
	position: relative;
}
.main-tab { border:0; }
.main-tab .main-tab-header { border:0; position: relative;}
.main-tab .nav-tabs { border:0; margin:0; width:calc(100% - 70px);display:flex; }
.main-tab .nav-tabs .nav-item {width:33.3333%; justify-content: center; align-items: center; }
.main-tab .nav-tabs .nav-link {
	display:block;
	font-size: 2rem;
    font-weight: bold;
	color: #747474;
	border:0;
	border-radius: 0 0 3rem 3rem;
	padding:24px 24px;
	background:#fff;
	text-align: center;
}
.main-tab .nav-tabs .nav-link:hover { color:#334155; }
.main-tab .nav-tabs .nav-link.active {
	color:#fff;
	font-size: 2.4rem;
	background:#2d6cdf;
}
.main-tab .nav-tabs .nav-item:first-child  .nav-link {
	border-radius: 0 0 3rem 0;
}
.main-tab .view_more {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:36px; height:36px;
	border-radius:50%;
	background:#2d6cdf;
	color:#fff;
	margin-left:auto;
	position: absolute;
	right: 18px;
    top: 15px;
	display:none;
}
.main-tab .active + .view_more{
	display:inline-flex;
}
.main-tab .view_more:hover { color:#fff; opacity:.9; }
.main-tab-content {
	overflow:hidden;
}
.main-tab-content .list-group,
.main-tab-content ul,
.main-tab-content ol { margin-bottom:0; }

.main-tab-content .na-list li{
    padding: 0 7rem 0 8rem;
	margin-top: 1.8rem;
}
.main-tab-content .na-list li:first-child{
	background: #f6f7f7;
    padding: 3rem 7rem 3rem 8rem;
    margin-bottom: 4rem;
    position: relative;
}
.main-tab-content .na-list .na-title{
	display: block;
    color: #000000;
    font-size: 1.7rem;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.main-tab-content .na-list li:first-child .na-title .na-item{
	font-size: 2rem;
}
.main-tab-content .na-list li:first-child::after {
    content: "\f130";
    position: absolute;
    top: 50%;
    left: 3rem;
    transform: translateY(-50%);
    font-family: "FontAwesome";
    font-size: 3.4rem;
    color: #98bfed;
    margin: auto 0;
}
.gallery-swiper{
	overflow: hidden;
}
.na-title .na-subject{
	transition: color .25s ease, background-color .25s ease, border-color .25s ease, opacity .25s ease;
}
.right-tab .img-item img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 3rem;
    overflow: hidden;
    box-shadow: 5px 9px 6px 0px rgba(200, 200, 207, 0.17);
}
.right-tab .font-weight-normal,
.right-tab .label-cap{
	display:none;
}
.right-tab .na-title{
	position: absolute;
    bottom: 0rem;
    left: 0px;
    right: 0px;
    color: rgb(255, 255, 255);
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: -0.06em;
    background-color: rgba(0, 0, 0, 0.52);
    padding: 2rem 4rem;
    border-radius: 0px 0px 3rem 3rem;
}
.right-tab .na-title a{
	color:#fff;
}
.right-tab .col{
	padding:0 !important;
}
.right-tab .img-item a{
    display: block;
    width: 3.6rem;
    height: 3.6rem;
    line-height: 3.6rem;
    text-align: center;
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    color: rgb(7, 124, 230);
    font-size: 1.8rem;
    z-index: 1;
    background: rgba(255, 255, 255, 0.74);
    border-radius: 50%;
	box-sizing: border-box;
    padding: 1px 0 0 1px;
}
.wrap-main-tab i{
	font-size: 12px;
    line-height: 36px;
    vertical-align: top;
    margin-left: 0px;
}
@media screen and (max-width: 768px) {
    .left-tab {
        height: 25rem;
        border-radius: 1.5rem;
	}
	.main-tab-content .na-list li{
		padding: 0rem 2rem 0rem 2rem;
    	margin-top: 1rem;
	}
	.main-tab-content .na-list li:first-child {
	
		padding: 1.7rem 2rem 1.7rem 4.3rem;
		margin-bottom: 2.2rem;

	}
	.main-tab .nav-tabs .nav-link,
	.main-tab .nav-tabs .nav-link.active{
		font-size:1.4rem;
		padding: 20px 5px;
	}
	.main-tab-content .na-list li:first-child .na-title .na-item,
	.main-tab-content .na-list .na-title{
		font-size:1.4rem;
	}
	.main-tab-content .na-list li:first-child::after{
		font-size: 1.7rem;
    	left: 1.8rem;
	}
	.na-title .float-right{
		display:none;
	}
	.right-tab .img-item img{
		border-radius: 1.5rem;
	}
    .right-tab .na-title {
        font-size: 1.3rem;
        padding: 1.2rem 2.5rem;
        border-radius: 0 0 1.5rem 1.5rem;
	}
}



.foot-tab{
	display: flex;
    justify-content: space-between;
	overflow: hidden;
	margin-bottom:12rem;
	padding-bottom:1.2rem;
}
.foot-tab-header{
	width:35%;
	flex-direction: row-reverse;
	position: relative;
	z-index:2;
	background: url(../img/main_sns_bg.png) 100% 50% no-repeat rgb(232 98 126);
    border-radius: 0px 0.5rem 3rem 0px;
	box-shadow: 1px 1px 6px 0px rgb(32 32 37 / 34%);
}
.foot-tab-content{
	width:65%;
	padding-left:38px;
}
.foot-tab-header .nav-tabs{
	flex-direction: column;
	position: relative;
    z-index: 3;
	padding-top: 2.4rem;
}
.foot-tab .img-wrap  {
	border-radius:3rem !important;
	overflow: visible;
	box-shadow: 1px 1px 7px 3px rgba(32, 32, 37, 0.17);
}
.foot-tab .img-wrap .img-item img{
	height:100%;
	object-fit: cover;
	display:block;
	margin:0 auto;
	object-position:center center;
	border-radius:0rem !important;
}


.foot-tab-header::after {
    content: "";
    width: 1000%;
    height: 100%;
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0px;
   
}
.owl-carousel .owl-stage-outer,
.foot-tab .owl-carousel .owl-stage{
	overflow: visible;
}
.foot-tab-header-inner{
	width:32rem;
	color:#fff;
	height: 40rem;
	padding: 3rem 0px 2.5rem;
}
.foot-tab-header .title {
    font-size: 3.5rem;
    font-weight: 500;
    letter-spacing: 0.025em;
	color:#fff;
}
.foot-tab-header .title  span {
    font-weight: 700;
}
.foot-tab-header .sub-title {
    font-size: 2.6rem;
    font-weight: 300;
    letter-spacing: 0.025em;
}
.foot-tab-header-inner .nav-link{
	margin-left: 0rem;
    font-size: 1.5rem;
    font-weight: 700;
    position: relative;
    z-index: 2;
    color: rgb(255, 255, 255);
    padding: 1.4rem 0px 1.4rem 2.6rem;
	border:0;
	border-radius: 1.5rem 0px 0px 1.5rem;
}
.foot-tab-header-inner .nav-tabs{
	border:0;
}
.foot-tab-content h4{
	margin-top:10px;
	text-align: center;
    font-size: 1.8rem;
}
.sns-span{
	width:37px;
	height:37px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: inline-block;
    vertical-align: middle;
    margin-right: 5rem;
}
.sns1{
	background-image: url(../img/sns_blog_no_img.png);
}
.active .sns1{
	background-image: url(../img/sns_blog.png);
}
.sns2{
	background-image: url(../img/sns_instagram_no_img.png);
}
.active .sns2{
	background-image: url(../img/sns_instagram.png);
}
.sns3{
	background-image: url(../img/sns_youtube_no_img.png);
}
.active .sns3{
	background-image: url(../img/sns_youtube.png);
}
.sns4{
	background-image: url(../img/sns_facebook_no_img.png);
}
.active .sns4{
	background-image: url(../img/sns_facebook.png);
}
.sns5{
	background-image: url(../img/sns_kakao_no_img.png);
}
.active .sns5{
	background-image: url(../img/sns_kakao.png);
}
/* Owl banner nav styled like screenshot controls */
.basic-banner + .sns-swiper-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:8px;
}
.basic-banner + .sns-swiper-btn .swiper-button-prev,
.basic-banner + .sns-swiper-btn .swiper-button-next{
	position:static;
	width:auto;
	height:auto;
	color:#2b1f1f;
	font-size:20px;
	line-height:1;
}
.basic-banner + .sns-swiper-btn .swiper-button-prev{ order:1; margin-right:10px; }
.basic-banner + .sns-swiper-btn .swiper-pagination1{
	order:2;
	flex:1 1 320px;
	max-width:360px;
	min-width:220px;
	height:6px;
	background:#eceff3;
	border-radius:999px;
	overflow:hidden;
}
.basic-banner + .sns-swiper-btn .swiper-pagination1 .swiper-pagination-progressbar-fill{
	background:#ff4f74;
	border-radius:999px;
	transform-origin:left center;
}
.basic-banner + .sns-swiper-btn .sns-active-btn{ order:3; display:flex; align-items:center; margin-left:10px; margin-right:10px; padding-bottom:20px;}
.basic-banner + .sns-swiper-btn .sns-active-btn .btn-active{
	background:transparent;
	border:0;
	color:#ff4f74;
	font-size:18px;
	padding:0 6px;
}
.basic-banner + .sns-swiper-btn .sns-active-btn .btn-active{ display:none; }
.basic-banner + .sns-swiper-btn .sns-active-btn .btn-active.on{ display:inline-block; }
.basic-banner + .sns-swiper-btn .swiper-button-next{ order:4; margin-left:10px; }
.basic-banner + .sns-swiper-btn .swiper-pagination2{
	order:5;
	flex-basis:100%;
	text-align:center;
	margin-top:8px;
	font-weight:600;
	color:#334155;
}


.foot-tab .swiper-button-prev, .foot-tab .swiper-button-next {
	background:none;
}
.foot-logo{
	max-width: 1370px;
    margin: 0 auto;
    overflow: hidden;
    background: #f6f6f6;
    padding: 10px 35px;
    box-sizing: border-box;
	margin-bottom:40px;
}
.foot-logo .sns-content{
	
	position: relative;
}

.foot-logo .sns-active-btn,
.foot-logo .swiper-pagination2,
.foot-logo .swiper-pagination1 {
	display:none !important;
}
.foot-logo .swiper-button-next{
	background:none !important;
	position: absolute !important;
	right:-25px;
	top: 50% !important;
    margin-top: -10px !important;
}
.foot-logo .swiper-button-prev{
	background:none !important;
	position: absolute !important;
	left:-25px;
	top: 50% !important;
    margin-top: -10px !important;
}
.foot-logo .sns-swiper-btn{
    position: absolute;
    height: 30px;
    top: 50%;
    margin-top: -15px !important;
	width:100%;
}
.foot-logo .sns-swiper-btn i{
	opacity: 0.6;
}
.foot-logo .sns-swiper-btn i:hover{
	opacity:1;
}
.foot-logo .img-wrap {
    height: auto;
    overflow: hidden;
    padding-bottom: 0 !important;
}

.foot-logo .img-wrap .img-item {
    display: block;
    position: relative;
}
@media all and (max-width:1023px) {
	.foot-tab{
		flex-direction: column;
	}
	.wrap-main-tab {
		flex-direction: column;
		padding: 5rem 0px 8rem;
	}
	.left-tab{
    	width: 100%;
		margin-bottom:2rem;
 	}
	 .foot-tab-header,
	 .foot-tab-content,
	.right-tab{
		width: 100%;
	}
	.foot-tab-content{
		padding:10px;
	}
	.foot-tab-header{
		background:none;
		box-shadow: none;
	}
	.foot-tab-header-inner {
		width: 100rem;
		color: #555;
		height:auto;
		padding: 0;
	}
	.foot-tab-header .nav-tabs{
		flex-direction: row;
		padding:12px;
	}
	.foot-tab-header-inner .nav-link{
		color:#555;
		padding:0;
		margin-right: 0.5rem;
		padding: 4px 0px;
		border:1px solid #fff;
	}
	.foot-tab-header-inner .nav-link.active{
		border:1px solid #e2e2e2;
		padding:4px;
		border-radius: 17px;
	}
	.foot-tab-header .title-box{
		display:none;
	}
	.text-span{
		display:none;
	}
	.active .text-span{
		display:inline-block;
		padding:0 8px;
	}
	.sns-span{
		margin:0;
        width: 26px;
        height: 27px;
        background-size: 100%;
	}
	.active .sns-span{
		border-radius: 50%;
        background-size: 100%;
		height:26px;
		margin-top:1px;
	}
	.sns1{
		background-image: url(../img/sns_blog_mobile_img.png);
	}
	.active .sns1{
		background-image: url(../img/sns_blog.png);
	}
	.sns2{
		background-image: url(../img/sns_instar_mobile_img.png);
	}
	.active .sns2{
		background-image: url(../img/sns_instagram.png);
	}
	.sns3{
		background-image: url(../img/sns_youtube_mobile_img.png);
	}
	.active .sns3{
		background-image: url(../img/sns_youtube.png);
	}
	.sns4{
		background-image: url(../img/sns_facebook_mobile_img.png);
	}
	.active .sns4{
		background-image: url(../img/sns_facebook.png);
	}
	.sns5{
		background-image: url(../img/sns_kakao_mobile_img.png);
	}
	.active .sns5{
		background-image: url(../img/sns_kakao.png);
	}

	.nav-tabs .nav-item:nth-child(1) .active {
		border:1px solid #21c13f;
		color:#21c13f;
	}
	.nav-tabs .nav-item:nth-child(2) .active {
		border:1px solid #ec658b;
		color:#ec658b;
	}
	.nav-tabs .nav-item:nth-child(3) .active {
		border:1px solid #dd3333;
		color:#dd3333;
	}
	.nav-tabs .nav-item:nth-child(4) .active {
		border:1px solid #1d72d9;
		color:#1d72d9;
	}
	.nav-tabs .nav-item:nth-child(5) .active {
		border:1px solid #ffde00;
		color:#ffde00;
	}
}

@media all and (max-width:576px) {
	.foot-tab-content{
		padding:0 18vw;
	}
	.active .text-span{
		font-size:12px;
		font-weight:400;
	}
}

/* ===== Footer Contact (콜센터) ===== */
.footer-contact{
	background:#1f5ea2;
	color:#fff;
	padding:2.2rem 0;
}
.footer-contact .nt-container{ position:relative; }
.footer-contact .contact-head{
	display:inline-flex;
	align-items:center;
	background:#fff;
	color:#1f5ea2;
	border-radius:999px;
	padding:.9rem 1.6rem;
	margin-bottom:1.4rem;
	font-weight:700;
	position: absolute;
    top: -45px;
    border: 2px solid #1f5ea2;
}
.footer-contact .contact-head .fa{ margin-right:.6rem; }
.footer-contact .contact-title .strong{ font-weight:800; }
.footer-contact .contact-body{ position:relative; overflow:hidden;    padding: 0 3rem; }
.footer-contact .contact-slider .swiper-slide{
	color:#fff;
	padding:1rem 1.2rem;
	border-right:1px dashed rgba(255,255,255,.35);
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-width:0;
	width:auto;
}
#contact_slider{
	overflow:hidden;
}
.footer-contact .contact-slider .swiper-slide:last-child{ border-right:0; }
.footer-contact .contact-name{
	font-size:1.4rem;
	opacity:.95;
	margin-bottom:.25rem;
	letter-spacing:-.02em;
}
.footer-contact .contact-number{
	color:#fff;
	font-size:2.4rem;
	font-weight:800;
	letter-spacing:.02em;
}
.footer-contact .contact-prev,
.footer-contact .contact-next{
	position:absolute;
	top:50%;
	background:transparent;
	border:0;
	color:#fff;
	font-size:1.4rem;
	padding:0 .6rem;
	line-height:1;
}
.footer-contact .contact-prev{ left:.4rem; }
.footer-contact .contact-next{ right:.4rem; }
/********************************************************
■ Footer 
********************************************************/
footer .wrap-footer-menu {
    display: flex;
    align-items: center;
}
.footer-menu{
    padding: 1.8rem 0;
}
.footer-menu li {
	position: relative;
	float: left;
	margin-right: 1rem;
	padding-right: 1rem;
}

.footer-menu li:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.1rem;
	height: 1.2rem;
	margin-top: -0.6rem;
	background: #8292a4;
}

.footer-menu li:last-child {
	margin-right: 0;
	padding-right: 0;
}

.footer-menu li:last-child:after {
	display: none;
}

.footer-menu li a {
	color: #444f64;
	font-size: 108%;
	font-weight: bold;
}

.footer-menu li a strong {
	color: #1464d1;
}

.footer-sns {
	margin-left: auto;
	flex: 0 0 auto;
}

.footer-sns .btn-open-sns {
	display: none;
}

.footer-sns ul:after {
	content: '';
	display: block;
	clear: both;
}

.footer-sns ul li {
	float: left;
	width: 3.8rem;
	height: 3.8rem;
	border-radius: 50%;
}

.footer-sns ul li+li {
	margin-left: 0.6rem;
}



@media (max-width:575.98px){
	.footer-contact{ padding:1.6rem 0; }
	.footer-contact .contact-number{ font-size:1.8rem; }
	.footer-contact .contact-name{ font-size:1.3rem; }
}
/* KS 인증 절차 전용 스타일 (반응형) */
:root {
	--ks-pink: #e75d88;
	--ks-pink-weak: #fde7ef;
	--ks-green: #bfead7;
	--ks-yellow: #ffe08a;
	--ks-border: #e6e6e6;
	--ks-text: #333;
  }

  .ks-process{ max-width:970px; margin:0 auto; }
  .ks-process *{ box-sizing:border-box; }
  .ks-process{ color:var(--ks-text); }
  
  .ks-section{ background:#fff; border:1px solid var(--ks-border); border-radius:.5rem; box-shadow:0 6px 14px rgba(0,0,0,.03); margin:0 0 2rem 0; overflow:hidden; }
  
  .ks-title{
	margin:0; padding:.9rem 1.25rem; background:var(--ks-pink); color:#fff;
	font-size:2rem; font-weight:700; text-align:center;
  }
  .ks-titleB{ background:#b82e5f; }
  
  .ks-body{ position:relative; padding:1.25rem 1.25rem 1.5rem; }
  .ks-body--table{ padding-top:1.5rem; }
  
  /* 좌측 세로 라벨 */
  .ks-side-label{
	position:static; display:inline-block; background:var(--ks-pink-weak);
	color:var(--ks-text); font-weight:700; font-size:.95rem;
	padding:.4rem .65rem; border-radius:.375rem; margin-bottom:.75rem;
  }
  
  /* 표 스타일 */
  .ks-table{ margin:0; border-collapse:separate; border-spacing:0; }
  .ks-table thead th{ background:#fff1f0; border-top:1px solid var(--ks-border); border-bottom:1px solid var(--ks-border); font-weight:700; }
  .ks-table th,.ks-table td{ vertical-align:middle; border-top:none; border-bottom:1px solid var(--ks-border); padding:.9rem 1.5rem; line-height:1.5; }
  .ks-table tbody th{ width:28%; background:#fcfcfc; font-weight:500; color:#000; border-right:1px solid var(--ks-border); }
  .ks-table tbody tr:nth-child(odd) td{ background:#fff; }
  .ks-table tbody tr:nth-child(even) td{ background:#fffdfa; }
  
  /* 4~5개월차 전용 흐름 레이아웃 */
  .ks-flow{ display:grid; grid-template-columns:1fr; grid-column-gap:1.25rem; align-items:start; }
  .flow-col{ display:flex; flex-direction:column; }
  .actor-badge{
	display:inline-block; border:2px solid var(--ks-pink); color:var(--ks-pink);
	border-radius:.75rem; padding:.4rem 1rem; font-weight:700; width:max-content;
	margin:0 0 .9rem; background:#fff;
  }
  .actor-badge .sub{ font-weight:600; font-size:.9em; }
  .actor-badge--right{ align-self:flex-end; }
  
  .step{ position:relative; background:#f8f9fa; border-radius:.5rem; padding:.9rem .9rem; margin-bottom:.85rem; box-shadow:0 1px 0 rgba(0,0,0,.03) inset; }
  .step:last-child{ margin-bottom:0; }
  .step--green{ background:var(--ks-green); }
  .step--yellow{ background:var(--ks-yellow); }
  .step-title{ font-weight:700; }
  .step-meta{ position: absolute;
	font-size: 1.4rem;
	opacity: .9;
	right: -105%;
	margin-top: .2rem;
	width: 100%;
	text-align: center;
	top: 2px;}
  
  .note{
	top: 5px;
	right: -140px;;
	position: absolute;
	display: inline-block;
	background: #fff !important;
	border: 1px solid var(--ks-border);
	border-radius: 5px;
	padding: 10px 30px;
	font-size: 1.5rem;
	line-height:20px;
	height: 40px;
	margin: .25rem 0 .9rem;
  }
  .note--info{ background:#eef5ff; border-color:#cfe0ff; color:#2f4686; }
  
  .flow-arrow{
	align-self:center; width:2px; height:28px; background:#d8d8d8;
	position:relative; margin:.25rem 0 .65rem;
  }
  .flow-arrow:after{
	content:""; position:absolute; left:50%; bottom:-6px; transform:translateX(-50%);
	border-left:6px solid transparent; border-right:6px solid transparent; border-top:6px solid #d8d8d8;
  }
  
  .chip{ display:inline-block; align-self:flex-start; padding:.2rem .55rem; border-radius:999px; font-size:.82rem; line-height:1.2; margin:.25rem 0 .5rem; }
  .chip--warn{ background:#fff5f5; color:#c85151; border:1px solid #f2b9b9; }
 .ks-flow-ksservice{
	padding-top:72.43%;
	overflow:hidden;
	height:0;
	text-indent: -9999999px;
	background:url(../img/ksservice.png) no-repeat center center;
	background-size:100%;
	max-width:770px;
 } 
  /* 큰 화면 레이아웃 보강 */
  @media (min-width: 992px){
	.ks-body{ padding:2rem 0rem 2rem 18rem; }
	.ks-side-label{
	  position:absolute; left:0rem; top:2rem; height:calc(100% - 4rem);
	  margin:0; display:flex; align-items:center; width:17rem; justify-content:center;
	  text-align:center; font-size:1.8rem; color:#a96a7f; padding:20px; background:#fde7ef; border-radius:.5rem;
	}
	.ks-flow{ grid-template-columns:2fr 1.2fr; grid-column-gap:1.5rem; }
	.ks-flow .flow-left{padding-left:30%;padding-right:35%;position: relative;}
	.ks-flow .flow-left .actor-badge{
	  position: absolute;
	  width: 10rem;
	  height: 10rem;
	  left: 1rem;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  top: 12rem;
	}
	.step-left1{
	  background:#e1fbf2;
	}
	.step-left2{
	  margin-top:5rem;
	}
	.step-left3{
	  margin-top:12rem;
	}
	.flow-right{
	  padding-right:45%;
	  position: relative;
	}
	.ks-flow .flow-right .actor-badge{
	  position: absolute;
	  width: 10rem;
	  height: 10rem;
	  right: 0rem;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  top: 12rem;
	  flex-wrap: wrap;
	  align-content: center;
	  background: var(--ks-pink);
	  color:#fff;
	}
	.note-wrap{
	  position: relative;
	}
	.note--info1:before{
	  content: "";
		  display: block;
		  width: 161px;
		  height: 28px;
		  position: absolute;
		  left: -220px;
		  top: -0px;
		  background: url(https://kssi7712.mycafe24.com/img/arr1.png) no-repeat left center;
	}
	.flow-col.flow-left:before{
	  content: "";
	  height: 100%;
	  width: 1px;
	  background: #cacaca;
	  position: absolute;
	  left: 26%;
	  top: 27px;
	  display: block;
	}
	.flow-col.flow-left:after{
	  content: "";
	  height: 1px;
	  width: 50%;
	  background: #cacaca;
	  position: absolute;
	  left: 26%;
	  bottom: -28px;
	  display: block;
	}
	.step-left1::after{
	  content: "";
	  height: 1px;
	  width: 20px;
	  background: #cacaca;
	  position: absolute;
	  left: -10%;
	  top: 27px;
	  display: block;
	}
	.note--info1{
	  top:35px;
	}
  }

.sub_content .flex{
	display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 60px;
}
.con_img_wrap{
	min-width:340px;
	text-align: center;
}
.con_img_wrap img{
	border-radius: 14px;
    width: 100%;
    text-align: center;
    max-width: 400px !important;
}
.sub_content .flex.flex_greet{
	align-items: center;
}
.sub-page-title{
    border-bottom: 0.1rem solid #e9e9e9;
    padding: 4rem 0 2.5rem;
    display: flex;
    align-items: center;
    margin-top: 5px;
    background: #fff;
    position: relative;
    z-index: 9;
}
.sub-page-title h2 {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 3.8rem;
    font-weight: 700;
    letter-spacing: -0.03em;
}
  .main_txt h3{
	font-size: 2.8rem;
	font-weight:700;
	margin-bottom:20px;
	color:#333;
  }
  .main_txt .sub_txt{
	font-size: 28px;
    font-weight: 600;
	color:#000;
	margin-bottom:50px;
	position: relative;
  }
  .main_txt .sub_txt::before{
	content: "";
    position: absolute;
    bottom: -20px;
    left: 0;
    background: #090909;
    width: 34px;
    display: block;
    height: 2px;
  }
  .page-title-right{
	display: none; 
  }
  .page-title-right button{
	border: 0;
    padding: 0;
    background: none;
  } 
  .page-title-right ul{
	display:flex;
    flex-wrap: wrap;
    gap: 4px;
  }
  .main_txt .con_img{
	width: 40px;
    line-height: 20px;
    padding: 10px;
    border-radius: 10px;
    display: inline-block;
	margin-right: 10px;
  } 
  .bg_blue{
	background: #3ba456;
  }
    /* 반응형 */
	@media (max-width: 520px){
		.sub-page-title{
			align-items: flex-start;
			flex-direction: column;
		}
		.sub-page-title h2 {
			flex: 1 1 auto;
			font-size: 2.8rem;
			margin-bottom:10px;
		}
		.page-title-right ul {
			gap: 8px;
		}
		.page-title-right ul img{
			width:32px;
		}
		.main_txt h3{
			font-size: 2.4rem;
		}
		.main_txt .con_img{
			width: 30px;
			line-height: 20px;
			padding: 7px;
		}
	  }
  .pc_br{
	display:none;
  }
  .con_story{
	font-size: 1.8rem;
	line-height: 1.5;
  }
  .con_story p{
	margin:15px 0;
  }
  .con_story h3{
	font-size: 2.4rem;
	font-weight: 700;
	margin: 15px 0;
	margin-bottom: 20px;
  }
  .sub_greet{
	margin-top:30px;
  }
  .me-ul .me-a i{
	
  }
  .sidebar-list ul.off{
	display:block !important;
  }
  .cv-spanline {
    box-sizing: border-box;
    max-width: 970px;
    margin: 40px auto;
    
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    align-items: start;
}

.cv-spanlineB {
    grid-template-columns: 1fr 260px;
}
  /* 연도 블럭 */
  .years{display:block}
  .year{margin:24px 0 56px;padding-left:140px;}
  .year h3{
	
  }

  /* 이벤트 리스트(타임라인) */
  .events :root{
	--text:#1f2937;
	--muted:#6b7280;
	--primary:#2563eb;
	--line:#e5e7eb;
	--dot:#94a3b8;
	--bg:#ffffff;
  }
  .years h3{
	color:#2C59EA;
	font-size:2.6rem;
	font-weight:700;
	margin-bottom:20px;
	letter-spacing:0.5px;
	position: absolute;
	left: 0px;
	width: 140px;
    top: 7px;
	background:url(../img/h3_history.png) no-repeat right 12px;
  }
  .years1{
	padding-left:140px;
	position: relative;
  }
  .year{
	position: relative;
  }
  .events{
	position:relative;
	list-style:none;
	margin:0;
	padding:0px 0 0 0px; /* 월(시간) 열 공간 */
  }
  .event{
	position:relative;
	display: grid;
    grid-template-columns: 60px 1fr;
	column-gap: 24px;
	padding:11px 0;
	padding-left:45px;
	align-items:start;
	margin:0;
	background:url(../img/li_history1.png) no-repeat left top;
  }

  .event:last-child{
	background:url(../img/li_history2.png) no-repeat left top;
  }
  .event:first-child{
	background:url(../img/li_history.png) no-repeat left top;
  }
  .event:only-child{ background:url(../img/li_history3.png) no-repeat left top;
  }
  .event > span {
	display:block;
	width:60px;
	text-align:right;
	font-variant-numeric:tabular-nums;
	color:#334155;
	font-size:1.8rem;
	font-weight:700;
  }
  .event .content{
	color:var(--text);
	line-height:1.5;
  }
.hr_line{
	display: block;
    height: 1px;
    background: #e0e0e0;
    border: 0;
	margin:80px 0;
}
  /* 반응형 */
  @media (max-width: 800px){
	.cv-timeline{grid-template-columns:1fr}
	.hero{order:2}
	.years h3{
		width:110px;
	}
	.year{
		padding-left:110px;
	}
	
	.events::before{left:32px}
	.event{grid-template-columns:48px 1fr;padding-left:40px;}
	.event::before{left:-40px}
	.years {
	
		overflow-x: auto; /* 내용이 넘칠 때만 가로 스크롤 생성 */
		-webkit-overflow-scrolling: touch; /* 모바일에서 부드러운 스크롤 */
	}
	.ks-process,
	.ks-body{
		padding:1.25rem 0 !important;
	}
	.ks-process{
		padding-top:50px !important;
	}
	.ks-side-label{
		 font-size:1.6rem;
		display:block;
		padding:10px 15px;
	  }
	  .sub_greet {
		margin-top: 0px;
	}
  }
  @media (max-width: 430px){
	.year {
        padding-left: 0px;
    }
	.years h3{
		position: relative;
		background: none;
	}
	
  }
  /* 공통 라벨 */
h3.section-label{margin: 0 0 12px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    position: relative;
    padding-left: 30px;}
	h3.section-label::before{
		content: '';
		position: absolute;
		left: 0;
		top: 5px;
		width: 20px;
		height: 20px;
		background: #005dbc;
		border-radius: 20% 50%;
	 }
h3.mt60{
	margin-top: 60px;

}
/* 설립근거 카드 */
.law-card{position:relative;border:4px solid #b6c6ea;border-radius:14px;padding:0;background:#fff;box-shadow:0 2px 0 0 rgba(91,121,186,.15) inset}
.law-card__header{background:#6b8ed6;color:#fff;border-radius: 10px 10px 0 0;padding:14px 18px;text-align:center;box-shadow:0 2px 0 0 rgba(0,0,0,.05)}
.law-card__header strong{font-size:26px;letter-spacing:.5px}
.law-card__body{border-radius:0 0 12px 12px;padding:26px 16px;text-align:center}
.law-card__body p{margin:6px 0;font-size:20px}

/* 비전 섹션 */
.intro{margin:12px 0 24px;color:var(--muted);line-height:1.7}

.vision-grid{display:grid;grid-template-rows:auto;gap:18px;margin-top:4px}
.v-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:18px}
.v-badge{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-weight:800;box-shadow:0 4px 12px rgba(83,114,193,.25)}
.v-pill{min-height:64px;border:2px solid #b6c6ea;border-radius:40px;padding:10px 24px;background:#fff;display:flex;flex-direction:column;justify-content:center;text-align:center;}
.v-pill__title{font-weight:800}
.v-pill__sub{color:#555;}

/* 하단 칩 네비 */
.vision-grid .chips{display:flex;flex-wrap:wrap;gap:16px;margin:28px 0 8px;justify-content: space-between;}
.vision-grid .chip{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 26px;border:2px solid #b6c6ea;border-radius:28px;color:#2749b3;font-weight:800;text-decoration:none;flex:1;font-size: 1.6rem;}
.vision-grid .chip:hover{background:#dae6ff}

.scroll-down{width:36px;height:36px;margin:16px auto 0;border:2px solid #b6c6ea;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-strong);font-size:22px}
/* 오버랩 시안 */
.vision-grid.overlap .v-row{ position:relative }
.vision-grid.overlap .v-row:nth-child(1){ z-index:3 }
.vision-grid.overlap .v-row:nth-child(2){ margin-top:-48px; z-index:2 }
.vision-grid.overlap .v-row:nth-child(3){ margin-top:-48px; z-index:1 }

/* 반투명 글래스 느낌 */
.vision-grid.overlap .v-pill{
  background:rgba(255,255,255,.62);
  border-color:rgba(182,198,234,.85);
  box-shadow:0 12px 30px rgba(39,73,179,.10);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}

/* 원형 배지도 살짝 투명 + 겹침 */
.vision-grid.overlap .v-badge{
  background:linear-gradient(180deg, rgba(207,224,255,.85), rgba(168,191,246,.75));
  border:2px solid rgba(93,132,210,.25);
  box-shadow:0 8px 18px rgba(83,114,193,.25);
}
.vision-grid.overlap .v-badge1{background:#766cd5b7;}
.vision-grid.overlap .v-badge2{background:#4a68a0b7;}
.vision-grid.overlap .v-badge3{background:#5390afb7;}
/* 모바일에서는 겹침 해제 */
@media (max-width: 640px){
  .vision-grid.overlap .v-row:nth-child(2),
  .vision-grid.overlap .v-row:nth-child(3){ }
  .vision-grid.overlap .v-pill{
    background:#fff;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}
/* 반응형 */
@media (max-width: 920px){
  .v-row{grid-template-columns:92px 1fr}
  .v-badge{font-size:14px}
}
@media (max-width: 640px){
  .law-card__header strong{font-size:22px}
  .law-card__body p{font-size:18px}
  .v-row{grid-template-columns:74px 1fr}
  .v-badge{}
  .vision-grid .chips {
	gap: 4px;
}
  .vision-grid .chip{
	background:#fff;
	height:42px;
	margin:0;
  }
  .vision-grid .chip,
  .v-pill{
	font-size:12px;
  }
  .v-pill__title {
    font-weight: 800;
    line-height: 1.4rem;
}
}

/* strategy 전용 테마 (디자인/컬러/공간) */
.strategy{ margin:40px 0 24px ;    display: flex;
    flex-direction: column;
}
.strategy .section-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 42px;
    min-height: 28px;
    margin: 0 auto 28px;
    background: #62768e;
    border: 8px solid #eaeef3;
    border-radius: 50px;
    color: #fff;
    font-weight: 800;
    letter-spacing: .2px;
    box-shadow: 0 3px 0 rgba(72, 99, 171, .15) inset, 0 2px 10px rgba(72, 99, 171, .08);
}
.strategy .strategy-cards{
	display:grid; grid-template-columns:repeat(4, minmax(220px,1fr));
	gap:32px; align-items:stretch;
}

/* 파란 프레임 카드 */
.strategy .s-card{
	position:relative;
	padding:3px;                 /* 헤더 공간 + 내부 여백 */
	background:linear-gradient(180deg,#6f93df,#5e87d8);
	border:1px solid #4e78ca; border-radius:14px;
	box-shadow:0 10px 24px rgba(59,91,168,.15);
}
.strategy .s-card.vision{
	background:linear-gradient(180deg,#7779cc,#7071c0);
}
.strategy .s-card.core{
	background:linear-gradient(180deg,#4e9fbd,#468ea9);
}
.strategy .s-card.goal{
	background:linear-gradient(180deg,#4f93c4,#4581ab);
}
.strategy h4{
	color:#fff;
  font-size:2rem;
  padding:20px 10px;
  text-align: center;
}
.strategy .s-card__body{
	min-height:240px;
	background:#fff; border-radius:12px;
	padding:26px 22px 15px; line-height:1.7; text-align:center; color:#0f172a;
	box-shadow:0 2px 0 rgba(91,121,186,.08) inset;
}

/* 반응형 */
@media (max-width: 1024px){
	.strategy .strategy-cards{ grid-template-columns:repeat(2, 1fr); gap:24px }
}
@media (max-width: 640px){
	.strategy .strategy-cards{ grid-template-columns:1fr; gap:18px }
	.strategy .s-card__body{ min-height:auto; padding:20px 16px }
}
.business_box .business_wrap{
	display: grid;
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    gap: 26px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.business_box .business_wrap li {
    --accent-start: #7ad9c7;
    --accent-end: #2ec9d3;
    position: relative;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(18, 34, 78, .08);
    padding: 22px 22px 20px 22px;
    transition: transform .18s ease, box-shadow .18s ease;
	border:2px solid #386FE7;
	border-right:20px solid #386FE7;
}
.business_box .business_wrap li:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 36px rgba(18,34,78,.12);
}
.business_box .business_wrap li:nth-child(2){
	border-color:#08C8E7;
}
.business_box .business_wrap li:nth-child(3){
	border-color:#6433D9;
}
.business_box .business_wrap li:nth-child(4){
	border-color:#2EC9C1;
}
.business_box .business_wrap li:nth-child(5){
	border-color:#2C86C7;
}
.business_box .business_wrap li:nth-child(6){
	border-color:#7779CC;
}
.business_box h3{
	font-size:2.4rem;
	font-weight:700;
	margin-bottom:10px;
	color:#0f172a;
	line-height:1.5;
}
.business_box p{
	font-size:1.6rem;
	line-height:1.5;
	color:#555;
	margin-bottom:10px;
}
.business_box .business_img{
	min-height:110px;
}
.business_box .business_wrap li:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 36px rgba(18,34,78,.12);
}
.direction_wrap{
	display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 26px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.direction_wrap li {
    --accent-start: #7ad9c7;
    --accent-end: #2ec9d3;
    position: relative;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(18, 34, 78, .08);
    padding: 22px 22px 20px 22px;
    transition: transform .18s ease, box-shadow .18s ease;
	border:2px solid #386FE7;
	border-right:20px solid #386FE7;
	text-align: center;
}
.direction_wrap li:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 36px rgba(18,34,78,.12);
}
.direction_wrap li:nth-child(2){
	border-color:#08C8E7;
}
.direction_wrap li:nth-child(3){
	border-color:#6433D9;
}
.direction_wrap li:nth-child(4){
	border-color:#2EC9C1;
}
.direction_wrap li:nth-child(5){
	border-color:#2C86C7;
}
.direction_wrap li:nth-child(6){
	border-color:#7779CC;
}
.direction_wrap h3{
	font-size:2.4rem;
	font-weight:700;
	margin-bottom:10px;
	color:#0f172a;
	line-height:1.5;
	position: relative;
	
}
.line_sm{
	content:"";
	display:block;
	width:24px;
	height:2px;
	background:#0f172a;
	position:relative;
	margin:0 auto;
	margin-bottom:10px;
}
.line_sm + p{
	color:#0f172a;
}
.direction_wrap .fc_blue{
	color:#2C86C7;
	margin:10px 0;
}
.direction_wrap .fc_blue + p{
	margin: 10px 0;
    line-height: 20px;
    min-height: 40px;
}
.direction_wrap .direction_img{
	margin:20px 0;
}
.service-table {
    width: 100%;
    border-collapse: collapse;
 
   
}

.table-row {
    display: grid;
    grid-template-columns: 150px 1fr 1fr 1fr 1fr;
    border-bottom: 1px solid #e5e5e5;
}

.table-row.header {
    background: #f5f5f5;
    font-weight: 600;
    text-align: center;
}

.cell {
    padding: 18px 14px;
    border-right: 1px solid #e5e5e5;
}

.cell:last-child {
   
}

/* 왼쪽 카테고리 컬럼 스타일 */
.category {
    font-weight: 600;
    background: #f0f4f8;
    display: flex;
    justify-content: center;
    align-items: center;
	color:#fff;
}

.cell_bg1{background:#476393;}
.cell_bg2{background:#669EC1;}
.cell_bg3{background:#00BBBA;}
.cell_bg4{background:#02CC9A;}
.cell_bg5{background:#009E75;}
.cell_bg6{background:#2C808E;}
.cell_bg7{background:#1998AF;}
.cell_bg8{background:#7D8ACE;}
/* 컬러 섹션 */
.table-row.header .cell.esg { background: #476393; }         /* 연한 그린 */
.table-row.header .cell.service { background: #669EC1; }     /* 연한 블루 */
.table-row.header .cell.social { background: #00BBBA; }      /* 민트 */
.table-row.header .cell.standard { background: #02CC9A; }   /* 연회색 */

.table-row.header .cell {
    
    color: #fff;
}
.table-row.header .cell.category{
	background: #DFDFDF;
	color: #000;
}
.table-row h5{
	font-weight:700;
	font-size:1.8rem;
}
.cell_color1{
	color:#2C59EA;
}
.cell_color2{
	color:#00BBBA;
}
.txt_right{
	text-align: right;
	font-style: italic;
}
.txt_right .f25{
	font-size: 20px;
    color: #000;
}
.cell.standard {
    /* 띄어쓰기가 없어도 너비에 맞춰 강제로 줄바꿈 */
    word-break: break-all; 
    
    /* 또는 아래 속성을 사용할 수도 있습니다 (최신 브라우저 권장) */
    /* overflow-wrap: anywhere; */
}
/* 반응형 */
@media (max-width: 900px) {
    .table-row {
        grid-template-columns: 120px 1fr 1fr 1fr 1fr;
    }
	.main_txt .sub_txt{
		font-size:2rem;
		line-height:1.4;
	}
	.sub_content .flex{
		gap: 20px;
		flex-direction: column;
	}
	.cv-spanline{
		display:flex;
		flex-direction: column;
	}
	.cv-spanlineB {
		flex-direction: column-reverse;
	}
	.cv-spanline .placeholder{
		max-width:320px;
		max-height:320px;
		width:40%;
		margin:0 auto
	}
	.cv-spanline .placeholder img{
		max-height:260px;
	}
}
/* --- 모바일 대응을 위한 추가 CSS --- */

@media (max-width: 768px) {
    /* 3열로 되어 있는 비즈니스 박스를 1열 또는 2열로 조정 */
    .business_box .business_wrap,
	.direction_wrap {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 15px;
    }



    /* 서비스 테이블을 모바일에서 가로 스크롤 가능하게 하거나 구조 조정 */
    .service-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .service-table {
        position: relative;
        padding-top: 35px; /* 상단 마크가 들어갈 여백 */
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* 부드러운 스크롤 */
    }

   
    .table-row {
        min-width: 700px; /* 기존 유지: 테이블 형태 유지를 위한 최소 너비 */
    }

    /* 3. 스크롤바를 항상 보이거나 더 눈에 띄게 설정 (선택 사항) */
    .service-table::-webkit-scrollbar {
        height: 5px; /* 스크롤바 두께 */
    }
    .service-table::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
    .service-table::-webkit-scrollbar-thumb {
        background: #cbd5e1; /* 스크롤바 색상 */
        border-radius: 5px;
    }
}
@media (max-width: 740px) {

 /* 2. 상단 좌우 스크롤 안내 마크 (가상 요소) */
 .service-table::before {
	content: "↔ 좌우로 밀어서 보세요";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 28px;
	background: #f0f4f8; /* 배경색 (기본 카테고리 색상과 매칭) */
	color: #476393;     /* 텍스트 색상 */
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px 6px 0 0;
	border: 1px solid #e5e5e5;
	z-index: 10;
}

}
@media (max-width: 480px) {
    /* 아주 작은 화면(모바일 세로) 대응 */
    .business_box h3 {
        font-size: 1.8rem;
    }

    .business_box p {
        font-size: 1.4rem;
    }

    .direction_wrap h3 {
        font-size: 1.8rem;
    }

    /* 비즈니스 박스의 오른쪽 두꺼운 보더 너비 축소 */
    .business_box .business_wrap li,
    .direction_wrap li {
        border-right-width: 10px;
        padding: 15px;
    }

    /* 테이블 행의 폰트 사이즈 조정 */
    .table-row h5 {
        font-size: 1.5rem;
    }
    
    .cell {
        padding: 12px 8px;
    }
}
@media (max-width: 430px) {
.cv-spanline .placeholder{
	width:50%;
}
}