@charset "utf-8";

#mainVisual{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background-color:var(--primary)}
#mainVisual .mo{display:none}
#mainVisual .inner{display:flex;flex-direction:column;align-items:center;padding-top:60px}
#mainVisual p.txt--en{padding-bottom:24px;font-size:18px;font-weight:700;color:#fff;letter-spacing:1px;text-align:center}
#mainVisual h1{padding-bottom:40px;font-family:var(--sub-font);font-size:65px;font-weight:800;line-height:1.15;white-space:pre-line;text-align:center;color:#fff}
#mainVisual h1 b{font-weight:800;color:#D1F953}
#mainVisual .figure-container{display:flex;align-items:center;justify-content:center;gap:60px;padding-bottom:70px}
#mainVisual .figure-container .txt{font-family:var(--sub-font);font-size:300px;color:rgba(255,255,255,0.22)}
#mainVisual .figure-container .figure-box{display:grid;grid-template-columns:repeat(1,1fr);height:365px;transform-origin:center center}
#mainVisual .figure-container .figure-box figure{opacity:0;visibility:hidden;grid-area:1 /1;display:flex;justify-content:center;align-items:center;max-width:420px;width:100%;aspect-ratio:420 / 363;transition:opacity 0.3s, visibility 0s 0.3s}
#mainVisual .figure-container .figure-box figure.active{opacity:1;visibility:visible;transition:opacity 0.3s, visibility 0s}
#mainVisual .figure-container .figure-box figure img{width:100%;height:100%;object-fit:cover}
#mainVisual .btn-wrap{display:flex;justify-content:center;gap:12px}
#mainVisual .btn-wrap .btn--primary{padding:16px 26px;font-size:16px}
#mainVisual .btn-wrap .btn--primary .txt{gap:15px;transform:translateX(2px)}
#mainVisual .btn-wrap .btn--primary.dark{background-color:var(--secondary);color:#fff}
#mainVisual .btn-wrap .btn--primary.dark:hover{background-color:#000}
#mainVisual .btn-wrap .btn--primary.white{color:var(--secondary);background-color:#fff;border:1px solid rgba(152,167,186,0.47)}
#mainVisual .btn-wrap .btn--primary.white .hover-tip{opacity:0;visibility:hidden;overflow:hidden;position:absolute;left:50%;top:-25px;transform:translateX(-50%);max-width:153px;width:100%;height:40px;display:flex;align-items:center;justify-content:center;transition:opacity 0.3s, visibility 0s 0.3s;animation:tipFloat 2.5s ease-in-out infinite}
#mainVisual .btn-wrap .btn--primary.white:hover{background-color:#D1F953;color:#000}
#mainVisual .btn-wrap .btn--primary.white:hover .hover-tip{opacity:1;visibility:visible;transition:opacity 0.3s, visibility 0s }
#mainVisual .btn-wrap .btn--primary.white .hover-tip::before{position:absolute;content:'';inset:0;width:100%;height:40px;border-radius:100px;background-color:rgba(255, 107, 44, 0.2);animation:tipSpread 2s ease-out infinite}
#mainVisual .btn-wrap .btn--primary.white .hover-tip::after{position:absolute;content:'';top:50%;left:50%;transform:translate(-50%, -50%);max-width:144px;width:100%;height:34px;border-radius:100px;background-color:rgba(255, 107, 44, 0.55);animation:tipSpreadAfter 2s ease-out infinite}
#mainVisual .btn-wrap .btn--primary.white .hover-tip .txt{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:5px;background-color:#FF6B2C;border-radius:100px;max-width:136px;width:100%;height:28px;font-size:14px;font-weight:700;color:#fff}
#mainVisual .btn-wrap .btn--primary.white .hover-tip img{width:16px}

/* 반응형 [s] */
@media (max-width:1600px){
#mainVisual h1{font-size:58px}
#mainVisual .figure-container .figure-box{height:340px}
#mainVisual .figure-container .figure-box figure{max-width:390px}
#mainVisual .figure-container .txt{font-size:280px}
}
@media (max-width:1200px){
#mainVisual .inner{padding-top:0}
#mainVisual p.txt--en{padding-bottom:20px;font-size:17px}
#mainVisual h1{font-size:52px}
#mainVisual .figure-container{gap:50px;padding-bottom:60px}
#mainVisual .figure-container .figure-box{height:320px}
#mainVisual .figure-container .figure-box figure{max-width:360px}
#mainVisual .figure-container .txt{font-size:260px}
}
@media (max-width:1024px){
#mainVisual p.txt--en{padding-bottom:15px;font-size:16px}
#mainVisual h1{font-size:46px}
#mainVisual .figure-container .figure-box{height:300px}
#mainVisual .figure-container .figure-box figure{max-width:345px}
#mainVisual .figure-container .txt{font-size:240px}
}
@media (max-width:768px){
#mainVisual p.txt--en{font-size:15px}
#mainVisual h1{font-size:42px}
#mainVisual .figure-container{gap:40px}
#mainVisual .figure-container .figure-box{height:250px}
#mainVisual .figure-container .figure-box figure{max-width:270px}
#mainVisual .figure-container .txt{font-size:200px}
#mainVisual .btn-wrap .btn--primary{padding:10px 14px;font-size:15px}
#mainVisual .btn-wrap .btn--primary.white .hover-tip{opacity:1;visibility:visible;top:-30px;animation:none}
#mainVisual .btn-wrap .btn--primary.white .hover-tip .txt{height:26px;font-size:12px}
}
@media (max-width:480px){
#mainVisual .mo{display:block}
#mainVisual h1{white-space:normal}
#mainVisual p.txt--en{padding-bottom:12px;font-size:14px}
#mainVisual h1{padding:0 20px 40px;font-size:40px}
#mainVisual .figure-container{gap:20px}
#mainVisual .figure-container .figure-box{height:auto;min-height:clamp(100px,38.54vw,185px)}
#mainVisual .figure-container .figure-box figure{max-width:215px}
#mainVisual .figure-container .txt{font-size:160px}
#mainVisual .btn-wrap{gap:10px}
#mainVisual .btn-wrap .btn--primary{font-size:14px}
#mainVisual .btn-wrap .btn--primary.white .hover-tip{top:-29px;max-width:140px}
#mainVisual .btn-wrap .btn--primary.white .hover-tip .txt{max-width:124px;font-size:12px}
#mainVisual .btn-wrap .btn--primary.white .hover-tip::after{max-width:130px}
#mainVisual .inner{padding-top:55px}
}
@media (max-width:390px){
#mainVisual h1{font-size:36px}
#mainVisual .figure-container .txt{max-width:126px;font-size:120px}
#mainVisual .btn-wrap{flex-direction:column;align-items:center}
}
/* 반응형 [e] */