/*공통*/

/* 폰트 */
@import url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&display=swap');

/* 색상변수 */
:root { --main-color:#835211; --brown-1-color:#D58C47; --brown-2-color:#BC954C; --brown-3-color:#573221; --grey-0-color:#f9f9f9; --grey-1-color:#ddd; --grey-2-color:#aaa; --grey-3-color:#666; --black:#000; --bg-color:#fff; }

/* 기본 스타일 커스터마이징 */
* {word-break: keep-all !important;}
body { font-size: 16px; font-weight: 400; font-family: 'Pretendard', sans-serif; color: var(--black); background: var(--bg-color); overflow-x: hidden; }
a { color: var(--main-color); text-decoration: none; }
h1, h2, h3, h4, h5, h6 { color: var(--main-color); font-weight: 600; font-family: 'Pretendard', sans-serif;}
input, button {font-family: 'Pretendard', sans-serif;}
#wrapper { min-width: unset; } 
.pc-only { display:block; }
.mobile-only { display: none; }
input[type=text]:focus,input[type=password]:focus,textarea:focus,select:focus{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;outline:none!important;}

@media screen and (max-width: 1024px) {
.mobile-only { display: block; } 
.pc-only { display: none; } 
}

/* 헤더 스타일 */
body.is-index .logo-w { display: block; }
body.is-index .logo-b { display: none; }
body.is-index .custom-header { position: absolute; top: 0; z-index: 100; width: 100%; background: transparent; overflow: visible; }
body.is-index .header-wrap { margin: 0 auto; color: #fff; position: relative; max-width: 1720px; width: 100%; overflow: visible; }
body:not(.is-index) .logo-w { display: none; }
body:not(.is-index) .logo-b { display: block; }
body:not(.is-index) .custom-header { position: absolute; top: 0; z-index: 100; width: 100%; background: #ffffff; overflow: visible; }
body:not(.is-index) .header-wrap { margin: 0 auto; color: #000; position: relative; max-width: 1720px; width: 100%; overflow: visible; }
.menu-level-1 { margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 120px; padding: 0 20px; width: 100%; }
.menu-level-1-inner { margin: 0 auto; display: flex; align-items: center; justify-content: space-between; width: 100%; }
.menu-level-1 .logo { display: flex; align-items: center; width: 250px; flex-shrink: 0; }
.menu-level-1 .logo img { width: 250px; }
.menu-level-1-nav { width: 1020px; }
.menu-level-1-nav ul { display: flex; justify-content: space-between; align-items: stretch; }
.menu-level-1-nav ul li { display: flex; align-items: center; flex: 1; }
.menu-level-1-nav a { display: flex; align-items: center; justify-content: center; color: inherit; text-decoration: none; font-size: 24px; font-weight: bold; height: 100%; width: 100%; text-align: center; }
.menu-level-2 { position: absolute; top: 120px; left: 0; right: 0; width: 100%; height: 0; overflow: hidden; background: #fff; pointer-events: none; box-shadow: 0px 10px 10px #0000000D; }
.menu-level-2-wrap { display: flex; justify-content: space-between; align-items: flex-start; padding: 0 20px; max-width: 1720px; width: 100%; margin: 0 auto; }
.menu-level-2-wrap::before { content: ''; flex-shrink: 0; width: 250px; }
.menu-level-2-inner { padding: 12px 0; display: flex; width: 1020px; justify-content: space-between; align-items: flex-start; }
.menu-level-2-nav { opacity: 0; display: flex; flex-direction: column; align-items: center; flex: 1; }
.menu-level-2-nav h4 { display: none; }
.menu-level-2-nav ul { display: flex; flex-direction: column; align-items: center; width: 100%; }
.menu-level-2-nav ul li { display: flex; align-items: center; justify-content: center; width: 100%; }
.menu-level-2-nav a { padding: 12px; display: flex; align-items: center; justify-content: center; color: #555; text-decoration: none; font-size: 18px; text-align: center; width: 100%; word-break: keep-all; }
.menu-level-2-nav a:hover { color: #000; font-weight: bold; }
.btn-opn { display: none; }

@media (min-width: 1201px) {
body.is-index .custom-header:hover { background: #ffffff; }
body.is-index .custom-header:hover .header-wrap { color: #000; }
body.is-index .header-wrap:hover { color: #000; }
.custom-header:hover .menu-level-2 { height: 430px; pointer-events: auto; border-top: 1.5px solid var(--grey-1-color); }
.custom-header:hover .menu-level-2-nav { opacity: 1; }
body.is-index .custom-header:hover .logo-w { display: none; }
body.is-index .custom-header:hover .logo-b { display: block; }
body.is-index .header-wrap:hover .logo-w { display: none; }
body.is-index .header-wrap:hover .logo-b { display: block; }
}

@media (max-width: 1200px) {
body:not(.is-index) .custom-header { background: #ffffff; }
.menu-level-1 .logo img{width: 200px;}
body.menu-open { overflow: hidden; }
.logo-w { display: none; }
.logo-b { display: block; }
.pc { display: none; }
.logo { color: #222; }
.menu-level-1 {display: flex;align-items: center;justify-content: space-between;width: 100%;height: 60px;}
.menu-level-1-inner { flex: 1; }
.menu-level-1-nav { display: none; }
.custom-header .menu-level-1 .btn-opn { display: flex !important; cursor: pointer; width: 28px; height: 24px; flex-direction: column; justify-content: space-between; position: relative; z-index: 10; }
body.is-index .btn-opn div { width: 100%; height: 2px; background-color: #fff !important; transition: transform 0.3s ease, opacity 0.3s ease; transform-origin: center; }
body:not(.is-index) .btn-opn div { width: 100%; height: 2px; background-color: #000 !important; transition: transform 0.3s ease, opacity 0.3s ease; transform-origin: center; }
.btn-opn.open div:nth-child(1) { transform: translateY(12px) rotate(45deg); }
.btn-opn.open div:nth-child(2) { opacity: 0; }
.btn-opn.open div:nth-child(3) { transform: translateY(-10px) rotate(-45deg); }
.menu-level-2 { position: fixed; top: 50px; left: 0; right: 0; width: 100%; height: 0; overflow: hidden; background: #ffffff; z-index: 1001; pointer-events: none; display: block; transform: none; box-sizing: border-box; box-shadow: 0px 10px 10px #0000000D; }
body.menu-open .custom-header { position: fixed; }
.header-wrap.open .menu-level-1 { background-color: #fff; border-bottom: 1px solid var(--grey-1-color); }
.header-wrap.open .btn-opn div { background-color: #000 !important; }
.header-wrap.open .logo-w { display: none; }
.header-wrap.open .logo-b { display: block; }
.header-wrap.open ~ .menu-level-2 { height: calc(100vh - 50px); overflow-y: auto; pointer-events: auto; }
.menu-level-2-wrap { width: 100%; padding: 0; display: block; margin: 0; max-width: 100%; }
.menu-level-2-wrap::before { display: none; }
.menu-level-2-inner { width: 100%; padding: 0; flex-direction: column; }
.menu-level-2-nav { width: 100%; opacity: 0; display: flex; flex-direction: column; }
.menu-level-2-nav h4 { display: block; font-size: 18px; font-weight: bold; padding: 10px 16px; color: var(--main-color); }
.menu-level-2-nav ul { display: flex; flex-direction: column; }
.menu-level-2-nav ul li { display: flex; align-items: center; width: 100%; }
.menu-level-2-nav a { background-color: #976E48; padding: 8px 16px; text-align: left; display: flex; align-items: center; width: 100%; color: #fff; text-decoration: none; font-size: 16px; }
.menu-level-2-nav a:hover { color: #fff; font-weight: bold; }
.header-wrap.open ~ .menu-level-2 .menu-level-2-nav { opacity: 1; }
}

/* 푸터 스타일 */
#ft {width: 100%;background: #2E2D2A;}

/* 메인 섹션 */
#ft .ft_main_section {padding: 80px 0 200px;}
#ft .ft_main_container {max-width: 1720px;margin: 0 auto;}
#ft .ft_main_wrap {display: flex;flex-wrap: wrap;gap: 40px;margin-bottom: 60px;align-items: stretch;}
#ft .ft_branding {flex: 3;display: flex;flex-direction: column;justify-content: center;}
#ft .ft_logo_wrap {margin-bottom: 24px;}
#ft .ft_logo_img {width: auto;height: auto;display: block;margin: 0 auto;}
#ft .ft_phone_large {font-size: 47px;font-weight: bold;color: var(--brown-2-color);margin: 0;}
#ft .ft_hours {background: rgba(0, 0, 0, 0.3);border-radius: 12px;flex: 3;padding: 70px 80px;}
#ft .ft_section_title {font-size: 36px;font-weight: bold;color: var(--brown-2-color);margin-bottom: 25px;text-align: left;}
#ft .ft_hours_list {list-style: none;padding: 0;margin: 0;}
#ft .ft_hours_list li {display: flex;font-size: 28px;color: #fff;margin-bottom: 16px;gap: 12px;}
#ft .ft_hours_list li:last-child{margin-bottom: 0;}
#ft .ft_hours_list li::before {content: none;}
#ft .ft_hours_day {width: 130px;text-align: left;font-weight: bold;}
#ft .ft_hours_time {white-space: nowrap;}
#ft .ft_basic_info {background: rgba(0, 0, 0, 0.3);border-radius: 12px;padding: 70px 80px;flex: 4;}
#ft .ft_info_list {list-style: none;padding: 0;margin: 0;}
#ft .ft_info_list li {display: flex;gap: 30px;font-size: 28px;color: #fff;margin-bottom: 16px;padding-left: 0;text-align: left;align-items: baseline;}
#ft .ft_info_list li:last-child{margin-bottom: 0;}
#ft .ft_info_list li::before {content: none;}
#ft .ft_info_label {min-width: 100px;width: 170px;flex-shrink: 0;text-align: left;font-weight: bold;}
#ft .ft_info_value {font-size: 24px;white-space: nowrap;}

/* 하단 */
#ft .ft_bottom {border-top: 2px solid var(--grey-2-color);padding-top: 30px;display: flex;justify-content: space-between;align-items: center;}
#ft .ft_links {display: flex;align-items: center;gap: 0;}
#ft .ft_links a {font-size: 23px;color: #fff;}
#ft .ft_links a:nth-of-type(1) {color: var(--brown-1-color);}
#ft .ft_link_separator {color: rgba(255, 255, 255, 0.3);margin: 0 8px;}
#ft .ft_copy {font-size: 17px;color: rgba(255, 255, 255, 0.6);margin: 0;text-align: right;}

@media (max-width: 1024px) {
  #hd { min-width: unset; }
  #ft {min-width: unset;padding-top: 80px;}
  #ft .ft_main_section {padding: 0 0 80px;}
  #ft .ft_main_container {padding: 0 20px;}
  #ft .ft_main_wrap {gap: 20px;margin-bottom: 40px;justify-content: center;flex-direction: column;}
  #ft .ft_branding {flex: 1;display: flex;justify-content: center;flex-direction: column;}
  #ft .ft_logo_wrap {margin-bottom: 16px;width: 100%;}
  #ft .ft_logo_img {width: 80%; max-width: 250px; height: auto;display: block;}
  #ft .ft_phone_large {font-size: 36px;}
  #ft .ft_hours {margin-bottom: 0;margin-top: 40px;padding: 40px 20px;flex: 1;height: auto;}
  #ft .ft_basic_info {padding: 40px 20px;flex: 1;height: auto;}
  #ft .ft_section_title {font-size: 28px;margin-bottom: 16px;}
  #ft .ft_hours_list { margin-top: 0; }
  #ft .ft_hours_list li {font-size: 20px;gap: 16px;margin-bottom: 20px;}
  #ft .ft_hours_day{width: 90px;white-space: nowrap;}
  #ft .ft_hours_time{font-size: 20px;white-space: unset;text-align: left;}
  #ft .ft_info_list { margin-top: 0; }
  #ft .ft_info_list li {font-size: 20px;gap: 16px;margin-bottom: 20px;text-align: left;}
  #ft .ft_info_label {min-width: auto;font-size: 20px;width: 124px;}
  #ft .ft_info_value {font-size: 20px;white-space: unset;word-break: break-all !important;}
  #ft .ft_bottom { flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 24px; }
  #ft .ft_links { flex-wrap: wrap; gap: 0; }
  #ft .ft_links a {font-size: 16px;}
  #ft .ft_link_separator { margin: 0 6px; }
  #ft .ft_copy {font-size: 16px;text-align: left;}
  #top_btn { bottom: 80px; right: 20px; width: 50px; height: 50px; font-size: 14px; }
}

/* 상담신청 폼 섹션 (화면 하단 고정) */
.consultation-form-section {position: fixed;bottom: 0;left: 0;right: 0;background: var(--brown-3-color);height: 157px;display: flex;z-index: 10;box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.2);align-items: center;}
.consultation-form-section .consultation-form-container {max-width: 1720px;margin: 0 auto;padding: 0 40px;display: flex !important;align-items: flex-start;gap: 40px;flex-direction: row !important;}
.consultation-title {font-size: 36px;font-weight: bold;color: #fff;white-space: nowrap;flex-shrink: 0;}
.consultation-form { flex: 1; width: 100%;}
.consultation-form .form-inputs { display: flex; gap: 12px; align-items: flex-start; }
.consultation-form .form-inputs input[type=text]:focus,.consultation-form input[type=password]:focus,.consultation-form textarea:focus,.consultation-form select:focus{border:0!important;}
.consultation-form .form-inputs input {flex: 1;padding: 0 20px;height: 60px;border: none;border-radius: 8px;font-size: 16px;font-family: 'Pretendard', sans-serif;background: #fff;}
.consultation-form .form-inputs input::placeholder { color: #999; }
.consultation-form .form-inputs select {width: 400px;flex-shrink: 0;padding: 0 20px;height: 60px;border: none;border-radius: 8px;font-size: 16px;font-family: 'Pretendard', sans-serif;background: #fff;appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 20px center;padding-right: 50px;cursor: pointer;}
.consultation-form .form-inputs .consultation-submit-btn {padding: 0 32px;height: 60px;background: #fff;color: var(--main-color);border: none;border-radius: 100px;font-size: 28px;font-weight: bold;font-family:'Pretendard', sans-serif;cursor: pointer;white-space: nowrap;transition: all 0.3s ease;}
.consultation-form .form-inputs .consultation-submit-btn:hover { background: #f5f5f5; }
.consultation-form .privacy-consent {margin-top: 10px;}
.consultation-form .privacy-consent label {display: flex;align-items: center;gap: 8px;color: #fff;font-size: 20px;cursor: pointer;justify-content: flex-end;padding-right: 230px;}
.consultation-form .privacy-consent input[type="checkbox"] {width: 20px;height: 20px;cursor: pointer;border-radius: 4px;background: #000;border: 1px solid #fff;appearance: none;-webkit-appearance: none;-moz-appearance: none;position: relative;flex-shrink: 0;}
.consultation-form .privacy-consent input[type="checkbox"]:checked { background: #000; }
.consultation-form .privacy-consent input[type="checkbox"]:checked::after { content: '✓'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 14px; font-weight: bold; }
.consultation-form .privacy-consent .privacy-link {color: #fff;}

@media (max-width: 1400px) {
  .consultation-title {display: none;}
}

@media (max-width: 1200px) {
  .consultation-form-section {height: auto;padding: 16px 0;z-index: 10;}
  .consultation-form-section .consultation-form-container {max-width: 100%;width: 100%;flex-direction: column !important;padding: 0 16px;gap: 12px;}
  .consultation-title {font-size: 16px;}
  .consultation-form {width: 100%;}
  .consultation-form .form-inputs {flex-direction: column;gap: 8px;}
  .consultation-form .form-inputs input {width: 100%;padding: 12px 14px;height: 44px;font-size: 13px;}
  .consultation-form .form-inputs select {width: 100%;padding: 12px 14px;height: 44px;font-size: 13px;padding-right: 36px;background-position: right 14px center;}
  .consultation-form .form-inputs .consultation-submit-btn {width: 100%;height: 44px;font-size: 14px;}
  .consultation-form .privacy-consent {margin-top: 10px;}
  .consultation-form .privacy-consent label {font-size: 14px;justify-content: flex-start;padding-right: 0;gap: 6px;}
  .consultation-form .privacy-consent input[type="checkbox"] {width: 16px;height: 16px;}
  .consultation-form .privacy-consent input[type="checkbox"]:checked::after {font-size: 11px;}
}

/* 퀵메뉴 */
.quick-menu {position: fixed;bottom: 180px;right: 50px;z-index: 1000;display: flex;flex-direction: column;align-items: center;gap: 20px;}
.quick-menu-list {background: #976E48;border: 1px solid #fff;border-radius: 50px;display: flex;flex-direction: column;width: 84px;}
.quick-menu-item {display: flex;align-items: center;gap: 12px;padding: 24px 0;color: #fff;text-decoration: none;font-size: 16px;flex-direction: column;}
.quick-menu-item.quick-menu-top {background: rgba(255, 255, 255, 0.1);border-radius: 50%;width: 84px;height: 84px;padding: 0;justify-content: center;flex-direction: column;margin: 8px auto 0;gap: 0;}
.quick-menu-icon {width: 24px;height: 24px;display: block;flex-shrink: 0;}
.quick-menu-item.quick-menu-top .quick-menu-icon {width: 20px;height: 20px;transform: rotate(-90deg);}
.quick-menu-text {font-size: 16px;color: #fff;white-space: nowrap;text-align: center;}
.quick-menu-item.quick-menu-top .quick-menu-text {font-size: 14px;margin-top: 4px;}
.quick-menu-divider {height: 1px;background: #fff;margin: 0 12px;}
.quick-menu-close {width: 84px;height: 84px;border-radius: 50%;background: var(--main-color);border: 1px solid #fff;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 4px;cursor: pointer;padding: 0;transition: background 0.3s ease;}
.quick-menu-close:hover {background: rgba(0, 0, 0, 0.3);}
.quick-menu-close-icon {width: 24px;height: 24px;display: block;}
.quick-menu-close-text {font-size: 12px;color: #fff;}

@media (max-width: 1024px) {
  .quick-menu {bottom: 144px;right: 20px;gap: 12px;}
  .quick-menu-list {width: 60px;border-radius: 50px;padding: 10px 0 0;}
  .quick-menu-item {padding: 12px 0;gap: 8px;font-size: 12px;}
  .quick-menu-item.quick-menu-top {width: 60px;height: 60px;margin: 6px auto 0;}
  .quick-menu-icon {width: 18px;height: 18px;}
  .quick-menu-item.quick-menu-top .quick-menu-icon {width: 16px;height: 16px;}
  .quick-menu-text {font-size: 12px;}
  .quick-menu-item.quick-menu-top .quick-menu-text {font-size: 10px;margin-top: 3px;}
  .quick-menu-divider {margin: 0 8px;}
  .quick-menu-close {width: 60px;height: 60px;gap: 3px;}
  .quick-menu-close-icon {width: 18px;height: 18px;}
  .quick-menu-close-text {font-size: 10px;}
}

 
@keyframes kenburns-header {
  0% { transform: scale(1) translateY(0); transform-origin: center; }
  100% { transform: scale(1.1) translateY(-10px); transform-origin: top; }
}

/* 탭 섹션 스타일 - tab_section.php 공통 컴포넌트용 */
.tab-section-page{width:100%;max-width: 100%;max-width: 1920px;margin: 0 auto;padding: 80px 0 0;box-sizing: border-box;overflow-x: hidden;}
.tab-section-container{width: 100%;margin: 0 auto;padding: 0;display: flex;flex-direction: column;align-items: center;box-sizing: border-box;}
.tab-section-tabs{display: flex;justify-content: center;align-items: center;gap: 0;flex-wrap: wrap;width: 100%;max-width: 1720px;padding: 0 20px;box-sizing: border-box;}
.tab-section-tab{display: inline-block;padding: 20px 30px;font-size: 20px;font-weight: bold;color: var(--black);text-decoration: none;position: relative;transition: color 0.3s ease;border-bottom: 5px solid transparent;}
.tab-section-tab:hover{color: var(--main-color);}
.tab-section-tab.active{color: var(--black);border-bottom-color: var(--main-color);}
.tab-section-image-container{width:100%;height: 364px;margin: 0 auto;padding: 0;overflow: hidden;position: relative;}
.tab-section-main-image{width:100%;height:100%;display:block;object-fit: cover;animation: kenburns-header 4s ease-in-out both;}

@media (max-width: 1024px) {
  .tab-section-page{padding: 40px 0 0;overflow-x: hidden;}
  .tab-section-container{padding: 0;display: flex;flex-direction: column;align-items: center;box-sizing: border-box;width: 100%;max-width: 100%;}
  .tab-section-tabs{flex-direction: row;justify-content: center;flex-wrap: wrap;gap: 0;width: 100%;padding: 0 16px;box-sizing: border-box;}
  .tab-section-tab{padding: 16px 20px;font-size: 18px;white-space: normal;flex-shrink: 1;flex-basis: auto;min-width: 0;}
  .tab-section-image-container{width: 100%;padding: 0;height: 200px;}
} 