@charset "utf-8";
#skipToContent a {z-index:100000;position:absolute;overflow:hidden;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;}
#skipToContent a:focus,
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:50px;outline-color:#f37736;}
a:focus {outline:#f37736;}

/* ===== util ===== */
a:focus{outline:#f37736;}
.fr-box .swiper-wrapper{display:block;}
html.menu-opened{overflow:hidden;}
.icon img{vertical-align:middle;margin-top:-.02em;}
.txt-center{text-align:center;}
.flex-wrap{display:flex;}
.flex-center{display:flex;justify-content:center;}
.flex-between{display:flex;justify-content:space-between;}
.flex-mid{display:flex;align-items:center;}
.flex1{flex:1;}
.fw400{font-weight:400;}
.fw500{font-weight:500;}
.fw600{font-weight:600;}
.fw700{font-weight:700;}
.primary-color{color:var(--color-primary);}
.secondary-color{color:var(--color-secondary);}
.dark-color{color:var(--dark-color);}
.white-color{color:#fff;}
.only-desktop{display:block;}
.only-desktop-tablet{display:block;}
.only-tablet-mobile{display:none;}
.only-tablet{display:none;}
.only-mobile{display:none;}

/* ===== 1. header / GNB ===== */
#header{position:relative;top:auto;left:0;width:100%;height:var(--header-height);z-index:101;transition:.2s;background:#fff;border-bottom:1px solid #ddd;background-image:none;}
#header .contain{position:relative;display:flex;align-items:center;justify-content:space-between;height:100%;z-index:10;max-width:none;width:100%;box-sizing:border-box;}
#header .contain::after{content:none;}
.sitelogo{position:relative;z-index:2;background:transparent;background-image:none;min-width:0;}
.sitelogo a{display:inline-flex;align-items:center;line-height:0;}
.sitelogo img{visibility:visible;display:block;height:72px;width:auto;max-width:280px;object-fit:contain;}
#header .sitelogo{display: flex; position:relative;z-index:2;flex:0 0 auto;}
#gnb{text-align:center;flex:1 1 auto;min-width:0;width:1%;}
#gnb>ul{display:flex;justify-content:center;list-style:none;margin:0;padding:0;}
#gnb>ul>li{position:relative;padding:0 29px;}
#gnb>ul>li>a{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;height:100px;font-size:18px;color:#222;font-weight:500;line-height:1.3em;letter-spacing:-.03em;}
#gnb .submenu{display:none;position:absolute;left:50%;width:135px;transform:translateX(-50%);background:#fff;border:1px solid #ddd;border-top:0;text-align:center;}
#gnb .submenu>ul{list-style:none;margin:0;padding:0;}
#gnb .submenu>ul>li{border-bottom:1px solid #ddd;}
#gnb .submenu>ul>li:last-child{border-bottom:0;}
#gnb .submenu>ul>li>a{display:block;padding:13px 0;color:#222;font-size:18px;line-height:1.33em;font-weight:500;}
#gnb .submenu>ul>li>a:hover{background:#eaeaea;}
#gnb>ul>li.g2 .submenu{width:240px;}
#gnb>ul>li.g3 .submenu{width:160px;}
#gnb>ul>li.g5 .submenu{width:150px;}
#gnb>ul>li.g6 .submenu{width:190px;}
#gnb li:hover>.submenu,#gnb li:hover .submenu{display:block;}
.submenu-bg{display:none;min-height:260px;}
.util{display:flex;align-items:center;gap:18px;flex:0 0 auto;margin-left:auto;margin-right:0;position:relative;z-index:2;}
.hd-tel{display:inline-flex;align-items:baseline;gap:8px;padding:8px 14px;border:1px solid #483E3A;background:#483E3A;color:#fff;text-decoration:none;line-height:1.2;white-space:nowrap;}
.hd-tel:focus{background:#483E3A;color:#fff;border-color:#483E3A;opacity:1;}
.hd-tel .hd-tel-label{font-size:12px;font-weight:600;letter-spacing:.04em;opacity:.85;}
.hd-tel strong{font-size:17px;font-weight:700;letter-spacing:.02em;color:inherit;}
#header.hover{background:#fff;}
#header.hover .sitelogo,#header:hover .sitelogo{background:none;background-image:none;}
#header.hover #gnb>ul>li>a{color:#222;}
#header:hover{background:#fff;border-bottom:1px solid #ddd;}
#header:hover #gnb>ul>li>a{color:#222;}
#header:hover .list-icon span,#header:hover .list-icon span::before,#header:hover .list-icon span::after{background:#222;}
#header .wf-logo-text,header .wf-logo-text,.wf-logo-text{background:none;background-image:none;font-size:clamp(17px,1.6vw,23px);font-weight:800;letter-spacing:-.5px;width:auto;height:auto;min-width:auto;max-width:none;aspect-ratio:auto;line-height:1.1;white-space:nowrap;text-indent:0;display:inline-flex;align-items:center;overflow:visible;color:#fff;}
#header:hover .wf-logo-text{color:#222;}

/* ===== 2. mobile ===== */
.btn-m-menu {display:none; position:relative; width:26px; height:26px;}
.btn-m-menu span {position:absolute; left:0; right:0; top:50%; height:2px; margin-top:-1px; background:#242424;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; right:0; height:2px; background:#242424;}
.btn-m-menu span:before {top:-9px;}
.btn-m-menu span:after {bottom:-9px;}

.mobile-navigation{display:block;position:fixed;top:0;right:0;width:300px;height:100%;overflow:auto;transition:.2s linear;-ms-transform:translateX(100%);transform:translateX(100%);background:#fff;z-index:102;}
.mobile-navigation .home{display:flex;align-items:center;height:var(--header-height);padding:0 20px;color:#242424;font-size:19px;font-weight:700;line-height:1.5em;}
.mobile-navigation .nav-menu>ul{border-top:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li{border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li>a{position:relative;padding:10px 48px 10px 20px;display:block;color:#242424;font-size:17px;font-weight:700;line-height:1.5em;}
.mobile-navigation .nav-menu>ul>li>a:after{content:"";position:absolute;top:50%;right:20px;transform:translateY(-75%) rotate(45deg);width:11px;height:11px;border-right:2px solid #505050;border-bottom:2px solid #505050;}
.mobile-navigation .nav-menu>ul>li.active>a{color:#fff;background:var(--color-primary);}
.mobile-navigation .nav-menu>ul>li.active>a:after{transform:translateY(-35%) rotate(-135deg);border-color:#fff;}
.mobile-navigation .nav-menu .submenu{display:none;background:#f8f8f8;color:#454545;font-size:15px;font-weight:400;line-height:1.5em;}
.mobile-navigation .nav-menu .submenu ul li{border-top:1px solid #e5e5e5;}
.mobile-navigation .nav-menu .submenu ul li a{display:block;padding:12px 20px;}
.mobile-navigation .nav-menu .submenu ul li a:hover{color:var(--color-primary);}
.mobile-navigation .close{position:absolute;top:25px;right:15px;width:26px;height:26px;text-indent:-9999em;overflow:hidden;}
.mobile-navigation .close:before,.mobile-navigation .close:after{content:" ";position:absolute;top:12px;left:0;width:100%;height:3px;background:#242424;border-radius:3px;}
.mobile-navigation .close:before{transform:rotate(45deg);}
.mobile-navigation .close:after{transform:rotate(-45deg);}
.mobile-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:0.6;z-index:101;}
.menu-opened .mobile-navigation{-ms-transform:translateX(0);transform:translateX(0);}
.menu-opened .mobile-overlay{display:block;}

/* ===== 3. main ===== */
.main-visual{position:relative;overflow:hidden;width:100%;height:calc(100vh - var(--header-height));}
.main-visual .item{position:relative;height:calc(100vh - var(--header-height));overflow:hidden;}
.main-visual .img{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;transform:scale(1);transition:4s;}
.main-visual .img img{position:absolute;top:50%;left:0;transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);width:100%;height:auto;max-width:100%;min-height:100%;object-fit:cover;}
.main-visual .caption{position:absolute;left:0;text-align:center;width:100%;top:50%;transform:translateY(-50%);z-index:3;}
.main-visual .caption .txt{width:100%;max-width:860px;margin:0 auto;transform:translateX(-50px);opacity:0;transition:opacity 0s 2s,transform 0s 2s;color:#fff;}
.main-visual .items .slick-active .caption .txt{transform:translateX(0);opacity:1;transition:opacity 2s,transform 1s;transition-delay:0.6s;}
.main-visual .caption h2{font-size:50px;font-weight:400;line-height:1.4em;margin-bottom:10px;}
.main-visual .caption h4{line-height:1.5em;font-size:40px;font-weight:400;}
.main-visual .caption .txt h2{font-weight:600;font-size:clamp(30px, calc(52 / var(--inner) * 100vw), 52px);}
.main-visual .caption .txt p{word-break:keep-all;}
.main-visual .caption .txt .hero-lead{margin:20px 0 0;font-size:var(--font-size-24);font-weight:400;line-height:1.65;color:rgba(255,255,255,.96);}
.main-visual .caption .txt p.hero-sub{margin:14px 0 0;font-size:var(--font-size-19);font-weight:400;line-height:1.75;color:rgba(255,255,255,.82);}
.main-visual .scroll-down{position:absolute;text-align:center;left:0;right:0;margin:auto;bottom:0;color:#fff;}
.main-visual .scroll-down p{line-height:1em;font-size:13px;font-weight:300;margin-bottom:12px;letter-spacing:0;}
.main-visual .scroll-down .line{width:2px;height:53px;background:rgba(255,255,255,0.2);position:relative;margin:auto;}
.main-visual .scroll-down .line::before{content:"";position:absolute;top:0;width:100%;height:18px;background:#fff;left:0;animation:scrollDown 1.3s infinite ease-in-out;}
.main-visual .animate .img{animation-name:scale;animation-duration:4s;animation-fill-mode:forwards;}
.main-visual .items{position:relative;height:100%;}
.main-visual .slick-slide{width:100%;}
.main-visual .slick-list{overflow:hidden;width:100%;}
.main-visual .item .img,.main-visual .item>img,.main-visual .item .bg{opacity:1;}
.main-visual .items>.item>img,.main-visual .item>.video-poster{width:100%;height:100%;object-fit:cover;}
.main-visual .caption,.main-visual .content,.main-visual [class*="txt"]{opacity:1;}
.main-visual .bg{opacity:1;transform:none;}
.main-visual .pager::after{content:"1 / 2";color:#fff;font-size:15px;font-weight:500;letter-spacing:1px;white-space:nowrap;}
.main-visual .progress-bar{width:50%;}
.main-visual .hero-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:28px;padding:14px 34px;border-radius:999px;background:#483E3A;border:1px solid rgba(255,255,255,.28);color:#fff;font-size:18px;font-weight:600;text-decoration:none;transition:background .25s ease,color .25s ease;}
.main-visual .hero-btn:hover{background:#fff;color:#483E3A;}
.main-visual .item.image .img{position:absolute;inset:0;width:100%;height:100%;}
.main-visual .item.image .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,5,.42) 0%,rgba(8,6,5,.58) 45%,rgba(8,6,5,.72) 100%);pointer-events:none;z-index:1;}
.main-visual .item.image.plain .img::after{display:none;}
.main-visual .item.image .img img{position:absolute;z-index:0;}
.main-visual .item.video,.main-visual .item.youtube,.main-visual .item.vimeo{background:#000;}
.main-visual .item.video .video-js,.main-visual .item.video video,.main-visual .item.youtube iframe,.main-visual .item.vimeo iframe{position:absolute;inset:0;width:100%;height:100%;}
.main-visual .slick-current.active .img,.main-visual .slick-active.active .img{animation-name:scale;animation-duration:5.5s;animation-fill-mode:forwards;}
.main-visual .pager{min-width:4.5em;font-size:14px;font-weight:500;letter-spacing:.06em;white-space:nowrap;color:#fff;text-align:center;}
.main-visual .pager::after{content:none;}
.main-visual .progress{width:120px;height:2px;background:rgba(255,255,255,.28);overflow:hidden;}
.main-visual .progress-bar{display:block;width:100%;height:100%;background:#fff;transform-origin:left center;transform:scaleX(0);}
.main-visual .progress-bar.animated{animation-name:heroProgress;animation-timing-function:linear;animation-fill-mode:forwards;}
.main-visual .progress-bar.paused{animation-play-state:paused;}
@keyframes heroProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes scale{0%{transform:scale(1)}100%{transform:scale(1.05)}}
@keyframes scrollDown{0%{top:0;opacity:1}100%{top:100%;opacity:0}}
.main-visual .visual-func{position:absolute;left:50%;bottom:90px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:14px;color:#fff;}
.main-visual .visual-func .pagination{display:none;}
.main-visual .slide-btn{width:36px;height:36px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.18);cursor:pointer;position:relative;padding:0;text-indent:-9999px;overflow:hidden;}
.main-visual .slide-btn::before{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-top:2px solid #fff;border-right:2px solid #fff;}
.main-visual .slide-prev::before{transform:translate(-35%,-50%) rotate(-135deg);}
.main-visual .slide-next::before{transform:translate(-65%,-50%) rotate(45deg);}
.main-visual .slide-stop::before,.main-visual .slide-play::before{width:10px;height:10px;border:0;background:transparent;transform:translate(-50%,-50%);}
.main-visual .slide-stop::before{box-shadow:inset 3px 0 0 #fff, inset -3px 0 0 #fff;}
.main-visual .slide-play::before{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid #fff;box-shadow:none;}
.main-quick{background:#fff;border-bottom:1px solid #eee;padding:28px 0;}
.main-quick-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 8px;}
.main-quick-list li{flex:1 1 0;min-width:120px;text-align:center;}
.main-quick-list a{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 6px;text-decoration:none;color:#222;transition:.2s;}
.main-quick-list a:hover{color:var(--color-primary,#483E3A);}
.main-quick-list a:hover .qk-icon{background:var(--color-primary,#483E3A);color:#fff;border-color:var(--color-primary,#483E3A);box-shadow:0 8px 18px rgba(72,62,58,.22);transform:translateY(-2px);}
.main-quick-list .qk-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(165deg,#fff 0%,#f3f3f3 100%);border:1px solid #e5e5e5;color:#1a1a1a;font-size:0;line-height:1;transition:.25s ease;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.main-quick-list .qk-icon svg{width:34px;height:34px;display:block;}
.main-quick-list .qk-label{font-size:16px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;}
.main-pd{padding:clamp(50px, calc(110 / var(--inner) * 100vw), 110px) 0;}
.main-bg{background-repeat:no-repeat;background-position:center;background-size:cover;}
.main-tit{font-size:clamp(26px, calc(48 / var(--inner) * 100vw), 48px);font-weight:700;line-height:1.2em;color:#222;margin-bottom:13px;}
.main-tit.white{color:#fff;}
.main-tit.tc{text-align:center;}
.main-subtit{font-size:var(--font-size-20);line-height:1.4em;margin-bottom:55px;color:#2a2a2a;font-weight:200;}
.main-subtit.mg{margin-bottom:0;}
.main-subtit.tc{text-align:center;}
.main-subtit.white{color:#fff;font-weight:200;}
.main-banner{padding:clamp(40px, calc(88 / var(--inner) * 100vw), 88px) 0;position:relative;overflow:hidden;background:linear-gradient(165deg,#faf8f5 0%,#f3efe9 48%,#ebe6df 100%);}
.main-banner .contain{position:relative;z-index:2;}
.main-banner .main-tit{color:var(--color-primary);font-weight:800;margin-bottom:22px;line-height:1.35;word-break:keep-all;}
.main-banner .main-subtit{font-size:var(--font-size-15);letter-spacing:.14em;font-weight:700;color:var(--color-primary,#483E3A);margin-bottom:12px;}
.main-banner .about-deco{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.main-banner .about-deco-wave{position:absolute;left:0;width:100%;height:auto;}
.main-banner .about-deco-wave--top{top:0;height:90px;}
.main-banner .about-deco-wave--bottom{bottom:0;height:100px;}
.main-banner .about-deco-hill{position:absolute;right:-40px;bottom:-20px;width:min(42vw,520px);height:auto;opacity:.95;}
.main-banner .about-deco-flow{position:absolute;right:8%;top:50%;transform:translateY(-50%);width:min(22vw,280px);height:auto;opacity:.85;}
.main-banner .about-deco-leaf{position:absolute;left:4%;bottom:18%;width:72px;height:auto;opacity:.9;transform:rotate(-12deg);}
.main-banner .about-fx{display:grid;grid-template-columns:1.55fr .75fr;gap:40px;align-items:center;}
.main-banner .main-desc{max-width:none;margin:0 0 14px;font-size:var(--font-size-17);line-height:1.95;font-weight:500;color:#333;word-break:keep-all;}
.main-banner .main-desc:last-of-type{margin-bottom:18px;}
.main-banner .main-desc strong{font-weight:700;color:#111;}
.main-banner .main-more{display:inline-flex;align-items:center;margin-top:4px;padding:12px 20px;border-radius:999px;background:var(--color-primary,#483E3A);color:#fff;font-size:15px;font-weight:700;text-decoration:none;transition:.2s;}
.main-banner .main-more:hover{filter:brightness(1.08);transform:translateY(-1px);}
.main-service.main-bg{position:relative;background-image:url('/images/main/sec1_bg.jpg');background-repeat:no-repeat;background-position:center;background-size:cover;isolation:isolate;}
.main-service.main-bg::before{content:"";position:absolute;inset:0;background:rgba(32,26,24,.9);z-index:0;pointer-events:none;}
.main-service.main-bg > .contain{position:relative;z-index:1;}
.main-service .tit-fx{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;justify-content:space-between;margin-bottom:55px;}
.main-service .tit-fx .main-subtit{margin-bottom:0;}
.main-service .tit-fx.tit-fx--center{justify-content:center;}
.main-service .tit-center{text-align:center;justify-items:center;}
.main-service .tit-center .main-subtit{margin-bottom:0;}
.main-service #mainContact{max-width:1200px;margin:0 auto;}
.main-service-tab{display:flex;gap:15px;}
.main-service-tab li a{display:flex;width:260px;height:53px;border-radius:28px;align-items:center;justify-content:center;border:1px solid #fff;color:#fff;font-size:18px;font-weight:400;line-height:1em;}
.main-service-tab li.active a,.main-service-tab li a:hover{background:#fff;color:var(--color-primary);}
.main-service-swiper{position:relative;width:130%;overflow:hidden;margin-right:-30%;}
.main-service-swiper .item a{display:block;position:relative;border-radius:20px;overflow:hidden;background:#fff;}
.main-service-swiper .item img{width:100%;}
.main-service-swiper .item .txtbox{padding:26px 40px;min-height:180px;}
.main-service-swiper .item .tit{color:#3f3f3f;font-size:23px;line-height:1.2em;font-weight:700;margin-bottom:10px;}
.main-service-swiper .item .txt{font-size:17px;line-height:1.444em;color:#888;font-weight:200;}
.main-service .swiper-pagination{position:relative;margin-top:50px;top:auto;}
.main-service .swiper-pagination-progressbar{background:#959595;height:4px;}
.main-service .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#fff;}
.main-service-swp .main-service-swiper .swiper-slide{width:24%;max-width:24%;flex:0 0 24%;margin-right:2%;}
.main-service-grid{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;justify-content:center;align-items:stretch;width:100%;}
.main-service-grid > .item{margin:0;width:100%;}
.main-service-grid .item a{display:flex;flex-direction:column;position:relative;border-radius:20px;overflow:hidden;background:#fff;height:100%;text-decoration:none;}
.main-service-grid .item img{width:100%; height: auto; aspect-ratio: 384/280; object-fit:cover; display:block;flex:0 0 auto;}
.main-service-grid .item .txtbox{padding:26px 28px 28px;min-height:220px;display:flex;flex-direction:column;flex:1 1 auto;}
.main-service-grid .item .tit{color:#3f3f3f;font-size:22px;line-height:1.2em;font-weight:700;margin-bottom:10px;flex:0 0 auto;}
.main-service-grid .item .txt{font-size:16px;line-height:1.5em;color:#666;font-weight:400;word-break:keep-all;margin-bottom:0;flex:0 0 auto;}
.main-service-grid .item .case{margin-top:10px;padding:12px 14px;border-radius:10px;background:#f6f6f6;height:120px;min-height:120px;max-height:120px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;flex:0 0 120px;overflow:hidden;}
.main-service-grid .item .case-label{display:inline-block;margin:0 0 6px;padding:2px 8px;border-radius:4px;background:#483E3A;color:#fff;font-size:12px;font-weight:700;letter-spacing:-.02em;line-height:1.4;width:fit-content;}
.main-service-grid .item .case-body{display:block;font-size:16px;line-height:1.5;color:#555;font-weight:400;word-break:keep-all;}
.main-cta.main-bg{position:relative;background-image:url('/images/main/sec3_consult_bg.png');background-repeat:no-repeat;background-position:center;background-size:cover;isolation:isolate;}
.main-cta.main-bg::before{content:"";position:absolute;inset:0;background:rgba(32,26,24,.78);z-index:0;pointer-events:none;}
.main-cta.main-bg > .contain{position:relative;z-index:1;}
.main-cta .main-cta-hero{font-size:36px;font-weight:500;line-height:1.4;margin:0 0 40px;color:#fff;}
.main-cta-list{display:flex;gap:40px;flex-wrap:wrap;}
.main-cta-list li{width:calc(100%/2 - 20px);}
.main-cta-list li a{border-radius:20px;background:rgba(0,0,0,0.5);padding:var(--space-45) var(--space-50);display:flex;justify-content:space-between;align-items:flex-start;min-height:195px;}
.main-cta-list li .txtbox{flex:1 1 auto;min-width:0;width:1%;padding-right:10px;}
.main-cta-list li .txtbox .tit{line-height:1.2em;margin-bottom:18px;font-size:var(--font-size-22);font-weight:500;color:#fff;}
.main-cta-list li .txtbox .txt{font-size:var(--font-size-18);line-height:1.4em;color:#888;font-weight:400;}
.main-cta-list li img{margin-top:15px;}
.main-cta-list li a:hover{background:var(--color-primary);}
.main-cta-list.main-cta-list--2{justify-content:center;align-items:stretch;}
.main-cta-list.main-cta-list--2 > li{width:calc(50% - 20px);max-width:560px;display:flex;}
.main-cta-list.main-cta-list--2 > li > a{width:100%;height:100%;min-height:240px;box-sizing:border-box;align-items:flex-start;}
.main-cta-list.main-cta-list--2 > li .txtbox{display:flex;flex-direction:column;flex:1 1 auto;}
.main-cta-list.main-cta-list--2 > li .txtbox .txt{flex:1 1 auto;}
.main-cta-list.main-cta-list--2 > li img{margin-top:auto;align-self:flex-end;}

/* ===== 4. shell (#contArea · real-cont · path-wrap · sub-visual) ===== */
body{display:flex;flex-direction:column;min-height:100vh;}
#container{flex:1 0 auto;display:flex;flex-direction:column;width:100%;}
#container>.wf-template{flex:1 0 auto;display:flex;flex-direction:column;}
#container>.wf-template>.wf-stage{flex:1 0 auto;}
#container>div{overflow:hidden;}
#container,.main-visual-wrap,.fullpage-wrapper{height:auto!important;transform:none!important;}
.wf-stage{max-width:1920px;margin:0 auto;}
.contain{width:100%;max-width:1580px;margin:0 auto;padding-left:var(--container-space);padding-right:var(--container-space);}
.contain2{width:100%;max-width:1460px;padding-left:var(--container-space);padding-right:var(--container-space);margin:0 auto;}
.sub-visual{position:relative;height:clamp(180px, calc(360 / var(--inner) * 100vw), 360px);background-repeat:no-repeat;background-position:center;background-size:cover;display:flex;align-items:center;color:#fff;justify-content:center;text-align:center;}
.sub-visual h2{font-size:42px;font-weight:700;line-height:1.3em;position:relative;}
.sub-visual.bg1,.sub-visual.bg2{background-image:url('/images/common/cbdf7d5b4025e7e7065d.jpg');}
.sub-visual.bg3,.sub-visual.bg4{background-image:url('/images/common/7e1c3e8cf68020ba47ad.jpg');}
.sub-visual.bg5{background-image:url('/images/common/ef939db2397be5874000.jpg');}
.sub-visual.bg6,.sub-visual.bg7{background-image:url('/images/common/ab87fdac7646637c18ed.jpg');}
.sub-visual .bg{opacity:1;transform:none;}
.path-wrap{position:relative;z-index:50;border-bottom:1px solid #ddd;background:#fff;}
.path-wrap .wrap{max-width:1580px;margin:0 auto;padding:0 var(--container-space);}
.path-wrap .inner{display:flex;width:100%;}
.path-wrap .home{width:33.3333%;}
.path-wrap .home a{display:flex;width:100%;height:var(--lnb-height);overflow:hidden;position:relative;border-left:1px solid #e4e4e4;padding-left:40px;background:#f6f6f6;align-items:center;font-size:var(--font-size-18);font-weight:400;line-height:1em;color:#bbb;}
.path-wrap .home a::before{content:"";position:absolute;width:16px;height:var(--font-size-18);background:url("/images/common/f8b6ca78afad4286c8f1.png") center no-repeat;background-size:contain;top:0;bottom:0;margin:auto;left:20px;}
.path-wrap .home a::after{content:"";position:absolute;right:20px;top:0;bottom:0;margin:auto;width:9px;height:13px;background:url("/images/common/d276ff3a3c1b3fa427a0.png") center no-repeat;background-size:contain;}
.path-wrap .depth{display:flex;width:33.3333%;height:var(--lnb-height);overflow:hidden;position:relative;border-left:1px solid #e4e4e4;padding-left:20px;background:#f6f6f6;align-items:center;font-size:var(--font-size-18);font-weight:400;line-height:1em;color:#bbb;}
.path-wrap .depth::after{content:"";position:absolute;right:20px;top:0;bottom:0;margin:auto;width:9px;height:13px;background:url("/images/common/d276ff3a3c1b3fa427a0.png") center no-repeat;background-size:contain;}
.path-wrap .part{position:relative;z-index:50;border-right:1px solid #e4e4e4;width:33.3333%;}
.path-wrap .part > a{display:flex;align-items:center;position:relative;height:var(--lnb-height);color:#222;font-size:var(--font-size-18);font-weight:400;line-height:1.3em;padding:0 60px 0 20px;}
.path-wrap .part > a:after{content:"";position:absolute;top:50%;right:20px;margin-top:-10px;width:20px;height:20px;background:url("/images/common/6240ba3285149ed95a25.png") 50% 50% no-repeat;background-size:contain;}
.path-wrap .part ul{display:none;position:absolute;left:-1px;right:-1px;z-index:50;overflow:hidden;border:1px solid #ddd;background:#fff;}
.path-wrap .part ul li{color:#888;line-height:1.3em;border-bottom:1px solid #ddd;background:#fff;}
.path-wrap .part ul li:last-child{border-bottom:0;}
.path-wrap .part ul li a{display:block;padding:17px 20px;color:#888;font-size:var(--font-size-18);font-weight:300;}
.path-wrap .part.active > a{color:#222;}
.path-wrap .part ul li a:hover,.path-wrap .part ul li.active a{color:#222;background:#f6f6f6;}
.path-wrap .part:hover ul{display:block !important;}
#contArea{max-width:1580px;width:100%;margin:0 auto;padding-left:var(--container-space);padding-right:var(--container-space); padding-top: var(--space-100);box-sizing:border-box;}
#contArea.wide{max-width:100%;padding-left:0;padding-right:0;}
.sub-title{position:relative;display:block;margin:0 0 28px;padding:0;text-align:center;}
.sub-title.hidden{display:none;}
.sub-title h2{font-size:36px;font-weight:600;letter-spacing:-.03em;color:#483e3a;line-height:1.2;}
.sub-title h2::before{content:"";display:block;margin:0 auto 16px;width:40px;height:3px;background:#483E3A;}
.sub-title:not(.hidden) ~ .real-cont{padding-top:0;}
.sub-title:not(.hidden):has(+ .real-cont .cs-form){margin-bottom:48px;}
.sub-title:not(.hidden) + .real-cont:has(.cs-form){padding-top:8px;}
.real-cont{min-height:300px;padding-bottom:var(--space-100);}

/* ===== 5. footer / floating ===== */
#footer{width:100%;z-index:104;position:relative;background:#494949;padding:45px 0;color:#ffffff;font-size:var(--font-size-17);}
#footer .contain{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap; gap: 35px 20px;}
#footer .contain::after{content:none;}
.ft-logo img{height:40px;width:auto;}
.ft-text{margin:20px 0;}
.ft-text span{display:inline-block;padding-right:30px;font-weight:300;position:relative;}
.ft-text span::after{content:"";position:absolute;right:13px;width:1px;height:12px;background:#3c3c3c;top:7px;}
.ft-text span:last-child,.ft-text span.af::after,.ft-text span:last-child::after{padding-right:0;}
.ft-text span.af::after,.ft-text span:last-child::after{display:none;}
.cpr{color:#666;font-weight:300;}
.cpr span{display:inline-block;position:relative;}
.cpr a{display:inline-block;padding-left:3px;}
.policy{position:relative;z-index:10000;}
.policy a,#footer .policy a{display:flex;font-weight:300;color:#ffffff;width:188px;height:46px;position:relative;align-items:center;justify-content:center;border-radius:23px;border:1px solid #666;padding-right:40px;line-height:1em;z-index:999;font-size:17px;}
.policy a::after{content:"";position:absolute;right:20px;top:0;bottom:0;margin:auto;width:18px;height:17px;background:url('/images/common/8b8a5fe5153cd821eddb.png') center no-repeat;background-size:contain;}
.quick-list{display:inline-block;position:fixed;right:30px;bottom:30px;z-index:104;}
.quick-list li{margin-top:6px;position:relative;}
.quick-list li a{width:65px;height:65px;display:flex;align-items:center;justify-content:center;text-align:center;background:#ffac2e;border-radius:100%;font-size:12px;font-weight:300;line-height:1.2em;color:#222;box-shadow:0 5px 0 rgba(0,0,0,0.15);}
.quick-list li a.blog{background:#3bb51c;}
.quick-list li a.scroll-top{background:#333;}
