/* include 공통 CSS */

/************************* 공통 시작*************************/
.inner {width: 100%; margin: 0 auto; }
.inner--lg {max-width:1680px;}
.inner--rg {max-width:1400px;}
.inner--fill {max-width:none; padding-right: calc((100% - 1400px) / 2); padding-left: calc((100% - 1400px) / 2);}
@media(max-width:1720px){
	.inner--lg {padding: 0 4%;}
}
@media(max-width:1440px){
	.inner--rg {padding: 0 4%;}
}

.text-primary {color: var(--main-color);}

.more-btn {display: flex; align-items: center; font-size: var(--text-xl); font-weight: 500; color: var(--main-color); gap:1em; font-family: var(--font-gothic);}

.more-btn--white {color: #fff;}
.more-btn--white .more-btn__arrow {filter:brightness(0) invert(1)}

.badge-more {display:inline-flex; justify-content: center; align-items:center; gap:.8em; width: 10.6em; height: 2.6em; background:var(--main-color, #a07a3c); color:#fff; font-size:var(--text-xl); font-weight:500; font-family: var(--font-gothic);}
.badge-more__arrow {width: 2.625em; filter:brightness(0) invert(1)}

.section-header {display: flex; justify-content: space-between; align-items: flex-end;}
.section-header--center {display: block; text-align: center;}
.section-header__info {display: flex; flex-direction:column; gap:2.625em;}
@media(max-width:768px){
	.section-header__info {gap:1.25em;}
	.section-header {flex-direction: column; justify-content: flex-start; align-items: flex-start; gap:2em;}
}

.section-header__eyebrow {margin-bottom: 1.5em; font-size: var(--text-xl); color: var(--main-color); letter-spacing: 0.15em;}
.section-header__title {font-size: 3em; line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; color: var(--gray-900);}
.section-header__text {display: flex; flex-direction:column; gap:1.8em;}
.section-header__desc {font-size: var(--text-xl); font-weight: 500; line-height: 1.4; letter-spacing: -0.025em; color: var(--gray-800); font-family: var(--font-gothic);}

.intro-panel {padding:6.25em 0; background-color: var(--secondary);}
.intro-panel__container {display: flex; flex-direction:column; gap:5em;}
.intro-panel__frame {border-radius:3.75em; overflow: hidden; box-shadow:var(--shadow-1)}

.solution-program {padding:6.25em 0;}
.solution-program__container {display: flex; flex-direction: column; gap:5em;}
.solution-program__split {display: flex; flex-direction: column; gap:2.5em;}
.solution-program__panel {display: flex; align-items: center; flex-wrap:wrap; gap:3.75em;}
.solution-program__panel:nth-child(2n) {flex-direction: row-reverse;}
.solution-program__frame {width: 47.1429%; border-radius: 2.5em; overflow: hidden;}
.solution-program__text {flex:1; display: flex; flex-direction:column; gap:2.25em;}
.solution-program__eyebrow {margin-bottom: 0.4em; font-size: var(--text-xl); font-weight: 500; color: var(--main-color); font-family: var(--font-gothic);}
.solution-program__title {font-size: 2.25em; font-weight: 700; color: var(--gray-900);}
.solution-program__desc {margin-top: 1em; font-size: var(--text-xl); font-weight: 500; letter-spacing: -0.03em; color: var(--gray-500);}
.solution-program__ment {font-size: var(--text-lg); font-weight: 500; line-height: 1.6; letter-spacing: -0.03em; color: var(--gray-800);}
@media(max-width:500px){
	.solution-program__panel {flex-direction: column; gap:2em;}
	.solution-program__frame {width: 100%;}
}

.solution-signature {padding:6.25em 0; background-color: var(--secondary);}
.solution-signature__container {display: flex; flex-direction:column; gap:5em;}
.solution-signature__list {display: grid; grid-template-columns: repeat(4, 1fr); gap:1.25em;}
.solution-signature__item {min-width: 0; display: flex; flex-direction:column; border-radius:28px; overflow: hidden; background-color: #fff;}
.solution-signature__text {padding:2em; }
.solution-signature__title {font-size: var(--text-2xl); font-weight: 600; letter-spacing: -0.05em; color: var(--main-color);}
.solution-signature__desc {margin-top: 1.112em; font-size: var(--text-lg); line-height: 1.6; color: var(--gray-800); font-family: var(--font-gothic); letter-spacing: -0.03em;}
@media(max-width:768px){
	.solution-signature__list {grid-template-columns: repeat(2, 1fr);}
	.solution-signature__text {padding:1.25em;}
}

.solution-result {padding:6.25em 0; background-color: var(--third);}
.solution-result__container {display: flex; flex-direction:column; gap:6.25em;}
.solution-result__wrapper {position: relative; z-index: 0;}
.solution-result__swiper {font-family: var(--font-gothic); overflow: hidden;}
.solution-result__case {display: flex; margin-bottom: 0.75em; gap:0.75em;}
.solution-result__frame {position: relative; border-radius:20px; overflow: hidden;}
.solution-result__caption {position: absolute; inset:0; top:auto; display: block; padding: 1em 0.5em; color: #fff; text-align: center; font-size: var(--text-xl); font-weight: 500; letter-spacing: -0.03em;}
.solution-result__info {padding:1.5em;}
.solution-result__title {font-size: 1.75em; font-weight: 600; color: var(--main-color);}
.solution-result__desc {margin-top: 4px; font-size: var(--text-lg); font-weight: 500; line-height: 1.6; letter-spacing: -0.035em; color: var(--gray-800);}
.solution-result__btn {position: absolute; z-index: 1; top: 32%; width: 3.75em; height: 3.75em; border-radius:50%; background-color: var(--main-color); overflow: hidden; transition: opacity 0.3s;}
.solution-result__btn--next {left: 100%; margin-left: 5em;}
.solution-result__btn--prev {right: 100%; margin-right: 5em;}
.solution-result__arrow {width: 100%; height: 100%;}

@media(max-width:1080px){
	.solution-result__info {padding-right: 0; padding-left: 0;}
	.solution-result__title {font-size: var(--text-2xl);}
}

@media(hover:hover) {
	.solution-result__btn:hover {opacity: 0.75;}
}

.solution-equip {padding:6.25em 0;}
.solution-equip__container {display: flex; flex-direction:column; gap:5em;}
.solution-equip__wrapper {position: relative; z-index: 0;}
.solution-equip__swiper {font-family: var(--font-gothic); overflow: hidden;}
.solution-equip__info {}
.solution-equip__content {display: flex; flex-direction: column; gap:1.875em;}
.solution-equip__frame {border-radius:28px; overflow: hidden;}
.solution-equip__btn {position: absolute; z-index: 1; top: 32%; width: 3.75em; height: 3.75em; border-radius:50%; background-color: var(--main-color); overflow: hidden; transition: opacity 0.3s;}
.solution-equip__btn--next {left: 100%; margin-left: 5em;}
.solution-equip__btn--prev {right: 100%; margin-right: 5em;}
.solution-equip__arrow {width: 100%; height: 100%;}
.solution-equip__name {font-size: var(--text-xl); font-weight: 600; color: var(--gray-800); letter-spacing: -0.05em;}
.solution-equip__desc {margin-top: 4px; font-size: var(--text-lg); font-weight: 500; color: #888; letter-spacing: -0.03em;}
.solution-equip__hash {display: flex; margin-top: 1.25em; gap:0.5em;}
.solution-equip__tag {font-size: var(--text-lg); font-weight: 500; letter-spacing: -0.03em; color: var(--main-color);}

@media(hover:hover) {
	.solution-equip__btn:hover {opacity: 0.75;}
}

.sticky-tab {position:sticky; z-index: 10; top:0; margin:4em 0 5.25em; padding:1em 0; background-color: #fff; transition: top .3s;}
.sticky-tab__list {display: flex; flex-wrap:wrap; justify-content: center; align-items: center; gap:0.75em}
.sticky-tab__btn {display: flex; justify-content: center; align-items: center; padding:0.25em 1em; min-height: 2.6em; font-size: var(--text-xl); font-weight: 600; border:1px solid var(--main-color); color: var(--main-color); text-align: center; transition: background-color .3s, color .3s;}
.sticky-tab__btn[aria-selected="true"] {background-color: var(--main-color); color: #fff; letter-spacing: -0.03em;}

:root:not(:has(.header--hide)) .sticky-tab { top: var(--header-height); }

@media(hover:hover){
	.sticky-tab__btn:hover {background-color: var(--main-color); color: #fff;}
}

.ledger { padding: 6.25em 0; }
.ledger__container { display: flex; align-items: flex-start; }
.ledger__frame {position:sticky; top: calc(var(--header-height) + 16px);  width: 44.7143%; border-radius: 40px; overflow: hidden; box-shadow: var(--shadow-1); }
.ledger__info { width: 55.2857%; padding-left: 5.25em;;}
.ledger__eyebrow { font-size: var(--text-xl); letter-spacing: 0.15em; color: var(--main-color); }
.ledger__name { display: block; margin: 0.4em 0 0.7em; font-size: 3em; font-weight: 700; color: var(--gray-900); }
.ledger__position { font-size: 0.5em; font-weight: 500; }
.ledger__desc { font-size: var(--text-lg); line-height: 1.6; letter-spacing: -0.03em; color: var(--gray-700); }
.ledger__body { margin-top: 3em; }
.ledger__wrap { margin-bottom: 3.4em; display: flex; gap:2.625em}
.ledger__wrap:last-child {margin-bottom: 0;}
.ledger__content {flex:1 1 0; min-width: 0;}
.ledger__category { font-size: var(--text-2xl); font-weight: 700; color: var(--gray-900); padding-bottom: 0.65em; max-width:13.5em; margin-bottom: 1.1em; border-bottom: 1px solid var(--main-color); }
.ledger__item { position: relative; margin-bottom: 0.6em; padding-left: 1.35em; font-size: var(--text-xl); font-weight: 500; color: var(--gray-700); letter-spacing: -0.03em; line-height: 1.6; }
.ledger__item:last-child { margin-bottom: 0; }
.ledger__item:before { content: ''; display: block; position: absolute; top: 0.75em; left: 0.45em; width: 5px; height: 5px; background-color: var(--gray-700); border-radius: 50%; }
@media(max-width:1080px){
	.ledger__info {padding-left: 3em;}
}

@media(max-width:768px){
	.ledger__container {display: block;}
	.ledger__frame {position:static; top:auto; width: 100%; aspect-ratio: 4/3;}
	.ledger__img {width: 100%; height: 100%; object-fit: cover; object-position: top center;}
	.ledger__info {margin-top: 2.5em; padding-left: 0; width: 100%;}
	.ledger__wrap {gap:1.5em;}
	.ledger__category {max-width:9.5em;}
}

.location { padding: 6.25em 0; background: url('./img/main_location_bg.jpg') no-repeat center / cover; color: #fff; }
.location--bright { background-image: url('./img/main_location_bg2.jpg'); color: var(--gray-900); }
.location__eyebrow { margin-bottom: 1.64em; font-size: var(--text-xl); letter-spacing: 0.15em; }
.location__container {display: flex; flex-direction: column; gap:3.5em;}
.location__grid { display: flex; }
.location__grid--body { margin-top: 1.5em; }
.location__grid--footer { display: flex; margin-top: 3.9em; }
.location__grid--footer:before { content:''; display: block; width: 52.8572%; }
.location__cell { width: 52.8572%; }
.location__cell--title { font-size: 3em; font-weight: 700; letter-spacing: -0.01em; font-family: var(--font-gothic); }
.location__cell--map { border-radius:40px; overflow: hidden; }
.location__cell--content { flex:1; width: auto; padding-left: 10%; }
.location__body { flex:1; padding-top: 1.55em; }
.location__contact {margin-bottom: 3.75em;}
.location__call { margin-bottom: 0.2em; padding-top: 1.2em; display: flex; align-items: center; font-size: var(--text-xl); font-weight: 500; gap:0.6em; letter-spacing: -0.02em; }
.location__call:before { content:''; display: block; width: 1.3em; height: 1.3em; background: url('./img/icon_tel.svg') no-repeat center / cover; }
.location__tel {display: inline-block; font-size: 3em; font-weight: 700; font-family: var(--font-gothic); letter-spacing: -0.01em; }
.location__cell--meta { font-family: var(--font-gothic); }
.location__row { display: flex; font-family: var(--font-gothic); }
.location__row:first-child { padding-top: 2.25em; }
.location__dt { min-width: 10em; font-size: var(--text-xl); font-weight: 700; letter-spacing: -0.02em; }
.location__row { margin-bottom: 1.65em; }
.location__row:last-child { margin-bottom: 0; }
.location__content { margin-bottom: 1.5em; }
.location__content:last-child { margin-bottom: 0; }
.location__item { display: grid; grid-template-columns: 7.9em 1fr; margin-bottom: 0.35em; font-size: var(--text-xl); font-weight: 500; letter-spacing: -0.02em; line-height: 1.6; }
.location__item--addr { display: flex; flex-direction:column; row-gap:.35em; }
.location__item:last-child { margin-bottom: 0; }
.location--bright .location__grid--body { color: var(--gray-700); }
.location--bright .location__call:before {filter:brightness(0)}
.location .wrap_controllers {display: none;}
.location .root_daum_roughmap {width: 52.8572%;}
.location .root_daum_roughmap .wrap_map {height: 100%; min-height: 37.5em;}
.location .cont {display: none;}

@media(max-width: 1080px){
	.location__grid--header {flex-direction: column;}
	.location__grid--body {display: block;}	
	.location__cell--content {margin-top: 2em; padding-left: 0; display: flex; flex-wrap:wrap; width: 100%; gap:2em;}
	.location__contact {width: 100%; margin-bottom: 0;}
	.location .root_daum_roughmap {width: 100%; height: 40dvh;}
	.location__row {flex-direction: column; flex:1;}
	.location__row:first-child {padding-top: 0;}
	.location__dt {min-width: auto; margin-bottom: 1em;}
	.location__grid--footer:before {display: none;}
}

@media(max-width:500px){
	.location__cell {width: 100%;}
	.location__row {flex:none; width: 100%;}
	.location__info {display: flex; gap:2em;}
	.location__content {flex:1; margin-bottom: 0;}
	.location__item {grid-template-columns: 7.2em 1fr;}
}

/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/


/************************* header_inc 끝*************************/
.header {font-family: var(--font-gothic); --sub-height : 3.75em;}
.header__fix {position: fixed; inset:0; bottom:auto; z-index: 100; transition: transform 0.3s ease-in-out, background-color 0.3s;}
.header__fix:before {content:''; position: absolute; z-index: -1; top: 100%; left: 0; width: 100%; height: 0; display: block; background-color: #fff; transition: height 0.3s;}
.header__container {position: relative;}

@media(max-width:768px){
	.header__container { display: flex; justify-content: space-between; align-items: center; height: var(--header-height); padding:0 4%;}
}

.header-home {position: absolute; top: 50%; left: 0; transform:translateY(-50%); width: 100%; z-index: 50; pointer-events:none;}
.header-home__link {display: inline-block; pointer-events:auto;}
.header-home__logo {width: 9.9413em; filter:brightness(0) invert(1); transition: .3s filter;}
@media(max-width:768px){
	.header-home {position: static; transform:none; width: auto; pointer-events: auto;}
	.header-home__logo {width: 7.5em;}
}

.header-nav {transition: box-shadow .3s,}
.header-nav__main-list { display: flex; justify-content: center; align-items: center; }
.header-nav__main-item {position: relative;  text-align: center; }
.header-nav__main-btn { display: flex; justify-content: center; align-items: center; width: 10em; height: var(--header-height); color: #fff; white-space:nowrap; transition: color .3s;}
.header-nav__main-btn[aria-current="page"] {color: var(--main-color);}
.header-nav__sub-wrap { position: absolute; z-index: 1; top: 100%; left: 50%; transform:translateX(-50%); min-width: 100%; display: grid; grid-template-rows: 0fr; visibility: hidden; overflow: hidden; transition: grid-template-rows 0.3s ease, visibility 0.3s ease; }
.header-nav__sub-wrap[aria-hidden="false"] { grid-template-rows: 1fr; visibility: visible; }
.header-nav__sub-list { min-height: 0; display: flex; justify-content: center; gap:var(--text-xl);}
.header-nav__sub-item { text-align: left;}
.header-nav__sub-btn {display: flex; justify-content: center; align-items: center; height: var(--sub-height); white-space:nowrap; transition: color .3s;}
.header-nav__sub-btn[aria-current="page"] {color: var(--main-color);}
.header-nav__cate-list { display: flex; flex-direction: column; }

@media(hover:hover){
	.header-nav__main-btn:hover {color: var(--main-color);}
	.header-nav__sub-btn:hover {color: var(--main-color);}
}

@media(max-width:768px){
	.header-nav {position: fixed; z-index: 0; top: 0; left: 0; transform:translateY(-100%); display: flex; align-items: center; padding: var(--header-height) 4%; width: 100%; height: 100dvh; transition: transform 0.35s ease-in-out;}
	.header-nav:before {content:''; display: block; position: absolute; inset:0; z-index: -1; background-color: var(--secondary);}
	.header-nav__main-list {flex-direction: column; align-items: flex-start; gap:4em;}
	.header-nav__main-item {text-align:left;}
	.header-nav__main-btn {display: inline-block; width: auto; height: auto; font-size: var(--text-2xl); font-weight: 700; color: var(--gray-700);}
	.header-nav__sub-wrap {position:static; transform:none; display: block; visibility:visible; overflow: visible;}
	.header-nav__sub-list {justify-content: flex-start; gap:1em 1.5em; flex-wrap:wrap; margin-top: 1em; padding-top: 1em; border-top:1px solid var(--gray-300)}
	.header-nav__sub-btn {height: auto; font-size: var(--text-lg);}

	.header-nav--open {transform: translateY(0);}
}

.hamburger {display: none; position: relative; width: 24px; height: 16px;}
.hamburger__bar {position: absolute; left: 0; width: 100%; height: 2px; background-color: #fff; transition: 0.3s;}
.hamburger__bar:first-of-type {top: 0;}
.hamburger__bar:nth-of-type(2) {top: 50%; transform:translateY(-50%);}
.hamburger__bar:last-of-type {bottom: 0;}

@media(max-width:768px){
	.hamburger {display: block;}
}

.hamburger--open .hamburger__bar:first-of-type { top: 50%; transform: translateY(-50%) rotate(45deg); transition: transform 0.3s, top 0.3s;}
.hamburger--open .hamburger__bar:nth-of-type(2) {opacity: 0;}
.hamburger--open .hamburger__bar:last-of-type { bottom: 50%; transform: translateY(50%) rotate(-45deg); transition: transform 0.3s, bottom 0.3s;}


.header--hide .header__fix {transform:translateY(-100%)}

.header--toggle .header__fix {background-color: #fff;}
.header--toggle .header-home__logo {filter:brightness(1) invert(0)}
.header--toggle .header-nav {box-shadow:var(--shadow-1)}
.header--toggle .header-nav__main-btn {color: var(--gray-900);}
.header--toggle .header-nav__main-btn[aria-current="page"] {color: var(--main-color);}
.header--toggle .hamburger__bar {background-color: var(--gray-900);}
@media(hover:hover){
	.header--toggle .header-nav__main-btn:hover {color: var(--main-color);}
}

.header--active .header__fix:before {height: var(--sub-height);}



/************************* footer_inc 시작 *************************/
.footer {background-color: var(--secondary); border-top:1px solid #181818;}
.footer__grid {display: grid; grid-template-columns: repeat(2, 1fr); min-height: 444px;}
.footer__cell {display: flex; flex-direction:column; justify-content: space-between; gap:2em; min-width: 0; padding:3.75em 0 2.45em; border-right:1px solid #181818;}
.footer__cell--contact {font-family: var(--font-gothic); padding-left: 2em;}
.footer__cell:last-child {border-right:none;}
.footer__home {display: inline-block; transform:translateX(-1.5em)}
.footer__logo {width: 17.4375em}
.footer__slogan {font-size: 2.375em; line-height: 1.2; letter-spacing: -0.015em; color: var(--gray-700);}
.footer__dt {margin-bottom: 0.4em; font-size: var(--text-xl); font-weight: 600; color: var(--gray-700); letter-spacing: -0.03em;}
.footer__dd { font-size: var(--text-lg); color: var(--gray-700); letter-spacing: -0.03em;}
.footer__dd span {display: block; margin-bottom: 0.25em;}
.footer__dd span:last-of-type {margin-bottom: 0;}
.footer__contact {display: flex; justify-content: space-between; align-items: center;}
.footer__info {display: flex; align-items: center; gap:1.875em;}
.footer__detail {color: var(--gray-500); letter-spacing: -0.03em;}
.footer__cprt {color: var(--gray-400); text-transform: uppercase;}
@media(max-width: 1440px){
	.footer__grid {min-height: auto;}
	.footer__contact {display: block; line-height: 1.6;}
	.footer__info  {display: block;}
}

@media(max-width: 768px){
	.footer__logo {width: 9.5em;}
	.footer__slogan {font-size: 2em;}
}

@media(max-width: 500px) {
	.footer__home {transform: translateX(-0.8em);}
	.footer__grid {display: block;}
	.footer__cell {padding: 2em 0; border-right:none;}
	.footer__cell--contact {padding-left: 0; border-top: 1px solid #181818} 	
}

/************************* footer_inc 끝 *************************/


/************************* split-text *************************/
.split-text__word {font-size: inherit;}
.split-text__letter {display: inline-block; font-size: inherit;}
.split-text--no-delay .split-text__letter {transition-delay:0s !important; animation-delay:0s !important;}