@charset "utf-8";/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */

.fancybox-close {background-color:#242424 !important;}

#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 } 

.only-desktop-tablet { display:block; } 
.only-desktop { display:block; } 
.only-tablet { display:none; } 
.only-mobile { display:none; } 

#sub #wrapper {padding-top: var(--header-height);}
#sub #header {background:#fff; border-bottom: 1px solid #ddd;}
#sub #header .sitelogo a {background-image:url(../images/common/logo-c.png); }
#sub #header #gnb>ul>li>a {color:#242424;}
#sub #header .btn-m-menu {background-image: url(../images/common/toggle-on.png);}
#sub #header .submenu-bg::after {width: 100%;} 
#sub #header .language .toggle-button {color: #242424;}
#sub #header .language .toggle-button path {fill:#242424;}


/* header */
#header {position:fixed; top:0; left:0; width:100%; z-index:90; } 
#header .contain {display:flex; align-items:center; justify-content:space-between; position:relative; height:var(--header-height); max-width:1780px !important; z-index: 90;} 
#header .sitelogo a {display:block; width:clamp(85px, calc( 120 / var(--inner) * 100vw ), 120px); height:var(--header-height); text-indent:-999em; background-image:url(../images/common/logo-w.png); background-size:contain; background-repeat:no-repeat; background-position: 0 50%;} 

#header.active {background:#fff; box-shadow:rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;}
#header.active .sitelogo a {background-image:url(../images/common/logo-c.png); }
#header.active #gnb>ul>li>a {color:#242424;}
#header.active .btn-m-menu {background-image: url(../images/common/toggle-on.png);}
#header.active .submenu-bg::after {width: 100%;} 
#header.active .language .toggle-button {color: #242424;}
#header.active .language .toggle-button path {fill:#242424;}

#header:hover {background:#fff; box-shadow:rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;}
#header:hover .sitelogo a {background-image:url(../images/common/logo-c.png); }
#header:hover #gnb>ul>li>a {color:#242424;}
#header:hover .btn-m-menu {background-image: url(../images/common/toggle-on.png);}
#header:hover .submenu-bg::after {width: 100%;} 
#header:hover .language .toggle-button {color: #242424;}
#header:hover .language .toggle-button path {fill:#242424;}

#header .commflxbx {display: flex;align-items: center; gap: clamp(5px, calc( 15 / var(--inner) * 100vw ), 15px);}

#gnb {text-align:center; flex:1 1 auto; min-width:0; width:1%; padding-left: var(--padding-40);}
#gnb>ul {display:flex; justify-content:flex-end;} 
#gnb>ul>li {position:relative; padding:0 45px;}
#gnb>ul>li>a {position:relative; display:flex; align-items:center; flex-direction: column; justify-content:center; height:var(--header-height); color:#242424; font-size:var(--font-size-18 ); color: #fff; font-weight:600; letter-spacing:-.03em; line-height:1.3em;}
#gnb>ul>li.active>a {color: var(--color-primary) !important;}
#gnb>ul>li.active>a {color: var(--color-primary); }
#gnb .submenu {display:none; position:absolute; left:50%; width:180px; transform:translateX(-50%); background:var(--color-primary); border:0; text-align:center; box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.25); border-radius: 0 0 var(--border-radius-24) var(--border-radius-24);}
#gnb .submenu>ul {padding:20px 5px;}
#gnb .submenu>ul>li>a {display:block; padding:5px 0; color:rgba(255, 255, 255, 0.60); font-size:var(--font-size-16); line-height:2em;}
#gnb .submenu>ul>li>a:hover {color:#fff;}
#gnb .submenu>ul>li.active>a {color:#fff;}

.language {position:relative; display:inline-block;}
.language .toggle-button {display:flex; align-items:center; gap:10px; padding:6px 12px; font-size: clamp(13px, calc( 16 / var(--inner) * 100vw ), 16px); background:none; border:0; color:#fff; font-weight:700; text-align:left;}
.language .toggle-button .txt {width:32px;}
.language .toggle-button .chevron {width:clamp(8px, calc( 12 / var(--inner) * 100vw ), 12px); margin-top:-.1em;}
.language .toggle-button svg {display:block; width:100%; height:auto;}
.language .toggle-button path {fill:#fff;}
.language .toggle-layer {display:none; position:absolute; left:0; width:100%; padding:10px 6px; background:var(--color-primary); border:0; border-radius:0 0 8px 8px; text-align:center;}
.language .toggle-layer ul {display:grid; gap:2px;}
.language .toggle-layer a {display:block; color:rgba(255, 255, 255, 0.40); font-weight:400; line-height:1.8em; font-size: clamp(13px, calc( 16 / var(--inner) * 100vw ), 16px);}
.language .toggle-layer a:hover {color:#fff; text-decoration: underline;}
.language.active .toggle-button .chevron {transform:scaleY(-1);}

.header-inquiry .btn-inquiry {display: inline-flex;align-items: center;justify-content: center;gap: 5px; padding:0 16px; height: clamp(24px, calc( 36 / var(--inner) * 100vw ), 36px); border-radius: 80px; background:var(--color-primary); color:#fff; font-weight:500; font-size:var(--font-size-13); line-height:1;}
.header-inquiry .btn-inquiry svg {width: clamp(10px, calc( 14 / var(--inner) * 100vw ), 14px);}

/* 공통  */
.section {overflow:hidden;}
.flxWrap {display:flex; flex-wrap:wrap;}
.sec-pd {padding: clamp(60px, calc( 140 / var(--inner) * 100vw ), 140px) 0;}
.text-center {text-align:center;}
.align-items-center {align-items:center !important;}
.justify-content-center {justify-content:center !important;}
.main-color {color:var(--color-primary) !important;}
.sub-color {color:var(--color-secondary) !important;}
.color-dark {color: var(--color-dark) !important;}
.color-white {color: var(--color-white) !important;}
.red {color:#e32020;}
.pt-0 {padding-top:0 !important;} 
.pb-0 {padding-bottom:0 !important;}
.mb-0 {margin-bottom:0 !important;}
.mt-0 {margin-top:0 !important;}
.font-light {font-weight:300 !important;}
.font-medium {font-weight:500 !important;}
.font-semi {font-weight:600 !important;}
.font-extra {font-weight:800 !important;}
.font-normal {font-weight:400 !important;}
.text-center {text-align:center !important;}
.text-left {text-align:left !important;}
.text-right {text-align:right !important;}
.max-wid {max-width:1460px; width:100%; margin:0 auto; padding-left:var(--container-space); padding-right:var(--container-space);}
.sec-titbox {line-height:1.33;}
.sec-titbox .section-cate {margin-bottom:var(--padding-20); font-size:var(--font-size-18); color:var(--color-primary); font-weight:bold;}
.sec-titbox .section-tit {font-size:clamp(22px, calc( 54 / var(--inner) * 100vw ), 54px); font-weight:bold; color:#242424;}
.sec-titbox .section-dec {padding-top:var(--padding-25); font-size:clamp(15px, calc( 18 / var(--inner) * 100vw ), 18px); color:#888; line-height:1.55;}
.sec-titbox.white .section-tit {color: #fff;}
.sec-titbox.white .section-dec {color: #fff;}
.bg-gray {background:#fafafa;}

/* main */
[data-aos=fade-up] { transform: translate3d(0,100px,0); } 
.main-visual { position:relative; overflow:hidden; color:#fff; } 
.main-visual .item {position:relative; height:100vh; overflow:hidden;}
.main-visual .image {position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transition:5s linear; transform:scale(1.15);}
.main-visual .image 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 .item .video-js,
.main-visual .item video {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.main-visual .item iframe {position:absolute; top:50%; left:50%; width:100vw; height:100%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%);}

/* .main-visual .vjs-controls-disabled {position:relative; padding-bottom:36.11%; overflow:hidden;}
.main-visual .vjs-controls-disabled video {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:auto; max-width:100%; min-height:100%;object-fit : cover;}
.main_visual_vod_0-dimensions ,
.vjs-workinghover {height: 100% !important; width: 100% !important;} */

.main-visual .text-box {padding-left:var(--container-space); padding-right:var(--container-space); position:absolute; left:50%; bottom:35%; transform:translatex(-50%); max-width:1460px; width:100%; line-height:1.3;}
.main-visual .text-box p {transition:1.2s; transform:translate(50px,0); opacity:0; }
.main-visual .text-box .txt1 {font-family: var(--font-wanted); font-size: clamp(26px, calc( 80 / var(--inner) * 100vw ), 80px);font-weight: bold;}
.main-visual .text-box .txt2 {padding-top: clamp(15px, calc( 24  / var(--inner) * 100vw ), 24px); font-size: clamp(16px, calc( 24 / var(--inner) * 100vw ), 24px); line-height: 1.25;}
.main-visual .controls {display:flex; flex-direction: column; gap:var(--padding-35); padding-left:var(--container-space); padding-right:var(--container-space); position:absolute; bottom:clamp(20px, calc( 90 / var(--inner) * 100vw ), 90px); left:50%; transform:translatex(-50%); max-width:1460px; width:100%; color:#fff; z-index:40;}
.main-visual .progress {position:relative;  width:100%; height:2px; background:rgba(255, 255, 255, 0.20);}
.main-visual .progress-bar {position:absolute; top:0; left:0; height:100%; background:#fff;}
.main-visual .arrowbtnbx {display: flex;align-items: center;justify-content: space-between;}
.main-visual .buttonsbx {display: flex;align-items: center;gap:10px;}
.main-visual .slide-btn {display: flex;align-items: center;justify-content: center; width:clamp(26px, calc(50 / var(--inner) * 100vw), 50px); height:clamp(26px, calc(50 / var(--inner) * 100vw), 50px);  background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; border: 1px solid rgba(255, 255, 255, 0.40); border-radius:100%; overflow:hidden;}
.main-visual .slide-btn:hover {background: var(--color-primary); border-color: var(--color-primary);}
.main-visual .arrowbx svg {width: clamp(12px, calc(32 / var(--inner) * 100vw), 32px); aspect-ratio: 32 / 41; height: auto;}
.main-visual .arrowbx .arrow {animation:scrollDown .9s linear infinite alternate;}
.main-visual .active .image {transform:scale(1);}
.main-visual .active .text-box p {transform:translate(0,0); opacity:1;}
.main-visual .active .text-box .txt1 {transition-delay:.5s;}
.main-visual .active .text-box .txt2 {transition-delay:.7s;}

.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%;}
}
@keyframes scrollDown{
	0%{transform:translateY(0);}
	100%{transform:translateY(15px);}
}

/* 버튼공통 */
.morebx .btn-more {display: inline-flex;align-items: center;justify-content: center; padding: 0 20px; min-width: clamp(100px, calc(140 / var(--inner) * 100vw), 140px); height:clamp(34px, calc(48 / var(--inner) * 100vw), 48px); border-radius: 60px; border: 1px solid rgba(36, 36, 36, 0.40);}
.morebx .btn-more:hover {background: var(--color-primary); border-color: var(--color-primary); color: #fff;}
.morebx2 .btn-more2 {display: inline-flex;align-items: center;justify-content: center; gap: 10px; padding: 0 20px; min-width: clamp(80px, calc(100 / var(--inner) * 100vw), 100px); height:clamp(34px, calc(40 / var(--inner) * 100vw), 40px); border-radius: 60px; border: 1px solid rgba(255, 255, 255, 0.40); color: #fff;}
.morebx2 .btn-more2 .arrow {display: flex;align-items: center;justify-content: center; width:24px; height: 24px; border-radius: 50%; background: rgba(255, 255, 255, 0.30); }
.morebx2 .btn-more2:hover {background: var(--color-primary); border-color: var(--color-primary);}
.morebx2 .btn-more2:hover .arrow {background: #fff;}
.morebx2 .btn-more2:hover path {stroke: var(--color-primary);}

.sec1 .flxWrap {gap: 30px;}
.sec1 .textbx {width: clamp(300px, calc( 530 / var(--inner) * 100vw ), 530px);}
.sec1 .morebx {margin-top: var(--padding-60);}
.sec1 .imglinkbx {flex: 1;}
.sec1 .imglinkbx .list {display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; align-content: flex-start; gap: var(--padding-20);}
.sec1 .imglinkbx .item {position: relative;height: clamp(160px, calc(300 / var(--inner) * 100vw), 300px);}
.sec1 .imglinkbx .item.size-lg {width: clamp(280px, calc(520 / var(--inner) * 100vw), 520px); }
.sec1 .imglinkbx .item.size-sm {width: clamp(160px, calc(300 / var(--inner) * 100vw), 300px); }
.sec1 .imglinkbx .link {display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #fff;}
.sec1 .imglinkbx .link::after {position: absolute; right: 0; bottom: 0; width: clamp(55px, calc(112 / var(--inner) * 100vw), 112px); height: clamp(55px, calc(112 / var(--inner) * 100vw), 112px); background: url(../images/main/arrow-btn.png) no-repeat 50% 50% / contain; content: ''; opacity: 0; transition: opacity .25s ease; z-index: 1;}
/* .sec1 .imglinkbx .link::after {position: absolute; right: 0; bottom: 0; width: clamp(40px, calc(80 / var(--inner) * 100vw), 80px); height: clamp(40px, calc(80 / var(--inner) * 100vw), 80px); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath fill='%23fff' d='M0 32 A32 32 0 0 1 32 0 L80 0 L80 80 L0 80 Z'/%3E%3C/svg%3E") no-repeat 0 0; background-size: clamp(40px, calc(80 / var(--inner) * 100vw), 80px) auto; content: ''; opacity: 0; transition: opacity .25s ease; z-index: 1;} */
.sec1 .imglinkbx .link:hover::after {opacity: 1;}
.sec1 .imglinkbx .img {position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 0; border-radius: clamp(16px, calc(32 / var(--inner) * 100vw), 32px); overflow: hidden;}
.sec1 .imglinkbx .img img {width: 100%; height: 100%; object-fit: cover;}
.sec1 .imglinkbx .tit {position: absolute; left: clamp(12px, calc(35 / var(--inner) * 100vw), 35px); bottom: clamp(12px, calc(35 / var(--inner) * 100vw), 35px); font-size: var(--font-size-28); font-weight: 600; color: #fff; z-index: 2;}


.sec2_1 .sec-titbox {margin-bottom:var(--padding-60);}
/* .sec2 {max-width: 1920px; margin:0 auto;} */
.sec2bgcont .ginner {position: relative; background-size: cover; background-repeat: no-repeat; background-position: center left 30%; height:clamp(400px, calc(800 / var(--inner) * 100vw), 800px);}
.sec2bgcont .ginner.bg1 {background-image: url(../images/main/sec2-img1.jpg);}
.sec2bgcont .ginner.bg2 {background-image: url(../images/main/sec2-img2.jpg);}
.sec2bgcont .textbx { position: absolute; bottom:20%; left: 50%; transform: translateX(-50%); text-align: left; width: 100%;}
.sec2bgcont .arrowlinkbx {display: flex;gap: 10px; margin-top: var(--padding-60);}
.sec2bgcont .ginner:after {display: none; position: absolute; content: ''; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.60); transition: all 0.3s;}
.sec2bgcont .swiper-slide-active .ginner:after {display: none; }
.sec2bgcont { display: flex; }
.sec2bgcont .ginner { flex: 1 1 0; min-width: 0; transition: flex 0.5s ease; overflow: hidden; }
.sec2bgcont .ginner.active { flex: 5 1 0; }
.sec2bgcont .ginner.active:after { display: none; }
.sec2bgcont .ginner .sec-titbox { overflow: auto; min-width: clamp(250px, calc(600 / var(--inner) * 100vw), 600px); }
.sec2bgcont .ginner .arrowlinkbx { flex-wrap: nowrap; }

 
.sec3 {position: relative; margin-top: clamp(60px, calc(150 / var(--inner) * 100vw), 150px); overflow: visible;}
.sec3 .contain {overflow: hidden;}
.sec3 .text_division {position: sticky; top: var(--header-height); display: flex; justify-content: center; align-items: center; gap: 7.5px; z-index: 5; max-width: 1500px; margin: 0 auto; padding-right: var(--container-space); padding-left: var(--container-space); background: #fff; transition: gap 0.4s ease;}
.sec3 .text_division .title {overflow: visible;}
.sec3 .text_division .title .sec-tit {font-size: var(--font-size-60); font-weight: 700; font-family: var(--font-wanted); color: #242424; white-space: nowrap;}
.sec3 .text_division .title-center {width: 0; overflow: hidden; opacity: 0;}
.sec3 .text_division .title-center .sec-tit {text-align: center; color: #242424;}
.sec3 .text_division.has-solutions {gap: calc(7.5px + var(--td-progress, 0) * 12vw);}
.sec3 .text_division.has-solutions .title-center {width: auto; min-width: clamp(300px, calc(460 / var(--inner) * 100vw), 460px); opacity: 1;}
.sec3 .text_division.has-solutions .title:first-child .sec-tit {color: rgba(36, 36, 36, 0.20); text-align: right;}
.sec3 .text_division.has-solutions .title:last-child .sec-tit {color: rgba(36, 36, 36, 0.20); text-align: left;}
.sec3 .items {padding-top: clamp(60px, calc(200 / var(--inner) * 100vw), 200px);}
.sec3 .items .expertise_item {display: block; margin: 0 auto; width: 43%; height: clamp(240px, calc(380 / var(--inner) * 100vw), 380px); transition: all 0.5s; position: relative;}
.sec3 .items .expertise_item.on {width:68%; height: clamp(350px, calc(600 / var(--inner) * 100vw), 600px);}
.sec3 .items .expertise_item.on .content_wrap {opacity: 1;}
.sec3 .items .expertise_item + .expertise_item {margin-top: var(--padding-45);}
.sec3 .items .expertise_item .img_container {width: 100%; height: 100%; border-radius: clamp(16px, calc(32 / var(--inner) * 100vw), 32px); overflow: hidden; position: relative;}
.sec3 .items .expertise_item .img_container .img {margin: 0; width: 100%; height: 100%;}
.sec3 .items .expertise_item .img_container .img img {width: 100%; height: 100%; object-fit: cover;}
/* .sec3 .items .expertise_item .img_container::after {position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0) 100%); content: '';} */
.sec3 .items .expertise_item .content_wrap {display: flex;flex-direction: column; justify-content: space-between; align-items: flex-start; padding:30px var(--padding-50); position: absolute; bottom:0; left:0; opacity: 0; transition: opacity 0.3s; z-index: 1; width: 100%; height: 100%;}
.sec3 .items .expertise_item .content_wrap .tag {display: inline-flex;align-items: center;justify-content: center; padding: var(--padding-10) var(--padding-20); border: 1px solid var(--color-white); border-radius: 60px; color: var(--color-white); font-size: var(--font-size-18); font-weight: 500; }
.sec3 .items .expertise_item .content_wrap .logo {margin-bottom: var(--padding-30);}
.sec3 .items .expertise_item .content_wrap p {font-size: var(--font-size-15); line-height: 1.6; color: var(--color-white);}
.sec3 .items .expertise_item.item1 .content_wrap .logo img {width: clamp(60px, calc(170 / var(--inner) * 100vw), 170px);}
.sec3 .items .expertise_item.item2 .content_wrap .logo img {width: clamp(150px, calc(380 / var(--inner) * 100vw), 380px);}
.sec3 .items .expertise_item.item3 .content_wrap .logo img {width: clamp(100px, calc(251 / var(--inner) * 100vw), 251px);}

.sec4 {background: url(../images/main/sec4-bg.jpg) no-repeat 50% 50% / cover;}
.sec4 .sec-titbox {margin-bottom: var(--padding-50);}
.sec4 .tab-slider .tab {max-width: 1460px; margin:0 auto; padding-right: var(--container-space); padding-left: var(--container-space); padding-bottom: var(--padding-60);}
.sec4 .tab-slider ul {display: flex;gap: var(--padding-30);}
.sec4 .tab-slider ul li a {display: inline-block; padding: 8px; padding-top: 0;font-size: var(--font-size-22); font-weight: 600; line-height: 1.27; color: #CDCDCD;}
.sec4 .tab-slider ul li.active a {color: var(--color-primary); border-bottom: 1px solid var(--color-primary);}
.slidecont .ginner {display:block; position: relative; }
.slidecont .ginner .textbx {display: flex;flex-direction: column;justify-content: space-between; border-radius: var(--border-radius-32); padding: var(--padding-40); line-height: 1; height: clamp(260px, calc(370 / var(--inner) * 100vw), 370px); border: 1px solid #ddd; background: #fff; overflow: hidden;}
.slidecont .ginner .badge {margin-bottom: var(--padding-20); display: inline-flex;align-items: center;justify-content: center; padding:0 15px; min-width: clamp(50px, calc(70 / var(--inner) * 100vw), 70px); height: clamp(28px, calc(32 / var(--inner) * 100vw), 32px); font-size: clamp(13px, calc(16 / var(--inner) * 100vw), 16px); border-radius: 650px; border: 1px solid #ddd; font-weight: 500;}
.slidecont .ginner .title { font-size:var(--font-size-28); line-height: 1.38; font-weight:600;  min-height:calc(var(--font-size-28) * 1.38 * 2); display:-webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp:2;}
.slidecont .ginner .text {margin-top:var(--padding-25); color: #686868; line-height: 1.62;  display:-webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp:3;}
.slidecont .ginner .list {margin-top: var(--padding-20);color: #686868; line-height: 1.62; }
.slidecont .ginner .date {padding-top:10px; border-top: 1px solid rgba(0, 15, 159, 0.20); font-size:clamp(12px, calc( 14 / var(--inner) * 100vw ), 14px); color:rgba(0, 15, 159, 0.20); line-height: 1.4;}
.slidecont .ginner::after {position: absolute; right: 0; bottom: 0; width: clamp(55px, calc(112 / var(--inner) * 100vw), 112px); height: clamp(55px, calc(112 / var(--inner) * 100vw), 112px); background: url(../images/main/arrow-btn.png)  no-repeat 50% 50% /contain ; content: ''; opacity: 0; transition: opacity .25s ease; z-index: 1;}
.slidecont .ginner:hover::after {opacity: 1;}
.slidecont .ginner:hover .textbx {background: linear-gradient(180deg, #00A7CB 0%, #000F9F 100%); border:0;}
.slidecont .ginner:hover .badge {border-color: #fff; color: #fff;}
.slidecont .ginner:hover .title {color: #fff;}
.slidecont .ginner:hover .text {color: #fff;}
.slidecont .ginner:hover .list {color: #fff;}
.slidecont .ginner:hover .date {display: none;}
.slidecont .ginner:hover .arrowbx {opacity: 1;}

.sec5 {background: url(../images/main/sec5-bg.jpg) 50% 50% /cover;}
.sec5-grid {display: flex;flex-wrap: wrap;}
.sec5-item {padding: var(--padding-50); width:33.33%; display: flex;flex-direction: column;justify-content: space-between; background: #fff; letter-spacing: -0.6px;}
.sec5-item:not(:last-child) {border-right: 1px solid #ddd ;}
.sec5-item .top .title {font-size:var(--font-size-24); font-weight: bold;}
.sec5-item .top .dec {margin-top:var(--padding-15); color: #686868; line-height: 1.75;}
.sec5-item .bottom {display: flex;justify-content: space-between; align-items: flex-end; margin-top:35px;}
.sec5-item .icn {width: clamp(50px, calc(72 / var(--inner) * 100vw), 72px);}
.sec5-item .arrow {display: inline-flex;align-items: center;justify-content: center; width:36px; height: 36px; border-radius: 50%; border: 1px solid #ddd;} 
.sec5-item:hover .arrow {background: var(--color-primary); border-color: var(--color-primary);}
.sec5-item:hover path {stroke:#fff;}




/* sub page */
.contain { max-width:1460px; margin:0 auto; padding-left:var(--container-space); padding-right:var(--container-space); width:100%;} 
#contArea { max-width:1260px; padding-left:var(--container-space); padding-right:var(--container-space); margin:0 auto;} 
#sub .contain {max-width:1260px; }
#sub .contain.ty2 {max-width:1460px; }
#contArea.wide { max-width:100% !important; padding-left:0 !important; padding-right:0 !important;} 

.sub-title .maintit { font-size:clamp(24px, calc( 72 / var(--inner) * 100vw ), 72px); line-height:1.11; font-family: var(--font-wanted);} 
.sub-title .maindec {margin-top: 20px; font-size:clamp(14px, calc( 18 / var(--inner) * 100vw ), 18px); line-height:1.33; color: var(--color-body);} 

.subsec-title {position: relative; padding-bottom: clamp(30px, calc( 40 / var(--inner) * 100vw ), 40px); text-align: center;}
.subsec-title .maintit {font-size:var(--font-size-32); font-weight: 600; line-height: 1.25;}
.subsec-title .subdec {margin-top: var(--padding-20); font-size:var(--font-size-18); line-height: 1.44; color: var(--color-body);}
.subsec-title .dot {padding-top: var(--padding-40);}
.subsec-title .dot img {width: clamp(3px, calc( 8 / var(--inner) * 100vw ), 8px);}
.subsec-title.ty2 {padding-bottom: var(--padding-80);}

.sub-box { display:flex; align-items:center; justify-content:center; width:300px; height:300px; border-radius:var(--border-radius-30); background-color:var(--color-warning); font-size:var(--font-size-20); color:var(--color-white); text-align:center; } 

.real-cont {padding:clamp(50px, calc( 90 / var(--inner) * 100vw ), 90px) 0 clamp(60px, calc( 150 / var(--inner) * 100vw ), 150px);} 

.sub-visual { position:relative; height:400px; z-index:10; overflow:hidden; } 
.sub-visual .background {position:absolute;top:0;left:0;width:100%; height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover;transform:scale(1.09); -ms-transform:scale(1.09); /* IE 9 */
 -moz-transform:scale(1.09); /* Firefox */
 -webkit-transform:scale(1.09); /* Safari and Chrome */
 -o-transform:scale(1.09); /* Opera */
transition: all 2s ease-out 0s;transition-delay: 0.1s;z-index:0; } 
.sub-visual.load .background {transform:scale(1); -ms-transform:scale(1); /* IE 9 */
 -moz-transform:scale(1); /* Firefox */
 -webkit-transform:scale(1); /* Safari and Chrome */
 -o-transform:scale(1); /* Opera */}
.sub-visual .tt-wrap {padding-right:var(--container-space); padding-left:var(--container-space); max-width:1260px; width: 100%; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 1; color: #fff;} 
.sub-visual .tt-wrap .tit {display: none; font-size: clamp(28px, calc( 72 / var(--inner) * 100vw ), 72px); line-height: 1.11em; font-weight: 700; font-family: var(--font-wanted);}
.sub-visual .tt-wrap .desc {margin-top:var(--padding-20); font-size: var(--font-size-18); line-height: 1.44;}

.sub-visual.ty2 {height:clamp(350px, calc( 880 / var(--inner) * 100vw ), 880px);}
.sub-visual.ty2 .tt-wrap .tit {display: block;}
.sub-visual .lnb-wrap {position: absolute; bottom: clamp(10px, calc( 60 / var(--inner) * 100vw ), 60px); left: 50%; transform: translateX(-50%); width: 100%;}
.sub-visual .lnb {background: rgba(255, 255, 255, 0.20);backdrop-filter: blur(10px);}
.sub-visual .lnb ul li a  {color: #fff;}

.path-titwrap {display: flex;justify-content: space-between;gap: 20px; align-items: flex-end; padding: var(--padding-70) 0; max-width: 1260px; margin: 0 auto; padding-right: var(--container-space); padding-left: var(--container-space);}

.lnb-wrap {position: relative; margin-top: var(--padding-80); z-index: 10;}
.lnb { margin: 0 auto;  max-width: 1200px;  width: 100%; border-radius: 60px; overflow: hidden; background:  rgba(0, 15, 159, 0.03);}
.lnb ul {display:flex; justify-content:center; margin:0 auto; max-width:1500px; width:100%; }
.lnb ul li {width:auto; flex:1; text-align:center; border-radius:60px; }
.lnb ul li.active {background:var(--color-primary);}
.lnb ul li.active a {color:#fff;}
.lnb ul li a {display:flex; align-items:center; justify-content:center; padding:0 20px; height:var(--nav-height); line-height:1.2em; font-size:clamp(13px, calc( 16 / var(--inner) * 100vw ), 16px); color:rgba(0, 15, 159, 0.40); font-weight: 600;} 

.path-wrap {position:relative; z-index:50; }
.path-wrap .home a {display:block;padding-left: 22px; height: clamp(12px, calc( 14 / var(--inner) * 100vw ), 14px); background:url("../images/common/home.png") center left no-repeat; background-size:clamp(12px, calc( 14 / var(--inner) * 100vw ), 14px) auto; overflow:hidden; text-transform: uppercase; color: #686868;}
.path-wrap .inner {display: flex; align-items: center; gap: 26px; color: #686868; font-family: var(--font-archivo); font-size: var(--font-size-16); white-space: nowrap; line-height: 1;}
.path-wrap .page-name.second {color: #686868;}
.path-wrap .page-name {position: relative;}
.path-wrap .page-name:after {position: absolute; content: ''; width: 5px; height: 8px; background: url(../images/common/right.png) no-repeat 50% 50% / contain; left: -14px; top: 50%; transform: translateY(-50%); color: #A8A8A8;}

/* footer */
#footer { background-color:#000430;} 
#footer .contain {max-width:1780px !important;}
#footer .contain.ty2 {max-width:1460px !important;}
#footer .foot-flx {display: flex; flex-wrap: wrap; gap:20px; padding: 50px 0;}

#footer .foot-logo {width: clamp(100px, calc( 250 / var(--inner) * 100vw ), 250px);}
#footer .foot-logo img {width:clamp(60px, calc( 100 / var(--inner) * 100vw ), 100px);  } 

#footer .foot-addr {display: flex;flex-wrap: wrap; gap: 15px; flex: 1; color: rgba(255, 255, 255, 0.50); letter-spacing:-0.5px; font-size:clamp(13px, calc( 16 / var(--inner) * 100vw ), 16px);} 
#footer .foot-info {width:  calc((100% - 1 * 15px) / 2);}
#footer .title {margin-bottom:15px; font-size:var(--font-size-18); font-weight: 600; color: #fff;} 
#footer address { font-style:normal; display:flex; flex-wrap:wrap;} 
#footer address + address {margin-top: 10px;}
#footer .address-txt {display:inline-flex ; align-items: center; gap: 10px; padding-right:clamp(10px, calc( 40 / var(--inner) * 100vw ), 40px); line-height: 1.714em; } 
/* #footer .address-txt .name {color:#fff; font-weight: 600;} */
#footer .address-txt .dec {display: flex;gap: 10px;}
#footer .address-txt .dec img {width: clamp(22px, calc( 32 / var(--inner) * 100vw ), 32px);}

#footer .foot-links {padding: 30px 0; border-top: 1px solid rgba(255, 255, 255, 0.40);}
#footer .foot-links .contain {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap:20px; }
#footer .foot-links .left {display: flex;flex-wrap: wrap; gap:clamp(10px, calc( 80 / var(--inner) * 100vw ), 80px) ;}
#footer .f-menu  {display:flex; margin:0 -15px;}
#footer .f-menu li {padding:0 15px; position: relative;}
#footer .f-menu li:not(:last-child):after {position: absolute; content: ''; right: 0; top: 4px; width: 1px; height: 12px; background: rgba(255, 255, 255, 0.40);}
#footer .f-menu li a {display:block; color:#fff; font-weight:400; font-size:15px;}
#footer .copy {font-size:var(--font-size-14); color:rgba(255, 255, 255, 0.70); line-height: 1.714em;} 


#footer .family-site { position: relative; z-index: 5; width: 180px; max-width: 100%; flex-shrink: 0; box-sizing: border-box;}
#footer .family-site .layer { display: none; position: absolute; left: 0; bottom: 0; width: 100%; padding: 10px 24px; padding-bottom: clamp(55px, calc( 60 / var(--inner) * 100vw ), 60px); background: #fff; border-radius: 16px 16px 32px 32px; box-sizing: border-box; z-index: -1; box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);}
#footer .family-site.active .layer { display: block;}
#footer .family-site .layer .list { margin: 0; padding: 0; list-style: none;}
#footer .family-site .layer .link { display: block; line-height: 35px; font-size: var(--font-size-14); letter-spacing: -0.03em; color: #686868; text-decoration: none;}
#footer .family-site .layer .link.primary { color: var(--color-primary);}
#footer .family-site .layer .link:hover { color: var(--color-primary);}
#footer .family-site .btn-target { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height:clamp(45px, calc( 50 / var(--inner) * 100vw ), 50px); margin: 0; padding: 0 24px; border: 0; box-sizing: border-box; background: transparent; cursor: pointer; color: #fff; font-weight: 500; font-size: var(--font-size-16); letter-spacing: -0.03em; line-height: 1.2; font-family: inherit; transition: background-color 0.2s ease, color 0.2s ease, border-radius 0.2s ease;}
#footer .family-site .btn-target .arrow { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex-shrink: 0; border-radius: 50%; background: var(--color-primary); color: #fff; transition: background-color 0.2s ease, color 0.2s ease;}
#footer .family-site .btn-target .txt { text-align: left;}
#footer .family-site.active .btn-target { border-radius: 60px; background: var(--color-primary);}
#footer .family-site.active .btn-target .arrow { background: #fff; color: var(--color-primary);}

html.sub-quick-reveal .quick-wrap { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.35s ease, visibility 0.35s ease;}
html.sub-quick-reveal.sub-quick-visible .quick-wrap { opacity: 1; visibility: visible; pointer-events: auto;}
.quick-wrap { position: fixed; right: 0; top: 12%; z-index: 100; padding-right: env(safe-area-inset-right); display: flex; flex-direction: column; gap: clamp(8px, calc(10 / var(--inner) * 100vw), 10px); align-items: flex-end;}
.quick-wrap .btn-quick { display: flex; align-items: center; justify-content: center; width: clamp(90px, calc(130 / var(--inner) * 100vw), 130px); min-height: clamp(48px, calc(54 / var(--inner) * 100vw), 54px); font-size: var(--font-size-18); font-weight: 600; margin-bottom: 0; box-shadow: 0 0 12px rgba(0, 0, 0, 0.16); transition: background-color 0.25s ease, color 0.25s ease;}
.quick-wrap .btn-quick:not(.btn-top) { color: var(--color-primary); backdrop-filter: blur(10px); padding: clamp(12px, calc(16 / var(--inner) * 100vw), 16px) clamp(20px, calc(26 / var(--inner) * 100vw), 26px); background: rgba(255, 255, 255, 0.7); border-radius: 60px 0 0 60px; text-align: center;}
.quick-wrap .btn-quick:not(.btn-top):hover { background: var(--color-primary); color: #fff;}
.quick-wrap .btn-quick.bg1 { background: rgba(255, 255, 255, 0.7);}
.quick-wrap .btn-quick.bg2 { background: rgba(255, 255, 255, 0.7);}
.quick-wrap .btn-top {padding:10px 0; background: #fff; font-weight: 500; font-family: var(--font-wanted);}


/* all menu */
html.menu-all-opened {overflow:hidden;}
html.menu-all-opened .all-navigation {-ms-transform:translateX(0); transform:translateX(0); }
html.menu-all-opened .all-navigation .only-all-menu {display:block;}
html.menu-all-opened .mobile-overlay {display:block;}

.btn-all-menu {position:relative; top:0; right:0; width:24px; height:15px; text-align:center; text-indent:-9999em; z-index:99; transition:all 0.5s ease-in-out; } 
.btn-all-menu span{ position:absolute; right:0; top:0; height:2px; width:24px; background:#fff; } 
.btn-all-menu span:before,
.btn-all-menu span:after { content:" "; position:absolute; right:0; height:2px; background:#fff; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; } 
.btn-all-menu span:before {top:7.5px; width:24px; transition-property:top, transform; } 
.btn-all-menu span:after { bottom:-15px; width:24px; transition-property:bottom, transform; } 

.all-navigation {position:fixed; top:0; right:0; padding:20px 0; width:100%; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:202; } 
.all-navigation .contain {padding-top:200px; max-width:1460px !important;}
.all-navigation .home {display:none;}
.all-navigation .sitelogo {display:block; margin-bottom:20px; padding-left:15px; } 
.all-navigation .sitelogo img { height:23px; } 
.all-navigation .all-nav-menu>ul>li {display:flex; align-items:center; padding:50px 0; border-bottom:1px solid #dfdfdf; } 
.all-navigation .all-nav-menu>ul>li>a {flex:1 0 410px; max-width:410px; position:relative; font-size:36px; font-weight:bold; line-height:1.3em; color:#2c2c2c;}
.all-navigation .all-nav-menu>ul>li>a:hover {color:var(--color-primary);}
.all-navigation .all-nav-menu .submenu {flex:1; display:block;} 
.all-navigation .all-nav-menu .submenu>ul {display:flex;}
.all-navigation .all-nav-menu .submenu>ul>li {flex:1 0 25%; max-width:25%; padding-right:15px;}
.all-navigation .all-nav-menu .submenu>ul:after { content:""; display:block; clear:both; } 
.all-navigation .all-nav-menu .submenu>ul>li>a {display:block; position:relative; color:#898989; font-size:18px; font-weight:500; line-height:1.3em; } 
.all-navigation .all-nav-menu .submenu>ul>li>a:hover {color:var(--color-secondary); text-decoration: underline;}
.all-navigation .close { position:absolute; top:20px; right:100px; width:24px; height:24px; text-indent:-9999em; overflow:hidden; } 
.all-navigation .close:before,
.all-navigation .close:after { content:" "; position:absolute; top:12px; left:0; width:100%; height:2px; background:#2c2c2c; } 
.all-navigation .close:before { transform:rotate(45deg); } 
.all-navigation .close:after { transform:rotate(-45deg); } 


/* for mobile */
.only-mobile { display:none; } 
.btn-m-menu {position:relative; top:0; right:0; width:clamp(20px, calc( 36 / var(--inner) * 100vw ), 36px); height:clamp(20px, calc( 36 / var(--inner) * 100vw ), 36px); background: url(../images/common/toggle.png) no-repeat center center / contain;text-align:center; text-indent:-9999em; z-index:99; transition:all 0.5s ease-in-out; } 
/* .btn-m-menu span { position:absolute; right:0; top:0; height:2px; width:20px; background:#242424; } 
.btn-m-menu span:before,
.btn-m-menu span:after { content:" "; position:absolute; right:0; height:2px; background:#242424; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; } 
.btn-m-menu span:before {top:8px; width:20px; transition-property:top, transform; } 
.btn-m-menu span:after { bottom:-16px; width:20px; transition-property:bottom, transform; }  */
.mobile-navigation { position:fixed; top:0; right:0; padding:20px 0; width:400px; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:202; } 
.mobile-navigation .home {margin-left:15px; width:80px;}
.mobile-navigation .sitelogo {display:block; margin-bottom:20px; padding-left:15px; } 
.mobile-navigation .sitelogo img { height:23px; } 
.mobile-navigation .nav-menu>ul {margin-top:20px;}
.mobile-navigation .nav-menu>ul>li { border-bottom:1px solid #dfdfdf; } 
.mobile-navigation .nav-menu>ul>li>a { position:relative; padding:12px 15px; display:block; color:#454545; font-size:18px; font-weight:500; 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 #2c2c2c; border-bottom:2px solid #2c2c2c; } 
.mobile-navigation .nav-menu>ul>li.active>a { color:#305e92 } 
.mobile-navigation .nav-menu>ul>li.active>a:after { transform:translateY(-35%) rotate(-135deg); border-color:#305e92; } 
.mobile-navigation .nav-menu .submenu { display:none; margin:-1px 0 0 0; padding:0 15px 15px; } 
.mobile-navigation .nav-menu .submenu>ul:after { content:""; display:block; clear:both; } 
.mobile-navigation .nav-menu .submenu>ul>li>a { display:block; position:relative; padding:5px 15px; color:#454545; font-size:16px; font-weight:400; line-height:1.3em; } 
.mobile-navigation .nav-menu .submenu>ul>li>a:after { display:block; content:""; position:absolute; top:14px; left:5px; width:4px; height:4px; background:#dfdfdf; border-radius:50%; transition:.3s ease-in-out; border-radius: 50%;} 
.mobile-navigation .nav-menu .submenu>ul>li>a:hover  { color:#305e92 } 
.mobile-navigation .nav-menu .submenu>ul>li>a:hover:after { background:#305e92 } 
.mobile-navigation .close { position:absolute; top:20px; right:15px; width:24px; height:24px; text-indent:-9999em; overflow:hidden; } 
.mobile-navigation .close:before,
.mobile-navigation .close:after { content:" "; position:absolute; top:12px; left:0; width:100%; height:2px; background:#2c2c2c; } 
.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:201; } 

html.menu-opened { overflow:hidden; } 
html.menu-opened .mobile-navigation { -ms-transform:translateX(0); transform:translateX(0); } 
html.menu-opened .mobile-overlay { display:block; } 