*{letter-spacing:-1px;}
.ctt{width:1400px;margin:0 auto}
.mb_block{display:none;}
.pc_block{display:block;}
.main_tit{text-align:Center;}
.main_tit span{display:block;font-size:16px;}
.main_tit h1{font-size:60px;margin-top:20px;line-height:1.4;font-weight:bold}
.main_tit h2{font-size:50px;margin-top:20px;line-height:1.4;font-weight:bold;}
.main_tit p{margin-top:35px;font-size:18px;line-height:1.3;font-weight:600}
.main_tit p em{font-style:normal;}
.main_tit b{color:#2aff6b;font-weight:bold}
.main_tit i{font-style:normal;font-weight:bold;color:#f3ff3b}
.main{background:#000;overflow:hidden;position:relative;}
.main_bg_fix{position:absolute;top:0;width:100%;height:100vh;}
.main_active{position:fixed;}
.main_bg_fix img{opacity:0.3;position:absolute}
.main_bg_fix img:nth-child(1){width: 250px;
  left: -30px;top: 80px;transform: rotate(-20deg);}
.main_bg_fix img:nth-child(2){    width: 250px;
  right: -20px;
  top: 120px;    transform: rotate(25deg);}
.main_bg_fix img:nth-child(3){width:150px;right: -50px;top: 500px;}
.main_bg_fix img:nth-child(4){width: 200px; right: 100px;top: 700px;}
.main_bg_fix img:nth-child(5){width: 150px; left: 150px; top: 400px; transform: rotate(45deg);}
.main_bg_fix img:nth-child(6){width: 150px; left: 150px; top: 700px; transform: rotate(45deg);}
.main_bg_fix img:nth-child(7){    width: 150px;
  right: 200px;
  top: 400px;
}
.main_bg_fix img:nth-child(8){    width: 100px;
  left:300px;
  top: 240px;
}
.main_bg_fix img:nth-child(9){width: 200px;
  right:400px;
  top: -20px;}
#section1{padding-bottom:150px;}
.name_wrap{padding:250px 0;}
.name{font-size:8vw;font-weight:900;text-align:center;color:rgba(255,255,255,0.1);
 will-change: background-size;
  /* 글자에 배경을 클립 */
  -webkit-background-clip: text;
  background-clip: text;
display:block;margin:0 auto;width:fit-content;
  /* 채워질 색(그라디언트 가능) */
  background-image: linear-gradient(90deg, #2aff6b, #2aff6b);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;   /* 시작: 0% */}

.name_p{font-size:46px;font-weight:bold;color:#fff;margin-top:15px;text-align:center}

#section1{position:relative;transition:all .5s;}
#section1 .main_tit{text-align:center;color:#fff;}
.point{position:relative;width:100%;margin:0 auto;overflow:hidden;}
.point .swiper-wrapper{transition-timing-function:linear}
.point ul{margin-top:80px;}
.point ul li{font-weight:bold;position:relative;background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);padding:50px;border-radius:15px;min-height:350px;line-height:1.5;}
.point ul li h2{font-size:16px;display:flex;align-items:center;color:#2aff6b}
.point ul li h2:before{background:#2aff6b;width:6px;height:6px;border-radius:60px;margin-right:8px;content:"";}
.point ul li p{font-size:20px;color:#fff;margin-top:10px;font-weight:bold}
.point ul li::before {
  content: "";
  position: absolute;
  inset: 0; /* top:0, right:0, bottom:0, left:0 */
  padding: 1px; /* 테두리 두께 */
  border-radius: 16px;
  background: linear-gradient(45deg, #2aff6b, #fafbda);
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  z-index: -1;
}
.point ul li b{font-weight:bold;}
.point ul li img{width:80px;height:80px;display:block;margin-bottom:35px;}

.profile{padding-top:100px;}

.pr_wrap{margin-top:60px;position:relative;}
.profile_list{}
.profile_list ul{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px 0}
.profile_list ul li{color:#fff;font-size:20px;width:18.6%;padding:30px;background: rgb(207 207 207 / 20%);
    border-radius: 15px;backdrop-filter: blur(5px);font-weight:bold;}
.profile_list ul li span{display:block;color:#fff;font-size:15px;opacity:0.5;margin-top:10px;font-weight:400;}
.profile_list ul li b{display:block;font-size:30px;text-align:right;margin-top:15px;font-weight:400;}
.profile_list ul li i{font-style:normal;color:#2aff6b;font-weight:bold;margin-right:5px;}
.charac{margin-top:200px}
.charac h2{font-size:50px;text-align:Center;line-height:70px;color:#fff;transition:all 1s;}
.charac_txt{margin-top:80px;display:flex;justify-content:space-between;}
.charac_list{width:48%;border-radius:15px;
  backdrop-filter: blur(5px); box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);position:realtive}
.charac_list_box{overflow:hidden;padding:70px;}
.charac_deco1{position:absolute;width:120px;transform: scaleX(-1) rotate(-10deg);
  top: -50px;left: 30px;}
.charac_deco2{position:absolute;width:120px;top:50px;right:-30px;}
.charac_deco3{position:absolute;width:90px;bottom:-30px;left:50px;}
.charac_list:nth-child(1){background:rgb(27 57 21 / 50%);}
.charac_list:nth-child(2){background:rgb(22 35 59 / 50%)}
.charac_list p{font-size:50px;font-weight:bold;text-align:center;margin-bottom:15px;}
.charac_list1 p{opacity:0;transform: translateX(-100%); background: linear-gradient(45deg, #ff531f, #28ff19); background-clip: text; color: transparent;}
.charac_list2 p{opacity:0;transform: translateX(100%);background: linear-gradient(45deg, #a46bff, #13ffbe); background-clip: text; color: transparent;}

.typing div{display:flex;justify-content:center;color:#2aff6b}
.text{display:block; border-bottom: 2px solid #2aff6b; padding-bottom: 2px;margin-right:10px;}
.text::after {
  content: '';
  margin-left: .4rem;
  display:inline-block;
  width:2px;
  height:40px;
  animation: cursor .9s infinite steps(2);
}

@keyframes cursor {
  from { background:#222; }
  to { background:#777; }
}


.who{padding-top:200px;}
.who .ctt{display:flex;justify-content:space-between;align-items:start;}
.who .main_tit{position:sticky;top:50px;left:0;width:30%;}
.who .main_tit h1{text-align:left;}
.who ul{width:60%;}
.who ul li{padding:35px 10px;width:100%;font-weight:600;display:flex;position:relative}
.who ul li:last-child:before{display:none;}
.who ul li:before{content: "";position: absolute;background: #333;width: 2px;height: 100%;top: 75px;left: 30px;}
/* 채워지는 진행선 */
.who ul li::after{
  content:"";
  position:absolute;
  background:#2aff6b;
  width:2px;
  height:0;           /* 처음엔 0 */
  top:75px;
  left:30px;
}
.who ul li:last-child:after{display:none;}
.who ul li.active::after{
  height:100%;        /* 활성화되면 꽉 채움 */
  transition:height .6s ease;
}

.who ul li span{background:#000;width: 40px;height: 40px; display: block;font-size: 14px;font-weight: 900;text-align: center;line-height: 40px;border-radius: 40px;border: 1px solid #2aff6b;color: #2aff6b;margin-right:30px;}
.who ul li.active span{
  background:#2aff6b;
  color:#000;
}

.who ul li img{position:absolute;top:50%;transform:translateY(-50%);right:50px;width:50px;transform-origin: 50% 50%;            /* 회전 기준(가운데). 하단 기준이면 50% 100% */
  animation: swing var(--dur,1.8s) ease-in-out infinite alternate;
  will-change: transform;}
/* 키프레임: -amp ↔ +amp 왕복 */
@keyframes swing{
  from{ transform: translateY(-50%) rotate(calc(-1 * var(--amp,8deg))); }
  to  { transform: translateY(-50%) rotate(var(--amp,8deg)); }
}

.who ul li div{}
.who ul li h2{color:#2aff6b;font-size:26px;font-weight:bold;}
.who ul li p{line-height:1.6;margin-top:15px;color:#fff;font-size:18px;opacity:0.9}

.ppt{padding:120px 0;}
.ppt .ctt{}
.ppt h1{font-size:50px;color:#fff;text-align:center}
.ppt_slide{margin-top:50px;}
.ppt_slide .swiper-wrapper{transition-timing-function:linear}
.ppt ul{}
.ppt ul li{border-radius:15px;overflow:hidden;}
.ppt ul li:after{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.3);backdrop-filter:blur(5px)}

.ppt ul li img{border-radius:10px;width:100%}
.wave2{background:#000;border-top:1px solid #fff;border-bottom:1px solid #fff;padding:40px 0}
.wave2 p{white-space:nowrap;color:#fff;font-weight:bold;font-size:60px;transform: translateX(50%);}

.scale{padding-top:80px;width:100%;height:100vh;position:relative;}
.scale h2{text-align:center;font-size:100px;color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(6)}
.scale p{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(6);color:#fff;font-size:80px;line-height:100px;font-weight:bold;margin-top:20px;text-align:center;opacity:0;width:100%;}
.scale span{font-style:normal;font-size:18px;color:#fff;line-height:34px;margin-top:50px;display:block;font-weight:400;}
.scale span i{line-height:1.5;font-style: normal;display: block;font-weight: bold;background: linear-gradient(90deg, transparent, #11c347, transparent);width: fit-content;margin: 0 auto;margin-top: 50px;padding: 8px 15px;}

.price{width:1000px;margin:0 auto;display:flex;}
.price li{text-align:center;width:50%;border-right:1px solid rgba(255,255,255,0.2)}
.price li:last-child{border:0;}
.price li i{display:block;color:#fff;font-style:normal;font-weight:500;font-size:20px;}
.price li p{color:#2aff6b;margin-top:8px;font-weight:bold;font-size:46px;}
.price li em{    font-style: normal;
    font-weight: 400;
    text-decoration: line-through;
    font-size: 15px;
    opacity: 0.6;
    margin-right: 5px;
    font-weight: 500;}
.price_txt{font-size:50px;color:#fff;margin-top:50px;text-align:center;}
.scale span i img{width:17px;position: relative;top: -2px;margin: 0 5px;}
.scale p b{color:green}
.scale p strong{color:#2aff6b;font-weight:bold}
.inquiry{padding:200px 0;padding-bottom:0;position:relative}
.inqu_letter{}
.inquiry .ctt{}
.inqu_right{width:100%;}

.inqu_right ul li img{width:50px;display:block;margin:0 auto;}
.inqu_right p{text-align:center;color:#fff;font-size:40px;font-weight:bold;line-height:60px;}
.inqu_right p span{font-weight:400;margin-top:15px;font-size:18px;opacity:0.6;display:block;margin-right:5px;}
.inqu_right ul{margin-top:40px;display:flex;justify-content:center;gap:60px;}
.inqu_right ul li{border:1px solid rgba(255,255,255,0.2);width:500px;border-radius:10px;padding:30px;}
.inqu_right ul li span{letter-spacing:0;line-height:45px;text-align:center;margin-top:10px;display:block;font-size:30px;color:#fff;font-weight:bold;}
.inqu_right ul li a{    background: #111;
    color: #ffde00;
    width: fit-content;
    margin: 0 auto;margin-top: 20px; display: block;padding: 10px 20px;font-size: 14px;border-radius: 5px;}
.inqu_right ul li:last-child a{color:#78df1a !Important;}
@media screen and (max-width:1800px){
  .point ul li p{font-size:18px;}
}
@media screen and (max-width:1400px){
  /* fix 아이콘 */
  .main_bg_fix img:nth-child(1){width:150px;}
  .main_bg_fix img:nth-child(2){width:150px;}
  .main_bg_fix img:nth-child(3){width:100px;right:10px;}
  .main_bg_fix img:nth-child(4){width:120px;}
  .main_bg_fix img:nth-child(5) {width: 100px;left: 40px;}
  .main_bg_fix img:nth-child(6) { width: 120px; left: -10px;}
  .main_bg_fix img:nth-child(7) { width: 100px; right: 100px; top: 300px;}
  .main_bg_fix img:nth-child(8) {width: 70px;left: 100px;}
  .main_bg_fix img:nth-child(9) {width: 100px;right: 200px;}
  .ctt{width:90%}
  #section1 .main_tit{}
  .main_tit h1{font-size:18px;}
  .main_tit p{font-size:14px;margin-top:15px;line-height:24px;}
  .merit{width:100%}
  .merit li p{font-size:30px;line-height:40px;}

  .question{font-size:16px}
  .bubble-text{font-size:14px}

  .profile .wave{width:100%;overflow:hidden;font-size:6vw}
  .pr_right{margin-top:35px;}

  .pr_right ul li p{font-size:16px}
  .pr_right ul li span{font-size:13px;margin-top:0;word-break:keep-all;}

  .charac_txt{margin-top:20px;}
  .text::after{height:16px;}
  .charac_txt p {font-size: 20px;}
  .charac_txt a { margin-top: 35px;padding: 15px 40px;font-size: 14px;}

  

  .wave2 p{font-size:30px;}

  .scale p{font-size:30px;line-height:48px;}
  .inquiry .ctt{flex-wrap:wrap}
  .inqu_right p{font-size:20px;line-height:30px;}
  .inqu_right p span {margin-top: 9px;font-size: 14px; }
  .inqu_right ul li{padding:20px;}
  .inqu_right ul li span{font-size:14px;}
}

@media screen and (max-width:799px){
  .mb_block{display:block}
  .pc_block{display:none;}
  .merit{flex-wrap:wrap;margin-top:30px;}

  .main{overflow:hidden;}
  .name_wrap{padding:100px 0;}
  .name_p{font-size:20px}
  
  
  
  .pr_wrap{flex-wrap:wrap}
  .pr_left{width:90%;margin:0 auto;}
  .pr_right{width:100%;margin-top:0}
  .pr_right ul li{heighT:auto;padding:20px}

  .point ul{margin-top:45px;}
  .point ul li{padding:35px;min-height:300px;}
  .point ul li img{width:50px;height:50px}
   .point ul li p{font-size:16px;}
  
  .charac_txt{flex-wrap:wrap}
  .charac_list{width:100%;margin-top:30px}
  .charac_list:last-child{}
  .charac_deco1{width:60px;top:-20px}
  .charac_deco2{width:60px;right:-20px}
  .charac_deco3{width:50px;left:10px}

  .main_bg_fix img{width:80px !Important}
  .main_bg_fix img:nth-child(8){left:0;}
  #section1{padding-top:0;}
  .pr_right ul{margin-top:30px;}
  .pr_right ul li{width:100%;padding:20px}
  .pr_right ul li span{font-size:12px;}
  .pr_right ul li p {font-size: 14px;}

  .profile_list{heighT:auto;}
  .pr_wrap{margin-top:30px;}
  .main_tit h2{font-size:20px}
  .profile_list ul li{width:48%;}
  .profile_list ul li{line-height:1.4;opacity:1;transform:scale(1);}
  .profile_list ul li{padding:20px;}
  .profile_list ul li {font-size:16px;}
  .profile_list ul li span{font-size:12px;margin-top:5px;}
  .profile_list ul li b{font-size:22px;}
  .charac{margin-top:100px;}
  .charac_list_box{padding:60px 30px}
  .charac_txt p{font-size:24px;line-height:25px;word-break:keep-all}
  .charac_txt p br{display:none;}

  .who{padding-top:60px;}
  .who .ctt{flex-wrap:wrap;}
  .who .main_tit{width:100%}
  .who ul{width:100%;margin-top:30px;}
  .who ul li span{width:25px;height:25px;line-height:25px;}
  .who ul li h2{font-size:18px;}
  .who ul li p{font-size:13px;word-break:keep-all}
  .who ul li::after , .who ul li:before{top: 59px;left: 22px;}
  .who ul li img{width:30px;right:auto;        right: 30px; position: relative;top: 0;left: 0;display: block;}
  
  .ppt .ctt{flex-wrap:wrap}
  .ppt h1{width:100%;font-size:20px;text-align:Center;}
  .ppt_slide{margin-top:30px;}
  
  .wave2{padding:20px 0;}
  .wave2 p{font-size:20px;}

  .scale{height:300px;}
  .scale p{font-size:20px;line-height:30px}
.scale span {width:90%;margin:0 auto;
    font-size: 12px;
    line-height: 24px;
  margin-top: 20px;word-break:keep-all}
  
  .price{width:90%;flex-wrap:wrap}
  .price li{width:100%;border-right:0;border-bottom:1px solid rgba(255,255,255,0.2);padding:20px 0;}
  .price li i{font-size:16px;}
  .price li p{font-size:20px}
  .price_txt{font-size:22px;}
  .inquiry{padding-top:60px;}
  .inqu_left{width:100%}
  .inqu_right{width:100%;margin-top:30px}
  .inqu_right ul li span{font-size:20px}
  .inqu_right ul{gap:20px;flex-wrap:wrap;margin-top:15px;}
  .inqu_right ul li{width:100%;}
  
  
}