@charset "utf-8";

/* 공통 시작 */
.cinner {max-width: 1400px;margin: 0 auto;}

@media all and (max-width: 1499px){
    .cinner {margin: 0 50px;}
}
@media all and (max-width: 1399px){
    .cinner {margin: 0 30px;}
}
@media all and (max-width: 640px){
    .cinner {margin: 0 20px;}
}
/* 공통 끝 */


/* top btn 시작 */
#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5);transition: .35s;}
#top_btn:hover {border-color:var(--color-main);background:var(--color-main);color:#fff}
/* top btn 시작 */



/* header 시작 */
#header {width: 100%;height: 95px;background: #fff;position: fixed;top: 0;left: 0;z-index: 999;transition: .35s;}
.header__nav {height: 100%;}
.header__nav .nav {height: 100%;}
.header__nav .cinner {display: flex;justify-content: space-between;align-items: center;height: 100%;}
.header__nav .header__logo a {display: block;width: 315px;}
#main-nav {height: 100%;}
.main-nav__depth1 {height: 100%;}
.main-nav__depth1 .mn-ul1 {display: flex;height: 100%;}
.main-nav__depth1 .mn-li1 {position: relative;}
.main-nav__depth1 .mn-a1 {display: flex;align-items: center;min-width: 70px;height: 100%;padding: 0 25px;color: #111;font-size: 1.10em;font-family: var(--font-Godo);font-weight: 500;text-align: center;}
.main-nav__depth2 {display:none;min-width: 160px;background: rgba(0,0,0,.6);position: absolute;top: 100%;left: 50%;z-index: 100;transform: translateX(-50%);}
.main-nav__depth2 .mn-ul2 {width: 100%;}
.main-nav__depth2 .mn-li2 {border-bottom: 1px solid rgba(0, 0, 0, 0.03);box-sizing: border-box;}
.main-nav__depth2 .mn-a2 {display: block;width: 100%;padding: 15px;box-sizing: border-box;color: #a8a6b0;font-size: 18px;font-weight: 500;text-align: center;transition: .35s;}
.main-nav__depth2 .mn-a2:hover,
.main-nav__depth2 .mn-a2:focus {color: #fff;}
.header__nav .nav__btn {display: none;}

/* 헤더 스크롤시 */
#header.scrolled {/* background: rgba(0,0,0,.6); *//* backdrop-filter: blur(5px); */}

@media all and (max-width: 1399px){
    .main-nav__depth1 .mn-a1 {/* padding: 0 30px; */}
}
@media all and (max-width: 1199px){
	#header {height: 80px;}
	.header__nav .header__logo a {width: 240px;}
	.main-nav__depth1 .mn-a1 {font-size: 1.0em;}
}
@media all and (max-width: 1024px){
	#main-nav {display: none;}
	.header__nav .nav__btn {display: block;position: absolute;top: 50%;right: 30px;transform: translateY(-50%);}
    .header__nav .nav__btn a {display: flex;align-items: center;width: 34px;height: 26px;position: relative;}
    .header__nav .nav__btn a::before,
    .header__nav .nav__btn a::after {content: '';display: block;width: 100%;height: 3px;background: #111;position: absolute;left: 0;right: 0;margin: auto;}
    .header__nav .nav__btn a::before {top: 0;}
    .header__nav .nav__btn a::after {bottom: 0;}
    .header__nav .nav__btn a span{display: block;width: 100%;height: 3px;background: #111;}

	#header.sub-header .header__nav .nav__btn a span,
	#header.sub-header .header__nav .nav__btn a::before, 
	#header.sub-header .header__nav .nav__btn a::after {background: #202020;}
}
@media all and (max-width: 640px){
    .header__nav .header__logo a img {max-width: 85%;}
	.header__nav .nav__btn {right: 20px;}
    .header__nav .nav__btn a {width: 26px;height: 20px;}
    .header__nav .nav__btn a::before, 
    .header__nav .nav__btn a::after,
    .header__nav .nav__btn a span {height: 2px;}
}
@media all and (max-width: 480px){
}
/* header 끝 */

/* sidebar 시작 */
#sidebar {display: none;width: 100%;height: 100%;background: #fff;position: fixed;top: 0;left: 0;z-index: 9999;box-shadow: 0 0 5px 5px rgba(50, 60, 70, 0.15);-webkit-box-shadow: 0 0 5px 5px rgba(50, 60, 70, 0.15);}
.sidebar__header {height: 85px;background: var(--color-main);position: relative;} 
.sidebar__header .cinner {display: flex;justify-content: space-between;align-items: center;height: 100%;} 
.sidebar__header-logo {display: block;width: 240px;} 
.sidebar__header-logo img {max-width: 100%; } 
.sidebar__btn-close {display: flex;align-items: center;width: 40px;height: 29px;position: relative;} 
.sidebar__btn-close::before, 
.sidebar__btn-close::after {content: '';display: block;width: 100%;height: 3px;background: #fff;position: absolute;top: 0;left: 0;right: 0;bottom: 0;margin: auto;} 
.sidebar__btn-close::before {transform: rotate(45deg);} 
.sidebar__btn-close::after {transform: rotate(-45deg);}

.sidebar__cont {height: calc(100vh - 80px);padding: 60px 0;border-top: 1px solid rgba(255,255,255,.3);box-sizing: border-box;background: #fff;/* overflow-y: auto; */}
.sidebar__menu {height: 100%;overflow: hidden;overflow-y: auto;}
.sidebar__menu_depth1 {width: 100%;overflow-y: auto;}
.sidebar__menu_depth1::-webkit-scrollbar {width: 0px;border-radius: 10px;}
.sidebar__menu_depth1::-webkit-scrollbar-thumb {background-color: #000;border-radius: 10px;}
.sidebar__menu_depth1::-webkit-scrollbar-track {background-color: unset;border-radius: 10px;}
.sidebar__menu_depth1 .sm-ul1 {display: flex;align-items: flex-start;flex-flow: row wrap;gap: 30px 60px;}
.sidebar__menu_depth1 .sm-li1 {width: calc(25% - 45px);}
.sidebar__menu_depth1 .sm-a1 {display: block;padding: 10px 0;border-bottom: 2px solid #000;box-sizing: border-box;font-size: 18px;font-weight: 500;}
.sidebar__menu_depth2 .sm-ul2 {margin-top: 15px;}
.sidebar__menu_depth2 .sm-li2 {padding: 4px 0;}
.sidebar__menu_depth2 .sm-a2 {color: #333;font-size: 16px;font-weight: 500;transition: .35s;}
.sidebar__menu_depth2 .sm-li2.active .sm-a2 {color: var(--color-main);font-weight: 600;}
.sidebar__menu_depth2 .sm-s2 {display: inline-block;padding-left: 10px;position: relative;}
.sidebar__menu_depth2 .sm-s2::before {content: '';display: block;width: 3px;height: 3px;background: #333;position: absolute;top: 0;bottom: 0;left: 0;margin: auto;transition: .35s;}
.sidebar__menu_depth2 .sm-a2:hover .sm-s2::before,
.sidebar__menu_depth2 .sm-a2:focus .sm-s2::before,
.sidebar__menu_depth2 .sm-li2.active .sm-s2::before {background: var(--color-main);}
.sidebar__menu_depth3 .sm-li3 {padding: 3px 0;}
.sidebar__menu_depth3 .sm-a3 {color: rgba(255,255,255,.4);font-size: .90em;padding: 5px 0;}
.sidebar__menu_depth3 .sm-a3:hover,
.sidebar__menu_depth3 .sm-a3:focus {color: #fff;text-decoration: underline;text-underline-offset: 4px;}

[class*=sidebar__menu_depth] a {font-family: var(--font-Godo);transition: .35s;}
[class*=sidebar__menu_depth] a:hover,
[class*=sidebar__menu_depth] a:focus {color: var(--color-main);}

@media all and (max-width: 1199px){
	.sidebar__menu .cinner {margin: 0;}
	.sidebar__menu_depth1 {width: 100%;height: auto;margin-top: 0;} 
	.sidebar__menu_depth1 .sm-ul1 {display: block;width: 100%;} 
	.sidebar__menu_depth1 .sm-li1 {width: 100%;border-bottom: 1px solid #EBEBEB;box-sizing: border-box;position: relative;} 
	.sidebar__menu_depth1 .sm-a1 {display: block;width: 100%;margin: 0;padding: 20px 30px;border-bottom: 0;}
	.sidebar__menu_depth1 .sm-li1:has(.sidebar__menu_depth2) .toggle-arrow {display: block;width: 16px;height: 16px;border-top: 2px solid #303030;border-right: 2px solid #303030;transform: rotate(135deg);position: absolute;top: 28px;right: 38px;cursor: pointer;transition: transform 0.3s ease-in-out;}
	.sidebar__menu_depth1 .sm-li1:has(.sidebar__menu_depth2).active .toggle-arrow {transform: rotate(-45deg);}
	.sidebar__menu_depth1 .sm-li1:not(:last-child) {margin-bottom: 0;} 
	.sidebar__menu_depth2 {width: 100%;max-height: 0;overflow: hidden;background: #f4f4f4;transition: max-height 0.3s ease-in-out;}
	.sidebar__menu_depth2.open {display: block;max-height: 500px;}
	.sidebar__menu_depth2 .sm-ul2 {margin-top: 0;padding: 10px 0;border-top: 1px solid #EBEBEB;box-sizing: border-box;} 
	.sidebar__menu_depth2 .sm-li2 {padding: 0;}
	.sidebar__menu_depth2 .sm-a2 {display: block;padding: 10px 30px;color: #666;font-weight: 500;}
	.sidebar__menu_depth2 .sm-li2.active .sm-a2 {color: var(--color-main);font-weight: 600;}
	.sidebar__menu_depth2 .sm-s2 {display: inline-block;padding-right: 12px;position: relative;}
}
@media all and (max-width: 1024px){
	.sidebar__header {height: 80px;}
	.sidebar__cont {padding: 0;}
}
@media all and (max-width: 640px){
    .sidebar__header-logo img {max-width: 85%;}
    .sidebar__menu_depth1 .sm-li1:has(.sidebar__menu_depth2) .toggle-arrow {width: 12px;height: 12px;top: 27px;right: 28px;}
	.sidebar__btn-close {width: 26px;height: 20px;}
    .sidebar__btn-close::before, 
    .sidebar__btn-close::after {height: 2px;}
}
/* sidebar 끝 */

/* footer 시작 */
#footer {padding: 40px 0 60px;background: #384044;}
.footer__cont .cinner {display: flex;align-items: center;gap: 0 100px;position: relative;}
.footer__logo {flex: 0 0 auto;width: 250px;}
.footer__logo > img {max-width: 100%;}
.footer__links {margin-bottom: 15px;}
.footer__links .links {display: flex;}
.footer__links .links > li:not(:last-child) {margin-right: 10px;padding-right: 10px;position: relative;}
.footer__links .links > li:not(:last-child)::after {content: '';display: block;width: 1px;height: 15px;background: #fff;position: absolute;top: 0;bottom: 0;right: 0;margin: auto;}
.footer__links .links > li > a {color: #fff;font-size: 16px;font-weight: 500;}
.footer__info {display: flex;flex-direction: column;gap: 5px;margin-bottom: 24px;}
.footer__info .info {display: flex;flex-wrap: wrap;gap: 5px 10px;}
.footer__info .info > li {color: #fff;font-size: 16px;font-weight: 500;position: relative;}
.footer__info .info > li:not(:last-child) {padding-right: 10px;}
.footer__info .info > li:not(:last-child)::after {content: '';display: block;width: 1px;height: 15px;background: #fff;position: absolute;top: 0;bottom: 0;right: 0;margin: auto;}
.footer__info .info > li > address {font-style: normal;}
.footer__info .info > li em {font-style: normal;}

.footer__copy > p {color: #939393;font-size: 16px;font-weight: 500;}

@media all and (max-width: 1399px){
	#footer {padding: 40px 0 50px;}
	.footer__cont .cinner {gap: 0 60px;}
}
@media all and (max-width: 1024px){
	.footer__cont .cinner {flex-direction: column;align-items: flex-start;gap: 30px 0;}
	.footer__logo {width: 220px;}
	.footer__info {margin-bottom: 20px;}
}
@media all and (max-width: 640px){
	.footer__logo {width: 200px;}
	.footer__cont .cinner  {gap: 20px 0;}
	.footer__links .links > li > a,
	.footer__info .info > li {font-size: 14px;}
}
/* footer 끝 */


/* sub visual 시작 */
#sub-visual {display: flex;flex-direction: column;align-items: center;height: 400px;position: relative;}
.sub-visual__img {background-size: cover;background-position: center center;background-repeat: no-repeat;position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 0;}
.sub-visual__img img {width: 100%;height: 100%;position: absolute;top: 0;left: 50%;transform: translateX(-50%);}
.sub-visual__cont {display: flex;align-items: center;justify-content: center;flex: 0 1 auto;width: 100%;height: 100%;padding-top: 95px;z-index: 1;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.sub-visual__cont .title {color: #fff;font-size: 2.0em;font-weight: 500;text-align: center;}
.sub-visual__cont .location {display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 10px 30px;margin-top: 10px;}
.sub-visual__cont .location > li {position:relative;}
.sub-visual__cont .location > li > a {color: #fff;text-align: center;}
.sub-visual__cont .location > li.home > a {display: block;width: 24px;}
.sub-visual__cont .location > li:not(:last-child)::after {content:'';display:block;width: 8px;aspect-ratio: 1 / 1;border-top: 1px solid #fff;border-right: 1px solid #fff;box-sizing: border-box;position: absolute;top: 50%;right: -15px;transform: rotate(45deg) translateY(-50%);}

#cnavi {height: 56px;position: absolute;left: 50%;bottom: 0;transform: translate(-50%, 50%);z-index: 990;}
.cnavi-in {height: 100%;padding: 0 66px;background: #fff;box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.08);-webkit-box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.08);-moz-box-shadow: 3px 0px 3px 0px rgba(0,0,0,0.08);}
.cnavi__list {display: flex;align-items: center;gap: 0 64px;height: 100%;margin: 0 auto;box-sizing: border-box;overflow: hidden;background: #fff;overflow-x: auto;overflow-y: hidden;white-space: nowrap;}
.cnavi__list > li > a {font-weight: 600;transition: .35s;}
.cnavi__list > li > a:hover,
.cnavi__list > li > a:focus,
.cnavi__list > li.active > a {color: var(--color-main);}

@media all and (max-width: 1499px){
	#cnavi {max-width: calc(100% - 50px);}
	.cnavi-in {padding: 0 30px;}
}
@media all and (max-width: 1399px){
	#cnavi {max-width: calc(100% - 30px);}
	.cnavi__list {gap: 0 40px;}
}
@media all and (max-width: 1199px){
	.sub-visual__cont {padding-top: 80px;}
}
@media all and (max-width: 1024px){
	.cnavi__list {gap: 0 30px;}
}
@media all and (max-width: 768px){
	.cnavi__list {gap: 0 20px;}
}
@media all and (max-width: 640px){
	#cnavi {max-width: calc(100% - 20px);}
}
/* sub visual 끝 */