@charset "UTF-8"; 
html, body { height: auto; min-height: 100%; overflow-x:hidden; } 
body { font-family: 'Noto Sans Korean'; min-height: 100%; overflow-x:hidden; } 

/* QUICK LINK */
.quick_wrap { position:sticky; top:0; width:100%; height:40px; background-color:#18256E; z-index:1001; clip-path:inset(0% 0% 0% 0%); display:block; visibility:visible; opacity:1; }
.quick_wrap_inner { max-width:1280px; width:100%; margin:0 auto; padding:0; display:flex; justify-content:space-between; align-items:center; height:40px; }
.quick_wrap > div { display:flex; box-sizing: border-box; }
.quick_part { position:relative; }
.quick_part:before { content:""; position:absolute; top:50%; right:-20px; transform:translateY(-50%); width:12px; height:12px; background-image:url('../../images/sub_user/ico_link_btn.png'); background-size:contain; background-repeat:no-repeat; background-position:center; }
.quick_wrap a { color:#fff; font-size:14px; line-height:40px; }
.quick_wrap a + a { margin-left:34px; }
@keyframes quickWrapBg { 0% { clip-path:inset(0% 50% 0% 50%); } 100% { clip-path:inset(0% 0% 0% 0%); } }
/* 메인 페이지에서만 애니메이션 적용 */
.main_page .quick_wrap { clip-path:inset(0% 50% 0% 50%); animation:quickWrapBg 0.35s 0.25s ease-in-out forwards; }
.main_page .quick_wrap.hide { position:fixed; transform:translate3d(0,-100%,0); transition:transform 0.45s ease-in-out; }
.main_page .quick_wrap.show { transform:translate3d(0,0,0); transition:transform 0.45s 0.35s ease-in-out; }

/* HEADER - 공통 */
.header { position:sticky; top:0; left:0; width:100%; z-index:1000; transition:background-color 0.3s ease; background-color:transparent; }
.main_page .header { position:absolute !important; }
.header:before { content:""; position:absolute; top:0; left:0; width:100%; height:0; opacity:0; z-index:-1; transition:all 0.45s 0s ease-in-out; }
.header .header_wrap { position:relative; max-width:1280px; width:100%; height:110px; margin:0 auto; padding:0; display:flex; justify-content:center; align-items:center; background-color:transparent; justify-content: space-between; box-sizing: border-box; }
.header .header_wrap:before { content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:100vw; height:110px; background-color:#fff; opacity:0; z-index:-1; transition:opacity 0.15s ease; pointer-events:none; }
.header:hover .header_wrap:before { opacity:1; }
.header.menu_hover .header_wrap:before { opacity:1; }
.header.white:hover .header_wrap:before { opacity:1; }
.header.white.menu_hover .header_wrap:before { opacity:1; }
.header:hover .header_wrap .header_menu_item_top > a { color:#111; }
.header.menu_hover .header_wrap .header_menu_item_top > a { color:#111; }
.header:hover .header_wrap .menu_left a { color:#111; }
.header.menu_hover .header_wrap .menu_left a { color:#111; }
.header:hover .header_wrap .menu_right a { color:#111; }
.header.menu_hover .header_wrap .menu_right a { color:#111; }
.header:hover .header_wrap .logo a .logo_img { background-image:url('../../images/main_n/img_logo_b.png') !important; }
.header.menu_hover .header_wrap .logo a .logo_img { background-image:url('../../images/main_n/img_logo_b.png') !important; }
.header:hover .header_wrap .logo a .logo_img img { opacity:0; }
.header.menu_hover .header_wrap .logo a .logo_img img { opacity:0; }
.header:hover .header_wrap .logo a .logo_text { color:#111 !important; }
.header.menu_hover .header_wrap .logo a .logo_text { color:#111 !important; }
.header:hover .header_wrap .util a { color:#111; }
.header.menu_hover .header_wrap .util a { color:#111; }
.header:hover .header_wrap .util a.search { background-position:center top; }
.header.menu_hover .header_wrap .util a.search { background-position:center top; }
.header:hover .header_wrap .util a.language:before { background-color:#111; }
.header.menu_hover .header_wrap .util a.language:before { background-color:#111; }
.header.white:hover .header_wrap .header_menu_item_top > a { color:#111; }
.header.white.menu_hover .header_wrap .header_menu_item_top > a { color:#111; }
.header.white:hover .header_wrap .menu_left a { color:#111; }
.header.white.menu_hover .header_wrap .menu_left a { color:#111; }
.header.white:hover .header_wrap .menu_right a { color:#111; }
.header.white.menu_hover .header_wrap .menu_right a { color:#111; }
.header.white:hover .header_wrap .logo a .logo_img { background-image:url('../../images/main_n/img_logo_b.png') !important; }
.header.white.menu_hover .header_wrap .logo a .logo_img { background-image:url('../../images/main_n/img_logo_b.png') !important; }
.header.white:hover .header_wrap .logo a .logo_img img { opacity:0; }
.header.white.menu_hover .header_wrap .logo a .logo_img img { opacity:0; }
.header.white:hover .header_wrap .logo a .logo_text { color:#111 !important; }
.header.white.menu_hover .header_wrap .logo a .logo_text { color:#111 !important; }
.header.white:hover .header_wrap .util a { color:#111; }
.header.white.menu_hover .header_wrap .util a { color:#111; }
.header.white:hover .header_wrap .util a.search { background-position:center top; }
.header.white.menu_hover .header_wrap .util a.search { background-position:center top; }
.header.white:hover .header_wrap .util a.language:before { background-color:#111; }
.header.white.menu_hover .header_wrap .util a.language:before { background-color:#111; }
.header .header_wrap .menu_left { display:flex; align-items:center; gap: 100px; }
.header .header_wrap .menu_right { display:flex; align-items:center; gap: 100px; }
.header .header_wrap .header_menu_item_top { position:relative; display:inline-block; }
.header .header_wrap .header_menu_item_top > a { font-size:18px; font-weight:700; color:#111; text-decoration:none; display:block; white-space:nowrap; }
.header .header_full_menu { opacity:0; visibility:hidden; position:absolute; top:100%; left:0; width:100%; height:300px; background:#fff url('../../images/main_n/img_gnb_bg.png') no-repeat calc(50% + 60px) bottom; background-size:auto; border-bottom:1px solid #E4E4E4; z-index:1001; transition:opacity 0.15s ease, visibility 0.15s ease; }
.header:hover .header_full_menu,
.header.menu_hover .header_full_menu,
.header .header_full_menu:hover { opacity:1; visibility:visible; }
.header .header_full_menu_inner { max-width:1280px; width:100%; margin:0 auto; position:relative; display: flex; justify-content: space-between; }
.header .header_full_menu_left { display: flex; gap: 65px; }
.header .header_full_menu_center { width:227px; height:100%; }
.header .header_full_menu_right { display: flex; }
.header .header_full_menu_col { position: relative; }
.header .header_full_menu_col.menu_col_01::before { position: absolute; display: block; content: ''; width: 1px; height: 250px; background-color: #ECECEC; right: -32px; }
.header .header_full_menu_col.menu_col_02::before { position: absolute; display: block; content: ''; width: 1px; height: 250px; background-color: #ECECEC; right: -45px; }
.header .header_full_menu_col.menu_col_03 { margin-left: 28px; }
.header .header_full_menu_col.menu_col_04 { margin-right: 64px; }
.header .header_full_menu_col.menu_col_04::before { position: absolute; display: block; content: ''; width: 1px; height: 250px; background-color: #ECECEC; right: -32px; }
.header .header_full_menu_col.menu_col_05 { margin-right: 80px; }
.header .header_full_menu_col.menu_col_05::before { position: absolute; display: block; content: ''; width: 1px; height: 250px; background-color: #ECECEC; right: -41px; }
.header .header_full_menu_list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:25px; }
.header .header_full_menu_list li { margin:0; }
.header .header_full_menu_list a { display:block; padding:0; font-size:15px; font-weight:600; color:#999; text-decoration:none; letter-spacing:-0.5px; transition:color 0.3s ease; }
.header .header_full_menu_list a:hover { color:#0035a9; }
.header_mobile { display:none; }
.header .header_wrap .logo { display:flex; align-items:center; justify-content:center; width:227px; } 
.header .header_wrap .logo a { display:flex; align-items:center; justify-content:center; gap:10px; width:227px; height:68px; }
.header .header_wrap .logo a .logo_img { display:inline-block; min-width:100px; width:auto; height:68px; flex-shrink:0; background-size:contain; background-repeat:no-repeat; background-position:center; }
.header .header_wrap .logo a .logo_text { font-size:23px; font-weight:400; color:#111; line-height:1.4; white-space:nowrap; }
.header .header_wrap .logo a .logo_text .logo_text_bold,
.header .header_wrap .logo a .logo_text em.logo_text_bold { font-family:'YeogiOttaeJalnan', sans-serif; font-weight:normal; font-style:normal; }
.header .header_wrap .util a.search { font-size:0; line-height:0; text-indent:-250%; overflow:hidden; width:40.8px; height:40.8px; background:url('../../images/icon-search.svg') no-repeat center top/40.8px 102px; } 
.header .header_wrap .util a.language { position:relative; font-size:18px; font-weight:500; line-height:1.0; padding-bottom:10px; } 
.header .header_wrap .util a.language:before { content:""; position:absolute; bottom:0; left:0; width:100%; height:3.4px; background-color:#111; border-radius:3.4px; } 
.header.hide:not(.header_loaded) { position:fixed; transform:translate3d(0,-100%,0); } 
.header.show:not(.header_loaded) { transform:translate3d(0,0,0); transition:all 0.45s 0.35s ease-in-out; } 
.header.hide:before { height:100%; opacity:1; } 
.header.hide .header_wrap .util a { color:#111; } 
.header.hide .header_wrap .util a.search { background-position:center top; } 
.header.hide .header_wrap .util a.language:before { background-color:#111; } 

/* HEADER - 메인 페이지 */
.main_page .header { position:absolute !important; top:40px; left:0; width:100%; transform:translate3d(0,-100%,0); transition:none; }
.main_page .header.header_loaded { transform:translate3d(0,0,0); transition:transform 0.6s 0s ease-out; }
.main_page .header.white { background-color:transparent; margin-top:0; }
.header.white { background-color:transparent; }
.header.white .header_wrap .header_menu_item_top > a { color:#fff; /* width: 150px; */}
.header.white .header_wrap .logo a .logo_img { background-image:url('../../images/main_n/img_logo_w.png'); background-size:contain; background-repeat:no-repeat; background-position:center; min-width:58px; width:auto; height:55px; }
.header.white .header_wrap .logo a .logo_img img { opacity:1; }
.header.white .header_wrap .logo a .logo_text { color:#fff; }
.header.white .header_wrap .util a { color:#fff; } 
.header.white .header_wrap .util a.search { background-position:center bottom; } 
.header.white .header_wrap .util a.language:before { background-color:#fff; } 
.main_page .header .header_wrap .logo a .logo_img { background-image:url('../../images/main_n/img_logo_w.png'); background-size:contain; background-repeat:no-repeat; background-position:center; min-width:58px; width:auto; height:55px; }
.main_page .header .header_wrap .logo a .logo_img img { opacity:1; }
.main_page .header .header_wrap .logo a .logo_text { color:#fff; }

/* HEADER - 서브 페이지 */
body:not(.main_page) .quick_wrap { position:fixed; top:0; left:0; width:100%; z-index:1001; }

/* 공통 레이아웃 */
.common_wrap { min-height: 100vh;  display: flex; flex-direction: column; }
.contents_wrap { flex: 1 0 auto; width: 100%; }
.footer { flex-shrink: 0; width:100%; background-color:#18256E; padding:40px 0 100px 0; } 

/* PC 전체 메뉴 */
.full_menu_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.5); z-index: 9998; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; } 
.full_menu_overlay.active { opacity: 1; visibility: visible; } 
.full_menu_wrap { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: #fff; z-index: 9999; transform: translateY(-100%); transition: transform 0.3s ease; overflow-y: auto; } 
.full_menu_wrap.active { transform: translateY(0); } 
.full_menu_inner { max-width: 1600px; margin: 0 auto; padding: 40px 20px; } 
.full_menu_header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 30px; border-bottom: 3px solid #333; margin-bottom: 40px; } 
.full_menu_title { margin: 0; font-size: 32px; font-weight: 700; color: #001f4d; letter-spacing: -0.75px; } 
.full_menu_close { background: none; border: none; font-size: 48px; font-weight: 300; color: #333; cursor: pointer; line-height: 1; padding: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; transition: color 0.3s ease; } 
.full_menu_close:hover { color: #0035a9; } 
.full_menu_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 30px; } 
.full_menu_1depth { margin: 0 0 20px 0; font-size: 22px; font-weight: 700; color: #001f4d; letter-spacing: -0.75px; padding-bottom: 15px; border-bottom: 2px solid #001f4d; } 
.full_menu_2depth { list-style: none; margin: 0; padding: 0; } 
.full_menu_2depth li { margin-bottom: 12px; } 
.full_menu_2depth li:last-child { margin-bottom: 0; } 
.full_menu_2depth a { display: block; font-size: 18px; font-weight: 400; color: #666; text-decoration: none; letter-spacing: -0.5px; padding: 8px 0; transition: color 0.3s ease, padding-left 0.3s ease, font-weight 0.3s ease; } 
.full_menu_2depth a:hover { color: #0035a9; padding-left: 10px; font-weight: 600; }

/* 모바일 메뉴 */
.mobile_menu_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.5); z-index: 9998; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; } 
.mobile_menu_overlay.active { opacity: 1; visibility: visible; } 
.mobile_menu_wrap { position: fixed; top: 0; right: -100%; width: 100%; max-width: 320px; height: 100vh; background: #fff; z-index: 9999; transition: right 0.3s ease; box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1); overflow-y: auto; } 
.mobile_menu_wrap.active { right: 0; } 
.mobile_menu_inner { padding: 0; } 
.mobile_menu_header { display: flex; justify-content: flex-end; align-items: center; padding: 10px; border-bottom: 1px solid #eee; background: #f7f7f7; gap: 10px; } 
.mobile_menu_icon_btn { display:none; } 
.mobile_menu_icon_btn .bar { display:none; width:24px; height:2px; background:#fff; border-radius:2px; }
.mobile_menu_title { margin: 0; font-size: 20px; font-weight: 700; color: #001f4d; letter-spacing: -0.5px; } 
.mobile_menu_close { background: none; border: none; font-size: 26px; font-weight: 300; color: #333; cursor: pointer; line-height: 1; padding: 0; display: flex; align-items: center; justify-content: center; transition: color 0.3s ease; } 
.mobile_menu_close:hover { color: #0035a9; } 
.mobile_menu { list-style: none; margin: 0; padding: 0 20px 20px 20px; } 
.mobile_menu_item { border-bottom: 1px solid #eee; } 
.mobile_menu_item:last-child { border-bottom: none; } 
.mobile_menu_icon_btn .blind { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.mobile_menu_1depth { display: block; padding: 15px 0; font-size: 16px; font-weight: 700; color: #333; text-decoration: none; letter-spacing: -0.5px; position: relative; padding-right: 30px; } 
.mobile_menu_1depth:after { content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 400; color: #666; transition: transform 0.3s ease, color 0.3s ease; } 
.mobile_menu_item.active .mobile_menu_1depth:after { content: '−'; transform: translateY(-50%) rotate(0deg); } 
.mobile_menu_1depth:hover { color: #0035a9; } 
.mobile_submenu { list-style: none; margin: 0; padding: 0; display: none; overflow: hidden; } 
.mobile_submenu li { border-bottom: 1px solid #eee; } 
.mobile_submenu li:last-child { border-bottom: none; } 
.mobile_submenu a { display: block; padding: 12px 20px; font-size: 16px; font-weight: 400; color: #666; text-decoration: none; letter-spacing: -0.5px; transition: background-color 0.3s ease, color 0.3s ease, padding-left 0.3s ease, font-weight 0.3s ease; } 
.mobile_submenu a:hover { background: #f0f0f0; color: #0035a9; padding-left: 25px; font-weight: 600; } 

.main_wrap { margin: 0 auto; max-width: 1600px; width: 100%; display: flex; justify-content: center; } 
.main_img { display: block; } 
.sitemap_title { font-size: 28px; font-weight: 700; color: #001f4d; letter-spacing: -0.75px; margin-bottom: 40px; text-align: center; } 
.sitemap_wrap { margin-top: 30px; } 
.sitemap_list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; } 
.sitemap_item { border: 1px solid #ddd; border-top: 2px solid #001f4d; } 
.sitemap_1depth { display: block; padding: 20px; background: #f7f7f7; font-size: 18px; font-weight: 700; color: #001f4d; text-decoration: none; letter-spacing: -0.5px; border-bottom: 1px solid #ddd; } 
.sitemap_1depth:hover { background: #e8e8e8; color: #0035a9; } 
.sitemap_2depth { list-style: none; margin: 0; padding: 0; } 
.sitemap_2depth li { border-bottom: 1px solid #eee; } 
.sitemap_2depth li:last-child { border-bottom: none; } 
.sitemap_2depth a { display: block; padding: 15px 20px; font-size: 16px; font-weight: 400; color: #333; text-decoration: none; letter-spacing: -0.5px; line-height: 1.5; } 
.sitemap_2depth a:hover { background: #f9f9f9; color: #0035a9; padding-left: 25px; } 


/* INTRO COVER */
.container.main { width: 100%; }
.container.main .intro_cover { position:fixed; top:0; left:0; width:100%; height:100%; background-color:#fff; display:flex; justify-content:center; align-items:center; z-index:100; opacity:1; visibility:visible; pointer-events:none; -o-transition:background-color 0.5s ease-in-out, z-index 0s 0.5s; -ms-transition:background-color 0.5s ease-in-out, z-index 0s 0.5s; -moz-transition:background-color 0.5s ease-in-out, z-index 0s 0.5s; -webkit-transition:background-color 0.5s ease-in-out, z-index 0s 0.5s; transition:background-color 0.5s ease-in-out, z-index 0s 0.5s; }
.container.main .intro_cover.hide { background-color:transparent; pointer-events:none; z-index:-1; }
.container.main .intro_cover .txt { z-index:1; position:relative; -o-transition:color 0.3s ease-in-out; -ms-transition:color 0.3s ease-in-out; -moz-transition:color 0.3s ease-in-out; -webkit-transition:color 0.3s ease-in-out; transition:color 0.3s ease-in-out; }
.container.main .intro_cover .txt h1 { text-align:center; color:#000; font-size:45px; font-weight:700; line-height:1.5; letter-spacing:4px; -o-transition:color 0.3s ease-in-out; -ms-transition:color 0.3s ease-in-out; -moz-transition:color 0.3s ease-in-out; -webkit-transition:color 0.3s ease-in-out; transition:color 0.3s ease-in-out; }
.container.main .intro_cover .txt p.s_copy { font-size:29px; margin-top:14px; text-align:center; color:#000; letter-spacing:3px; -o-transition:color 0.3s ease-in-out; -ms-transition:color 0.3s ease-in-out; -moz-transition:color 0.3s ease-in-out; -webkit-transition:color 0.3s ease-in-out; transition:color 0.3s ease-in-out; }
.container.main .intro_cover.hide .txt h1 { color:#fff; }
.container.main .intro_cover.hide .txt p.s_copy { color:#fff; }

/* MOVIE COVER */
.container.main .contents { position:relative; /* overflow-x: hidden; */ }
.container.main .movie_cover { position:fixed; top:0; left:0; right:0; width:100%; max-width:100%; height:100vh; display:flex; justify-content:center; align-items:center; z-index:-1; overflow:hidden !important; }
.container.main .movie_cover .cover__embed,
.container.main .movie_cover .cover__embed img,
.container.main .movie_cover .movie video { display:block; width:100%; height:100%; object-fit:cover; }
.container.main .movie_cover.active.disible { pointer-events:none; z-index:-10; } 
.container.main .movie_cover .cover__embed { position:absolute; top:0; left:0; width:100%; height:100%; -o-object-fit:cover; object-fit:cover; z-index:-1; }
.container.main .movie_cover .cover__embed img { width:100%; height:100%; object-fit:cover; } 
.container.main .movie_cover .cover__embed.play { z-index:1; } 
.container.main .movie_cover .dim { position:absolute; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.27); z-index:1; } 
.container.main .movie_cover .txt { z-index:1; } 
.container.main .movie_cover .txt h1 { text-align:center; color:#fff; font-size:45px; font-weight:700; line-height:1.5; letter-spacing: 4px; } 
.container.main .movie_cover .txt p.s_copy { font-size:29px; margin-top:14px; text-align:center; color:#fff; letter-spacing: 3px; } 
.container.main .movie_cover .movie { position:absolute; top:0; left:0; width:100%; height:100%; clip-path:inset(50% 50% 50% 50%); display:flex; justify-content:center; align-items:center; z-index:1; -o-transition:clip-path 0.3s ease-in-out; -ms-transition:clip-path 0.3s ease-in-out; -moz-transition:clip-path 0.3s ease-in-out; -webkit-transition:clip-path 0.3s ease-in-out; transition:clip-path 0.3s ease-in-out; }
.container.main .movie_cover .movie h1,
.container.main .movie_cover .movie p.s_copy { color:#fff; } 
.container.main .movie_cover.active .movie { clip-path:inset(0% 0% 0% 0%); }
.container.main .movie_cover.active.disible .movie { clip-path:inset(50% 50% 50% 50%) !important; -o-transition:clip-path 0.5s ease-in-out !important; -ms-transition:clip-path 0.5s ease-in-out !important; -moz-transition:clip-path 0.5s ease-in-out !important; -webkit-transition:clip-path 0.5s ease-in-out !important; transition:clip-path 0.5s ease-in-out !important; } 
.container.main .movie_cover .scroll { position:absolute; bottom:-50%; left:50%; transform:translate3d(-50%,0,0); width:4px; height:136px; background:rgba(0,0,0,0.5); opacity:0; overflow:hidden; z-index:1; } 
.container.main .movie_cover .scroll > span { position:absolute; top:0; left:0; width:100%; height:60%; background-color:#fff; animation:mScroll 2.25s ease-in-out infinite; transform:translate3d(0,-300%,0); } 
.container.main .movie_cover.active .scroll { bottom:26%; opacity:1; } 
@keyframes mScroll { 0% { transform:translate3d(0,-300%,0); } 65% { transform:translate3d(0,300%,0); } 100% { transform:translate3d(0,300%,0); } } 

/* CONTENTS */
.container.main .cover_section .blank_item { height:648px; }
.container.main .conts_section { display:block; visibility:visible; opacity:1; position:relative; z-index:1; } 
.container.main .conts_section.active { z-index:10; } 

/* BUSINESS SECTION */
.container.main .contents .business { position:relative; display:flex; margin-top: calc(100vh + -52rem); justify-content:center; align-items:center; width:100%; min-height:600px; padding-top:0; padding-bottom:100px; transform:none; opacity:1; transition:none; font-size:0; line-height:0; text-align:center; z-index:102; }
.container.main .contents .business.active { transform:none; opacity:1; }
.container.main .contents .business .biz_wrap { transform:none; opacity:1; transition:none; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px; max-width:1280px; width:100%; margin:0 auto; }
.container.main .contents .business.active .biz_wrap { transform:none; opacity:1; transition:none; }
.container.main .contents .business .biz_wrap ul { position:relative; display:flex; align-items:center; gap:20px; margin:0; padding:0; width: 100%; list-style:none; } 
.container.main .contents .business .biz_wrap ul li { position:relative; opacity:1; transform:none; transition:none; }
.container.main .contents .business.active .biz_wrap ul li { opacity:1; transform:none; width: 100%; height: 520px; }
.container.main .contents .business.active .biz_wrap ul li:hover { transform:none; }
.container.main .contents .business .biz_wrap ul li.animate { opacity:1; transform:translate3d(0,0,0); } 
.container.main .contents .business .biz_wrap ul li > a.biz_card { position:absolute; top:50%; left:50%; transform:translate3d(-50%,-50%,0); width:100%; height:100%; max-width:240px; max-height:520px; background-color:#ccc; border-radius:20px; overflow:hidden; display:block; }
.container.main .contents .business .biz_wrap ul li > a.biz_card > img.biz_img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:1; transition:opacity 0.3s ease; }
.container.main .contents .business .biz_wrap ul li > a.biz_card > video.biz_video { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:2; opacity:0; visibility:hidden; transition:opacity 0.3s ease, visibility 0.3s ease; pointer-events:none; }
.container.main .contents .business .biz_wrap ul li:hover > a.biz_card > img.biz_img { opacity:0; }
.container.main .contents .business .biz_wrap ul li:hover > a.biz_card > video.biz_video { opacity:1; visibility:visible; }
.container.main .contents .business .biz_wrap ul li > a.biz_card > .business__embed { position:absolute; top:0; left:0; width:100%; height:100%; -o-object-fit:cover; object-fit:cover; visibility:hidden; opacity:0; z-index:2; }
.container.main .contents .business .biz_wrap ul li > a.biz_card > span { position:absolute; top:25px; left:50%; transform:translate(-50%,0); color:#fff; font-size:20px; font-weight:700; line-height:1.4; white-space:nowrap; z-index:3; pointer-events:none; } 
.container.main .contents .business .biz_wrap ul li.build > a.biz_card { background:#000 no-repeat center center/cover; } 
.container.main .contents .business .biz_wrap ul li.civil > a.biz_card { background:#000  no-repeat center center/cover; } 
.container.main .contents .business .biz_wrap ul li.plant > a.biz_card { background:#000 no-repeat center center/cover; } 
.container.main .contents .business .biz_wrap ul li.house > a.biz_card { background:#000 no-repeat center center/cover; } 
.container.main .contents .business .biz_wrap ul li.future > a.biz_card { background:#000 no-repeat center center/cover; } 
.container.main .contents .business .biz_wrap ul li.play > a.biz_card { background:#000; } 
.container.main .contents .business .biz_wrap ul li.play > a.biz_card > .business__embed { visibility:visible; opacity:0.5; } 
.container.main .contents .business .biz_wrap ul li.build > a.biz_card { transform:translate3d(-50%,-50%,0); transition-duration:0.75s; transition-timing-function:cubic-bezier(0.33, 1, 0.68, 1); } 
.container.main .contents .business .biz_wrap ul li.civil > a.biz_card { transform:translate3d(-50%,calc(-50% - 18px),0); transition-duration:0.6s; transition-timing-function:cubic-bezier(0.33, 1, 0.68, 1); } 
.container.main .contents .business .biz_wrap ul li.plant > a.biz_card { transform:translate3d(-50%,-50%,0); transition-duration:0.87s; transition-timing-function:cubic-bezier(0.33, 1, 0.68, 1); } 
.container.main .contents .business .biz_wrap ul li.house > a.biz_card { transform:translate3d(-50%,calc(-50% - 22px),0); transition-duration:0.5s; transition-timing-function:cubic-bezier(0.33, 1, 0.68, 1); } 
.container.main .contents .business .biz_wrap ul li.future > a.biz_card { transform:translate3d(-50%,-50%,0); transition-duration:0.65s; transition-timing-function:cubic-bezier(0.33, 1, 0.68, 1); } 
.container.main .contents .conts_section .business.active .biz_wrap ul li.build > a.biz_card { transform:translate3d(-50%,calc(-50% - 150px),0); transition-duration:0.45s !important; } 
.container.main .contents .conts_section .business.active .biz_wrap ul li.civil > a.biz_card { transform:translate3d(-50%,calc(-50% - 110px),0); transition-duration:1.05s !important; } 
.container.main .contents .conts_section .business.active .biz_wrap ul li.plant > a.biz_card { transform:translate3d(-50%,calc(-50% - 150px),0); transition-duration:0.90s !important; } 
.container.main .contents .conts_section .business.active .biz_wrap ul li.house > a.biz_card { transform:translate3d(-50%,calc(-50% - 110px),0); transition-duration:1.2s !important; } 
.container.main .contents .conts_section .business.active .biz_wrap ul li.future > a.biz_card { transform:translate3d(-50%,calc(-50% - 150px),0); transition-duration:0.60s !important; } 
.container.main .contents .conts_section .business .biz_wrap.show { margin-top:0; } 
.container.main .contents .conts_section .business .biz_wrap.show ul li { height:600px; } 
.container.main .contents .conts_section .business .biz_wrap.show ul li > a.biz_card { transform:translate3d(-50%,-50%,0); } 
.container.main .contents .conts_section .business .biz_wrap.show ul.show li.show { width:1920px; z-index:1; } 
.container.main .contents .conts_section .business .biz_wrap.show ul.show li.show > a.biz_card { width:100%; height:100%; border-radius:0; transition-duration:0.45s !important; transition-delay:0.0s !important; cursor:default; } 
.container.main .contents .conts_section .business .biz_wrap.show ul.show li.show > a.biz_card > span { opacity:0; } 

/* ACTIVITY SECTION */
.container.main .contents .activity_section { position:relative; max-width:1280px; width:100%; margin:0 auto; padding:0; display:block; visibility:visible; opacity:1; } 
.container.main .contents .activity_section h2 { font-size:38px; font-weight:700; text-align:center; margin-bottom:68px; } 
.container.main .contents .activity_section .activity_list { display:flex; gap:34px; justify-content:center; flex-wrap:wrap; } 
.container.main .contents .activity_section .activity_item { flex:1; min-width:300px; max-width:400px; } 
.container.main .contents .activity_section .activity_item a { display:block; } 
.container.main .contents .activity_section .activity_item .img_wrap { width:100%; border-radius:20px; overflow:hidden; } 
.container.main .contents .activity_section .activity_item .txt_wrap { padding:34px 0; } 
.container.main .contents .activity_section .activity_item .txt_wrap .tit { font-size:24px; font-weight:700; margin-bottom:17px; } 
.container.main .contents .activity_section .activity_item .txt_wrap .desc { font-size:18px; color:#666; margin-bottom:17px; line-height:1.6; } 
.container.main .contents .activity_section .activity_item .txt_wrap .more { font-size:18px; color:#1428A0; font-weight:500; } 

/* NOTICE SECTION */
.container.main .contents .notice_section { position:relative; max-width:1280px; width:100%; margin:0 auto; padding:0; display:block; visibility:visible; opacity:1; } 
.container.main .contents .notice_section h2 { font-size:38px; font-weight:700; text-align:center; margin-bottom:68px; } 
.container.main .contents .notice_section .notice_list { max-width:1280px; margin:0 auto; } 
.container.main .contents .notice_section .notice_item { border-bottom:1px solid #e0e0e0; padding:34px 0; } 
.container.main .contents .notice_section .notice_item:first-child { border-top:1px solid #e0e0e0; } 
.container.main .contents .notice_section .notice_item a { display:flex; align-items:center; gap:34px; } 
.container.main .contents .notice_section .notice_item .cate { font-size:17px; color:#1428A0; font-weight:500; min-width:60px; } 
.container.main .contents .notice_section .notice_item .tit { flex:1; font-size:19px; font-weight:500; } 
.container.main .contents .notice_section .notice_item .date { font-size:17px; color:#999; min-width:100px; text-align:right; } 
.container.main .contents .notice_section .btn_wrap { text-align:center; margin-top:68px; } 
.container.main .contents .notice_section .btn_more { display:inline-block; padding:17px 68px; font-size:19px; font-weight:500; color:#1428A0; border:2px solid #1428A0; border-radius:20px; transition:all 0.3s ease; } 
.container.main .contents .notice_section .btn_more:hover { background-color:#1428A0; color:#fff; } 

/* SERVICE SECTION */
.container.main .contents .service { position:relative; width:100%; max-width:1280px; margin:0 auto; box-sizing:border-box; z-index:1; overflow:hidden; margin-bottom: 100px; }
.container.main .contents .service .service_item { opacity:0; transform:translate3d(0,50px,0); transition:opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); will-change:transform, opacity; }
.container.main .contents .service .service_item.animate { opacity:1; transform:translate3d(0,0,0); }
.container.main .contents .service .service_item:nth-child(1) { transition-delay:0.1s; }
.container.main .contents .service .service_item:nth-child(2) { transition-delay:0.2s; }
.container.main .contents .service .service_item:nth-child(3) { transition-delay:0.3s; }
.container.main .contents .service .service_item:nth-child(4) { transition-delay:0.4s; } 
.container.main .contents .service .service_title_wrap { position:relative; text-align:center; margin:0 0 68px; max-width:100%; width:100%; box-sizing:border-box; white-space:normal; word-break:break-word; overflow-wrap:break-word; }
.container.main .contents .service h2 { font-size:48px; font-weight:700; letter-spacing:-0.7px; margin:0 0 10px; padding:0; text-align: center; } 
.container.main .contents .service .service_desc { font-size:18px; font-weight:400; letter-spacing:-0.5px; color:#333; margin:0; padding:0; } 
.container.main .contents .service .service_list { list-style:none; display:flex; flex-wrap:wrap; gap:20px; width:100%; margin:0 auto; box-sizing:border-box; flex-direction: row; padding-left:0; }
.container.main .contents .service .service_list .service_item { flex:1; min-width:0; box-sizing:border-box; }
.container.main .contents .service .service_item .item { display:block; position:relative; overflow:hidden; border-radius:20px; margin:0; box-sizing:border-box; width:100%; min-height:460px; transition:all 0.3s ease; }
.container.main .contents .service .service_item .item:hover { background:rgba(0, 21, 138, 0.9); }
.container.main .contents .service .service_item .item .img_wrap { display:block; width:100%; height:100%; position:absolute; top:0; left:0; z-index:0; transition:opacity 0.3s ease; }
.container.main .contents .service .service_item .item:hover .img_wrap { opacity:0.3; }
.container.main .contents .service .service_item .item .img_wrap img { width:100%; height:100%; object-fit:cover; } 
.container.main .contents .service .service_item .item .txt { position:absolute; top:40px; left:25px; width:calc(100% - 50px); padding:0; margin:0; background:none; color:#fff; z-index:1; box-sizing:border-box; opacity:1; transition:opacity 0.3s ease; } 
.container.main .contents .service .service_item .item:hover .txt { opacity:1; }
.container.main .contents .service .service_item .item .txt .sh2 { font-size:20px; font-weight:700; letter-spacing:-0.7px; line-height:1.4; margin:0 0 15px; padding:0; color:#fff; word-break:break-word; white-space:normal; overflow-wrap:break-word; }
.container.main .contents .service .service_item .item .desc { display:none; position:absolute; top:auto; bottom:25px; left:25px; width:calc(100% - 50px); padding:0; margin:0; font-size:16px; font-weight:700; letter-spacing:-0.5px; line-height:1.6; color:#fff; z-index:2; }
.container.main .contents .service .service_item .item:hover .desc { display:block; } 
.container.main .contents .service .service_item .item .txt .more { display:none; } 

/* INFO SECTION */
.container.main .contents .info { max-width:1280px; width: 100%; margin:0 auto; }
.container.main .contents .info .swiper-slide { opacity:0; transform:translate3d(0,50px,0); transition:opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); will-change:transform, opacity; }
.container.main .contents .info .swiper-slide.animate { opacity:1; transform:translate3d(0,0,0); } 
.container.main .contents .info .info_title_wrap { margin-bottom: 40px; }
.container.main .contents .info h2 {  font-size:48px; font-weight:700; letter-spacing:-0.7px; text-align: center; } 
.container.main .contents .info .info_nav { position:absolute; top:43%; left:0; right:0; max-width:1280px; width:100%; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:0; padding:0; opacity:0; visibility:hidden; transition:opacity 0.3s ease, visibility 0.3s ease; pointer-events:none; }
.container.main .contents .info .info_nav::before { content:""; position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); width:100%; height:60px; border-radius:30px; transition:opacity 0.3s ease; opacity:0; pointer-events:none; } 

.container.main .contents .info .info_nav a { position:relative; display:flex; align-items:center; justify-content:center; width:38px; height:38px; text-indent:-9999px; border-radius:50%; cursor:pointer; pointer-events:auto; z-index:1; background:#18256e34; transition:background 0.3s ease, transform 0.3s ease; }
.container.main .contents .info .info_nav a::before { content:''; position:absolute; width:6px; height:10px; background-image:url('../../images/main_n/ico_more_btn_w.png'); background-repeat:no-repeat; background-position:center; background-size:auto 100%; }

.container.main .contents .info .info_nav .blind { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

.container.main .contents .info .info_button_prev { transform:rotate(180deg); }
.container.main .contents .info .info_nav a:hover { background-color:#18256E; }
.container.main .contents .info .info_nav a:hover::before { transform:scale(1.1); }
.container.main .contents .info:hover .info_nav,
.container.main .contents .info .slide-list-wrap:hover ~ .info_nav,
.container.main .contents .info .info_nav:hover { opacity:1; visibility:visible; pointer-events:auto; }
.container.main .contents .info .slide-list-wrap:hover ~ .info_nav::before,
.container.main .contents .info .info_nav:hover::before { opacity:1; } 
.container.main .contents .info .slide-list-wrap { position:relative; width:100%; touch-action:pan-y; min-height:280px; }
.container.main .contents .info .swiper { width:100%; margin:0; padding:0; touch-action:pan-x; position:relative; }
.container.main .contents .info .swiper-wrapper { display:flex; align-items:stretch; }
.container.main .contents .info .swiper-slide { flex-shrink:0; margin:0; display:flex; box-sizing:border-box; }
.container.main .contents .info .swiper-slide .item { width:100%; display:block; margin:0; flex-shrink:0; box-sizing:border-box; }
.container.main .contents .info .swiper-slide .item a { display:block; position:relative; background:#fff; border:1px solid #ddd; border-radius:12px; margin:0; box-sizing:border-box; min-height:280px; padding:30px; transition:all 0.3s ease; cursor:pointer; }
.container.main .contents .info .swiper-slide .item a:hover { background:#18256E; border-color:#18256E; }
.container.main .contents .info .swiper-slide .item a .breadcrumb { font-size:14px; color:#1428A0; padding:0; transition:color 0.3s ease; margin-bottom: 10px; }
.container.main .contents .info .swiper-slide .item a:hover .breadcrumb { color:#fff; }
.container.main .contents .info .swiper-slide .item a .txt { position:relative; padding:0; margin:0; background:none; }
.container.main .contents .info .swiper-slide .item a .txt .title { font-size:20px; font-weight:700; line-height:1.4; margin:0 0 12px; padding:0; color:#111; transition:color 0.3s ease; }
.container.main .contents .info .swiper-slide .item a:hover .txt .title { color:#fff; }
.container.main .contents .info .swiper-slide .item a .txt .title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-clamp: 2; overflow: hidden; text-overflow: ellipsis; }
.container.main .contents .info .swiper-slide .item a .txt .desc { font-size:16px; font-weight:400; line-height:1.6; margin:0; padding:0; color:#666; transition:color 0.3s ease; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.container.main .contents .info .swiper-slide .item a:hover .txt .desc { color:#fff; }
.container.main .contents .info .swiper-slide .item a .btn_arrow { position:absolute; bottom:30px; right:30px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border:1px solid #ddd; border-radius:8px; font-size:30px; color:#111; background:#fff; transition:all 0.3s ease; }
.container.main .contents .info .swiper-slide .item a:hover .btn_arrow { background:#fff; border-color:#fff; color:#18256E; transform:translateX(5px); } 

/* FOOTER */
.footer { width:100%; background-color:#18256E; padding:40px 0 100px 0; margin-top: 180px; }
.footer .footer_wrap { max-width:1280px; width:100%; margin:0 auto; padding:0; }
.footer .footer_top { padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,0.2); margin-bottom:34px; }
.footer .footer_nav { display:flex; align-items:center; justify-content:center; gap:17px; }
.footer .footer_nav a { font-size:16px; font-weight:400; color:#fff; text-decoration:none; transition:opacity 0.3s ease; }
.footer .footer_nav a:hover { opacity:0.7; }
.footer .footer_nav span { color:rgba(255,255,255,0.5); font-size:16px; }
.footer .footer_bottom { display:flex; align-items:flex-start; justify-content:space-between; gap:68px; }
.footer .footer_nav.sty01 { margin-bottom: 20px; justify-content: flex-start; }
.footer .footer_nav.sty02 { justify-content: flex-start; gap: 30px; }

.footer .footer_logo { display:flex; align-items:center; gap:20px; flex-shrink:0; }
.footer .footer_logo .logo_img { width:180px; height:auto; /* display:flex; align-items:center; justify-content:center; flex-shrink:0; */ }
.footer .footer_logo .logo_img img { max-width:100%; height:auto; object-fit:contain; }
.footer .footer_logo .logo_txt p { font-size:16px; font-weight:500; color:#fff; line-height:1.4; margin:0; padding:0; }
.footer .footer_logo .logo_txt p:first-child { margin-bottom:4px; }
.footer .footer_info { flex:1; }
.footer .footer_info p { font-size:14px; font-weight:400; color:rgba(255,255,255,0.8); line-height:1.6; margin:0 0 8px; padding:0; letter-spacing: 3px; }
.footer .footer_info p:last-child { margin-bottom:0; }

/* ===== 반응형  ===== */
@media (max-width: 1023px) {
    .container.main .movie_cover { position: relative; height: auto; min-height: 100vh; overflow:hidden !important; }
}

@media (min-width: 1201px) {
    .mobile_menu_wrap, .mobile_menu_overlay { display: none; } 
    .full_menu_wrap, .full_menu_overlay { display: block; } 
    .header_nav { display: flex; } 
    .header_icon_btn:not(.header_menu_btn) { display: flex; } 
}

@media (max-width: 1200px) {
    .quick_wrap_inner { padding: 0 20px; }
    .header .header_wrap { padding: 0 20px; height: 80px; }
    .header .header_wrap .menu_left,
    .header .header_wrap .menu_right,
    .header .header_wrap .util,
    .header .header_full_menu { display: none; }
    .header .header_full_menu_inner { display: none; }
    .header:hover .header_wrap:before,
    .header.menu_hover .header_wrap:before,
    .header.white:hover .header_wrap:before,
    .header.white.menu_hover .header_wrap:before { opacity:0 !important; }
    .header .header_wrap .header_menu_item_top > a { color:#111; }
    .header .header_wrap .logo { display:none; }
    .header_mobile { display:flex; align-items:center; justify-content:space-between; width:100%; }
    .header_mobile .mobile_logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:#fff; }
    .header_mobile .mobile_logo .logo_img { display:inline-block; width:40px; height:40px; background:url('../../images/main_n/img_logo_w.png') no-repeat center/contain; }
    .header_mobile .mobile_logo .logo_text { font-size:16px; line-height:1.2; color:#fff; white-space:nowrap; }
    .header_mobile .mobile_logo .logo_text .logo_text_bold { font-weight:700; color:#fff; }
    .mobile_menu_icon_btn { display:flex; flex-direction: column; align-items:center; justify-content:center; width:27px; height:27px; background:none; border:none; padding:0; margin:0; cursor: pointer; }
    .mobile_menu_icon_btn .bar { display:block; background:#fff; }
    .mobile_menu_icon_btn .bar + .bar { margin-top:7px; }
    .header_inner { padding: 0 20px; align-items: center; } 
    .header_logo { width: 28px; height: 28px; } 
    .header_title { font-size: 16px; } 
    .header_nav { display: none; } 
    .header_icon_btn:not(.header_menu_btn):not(.mobile_menu_icon_btn) { display: none; } 
    .mobile_menu_wrap, .mobile_menu_overlay { display: block; } 
    .full_menu_wrap, .full_menu_overlay { display: none; } 
    .header_icon_btn img { width: 80%; height: 79%; object-fit: contain; } 
    /* 비즈니스 카드 - 태블릿 상단 (≤1200px) */
    .container.main .cover_section .blank_item { height:0; }
    .container.main .contents .business { margin-top: calc(100vh + -22rem); }
    .container.main .contents .business .biz_wrap { gap:16px; }
    .container.main .contents .business .biz_wrap ul { gap:16px; }
    .container.main .contents .business .biz_wrap ul li > a.biz_card { width:100% !important; height:100%; max-width:210px; max-height:460px; }
    .container.main .contents .business .biz_wrap ul li > a.biz_card > span { top:18px; font-size:18px; }
    .container.main .contents .info .slide-list-wrap { overflow:hidden; }
    .container.main .contents .info .swiper { width:100%; margin:0; padding:0; position:relative; }
    .container.main .contents .info .swiper-slide { flex-shrink:0; margin:0; display:flex; box-sizing:border-box; }
    
}

@media (max-width: 1023px) {
    .header_inner { min-height: 88px; } 
    .header_menu { gap: 25px; } 
    .header_menu_item > a { font-size: 16px; padding: 30px 0; } 
    .header_submenu { min-width: 160px; } 
    .full_menu_grid { grid-template-columns: repeat(2, 1fr); gap: 30px 20px; } 
    .full_menu_inner { padding: 30px 20px; } 
    .full_menu_title { font-size: 28px; } 
    .full_menu_1depth { font-size: 20px; } 
    .full_menu_2depth a { font-size: 16px; } 
    .sitemap_list { grid-template-columns: repeat(2, 1fr); gap: 20px; } 
    /* 비즈니스 카드 - 태블릿 중간 (≤1023px) */
    .container.main .contents .business .biz_wrap { gap:14px; }
    .container.main .contents .business .biz_wrap ul { gap:14px; }
    .container.main .contents .business .biz_wrap ul li > a.biz_card { width:100%; height:100%; max-width:190px; max-height:380px; }
    .container.main .contents .business .biz_wrap ul li > a.biz_card > span { top:16px; font-size:16px; }
}

@media (max-width: 970px) {
    .container.main .contents .business { box-sizing: border-box; margin-top: 0; }
    .container.main .contents .business .biz_wrap { width:100%; max-width:100%; box-sizing:border-box; gap:16px; justify-content:center; }
    .container.main .contents .business .biz_wrap ul { width:100%; flex-direction: column; gap:16px; justify-content:center; align-items:center; }
    .container.main .contents .business.active .biz_wrap ul li { height: 150px; }
    .container.main .contents .business .biz_wrap ul li > a.biz_card { position:relative !important; left:0 !important; top:0 !important; transform:none !important; width:100% !important; height:100% !important; display:block; margin:0 auto; max-width:100%; }
    .container.main .contents .business .biz_wrap ul li > a.biz_card > img.biz_img,
    .container.main .contents .business .biz_wrap ul li > a.biz_card > video.biz_video { display:block; width:100%; height:100%; object-fit:cover; }
    .container.main .contents .business .biz_wrap ul li > a.biz_card > span { top: 61px; font-size: 20px; }
    .biz_card { transform: none !important; }
    .container.main .contents .service .service_list { justify-content:center; gap:18px; }
    .container.main .contents .service .service_item { flex:1 1 298px; max-width:298px; }
    .container.main .contents .service .service_item .item { min-height:320px; }
    .container.main .contents .service h2 { font-size: 30px; margin-bottom: 15px; }
    .container.main .contents .service .service_desc { font-size: 16px; }
    .container.main .contents .service .service_title_wrap { margin: 0 0 35px; }
    .container.main .contents .info h2 { font-size: 30px; }
    .container.main .contents .info .swiper-slide .item a .txt .title { font-size: 18px; }
    .container.main .contents .info .swiper-slide .item a .txt .desc { font-size: 15px; }
}

@media (max-width: 767px) {
    .quick_wrap { padding:0; } 
    .header .header_wrap { padding:0 20px; height:80px; } 
    .header .header_wrap .logo a { width:340px; height:51px; }
    .header_inner { flex-wrap: wrap; padding: 10px 20px; min-height: 55px; } 
    .header_logo { width: 24px; height: 24px; } 
    .header_title { font-size: 14px; } 
    .header_menu { flex-direction: column; gap: 0; width: 100%; } 
    .header_menu_item { width: 100%; border-bottom: 1px solid #eee; } 
    .header_menu_item > a { padding: 15px 0; } 
    .header_submenu { position: static; transform: none; margin-top: 0; box-shadow: none; border-radius: 0; background: #f9f9f9; } 
    .header_menu_item:hover .header_submenu { display: block; } 
    .sitemap_title { font-size: 24px; margin-bottom: 30px; } 
    .sitemap_list { grid-template-columns: 1fr; gap: 15px; } 
    .sitemap_1depth { padding: 15px; font-size: 16px; } 
    .sitemap_2depth a { padding: 12px 15px; font-size: 14px; } 
    body.menu_open { overflow: hidden; } 
    .mobile_menu_wrap { display: block; } 
    .footer_wrap { margin-top: 60px; } 
    .footer_links { flex-direction: column; align-items: flex-start; gap: 12px; } 
    .footer_links li + li::before { display: none; } 
    .footer_content { flex-direction: column; align-items: flex-start; gap: 24px; } 
    .footer_logo_text { font-size: 18px; } 
    .footer_info_text { font-size: 13px; line-height: 1.8; } 
    .footer_copy { font-size: 12px; } 
    /* 메인 비주얼 텍스트 축소 및 상단 이동 */
    .container.main .intro_cover {display: none;}
    .container.main .movie_cover .txt h1 { font-size:28px; letter-spacing:1px; }
    .container.main .movie_cover .txt p.s_copy { font-size:18px; letter-spacing:1px; margin-top:10px; }
    .container.main .contents .info .slide-list-wrap { overflow:hidden; }
}

@media (max-width: 640px) {
    .container.main .movie_cover .txt h1 { font-size:25px; letter-spacing:1px; }
    .container.main .movie_cover .txt p.s_copy { font-size:16px; letter-spacing:1px; margin-top:10px; }
    .footer { padding: 40px 20px 100px 20px; box-sizing: border-box; }
    .container.main .contents .service .service_list { flex-direction:column; align-items:stretch; gap:15px; }
    .container.main .contents .service .service_item { width:100%; max-width:none; }
    .container.main .contents .service .service_item .item { min-height:180px; }
    .container.main .contents .service h2 { font-size:32px; }
    .container.main .contents .service .service_desc { font-size:16px; }
    .container.main .contents .info .slide-list-wrap { overflow:hidden; }

    .footer .footer_bottom { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-direction: column; }
}

@media (max-width: 480px) {
    .container.main .movie_cover .txt h1 { font-size:21px; letter-spacing:1px; }
    .container.main .movie_cover .txt p.s_copy { font-size:14px; letter-spacing:1px; margin-top:10px; }
    .container.main .contents .service h2 { font-size: 25px; }
    .container.main .contents .info .slide-list-wrap { overflow:hidden; }
    .container.main .contents .business { padding-bottom: 40px; }
    .container.main .contents .service .service_item .item .txt .sh2 { font-size: 18px; }
    .container.main .contents .service .service_item .item .desc { font-size: 14px; }
    .container.main .contents .service .service_title_wrap { margin: 0 0 20px; }
    .container.main .contents .service .service_desc { font-size:14px; line-height: 1.5; }
    .container.main .contents .info .info_title_wrap { margin-bottom: 20px; }
    .container.main .contents .service { margin-bottom: 50px; }
    .container.main .contents .info h2 { font-size: 25px; }
    .container.main .contents .info .swiper-slide .item a { padding: 20px; min-height: 220px; }
    .footer { margin-top: 0; padding: 20px; }
    .footer .footer_top { padding-bottom: 20px; }
    .footer .footer_nav { gap: 7px; }
    .footer .footer_nav a { font-size: 12px; }
    .footer .footer_bottom { display: flex; align-items: center; gap: 28px; flex-direction: column; }
    .footer .footer_info p { font-size: 12px; line-height: 1.3; letter-spacing: 1px; text-align: center; }
    .footer .footer_logo .logo_img img { max-width: 90%; }
}

