@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 

#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:50px}

.contain {width:100%; max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto;}
.contain:after {content:""; display:block; clear:both;}

.only-desktop {display:block;}
.only-desktop-tablet {display:block;}
.only-tablet-mobile {display:none;}
.only-tablet {display:none;}
.only-mobile {display:none;}

#wrapper {padding-top:120px;}

/* header */
#header {position:fixed; top:0; left:0; width:100%; background:#fff; border-bottom:1px solid #197ac7; z-index:100;}
#header .contain {position:relative; z-index:2;}

.global {border-bottom:1px solid #e6e6e6;}

.util {float:right;}
.util ul {display:flex;}
.util ul li {position:relative; padding:0 10px;}
.util ul li:before {content:""; position:absolute; top:50%; left:0; margin-top:-4px; width:1px; height:8px; background:#929292;}
.util ul li:first-child {padding-left:0;}
.util ul li:first-child::before {display:none;}
.util ul li:last-child {padding-right:0;}
.util ul li a {display:block; font-size:13px; font-weight:300; line-height:29px; letter-spacing:-.04em;}
.util ul li a:hover {text-decoration:underline;}

.sitelogo {position:absolute; top:50%; left:30px; margin-top:-20px; z-index:2;}

#gnb {margin-left:290px; margin-right:-20px;}
#gnb > ul {display:flex; justify-content:space-around;}
#gnb > ul > li {padding:0 10px; position:relative; text-align:center;}
#gnb > ul > li > a {display:block; font-size:20px; font-weight:500; line-height:89px; letter-spacing:-.05em;}
#gnb > ul > li.active > a {color:#197ac7;}
#gnb .submenu {display:none; position:absolute; left:50%; margin-left:-97px; width:194px; background:#fff; border:1px solid #197ac7; border-top:0;}
#gnb .submenu > ul {padding:10px 10px 15px 25px;}
#gnb .submenu > ul > li > a {display:block; text-align:left; padding:5px 0; color:#555; font-size:16px; font-weight:400; line-height:20px;}
#gnb .submenu > ul > li > a:hover {color:#197ac7;}


.submenu-bg {display:none; position:absolute; left:0; width:100%; height:0; background:#fff; border-bottom:1px solid #ddd;}
.submenu-bg2 {display:none; position:absolute; left:0; margin-top:71px; width:100%; height:0; background:#fafafa;}

/* for mobile */
.btn-m-menu {display:none; position:absolute; top:50%; right:30px; width:28px; height:28px; transform:translateY(-50%); text-indent:-9999em; z-index:50;}
.btn-m-menu span {position:absolute; left:0; right:0; top:13px; height:3px; background:#197ac7;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; right:0; height:3px; background:#197ac7;}
.btn-m-menu span:before {top:-10px;}
.btn-m-menu span:after {bottom:-10px;}

.btn-m-search {display:none; position:absolute; top:50%; right:80px; width:30px; height:30px; transform:translateY(-50%); text-indent:-9999em; z-index:50; background:url("../images/common/search_x2.png") 50% 50% no-repeat; background-size:24px;}

.mobile-navigation {display:none; position:fixed; top:0; right:0; width:360px; height:100%; overflow:auto; transition:.2s linear; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:102;}
.mobile-navigation .home {display:flex; align-items:center; height:60px; padding:5px 20px;}
.mobile-navigation .home img {height:28px;}
.mobile-navigation .links {padding:20px 20px; text-align:center; border-top:1px solid #dfdfdf;}
.mobile-navigation .links > ul {display:table; table-layout:fixed; width:100%; border:1px solid #dfdfdf;}
.mobile-navigation .links > ul > li {display:table-cell; vertical-align:top; border-left:1px solid #dfdfdf;}
.mobile-navigation .links > ul > li:first-child {border-left:0;}
.mobile-navigation .links > ul > li > a {display:block; font-size:14px; color:#878787; line-height:33px;}
.mobile-navigation .nav-menu>ul {border-top:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:10px 20px; display:block; color:#2c2c2c; font-size:17px; font-weight:500; line-height:1.5em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:20px; transform:translateY(-75%) rotate(45deg); width:12px; height:12px; border-right:2px solid #2c2c2c; border-bottom:2px solid #2c2c2c;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#197ac7;}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg);}
.mobile-navigation .nav-menu .submenu {display:none; padding:10px 20px; background:#197ac7; color:#fff; font-size:15px; line-height:1.5em;}
.mobile-navigation .nav-menu .submenu > ul >  li > a {display:block; padding:6px 0;}
.mobile-navigation .close {position:absolute; top:18px; right:18px; width:24px; height:24px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before,
.mobile-navigation .close:after {content:" "; position:absolute; top:11px; left:0; width:100%; height:2px; background:#2c2c2c; border-radius:3px;}
.mobile-navigation .close:before {transform:rotate(45deg);}
.mobile-navigation .close:after {transform:rotate(-45deg);}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:101;}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}

/* main */
#container {position:relative; max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto;}
#main #container {padding-top:30px; padding-bottom:30px;}

#main #container .col-1 {width:61.5%}
#main #container .col-2 {width:38.5%}

.main-row1 {display:flex; margin:0 -10px 30px;}
.main-row1 .col {width:50%; padding:0 10px;}

.main-row2 {display:flex; margin:0 -10px 30px;}
.main-row2 .col {width:50%; padding:0 10px;}

.main-row3 {display:flex; margin:0 -10px 30px;}
.main-row3 .col {width:50%; padding:0 10px;}

.main-row4 {display:flex; margin:0 -10px;}
.main-row4 .col {width:50%; padding:0 10px;}

.main-visual {position:relative;}
.main-visual .slick-arrow {position:absolute; top:50%; margin-top:-27px; width:55px; height:55px; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; border:0; z-index:50; overflow:hidden; text-indent:-9999em;}
.main-visual .slick-prev {left:12px; background-image:url("../images/main/slide_prev.png");}
.main-visual .slick-next {right:12px; background-image:url("../images/main/slide_next.png");}

.main-poaster {border:1px solid #ddd;}
.main-poaster a {display:block;}
.main-poaster a .img {}
.main-poaster a .thumb {position:relative; padding-bottom:82%; overflow:hidden;}
.main-poaster a .thumb img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}

.main-video {position:relative; height:100%; background:#000;}
.main-video video {position:absolute; top:0; left:0; width:100%; height:100%;}

.main-notice {position:relative; height:100%; padding:30px 37px; background:#fff; border:1px solid #e6e6e6;}
.main-notice h2 {font-size:24px; font-weight:500; line-height:1.3em; margin-bottom:10px; margin-top:-3px;}
.main-notice ul {margin-bottom:-2px;}
.main-notice ul li {position:relative; padding-left:15px; line-height:30px; font-weight:300; height:30px; color:#777; overflow:hidden; word-break:break-all; text-overflow:ellipsis; white-space:nowrap;}
.main-notice ul li:before {content:"·"; position:absolute; top:0; left:-1px; font-weight:500;}
.main-notice ul li a:hover {text-decoration:underline; color:#222;}
.main-notice ul li img {vertical-align:middle;}
.main-notice ul li .date {font-weight:400; margin-right:4px;}
.main-notice .more {position:absolute; top:32px; right:37px; width:18px; height:18px; background:url("../images/main/more2.png") 50% 50% no-repeat;}

.main-news {display:block; height:100%; padding:30px 20px; border:1px solid #e6e6e6; background:url("../images/main/news_bg.jpg") 100% 0 no-repeat; background-size:cover;}
.main-news h2 {font-size:24px; font-weight:500; line-height:1.3em; margin-bottom:10px; margin-top:-3px;}
.main-news p {font-size:20px; color:#454545; font-weight:300; line-height:1.3em;}

.main-post {position:relative; height:200px; padding:30px 38px; color:#fff; background:#1e87d9 url('../images/main/edu_box_bg.png') 0 99% no-repeat;}
.main-post h2 {font-size:24px; font-weight:500; line-height:1.3em; margin-bottom:10px; margin-top:-3px;}
.main-post ul {margin-bottom:-2px;}
.main-post ul li {position:relative; padding:0 70px 0 15px; line-height:30px; font-weight:200; height:30px; overflow:hidden; word-break:break-all; text-overflow:ellipsis; white-space:nowrap;}
.main-post ul li:before {content:"·"; position:absolute; top:0; left:-1px; font-weight:500;}
.main-post ul li a:hover {text-decoration:underline;}
.main-post ul li img {vertical-align:middle;}
.main-post .step {position:absolute; top:50%; right:0; margin-top:-10px; width:47px; height:20px; text-align:center; line-height:20px; font-size:12px; font-weight:300; letter-spacing:-.04em; border-radius:4px;}
.main-post .step.s1 {background:#fff; color:#197ac7;}
.main-post .step.s2 {background:#d6d6d6; color:#000;}
.main-post .more {position:absolute; top:32px; right:38px; width:18px; height:18px; background:url("../images/main/more.png") 50% 50% no-repeat;}

.main-link {position:relative; display:block; height:100%; padding:30px 37px; color:#fff; background:#6fc52b url('../images/main/link_box_bg2.png') right 25px bottom no-repeat}
.main-link .tit {font-size:24px; font-weight:400; line-height:1.3em; margin-top:-3px; margin-bottom:30px;}
.main-link .inner {display:flex; align-items:center;}
.main-link .ico {width:85px;}
.main-link .txt {flex:1 1 auto; min-width:0; width:1%; font-size:16px; line-height:1.5em; font-weight:300; letter-spacing:-.03em;}
.main-link:after {content:""; position:absolute; top:32px; right:37px; width:25px; height:22px; background:url("../images/main/arrow.png") 50% 50% no-repeat;}

.main-link2 {display:flex;}
.main-link2 ul {display:flex; margin:0 -10px;}
.main-link2 ul li {flex:1; padding:0 10px;}
.main-link2 ul li a {display:block; position:relative; height:245px; padding:23px 20px; border:1px solid #e6e6e6;}
.main-link2 ul li .tit {font-size:24px; font-weight:500; line-height:1.3em; letter-spacing:-.03em; margin-bottom:95px;}
.main-link2 ul li .arr {position:absolute; top:87px; left:25px; width:34px; height:34px; border:1px solid #ddd; border-radius:100%; background-position:59% 50%; background-repeat:no-repeat;}
.main-link2 ul li .arr.type1 {background-image:url("../images/main/arr1.png")}
.main-link2 ul li .arr.type2 {background-image:url("../images/main/arr2.png")}
.main-link2 ul li .ico {position:absolute; top:64px; right:20px;}
.main-link2 ul li .txt {color:#999; line-height:1.5em; font-weight:300; letter-spacing:-.03em;}

.main-link3 {height:245px; padding:27px 15px; border:1px solid #e6e6e6;}
.main-link3 ul {display:flex; margin:0 -6px;}
.main-link3 ul li {flex:1; padding:0 6px;}
.main-link3 ul li a {display:block; height:189px; padding:22px 10px 22px 20px; border-radius:5px; color:#fff; background-image:url("../images/main/arrow.png"); background-position:right 20px top 27px; background-repeat:no-repeat;}
.main-link3 ul li .tit {font-size:24px; font-weight:400; line-height:1.25em; height:2.5em; margin-bottom:13px;}
.main-link3 ul li .txt {font-size:16px; line-height:1.4em; font-weight:200; letter-spacing:-.03em;}
.main-link3 ul li:nth-child(1) a {background-color:#879aeb}
.main-link3 ul li:nth-child(2) a {background-color:#30c9ef}

.main-sites {overflow:hidden; margin-bottom:30px;}
.main-sites ul {display:flex;}
.main-sites ul li {width:225px; margin-right:20px; flex-shrink:0;}

/* sub */
.sub-visual {height:240px; background-color:#dceaf9; background-position:50% 50%; background-repeat:no-repeat;}
.sub-visual .contain {display:flex; height:100%; align-items:center;}
.sub-visual .inner {padding-left:85px;}
.sub-visual .txt1 {color:#2078c0; font-size:26px; font-weight:700; line-height:1.35em; margin-bottom:8px;}
.sub-visual .txt2 {color:#071723; font-size:20px; font-weight:300; line-height:1.35em; letter-spacing:-.03em;}
.sub-visual.bg1 {background-image:url("../images/common/sv1.jpg")}
.sub-visual.bg2 {background-image:url("../images/common/sv2.jpg")}
.sub-visual.bg3 {background-image:url("../images/common/sv3.jpg")}
.sub-visual.bg4 {background-image:url("../images/common/sv4.jpg")}
.sub-visual.bg5 {background-image:url("../images/common/sv5.jpg")}
.sub-visual.bg6 {background-image:url("../images/common/sv6.jpg")}
.sub-visual.mem {background-image:url("../images/common/sv_member.jpg")}
.sub-visual.my {background-image:url("../images/common/sv_mypage.jpg")}

.path-wrap {position:relative; border-bottom:1px solid #e6e6e6; border-top:1px solid #e6e6e6; z-index:50;}
.path-wrap:after {content:""; display:block; clear:both;}
.path-wrap .inner {display:flex; max-width:1200px; margin:0 auto;}
.path-wrap .home {border-left:1px solid #e6e6e6; border-right:1px solid #e6e6e6;}
.path-wrap .home a {display:block; overflow:hidden; text-indent:-999em; width:70px; height:55px; background:url("../images/common/home.png") 50% 50% no-repeat;}
.path-wrap .path {position:relative; min-width:260px; border-right:1px solid #e6e6e6;}
.path-wrap .path > a {display:block; position:relative; height:55px; color:#000; line-height:55px; font-size:18px; font-weight:400; letter-spacing:-.03em; padding:0 70px 0 29px;}
.path-wrap .path > a:after {content:""; position:absolute; top:50%; right:29px; margin-top:-9px; width:17px; height:17px; background:url("../images/common/path_down.png") 50% 50% no-repeat;}
.path-wrap .path ul {display:none; position:absolute; left:-1px; right:-1px; background:#f4f4f4; border:1px solid #e6e6e6;}
.path-wrap .path ul li {border-bottom:1px solid #e6e6e6;}
.path-wrap .path ul li:last-child {border-bottom:0;}
.path-wrap .path ul li a {display:block; padding:15px 29px; color:#333; font-size:16px; font-weight:300; line-height:1.4em; letter-spacing:-.04em;}
.path-wrap .path ul li a:hover,
.path-wrap .path ul li.active a {background:#fff; color:#1662ae;}

.sub-title {padding:37px 0 80px; text-align:center;}
.sub-title.mgt {padding:55px 0 50px;}
.sub-title h2 {font-size:36px; line-height:1.3em; letter-spacing:-.04em;}

.real-cont {min-height:300px; padding-bottom:100px;}

/* quick */
.quick {position:absolute; top:30px; right:-140px; width:150px; z-index:99;}
.quick ul li {margin-bottom:3px;}
.quick.left {left:-140px; right:auto;}

.quick-mobile {display:none; text-align:center; margin-bottom:20px; margin-top:40px;}
.quick-mobile ul {display:flex; justify-content:center; margin:0 -5px;}
.quick-mobile ul li {padding:0 5px; width:25%;}
#main .quick-mobile {margin-bottom:0;}

/* footer */
#footer address {font-style:normal;}

.foot-links {padding:16px 0; background:#fcfcfc; border-top:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2;}
.foot-links .contain {display:flex; align-items:center;}
.foot-links .f-links {flex:1 1 auto; min-width:0; width:1%; color:#555; font-weight:300; line-height:1.5em;}
.foot-links .f-links ul {display:flex; flex-wrap:wrap;}
.foot-links .f-links ul li {position:relative; padding:0 13px;}
.foot-links .f-links ul li:before {content:""; position:absolute; top:50%; left:0; margin-top:-6px; width:1px; height:13px; background:#cecece;}
.foot-links .f-links ul li:first-child {padding-left:0;}
.foot-links .f-links ul li:first-child::before {display:none;}
.foot-links .f-links ul li:last-child {padding-right:0;}
.foot-links .f-links ul li a:hover {text-decoration:underline;}

.foot-info {padding:32px 0;}
.foot-info .contain {display:flex;}
.foot-info .f-logo {width:290px; margin-top:7px;}
.foot-info .f-info {flex:1 1 auto; min-width:0; width:1%; color:#888; font-weight:300; line-height:1.5em;}
.foot-info .f-info span {display:inline-block; margin-right:16px;}

.familysite {position:relative; width:150px;}
.familysite .tt {position:relative; display:block; width:100%; height:37px; padding:0 0 0 40px; line-height:37px; color:#fff; font-weight:300; letter-spacing:-.02em; background:#0964ad; border-radius:5px; z-index:2;}
.familysite .tt:before {content:""; position:absolute; top:50%; left:15px; margin-top:-7px; width:9px; height:9px; border-right:1px solid #fff; border-bottom:1px solid #fff; transform:rotate(45deg);}
.familysite ul {position:absolute; display:none; bottom:38px; left:0; width:100%; background:#fff; border:1px solid #ccc; border-radius:5px; overflow:hidden;}
.familysite ul li a {display:block; padding:5px 14px; color:#505050; font-size:14px; font-weight:400; line-height:22px; letter-spacing:-.03em; word-break:break-all;}
.familysite ul li a:hover {background:#f7f7f7;}
.familysite.active .tt:after {border-top:0; border-bottom:6px solid #1b500f;}