@charset "UTF-8"; :root { --color-primary: #006aff; /*gray*/ --color-gray900: #212121; --color-gray800: #424242; --color-gray700: #616161; --color-gray600: #757575; --color-gray500: #9e9e9e; --color-gray400: #bdbdbd; --color-gray300: #e0e0e0; --color-gray200: #eee; --color-gray100: #f5f5f5; --color-gray50: #fafafa; --color-tech: #2278e2; --color-human: #f17b39; --color-nature: #23b64b; --baron_C: #006aff; --baron_dc: #004cbf; /* etc */ --text-stroke: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 1px 0px 0 #000, 0px 1px 0 #000, -1px 0px 0 #000, 0px -1px 0 #000; --text-stroke500: -1px -1px 0 #00000077, 1px -1px 0 #00000077, -1px 1px 0 #00000077, 1px 1px 0 #00000077; --text-stroke100: -1px -1px 0 #0000001a, 1px -1px 0 #0000001a, -1px 1px 0 #0000001a, 1px 1px 0 #0000001a; --btn-shadow: drop-shadow(0 2px 2px #000000aa) drop-shadow(0 -1px 1px #000000aa); } html { overflow: visible !important; scroll-behavior: smooth; max-width: 3840px; /*min-width: 1280px;*/ margin: 0 auto; background-color: #eee; height: auto !important; } body { width: 100%; background-color: #fff; overflow: visible !important; height: auto !important; } .wrap { width: 100%; /* min-width: 1920px;*/ letter-spacing: -0.04em; background-color: #fff; } .wrap .container { width: 100%; height: auto; position: relative; } .wrap .contents_wrap { width: 100%; } .wrap .contents_wrap .content { width: 100%; } /* 공통적용 - 헤더 header */ header { width: 100%; max-width: 100vw; height: 92px; transition: top 0.3s; position: fixed; top: 0; left: 0; display: flex; justify-content: space-between; align-items: center; z-index: 100; background-color: #fff; border-bottom: 1px solid rgba(0, 0, 0, 0.1019607843); transition: height 0.2s ease-out; } body:has(.index) header { background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent); border: 0; } body:has(.dx) header { border-bottom: 1px solid rgba(255, 255, 255, 0.05); background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); } header:hover { background-color: #fff; } /* 모바일: 로그인 아이콘 탭 시 header:hover가 안 걸릴 수 있어 focus-within으로도 동일하게 흰 배경 처리 */ header:has(.header_login:focus-within) { background-color: #fff; } body:has(.index, .dx) header:hover::before { content: " "; position: absolute; left: 0; top: 0; width: 100%; height: 100%; animation: header_bg 0.2s ease-in forwards; z-index: -1; } @keyframes header_bg { 0% { background: linear-gradient(180deg, #ffffff 100%, transparent 100%); height: 80%; opacity: 0; } 100% { background: linear-gradient(180deg, #ffffff 100%, transparent 100%); height: 100%; opacity: 1; } } header .header_inner { display: flex; align-items: center; gap: 80px; width: 100%; height: 100%; margin: 0 auto; padding: 0 50px; } header .logo_box { flex: 0 0 auto; } header#header_recruit .header_inner.recruit { display: flex; justify-content: space-between; } header .logo_box a.logo { width: 160px; height: 100%; display: block; color: transparent; text-indent: -9999px; overflow: hidden; background-color: #0c367f; -webkit-mask-image: url(../img/logo_c.svg); mask-image: url(../img/logo_c.svg); background-size: cover; -webkit-background-size: cover; mask-size: contain; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; } body:has(.index, .dx) header .header_inner:hover .logo_box a { background-color: #0c367f; } body:has(.index, .dx) header .header_inner .logo_box a { background-color: #fff; } body:has(.index, .dx) header .header_inner:hover nav ol li.depth1 span { color: #000; } body:has(.index, .dx) header .header_inner nav ol li.depth1 .depth3 li:hover span{ color: #0044fe; } body:has(.index, .dx) header .header_inner:hover .btn_menu div { background-color: #000; } /* 모바일: 로그인 아이콘을 탭하면 header:hover는 안 걸릴 수 있어도 .header_login:focus-within은 확실히 걸리므로, 이때도 헤더 배경이 흰색으로 바뀌는 것과 맞춰 메뉴 아이콘을 검정으로 전환 */ body:has(.index, .dx) header .header_inner:has(.header_login:focus-within) .btn_menu div { background-color: #000; } body:has(.index, .dx) header .header_inner:hover nav ol li.depth1 span i { filter: none; } body:has(.index, .dx) header .header_inner:hover nav ol li.depth1:hover span i { filter: none; } body:has(.index, .dx) header .header_inner nav ol li.depth1 span { color: #fff; } body:has(.index, .dx) header .header_inner nav ol li.depth1 span i { filter: invert(1); } body:has(.index, .dx) header .header_inner nav ol li.depth1:hover span i { filter: invert(1); } body:has(.index, .dx) header .header_inner .btn_menu div { background-color: #fff; } body:has(.index, .dx) header .header_inner .header_R .language::before { background-image: url(../img/ico_language_w.svg); } body:has(.index, .dx) header:hover .header_inner .header_R .language::before { background-image: url(../img/ico_language.svg); } body:has(.index, .dx) header .header_inner .header_R .language a:first-child::after { background: #fff; } body:has(.index, .dx) header:hover .header_inner .header_R .language a:first-child::after { background: #000; } body:has(.index, .dx) header .header_inner .header_R .language a { color: #fff; } body:has(.index, .dx) header:hover .header_inner .header_R .language a { color: #000; } header#header_recruit .header_inner.recruit .nav_wrap { display: inline-flex; align-items: center; justify-content: flex-start; gap: 80px; width: calc(100% - 120px); } header#header_recruit .header_inner.recruit .nav_wrap h1 { display: flex; align-items: center; height: auto; } header#header_recruit .header_inner.recruit .nav_wrap nav { display: inline-block; } header#header_recruit .header_inner.recruit .btn_corp { padding: 12px 18px; border-radius: 8px; border: 1px solid rgba(0, 0, 0, 0.4); font-size: 14px; font-weight: 400; line-height: 1.2; letter-spacing: -0.28px; color: rgba(0, 0, 0, 0.6); white-space: nowrap; } header .header_inner nav { height: 100%; } header .header_inner nav ol { display: flex; justify-content: center; align-items: center; gap: 28px; width: 100%; height: 100%; } header .header_inner nav ol li.depth1 { height: 100%; min-width: 60px; position: relative; } header .header_inner nav ol li.depth1 span { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #000; font-size: 18px; text-align: center; white-space: nowrap; word-break: keep-all; opacity: 0.8; cursor: pointer; } header .header_inner nav ol li.depth1.active span { font-weight: 500; opacity: 1; } header .header_inner nav ol li.depth1 span em { display: block; width: 100%; height: 0; margin-top: 0; color: #999; font-size: 13px; text-align: center; font-weight: 500; white-space: nowrap; word-break: keep-all; opacity: 0; overflow: hidden; transition: height 0.2s ease, margin-top 0.2s ease, opacity 0.2s ease; } header .header_inner nav ol li.depth1:hover span em, header .header_inner nav ol li.depth1.active span em { height: 18px; margin-top: -10px; opacity: 1; overflow: visible; } header .header_inner nav ol li.depth1 span i { display: inline-block; width: 16px; height: 16px; background: url(../img/ico_more.svg) no-repeat center/contain; margin-left: 4px; translate: 0 1px; } header .header_inner nav ol li.depth1 ul.depth2 { position: absolute; top: 100%; left: 50%; translate: -50% 0; min-width: 180px; width: max-content; padding: 20px; background-color: #fff; border-radius: 0px 0px 5px 5px; box-shadow: 0px 4px 4px #00000033, 0px 2px 2px #00000010 inset; display: none; } header .header_inner nav ol li.depth1 ul.depth2 li { width: 100%; height: inherit; margin-top: 10px; text-align: center; } header .header_inner nav ol li.depth1 ul.depth2 li:first-child { margin-top: 0; } header .header_inner nav ol li.depth1 ul.depth2 li a { width: 100%; height: 100%; font-size: 16px; line-height: 28px; } html[lang="en"] header .header_inner nav ol li.depth1 ul.depth2 li:first-child { margin-top: 0; } html[lang="en"] header .header_inner nav ol li.depth1 ul.depth2 li a { line-height: 110%; } header .header_inner nav ol li.depth1 ul.depth2 li.has_depth3 { position: relative; } header .header_inner nav ol li.depth1 ul.depth2 li.has_depth3 > a { display: block; } header .header_inner nav ol li.depth1 ul.depth2 li ul.depth3 { position: absolute; top: -20px; left: 100%; min-width: 180px; width: max-content; padding: 20px; background-color: #fff; border-radius: 5px; box-shadow: 0px 4px 12px #00000022; display: none; } header .header_inner nav ol li.depth1 ul.depth2 li.has_depth3:hover ul.depth3 { display: block; } header .header_inner nav ol li.depth1 ul.depth2 li ul.depth3 li { margin-top: 10px; } header .header_inner nav ol li.depth1 ul.depth2 li ul.depth3 li:first-child { margin-top: 0; } header .header_inner nav ol li.depth1 ul.depth2 li ul.depth3 li a { display: block; text-align: left; font-size: 15px; line-height: 24px; font-weight: 400; } header .header_inner nav ol li.depth1:hover * { opacity: 1; } header .header_inner nav ol li.depth1:hover span { font-weight: 500; } header .header_inner nav ol li.depth1:hover ul.depth2 { display: block; } /* Anonymous navigation: explain login-required sections and keep their links visibly disabled. */ header .header_inner nav ol li.depth1.nav-login-required, header .sitemap nav ol li.depth1.nav-login-required, footer .footer_inner nav ol li.depth1.nav-login-required { position: relative; } header .header_inner nav ol li.depth1.nav-login-required::after, header .sitemap nav ol li.depth1.nav-login-required::after, footer .footer_inner nav ol li.depth1.nav-login-required::after { content: attr(data-login-tooltip); position: absolute; top: var(--login-tooltip-top, calc(100% + 8px)); left: var(--login-tooltip-left, 50%); z-index: 1000; width: max-content; max-width: min(320px, calc(100vw - 32px)); padding: 12px 18px; border: 2px solid #fff; border-radius: 9px; background: var(--color-primary); color: #fff; font-size: 16px; font-weight: 700; line-height: 1.5; text-align: center; white-space: normal; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.32), 0 0 0 1px var(--color-primary); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-4px); transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease; } header .header_inner nav ol li.depth1.nav-login-required::before, header .sitemap nav ol li.depth1.nav-login-required::before, footer .footer_inner nav ol li.depth1.nav-login-required::before { content: ""; position: absolute; top: calc(var(--login-tooltip-top, 100%) - 9px); left: calc(var(--login-tooltip-left, 50%) + 20px); z-index: 1001; width: 0; height: 0; border-top: 9px solid var(--color-primary); border-right: 9px solid transparent; border-left: 9px solid transparent; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.15s ease, visibility 0.15s ease; } header .header_inner nav ol li.depth1.nav-login-required:hover::after, header .header_inner nav ol li.depth1.nav-login-required:focus-within::after, header .sitemap nav ol li.depth1.nav-login-required:hover::after, header .sitemap nav ol li.depth1.nav-login-required:focus-within::after, footer .footer_inner nav ol li.depth1.nav-login-required:hover::after, footer .footer_inner nav ol li.depth1.nav-login-required:focus-within::after { opacity: 1; visibility: visible; transform: translateY(0); } header .header_inner nav ol li.depth1.nav-login-required:hover::before, header .header_inner nav ol li.depth1.nav-login-required:focus-within::before, header .sitemap nav ol li.depth1.nav-login-required:hover::before, header .sitemap nav ol li.depth1.nav-login-required:focus-within::before, footer .footer_inner nav ol li.depth1.nav-login-required:hover::before, footer .footer_inner nav ol li.depth1.nav-login-required:focus-within::before { opacity: 1; visibility: visible; } header .header_inner nav a[data-auth-disabled="true"], header .sitemap nav a[data-auth-disabled="true"], footer .footer_inner nav a[data-auth-disabled="true"] { color: #888 !important; opacity: 0.55 !important; cursor: not-allowed; pointer-events: none; text-shadow: none !important; } /* PC GNB: 인재채용은 1뎁스 링크만 노출(2뎁스 드롭다운 숨김, ★최종 기준) */ header .header_inner nav ol li.depth1.nav-recruit ul.depth2 { display: none; } header .header_inner nav ol li.depth1 ul.depth2 li:hover a { color: #0044f2; } /* PC GNB 패키지 S/W 전용 드롭다운 (전 제품 목록 노출형, Figma node 12222:396 기준) */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown { width: 360px; box-sizing: border-box; padding: 0 10px; display: none; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; overflow: hidden; border-radius: 0px 0px 8px 8px; background: #ffffff; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); translate: 0; } header .header_inner nav ol li.depth1:hover ul.package_sw_dropdown { display: flex; } /* 2depth 리스트 항목 (EG-BIM, TOVA, GAIA) : 라벨 + 3depth 그리드를 한 행에 노출 라벨(a)은 absolute + top/bottom:0 으로 행 높이에 꽉 차게 고정 (flex stretch는 부모 li의 높이가 콘텐츠(ul.depth3)로부터 계산되는 특성상 일부 브라우저에서 확실히 stretch 되지 않아, absolute 방식으로 명시적으로 채움) */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 { width: 100%; margin-top: 0; text-align: left; position: relative; } header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 > a { position: absolute; left: 0; top: 0; bottom: 0; width: 107px; display: flex; align-items: center; justify-content: center; background: linear-gradient(270deg, rgba(255, 255, 255, 0) 3.57%, #ffffff 101.4%), #f5f7fa; font-size: 16px; line-height: 1.2; font-weight: 500; letter-spacing: -0.32px; color: #000; opacity: 0.8; transition: all 0.2s ease; } /* 2depth 활성화/호버 상태 */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3.active > a, header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 > a:hover { color: #0044f2; opacity: 1; } /* 3depth 그리드 (제품별 하위 메뉴, 2열 고정 노출) */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 { position: static; margin-left: 127px; width: 213px; height: auto; box-sizing: border-box; padding: 19.87px 0; background: none; border-radius: 0; border-left: none; box-shadow: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 16px; letter-spacing: -0.28px; } /* 두 번째 행부터 상단 구분선 노출 (Figma Line 2184/2185) */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3:not(:first-child) ul.depth3 { border-top: 1px solid rgba(0, 0, 0, 0.08); } /* 영문판: 3depth 메뉴명이 길어 2열 그리드에서 줄바꿈되므로 컬럼 폭을 넓혀 한 줄로 표시 (2열 구조 및 국문은 그대로 유지) */ html[lang="en"] header .header_inner nav ol li.depth1 ul.package_sw_dropdown { width: 470px; } html[lang="en"] header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 { width: 320px; } /* 일반 depth2 드롭다운의 ':hover { display:block }' 규칙(특정성 우선순위 높음)이 패키지 S/W 그리드를 덮어쓰지 않도록 동일 특정성으로 재정의 */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3:hover ul.depth3 { display: grid; } /* 3depth 리스트 항목 */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 li { width: 100%; margin-top: 0; } /* 3depth 메뉴 링크 (플레인 텍스트 스타일) */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 li a { display: block; width: auto; padding: 0; border: none; background: none; border-radius: 0; font-size: 14px; line-height: 1.2; color: #000; opacity: 0.8; font-weight: 400; transition: all 0.2s ease; } /* 3depth 호버 상태 */ header .header_inner nav ol li.depth1 ul.package_sw_dropdown li.has_depth3 ul.depth3 li a:hover { color: #0044f2; opacity: 1; background: none; } header .header_inner .header_R { display: flex; flex-direction: row; align-items: center; flex: 0 0 auto; margin-left: auto; } header .header_inner .header_R .language { padding-right: 24px; } @media (max-width: 768px) { header .header_inner .header_R .language { padding-right: 8px; } } header .header_inner .header_R .language a { padding: 0 5px; display: inline-block; font-weight: 700; font-size: 16px; color: #000; opacity: 0.5; } header .header_inner .header_R .language a.on { opacity: 1; } header .header_inner .header_R .language a:first-child::after { content: ""; display: inline-block; width: 1px; height: 12px; background-color: #000; opacity: 0.8; margin-left: 10px; } header .header_inner .header_R .language::before { content: ""; display: inline-block; width: 16px; height: 16px; margin-top: 4px; background-image: url(../img/ico_language.svg); background-position: center; background-repeat: no-repeat; translate: 0 2px; } header .header_inner .header_R .btn_menu { cursor: pointer; height: fit-content; margin-left: auto; padding: 8px; width: 32px; height: 32px; position: relative; } header .header_inner .btn_menu div { width: 24px; height: 2px; position: absolute; right: 4px; border-radius: 4px; background-color: #000; transition: 0.2s; } header .header_inner .btn_menu div:nth-child(1) { top: 7px; } header .header_inner .btn_menu div:nth-child(2) { top: 15px; width: 16px; } header .header_inner .btn_menu div:nth-child(3) { bottom: 7px; } /* 메뉴 임시 숨김 처리 (패키지 S/W · 서비스 S/W · 홍보센터만 노출) */ header .header_inner nav ol li.depth1.menu_hidden, header .sitemap nav ol li.depth1.menu_hidden, footer .footer_inner nav ol li.depth1.menu_hidden { display: none; } header .sitemap .popup_contents_wrap { display: flex; flex-direction: column; } header .sitemap .popup_header { width: 100%; max-width: 100%; min-height: 92px; padding: 0 144px 0 160px; border-bottom: 1px solid #ccc; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; background-color: #fff; z-index: 1; } header .sitemap .logo_box { display: inline-flex; align-items: center; } header .sitemap .btn_close { height: 92px; width: 64px; position: initial; } header .sitemap .btn_close i { display: block; position: relative; height: 70%; width: auto; aspect-ratio: 1/1; margin: 0 auto; } header .sitemap .btn_close i::after, header .sitemap .btn_close i::before { content: ""; background-color: #000; position: absolute; width: 50%; height: 2px; } header .sitemap .btn_close i::after { transform-origin: top left; top: 30%; left: 32%; animation: btn-close-ico1 0.35s ease both; } header .sitemap .btn_close i::before { transform-origin: bottom left; top: 65.3%; left: 32%; animation: btn-close-ico2 0.35s ease both; } header .sitemap .btn_close:hover { background: transparent; } header .sitemap nav { width: 100%; max-width: 100%; height: 100%; margin: 0 auto; text-align: left; overflow-x: hidden; overflow-y: auto; background-color: #fff; padding: 0 160px 0 240px; } header .sitemap nav ol { width: 100%; height: 100%; display: grid; grid-auto-rows: minmax(auto, 160px); align-content: center; align-items: center; position: relative; } header .sitemap nav ol::before { position: absolute; content: ""; width: 30%; height: 100%; top: 0; right: 80%; background: linear-gradient(90deg, transparent 0%, #006aff 100%); opacity: 0.05; pointer-events: none; } header .sitemap nav ol li.depth1 { display: grid; grid-template-columns: 1fr 4fr; align-content: stretch; align-items: center; height: 100%; opacity: 0.5; } header .sitemap nav ol li.depth1 span { font-size: 28px; font-weight: 700; } header .sitemap nav ol li.depth1 span em { display: block; font-size: 20px; font-weight: 400; } header .sitemap nav ol li.depth1 ul.depth2 { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; height: 100%; font-size: 18px; padding-left: 80px; border-bottom: 1px solid #eee; } header .sitemap nav ol li.depth1 ul.depth2 > li > a { opacity: 1; } header .sitemap nav ol li.depth1 ul.depth2 li { padding: 16px 0; width: 80%; } header .sitemap nav ol li.depth1 ul.depth2 li a { width: 100%; height: 100%; display: block; } header .sitemap nav ol li.depth1 ul.depth2 li.has_depth3 { width: 100%; } header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(0, 0, 0, 0.08); font-size: 14px; opacity: 0.75; width:80% } header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3, header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 { display: flex; flex-direction: column; gap: 24px; } header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3 > a, header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 > a { width:auto; margin-top: 2px; line-height: 100%; } header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3 ul.depth3, header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 ul.depth3 { border-top: none; margin-top: 0; padding-top: 0; opacity: 1; color: #7f7f7f; font-size: 18px; letter-spacing: -0.36px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-template-rows: repeat(3, auto); column-gap: 20px; row-gap: 12px; } header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 li { width: 100%; padding: 0; } header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 li a { display: block; line-height: 1.2; } header .sitemap nav ol li.depth1:last-child ul.depth2 li i { display: inline-block; width: 14px; height: 14px; background: no-repeat center/contain; margin-left: 4px; translate: 0 1px; background-color: #000; -webkit-mask-image: url(../img/ico_more.svg); mask-image: url(../img/ico_more.svg); background-size: cover; -webkit-background-size: cover; mask-size: contain; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; } header .sitemap nav ol li.depth1 ul.depth2 li:hover { color: var(--color-primary); font-weight: 700; } header .sitemap nav ol li.depth1 ul.depth2 li:hover i { background-color: var(--color-primary); } header .sitemap nav ol li.depth1:hover { opacity: 1; } /* --------------------------------- */ /* 사이트맵 인재채용 바로가기 (nav.html .nav-recruit) */ /* --------------------------------- */ header .sitemap nav ol li.depth1.nav-recruit > ul.depth2 { display: grid; } @media (max-width: 1400px) { header .sitemap nav ol li.depth1.nav-recruit > ul.depth2 { display: block; max-height: none; } } /* --- 오픈형 메뉴 */ /* --- 버튼형 메뉴 */ /* --- 사이트맵 */ @keyframes btn-close-ico1 { from { transform: rotate(0); } to { transform: rotate(45deg); } } @keyframes btn-close-ico2 { from { transform: rotate(0); } to { transform: rotate(-45deg); } } /* 공통적용 - 푸터 footer */ footer { width: 100%; background-color: #071933; color: #fff; font-size: 18px; color: #fff; position: relative; z-index: 10; } .recruit + footer .nav { display: none; } footer .footer_inner { width: 100%; height: 100%; display: flex; flex-direction: row; justify-content: flex-start; align-items: stretch; gap: 0px; position: relative; padding: 40px 160px 50px; overflow: hidden; } footer .footer_inner nav { flex: 0 0 900px; width: 900px; } footer .footer_inner nav ol { width: 100%; display: flex; justify-content: space-between; } html[lang="en"] footer .footer_inner{ gap: 80px; } html[lang="en"] footer .footer_inner nav ol{ justify-content: left; gap: 40px; } html[lang="en"] footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown{ width: auto; } html[lang="en"] footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 li{ width: 150px; } html[lang="en"] footer .footer_inner .footer_info .home{ margin-bottom: 36px; } footer .footer_inner nav ol li.depth1 { display: flex; flex-direction: column; gap: 32px; position: relative; height: max-content; } footer .footer_inner nav ol li.depth1 span { font-size: 16px; font-weight: 700; white-space: nowrap; position: relative; } footer .footer_inner nav ol li.depth1 span::after { content: ""; position: absolute; bottom: -20px; display: block; width: 24px; height: 2px; background-color: #fff; } footer .footer_inner nav ol li.depth1 span em { display: block; opacity: 0.5; font-size: 14px; font-weight: 400; white-space: nowrap; } footer .footer_inner nav ol li.depth1 span i { display: inline-block; width: 16px; height: 16px; background: url(../img/ico_more.svg) no-repeat center/contain; margin-left: 4px; translate: 0 1px; filter: invert(1); } footer .footer_inner nav ol li.depth1:last-child { padding-left: 48px; } footer .footer_inner nav ol li.depth1:last-child::before { content: ""; position: absolute; width: 1px; height: 100%; border-left: 1px dashed #fff; margin-left: -48px; opacity: 0.5; } footer .footer_inner nav ol li.depth1:last-child span::after, footer .footer_inner nav ol li.depth1:last-child ul.depth2 { display: none; } footer .footer_inner nav ol li.depth1 ul.depth2 { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 400; letter-spacing: -0.32px; line-height: normal; } footer .footer_inner nav ol li.depth1 ul.depth2 li.has_depth3 { display: flex; flex-direction: column; gap: 12px; } footer .footer_inner nav ol li.depth1 ul.depth2 li a { display: block; opacity: 0.8; white-space: nowrap; transition: opacity 0.2s ease; } footer .footer_inner nav ol li.depth1 ul.depth2 li a:hover { opacity: 1; /* font-weight 대신 text-shadow로 굵어 보이게 처리 (박스 크기에 영향 없어 옆 항목이 밀리지 않음) */ text-shadow: 0 0 0.4px currentColor; } /* 패키지 S/W · 서비스 S/W : 제품명 라벨(EG-BIM, TOVA, GAIA, KNGIL)을 좌측에 두고 우측 3열 그리드가 나란히 노출 (Figma node 12225:1056 기준) */ footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown { gap: 12px; width: max-content; } footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown li.has_depth3 { flex-direction: row; align-items: flex-start; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2) inset; } footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown li.has_depth3:last-child { padding-bottom: 0; border-bottom: none; box-shadow: none; } footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown li.has_depth3 > a { display: block; flex: 0 0 auto; min-width: 80px; font-size: 16px; letter-spacing: -0.32px; box-shadow: none; } footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 { display: grid; grid-template-columns: repeat(2, auto); column-gap: 12px; row-gap: 4px; flex: 1 1 auto; font-size: 14px; letter-spacing: -0.28px; line-height: normal; } /* EG-BIM/TOVA/GAIA/KNGIL이 각각 별도의 grid 컨테이너라 grid-template-columns:auto가 행마다 콘텐츠 기준으로 따로 계산되어 열 경계가 어긋났음(정렬 오류). 한국어판은 열 너비를 고정해 모든 행에서 동일한 위치에 정렬되도록 함. */ html[lang="ko"] footer .footer_inner nav ol li.depth1 ul.depth2.package_sw_dropdown { width: 280px; } html[lang="ko"] footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 { grid-template-columns: 70px 110px; } footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 li { opacity: 0.8; text-align: left; } footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3:hover li{ opacity: 1; } footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 li a { display: block; text-align: left; font-size: 14px; word-break: keep-all; } /* footer에서만 "EG-BIM 소개" 등 소프트웨어명 접두어를 감추고 "소개"만 표시 */ footer .footer_inner nav ol li.depth1 ul.depth2 li ul.depth3 li a .sw_name { display: none; } /* 헤더 드롭다운·사이트맵 팝업에서도 footer와 동일하게 "EG-BIM 소개" 등 소프트웨어명 접두어를 감추고 "소개"만 표시 */ header .header_inner .package_sw_dropdown .depth3 a .sw_name, header .sitemap .package_sw_dropdown .depth3 a .sw_name { display: none; } footer .footer_inner .family_wrap { position: absolute; right: 160px; bottom: 50px; display: flex; height: max-content; width: 194px; } footer .footer_inner .family_wrap .family_btn { background: rgba(255, 255, 255, 0.08); color: #fff; font-size: 14px; font-weight: 700; opacity: 0.8; padding: 7px 14px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; width: 100%; max-width: 500px; height: 34px; border-radius: 4px; } footer .footer_inner .family_wrap .family_btn i { width: 12px; height: 12px; background: url(../img/ico_angle.svg) no-repeat center/contain; transform: scaleY(-1); transition: 0.2s; } footer .footer_inner .family_wrap:has(.family_on) .family_btn i { transform: scaleY(1); } footer .footer_inner .family_wrap .family_list { background: #fff; width: 100%; border-radius: 4px 4px 0 0; padding: 0 10px; box-sizing: border-box; box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1333333333); display: none; position: absolute; bottom: 100%; } footer .footer_inner .family_wrap .family_list.family_on { display: block; z-index: 10000; } footer .footer_inner .family_wrap .family_list li { padding: 6px 0; border-bottom: 1px solid #ddd; color: #777; width: 100%; display: block; font-size: 12px; } footer .footer_inner .family_wrap .family_list li a:hover { color: #000; font-weight: 500; } footer .footer_inner .footer_info { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; flex: 0 0 408px; width: 408px; letter-spacing: 0; } footer .footer_inner .footer_info .home { display: inline-block; width: 250px; height: 34px; margin-top: 32px; margin-bottom: 74px; background-image: url(../img/logo_w.svg); background-repeat: no-repeat; background-size: contain; background-position: left center; color: transparent; } footer .footer_inner .footer_info span { display: block; font-size: 16px; letter-spacing: -0.64px; white-space: nowrap; } footer .footer_inner .footer_info span em { padding-right: 4px; font-weight: 400; opacity: 0.5; } footer .footer_inner .footer_contact { display: flex; align-items: center; gap: 16px; margin-top: 16px; } footer .footer_inner .footer_info > span:first-of-type { margin-top: 16px; } footer .footer_inner .footer_info .copyright { margin-top: 16px; font-size: 14px; letter-spacing: 0; } /* 데스크톱 풋터: nav를 전체 폭 상단 행으로, footer_info(로고·주소·연락처·저작권·Family Site)를 구분선 아래 한 줄 하단 바로 배치한다(로그인 여부와 무관). 모바일은 기존 풋터 스타일을 사용한다. */ @media (min-width: 1401px) { footer .footer_inner { flex-direction: column; align-items: stretch; gap: 32px; padding: 40px 160px 0; } footer .footer_inner nav { order: 1; flex: 1 1 auto; width: 100%; } footer .footer_inner nav ol { gap: 28px; } footer .footer_inner .footer_info { order: 2; flex-direction: row; align-items: center; justify-content: flex-start; flex: none; flex-wrap: wrap; width: 100%; gap: 16px; padding: 20px 0; border-top: 1px solid rgba(255, 255, 255, 0.3); } footer .footer_inner .footer_info .home { width: 150px; height: 22px; margin: 0 16px 0 0; } footer .footer_inner .footer_info > span:first-of-type { margin-top: 0; } footer .footer_inner .footer_contact { display: contents; } footer .footer_inner .footer_contact span::before { content: ""; display: inline-block; width: 1px; height: 14px; margin-right: 16px; vertical-align: middle; background: rgba(255, 255, 255, 0.3); } footer .footer_inner .footer_info .copyright { margin-top: 0; margin-left: auto; } footer .footer_inner .family_wrap { position: relative; right: auto; bottom: auto; margin-left: 16px; } } /* /@media (min-width: 1401px) 풋터 PC 전용 */ footer .btn_top { position: fixed; bottom: 80px; right: max(60px, (100vw - 1920px) / 2 + 60px); border-radius: 50%; z-index: 100; width: 60px; height: 60px; background-color: #071933; cursor: pointer; transition: bottom 0.3s ease-out; } footer .btn_top::after { position: absolute; content: ""; top: 12px; left: calc(50% - 15px); width: 30px; height: 2px; background-color: #fff; } footer .btn_top .arrow { width: 2px; height: 32px; background-color: #fff; position: absolute; bottom: 6px; left: 50%; } footer .btn_top .arrow::after, footer .btn_top .arrow::before { position: absolute; content: ""; width: 16px; height: 2px; background-color: #fff; top: 6px; left: 50%; } footer .btn_top .arrow::after { transform: translateX(calc(-50% + 6px)) rotate(45deg); } footer .btn_top .arrow::before { transform: translateX(calc(-50% - 6px)) rotate(-45deg); } @media (hover: hover) { footer .btn_top:hover::after { transition: 0.2s; padding: 0; } footer .btn_top:hover .arrow { transition: 0.2s; padding: 0; bottom: 12px; } footer .btn_top:hover .arrow::after, footer .btn_top:hover .arrow::before { transition: 0.2s; padding: 0; } } /* 공통적용 - 상단 브래드크럼 map_list */ /* 250604추가💦 */ .map_list { display: flex; align-items: center; position: fixed; right: 0; top: 124px; z-index: 99; color: rgb(255, 255, 255); width: max-content; height: 0px; padding-right: 160px; font-size: 14px; margin-left: auto; mix-blend-mode: difference; transition: top 0.3s; } .map_list li { opacity: 0.5; } .map_list li i.home { width: 14px; height: 14px; background: url("../img/ico_home.svg") no-repeat center center/contain; } .map_list li.on { opacity: 1; } .map_list li:not(:first-child)::before { content: "/"; display: inline-block; margin: 0 12px; font-size: 12px; translate: 0 -2px; } header .map_list { position: absolute; top: 100%; right: 0; } /* 여기서부터 개별페이지 */ /* --------------------------------- */ /* ! 인덱스 index */ /* --------------------------------- */ .index section { width: 100%; height: 100vh; background-color: #222; color: #fff; display: flex; justify-content: center; align-items: center; font-size: 40px; } body:has(.index) footer { position: absolute; bottom: 0; height: 120px; z-index: 1; background-color: rgba(0, 0, 0, 0.6666666667); display: none; } body:has(.index) footer .footer_inner nav, body:has(.index) footer .btn_top { display: none; } /* --------------------------------- */ /* ! 인재채용 recruit */ /* --------------------------------- */ header#header_recruit .logo_box { display: inline-flex; align-items: center; gap: 20px; } header#header_recruit .logo_box a.logo { height: 100%; background-size: contain; display: block; color: transparent; } header#header_recruit .logo_box a.recruit { position: relative; font-size: 16px; color: #244680; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; } header#header_recruit .logo_box a.recruit::before { content: " "; position: absolute; display: block; left: -10px; top: 10%; width: 1px; height: 80%; opacity: 0.5; background: #0c367f; } header#header_recruit .btn_menu { display: none; } #header_recruit > .header_inner.corp, #header_recruit > .sitemap { display: none; } .recruit + #footer .family_wrap { display: none; } .sub_inner { width: 100%; max-width: 1320px; margin: auto; } /* media query */ @media all and (max-width: 1700px) { footer .footer_inner { padding: 40px 60px 50px; } } @media all and (max-width: 1400px) { html { min-width: 100%; } .wrap { min-width: 100%; } header { height: 50px; border-bottom: none; } /* index/dx 페이지는 어두운 히어로 위에 떠 있는 헤더라 투명 + 흰색 아이콘을 유지 */ body:has(.index, .dx) header { background: none; } header.open, header.open:hover { background: #fff; } header .header_inner { padding: 0 24px; } header .header_inner .logo_box a.logo { width: 36px; -webkit-mask-image: url(../img/logo.svg); mask-image: url(../img/logo.svg); background-color: #0c367f; } body:has(.index, .dx) header .header_inner .logo_box a.logo { background-color: #fff; } body:has(.index, .dx) header:hover .header_inner .logo_box a.logo, header:hover .header_inner .logo_box a.logo, header.open .header_inner .logo_box a.logo { background-color: #0c367f; } header .header_inner nav, header#header_recruit .header_inner.recruit .nav_wrap nav, header#header_recruit .btn_corp { display: none; } body:has(.index, .dx) header:not(.open) .header_inner .btn_menu div { background-color: #fff; } header:not(.open):hover .header_inner .btn_menu div { background-color: #000; } body:has(.index, .dx) header .header_inner .header_R .language::before { background-image: url(../img/ico_language_w.svg); } body:has(.index, .dx) header .header_inner .header_R .language a { color: #fff; } body:has(.index, .dx) header .header_inner .header_R .language a:first-child::after { background-color: #fff; } header:hover .header_inner .header_R .language::before, header.open .header_inner .header_R .language::before { background-image: url(../img/ico_language.svg); } header:hover .header_inner .header_R .language a, header.open .header_inner .header_R .language a { color: #000; } header:hover .header_inner .header_R .language a:first-child::after, header.open .header_inner .header_R .language a:first-child::after { background-color: #000; } /* 인재채용 */ header#header_recruit .btn_menu { display: block; width: 32px; height: 32px; position: relative; } header#header_recruit .logo_box { align-items: end; height: 18px; margin-top: 6px; } header#header_recruit .nav_wrap .logo_box a.logo { display: none; } header#header_recruit .nav_wrap .logo_box a.recruit { width: 36px; text-indent: -9999px; overflow: hidden; -webkit-mask-image: url(../img/logo.svg); mask-image: url(../img/logo.svg); background-size: cover; -webkit-background-size: cover; mask-size: contain; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; background-color: #fff; } header#header_recruit.open .nav_wrap .logo_box a.recruit, header#header_recruit:hover .nav_wrap .logo_box a.recruit { background-color: #0c367f; } header#header_recruit .logo_box a.recruit::before { content: none; } /* 모바일 메뉴 */ .popup_wrap.sitemap { background-color: rgba(0, 0, 0, 0.6); height: 100vh; z-index: 1; } header .sitemap .popup_contents_wrap { width: 84.4444%; max-width: 640px; justify-self: end; min-width: 304px; position: fixed; top: 0; right: 0; height: 100vh; } header .sitemap .popup_header { background: var(--baron_C); min-height: 50px; height: 50px; max-height: 50px; padding: 0 0 0 16px; overflow: hidden; } header .sitemap .logo_box a.logo { width: 133px; background-color: #fff; } header .sitemap .btn_close i::after, header .sitemap .btn_close i::before { background-color: #fff; } header .sitemap .btn_close { height: 64px; transform: scale(0.93); } header .sitemap nav { padding: 0; height: calc(100vh - 50px); overflow-y: auto; } header .sitemap nav ol { display: block; align-content: baseline; padding-top: 8px; padding-bottom: 80px; height: auto; } header .sitemap nav ol::before { content: none; } header .sitemap nav ol li.depth1 { display: block; height: auto; opacity: 1; } header .sitemap nav ol li.depth1 { padding-bottom: 16px; } header .sitemap nav ol li.depth1 span { position: relative; display: block; color: rgba(0, 0, 0, 0.8); padding: 0 24px 14px 24px; font-size: 20px; cursor: pointer; font-weight: 400; } header .sitemap nav ol li.depth1 > span::after { content: " "; position: absolute; right: 25px; top: 30%; width: 10px; height: 10px; border-left: 1.5px solid rgba(0, 0, 0, 0.8); border-top: 1.5px solid rgba(0, 0, 0, 0.8); transform: rotate(-135deg); transition: transform 0.3s ease-out; } header .sitemap nav ol li.depth1.active > span::after { transform: rotate(45deg); top: 40%; } header .sitemap nav ol li.depth1 span em { font-size: 14px; color: rgba(0, 0, 0, 0.5); opacity: 0; transition: opacity 0.2s ease-in; } /* 모바일 사이트맵: 1뎁스 제목 오른쪽 아이콘은 숨김(2뎁스 '인재채용 바로가기' 아이콘은 유지) */ header .sitemap nav ol li.depth1:last-child span i { display: none; float: right; width: 20px; height: 20px; background: url(../img/ico_more.svg) no-repeat center / contain; } header .sitemap nav ol li.depth1 ul.depth2 { display: block; padding: 0; background: #f9f9f9; max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; border-bottom: none; } header .sitemap nav ol li.depth1 ul.depth2 li{ padding: 16px 28px; border-bottom: 1px solid rgba(0, 0, 0, 0); border-top: 1px solid rgba(0, 0, 0, 0.05); font-size: 16px; opacity: 0.6; width: 100%; } header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 { gap: 10px; margin-top: 12px; padding-top: 12px; font-size: 14px; opacity: 1; } header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3 > a, header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 > a{ width: auto; min-width: auto; padding-right: 0; border-right: 0; opacity: 1; } header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3, header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3{ flex-direction: column; gap: 8px; } header .sitemap nav ol li.depth1:nth-child(4) ul.depth2 li.has_depth3 ul.depth3, header .sitemap nav ol li.depth1:nth-child(5) ul.depth2 li.has_depth3 ul.depth3{ gap: 4px; grid-auto-flow: row; } header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 li { padding: 0; border: 0; font-size: 14px; opacity: 0.7; } header .sitemap nav ol li.depth1 ul.depth2 li ul.depth3 li:hover { opacity: 1; } header .sitemap nav ol li.depth1 ul.depth2 li:hover { opacity: 1; } /* 인재채용 모바일 메뉴 */ header#header_recruit .popup_header .blind { position: relative; display: block; text-indent: 0; height: auto; font-size: 12px; color: #fff; overflow: visible; } header#header_recruit .popup_header .blind::before { content: " "; width: 1px; height: 80%; top: 10%; left: -10px; position: absolute; opacity: 0.5; background: #fff; } header#header_recruit .sitemap nav ul { display: flex; flex-direction: column; height: calc(100vh - 50px); } header#header_recruit .sitemap nav ul li.depth1 { padding: 20px 24px; font-size: 20px; letter-spacing: -0.04em; border-bottom: 1px solid rgba(0, 0, 0, 0.1); } header#header_recruit .sitemap nav ul li.depth1 span { position: relative; display: block; } header#header_recruit .sitemap nav ul li.depth1 span a::after { content: " "; position: absolute; right: 25px; top: 25%; width: 10px; height: 10px; border-left: 1.5px solid rgba(0, 0, 0, 0.8); border-top: 1.5px solid rgba(0, 0, 0, 0.8); transform: rotate(135deg); transition: transform 0.3s ease-out; } header#header_recruit .sitemap nav ul li.depth1:hover span a, header#header_recruit .sitemap nav ul li.depth1:hover span a::after { color: var(--baron_C); border-color: var(--baron_C); } footer .footer_inner { display: flex; flex-direction: column-reverse; justify-content: flex-start; align-items: flex-start; padding: 38px 24px 44px; } footer .footer_inner .nav { display: none; } footer .footer_inner .footer_info { display: flex; flex-direction: row; align-items: flex-start; flex-wrap: wrap; flex: 0 0 auto; gap: 10px; width: 100%; } footer .footer_inner .footer_contact { display: contents; } footer .footer_inner .footer_info > span:first-of-type { margin-top: 0; } footer .footer_inner .footer_info span{ white-space: normal; word-break: break-word; } footer .footer_inner .footer_info .logo { width: 100%; } footer .footer_inner .footer_info .home { margin-bottom: 16px; } footer .footer_inner .footer_info h1 { width: 192px; height: 26px; background-size: 100% auto; margin-bottom: 16px; } footer .footer_inner .family_wrap { position: static; width: 100%; max-width: 360px; } footer .footer_inner .family_wrap .family_btn { height: 36px; border-radius: 4px; } footer .footer_inner .family_wrap .family_list { border-radius: 4px 4px 0 0; } footer .footer_inner .family_wrap .family_list.family_on { top: auto; bottom: 36px; } footer .footer_inner .footer_info span { font-size: 14px; font-weight: 400; } footer .footer_inner .footer_info .copyright { display: block; margin: auto; width: 100%; font-size: 12px; } .map_list { padding-right: 24px; top: 74px; } footer .footer_inner .footer_info { flex-wrap: nowrap; flex-direction: column; } footer .footer_inner .family_wrap { max-width: 100%; } footer .btn_top { width: 40px; height: 40px; right: max(40px, (100vw - 1920px) / 2 + 60px); } footer .btn_top::after { width: 20px; top: 6px; left: calc(50% - 10px); } footer .btn_top::before{ display: none; } footer .btn_top .arrow { height: 22px; } footer .btn_top .arrow::after, footer .btn_top .arrow::before { width: 12px; top: 4px; } footer .btn_top .arrow::before { transform: translateX(calc(-50% - 5px)) rotate(-45deg); } footer .btn_top .arrow::after { transform: translateX(calc(-50% + 4px)) rotate(45deg); } } @media all and (max-width: 768px) { .map_list li:not(:first-child):not(.on) { font-size: 0; } .map_list li:not(:first-child):not(.on)::after { content: ".."; font-size: 14px; } } /* --------------------------------- */ /* S/W 문의 바로가기 (헤더 언어 선택 앞) */ /* --------------------------------- */ header .header_inner .header_qa_button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 4px; height: 30px; padding: 0 12px; margin-top: 2px; margin-right: 24px; border: 1px solid #ccc; border-radius: 999px; background: transparent; color: #000; font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap; text-decoration: none; transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; } header .header_inner .header_qa_button svg { display: block; width: 16px; height: 16px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; } header .header_inner .header_qa_button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; } /* index/dx 히어로 위 투명 헤더: 언어 선택과 같은 흰색, 헤더 호버/열림 시 검정 */ body:has(.index, .dx) header .header_inner .header_qa_button { color: #fff; border-color: #ffffff66; } body:has(.index, .dx) header:hover .header_inner .header_qa_button, body:has(.index, .dx) header.open .header_inner .header_qa_button { color: #000; border-color: #ccc; } header .header_inner .header_R .header_qa_button:is(:hover, :focus-visible) { color: #006aff; border-color: #91beff; background: #f2f7ff; } @media (min-width: 1401px) and (max-width: 1700px) { header .header_inner.corp:has(.header_qa_button) { padding: 0 48px; gap: 32px; } } @media (max-width: 600px) { /* 로고와 버튼 묶음 사이 간격(기본 80px)을 줄여 햄버거 버튼이 화면 밖으로 밀리지 않게 한다(★최종 기준 16px) */ header .header_inner.corp:has(.header_qa_button) { gap: 16px; } header .header_inner .header_qa_button { height: 28px; padding: 0 6px; margin-right: 12px; font-size: 12px; } header .header_inner .header_qa_button svg { width: 14px; height: 14px; } } @media (max-width: 380px) { header .header_inner.corp:has(.header_qa_button) { padding: 0 12px; gap: 8px; } header .header_inner .header_qa_button { margin-right: 6px; font-size: 11px; gap: 3px; } header .header_inner .header_R:has(.header_qa_button) .language { padding-right: 6px; } header .header_inner .header_R:has(.header_qa_button) .language a { padding: 0 3px; font-size: 14px; } header .header_inner .header_R:has(.header_qa_button) .language a:first-child::after { margin-left: 6px; } }