
/* common design, sub design */
.hide-menu {display: none !important;}
.text-ellipsis {-webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; word-break: break-word; display: -webkit-box; -webkit-box-orient: vertical;}

.main-title-con {text-align: center; padding-bottom: 6rem;} 
.main-category {padding-bottom: 2rem; font-size: 2.4rem; font-weight: 500; letter-spacing: -0.08rem; color: var(--main-color);}
.main-title {font-size: 4.6rem; font-weight: 700; letter-spacing: -0.16rem; line-height: 1.4; color: #000;}  

/* scroll intro */
.scroll-intro 
{position: relative; height: 200vh;}  
.scroll-intro-sticky 
{position: sticky; top: 0; height: 100vh; overflow: hidden;}  
.scroll-intro-bg 
{position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 90%; height: 38rem;  border-radius: 4rem; overflow: hidden; transform-origin: center; background-color: #000;}  
.scroll-intro-bg img 
{width: 100%; height: 100%; object-fit: cover;}  
.scroll-intro-content 
{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; opacity: 0; text-align: center;}
.scroll-intro-content * 
{color: #fff;}

/* sub-content */
.sub-content .sub-page-bg
{margin: 12rem 0;}
.sub-content .sub-con
{margin: 12rem 0;}
.sub-content .sub-area
{position: relative;}

.sub-content .sub-title-con .sub-title
{position: relative; padding-top: 5rem; text-align: center;}
.sub-content .sub-title-con .sub-title h2
{font-size: 5.4rem; font-weight: 700; letter-spacing: -0.16rem; color: #000; font-family: 'Suit';}

/* subVisual */
#subVisual {position: relative; overflow: hidden;}
#subVisual .sub-vis-title h2,.sub-vis-detail h2 {text-shadow: 0 0 10px #00000050; font-family: 'Suit';}
#subVisual .vis-title-con .sub-vis-title-bar {display: block; width: 1px; height: 10rem; background-color: #fff;}
#subVisual .sub-page-menu {position: absolute; bottom: 0; width: 100%;}
#subVisual .sub-page-menu nav {justify-content: center; backdrop-filter: blur(5px); background: #ffffff30;}
#subVisual .sub-page-menu nav a::after {width: 0; left: 50%; transform: translateX(-50%);}
#subVisual .sub-page-menu nav a:hover::after {width: 100%;}
#subVisual .sub-visual-bg {position: absolute; inset: 0; z-index: -1; background-size: cover; }


/* sub-breadcrumb */
#Breadcrumb_page_name * 
{position: relative; z-index: 2;}
.breadcrumb-current-wrap
{display: flex; align-items: center; gap: 2.5rem; justify-content: center;}
.breadcrumb-current-wrap *
{position: relative;  font-size: 1.7rem; color: #9f9f9f; font-weight: 500; letter-spacing: -0.04rem; transition: .3s;}
.breadcrumb-current-wrap a i 
{padding-right: 0.5rem;}
.breadcrumb-current-wrap span::before
{content: ""; position: absolute; left: -1.8rem; top: 30%; width: 8px; height: 8px; border-bottom: 1px solid #9f9f9f; border-right: 1px solid #9f9f9f; transform: rotate(-45deg);}
.breadcrumb-current-wrap span:nth-of-type(1):before
{display: none;}
#Breadcrumb_page_name .breadcrumb-page
{color: #444;}
.breadcrumb-current-wrap a:hover {color: var(--main-color);}

/* sitemap */
#sitemap 
{opacity: 1; min-width: 3rem; transition: all 0.2s ease; cursor: pointer;}
#sitemap:hover 
{opacity: 0.6;}
.dialog-widget-content 
{background-color: #fff !important; backdrop-filter: blur(10px);}
svg.e-font-icon-svg 
{width: 3.5rem !important; height: 3.5rem !important; z-index: 5;}
.elementor-popup-modal .dialog-close-button
{top: 5rem; right: 5rem;}
.sitemap-con {position: relative; height: 100%;}
.sitemap-con::before {opacity: 0.3; content: ""; position: absolute; top: 10%; left: -5%; width: 54rem; height: 67rem; background: url('/wp-content/uploads/2026/08/sitemap-bg.png') no-repeat center / contain; z-index: 1;}

.sitemap-wrap .sub-menu-wrap {gap: 3rem; padding: 5rem 4rem; border-right: 1px solid #dfdfdf;}
.sitemap-wrap .sub-menu-wrap:nth-last-of-type(1) {border-right: 0;}
.sitemap-wrap .sub-menu-wrap .sub-menu-title h2 {font-size: 3.2rem; font-weight: 600; color: #000;}
.sitemap-wrap .sub-menu-wrap .sub-menu nav > ul {flex-direction: column; width: 100%;}
.sitemap-wrap .sub-menu-wrap .sub-menu nav > ul li a {padding: 1.2rem 0; font-size: 1.8rem; font-weight: 400; color: #999999;}
.sitemap-wrap .sub-menu-wrap .sub-menu nav>ul li a::after {width: 0; height: 2px; background-color: var(--main-color) !important;}
.sitemap-wrap .sub-menu-wrap .sub-menu nav>ul li a:hover::after,
.sitemap-wrap .sub-menu-wrap .sub-menu nav>ul li a.elementor-item-active::after {width: 100%;}
.sitemap-wrap .sub-menu-wrap .sub-menu nav>ul li a:hover,
.sitemap-wrap .sub-menu-wrap .sub-menu nav>ul li a.elementor-item-active {color: var(--main-color); margin: 0 1rem;}

/* header,footer */
#top {display: none; position: fixed; bottom: 6rem; right: 6rem; cursor: pointer; z-index: 20; border-radius: 1.5rem; overflow: hidden;}

#header {position: fixed; transition: all 0.3s ease-in-out; z-index: 99; }
#header::before {content: ""; position: absolute; width: 100%; height: 25rem; background: linear-gradient(to bottom, #00000050, #00000000); pointer-events: none;}
#header.fixed {position: fixed !important; top: 0; left: 0; width: 100%;}
#header.fixed::before {height: 15rem;}

.footer-con {padding: 8rem 0; background-color: #131313;}
.footer .footer-row {display: flex; justify-content: space-between; align-items: stretch;}
.footer .footer-row .footer-left .site-name {font-size: 2.4rem; font-weight: 600; color: #fff;}
.footer .footer-row .footer-left .footer-info-list {padding-top: 3.5rem; display: flex; flex-direction: column; gap: 2rem;}
.footer .footer-row .footer-left .footer-info-list .footer-info {display: flex; gap: 1.5rem;}
.footer .footer-row .footer-left .footer-info-list .footer-info .value-name {font-size: 1.8rem; font-weight: 600; color: #fff;}
.footer .footer-row .footer-left .footer-info-list .footer-info .value-detail {font-size: 1.8rem; font-weight: 300; letter-spacing: -0.06rem; color: #ddd;}
.footer .footer-row .footer-right {display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end;}
.footer .footer-row .footer-right .footer-policy a {font-size: 1.7rem; color: #fff; transition: var(--trans);}
.footer .footer-row .footer-right .footer-policy a:hover {color: var(--main-color);}
.footer .footer-row .footer-right .footer-bottom {text-align: end;}
.footer .footer-row .footer-right .copyright {padding-top: 3.5rem; font-size: 1.8rem; color: #444; font-weight: 400; letter-spacing: -0.04rem;}