/* sitemap-B */
#sitemap {opacity: 1; min-width: 3rem; transition: all 0.2s ease;}
#sitemap:hover {opacity: 0.6;}
.dialog-widget-content {backdrop-filter: blur(10px);}
svg.e-font-icon-svg {width: 3.5rem !important; height: 3.5rem !important; z-index: 5;}
/* sitemap::after design */
.sitemap-wrap .elementor-heading-title {position: relative; display: inline-block;}
.sitemap-wrap .elementor-heading-title::after {content: ''; position: absolute; top: -1.5rem; right: -1rem; width: 1rem; height: 1rem; transform: translateY(-30px); border-radius: 50%; background-color: var(--main-color); opacity: 0; transition: all 0.3s ease;}
.sitemap-wrap .sitemap-sub:hover .elementor-heading-title::after {opacity: 1; transform: translateY(0px);}

/* .filter {filter: invert(1) brightness(0);} */
.hide-menu {display: none !important;}

/* sub visual */
#subVisual {position: relative; overflow: hidden;}
#subNav .elementor-item:after {display:none;}
#subNav .elementor-item:hover,#subNav .elementor-item-active {background-color: var(--bg-color);}
#subVisual #subNav ul.elementor-nav-menu li:last-child a:after { display: none; } 
#subVisual #subNav ul.elementor-nav-menu li.current-menu-item a, #subVisual #subNav ul.elementor-nav-menu li.current-page-ancestor a {color: var(--main-color);} 
#subNav .elementor-item {border-bottom: 3px solid transparent;}
#subNav .elementor-item:hover {border-bottom:3px solid var(--main-color); border-radius:0;} 

#subVisual .sub-vis-title h2 {font-family: 'MaruBuri';}
#subVisual .sub-vis-detail p {font-family: 'MaruBuri'; font-weight: 600; opacity: 0.8;}


/* common design, sub design */
.sub-content
{padding: 12rem 0;}
.sub-con 
{margin: 10rem 0;}
.sub-sec 
{margin: 8rem 0;}
.sub-sec:nth-child(even)
{padding: 8rem 0; background-color: #f5f5f5;}
.sub-title-con 
{text-align: center;}
.sub-title
{position: relative; text-align: center; display: inline-block;}
.sub-title h2
{position: relative; display: inline-block; text-align: center; font-size: 4.8rem; font-weight:700; font-family: 'MaruBuri'; z-index: 3;}
.sub-title::before
{content: ""; position: absolute; top: -1.8rem; left: -1.8rem; width: 4rem; height: 4rem; border-radius: 50%; border: 9px solid var(--main-color); z-index: 1;}
.sub-title::after
{content: ""; position: absolute; top: -2px; left: -2px; width: 3.5rem; height: 3.5rem; background-color: #fff; z-index: 2;}

/* header,footer,top */
#top 
{position: fixed; bottom: 38%; right: 2rem;}
.top-wrap
{background-color: #252a30; border-radius: 1rem; padding: 0.5rem;}
.top-wrap li
{text-align: center;}
.top-wrap a
{display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 1rem; border-radius: 0.5rem; transition: all 0.3s ease;}
.top-wrap a .btn-name
{color: #fff; font-size: 1.4rem; font-weight: 300;}
.top-wrap .top-tel i
{font-size: 3.5rem; color: #fff;}
.top-wrap a:hover
{background-color: var(--main-color);}



#header {position: fixed; background-color: transparent; transition: all 0.3s ease-in-out; z-index: 99;}
#header.fixed {position: fixed !important; top: 0; left: 0; background-color: #fff; width: 100%; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.1);}

#header .filter {transition: all 0.3s ease;}
#header.fixed .filter {filter: invert(1) brightness(0);}
#header .filter:hover {opacity: 0.5;}

.h-logo {position: relative; display: block; height: 5rem;}
.h-logo a {display: block; position: absolute; top: 0; left: 0; transition: opacity 0.3s ease;}
.h-logo .h-logo-b {opacity: 0; transition: all 0.3s ease;}
#header.fixed .h-logo-b {opacity: 1;}
#header.fixed .elementor-nav-menu--main .elementor-item {color: var(--txt-color);}

#footer {box-shadow: 0 -3px 3px rgba(0 0 0 / 3%);}
.footer-container
{padding: 6.5rem 0 5rem;}
.footer-logo
{padding-bottom: 3rem;}
.footer-middle-con
{padding-bottom: 3.5rem; border-bottom: 1px solid #bbbbbb; display: flex; flex-flow: row wrap; justify-content: space-between; align-items: flex-end;}
.adress-top-wrap
{padding-bottom: 2rem;}
.adress-item
{font-size: 1.8rem; color: #060606; font-weight: 700;}
.adress-item .detail-name
{padding-right: 1rem; font-size: 1.8rem; color: #060606; font-weight: 400;}
.adress-bottom-wrap
{display: flex;}
.adress-bottom-wrap .adress-item
{padding: 0 2rem; border-right: 1.5px solid #060606;}
.adress-bottom-wrap .adress-item:nth-child(1)
{padding-left: 0;}
.adress-bottom-wrap .adress-item:nth-last-child(1)
{border-right: 0;}
.footer-right .sns-wrap
{display: flex; gap: 1rem; opacity: 1; transition: all 0.2s ease;}
.sns-wrap li:hover
{opacity: 0.8;}
.footer-bottom-con ul
{padding-top: 2rem; display: flex; justify-content: space-between;}
.footer-bottom-con .admin-btn
{font-size: 1.6rem; color: #060606; font-weight: 700;}
.footer-bottom-con .capyright
{font-size: 1.6rem; color: #999999; font-weight: 300; letter-spacing: -0.12rem;}