@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 

:root {
    /* color */
    --color-primary:#7aae3c;
    --color-second:#ec8d49;


	/* font style */

    --header-height:100px;
}

#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;outline-color:#f37736;}

.only-desktop-tablet {display:block;}
.only-desktop {display:block;}
.only-tablet {display:none;}
.only-mobile {display:none;}

#wrapper {position:relative; overflow:hidden; padding-top:var(--header-height);}

/* header */
#header {position:fixed; top:0; left:0; width:100%; z-index:100; transition:.3s; background:#fff;}
#header .contain {max-width:1980px; position:relative; display:flex; align-items:center; justify-content:space-between; height:var(--header-height); z-index:10;}

.sitelogo {margin-top:-20px; padding-left:100px;}

#gnb>ul {display:flex; justify-content:flex-end;} 
#gnb>ul>li {position:relative; padding:0 77.5px;}
#gnb>ul>li>a {position:relative; display:flex; align-items:center; justify-content:center; height:var(--header-height); color:#242424; font-size:20px; font-weight:600; letter-spacing:-.03em; line-height:1.3em;}
#gnb>ul>li:hover .submenu {background-color:#f7f7f7;}
#gnb>ul>li:hover::after {content:''; position:absolute; background-color:#7aae3c; width:100%; height:3px; left:0; bottom:-3px; right:0;}
#gnb .submenu {position:absolute; left:0; width:100%; height:0; overflow:hidden; text-align:center; border-left:1px solid rgba(211, 211, 211, .6);}
#gnb>ul>li:last-child .submenu {border-right:1px solid rgba(211, 211, 211, .6);}
#gnb>ul>li:hover .submenu {border-left:0;}
#gnb>ul>li:hover + li .submenu {border-left:0;}
#gnb>ul>li:last-child:hover .submenu {border-right:0;}
#gnb .submenu>ul {padding:20px 5px 33px;}
#gnb .submenu>ul>li>a {display:block; padding:10px 0; color:#454545; font-weight:400; line-height:1.33em; letter-spacing:-.03em;}
#gnb .submenu>ul>li>a:hover {color:#242424; font-weight:600;}
.submenu-bg {display:none; position:absolute; width:100%; left:0; background:#fff; border-top:1px solid #ddd;}

#header.header-fixed {box-shadow:0 3px 3px rgba(0,0,0,0.1);}

#header .right {padding-right:100px; display:flex; align-items:center;}

.btn-all-menu {display:block; margin-left:100px; width:27px; height:26px; background:url('../images/common/menu.png') no-repeat 50% 50% / contain;}

/* for mobile */
.btn-m-menu {display:none; position:relative; width:26px; height:26px;}
.btn-m-menu span {position:absolute; left:0; right:0; top:50%; height:2px; margin-top:-1px; background:#242424;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; right:0; height:2px; background:#242424;}
.btn-m-menu span:before {top:-9px;}
.btn-m-menu span:after {bottom:-9px;}

.mobile-navigation {display:none; position:fixed; top:0; right:0; width:300px; 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:80px; padding:0 20px; color:#242424; font-size:19px; font-weight:700; line-height:1.5em;}
.mobile-navigation .home img {height:26px;}
.mobile-navigation .nav-menu>ul {border-top:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:10px 48px 10px 20px; display:block; color:#242424; font-size:19px; font-weight:700; 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:11px; height:11px; border-right:2px solid #505050; border-bottom:2px solid #505050;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#fff; background:var(--color-primary);}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#fff;}
.mobile-navigation .nav-menu .submenu {display:none; background:#f8f8f8; color:#454545; font-size:16px; font-weight:400; line-height:1.5em;}
.mobile-navigation .nav-menu .submenu ul li {border-top:1px solid #e5e5e5;}
.mobile-navigation .nav-menu .submenu ul li a {display:block; padding:5px 20px;}
.mobile-navigation .nav-menu .submenu ul li a:hover {color:var(--color-primary);}
.mobile-navigation .close {position:absolute; top:25px; right:15px; width:26px; height:26px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before,
.mobile-navigation .close:after {content:" "; position:absolute; top:12px; left:0; width:100%; height:3px; background:#242424; 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 */
#main #container .contain {max-width:1460px;}

.main-visual {position:relative; overflow:hidden; color:#fff;}
.main-visual .item {height:600px;}
.main-visual .img {transition:5s; transform:scale(1); position:absolute; top:0; right:0; width:100%; height:100%;}
.main-visual .img img {position:absolute; top:50%; left:0; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.main-visual .slick-slide.active .img {transform:scale(1.06);}
.main-visual .caption {padding:0 80px 100px; position:absolute; top:50%; transform:translateY(-50%); left:0; width:100%; z-index:2;}
.main-visual .caption h2 {font-size:50px; font-weight:500; letter-spacing:0; line-height:1.43em; text-align:center;}
.main-visual .caption h2 span {font-size:60px; font-weight:800;}
.main-visual .caption p {text-align:center; font-size:20px; margin-top:25px; font-weight:600;}

.main-visual .slick-arrow {position:absolute; top:50%; transform:translateY(-50%); border:0; background-size:contain; background-repeat:no-repeat; background-position:50% 50%;background-color:transparent; z-index:50; transition:.3s; overflow:hidden; width:29px; height:55px; font-size:0; line-height:0; text-indent:-99999em;}
.main-visual .slick-prev {left:4%; background-image:url('../images/main/mv-prev.png');}
.main-visual .slick-next {right:4%;background-image:url('../images/main/mv-next.png');}

.simple-menu {position:relative; top:-90px;}
.spm-list {margin:0 55px; display:flex; background-color:#fff; height:180px; align-items:center; border-radius:90px; box-shadow:0px 8px 30px 0px rgba(0, 0, 0, 0.1);}

.spm-box {width:33.3%; padding:0 40px;}
.spm-box a {display:flex; align-items:center;}
.spm-box .icon {width:110px; height:110px; background-color:#eef8e3; display:flex; align-items:center; justify-content:center; border-radius:100%;}
.spm-text {padding-left:20px;}
.spm-text h3 {font-size:24px; color:#242424; line-height:1.25em;}
.spm-text p {margin:10px 0 20px; color:#898989; font-weight:500;}
.spm-text .more-view {color:#7aae3c; font-weight:600; margin:0;}

.more-btn {height:60px; padding:0 25px; position:relative; z-index:1; display:inline-flex; align-items:center; font-weight:600; letter-spacing:-.03em; line-height:1.4em; color:#000;}
.more-btn:before {content:''; transition:.2s; position:absolute; transition:.2s; right:0; margin-right:60%; top:0; width:60px; height:60px; background:#e4efd8; border-radius:100%; z-index:-1;}
.more-btn:after {content:'→'; margin-left:10px;}
.more-btn:hover:before {background:var(--color-primary); margin-right:0;}
.more-btn:hover:after {color:#fff;}

.tit-top {display:flex; justify-content:space-between;}
.tit-top h4 {margin-bottom:20px; font-size:40px; color:#242424; line-height:1.2em;}
.tit-top h4 span {color:#7aae3c;}
.tit-top p {font-size:18px;}

.main-news {padding:150px 0;}
.main-doc-news {margin-top:55px;}
.main-doc-news ul {display:flex; margin:0 -20px;}
.main-doc-news ul li {width:33.3%; padding:0 20px;}
.main-doc-news ul li .img {margin-bottom:18px; border-radius:20px; position:relative; padding-bottom:65.2%;  overflow:hidden;}
.main-doc-news ul li .img img {
    position: absolute;
    top: 50%;
    left: 0;
    transition: .4s ease-in-out;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    width: 100%;
    height: auto !important;
    max-width: 100%;
    min-height: 100%;
    object-fit: cover;
}

.main-doc-news .tt {font-size:20px; font-weight:600; color:#242424; line-height:1.5em; max-height:4.5em; -webkit-line-clamp:3; -webkit-box-orient:vertical;  text-overflow:ellipsis; word-break:break-all; white-space:normal;overflow:hidden; display:-webkit-box;}
.main-doc-news .tt2 {margin:25px 0 50px; padding-top:20px; border-top:3px solid #242424;line-height:1.5em; -webkit-line-clamp:3; -webkit-box-orient:vertical;  text-overflow:ellipsis; word-break:break-all; white-space:normal;overflow:hidden; display:-webkit-box;}
.main-doc-news .date {font-size:14px; color:#898989;}
.main-doc-news ul li:hover .tt2 {border-top:3px solid var(--color-primary);}
.main-doc-news ul li:hover .date {color:var(--color-primary);}

.main-campaign {background-color:#fbfbfb;padding:105px 0 100px;}
.main-doc-cam {margin-top:50px;}
.main-doc-cam ul {display:flex; margin:0 -20px;}
.main-doc-cam .slick-list {width:100%;}
.main-doc-cam .slick-track {margin:0;}
.main-doc-cam ul li {width:33.3%; padding:0 20px;}
.main-doc-cam ul li .img {margin-bottom:18px; border-radius:20px; position:relative; padding-bottom:65.2%;  overflow:hidden;}
.main-doc-cam ul li .img img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}

.main-doc-cam .done {opacity:.6;}
.main-doc-cam .cam-status {font-size:14px; font-weight:600;}
.main-doc-cam .ing .cam-status {color:var(--color-primary);}
.cam-tit {margin-bottom:30px; font-size:20px; font-weight:600; color:#242424; line-height:1.5em; max-height:3em; -webkit-line-clamp:2; -webkit-box-orient:vertical; text-overflow:ellipsis; word-break:break-all; white-space:normal; overflow:hidden; display:-webkit-box;}
.main-doc-cam .date {font-size:14px; color:#898989;}

.main-doc-cam .btn-wrap {display:flex; align-items:center; margin:30px 0 0 30px;}
.main-doc-cam .btn-wrap .box {display:flex;}
.main-doc-cam .slide-btn {border:none; background-color:transparent; background-repeat:no-repeat; background-size:contain; width:45px; height:44px;}
.main-doc-cam .slide-prev {background-image:url('../images/main/cam-prev.png');}
.main-doc-cam .slide-next {margin:0 30px 0 8px; background-image:url('../images/main/cam-next.png');}
.main-doc-cam .slide-prev:hover {background-image:url('../images/main/cam-prev-on.png');}
.main-doc-cam .slide-next:hover {background-image:url('../images/main/cam-next-on.png');}

.main-doc-cam .progress {position:relative; margin:0 10px; width:1214px; height:4px; background:#eee;border-radius:2px;}
.main-doc-cam .progress-bar {position:absolute; top:0; left:0; height:100%; background:var(--color-primary); border-radius:2px;}

.progress-bar.animated {animation:progressBar 1 linear;}
.progress-bar.paused {animation-play-state:paused !important;}
.progress-bar.play {animation-play-state:running !important;}

@keyframes progressBar {
	0%{width:0;}
	100%{width:100%;}
}




.main-bottom {display:flex; flex-direction:column; justify-content:center;height:500px; background-image:url('../images/main/main-bottom-img.jpg'); background-position:50%; background-repeat:no-repeat; background-size:cover;}
.main-bottom .contain {text-align:center;}
.main-bottom h5 {font-size:50px; font-weight:500; color:#fff; line-height:1.2em;}
.main-bottom h5 span {font-weight:800;}
.main-bottom p {margin:23px 0 60px; font-size:20px; font-weight:500; color:#fff;}
.main-bottom a {margin:0 auto; color:#fff; width:240px; height:60px; display:flex; align-items:center; justify-content:center; border:1px solid #fff; border-radius:30px;}
.main-bottom a span {margin-left:15px;}

/* sub */
.sub-visual {position:relative; height:260px; color:#242424; overflow:hidden; background:#f7faf2;}
.sub-visual .bg {position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transition:2s; opacity:1; transform:scale(1.1); background-repeat:no-repeat; background-position:50% 0; background-size:cover;}
.sub-visual .inner {position:absolute; top:50%; left:50%; width:100%; max-width:1200px; transform:translate(-50%, -50%); margin-left:100px;}
.sub-visual .inner.ty2 {margin-left:0; max-width:1220px; padding:0 20px;}

.sub-visual .inner p {font-size:42px; font-weight:700; letter-spacing:0; line-height:1.4em;}

.inner-wrap {display:flex; align-items:center;}
.inner-wrap p {font-size:15px !important; font-weight:600 !important;}
.inner-wrap p:nth-child(2) {position:relative; margin:0 7px; padding:0 15px;}
.inner-wrap p:nth-child(2)::after {content:''; position:absolute; background-image:url(../images/common/arrow.png); top:50%; transform:translateY(-50%); left:0; width:6px; height:11px; background-repeat:no-repeat; background-size:contain;}
.inner-wrap p:nth-child(2)::before {content:''; position:absolute; background-image:url(../images/common/arrow.png); top:50%; transform:translateY(-50%); right:0; width:6px; height:11px; background-repeat:no-repeat; background-size:contain;}
.inner-wrap .p-other::after {content:''; position:absolute; background-image:url(../images/common/arrow.png); top:50%; transform:translateY(-50%); right:0; width:6px; height:11px; background-repeat:no-repeat; background-size:contain;}
.inner-wrap .p-other::before {display:none;}

.inner-tit {display:flex; justify-content:space-between; align-items:center;}

#sub #container {display:flex; width:100%; max-width:1780px; padding-left:30px; padding-right:30px; margin:0 auto;}

#lnb {width:260px; margin-right:100px; margin-bottom:50px; position:relative; top:-170px;}
.lnb {position:relative;}
.lnb::after {content:''; position:absolute; z-index:-1; top:0; left:0; right:0; bottom:0; border-radius:30px 0 30px 30px; border:1px solid #ddd; width:100%; height:100%;}
.lnb h2 {display:flex; flex-direction:column; justify-content:center; align-items:center; height:200px; padding:10px; text-align:center; color:#fff; font-size:30px; line-height:1.33em; border-radius:30px 0; background-image:url(../images/sub/lnb-bg.jpg); background-repeat:no-repeat; background-size:cover;}
.lnb > ul > li > a {display:flex; justify-content:space-between; align-items:center; min-height:55px; padding:10px 20px; color:#242424; font-size:16px; font-weight:400; line-height:1.33em;}
.lnb > ul > li > a:after {content:""; width:8px; height:14px; margin-left:20px; background:url("../images/common/lnb_off.svg") 50% 50% no-repeat; background-size:contain; transition:.2s;}
.lnb > ul > li > a:hover {color:#42ade2;}
.lnb > ul > li > a:hover::after {transform:translateX(5px); background-image:url("../images/common/lnb_on.svg");}
.lnb > ul > li.active > a {color:#42ade2; font-weight:700;}
.lnb > ul > li.active > a:after {background-image:url("../images/common/lnb_on.svg");}
.lnb .submenu {padding:25px 30px 60px; border-radius:30px 0;}
.lnb .submenu ul li:not(:last-child) {padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid #ddd}
.lnb .submenu ul li a {position:relative; display:block; color:#898989; font-weight:600; line-height:1.33em;}
.lnb .submenu ul li a:before {content:""; position:absolute; background-image:url(../images/sub/lnb-arrow.png); width:19px; height:19px; top:0; right:0;}
.lnb .submenu ul li.active a:before {background-image:url(../images/sub/lnb-arrow-on.png);}

.lnb .submenu ul li a:hover,
.lnb .submenu ul li.active a {color:var(--color-primary);}

.lnb-m {display:none;}
.lnb-m .depth2 {background:#fff; border-bottom:1px solid #ddd;}
.lnb-m .depth2 ul {display:flex;}
.lnb-m .depth2 ul li {width:auto; padding:0 30px; flex:1;}
.lnb-m .depth2 ul li a {position:relative; display:block; line-height:40px; height:40px;color:#505050; font-size:16px; text-align:center;}
.lnb-m .depth2 ul li.active {background-color:var(--color-primary);}
.lnb-m .depth2 ul li.active a {color:#fff;}

#contArea {flex:1 1 auto; min-width:0; width:1%; max-width:1200px;}
#contArea.ty2 {max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto; width:auto;}

#contArea.wide {max-width:100%; padding-left:0; padding-right:0;}
.contain {width:100%; max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto;}

.sub-title {position:relative; padding:65px 0 110px; text-align:center;}
.sub-title::after {content:''; position:absolute; background-image:url(../images/sub/sub-tit-icon.png); background-repeat: no-repeat; background-size: contain; width:25px; height:22px; left:50%; transform:translateX(-50%); bottom:60px;}

.sub-title h1 {font-size:60px; line-height:1.3em; letter-spacing:0; color:#242424;}
.sub-title p {font-size:28px; font-weight:700; color:#242424;}

.real-cont {min-height:300px; padding-top:70px; padding-bottom:100px;}
.real-cont.ty2 {padding-top:0px;}

/* footer */
#footer {background-color:#f4f4f4; font-size:15px; font-weight:400; letter-spacing:-.03em; line-height:1.5em; color:#505050;}
#footer .contain {max-width:1400px; padding:0 100px;}
#footer .contain.ty2 {display:flex; justify-content:space-between; align-items:center;}
#footer .top {padding:30px 0; border-bottom:1px solid #ddd;}
.top-r {display:flex;}
.top-r p {font-size:24px; line-height:48px; color:#0d0d0d; font-weight:600;}
.go-top {background-color:#fff; border:1px solid #ddd; border-radius:100%; width:70px; height:70px; display:flex; align-items:center; justify-content:center;}

.btm {padding-bottom:60px;}

.links {margin:35px 0 50px; display:flex; align-items:center;}
.links li:nth-child(2) {margin:0 45px;}
.links li:first-child a {color:#000000; font-weight:600;}
.top-r .img:nth-child(2) {margin:0 70px;}
.links a {color:#000000;}

.f-logo {margin-bottom:20px; font-size:20px; color:#242424;}

#footer span {display:inline-block;}
#footer a:hover {text-decoration:underline;}

#footer address {font-style:normal; margin-bottom:15px;}
#footer address dl {display:flex;}
#footer address dl:nth-child(2) {margin-top:5px;}
#footer address dl dt {margin-right:5px;}
#footer address dl:nth-child(2) dt:nth-child(3) {margin-left:35px;}

.copyright {font-size:14px; color:#808080;}
.designed {color:#acacac;}

#footer .wrap {display:flex; justify-content:space-between;}

.f-support h3 { margin-bottom:20px; font-size:20px; color:#242424;}
.f-sp-box li {margin-top:6px; display:flex; align-items:center;}
.f-sp-box li:first-child {margin-top:0;}
.f-sp-box li p:first-child {margin-right:12px; display:inline-flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; color:#242424; width:90px; height:28px; border:1px solid #242424; border-radius:14px;}
.f-sp-box li p:last-child span {margin-left:24px;}


.quick-dona {position:fixed; right:60px; bottom:60px; z-index:10;}
.quick-dona a {width:130px;height:130px; background-color:var(--color-primary); border-radius:100%; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.quick-dona p {font-weight:600; color:#fff; margin-top:10px;}
