/* =========================
   1) Webfont: Pretendard
   - 형식 우선순위: woff2 > woff > otf
   - 필요 굵기만 남기면 성능↑ (예: 400/500/700)
   ========================= */
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Pretendard Light"),
       url("../font/Pretendard/Pretendard-Light.woff2") format("woff2"),
       url("../font/Pretendard/Pretendard-Light.woff") format("woff"),
       url("../font/Pretendard/Pretendard-Light.otf") format("opentype");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Pretendard Regular"),
       url("../font/Pretendard/Pretendard-Regular.woff2") format("woff2"),
       url("../font/Pretendard/Pretendard-Regular.woff") format("woff"),
       url("../font/Pretendard/Pretendard-Regular.otf") format("opentype");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("Pretendard Medium"),
       url("../font/Pretendard/Pretendard-Medium.woff2") format("woff2"),
       url("../font/Pretendard/Pretendard-Medium.woff") format("woff"),
       url("../font/Pretendard/Pretendard-Medium.otf") format("opentype");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("Pretendard SemiBold"),
       url("../font/Pretendard/Pretendard-SemiBold.woff2") format("woff2"),
       url("../font/Pretendard/Pretendard-SemiBold.woff") format("woff"),
       url("../font/Pretendard/Pretendard-SemiBold.otf") format("opentype");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Pretendard Bold"),
       url("../font/Pretendard/Pretendard-Bold.woff2") format("woff2"),
       url("../font/Pretendard/Pretendard-Bold.woff") format("woff"),
       url("../font/Pretendard/Pretendard-Bold.otf") format("opentype");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local("Pretendard Black"),
       url("../font/Pretendard/Pretendard-Black.woff2") format("woff2"),
       url("../font/Pretendard/Pretendard-Black.woff") format("woff"),
       url("../font/Pretendard/Pretendard-Black.otf") format("opentype");
}
/* =========================
   2) 폰트 스택(자동 폴백)
   - Pretendard 우선, 한글 폴백 → 시스템 폰트
   ========================= */
:root {
  --font-sans: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo",
               -apple-system, system-ui, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, "Apple Color Emoji",
               "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  --text-color: #464646;  
  --leading: 1.6;
  --primary: #b70000;
  --ios_vh: 100vh;
}

/***************************************************************************************************
	Reset
***************************************************************************************************/
/* 박스 사이즈 일관되게 */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 기본 리셋 */
html, body {
  margin: 0;
  padding: 0;
}

/* 전체 타이포 & 루트 설정 */
html {
  font-size: 16px; /* 1rem = 16px */
  font-family: var(--font-sans);
  line-height: 1.7;
  letter-spacing: -0.25px;
  color: #222;
  -webkit-text-size-adjust: 100%; /* iOS 글자 자동조정 방지 */
}

/* 바디 레이아웃 */
body {
  min-height: 100vh;
  background: #fff;
  color: inherit;                 /* html의 color(#222) 그대로 사용 */
  word-break: break-word;
  overflow-wrap: break-word;

  /* 텍스트 선택 방지 (복사 불가)
  user-select: none; */

  /* iOS 관련 */
  -webkit-touch-callout: none;    /* 롱탭 메뉴 방지 */
  -webkit-overflow-scrolling: touch;
  font-size: 1rem;   /* 기본 16px */
}

input, button, select, label{-webkit-tap-highlight-color:transparent;}

