@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 

.only-desktop {display:block !important;}
.only-mobile {display:none !important;}

#wrapper {padding-top:var(--header-height); position:relative; width:100%; overflow:hidden;}

#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;}

.contain {width:100%; max-width:1260px; margin:0 auto; padding-left:30px; padding-right:30px;}
.contain:after {content:" "; display:block; clear:both;}

/* header */
#header {position:fixed; width:100%; z-index:102; top:0; left:0; right:0; background-color:#fff;}
#header:after {position:absolute; content:''; bottom:0; left:0; right:0; height:1px; background-color:#ddd;}
#header .contain {display:flex; justify-content:space-between; align-items:center; position:relative; z-index:2; max-width:1780px; }

.sitelogo a {display:block;}

#gnb {position:relative; flex:1 1 auto; min-width:0; width:1%; text-align:center;}
#gnb > ul {display:flex; justify-content:space-evenly;}
#gnb > ul > li {padding:0 60px; position:relative; z-index:1;}
#gnb > ul > li > a {display:flex; justify-content:center; align-items:center; position:relative; width:100%; height:var(--gnb-height); padding:0 10px; font-size:var(--font-size-24); font-weight:700; line-height:1.2em; letter-spacing:-.025em; color:#242424;}
#gnb > ul > li:hover > a {color:var(--color-primary);}
#gnb > ul > li > a:after {position:absolute; content:''; bottom:-3px; left:50%; transition:all 0.2s ease-in-out; width:0; background-color:var(--color-primary); height:6px;}
#gnb > ul > li:hover > a:after {left:0; width:100%;}

html[lang="en"] #gnb > ul > li {padding:0;}
html[lang="en"] #gnb > ul > li > a {font-size:var(--font-size-22);}

#gnb .submenu {height:0; overflow:hidden; position:absolute; left:0; width:100%; text-align:center; z-index:15;}
#gnb .submenu > ul {padding:30px 0;}
#gnb .submenu > ul > li {margin-bottom:6px; line-height:1.3em;}
#gnb .submenu > ul > li:last-child {margin-bottom:0;}
#gnb .submenu > ul > li > a {display:block; color:#888;}
#gnb .submenu > ul > li:hover > a {color:var(--color-primary);}

