@charset "utf-8";
:root{--inner:min(100% - 80px,1280px);--inner-lg:min(100% - 120px,1360px);--point:#d7005f;--point2:#7a2cf3;--dark:#121522;--line:#e4e7ee;--gray:#66707d}
.wrap{min-width:320px}.section-inner,.header-inner{width:var(--inner);margin:0 auto}
.site-header{position:fixed;left:0;top:0;width:100%;z-index:50;background:rgba(18,21,34,.54);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:.3s ease}.site-header.is-scrolled{background:rgba(18,21,34,.94)}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo a{display:flex;align-items:center;gap:12px;color:#fff}.logo-mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--point),var(--point2));font-weight:800}.logo-text{font-size:1.125rem;font-weight:800;letter-spacing:.08em}
.gnb{flex:1}.gnb-list{display:flex;justify-content:center}.gnb-list>li{position:relative}.gnb-list>li>a{display:flex;align-items:center;height:88px;padding:0 20px;color:#fff;font-weight:500}
.depth2{position:absolute;left:50%;top:100%;transform:translateX(-50%);min-width:220px;padding:14px 0;background:rgba(18,21,34,.98);border:1px solid rgba(255,255,255,.1);opacity:0;visibility:hidden;transition:.25s ease}.gnb-list>li:hover .depth2,.gnb-list>li:focus-within .depth2{opacity:1;visibility:visible}.depth2 a{display:block;padding:10px 24px;color:rgba(255,255,255,.82)}.depth2 a:hover,.depth2 a:focus{background:rgba(255,255,255,.07);color:#fff}
.header-util{display:flex;align-items:center;gap:16px}.header-util>a{color:rgba(255,255,255,.82);font-size:.9375rem}.menu-btn{display:none;position:relative;width:42px;height:42px}.menu-btn span{position:absolute;left:9px;width:24px;height:2px;background:#fff}.menu-btn span:nth-child(1){top:12px}.menu-btn span:nth-child(2){top:20px}.menu-btn span:nth-child(3){top:28px}
.mobile-menu{position:fixed;right:0;top:0;width:min(88vw,420px);height:100vh;background:#121522;color:#fff;transform:translateX(100%);transition:transform .3s ease;z-index:80}.mobile-menu.is-open{transform:translateX(0)}.mobile-menu-inner{display:flex;flex-direction:column;height:100%;padding:24px 20px 40px}.mobile-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}.menu-close{font-size:2rem;line-height:1}.mobile-nav{margin-top:14px;overflow-y:auto}.mobile-nav>li{border-bottom:1px solid rgba(255,255,255,.08)}.mobile-nav>li>button{position:relative;width:100%;padding:18px 24px 18px 0;text-align:left;font-weight:700}.mobile-nav>li>button:after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.25rem}.mobile-nav>li.is-open>button:after{content:'−'}.mobile-nav>li>ul{display:none;padding:0 0 12px}.mobile-nav>li.is-open>ul{display:block}.mobile-nav a{display:block;padding:8px 0;color:rgba(255,255,255,.8)}
.section{padding:110px 0}.section-label{display:block;margin-bottom:10px;color:var(--point);font-size:.875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-head h3,.intro-head h3{font-size:2.5rem;line-height:1.22;letter-spacing:-.03em}.section-copy,.intro-copy,.lead,p{word-break:keep-all}.text-link{display:inline-flex;color:var(--point);font-weight:700}
.site-footer{padding:46px 0 56px;background:#111420;color:rgba(255,255,255,.78)}.footer-inner{display:grid;gap:16px}.footer-brand strong{display:block;margin-bottom:6px;color:#fff;font-size:1.125rem}.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px}.footer-links a:first-child{color:#fff;font-weight:700}address{font-style:normal}
@media (min-width:1440px){.section-inner,.header-inner{width:var(--inner-lg)}}
@media (max-width:1439px){.gnb-list>li>a{padding:0 16px}}
@media (max-width:1279px){:root{--inner:min(100% - 56px,1200px)}.header-inner{height:82px;gap:18px}.gnb-list>li>a{padding:0 12px;font-size:.95rem}.section{padding:96px 0}.section-head h3,.intro-head h3{font-size:2.2rem}}
@media (max-width:767px){:root{--inner:calc(100% - 40px)}.header-inner{height:72px}.logo-mark{width:36px;height:36px}.logo-text{font-size:1rem}.gnb,.header-util>a{display:none}.menu-btn{display:block}.section{padding:72px 0}.section-head{display:block;margin-bottom:24px}.section-head h3,.intro-head h3{font-size:1.8rem}}
@media (max-width:320px){:root{--inner:calc(100% - 28px)}.logo-text{font-size:.92rem}.section-head h3,.intro-head h3{font-size:1.6rem}}