img {border:none;}
p, ul, li, ol, h1, h2, h3, h4, h5, h6, dl, dt, dd {margin:0; padding:0;}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: 700;
  line-height: 1.3;
}
li {list-style:none;}
fieldset {margin:0; padding:0; border:none;}
legend {position:absolute; left:-1000px; top:-1000px; height:0; font-size:0; line-height:0; visibility:hidden;}
a {margin:0; color:#000; text-decoration:none; box-sizing: border-box;}
table {width:100%; border-collapse:collapse; font-size:1em;}
table caption {display:none;position:absolute; left:-999px; height:0; font-size:0; line-height:0; visibility:hidden; overflow:hidden;}
table td, table th {padding:0;}
button {margin:0; padding:0; font:normal 1em "Pretendard", "Noto Sans KR", 'arial', 'verdana', sans-serif; color:#000; vertical-align:middle; background:0; border:none; overflow:visible; cursor:pointer;}
button:focus {outline:none; -webkit-tap-highlight-color:rgba(0,0,0,0.2);}
a:active {outline:none; -webkit-tap-highlight-color:rgba(0,0,0,0);}
input[type=text], input[type=password], input[type=number], input[type=tel], input[type=rang], input[type=email], input[type=url], input[type=date], input[type=datetime], input[type=month], input[type=tel], input[type=search], input[type=color] {
	display:inline-block; height: 40px; margin:0; padding:3px 10px; font: bold .875rem "Pretendard", "Noto Sans KR", 'arial', 'verdana', sans-serif; color:#000; vertical-align:middle;
	background-color: #fff; border:1px solid #CECECE; border-radius:5px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; -webkit-appearance:none; -moz-appearance:none; appearance:none;
}
hr {height:0; margin:10px 4px; border:none; border-top:1px dashed #e5e5e5;}
div {box-sizing:border-box; -webkit-box-sizing:border-box;}
article, aside, footer, header, hgroup, nav, section, figure {display:block; padding:0; margin:0; box-sizing:border-box; -webkit-box-sizing:border-box;}
em, address {font-style:normal;}
em {color: var(--primary);}
sub {font-weight:normal; vertical-align:middle;}
img {max-width:100%; vertical-align:top;}

@media screen and (max-width:320px) {
	body, input, button {letter-spacing:-1px !important;}
}

html, body { scroll-behavior: smooth; }

/******** common class ********/
.pd0 {padding:0 !important;}
.vtop {vertical-align:top;}
.r_btn {margin: 20px 0; text-align:right;}
.r_btn button {margin-left: 10px;}
.c_btn {display:-webkit-box; display:flex; -webkit-box-align:center; align-items:center; -webkit-justify-content:center; justify-content:center; margin:15px 0; text-align:center;}
.c_btn:only-child {margin:0;}
.c_btn:last-child {margin-bottom:0;}
.c_btn a + a {margin-left: 20px;}
.alignr {text-align:right !important;}
.text_left {text-align:left !important;}
.cen {text-align:center !important;}
.hide {position:absolute !important; left:-10000px; top:-10000px; visibility:hidden;}
.none {display:none !important;}
.layer_back {position:fixed; left:0; top:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:500;}
.nopadding {padding:0 !important;}
.prd_img {position:relative; width:116px; height:76px;}
.noimg img {display:none !important;}
.prewrap {white-space: pre-wrap;}
.word_keep {word-break:keep-all;}
/******************************/
.MOB, .MOB02 {display:none !important;}
.MOB_portrait {display:none !important;}

/***** Layout *****/
.appWrap {position: relative; min-width: 1260px; padding-bottom: 280px; overflow: hidden;}

@media (max-width: 1260px) {
  .appWrap {
    min-width: 0;    /* 해제 */
    width: 100%;
    /*padding-inline: 16px;
    box-sizing: border-box;*/
  }
}

.web_container {position: relative; max-width: 1260px; margin:  0 auto; padding: 0 10px;}

/*** Menu ***/
.tit_sitemap {display: none;}
.menuWrap {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: flex-end; justify-content: flex-end;}
.no_sub > a:hover {text-decoration: underline;}
.sub_menu {position: absolute; left: 50%; top: 100%; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; min-width: 100%; height: 0; opacity: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%); overflow: hidden; -webkit-transition: all .3s linear; transition: all .3s linear; z-index: 50;}
.sub_menu li {height: 60px; padding-top: 10px; box-sizing: border-box;}
.sub_menu a {display: block; height: 50px; padding: 5px 25px 15px; font-weight: 500; font-size: 1rem; color: #595959; line-height: 30px; text-align: center; white-space: nowrap;}
.sub_menu a > * {display: inline-block; border-bottom: 1px solid rgba(0,0,0,0);}
.menu_open .sub_menu {height: 230px; opacity: 1;}

.btn_menu {position: absolute; right: 10px; top: 50%; width: 40px; height: 40px; margin-top: -20px; text-indent: -999em; background: url("../images/btn_menu_w.svg") no-repeat right center;}
.btn_menu_close {display: none;}

.sub_menu .on > a, .sub_menu a:hover {color: var(--primary);}
.sub_menu .on > a > span, .sub_menu a:hover > span {border-bottom: 1px solid var(--primary);}

/* gnb open : hover */
.gnb_menu_open:not(.gnb_bar_none)::before {content: ""; position: absolute; left: 0; top: 70px; right: 0; height: 60px; background-color: #fff; border-bottom: 1px solid #DCDCDC;}


.contentsWrap {min-height: calc(100vh - 280px); padding: 80px 0 0 0;}

.btn_top {position: fixed; bottom: 100px; right: 40px; width: 0; height: 0; text-indent: -999em; background: url("../images/btn_top.svg") no-repeat center center; opacity: 0; -webkit-transition: opacity .3s linear; transition: opacity .3s linear; z-index: 500;}
.btn_top.show {width: 52px; height: 52px; opacity: 1;}

/* ===== 기존 떠있는 전화 버튼 ===== */
.btn_phone {
    position: fixed;
    bottom: 100px;
    right: 40px;
    width: 0;
    height: 0;
    text-indent: -999em;
    background: url("../images/btn_top.svg") no-repeat center center;
    opacity: 0;
    -webkit-transition: opacity .3s linear;
    transition: opacity .3s linear;
    z-index: 500;
    border: none;
    cursor: pointer;
}

/* 나타났을 때 */
.btn_phone.show {
    width: 65px;
    height: 65px;
    opacity: 1;
    border-radius: 50%;
    background-color: #b70000;
    background-image: url("../images/daegun/ico_menu_tellphone_w.svg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    box-shadow: 0 8px 16px rgba(0,0,0,.18);
}

/* 카드 열렸을 때: X 아이콘으로 변경 */
.btn_phone.active {
    background-image: url("../images/btn_menu_close_w.svg"); /* X 아이콘 */
    background-size: 26px 26px;
}

/* ===== 좌측에 뜨는 상담 카드 ===== */
.phone_card {
    position: fixed;
    bottom: 100px;
    right: 120px;
    min-width: 260px;
    max-width: 320px;

    /* 연한 붉은 배경 + 테두리 */
    background-color: #fff8f8; /* 아주 연한 핑크/레드 톤 */
    border: 1px solid rgba(183, 0, 0, 0.25); /* #b70000의 25% 투명도 */

    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
    padding: 16px 18px;
    font-size: 14px;
    color: #222;
    z-index: 490;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease;
}

/* 열렸을 때 */
.phone_card.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.phone_card_inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* 상단 영역: 무료상담 + 아이콘 */
.phone_card_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.phone_card_label {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    background-color: #fff3f3;
    color: #b70000;
    font-size: 12px;
    font-weight: 600;
}

.phone_card_icon {
    font-size: 18px;
}

/* 상담 블럭 */
.phone_card_block {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.phone_card_title {
    font-size: 13px;
    color: #555;
}

.phone_card_tel {
    font-size: 16px;
    font-weight: 700;
    color: #b70000;
    text-decoration: none;
}

.phone_card_tel:hover {
    text-decoration: underline;
}

/* 구분선 */
.phone_card_divider {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0;
}

.phone_card_divider::before,
.phone_card_divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #eee;
}

.phone_card_divider_icon {
    font-size: 11px;
    color: #ccc;
}

/* 모바일 전용: 카드 위치를 오른쪽 버튼 위로 올리기 */
@media screen and (max-width: 768px) {
    .phone_card {
        right: 40px;      /* 버튼과 동일한 right */
        bottom: 120px;    /* 버튼 위로 띄우기 */
        max-width: 260px; /* 모바일에서 조금 더 컴팩트하게 */
    }
}


/* footer */
.footerWrap {position: absolute; left: 0; bottom: 0; width: 100%; height: 280px; background-color: #2A2A2A;}
.footerWrap * {-webkit-touch-callout: text !important;
    -webkit-user-select: text !important;
    -khtml-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    user-select: text !important;}
.footerWrap .web_container {position: relative; height: 100%; padding: 54px 10px 10px 10px;}
.footerWrap .logo {width: 240px; height: 20px; text-indent: -999em; background: url("../images/logo_w.png") no-repeat left center; background-size: 180px 66px;}

.company_info {margin-top: 30px; padding-top: 26px; font-size: .875rem; color: #959595; line-height: 1.3; border-top: 1px solid #505050;}
.company_info h2 {margin-bottom: 14px; font-weight: bold; font-size: .875rem; color: #fff;}
.company_info p {margin-top: 4px;}
.company_info .addr_wrap > span {display: inline-block; margin-right: 20px;}
.company_info a {color: #959595;}
.company_info .copyright {margin-top: 16px; font-size: .875rem;}

.footer_link {position: absolute; right: 0; bottom: 50px; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex;}
.footer_link a {margin-left: 20px;}
.sns_facebook {display: inline-block; width: 44px; height: 44px; text-indent: -999em; background: url("../images/footer_sns_facebook.svg") no-repeat center center;}
.linked {display: inline-block; width: 44px; height: 44px; text-indent: -999em; background: url("../images/footer_linkedin.svg") no-repeat center center;}


/***** main *****/
.tit_main {margin-bottom: 13px; font-weight: 700; font-size: 52px; line-height: 1.48;}
.txt_main01 {font-weight: 500; font-size: 1.125rem; line-height: 1.44;}
.mainWwrap .btn_area {margin-top: 25px;}
.btn_more_main {display: inline-block; padding: 5px 17px 5px 0; font-weight: 500; font-size: 1.125rem; color: #000; background: url("../images/ico_main_more.svg") no-repeat right center;}

/* Key visual */
.key_visual {position: relative; height: 100vh; margin-top: -80px; background-color: #000; overflow: hidden;}
.key_visual li {overflow: hidden;}
.key_visual .image {position: absolute; left: 0; top: 0; min-width: calc(100% + 40px); height: 100%; -webkit-transition: all 2s linear; transition: all 2s linear;}
.key_visual .image::before {content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5);}
.key_visual .image img {min-width: 100%; max-width: inherit; min-height: 100%;}
.btn_main_key_prev {left: 60px; width: 40px; height: 60px; margin-top: -30px; text-indent: -999em; background: url("../images/btn_swiper_prev_key.svg") no-repeat center center; z-index: 10;}
.btn_main_key_next {right: 60px; width: 40px; height: 60px; margin-top: -30px; text-indent: -999em; background: url("../images/btn_swiper_next_key.svg") no-repeat center center; z-index: 10;}
.key_visual .swiper-pagination {bottom: 105px; font-size: 0;}
.key_visual .swiper-pagination .swiper-pagination-bullet {width: 20px; height: 20px; margin: 0 15px; background-color: #fff; border: none; border-radius: 20px; opacity: 1;}
.key_visual .swiper-pagination > .swiper-pagination-bullet-active {width: 60px; background-color: var(--primary); opacity: 1;}

.key_visual .swiper-slide-active .image {-webkit-transform: translateX(-40px); transform: translateX(-40px);}

@media screen and (orientation: portrait) {
    .key_visual .image img {height: 100%;}
}

@-webkit-keyframes char_img {
    40% {margin-top: -20px;}
    80% {margin-top: 2px;}
    100% {margin-top: 0;}
}
@keyframes char_img {
    40% {margin-top: -20px;}
    80% {margin-top: 2px;}
    100% {margin-top: 0;}
}

@-webkit-keyframes desc_text {
    90% {-webkit-transform: translateY(-5px);}
    100% {-webkit-transform: translateY(0);}
}
@keyframes desc_text {
    90% {transform: translateY(-5px);}
    100% {transform: translateY(0);}
}

.rec_head {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; min-height: 40px; padding: 5px 20px; color: #fff; -webkit-box-align: center; align-items: center; background-color: var(--primary);}
.rec_head .tt {-webkit-flex: 1; flex: 1;}
.rec_head .btn_more_main {font-weight: bold; font-size: .875rem; color: #fff; background-image: url("../images/ico_main_more_w.svg");}

/***** tab *****/
.tab01 {margin: 35px 0 40px;}
.tab01 ul {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex;}
.tab01 li:not(:last-child) {margin-right: 10px;}
.tab01 button {min-width: 120px; height: 40px; padding: 5px 20px; font-size: 1rem; border: 1px solid #DCDCDC; border-radius: 40px;}
.tab01 .on button {color: #fff; background-color: var(--primary);}
.sub_titleWrap + .tab01 {margin-top: -80px;}





/***** button *****/
.btn01 {display: inline-block; min-width: 160px; height: 50px; padding: 10px 15px; font-weight: 500; font-size: 1.125rem; color: #fff; text-align: center; line-height: 28px; background-color: #313131; border: 1px solid #313131; border-radius: 50px; box-sizing: border-box;}
.btn01.line {color: #000; background-color: #fff;}
.btn01.primary {background-color: var(--primary); border-color: var(--primary);}

/* 기본 버튼 (PC 기준) */
.btn02 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 52px;
    padding: 0 20px;
    font-size: 1.125rem;
    font-weight: 500;
    color: #b70000;
    background-color: #fff;
    border: 1.8px solid #b70000;
    border-radius: 50px;
    box-sizing: border-box;
    transition: all 0.25s ease-in-out;
}

.btn02:hover {
    background-color: #b70000;
    color: #fff;
    border-color: #b70000;
}

.btn_detail {position: absolute; left:0; top:0; display: block; width:100%; height:100%; text-align: left; text-indent: -999em;}
.btn_detail.arrow::after {content: ""; position: absolute; right: 0; top: 50%; width: 30px; height: 30px; margin-top: -15px; background: url("../images/btn_detail_arrow.svg") no-repeat right center;}
.btn_detail.play {background: url("../images/ico_movie_play.png") no-repeat center center;}




/***** list *****/
.row {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex;}
.col {-webkit-flex: 1; flex: 1;}
.new {display: inline-block; min-width: 40px; height: 20px; margin: -1px 5px 0; padding: 0 5px; font-weight: 500; font-size: .75rem; color: var(--primary); text-align: center; line-height: 18px; vertical-align: middle; border: 1px solid var(--primary); border-radius: 2px; box-sizing: border-box;}
.hot {display: inline-block; min-width: 40px; height: 20px; margin: -1px 5px 0; padding: 0 5px; font-weight: 500; font-size: .75rem; color: #fff; text-align: center; line-height: 20px; vertical-align: middle; background-color: var(--primary); border-radius: 2px; box-sizing: border-box;}

/*** paging ***/
.paging {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-justify-content: center; justify-content: center; margin: 42px 0; text-align: center;}
.paging > a + a {margin-left: 5px}
.paging li a {display: inline-block; width: 30px; height: 30px; font-size: 1.125rem; color: #1B1B1B; text-align: center; line-height: 30px; box-sizing: border-box;}
.paging ol {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; margin: 0 20px;}
.paging li + li {margin-left: 8px;}
.paging .cur a {color: #fff; background-color: var(--primary);}
.btn_page {display: inline-block; width: 40px; height: 30px; text-indent: -999em !important; overflow: hidden; opacity: 0.2;}
.btn_page:active {opacity: 1;}
.btn_page.fir {background: url("../images/btn_page_first.svg") no-repeat center center;}
.btn_page.prev {background: url("../images/btn_page_prev.svg") no-repeat center center;}
.btn_page.next {background: url("../images/btn_page_next.svg") no-repeat center center;}
.btn_page.end {background: url("../images/btn_page_end.svg") no-repeat center center;}

/*** board ***/
.board_list > li {position: relative; padding: 30px 20px; border-bottom: 1px solid #D2D2D2;}
.board_list > li:last-child {border: none;}
.board_cont {min-height: 300px; margin: 0 auto 45px; padding: 70px 0; font-size: 1.125rem; line-height: 1.8; border: 0 solid #959595; border-width: 1px 0;}
.ck-content {display: block; width: 100%; max-width: 1000px; height: auto; margin: 0 auto; border: none;}
.ck-content * {margin: revert; padding: revert;}
.ck-content ol, .ck-content ul, .ck-content li {margin: revert; padding: revert; list-style: revert;}
.ck-content p, .ck-content h1, .ck-content h2, .ck-content h3, .ck-content h4, .ck-content h5, .ck-content h6 {margin: revert; font-weight: revert; font-size: revert;}
.ck-content em {color: inherit; font-style: italic;}
.ck-content img {border: revert;}

/***** contents style *****/
.sub_visual {position: relative; height: 480px; margin-top: -80px; color: #fff; background-size: cover !important;}
.sub_visual .web_container {position: relative; height: 100%;}
.sub_visual .text_area {position: absolute; left: 10px; top: 50%; font-weight: 700; font-size: 2.75rem; line-height: 1.27; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
.tit_page {margin-bottom: 14px; font-weight: 500; font-size: 2rem;}
.sub_visual.video {height: 100vh; overflow: hidden;}

.sub_contbox {
	margin-top: 110px;
	margin-top: 0;              /* sub_visual 자체에 여백이 있기 때문에 여기선 0 권장 */
    padding: 56px 0 120px;      /* 상단 56, 하단 120 (풋터와 균형) */
    /* background-color: #f7f7f7;  inline style 말고 CSS로 빼는 걸 추천 */
}

/*** comapny ***/
.sub_visual.company {background: url("../images/img_visual_company.png") no-repeat center top;}
.company_leadership {padding: 0 10px 121px;}
.leader_swiper {overflow: hidden;}
.leader_swiper2 {overflow: hidden;}
.personal_msg {position: relative; margin-top: 17px; padding-top: 15px; line-height: 1.5;}
.personal_msg::before {content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 1px; background-color: #000;}
.major_result {margin-top: 61px; font-weight: 500; font-size: 1.5rem; color: var(--primary); line-height: 1.67;}
.major_result li {position: relative; padding-left: 15px;}
.major_result li::before {content: ""; position: absolute; left: 1px; top: 50%; width: 4px; height: 22px; margin-top: -11px; background-color: var(--primary);}
.company_contact {-webkit-touch-callout: text !important;
    -webkit-user-select: text !important;
    -khtml-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    user-select: text !important;}
.comapny_map {margin-top: 41px; margin-bottom: -50px;}
.comapny_map img {width: 100%;}


/*** game ***/
.gameWrap {color: #fff; background-color: #000;}
.sub_visual .sub_menu_tit {font-size: 60px; line-height: 1.45;}
.sub_visual .sub_menu_tit .eng {display: block; font-size: 1.5rem;}
.sub_visual .info {margin-top: 22px; font-weight: normal; font-size: 1.125rem;}
.sub_visual .download_count {margin: 27px 0 34px; padding-left: 34px; font-weight: normal; font-size: 1.25rem; background: url("../images/ico_check.svg") no-repeat 2px center;}
.sub_visual .link {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex;}
.sub_visual .link a {display: block; text-indent: -999em; margin-right: 20px;}


/*** culture ***/
.sub_visual.culture {background: url("../images/img_visual_culture.png") no-repeat center top;}


.welfare_list {margin: 27px 0 141px;}
.welfare_list > li {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; margin-bottom: 32px;}
.welfare_list .image {padding-top: 2px;}
.welfare_list .cont {-webkit-flex: 1; flex: 1; padding-left: 38px;}
.welfare_list .tit {margin-bottom: 10px; font-size: 1.375rem;}
.welfare_list ul {font-size: 1rem; color: #959595; line-height: 1.625;}
.welfare_list ul li {position: relative; padding-left: 12px;}
.welfare_list ul li::before {content: ""; position: absolute; left: 2px; top: .81em; width: 4px; height: 4px; margin-top: -2px; background-color: #959595; border-radius: 4px;}


/***** Super story *****/
.sub_visual.story {background: url("../images/img_visual_story.png") no-repeat center top;}

/***** toast *****/
.toast {position: fixed; left: 50%; top: 100px; display: none; min-width: 302px; padding: 15px 20px; font-size: 1.125rem; color: #1B1B1B; text-align: center; background-color: #fff; border: 1px solid #C9C9C9; box-shadow: 0 1px 2px #E5E5E5;
    -webkit-transform: translateX(-50%); transform: translateX(-50%); z-index: 200;
}
.toast .copy {position: relative; display: inline-block; padding-left: 36px; line-height: 26px; background: url("../images/ico_copy.png") no-repeat left center;}



/********** swiper plugin **********/
.swiper-pagination {font-size: 0;}
.swiper-pagination .swiper-pagination-bullet {width: 20px; height: 20px; margin: 0 15px; font-size: 0; background-color: #fff; border: 1px solid #A0A0A0; border-radius: 20px; box-sizing: border-box; opacity: 1;}
.swiper-pagination .swiper-pagination-bullet-active {background-color: #959595; border-color: #959595;}
.btn_swiper_prev_w {width: 40px; height: 60px; margin-top: -30px; text-indent: -999em; background: url("../images/btn_swiper_prev_w.svg") no-repeat center center;}
.btn_swiper_next_w {width: 40px; height: 60px; margin-top: -30px; text-indent: -999em; background: url("../images/btn_swiper_next_w.svg") no-repeat center center;}




/********** Tablet **********/
@media screen and (max-width: 879px) {
}


/********** Phone & tablet **********/
@media screen and (max-width:768px) and (orientation:portrait), (max-height:500px) and (orientation:landscape) {
    .WEB {display: none !important;}
	.MOB {display: block !important;}
    .web_container {width: 100%; padding: 0 0;}
    .MOB_block {display: block;}


    /***** Layout *****/
    .appWrap {min-width: 100%; min-height: 100vh; padding-bottom: 200px;}

    /*** Menu ***/
    .menuWrap {position: absolute; right: 0; top: 50px; display: block; width: 100vw; height: calc(100vh - 50px); margin: 0; padding: 20px; background-color: #fff; border-top: 1px solid #E5E5E5; overflow: auto; z-index: 1; -webkit-transform: translateX(100%); transform: translateX(100%);}
    .sub_menu {display: block; min-width: 100%; height: 0; opacity: 0; overflow: hidden; -webkit-transition: all .3s linear; transition: all .3s linear; z-index: 50;}
    .sub_menu li {height: 80px; padding-top: 20px; box-sizing: border-box;}
    .sub_menu a > * {display: inline-block; line-height: 18px;}
    .menu_open .sub_menu {height: 230px; opacity: 1;}

    .normal .btn_menu {background-image: url("../images/btn_menu_M.svg");}
    .normal .btn_menu {background-image: url("../images/btn_menu_mb.svg");}

    .contentsWrap {padding-top: 50px;}

    .btn_top {position: fixed; right: 20px; bottom: 20px;}
    .btn_phone {position: fixed; right: 20px; bottom: 20px;}

    /* footer */
    .footerWrap {position: absolute; left: 0; bottom: 0; width: 100%; height: 260px; background-color: #1B1B1B;}
    .footerWrap .web_container {position: relative; height: 100%; padding: 30px 20px 0;}
    .footerWrap .logo {width: 240px; height: 15px; background-size: auto 100%;}

    .company_info {margin-top: 20px; padding-top: 15px; font-size: .75rem; color: #959595; line-height: 1.34;}
    .company_info h2 {margin-bottom: 4px; font-weight: 500; font-size: .75rem; color: #fff;}
    .company_info p {margin-top: 0;}
    .company_info .addr_wrap > span {display: inline-block; margin-right: 15px;}
    .company_info .txt_addr {display: block; margin: 0;}
    .company_info a {color: #959595;}
    .company_info .copyright {margin-top: 10px; font-size: .75rem;}

    .footer_link {position: static; margin-top: 11px;}
    .footer_link a {margin-left: 0; margin-right: 10px;}

    /***** main *****/
    .tit_main {margin-bottom: 13px; font-weight: 700; font-size: 1.875rem; line-height: 1.5;}
    .txt_main01 {font-weight: 500; font-size: .875rem; line-height: 1.43;}
    .mainWwrap .btn_area {margin-top: 25px;}
    .btn_more_main {display: inline-block; padding: 5px 17px 5px 0; font-weight: 500; font-size: 1.125rem; color: #000; background: url("../images/ico_main_more.svg") no-repeat right center;}


    /* Key visual */
    .key_visual {margin-top: -50px;}
    .btn_main_key_prev, .btn_main_key_next {display: none;}
    .key_visual .swiper-pagination {bottom: 40px; font-size: 0;}
    .key_visual .swiper-pagination .swiper-pagination-bullet {width: 14px; height: 14px; margin: 0 10px; background-color: #fff; border-radius: 20px; opacity: 1;}
    .key_visual .swiper-pagination > .swiper-pagination-bullet-active {width: 34px; background-color: var(--primary); opacity: 1;}

    .key_visual .swiper-slide-active .image {-webkit-transform: translateX(-40px); transform: translateX(-40px);}
    .key_visual .swiper-slide-active .image img {width: 100%;}

    @supports (-webkit-touch-callout: none) {
    	.key_visual {height: var(--ios_vh);}
	}

    .rec_head {padding: 5px 10px;}

    /***** tab *****/
    .tab01 {margin: 15px -10px 20px 0;}
    .tab01 ul {-webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-row-gap: 10px; row-gap: 10px;}
    /*.tab01 li {min-width: calc((100% - 40px) / 4); margin-right: 10px; box-sizing: border-box;}*/
    .tab01 li {margin-right: 10px; box-sizing: border-box;}
    .tab01 button {min-width: inherit; width: 100%; height: 30px; padding: 2px 10px; font-size: .8125rem;}
    /*.tab01 .item3 li {min-width: calc((100% - 30px) / 3);}*/
    .tab01 .item3 li {}
    .sub_titleWrap + .tab01 {margin-top: -80px;}

    /***** button *****/
    .btn01 {display: inline-block; min-width: 160px; height: 50px; padding: 10px 15px; font-weight: 500; font-size: 1.125rem; color: #fff; text-align: center; line-height: 28px; background-color: #313131; border: 1px solid #313131; border-radius: 50px; box-sizing: border-box;}
    .btn01.line {color: #000; background-color: #fff;}
    .btn01.primary {background-color: var(--primary); border-color: var(--primary);}

	/* 모바일 반응형 */
    .btn02 {
        min-width: 140px;
        height: 44px;
        padding: 0 16px;
        font-size: 1rem;
        border-radius: 40px;
    }
    
    .btn_detail {position: absolute; left:0; top:0; display: block; width:100%; height:100%; text-align: left; text-indent: -999em;}
    .btn_detail.arrow::after {background-position: center center; background-size: 10px auto;}
    .btn_detail.play {background-size: 35px auto;}



    /***** list *****/
    .row {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex;}
    .col {-webkit-flex: 1; flex: 1;}

    /***** table *****/
    .new {min-width: 30px; height: 15px; margin: -2px 2px 0; padding: 0 3px; font-weight: 500; font-size: 9px; color: var(--primary); text-align: center; line-height: 13px;}
    .hot {min-width: 30px; height: 15px; margin: -2px 2px 0; padding: 0 3px; font-weight: 500; font-size: 9px; color: #fff; text-align: center; line-height: 15px;}

    /*** paging ***/
    .paging {-webkit-justify-content: inherit; justify-content: inherit; margin: 30px 0 0; text-align: center;}
    .btn_page {width: 25px; background-size: auto 12px !important;}
    .paging a {display: inline-block;}
    .paging li a {font-size: .9375rem;}
    .paging ol {margin: 0 auto;}


    /*** board ***/
    .board_list > li {position: relative; padding: 12px 10px;}
    .board_cont {margin-bottom: 30px; padding: 25px 0; font-size: 1rem;}
    .ck-content {max-width: calc(100vw - 40px);}

    /***** contents style *****/
    .sub_visual {position: relative; height: 400px; margin-top: -50px; color: #fff; background-size: cover !important; height: 22vh; min-height: 220px; max-height: 280px;}
    .sub_visual .text_area {position: absolute; left: 20px; top: 50%; right: 20px; font-weight: 700; font-size: 1.375rem; line-height: 1.27; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
    .tit_page {margin-bottom: 14px; font-weight: 500; font-size: 1.25rem;}
    .sub_visual.video {height: 100vh; overflow: hidden;}

    .sub_contbox {
    	margin-top: 33px; margin: 60px auto 60px; padding: 0 20px;
    	margin-top: 10px; padding: 30px 20px 80px 20px;
    }

    /*** comapny ***/
    .sub_visual.company {background: url("../images/img_visual_company_MOB.png") no-repeat center top;}
    .company_readership {padding: 0 18px 121px;}
    .personal_msg {margin-top: 10px; padding-top: 11px; font-size: .875rem; line-height: 1.43;}

    .major_result {margin-top: 25px; font-weight: normal; font-size: 1rem; line-height: 1.5625;}
    .major_result li::before {width: 3px; height: 15px; margin-top: -7.5px;}

    .company_contact .web_container {padding: 0 20px;}
    .comapny_map {margin-top: 36px;}


    /*** game ***/
    .sub_visual .sub_menu_tit {font-size: 1.875rem; line-height: 1.45;}
    .sub_visual .sub_menu_tit .eng {display: block; font-size: 1rem;}
    .sub_visual .info {margin-top: 20px; font-weight: normal; font-size: 1rem;}
    .sub_visual .download_count {margin: 20px 0 27px; padding-left: 26px; font-weight: normal; font-size: 1rem; background-size: 18px auto;}
    .sub_visual .link {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex;}
    .sub_visual .link a {display: block; text-indent: -999em; width: 33px; height: 33px; margin-right: 10px; background-size: 100% auto;}

    /********** swiper plugin **********/
    .swiper-pagination {font-size: 0;}
    .swiper-pagination .swiper-pagination-bullet {width: 14px; height: 14px; margin: 0 10px !important; font-size: 0; background-color: #fff; border: 1px solid #A0A0A0; border-radius: 20px; box-sizing: border-box; opacity: 1;}
    .swiper-pagination .swiper-pagination-bullet-active {background-color: #959595; border-color: #959595;}
    .btn_swiper_prev_w {width: 40px; height: 60px; margin-top: -30px; text-indent: -999em; background: url("../images/btn_swiper_prev_w.svg") no-repeat center center;}
    .btn_swiper_next_w {width: 40px; height: 60px; margin-top: -30px; text-indent: -999em; background: url("../images/btn_swiper_next_w.svg") no-repeat center center;}

	


}

/********** Phone portrait *********/
@media screen and (max-width: 500px) and (orientation:portrait) {
    .WEB_land {display: none !important;}
    .MOB_portrait {display: block !important;}

    /***** toast *****/
    .toast {min-width: calc(100% - 40px); top: 70px; font-size: 1rem;}
    .toast .copy {padding-left: 30px; background-size: 20px auto;}

}



/********** Phone **********/
@media screen and (max-width: 500px) {
    .MOB02 {display: block !important;}

    /***** main *****/
    .company_readership {padding-bottom: 0;}

    /*** culture ***/
    .sub_visual.culture {background: url("../images/img_visual_culture_MOB.png") no-repeat center top;}

    /***** Super story *****/
    .sub_visual.story {background: url("../images/img_visual_story_MOB.png") no-repeat center top;}

}

/********** Phone **********/
@media screen and (max-width: 500px) {}


.c_btn .btn_more {
    padding: 10px 35px;
    font-weight: 500;
    font-size: 1.125rem;
    background: url(../images/ico_main_site_more.svg) no-repeat right 16px center;
}
.c_btn a {
    margin: 0 15px;
}
.btn_more {
    display: inline-block;
    min-width: 155px;
    height: 53px;
    padding: 10px 34px 10px 37px;
    font-weight: bold;
    font-size: 1rem;
    color: #333;
    line-height: 31px;
    border: 1px solid #333;
    border-radius: 50px;
    box-sizing: border-box;
}

.footer_menu {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; margin-left: -21px; margin-bottom: 15px;}
.footer_menu li {position: relative; padding-left: 1px;}
.footer_menu li:not(:first-child)::before {content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 10px; margin-top: -5px; background-color: #3A3939;}
.footer_menu a {display: block; padding: 5px 20px; font-weight: 300; color: #8A8A8A;}

/* 모바일 반응형 조정 */
@media screen and (max-width: 768px) {
	body {
	    font-size: 0.9375rem;  /* 15px 정도 */
	    letter-spacing: -0.2px;
	    line-height: 1.75;
	}
	  
    .quick_menu {margin-top: 30px; padding: 0 20px; border-top: 1px solid #E7E7E7; padding-top: 30px;}
    .quick_menu ul {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-justify-content: center; justify-content: center; gap: 10px;}
    .quick_menu li {min-width: 65px;}
    .menu_kakao::before {background: url("../images/ico_menu_kakao.svg") no-repeat center center;}
    .menu_tel::before {background: url("../images/ico_menu_telephone.svg") no-repeat center center;}
    /* 65x65 원 + 아이콘 */
	.menu_tel::before {
	  content: "";
	  width: 65px;
	  height: 65px;
	  border-radius: 50%;
	  background-color: #b70000;
	  /* 아이콘 삽입 */
	  background-image: url("../images/daegun/ico_menu_tellphone_w.svg"); /* 경로 맞춰 수정 */
	  background-repeat: no-repeat;
	  /* 아이콘을 원의 '위쪽'으로 올리기 */
	  /* 수평 중앙(50%) + 수직 35% 위치로 위로 올림 (값은 상황에 맞게 30~45% 조정) */
	  background-position: 50% 35%;
	  /* 아이콘 크기
	  background-size: 28px 28px;
	  */
	  /* 미세한 그림자(선택) */
	  box-shadow: 0 2px 8px rgba(0,0,0,.08) inset;
	}
    
    
    .menu_login::before {background: #012C5F url("../images/ico_menu_login.svg") no-repeat center center;}
    .menu_inquire::before {background: #012C5F url("../images/ico_menu_inquire.svg") no-repeat center center;}
    
}



.consult-cta {
  background: #ffffff00;
  /*border-top: 1px solid #eee;*/
  padding: 24px 0;
  
}

.consult-inner {
  width: 100%;
  max-width: 1260px;
  margin: 0 auto;
  /*padding-inline: clamp(16px, 4vw, 24px);*/
  box-sizing: border-box;
}

/* ul/li 2열 구성 */
.consult-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.consult-list > li {
  flex: 1 1 420px;
}

.consult-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* PC에서 좌우 배치 */
  gap: 14px;
  width: 100%;
  padding: 18px 20px;
  border-radius: 12px;
  text-decoration: none;
  background: #f9f9f9;
  border: 1px solid #e9e9e9;
  transition: transform .05s ease, box-shadow .2s ease, background .2s ease;
}

/* 아이콘 + 텍스트 한 줄 정렬용 래퍼 */
.consult-btn .top-line {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* 기존 텍스트 박스 구조 변경 */
.consult-btn .icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  fill: currentColor;
}

.consult-btn .text-box {
  display: flex;
  flex-direction: column;
}

.consult-btn .title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.2;
}

.consult-btn .desc {
  font-size: 1.375em;
  margin-top: 4px;
  /*color: #555;*/
}

/* 버튼 테마 */
.consult-btn.kakao {
  color: #3b1e1e;
  background: #fee500;
  border-color: #f2d000;
  border-radius: 6px;
  transition: all 0.2s;
}

.consult-btn.phone {
  color: #fff;
  background: #b70000;
  background: var(--primary); 
  border-color: #a00000;
  border-radius: 6px;
  transition: all 0.2s;
}

.consult-btn.kakao:hover { filter: brightness(0.98); }
.consult-btn.phone:hover { filter: brightness(1.03); }

.consult-btn:focus-visible {
  outline: 3px solid rgba(0,0,0,0.2);
  outline-offset: 2px;
}

/* 모바일 반응형: 텍스트 세로정렬 */
@media (max-width: 640px) {
  .consult-list {
    gap: 10px;
  }

  .consult-list > li {
    flex-basis: 100%;
  }

  .consult-btn {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 16px;
    gap: 8px;
  }
  .consult-btn .top-line {
    justify-content: flex-start;
  }

  .consult-btn .icon {
    width: 32px;
    height: 32px;
  }

  .consult-btn .text-box {
    flex-direction: column;
  }

  .consult-btn .title {
    font-size: 1.125rem;
  }

  .consult-btn .desc {
    margin-top: 4px;
    font-size: 1.375em;
    
  }
}

.footer_menu li a[href*="privacy"] span {
  font-weight: 700;
  /*color: #000;*/
}

.btn_tel {
  background-color: #b70000;
  color: #fff;
  border: none;
  border-radius: 12px; 
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
   
  position: absolute;
  right: 60px;
  top: 50%;
  width: 80px;
  height: 40px;
  margin-top: -30px;
  
  /* 🔥 가운데 정렬용 */
    display: flex;
    align-items: center;      /* 수직 가운데 */
    justify-content: center;  /* 수평 가운데 */
}


/***
	1rem		16px	기본 본문
	1.125rem	18px	약간 강조된 본문, 카드 제목
	1.25rem		20px	소제목(sub title)
	1.375rem	22px	중간 제목, 섹션 타이틀
	1.5rem		24px	주요 섹션 제목
	2rem		32px	큰 제목 (Hero Title 등)
***/

/* 기본 공통 설정 */
#map_div {
  width: 100%;
  height: 400px; /* PC 기본 높이 */
  border-radius: 12px;
  overflow: hidden;
}

/* 지도 영역 상하 여백 */
.map-section {
  padding: 20px 0; /* PC: 위아래 80px 여백 */
}

/* 모바일 반응형 */
@media (max-width: 768px) {
  #map_div {
    height: 280px; /* 모바일은 조금 낮게 */
  }
  .map-section {
    padding: 40px 0; /* 모바일 여백 축소 */
  }
}




























.m{display:none !important; margin:0 auto;}
.right0{right:0 !important;}

/**
a, a:link, a:focus, textarea, button, input, select{outline:none; resize:none; border:0px; text-decoration:none;  -webkit-appearance:none; -webkit-border-radius:0;}
a, a:link, a:focus{text-decoration:none; color:inherit; cursor:pointer;}
**/

.logo {
    width: 130px;
    height: 48px;
    background: url('../images/logo_w.png') no-repeat center center / contain;
}

/* 스크롤 내려가면 head_over 붙음 → 로고 변경 */
.head_over .logo {
    background: url('../images/logo.png') no-repeat center center / contain;
}

.sub_contents .logo {
    width: 130px;
    height: 48px;
    background: url('../images/logo.png') no-repeat center center / contain;
}

.head_menu_logo_img {
    width: 130px;
    height: 48px;
    background: url('../images/logo_w.png') no-repeat center center / contain;
}

/* 스크롤 내려가면 head_over 붙음 → 로고 변경 */
.head_over .head_menu_logo_img {
    background: url('../images/logo_w.png') no-repeat center center / contain;
}


.head_wrap{background:#fff; position:fixed; top:0; width:100%; margin:auto 0; z-index:9999; vertical-align:middle; box-shadow:0px 0px 5px 0px rgba(0,0,0,0.1); padding:0px 20px; text-align:center; transition: All 0.2s ease; -webkit-transition: All 0.2s ease; -moz-transition: All 0.2s ease; -o-transition: All 0.2s ease;}
	.mainWwrap .head_wrap{background:none; box-shadow:none;}
	.mainWwrap .head_wrap .head .head_menu > ul > li > a{ color: white }
	.mainWwrap .head_wrap.head_over .head .head_menu > ul > li > a{ color: #000; }
	.mainWwrap .head_wrap.head_over .head .head_menu > ul > li > a:hover{ color: #ffffff; }
	
	
	.mainWwrap .head_wrap.head_over .head .head_menu_wrap.right0 .head_menu > ul > li > a{ color: white }
	
	.head_over{background:#fff !important; box-shadow:0px 0px 5px 0px rgba(0,0,0,0.1) !important;}
	.head_fixed{background:#fff !important; box-shadow:0px 0px 5px 0px rgba(0,0,0,0.1) !important;}
		.head_wrap .head{width:100%; max-width:1280px; margin:0 auto; position:relative; transition: All 0.2s ease; -webkit-transition: All 0.2s ease; -moz-transition: All 0.2s ease; -o-transition: All 0.2s ease;}
			.head_wrap .head .head_logo{width:200px; position:absolute; top:20px; left:0;}
			.head_wrap .head .head_logo2{width:200px; position:absolute; top:20px; right:0;}
				
				.mainWwrap .head_wrap .head .head_logo .head_logo_img{display:block;}
				.mainWwrap .head_wrap .head .head_logo .head_logo_img_fixed{display:none;}
				
				.head_wrap .head .head_logo .head_logo_img{display:none;}
				.head_wrap .head .head_logo .head_logo_img_fixed{display:block;}
				
				.head_fixed .head .head_logo .head_logo_img{display:none !important;}
				.head_fixed .head .head_logo .head_logo_img_fixed{display:block !important;}
				
				.head_over .head .head_logo .head_logo_img{display:none;}
				.head_over .head .head_logo .head_logo_img_fixed{display:block;}
				
				/* PC: li에 .check 붙으면 서브메뉴 보이기 */
				.head_over .head_menu > ul > li.check .head_menu_down_menu {
				    display: block;
				}
			.head_wrap .head .head_menu{width:100%; padding:0px 300px;}
				.head_wrap .head .head_menu > ul{display:table; width:100%;}
					.head_wrap .head .head_menu > ul > li{display:table-cell; width:16.66%; vertical-align:top;line-height: 6px;}
						.head_wrap .head .head_menu > ul > li > a{display:block; padding:40px 0; position:relative; font-weight:500; font-size:1.25em;}
						.head_wrap .head .head_menu > ul > li > a:after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:#1c1c1b; left:50%; -webkit-transform:translate(-50%,0); -ms-transform:translate(-50%,0); transform:translate(-50%,0); transition:All 0.2s ease; -webkit-transition:All 0.2s ease; -moz-transition:All 0.2s ease; -o-transition:All 0.2s ease;}
							.head_wrap .head .head_menu > ul > li:hover a:after{width:50%;}
							.head_wrap .head .head_menu > ul > .check{background:#b70000;}
							.head_wrap .head .head_menu_wrap.right0 .head_menu > ul > .check{background:none;}
							.head_wrap .head .head_menu > ul > .check a:after{width:50%;}


			.head_menu_down_menu{display:none; font-size:0.9em; font-weight:400; height: 200px; padding-top: 20px; margin-top: 0px; padding-bottom: 20px; margin-bottom: 0px;}
				.head_menu_down_menu ul li a{display:block;}
					.head_menu_down_menu ul li a:hover{text-decoration:underline;}
				.head_menu_down_menu{padding:20px;}
				.head_menu_down_menu.check{background:#b70000;}


.btn_tel { top: 50px; }
.head_menu_down_menu ul li {letter-spacing: 0.3px; padding: 10px;  font-size: 16px;line-height: 22px;letter-spacing: 0.3px;}
.head_menu_down_menu ul li a { text-decoration: none; }
.head_menu_down_menu ul li a:hover { text-decoration: none; color: white;}

	
@media screen and (max-width:1280px){
	.head_wrap .head .head_menu{width:90%; padding:0px 200px;}
	
	/* nav */
/** 	
	.nav_wrap{display:block !important;top:auto;bottom:10px;right:10px;-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;}
		.nav_wrap .nav_quick{display:block;background:#1c1c1b; color:#fff; width:80px; height:80px; border-radius:50%; box-shadow:0px 5px 10px 0px rgba(0,0,0,0.3); overflow:hidden; margin-top:10px;}
		.nav_wrap .nav_quick img{width:45px;}
		.nav_wrap .nav_quick_close{display:none;position:relative;}
		.nav_wrap .nav_quick_close:before,.nav_wrap .nav_quick_close:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;display:inline-block;width:25px;height:2px;background:#fff;transform:translate(0px,0px) rotate(45deg);margin:auto;}
		.nav_wrap .nav_quick_close:after{transform:translate(0px,0px) rotate(-45deg)}
		.nav_wrap .nav{display:none;}
		.nav_wrap .nav ul li{width:80px;height:80px;text-align:center;margin-bottom:10px;}
*/

	/* head */
/**	
		.head_wrap{height:auto;}
		.head_wrap .head .head_logo{position:relative; top:0; padding:15px 0}
		.head_menu_wrap{font-size:1.2em; color:#fff; background:#222; overflow-y:scroll; padding:60px; text-align:left; transition:All 0.2s ease; -webkit-transition:All 0.2s ease; -moz-transition:All 0.2s ease; -o-transition:All 0.2s ease; top:0; width:100%; z-index:1; height:100%; position:fixed; right:-100%; box-shadow:0px 0px 5px 0px rgba(0,0,0,0.1) !important;}
			.head_wrap .head .head_menu{padding:0; text-align:center;}
				.head_wrap .head .head_menu > ul > li{display:table; width:100%; text-align:left; padding-bottom:30px; margin-bottom:30px; border-bottom:1px solid rgba(255,255,255,0.1);}
					.head_wrap .head .head_menu > ul > li > a{padding:15px;}
						.head_wrap .head .head_menu > ul > li > .head_menu_down{display:inline-block !important; width:200px; padding:0; vertical-align:top;}
						.head_wrap .head .head_menu > ul > li > a:after{display:none;}
					.head_menu_logo{text-align:center; margin-bottom:60px;}
						.head_menu_logo img{width:100%; max-width:200px;}
					.head_menu_down_menu{display:inline-block !important; padding:0 !important; color:#aaa;}
						.head_menu_down_menu > ul{display:block;}
							.head_menu_down_menu > ul > li{float:none;}
								.head_menu_down_menu > ul > li a:hover{color:#fff;}
*/
		/* mobile_menu */
		
		
			.mobile_menu_icon_wrap{position:absolute; right:0; top:50%; -webkit-transform:translate(0,-50%); -ms-transform:translate(0,-50%); transform:translate(0,-50%); cursor:pointer; text-align:right; z-index:2;}
				.mobile_menu_icon{width:22px; padding:10px 0; position:relative;}
					.head_wrap .mobile_menu_icon .mobile_menu_icon_bar{height:2px; width:22px; border-radius:100px; background:#ffffff; transition:All 0.2s ease; -webkit-transition:All 0.2s ease; -moz-transition:All 0.2s ease; -o-transition:All 0.2s ease;}
					.head_wrap.sub_contents .mobile_menu_icon .mobile_menu_icon_bar{background:#000000;}
						.mobile_menu_icon .mobile_menu_icon_bar:before{content:""; position:absolute; top:0; left:0; height:2px; width:22px; border-radius:100px; background:#ffffff; margin:4px auto; transition:All 0.2s ease; -webkit-transition:All 0.2s ease; -moz-transition:All 0.2s ease; -o-transition:All 0.2s ease;}
					.head_wrap.sub_contents .mobile_menu_icon .mobile_menu_icon_bar:before{background:#000000;}
						.mobile_menu_icon .mobile_menu_icon_bar:after{content:""; position:absolute; bottom:0; left:0; height:2px; width:22px; border-radius:100px; background:#ffffff; margin:4px auto; transition:All 0.2s ease; -webkit-transition:All 0.2s ease; -moz-transition:All 0.2s ease; -o-transition:All 0.2s ease;}
					.head_wrap.sub_contents .mobile_menu_icon .mobile_menu_icon_bar:after{background:#000000;}
					.head_wrap.head_over .mobile_menu_icon .mobile_menu_icon_bar{background:#1c1c1b;}
						.head_wrap.head_over .mobile_menu_icon .mobile_menu_icon_bar:before{background:#1c1c1b;}
						.head_wrap.head_over .mobile_menu_icon .mobile_menu_icon_bar:after{background:#1c1c1b;}

				.mobile_menu_icon.mobile_menu_icon_open .mobile_menu_icon_bar{background:#fff !important;height: 0;}
				.mobile_menu_icon_open .mobile_menu_icon_bar:before{background:#fff !important;}
				.mobile_menu_icon_open .mobile_menu_icon_bar:after{background:#fff !important;}
												
						
				.mobile_menu_icon_open .mobile_menu_icon_bar{height:0; background:#fff !important;}
						.mobile_menu_icon_open .mobile_menu_icon_bar:before{background:#fff !important; top:9px; -webkit-transform:rotateZ(-45deg) translateY(-6px); -moz-transform:rotateZ(-45deg) translateY(-6px); -ms-transform:rotateZ(-45deg) translateY(-6px); -o-transform:rotateZ(-45deg) translateY(-6px); transform:rotateZ(-45deg) translateY(-6px); width:25px;}
						.mobile_menu_icon_open .mobile_menu_icon_bar:after{background:#fff !important; bottom:10px; -webkit-transform:rotateZ(45deg) translateY(6px); -moz-transform:rotateZ(45deg) translateY(6px); -ms-transform:rotateZ(45deg) translateY(6px); -o-transform:rotateZ(45deg) translateY(6px); transform:rotateZ(45deg) translateY(6px); width:25px;}
				.mobile_menu_icon_open .mobile_menu_icon_bar{background:#fff !important;}
					.mobile_menu_icon_open .mobile_menu_icon_bar:before{background:#fff !important}
					.mobile_menu_icon_open .mobile_menu_icon_bar:after{background:#fff !important;}
	
}

@media screen and (max-width:760px){
	.pc{display:none !important;}
	.m{display:block !important;}
	.cell50{display:block; width:100%;}
	.input_wrap3{height:40px !important;}
		.input_wrap3 .btn{font-size:16px; padding:0px 20px;}
	.input_wrap2{height:35px !important;}
		.input_wrap2 .btn{font-size:14px; padding:0px 15px;}
	.input_wrap1{height:30px !important;}
		.input_wrap1 .btn{font-size:12px; padding:0px 10px;}

	/* head */
		.head_wrap{height:auto;}
		.head_wrap .head .head_logo{position:relative; top:0; padding:15px 0}
		.head_menu_wrap{font-size:1.2em; color:#fff; background:#222; overflow-y:scroll; padding:60px; text-align:left; transition:All 0.2s ease; -webkit-transition:All 0.2s ease; -moz-transition:All 0.2s ease; -o-transition:All 0.2s ease; top:0; width:100%; z-index:1; height:100%; position:fixed; right:-100%; box-shadow:0px 0px 5px 0px rgba(0,0,0,0.1) !important;}
			.head_wrap .head .head_menu{padding:0; text-align:center;}
				.head_wrap .head .head_menu > ul > li{display:table; width:100%; text-align:left; padding-bottom:30px; margin-bottom:30px; border-bottom:1px solid rgba(255,255,255,0.1);}
					.head_wrap .head .head_menu > ul > li > a{padding:15px; color: #ffffff;}
						.head_wrap .head .head_menu > ul > li > .head_menu_down{display:inline-block !important; width:200px; padding:0; vertical-align:top;}
						.head_wrap .head .head_menu > ul > li > a:after{display:none;}
					.head_menu_logo{text-align:center; margin-bottom:60px;}
						.head_menu_logo img{width:100%; max-width:200px;}
					.head_menu_down_menu{display:inline-block !important; padding:0 !important; color:#aaa;}
						.head_menu_down_menu > ul{display:block;}
							.head_menu_down_menu > ul > li{float:none;}
								.head_menu_down_menu > ul > li a:hover{color:#fff;}
								
		.head_wrap{height:60px;}
		.head_wrap .head .head_logo{position:relative; top:0; padding:10px 0; width:150px;}
		.head_menu_wrap{top:0; width:100%; padding:60px 30px; font-size:1.1em;}
			.head_wrap .head .head_menu > ul > li{display:block; width:100%; margin-bottom:0; padding-bottom:0; border-bottom:0; margin-bottom:30px;}
				.head_wrap .head .head_menu > ul > li > .head_menu_down{display:block !important; width:100%; position:relative;}
				.head_wrap .head .head_menu > ul > li > .head_menu_down_open{color:#b70000;}
					.head_wrap .head .head_menu > ul > li > .head_menu_down:before{height:8px; width:8px; position:absolute; top:30%; right:0; margin:0; border:solid rgba(255,255,255,0.5); border-width:0 0 1px 1px; content:""; display:inline-block; transition:All 0.2s ease; -webkit-transition:All 0.2s ease; -moz-transition:All 0.2s ease; -o-transition:All 0.2s ease; -webkit-transform:rotate(-135deg); -ms-transform:rotate(-135deg); transform:rotate(-135deg);}
					.head_wrap .head .head_menu > ul > li > .head_menu_down_open:before{top:20%; -webkit-transform:rotate(-45deg); -ms-transform:rotate(-45deg); transform:rotate(-45deg);}

			.head_menu_logo{margin-bottom:30px;}
			.head_menu_down_menu{display:block !important; height:auto !important; margin-top:0; padding:0px !important;}
				.head_menu_down_menu ul{display:none; margin-top:15px; padding:0px 20px;}
					.head_menu_down_menu ul li{float:none;}
					.head_menu_down_menu ul li:hover{color: #b70000;}
					.head_menu_down_menu ul li a:hover{color: #b70000;}
		.head_sns{display:none;}
		
		.btn_tel{right: 40px; top: 40px;}
		
		.head_menu_down_menu ul li a{color:#fff;}
		
}


.team_swiper_01 .swiper-pagination-progressbar {
    background-color: #e6e6e6; /* 연한 배경 (원하는 색으로 변경) */
    height: 4px;           /* 기본보다 조금 두껍게 하면 고급 느낌 */
    border-radius: 2px;    /* 둥글게 */
}

.team_swiper_01 .swiper-pagination-progressbar-fill {
    background-color: #b70000 !important; /* 메인 버건디 */
    border-radius: 2px;
}

.team_swiper_02 .swiper-pagination-progressbar {
	background-color: #e6e6e6; /* 연한 배경 (원하는 색으로 변경) */
    height: 4px;           /* 기본보다 조금 두껍게 하면 고급 느낌 */
    border-radius: 2px;    /* 둥글게 */
}

.team_swiper_02 .swiper-pagination-progressbar-fill {
	background-color: #b70000 !important; /* 메인 버건디 */
    border-radius: 2px;
}









































/***** title – 공통 *****/
.tit01 {
    margin: 16px 0;
    font-weight: 700;
    font-size: 2.25rem;   /* PC 큰 제목 */
    line-height: 1.3;
    text-align: center;
}

/* 서브 페이지(내용 영역)에서는 타이틀 왼쪽 정렬 */
.sub_contbox .tit01 {
    text-align: left;
    letter-spacing: -0.03em;
    margin: 0 0 8px;
}

.tit01:first-child {
    margin-top: 0;
}

/* 언론보도 리스트 페이지에서만 타이틀 약간 더 컴팩트하게 (선택사항) */
.press-page .tit01 {
    text-align: left;
    letter-spacing: -0.03em;
    margin: 0 0 8px;
}

/* 언론보도 설명 텍스트(press_desc) 여백 – 여기서만 제어 */
.press-page .press_desc {
    margin-bottom: 24px;   /* 타이틀 아래 설명과 리스트 사이 간격 */
}

/********** Phone & tablet **********/
@media screen and (max-width: 768px) {
    /* 모바일용 타이틀 기본 */
    .tit01 {
        margin: 12px 0 12px;
        font-weight: 700;
        font-size: 1.5rem;    /* ≒ 24px */
        line-height: 1.4;
        text-align: left;     /* 모바일은 기본 왼쪽 정렬이 자연스러움 */
    }

    .sub_contbox .tit01,
    .press-page .tit01 {
        margin: 0 0 8px;
    }

    .press-page .press_desc {
        margin-bottom: 20px;
    }

    .tit01:first-child {
        margin-top: 0;
    }
}




/***** text *****/
.txt01 {margin: 16px 0; font-size: 1.15rem; line-height: 1.8rem;word-break: keep-all; text-align: center;}
.txt02 {margin: 25px 0;}
.txt_underline {text-decoration: underline;}


.main_rows .txt01 {text-align: center;} 
.press_desc .txt01 {
    text-align: left;     /* center → left */
    font-size: 0.95rem;
    color: #464646;
    line-height: 1.7;
    margin: 0;
}

@media screen and (max-width:768px) and (orientation:portrait), (max-height:500px) and (orientation:landscape) {
    /***** text *****/
	.txt01 {margin: 4px 0 26px; font-weight: 400; font-size: 1.5rem;line-height: 1.75; text-align: left; font-size: 1.08rem; margin: 0px 0 20px;}
    .txt02 {margin: 15px 0; font-size: .875rem;}
    .txt02 a {display: inline-block;}
    
}