/* hq-header.css — 본사 sub.css에서 header 스코프 규칙만 추출(laser 하위페이지 전용). 원본: css/sub.css */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
/* 부산 계열 페이지에는 본사 전역 리셋(*)이 없어 헤더 범위만 최소 리셋 */
header, header * {margin:0;padding:0;border:0;box-sizing:border-box;}
header ul {list-style:none;}
header a {text-decoration:none;color:inherit;}
header img {vertical-align:middle;}
header {position: fixed; top: 0; left: 0; width: 100%; height: 90px; background-color: #fff; box-shadow: 0px 10px 15px rgba(0,0,0,0.1); z-index: 1000; overflow: visible !important;}
header .inner {position: relative; max-width: 1820px; width: 100%; height: 90px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center;}
header .inner .gnb {display: flex; padding-top: 50px;}
header .inner .gnb > li {height: 40px; border-radius: 10px;}
header .inner .gnb > li > a {display: block; padding: 0 20px; height: 100%; font-size: 16px; font-weight: 400; color: #808080; line-height: 38px; text-align: center; letter-spacing: -1px; border-radius: 10px;}
header .inner .right {display: flex; align-items: flex-end; flex-direction: column; gap: 15px; width: 210px;}
header .inner .gnb ul {padding-top: 15px; padding-bottom: 100px; display: none; opacity: 0;}
header .inner .gnb ul li {width: auto; height: 40px; border-radius: 10px; margin-top: 15px;}
header .inner .gnb ul li:first-child {margin-top: 0;}
header .inner .gnb ul li a {display: block; width: 100%; height: 100%; font-size: 16px; font-weight: 400; color: #808080; line-height: 40px; text-align: center; font-size: 14px; color: #232323; letter-spacing: -1px; border-radius: 10px;}
header .inner .gnb > li:hover > a {background-color: #1a1a1a; color: #fff;}
header .inner .gnb ul li:hover a {background-color: #fbb03b;}
header .inner .right .top_log {display: flex; gap: 20px; align-items: center;}
header .inner .right .top_log a {font-size: 12px; position: relative; top: -1px;}
header .inner .right .top_log span {width: 1px; height: 14px; background-color: #1a1a1a;}
header .lang_btn {position: absolute; top: 6px; right: 174px; padding: 0 10px; font-size: 14px; border: 1px solid #ff8c00; border-radius: 10px; color: #ff8c00;}
header .inner .right .header_select {
    position: relative;
    width: 100%;
    height: 40px;
    font-family: 'Noto Sans KR', sans-serif;
    max-width: 160px;
    padding-bottom: 3px;
}
header .inner .right .header_select .select-trigger {
    width: 100%;
    height: 100%;
    cursor: pointer;
    border-radius: 12px;
    background: linear-gradient(135deg, #fbb03b 0%, #ff8c00 100%);
    box-shadow: 0 4px 15px rgba(251, 176, 59, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    position: relative;
}
header .inner .right .header_select .select-trigger::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}
header .inner .right .header_select .select-trigger:hover::before {
    left: 100%;
}
header .inner .right .header_select .select-trigger:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(251, 176, 59, 0.4);
}
header .inner .right .header_select .select-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    height: 100%;
    color: #fff;
}
header .inner .right .header_select .location-icon {
    color: #fff;
    margin-right: 8px;
    transition: transform 0.3s ease;
}
header .inner .right .header_select .select-text {
    font-size: 14px;
    font-weight: 500;
    flex: 1;
    text-align: center;
}
header .inner .right .header_select .arrow-icon {
    color: #fff;
    transition: transform 0.3s ease;
}
header .inner .right .header_select.on .arrow-icon {
    transform: rotate(180deg);
}
header .inner .right .header_select .select-dropdown {
    position: absolute;
    top: 48px;
    left: 0;
    width: 100%;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1000;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
}
header .inner .right .header_select.on .select-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
header .inner .right .header_select .dropdown-header {
    padding: 16px 20px 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}
header .inner .right .header_select .dropdown-header span {
    font-size: 12px;
    color: #6c757d;
    font-weight: 500;
}
header .inner .right .header_select .branch-list {

}
header .inner .right .header_select .branch-item {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: all 0.2s ease;
}
header .inner .right .header_select .branch-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    position: relative;
}
header .inner .right .header_select .branch-content::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(135deg, #fbb03b 0%, #ff8c00 100%);
    transform: scaleY(0);
    transition: transform 0.2s ease;
}
header .inner .right .header_select .branch-item:hover .branch-content::before {
    transform: scaleY(1);
}
header .inner .right .header_select .branch-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
header .inner .right .header_select .branch-name {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    transition: color 0.2s ease;
}
header .inner .right .header_select .branch-status {
    font-size: 11px;
    color: #28a745;
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 4px;
}
header .inner .right .header_select .branch-status::before {
    content: '';
    width: 6px;
    height: 6px;
    background: #28a745;
    border-radius: 50%;
    display: inline-block;
}
header .inner .right .header_select .branch-arrow {
    color: #6c757d;
    transition: all 0.2s ease;
}
header .inner .right .header_select .branch-item:hover {
    background: linear-gradient(135deg, rgba(251, 176, 59, 0.05) 0%, rgba(255, 140, 0, 0.05) 100%);
}
header .inner .right .header_select .branch-item:hover .branch-name {
    color: #fbb03b;
    font-weight: 600;
}
header .inner .right .header_select .branch-item:hover .branch-arrow {
    color: #fbb03b;
    transform: translateX(4px);
}
header .inner .right .header_select .branch-list::-webkit-scrollbar {
    width: 4px;
}
header .inner .right .header_select .branch-list::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 2px;
}
header .inner .right .header_select .branch-list::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #fbb03b 0%, #ff8c00 100%);
    border-radius: 2px;
}
@media (max-width: 1550px) {
header .inner .right .header_select .select-text {
        font-size: 12px;
    }
header .inner .right .header_select .branch-name {
        font-size: 13px;
    }
}
@media (max-width: 1240px) {
header .inner .right .header_select .select-text {
        font-size: 11px;
    }
header .inner .right .header_select .branch-name {
        font-size: 12px;
    }
}
header .inner .right .header_select .branch-item.clicked {
    transform: scale(0.98);
    transition: transform 0.1s ease;
}
header .inner .right .header_select .branch-item.hover {
    background: linear-gradient(135deg, rgba(251, 176, 59, 0.08) 0%, rgba(255, 140, 0, 0.08) 100%);
}
header .inner .right .header_select .select-trigger:focus {
    outline: 2px solid #fbb03b;
    outline-offset: 2px;
}
header .inner .right .header_select .branch-item:focus {
    outline: 2px solid #fbb03b;
    outline-offset: -2px;
}
header .inner .right .header_select.loading .select-trigger {
    opacity: 0.7;
    pointer-events: none;
}
header .inner .right .header_select.loading .select-trigger::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 16px;
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    transform: translateY(-50%);
}
header .header_slide_inner {position: absolute; bottom: 50px; left: 60%; transform: translateX(-50%); max-width: 950px; width: 100%; visibility: visible; opacity: 0;}
header .header_slide_inner .header_slide {max-width: 885px; width: 100%; margin: 0 auto;}
header .header_slide_inner .header_slide a {display: block; width: 210px; height: 120px;}
header .header_slide_inner .header_slide a img {width: 100%; height: 100%; object-fit: cover;}
header .header_slide_inner > img {position: absolute; top: 50%; transform: translateY(-50%); width: 20px; cursor: pointer;}
header .header_slide_inner .header_prev {left: 0;}
header .header_slide_inner .header_next {right: 0;}
@media(max-width:1850px) {
header .inner {padding: 0 16px;}
}
@media(max-width:1550px) {
header .inner .gnb > li > a {font-size: 14px;}
header .inner .gnb ul li a {font-size: 12px;}
header .inner .right {width: 160px;}
header .inner .right .header_select div h2 {font-size: 12px;}
header .inner .right .header_select ul li a p {font-size: 12px; position: relative; top: -1px;}
}
@media(max-width:1440px) {
header .inner .gnb > li > a {padding: 0 14px;}
}
@media(max-width:1350px) {
header .inner h1 a img {width: 100px}
header .inner .right {width: 140px;}
header .header_slide_inner {max-width: 850px;}
header .header_slide_inner .header_slide {max-width: 765px;}
}
@media(max-width:1240px) {
header .inner h1 a img {width: 80px; position: relative; top: 10px;}
header .inner .gnb > li > a {font-size: 12px; padding: 0 12px;}
header .inner .right {width: 140px;}
header .inner .right .header_select div h2 {font-size: 11px;}
header .inner .right .header_select ul li a p {font-size: 11px; position: relative; top: -1px;}
}
@media(max-width:1200px) {
header .inner .gnb > li > a {font-size: 11px; padding: 0 10px;}
header .inner .gnb ul li a {font-size: 10px;}
header .inner .right {width: 110px;}
header .inner .right .header_select .select-text {font-size: 12px;}
header .inner .right .header_select .branch-name {font-size: 11px;}
}
@media(max-width:1100px) {
header .inner .right {width: 120px;}
header .inner .right .header_select ul li a {gap: 10px;}
}
header, header * {font-family:'Noto Sans KR','Malgun Gothic',sans-serif;}
/* 하위페이지엔 배너 슬라이드 레이아웃 규칙(.header_slide 등 비-header 접두사)이 없어
   배너가 드롭다운 3번째 항목 위로 올라와 클릭을 가로챔 → 하위페이지에서는 배너 숨김 */
header .header_slide_inner {display: none !important;}
/* 드롭다운 링크를 오버레이(배너·위젯)보다 항상 위로 */
header .inner .gnb ul {position: relative; z-index: 5;}

/* ── 본사 푸터+하단 상담바(bottom_fix) — sub.css에서 footer/.bottom_fix/.top_btn/.bottom_bg 스코프만 추출 ── */
footer, footer *, .bottom_fix, .bottom_fix *, .top_btn, .top_btn * {margin:0;padding:0;border:0;box-sizing:border-box;}
footer ul, .bottom_fix ul {list-style:none;}
footer a, .bottom_fix a {text-decoration:none;color:inherit;}
.bottom_bg {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.1; z-index: 1001; display: none; cursor: pointer;}
.top_btn {position: fixed; left: 15px; bottom: 60px; z-index: 100; display: flex; align-items: center; gap: 15px; cursor: pointer;}
.top_btn div {width: 30px; height: 30px; border-radius: 50%; background-color: #333; display: flex; justify-content: center; align-items: center;}
.top_btn p {font-size: 18px; font-weight: 300; position: relative; top: -1px;}
.bottom_fix {position: fixed;bottom: 0;left: 0;z-index: 1001;width: 100%;padding:0;}
.bottom_fix .top {max-width: 900px;width: 100%;height: 50px;margin: 0 auto;display: flex;justify-content: center;gap: 12px;padding: 0 16px;}
.bottom_fix .top li {width: 70px;height: 100%;border-radius: 16px 16px 0 0;background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);display: flex;justify-content: center;align-items: center;cursor: pointer;box-shadow: 0 -6px 20px rgba(0,0,0,0.2),0 -3px 12px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.2);transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);position: relative;overflow: hidden;}
.bottom_fix .top li::before {content: '';position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);transition: left 0.6s ease;}
.bottom_fix .top li:hover::before {left: 100%;}
.bottom_fix .top li h2 {font-size: 14px;font-weight: 600;color: #fff;display: none;transition: all 0.3s ease;text-shadow: 0 1px 2px rgba(0,0,0,0.3);}
.bottom_fix .top li img {width: 24px;height: 24px;transition: all 0.3s ease;filter: brightness(0) invert(1);}
.bottom_fix .top li:hover {box-shadow: 0 -8px 25px rgba(0,0,0,0.25),0 -4px 15px rgba(0,0,0,0.2);}
.bottom_fix .top li.on {width: 150px;background: linear-gradient(135deg, #fbb03b 0%, #f39c12 100%);box-shadow: 0 -8px 25px rgba(251, 176, 59, 0.35),0 -4px 15px rgba(243, 156, 18, 0.25);}
.bottom_fix .top li.on h2 {display: block;color: #fff;font-weight: 600;text-overflow: clip;white-space: nowrap;overflow: hidden;}
.bottom_fix .top li.on img {display: none;}
.bottom_fix .bottom {width: 100%;background: linear-gradient(135deg, #fbb03b 0%, #f39c12 100%);height: 0;position: relative;overflow: hidden;transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);}
.bottom_fix .bottom .contents {max-width: 900px;width: 100%;margin: 0 auto;padding: 0 16px;}
.bottom_fix .bottom .contents01 {display: flex;align-items: center;flex-direction: row;flex-wrap: wrap;gap: 20px;padding: 40px 0;display: none;opacity: 0;transition: all 0.4s ease;}
.bottom_fix .bottom .contents01 > input {width: 240px;height: 50px;border-radius: 12px;background: rgba(255,255,255,0.98);backdrop-filter: blur(12px);border: 1px solid rgba(255,255,255,0.4);font-size: 16px;font-weight: 500;padding: 0 20px;outline: none;transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);box-shadow: 0 2px 10px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.8);}
.bottom_fix .bottom .contents01 > input:focus {background: rgba(255,255,255,1);border-color: rgba(251, 176, 59, 0.6);box-shadow: 0 6px 25px rgba(251, 176, 59, 0.25),inset 0 1px 0 rgba(255,255,255,1);transform: translateY(-2px);}
.bottom_fix .bottom .contents01 > input::placeholder {color: #6c757d;font-weight: 400;}
.bottom_fix .bottom .contents01 label {display: flex;align-items: center;gap: 10px;cursor: pointer;padding: 10px 14px;border-radius: 10px;transition: all 0.3s ease;background: rgba(255,255,255,0.1);}
.bottom_fix .bottom .contents01 label:hover {background: rgba(255,255,255,0.2);transform: translateY(-1px);}
.bottom_fix .bottom .contents01 label input[type="checkbox"] {width: 18px;height: 18px;border-radius: 4px;border: 2px solid rgba(255,255,255,0.8);background: rgba(255,255,255,0.95);appearance: none;position: relative;cursor: pointer;transition: all 0.3s ease;box-shadow: 0 2px 8px rgba(0,0,0,0.1);}
.bottom_fix .bottom .contents01 label input[type="checkbox"]:checked {background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);border-color: #2c3e50;transform: scale(1.1);}
.bottom_fix .bottom .contents01 label input[type="checkbox"]:checked::after {content: '✓';position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);color: #fff;font-size: 14px;font-weight: bold;}
.bottom_fix .bottom .contents01 label h2 {font-size: 14px;color: #fff;font-weight: 500;text-shadow: 0 1px 2px rgba(0,0,0,0.3);}
.bottom_fix .bottom .contents01 select {width: 240px;height: 50px;border-radius: 12px;background: rgba(255,255,255,0.98) url(../img/select-bottom-arrow.png) no-repeat 95%/10px;backdrop-filter: blur(12px);border: 1px solid rgba(255,255,255,0.4);outline: none;appearance: none;padding: 0 20px;font-size: 16px;color: #495057;font-weight: 500;transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);box-shadow: 0 2px 10px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.8);}
.bottom_fix .bottom .contents01 select:focus {background: rgba(255,255,255,1) url(../img/select-bottom-arrow.png) no-repeat 95%/10px;border-color: rgba(251, 176, 59, 0.6);box-shadow: 0 6px 25px rgba(251, 176, 59, 0.25),inset 0 1px 0 rgba(255,255,255,1);transform: translateY(-2px);}
.bottom_fix .bottom .contents01 button {width: 180px;height: 50px;border-radius: 12px;background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);color: #fff;font-size: 17px;font-weight: 600;border: none;cursor: pointer;transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);box-shadow: 0 6px 25px rgba(44, 62, 80, 0.4),inset 0 1px 0 rgba(255,255,255,0.2);position: relative;overflow: hidden;}
.bottom_fix .bottom .contents01 button::before {content: '';position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);transition: left 0.6s ease;}
.bottom_fix .bottom .contents01 button:hover::before {left: 100%;}
.bottom_fix .bottom .contents01 button:hover {transform: translateY(-3px);box-shadow: 0 8px 30px rgba(44, 62, 80, 0.5),inset 0 1px 0 rgba(255,255,255,0.3);}
.bottom_fix .bottom .contents02 {display: flex;flex-direction: row;flex-wrap: wrap;gap: 20px;padding: 40px 0;display: none;opacity: 0;transition: all 0.4s ease;}
.bottom_fix .bottom .contents02 a {display: flex;justify-content: space-between;align-items: center;width: 160px;height: 50px;background: rgba(255,255,255,0.98);backdrop-filter: blur(12px);border-radius: 12px;padding: 0 20px;border: 1px solid rgba(255,255,255,0.4);transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);box-shadow: 0 2px 10px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.8);position: relative;overflow: hidden;}
.bottom_fix .bottom .contents02 a::before {content: '';position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background: linear-gradient(90deg, transparent, rgba(251, 176, 59, 0.15), transparent);transition: left 0.6s ease;}
.bottom_fix .bottom .contents02 a:hover::before {left: 100%;}
.bottom_fix .bottom .contents02 a:hover {transform: translateY(-3px);box-shadow: 0 6px 25px rgba(251, 176, 59, 0.25),inset 0 1px 0 rgba(255,255,255,1);background: rgba(255,255,255,1);}
.bottom_fix .bottom .contents02 a p {font-size: 15px;color: #495057;font-weight: 500;transition: all 0.3s ease;}
.bottom_fix .bottom .contents02 a:hover p {color: #fbb03b;font-weight: 600;}
.bottom_fix .bottom .contents02 a img {width: 12px;height: 12px;transition: all 0.3s ease;filter: brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(2476%) hue-rotate(360deg) brightness(118%) contrast(119%);}
.bottom_fix .bottom .contents02 a:hover img {transform: translateX(4px);filter: brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(2476%) hue-rotate(360deg) brightness(118%) contrast(119%);}
footer {width: 100%; padding: 40px 0; background-color: #212121; color: #fff;}
footer .inner {max-width: 1500px; width: 100%; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-start;}
footer .inner h1 {position: relative; top: 20px;}
footer .inner .center {width: 590px; position: relative; top: 20px;}
footer .inner .center .top {display: flex; align-items: center; gap: 30px;}
footer .inner .center .top a {font-size: 14px; position: relative;}
footer .inner .center .top a::before {content: ''; position: absolute; top: 4px; right: -15px; width: 1px; height: 14px; background-color: #fff;}
footer .inner .center .top a:last-child::before {display: none;}
footer .inner .line {width: 100%; height: 3px; background-color: #fff; margin: 12px 0;}
footer .inner .center .bottom {display: flex; align-items: center; gap: 4px; color: #9d9d9d; flex-direction: row; flex-wrap: wrap;}
footer .inner .center .bottom p {font-size: 13px;}
footer .inner .center .bottom span {font-size: 13px;}
footer .inner .right .contents {display: flex; align-items: center; margin-bottom: 3px;}
footer .inner .right .contents:last-child {margin-bottom: 0;}
footer .inner .right .contents p {font-size: 11px;}
footer .inner .right .contents p:nth-child(1) {width: 110px; margin-right: 10px;}
footer .inner .right .contents p:nth-child(2) {width: 70px; margin-right: 20px;}
footer .inner .right .contents p:nth-child(3) {width: 150px;margin-right: 20px;}
@media(max-width:1550px) {
footer .inner {padding: 0 16px;}
}
@media(max-width:1500px) {
footer .inner {flex-direction: row; flex-wrap: wrap;}
footer .inner h1 {width: 100%; top: 0; margin: 0 auto 25px; text-align: center;}
}
@media(max-width:1350px) {
footer .inner {flex-direction: column; padding: 0; max-width: 685px; width: 100%;}
footer .inner .center {position: unset; order: 3;}
footer .inner .right {order: 2; margin-bottom: 25px;}
}
footer, footer *, .bottom_fix, .bottom_fix * {font-family:'Noto Sans KR','Malgun Gothic',sans-serif;}

/* 푸터 약관 팝업 레이어(개인정보취급방침·이용약관) — 기본 숨김 + 팝업 스타일 */
.info_wrap01 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_wrap02 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_wrap03 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_wrap04 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_wrap05 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_close_btn {width: 20px; height: 20px; position: absolute; right: 25px; top: 47px; cursor: pointer;}
.info_close_btn img { display: block;}

/* ── 모바일 푸터(.hq-mfooter — m/footer.php 이식) — m-style.css footer 스코프 추출, ≤970px에서만 노출 ── */
.hq-mfooter {display: none;}
.hq-mfooter footer, .hq-mfooter footer * {margin:0;padding:0;border:0;box-sizing:border-box;}
.hq-mfooter footer ul {list-style:none;}
.hq-mfooter footer a {text-decoration:none;color:inherit;}
/* m/footer.php의 부속물(모바일 상담바·플로팅 버튼·약관 사본·트래커 컨테이너)은 미사용 — contactFloat와 중복 */
.hq-mfooter .q_bottom, .hq-mfooter .info_wrap01, .hq-mfooter .info_wrap02, .hq-mfooter #wp_tg_cts {display: none !important;} /* 2026-08-03: 상담바·플로팅(top_btn·유튜브·블로그·카톡)은 고객 요청으로 노출 */
.hq-mfooter footer {width: 100%; padding: 40px 16px; background-color: #212121; position: relative; z-index: 501;}
.hq-mfooter footer .inner {width: 100%; margin: 0 auto;}
.hq-mfooter footer .inner > img {width: 100px;}
.hq-mfooter footer .inner .middle {margin: 25px 0;}
.hq-mfooter footer .inner .middle .contents {display: flex; flex-direction: row; flex-wrap: wrap; margin-bottom: 10px;}
.hq-mfooter footer .inner .middle .contents:last-child {margin-bottom: 0;}
.hq-mfooter footer .inner .middle .contents p {font-size: 12px; line-height: 14px; color: #fff; font-weight: 300; width: 180px;}
.hq-mfooter footer .inner .middle .contents p:first-child {font-weight: 400;}
.hq-mfooter footer .inner .middle .contents p:nth-child(even) {width: calc(100% - 180px);}
.hq-mfooter footer .inner .bottom .top {display: flex; align-items: center; gap: 20px;}
.hq-mfooter footer .inner .bottom .top a {position: relative; font-size: 14px; color: #fff;}
.hq-mfooter footer .inner .bottom .top a::before {content: ''; position: absolute; top: 4px; right: -10px; width: 1px; height: 14px; background-color: #fff;}
.hq-mfooter footer .inner .bottom .top a:last-child::before {display: none;}
.hq-mfooter footer .inner .bottom .line {width: 100%; height: 2px; background-color: #fff; margin: 10px auto;}
.hq-mfooter footer .inner .bottom .bot {display: flex; flex-direction: row; flex-wrap: wrap; gap: 3px;}
.hq-mfooter footer .inner .bottom .bot p {font-size: 14px; color: #9d9d9d; text-align: center;}
.hq-mfooter footer .inner .bottom .bot span {font-size: 14px; color: #9d9d9d;}
@media(max-width:643px) {
.hq-mfooter footer .inner > img {display: block; margin: 0 auto;}
.hq-mfooter footer .inner .middle .contents {justify-content: center;}
.hq-mfooter footer .inner .middle .contents p {width: 100%; text-align: center;}
.hq-mfooter footer .inner .middle .contents p:first-child {margin-bottom: 4px;}
.hq-mfooter footer .inner .middle .contents p:nth-child(even) {width: 100%;}
.hq-mfooter footer .inner .middle .contents p:nth-child(2) {width: 80px;}
.hq-mfooter footer .inner .middle .contents p:nth-child(3) {width: 170px;}
.hq-mfooter footer .inner .middle .contents p:nth-child(4) {margin-top: 2px;}
.hq-mfooter footer .inner .bottom .top {justify-content: center;}
.hq-mfooter footer .inner .bottom .bot {flex-direction: column; justify-content: center; align-items: center;}
.hq-mfooter footer .inner .bottom .bot span {display: none;}
}
@media(max-width:480px) {
.hq-mfooter footer .inner .bottom .top {gap: 12px;}
.hq-mfooter footer .inner .bottom .top a {font-size: 12px;}
.hq-mfooter footer .inner .bottom .top a::before {height: 12px; right: -6px;}
}
@media (max-width: 970px) {
.hq-mfooter {display: block;}
/* 모바일에서 약관 팝업(PC 사본 재사용)은 m-style 크기로 */
.news-view {width: 100%; height:50px; line-height: 50px; box-sizing: border-box; border-top: 1px solid #999; border-bottom: 1px solid #ccc;  padding-left: 15px; color: #666;font-size: 14px;margin-top: 25px;}
.news-view::after {clear: both;content: '';display: block;}
.news-view .title {float: left; width: 70%; font-weight: 900; margin-bottom: 10px;}
.news-view p {word-break: keep-all;}
.info_wrap01 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_wrap02 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_wrap03 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_wrap04 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.info_wrap05 {text-align: left; width: 650px;height: 605px; position: fixed;margin-left: -325px;margin-top: -300px;top: 50%;left: 50%;background: #fff;padding: 5px 15px;border-radius: 25px;z-index: 9999;background: #fff;display: none;border: 1px solid #333;box-sizing: border-box;}
.view-detail {width: 100%}
.info_close_btn {width: 20px; height: 20px; position: absolute; right: 25px; top: 47px; cursor: pointer;}
.info_close_btn img { display: block;}
}

/* ── 모바일 헤더(.hq-mheader — m/header.php 이식: 헤더+드로어+지점메뉴+오버레이) — ≤970px에서만 노출 ── */
.hq-mheader {display: none;}
.hq-mheader header, .hq-mheader header *, .hq-mheader aside, .hq-mheader aside *, .hq-mheader .left_menu, .hq-mheader .left_menu * {margin:0;padding:0;border:0;box-sizing:border-box;font-family:'Noto Sans KR','Malgun Gothic',sans-serif;}
.hq-mheader ul {list-style:none;}
.hq-mheader a {text-decoration:none;color:inherit;}
/* 상담 퀵메뉴는 페이지 자체 contactFloat와 중복 → 미사용 */
/* 2026-08-03: 카톡 플로팅(q_menu_wrap)·상담팝업(reservation_pop) 노출 — m-style 기본값(닫힘)으로 제어 */
.hq-mheader header {position: fixed; top: 0; left: 50%; transform: translateX(-50%); width: 100%; height: 90px; background-color: #fff; z-index: 5000;}
.hq-mheader header .inner {display: flex; justify-content: space-between; align-items: center; max-width: 960px; width: 100%; height: 100%; margin: 0 auto; position: relative; z-index: 1;}
.hq-mheader header .inner h1 a img {width: 75px; margin-left: 16px;}
.hq-mheader header .inner .right {display: flex; gap: 10px; margin-right: 16px;}
.hq-mheader header .inner .right img {width: 30px; cursor: pointer;}
.hq-mheader header > img {position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 0; width: 100%; height: 40px; object-fit: cover;}
.hq-mheader header .lang_btn {position:absolute; right:96px; display:inline-block; height:24px; line-height:22px; margin-top:2px; padding: 0 10px; font-size: 14px; border: 1px solid #ff8c00; border-radius: 10px; color: #ff8c00;} /* line-height 22px(=높이 24 − 상하 보더 2): 미지정 시 본문 14px가 상속돼 ENG가 위로 붙음 (8/3 고객 요청) */
.hq-mheader .mob_bg {position: fixed; top: 90px; left: 0; width: 100%; height: calc(100vh - 90px); background-color: #000; opacity: 0.4; z-index: 1000; display: none;}
.hq-mheader .left_menu {position: fixed; top: 90px; left: -270px; width: 270px; height: calc(100vh - 90px); background-color: #1a1a1a; z-index: 1001; padding: 0 20px;}
.hq-mheader .left_menu .close {position: absolute; top: 20px; right: 20px; width: 25px; height: 25px; cursor: pointer;}
.hq-mheader .left_menu .close span:first-child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(45deg); width: 30px; height: 1px; background-color: #fff;}
.hq-mheader .left_menu .close span:last-child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-45deg); width: 30px; height: 1px; background-color: #fff;}
.hq-mheader .left_menu h2 {padding: 30px 0 0px; color: #fff; font-size: 18px;}
.hq-mheader .left_menu ul li {padding: 10px 0; border-bottom: 1px dashed #ccc; display: flex; align-items: center;}
.hq-mheader .left_menu ul li:last-child {border-bottom: none;}
.hq-mheader .left_menu ul li span {display: block; width: 13px; height: 13px; border-radius: 50%; background-color: #fff; margin-right: 15px;}
.hq-mheader .left_menu ul li p {font-size: 18px; color: #808080;}
.hq-mheader .left_menu ul li div {display: flex; gap: 5px; position: relative; top: 1px; margin-left: auto;}
.hq-mheader .left_menu ul li div b {display: block; width: 28px; height: 28px; background: url(../img/icon-m-call.png) no-repeat center/cover;}
.hq-mheader .left_menu ul li div i {display: block; width: 28px; height: 28px; background: url(../img/icon-m-kakaotalk.png) no-repeat center/cover;}
.hq-mheader aside {position: fixed; top: 90px; right: -300px; width: 300px; height: calc(100vh - 90px); background-color: #fff; z-index: 1002; overflow-y: auto;}
.hq-mheader aside .top {position: fixed; bottom: 0; right: -300px; display: flex; align-items: center; width: 300px; height: 50px; background-color: #1a1a1a;}
.hq-mheader aside .top a {display: flex; justify-content: center; align-items: center; width: calc(50% - 0.5px); height: 100%; color: #fff; font-size: 15px;}
.hq-mheader aside .top span {display: block; width: 1px; height: 30px; background-color: #fff;}
.hq-mheader aside > ul {height: 635px;}
.hq-mheader aside ul > li > a {position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 15px 10px 15px 18px; font-size: 14px;}
.hq-mheader aside ul > li > a::after {content: ''; position: absolute; top: 50%; left: 10px; transform: translateY(-50%); width: 3px; height: 3px; border-radius: 50%; background-color: #000;}
.hq-mheader aside ul > li > a img {width: 10px; margin-left: 10px;}
.hq-mheader aside ul > .close > a {border-bottom: none; padding: 5px 0;}
.hq-mheader aside ul .depth {display: none;}
.hq-mheader aside ul ul li a {border-bottom: none; font-size: 12px; padding: 15px 25px;}
.hq-mheader aside ul ul li:first-child a {font-size: 12px; padding: 15px 25px;}
.hq-mheader aside ul ul li:first-child a::before {display: none;}
.hq-mheader aside ul ul li a::after {display: none;}
.hq-mheader aside .close {position: absolute; bottom: 60px; left: 50%; transform: translateX(-50%); width: 30px; height: 30px; border: 2px solid #333; border-radius: 50%; cursor: pointer;}
.hq-mheader aside .close span:first-child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(45deg); width: 15px; height: 2px; background-color: #333; border-radius: 2px;}
.hq-mheader aside .close span:last-child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-45deg); width: 15px; height: 2px; background-color: #333; border-radius: 2px;}
.hq-mheader aside ul > li:first-child > a {display: block; font-size: 12px; padding: 15px 10px;}
.hq-mheader aside ul > li:first-child > a b {font-size: 16px;}
.hq-mheader aside ul > li:first-child > a::before {content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 280px; height: 1px; background-color: #000;}
.hq-mheader aside ul > li:first-child > a::after {display: none;}
.hq-mheader aside .d_arrow {width: 7px;}
.hq-mheader aside .l_arrow {transform: rotate(-90deg); width: 7px;}
/* PC 추출 헤더 규칙 누출 복원(m/laser.php 헤더깨짐과 동일 원인 선제 차단) */
.hq-mheader header .inner .right {flex-direction: row; align-items: center; gap: 10px; width: auto; margin-right: 16px;}
.hq-mheader header .lang_btn {top: auto; right: 96px; height: 24px; line-height: 22px; margin-top: 2px;}
.hq-mheader header .inner h1 {margin: 0; padding: 0;}
@media (max-width: 970px) { .hq-mheader {display: block;} }

/* ── 모바일 하단 상담바(mob_bottom_fix, "빠른 상담 신청") — m-style 추출, 2026-08-03 고객 요청으로 노출 ── */
.hq-mfooter .mob_bottom_fix {position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1001;}
.hq-mfooter .mob_bottom_fix .top {width: 200px; height: 50px; border-radius: 10px 10px 0 0; background-color: #fbb03b; line-height: 48px; text-align: center; font-size: 18px; font-weight: 700; margin: 0 auto; position: relative; top: 1px; box-shadow: 0px 0px 10px rgba(0,0,0,0.2); z-index: 99;}
.hq-mfooter .mob_bottom_fix .bottom {width: 100%; height: 404px; background-color: #fbb03b; height: 0; position: relative; z-index: 100;}
.hq-mfooter .mob_bottom_fix .bottom .contents {max-width: 343px; width: 100%; display: none; flex-direction: column; justify-content: center; align-items: center; margin: 0 auto; padding: 30px 0;}
.hq-mfooter .mob_bottom_fix .bottom .contents > input {width: 100%; height: 50px; border-radius: 10px; background-color: #fff; font-size: 14px; outline: none; padding: 0 15px; margin-bottom: 10px;}
.hq-mfooter .mob_bottom_fix .bottom .contents > input::placeholder {color: #b3b3b3;}
.hq-mfooter .mob_bottom_fix .bottom .contents select {width: 100%; height: 50px; border-radius: 10px; background: #fff url(../img/select-bottom-arrow.png) no-repeat 95%/12px; font-size: 14px; outline: none; appearance: none; padding: 0 15px; margin-bottom: 10px;}
.hq-mfooter .mob_bottom_fix .bottom .contents label {display: flex; justify-content: center; align-items: center; gap: 5px; margin: 5px 0 15px;}
.hq-mfooter .mob_bottom_fix .bottom .contents label input[type="checkbox"] {appearance: none; outline: none; width: 16px; height: 16px; border-radius: 50%; border: 1px solid #333; position: relative; top: 2px;}
.hq-mfooter .mob_bottom_fix .bottom .contents label input[type="checkbox"]:checked {border: 8px solid #333;}
.hq-mfooter .mob_bottom_fix .bottom .contents label span {font-size: 16px; color: #333;}
.hq-mfooter .mob_bottom_fix .bottom .contents button {width: 240px; height: 60px; border-radius: 10px; background-color: #333; color: #fff; font-size: 21px;}
.hq-mfooter .fix_bg {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.5; z-index: 499; display: none;}

/* ── 모바일 플로팅(위로가기·유튜브·블로그·카톡)·카톡패널·상담팝업 — m-style 추출, ≤970px 전용(클래스가 m 마크업에만 존재) ── */
@media (max-width: 970px) {
.pop_bg {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.25; z-index: 9000; cursor: pointer; display: none;}
.reservation_pop {position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #fff; border-radius: 10px; padding: 30px 20px; z-index: 9001; display: none;}
.reservation_pop .close {position: absolute; top: 28px; right: 25px; width: 30px; height: 30px; cursor: pointer;}
.reservation_pop .close span:first-child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(45deg); width: 25px; height: 1px; background-color: #000;}
.reservation_pop .close span:last-child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-45deg); width: 25px; height: 1px; background-color: #000;}
.reservation_pop h2 {font-size: 24px; line-height: 24px; font-weight: 400; text-align: center;}
.reservation_pop p {font-size: 14px; text-align: center; color: #666; margin: 35px auto 30px;}
.reservation_pop > input {display: block; width: 320px; height: 50px; background-color: #fff; border: 1px solid #b3b3b3; border-radius: 10px; outline: none; padding: 0 20px; font-size: 16px; margin-bottom: 15px;}
.reservation_pop > input::placeholder {color: #b3b3b3;}
.reservation_pop div {display: flex; gap: 20px;}
.reservation_pop div select {width: 150px; height: 50px; background: #fff url(../img/select-bottom-arrow.png) no-repeat 95%/10px; border: 1px solid #b3b3b3; border-radius: 10px; appearance: none; outline: none; padding: 0 20px; color: #b3b3b3; font-size: 16px;}
.reservation_pop label {display: flex; justify-content: center; align-items: center; gap: 5px; margin: 15px auto 30px;}
.reservation_pop label input[type="checkbox"] {appearance: none; width: 18px; height: 18px; border-radius: 50%; border: 1px solid #666; position: relative; top: 1px;}
.reservation_pop label input[type="checkbox"]:checked {border: 9px solid #000;}
.reservation_pop label span {font-size: 14px; color: #666;}
.reservation_pop button {width: 240px; height: 40px; border-radius: 5px; background-color: #fbb03b; color: #fff; font-size: 14px; font-weight: 700; display: block; margin: 0 auto;}
.b_you {position: fixed; bottom: 100px; left: 10px; z-index: 502; display: flex; justify-content: center; align-items: center; width: 60px; height: 60px;}
.b_you img {width: 100%; height: 100%;}
.q_menu_btn {position: fixed; bottom: 30px; right: 10px; z-index: 502; width: 60px; cursor: pointer; border-radius: 50%; box-shadow: 0px 0px 5px rgba(0,0,0,0.5);}
.mob_blog {position: fixed; bottom: 30px; left: 10px; z-index: 502; display: flex; justify-content: center; align-items: center; width: 60px; height: 60px;}
.mob_blog img {width: 100%; height: 100%;}
.q_menu_wrap {position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 2000; cursor: pointer; display: none;}
.q_menu_wrap .bg {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.7; z-index: 1000; display: none;}
.q_menu_wrap .inner {position: absolute; bottom: -110px; right: -120px; width: 375px; height: 375px; background: #fff url(../img/m-quick-bg.png) 0 0 /100% no-repeat; border-radius: 50%; border: 4px solid #e7e7e7; z-index: 1001;}
.q_menu_wrap .center {position: absolute; top: 148px; left: 148px; width: 84px; height: 84px; border-radius: 50%; background-color: #fbb03b;}
.q_menu_wrap .center span:first-child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-45deg); width: 40px; height: 4px; background-color: #fff; border-radius: 3px;}
.q_menu_wrap .center span:last-child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(45deg); width: 40px; height: 4px; background-color: #fff; border-radius: 3px;}
.q_menu_wrap .center img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 25px;}
.q_menu_wrap .btn {position: absolute; width: 88px; height: 60px; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px;}
.q_menu_wrap .btn span {display: block; font-size: 12px; color: #666;}
.q_menu_wrap .btn.call {top: 40px; left: 148px;}
.q_menu_wrap .btn.call i {display: block; width: 35px; height: 35px; background: url(../img/q-call.png) no-repeat center/35px;}
.q_menu_wrap .btn.kakao {top: 85px; left: 45px;}
.q_menu_wrap .btn.kakao i {display: block; width: 35px; height: 35px; background: url(../img/q-kakao.png) no-repeat center/35px;}
.q_menu_wrap .btn.counsel {top: 180px; left: 24px;}
.q_menu_wrap .btn.counsel i {display: block; width: 35px; height: 35px; background: url(../img/q-talk.png) no-repeat center/35px;}
.q_menu_wrap.on {display: block;}
.q_menu_wrap.on .bg {display: block;}
.q_menu_wrap.on .inner {animation: menuInner 0.3s;}
.q_menu_wrap.on .btn {animation: menuBtn 0.3s}
.top_btn {position: fixed; left: 15px; bottom: 170px; z-index: 100; display: flex; align-items: center; gap: 15px; cursor: pointer;}
.top_btn div {width: 50px; height: 50px; border-radius: 50%; background-color: #333; display: flex; justify-content: center; align-items: center; z-index: 1000;}
}