.submenu-bg {display:none; position:absolute; top:100px; left:0; width:100%; background-color:#000; opacity:.9;}


.language {position:relative; display:inline-block; margin-right:45px;}
.language .toggle-button {display:flex; align-items:center; gap:10px; height:var(--header-height); padding:6px 20px; background:none; border:0; color:#333; font-weight:700; text-align:left;}
.language .toggle-button svg {display:block; width:100%; height:auto;}
.language .toggle-layer {display:none; position:absolute; left:0; width:100%; margin-top:-1px; padding:8px; background:#fff; border:1px solid #ddd; border-top:0; border-radius:0 0 10px 10px; text-align:center;}
.language .toggle-layer a {display:block; color:#333; font-weight:700; line-height:1.5em;}
.language .toggle-layer a:hover {color:var(--color-primary);}
.language.active .toggle-button .chevron {transform:scaleY(-1);}

/* for mobile */
.btn-m-menu {display:block; position:relative; width:25px; height:25px; text-align:center; text-indent:-9999em; z-index:50;}
.btn-m-menu span {position:absolute; right:0; top:50%; width:100%; height:1px; background:#000; border-radius:2px;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; width:100%; height:1px; background:#000; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; border-radius:2px;}
.btn-m-menu span:before {top:-9px; transition-property:top, transform;}
.btn-m-menu span:after {bottom:-9px; transition-property:bottom, transform;}

.mobile-navigation {position:fixed; top:100px; right:0; width:300px; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:102;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:12px 18px; display:block; color:#242424; font-size:18px; font-weight:700; line-height:1.3em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:15px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid #454545; border-bottom:2px solid #454545;}
.mobile-navigation .nav-menu>ul>li.active {background:#f4f4f4;}
.mobile-navigation .nav-menu>ul>li.active>a {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>ul>li.home>a {padding:19px 18px;}
.mobile-navigation .nav-menu>ul>li.home>a:after {display:none;}
.mobile-navigation .nav-menu .submenu {display:none; margin:-1px 0 0 0; padding:10px 0;}
.mobile-navigation .nav-menu .submenu>ul>li>a {display:block; padding:5px 18px; color:#454545; font-size:15px; font-weight:400; line-height:1.4em;}
.mobile-navigation .nav-menu .submenu>ul>li>a:hover {color:var(--color-primary);}
.mobile-navigation .menu-close {position:absolute; top:15px; right:15px; width:30px; height:30px;overflow:hidden; text-indent:-999em;}
.mobile-navigation .menu-close:before, 
.mobile-navigation .menu-close:after {content:""; position:absolute; left:14px; height:30px; width:2px; background-color:#ddd;}
.mobile-navigation .menu-close:before {transform:rotate(45deg);}
.mobile-navigation .menu-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:99;}

html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}
html.menu-opened .btn-m-menu span {background:none !important;}
html.menu-opened .btn-m-menu span:before,
html.menu-opened .btn-m-menu span:after {transition-delay:0s, 0.3s;}
html.menu-opened .btn-m-menu span:before {top:0; transform:rotate(45deg);}
html.menu-opened .btn-m-menu span:after {bottom:0; transform:rotate(-45deg);}

/* main */
.main-visual {position:relative; width:100%;/*  height:1080px; */ overflow:hidden; text-align: center;}
/* .main-visual video {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;} */

.main-product {padding:var(--space-50) 0 var(--space-100); overflow:hidden;}
.main-product .contain {max-width:1780px;}
.main-product .slider {position:relative;}
.main-product .slick-list {overflow:visible;}
.main-product .slick-track {display:flex;}
.main-product .slick-track:before, 
.main-product .slick-track:after {display:none;}
.main-product .slick-slide {flex:0 0 auto;}
.main-product .items {margin:0 -15px;}
.main-product .item {padding:0 15px;}
.main-product .link {display:block;}
.main-product .link:hover .img-area .hover {opacity:1;}
.main-product .img-area {position:relative; border:1px solid #ccc; border-radius:16px; overflow:hidden;}
.main-product .img-area:before {content:''; display:block; padding-bottom:100%;}
.main-product .img-area .thumb {position:absolute; top:0; left:0; width:100%; height:100%;}
.main-product .img-area .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-product .img-area .hover {display:flex; flex-direction:column; justify-content:center; align-items:center; position:absolute; top:0; left:0; width:100%; height:100%; padding:12%; background:rgba(0,0,0,.7); transition:.4s; opacity:0;}
.main-product .img-area .hover .txt {color:#fff; line-height:1.5em; text-align:center;}
.main-product .tit-area {margin-top:var(--space-20); font-size:var(--font-size-24); font-weight:700; line-height:1.3em; letter-spacing:-.025em; color:#242424;}
.main-product .btns {display:flex; flex-wrap:wrap; gap:5px; margin-top:var(--space-15);}
.main-product .btns a {display:inline-block; padding:8px 15px; border-radius:4px; background:#000; color:#fff; line-height:1.3em;}
.main-product .btns a:hover {background:var(--color-primary); color:#000; font-weight:600;}
.main-product .slick-arrow {display:flex; justify-content:center; align-items:center; position:absolute; top:50%; margin-top:calc(0px - var(--font-size-70)); z-index:10; width:var(--font-size-70); height:var(--font-size-70); background:#fff; border:1px solid #ccc; border-radius:100%; transition:.4s;}
.main-product .slick-arrow:hover {background:#151515; border-color:var(--color-primary);}
.main-product .slick-arrow:hover path {fill:var(--color-primary);}
.main-product .slick-prev {left:calc(0px - (var(--font-size-70) / 2));}
.main-product .slick-next {right:calc(0px - (var(--font-size-70) / 2));}

.main-partner {padding-bottom:var(--space-100);}
.main-partner .contain {max-width:1780px;}
.main-partner .title {display:flex; margin-bottom:var(--space-30);}
.main-partner .title strong {font-size:var(--font-size-35); color: #242424; font-weight: 800;}
.main-partner .title span {padding-left:var(--space-20);}
.main-partner ul {margin: 0 -10px -20px; display:flex; flex-wrap:wrap;}
.main-partner ul li {padding: 0 10px 20px; width:16.6666%;}

.main-comm {padding:var(--space-100) 0; background:#f2f2f2;}
.main-comm .contain {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-60); max-width:1780px;}
.main-comm .contain:after {display:none;}

.posts-area .head {display:flex; align-items:center; justify-content:space-between; height:130px; padding:10px 28px; margin-bottom:var(--space-40); border-radius:6px; color:#fff;}
.posts-area .head h2 {font-size:var(--font-size-32); font-weight:800; line-height:1.3em;}
.posts-area .head .more {margin-top:-.2em; font-size:var(--font-size-50); font-weight:200; line-height:1em;}
.posts-area .list {padding:0 28px; color:#555; line-height:1.5em;}
.posts-area .list ul {display:grid; gap:clamp(8px, calc(25 / var(--inner) * 100vw ), 25px);}
.posts-area .list ul li {overflow:hidden; white-space:nowrap; text-overflow:ellipsis; word-break:break-all;}
.posts-area .list ul li a {display:flex; align-items:center;}
.posts-area .list ul li a:hover .tit {text-decoration:underline;}
.posts-area .list ul li .date {width:100px; font-weight:600; color:#333;}
.posts-area .list ul li .tit {flex:1 1 auto; min-width:0; width:1%; overflow:hidden; text-overflow:ellipsis;}
.posts-area.st1 .head {background:url('../images/main/post-tit-bg-1.jpg') 50% 50%/cover no-repeat;}
.posts-area.st2 .head {background:url('../images/main/post-tit-bg-2.jpg') 50% 50%/cover no-repeat;}
.posts-area.st2 .list ul li {position:relative; padding-left:1em;}
.posts-area.st2 .list ul li:before {content:'·'; position:absolute; top:0; left:0; font-size:var(--font-size-24); font-weight:700;}

.sns-area .video-container {border-radius:6px;}
.sns-area .sns {margin-top:24px;}
.sns-area .sns h2 {margin-bottom:var(--space-40); font-size:var(--font-size-16); font-weight:800; color:#000; line-height:1.3em; letter-spacing:.05em;}
.sns-area .sns h2 img {height:20px; margin:0 6px 0 0; vertical-align:middle;}
.sns-area .sns ul {display:flex; text-align:center; color:#555; font-size:var(--font-size-14); font-weight:700; line-height:1.3em;}
.sns-area .sns ul li {flex:1; padding:10px;}
.sns-area .sns ul li:not(:first-child) {border-left:1px solid #d5d5d5;}
.sns-area .sns ul li a {display:block;}
.sns-area .sns ul li img {display:block; margin:0 auto 14px; width:clamp(32px, calc( 50 / var(--inner) * 100vw ), 50px);}

/* sub page */
.sub-visual {position:relative; height:650px; color:#fff; text-align:center; overflow:hidden; background:#333;}
.sub-visual .bg {position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transition:2s; opacity:0; transform:scale(1.1); background-repeat:no-repeat; background-position:50% 0; background-size:cover;}
.sub-visual .inner {position:absolute; top:50%; left:0; width:100%; transform:translateY(-50%);}
.sub-visual strong {font-size:var(--font-size-46); line-height:1.3em; display:block; letter-spacing:-.03em; font-weight:800;}
.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 [data-aos=fade-up] {transform:translate3d(0,30px,0);}

.loaded .sub-visual .bg {transform:scale(1); opacity:1;}

.visual-scroll {width:56px; height:49px; bottom:40px; margin-left:-28px; position:absolute; left:50%; background-image:url('/images/common/scroll_down.png'); background-position:50% 50%; background-repeat:no-repeat; background-size:contain; z-index:10; line-height:0; animation:pulse 2s infinite;}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform:translate(0, 0);
            transform:translate(0, 0); }
  50% {
    -webkit-transform:translate(0, 10px);
            transform:translate(0, 10px); }
  100% {
    -webkit-transform:translate(0, 0);
            transform:translate(0, 0); } 
}

@keyframes pulse {
  0% {
    -webkit-transform:translate(0, 0);
            transform:translate(0, 0); }
  50% {
    -webkit-transform:translate(0, 10px);
            transform:translate(0, 10px); }
  100% {
    -webkit-transform:translate(0, 0);
            transform:translate(0, 0); } 
}

.path-wrap {padding-top:20px; position:relative; z-index:50; background-color:#000;}
.path-wrap .contain {max-width:1460px;}
.path-wrap .inner {display:flex;}
.path-wrap .home {position:relative;}
.path-wrap .home a {width:80px; height:80px; display:block; background:url("../images/common/home.png") 50% 50% no-repeat; text-indent:-999em; overflow:hidden;}
.path-wrap .part {min-width:430px; font-size:var(--font-size-18); position:relative;}
.path-wrap .part.first {font-weight:600;}
.path-wrap .bar:after {height:12px; position:absolute; content:''; top:50%; transform:translateY(-50%); right:0; width:1px; background-color:#fff; opacity:.3;}
.path-wrap .part > a {height:80px; padding:0 40px 0 24px; display:flex; align-items:center; position:relative; font-weight:500; line-height:1.3em; color:#fff;}
.path-wrap .part > a:after {width:14px; height:8px; right:20px; margin-top:-4px; content:""; position:absolute; top:50%; background:url("../images/common/path_down.png") 50% 50% no-repeat;}
.path-wrap .part ul {margin-top:1px; display:none; position:absolute; left:-1px; right:-1px; z-index:50; background-color:#fff;}
.path-wrap .part ul li {border:1px solid #ddd; margin-top:-1px; font-size:var(--font-size-17); font-weight:500; line-height:1.3em; color:#242424;}
.path-wrap .part ul li a {display:block; padding:17px 24px;}
.path-wrap .part ul li a:hover {text-decoration:underline; background-color:#000; color:var(--color-primary);}
.path-wrap .part.active > a:after {transform:rotate(180deg);}

#contArea {width:100%; max-width:1460px; margin:0 auto; padding:0 30px;}
#contArea.wide {max-width:none; padding:0;}
#contArea.wide .contain {max-width:1460px;}

.sub-title {padding:75px 0 60px; text-align:center;}
.sub-title.ty2 {padding:0;}
.sub-title.pt0 {padding-top:0;}
.sub-title.pb0 {padding-bottom:0;}
.sub-title .tit {font-size:var(--font-size-32); color:#000; position:relative; line-height:1.3em; letter-spacing:-.025em;}
.sub-title p {font-size:var(--font-size-20); letter-spacing:-.025em; line-height:1.4em; color:#555;}

.real-cont {padding:75px 0;}
.real-cont.space-no {padding-top:0;}
.real-cont.ty2 {padding:165px 0 265px;}

/* footer */
#footer {padding:var(--space-80) 0; background:#151515; line-height:1.5em; color:#666;}
#footer .contain {max-width:1780px;}

.fnb {margin-bottom:var(--space-80); line-height:1.3em;}
.fnb > ul {display:flex; gap:50px;}
.fnb > ul > li > a {display:block; margin-bottom:12px; color:#fff; font-weight:700;}
.fnb .submenu ul li {margin-bottom:6px;}
.fnb .submenu ul li a:hover {color:var(--color-primary);}
.fnb .m1 {width:185px;}
.fnb .m2 {flex:1 1 auto; min-width:0; width:1%;}
.fnb .m2 .submenu ul {display:grid; grid-template-columns:repeat(3, auto);}
.fnb .m2 .submenu ul li {margin-right:32px;}
.fnb .m3 {width:15%;}
.fnb .m4 {width:14%;}
.fnb .m5 {width:14%;}

.foot-info {display:flex; align-items:flex-start; gap:50px;}

.f-logo {width:185px;}

.f-info {flex:1 1 auto; min-width:0; width:1%; font-style:normal; color:#ccc;}
.f-info span {display:inline-block; margin-right:14px;}
.f-info .copy {margin-top:25px; display:block; padding-right:0; color:#fff;}
.f-info .copy a {padding-left:3px; color:#9f9f9f;}

.f-links {display:flex; align-items:center; gap:9px; font-size:var(--font-size-14);}
.f-links .bar {width:1px; height:12px; background:#555;}
.f-links a:hover {text-decoration:underline;}

.foot-fix {position:fixed; bottom:30px; right:30px;}
.foot-fix a {display:block;}

.f-desktop {display:block;}
.f-tablet {display:none;}
.f-mobile {display:none;}