.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:var(--header-h);background:rgba(255,255,255,.98);border-bottom:1px solid rgba(27,43,59,.08);transition:height .25s,box-shadow .25s,background .25s,color .25s}.site-header.is-scrolled{height:66px;box-shadow:0 8px 28px rgba(22,40,60,.08);background:rgba(255,255,255,.985)}.header-inner{height:100%;width:min(calc(100% - 40px),var(--wide));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{position:relative;display:block;width:178px;height:42px;flex:0 0 auto}.brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center}.brand-light{display:none}.gnb{height:100%;display:flex;align-items:center}.gnb>ul{height:100%;display:flex;align-items:center;gap:3px}.gnb>ul>li{height:100%;display:flex;align-items:center}.gnb>ul>li>a{position:relative;display:flex;align-items:center;height:100%;padding:0 16px;color:#344252;font-weight:760;font-size:.88rem;white-space:nowrap}.gnb>ul>li>a::after{content:'';position:absolute;left:16px;right:16px;bottom:13px;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .25s}.gnb>ul>li:hover>a::after,.gnb>ul>li>a.is-active::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.header-inquiry{display:inline-flex;align-items:center;justify-content:center;min-width:94px;height:38px;padding:0 16px;background:var(--blue);border:1px solid var(--blue);color:#fff!important;font-size:.8rem;font-weight:820;transition:background .2s,border-color .2s,transform .2s}.header-inquiry:hover{background:var(--blue-deep);border-color:var(--blue-deep);transform:translateY(-1px)}.menu-toggle{display:none;width:40px;height:40px;border:0;background:transparent;padding:7px}.menu-toggle span{display:block;width:22px;height:2px;margin:5px auto;background:var(--navy);transition:.25s}.mobile-panel{display:none}
.mega-menu{position:absolute;top:100%;left:0;width:100%;padding:0;background:linear-gradient(105deg,#1f72c7,#2f89eb 58%,#2479d0);color:#fff;box-shadow:0 24px 48px rgba(15,47,80,.2);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,visibility .2s,transform .2s}.site-header.is-mega-open .mega-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}.mega-inner{width:min(calc(100% - 48px),var(--wide));margin:auto;display:grid;grid-template-columns:1.25fr repeat(5,1fr);gap:0;min-height:250px}.mega-intro{padding:34px 28px 34px 0;border-right:1px solid rgba(255,255,255,.2)}.mega-intro>span{display:block;margin-bottom:10px;color:#cfe7fb;font-size:.7rem;font-weight:850;letter-spacing:.11em}.mega-intro strong{display:block;font-size:1.25rem;line-height:1.48;letter-spacing:-.035em}.mega-intro p{max-width:180px;margin-top:14px;color:#d9eaf8;font-size:.78rem;line-height:1.7}.mega-column{padding:32px 18px;border-right:1px solid rgba(255,255,255,.16)}.mega-column:last-child{border-right:0}.mega-column a{display:block;padding:5px 0;color:#dcecf9;font-size:.79rem;transition:color .2s,transform .2s}.mega-column a:hover{color:#fff;transform:translateX(3px)}.mega-column .mega-title{padding:0 0 12px;margin-bottom:7px;border-bottom:1px solid rgba(255,255,255,.32);color:#fff;font-size:.93rem;font-weight:850;transform:none}.mega-column .mega-title:hover{transform:none}.site-header.is-mega-open{background:#fff;border-bottom-color:transparent;box-shadow:none}.site-header.is-mega-open .brand-dark{display:block}.site-header.is-mega-open .brand-light{display:none}.site-header.is-mega-open .gnb>ul>li>a{color:#344252}.site-header.is-mega-open .gnb>ul>li>a::after{background:var(--blue)}
.home-page .site-header:not(.is-scrolled):not(.is-mega-open){background:transparent;border-bottom-color:rgba(255,255,255,.2);box-shadow:none}.home-page .site-header:not(.is-scrolled):not(.is-mega-open) .brand-dark{display:none}.home-page .site-header:not(.is-scrolled):not(.is-mega-open) .brand-light{display:block}.home-page .site-header:not(.is-scrolled):not(.is-mega-open) .gnb>ul>li>a{color:#fff}.home-page .site-header:not(.is-scrolled):not(.is-mega-open) .gnb>ul>li>a::after{background:#fff}.home-page .site-header:not(.is-scrolled):not(.is-mega-open) .menu-toggle span{background:#fff}.home-page .site-header:not(.is-scrolled):not(.is-mega-open) .header-inquiry{background:rgba(47,137,235,.92);border-color:rgba(255,255,255,.26);color:#fff!important}
.site-footer{background:#202c39;color:#fff}.footer-main{width:min(calc(100% - 40px),var(--max));margin:auto;display:grid;grid-template-columns:1.55fr .72fr .82fr;min-height:190px}.footer-brand,.footer-contact,.footer-info{padding:40px 30px}.footer-brand{padding-left:0}.footer-contact,.footer-info{border-left:1px solid rgba(255,255,255,.09)}.footer-brand img{width:170px;margin-bottom:18px}.footer-brand p,.footer-info p{color:#a8b3bd;font-size:.82rem;line-height:1.75}.footer-actions{display:flex;gap:15px;margin-top:22px}.footer-actions a{color:#c1cad2;font-size:.78rem}.footer-actions a:hover{color:#fff}.footer-contact>span,.footer-info>span{display:block;color:#62aef1;font-size:.71rem;font-weight:800;letter-spacing:.04em}.footer-contact>strong{display:block;margin:5px 0 11px;font-size:1.45rem;letter-spacing:-.03em}.footer-contact dl{font-size:.76rem;color:#b0bac3}.footer-contact dl div{display:flex;justify-content:space-between;gap:10px}.footer-contact dt{color:#8998a4}.footer-info>a{display:inline-flex;gap:8px;margin-top:16px;color:#fff;font-size:.79rem;font-weight:700}.footer-info>a b{color:#65b1f3}.footer-bottom{padding:15px max(20px,calc((100% - var(--max))/2));display:flex;justify-content:space-between;gap:20px;background:#18232e;color:#82909b;font-size:.7rem}.to-top{position:fixed;z-index:500;right:22px;bottom:22px;width:44px;height:44px;border:1px solid #dbe1e6;background:#fff;color:var(--navy);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}.to-top.is-visible{opacity:1;visibility:visible;transform:none}
@media(max-width:1020px){.gnb,.header-inquiry,.mega-menu{display:none}.menu-toggle{display:block}.header-inner{width:calc(100% - 32px)}.brand{width:170px}.mobile-panel{display:block;position:fixed;top:var(--header-h);right:0;width:min(390px,100%);height:calc(100vh - var(--header-h));padding:0 22px 30px;background:#fff;box-shadow:-20px 30px 50px rgba(20,47,78,.16);transform:translateX(105%);transition:transform .3s;overflow:auto}.site-header.is-scrolled .mobile-panel{top:66px;height:calc(100vh - 66px)}.site-header.is-mobile-open .mobile-panel{transform:none}.mobile-panel-head{padding:28px 3px 20px;border-bottom:1px solid var(--line)}.mobile-panel-head strong{display:block;color:var(--navy);font-size:1.1rem}.mobile-panel-head span{color:#9ca8b2;font-size:.68rem;letter-spacing:.12em}.mobile-panel details{border-bottom:1px solid var(--line)}.mobile-panel summary,.mobile-single{display:block;padding:15px 4px;font-weight:800;cursor:pointer;color:#263747}.mobile-panel details a{display:block;padding:8px 15px;color:#667482;font-size:.9rem}.mobile-panel details a:last-child{padding-bottom:17px}.mobile-inquiry-btn{display:flex;align-items:center;justify-content:center;height:48px;margin-top:22px;background:var(--blue);color:#fff;font-weight:820;font-size:.9rem}.site-header.is-mobile-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.is-mobile-open .menu-toggle span:nth-child(2){opacity:0}.site-header.is-mobile-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.home-page .site-header.is-mobile-open:not(.is-scrolled){background:#fff}.home-page .site-header.is-mobile-open:not(.is-scrolled) .brand-light{display:none}.home-page .site-header.is-mobile-open:not(.is-scrolled) .brand-dark{display:block}.home-page .site-header.is-mobile-open:not(.is-scrolled) .menu-toggle span{background:var(--navy)}}
@media(max-width:760px){:root{--header-h:66px}.header-inner{width:calc(100% - 24px)}.brand{width:158px;height:38px}.footer-main{width:calc(100% - 28px);grid-template-columns:1fr}.footer-brand,.footer-contact,.footer-info{padding:34px 0}.footer-contact,.footer-info{border-left:0;border-top:1px solid rgba(255,255,255,.09)}.footer-bottom{padding:16px 14px;flex-direction:column}.to-top{right:14px;bottom:14px}}

/* 2026-08 footer business information */
.footer-contact dd{margin:0;text-align:right;overflow-wrap:anywhere}.footer-info p{overflow-wrap:anywhere}.footer-legal{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.footer-legal a{color:#c5d0da;font-weight:800}.footer-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.footer-contact dd{text-align:left}.footer-contact dl div{justify-content:flex-start}.footer-contact dt{min-width:74px}.footer-legal{align-items:flex-start;flex-direction:column;gap:7px}}


/* Front layout width + footer refinement (2026-08) */
.footer-main{width:min(calc(100% - 48px),var(--wide));grid-template-columns:minmax(300px,1.18fr) minmax(280px,.9fr) minmax(340px,1fr);min-height:230px}
.footer-brand,.footer-company,.footer-info{min-width:0;padding:42px 34px}
.footer-brand{padding-left:0}
.footer-company,.footer-info{border-left:1px solid rgba(255,255,255,.09)}
.footer-company>span,.footer-info>span{display:block;color:#62aef1;font-size:.74rem;font-weight:850;letter-spacing:.06em}
.footer-company>strong{display:block;margin:7px 0 15px;font-size:1.1rem;letter-spacing:-.02em}
.footer-company dl{margin:0;color:#b8c2cb;font-size:.8rem}
.footer-company dl div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:4px 0}
.footer-company dt{color:#8797a4}
.footer-company dd{margin:0;min-width:0;overflow-wrap:anywhere}
.footer-info p.footer-address{margin-top:9px;color:#b8c2cb;font-size:.84rem;line-height:1.85}
.footer-privacy-link{display:inline-flex!important;margin-top:11px!important;color:#fff!important;font-size:.8rem!important;font-weight:800!important;border-bottom:1px solid rgba(255,255,255,.38);padding-bottom:2px}
.footer-inquiry-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;margin-top:20px}
.footer-mail{min-width:0;padding:13px 14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035)}
.footer-mail small{display:block;color:#75baf4;font-size:.65rem;font-weight:850;letter-spacing:.08em}
.footer-mail b{display:block;margin-top:4px;color:#fff;font-size:.8rem;font-weight:700;overflow-wrap:anywhere}
.footer-site-inquiry{display:inline-flex;align-items:center;justify-content:center;min-width:118px;padding:0 16px;background:var(--blue);color:#fff;font-size:.79rem;font-weight:850}
.footer-site-inquiry:hover{background:var(--blue-deep)}
.footer-bottom{padding-left:max(24px,calc((100% - var(--wide))/2));padding-right:max(24px,calc((100% - var(--wide))/2));align-items:center}
.footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.footer-legal a{color:#b6c2cc;font-weight:750}
@media(max-width:1100px){
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1;padding-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
  .footer-company{padding-left:0;border-left:0}
  .footer-info{border-left:1px solid rgba(255,255,255,.09)}
}
@media(max-width:720px){
  .footer-main{width:calc(100% - 32px);grid-template-columns:1fr}
  .footer-brand,.footer-company,.footer-info{grid-column:auto;padding:30px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.09)}
  .footer-info{border-bottom:0}
  .footer-inquiry-box{grid-template-columns:1fr}
  .footer-site-inquiry{min-height:44px}
  .footer-bottom{padding:17px 16px;align-items:flex-start;flex-direction:column}
  .footer-legal{justify-content:flex-start;gap:8px 14px}
}
.mega-column-featured{background:rgba(8,57,101,.12)}.mega-column-featured .mega-title{border-bottom-color:rgba(255,255,255,.55)}
