/* ===================================================
   &#128313; ÆùÆ®
=================================================== */
@import url(https://fonts.googleapis.com/earlyaccess/nanumgothic.css);








/* ===================================================
   &#128313; »ó´Ü ¹è³Ê ÀüÃ¼ ¿µ¿ª
=================================================== */
#cp_top_banner {
  text-align: center;
  white-space: nowrap;
  font-weight: 900;




  font-size: clamp(20px, 2.8vw, 40px);




  font-family: 'Noto Sans KR', sans-serif !important;
  letter-spacing: -0.5px;




  padding: 10px 0;




  /* &#128293; ¹è³Ê ÀüÃ¼ ¹è°æ */
  background: #2a2a2a;




  /* &#9888;&#65039; ¾à°£ ¹à¾Æ¼­ ¶ã ¼ö ÀÖÀ½ (ÇÊ¿ä½Ã Á¶Á¤ °¡´É) */
  border-bottom: 1px solid #ddd;




  overflow: visible;




  /* ÀüÃ¼ ±ôºýÀÓ (ÇöÀç ¹Ì»ç¿ë) */
  /* animation: bannerFlash 2s infinite; */
}








/* ===================================================
   &#128313; ÁÂ¿ì ÀÏ¹Ý ÅØ½ºÆ®
=================================================== */
#cp_top_banner .tb_left,
#cp_top_banner .tb_right {




  /* &#128293; ¾îµÎ¿î ¹è°æ¿ë ¹àÀº ÅØ½ºÆ® */
  color: #e0e0e0;
}








/* ===================================================
   &#128313; °¡¿îµ¥ °­Á¶ ÅØ½ºÆ® (&#128293; ¼öÁ¤ ¿Ï·á)
   &#10004; ±âÁ¸ flashBg Á¦°Å
   &#10004; ±¤°íÇü ¾Ö´Ï¸ÞÀÌ¼Ç Àû¿ë
=================================================== */
#cp_top_banner .tb_center {




  color: #222222;




  /* &#128293; °­Á¶ ¹è°æ */
  background: #ffcc00;




  padding: 4px 12px;
  border-radius: 6px;




  display: inline-block;
  margin: 0 10px;




  /* &#128293; ±¤°íÇü ±ôºýÀÓ (¼öÁ¤µÈ ºÎºÐ) */
  animation: flashStrong 1s infinite;
}








/* ===================================================
   &#128293; ±¤°íÇü ±ôºýÀÓ (½Å±Ô Ãß°¡)
   &#10004; »ö ¹ÝÀü + È®´ë + glow È¿°ú
=================================================== */
@keyframes flashStrong {




  0% {
    background: #ffcc00;
    color: #222222;
    transform: scale(1);
    box-shadow: 0 0 0 rgba(255,204,0, 0);
  }




  50% {
    background: #ffffff; /* &#128293; °­Á¶ ¹ÝÀü */
    color: #000000;
    transform: scale(1.08); /* &#128293; »ìÂ¦ È®´ë */
    box-shadow: 0 0 12px rgba(255,204,0, 0.9); /* &#128293; ºû È¿°ú */
  }




  100% {
    background: #ffcc00;
    color: #222222;
    transform: scale(1);
    box-shadow: 0 0 0 rgba(255,204,0, 0);
  }
}








/* ===================================================
   &#128293; ÀüÃ¼ ¹è³Ê ±ôºýÀÓ (¿É¼Ç / ÇöÀç ¹Ì»ç¿ë)
=================================================== */
@keyframes bannerFlash {




  0% {
    background: #ffcc00;
  }




  50% {
    background: #ffcc00;
  }




  100% {
    background: #ffcc00;
  }
}




/* ===================================================
   &#128313; RESET (ÀüÃ¼ ÃÊ±âÈ­)
=================================================== */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}








body{
  font-family:'Nanum Gothic',sans-serif;
  background:#fff;
  color:#222;
}








li{list-style:none;}








a{
  text-decoration:none;
  color:inherit;
}








img{
  width:100%;
  height:auto;
  display:block;
}






/* ===================================================
   &#128313; Áß¾Ó ¹è³Ê ÀüÃ¼
=================================================== */
#center_banner {
  text-align: center;
  background: #0f3d2e;                /* ´ÙÅ©±×¸° */
  padding: 30px 0;
  font-family: 'Noto Sans KR', sans-serif !important;
}




/* ===================================================
   &#128313; °øÅë ÅØ½ºÆ®
=================================================== */
#center_banner p {
  margin: 0;
  font-weight: 900;
  line-height: 1.4;
}




/* ===================================================
   &#128313; 1ÁÙ (Å« ÅØ½ºÆ®)
=================================================== */
#center_banner .cb_line1 {
  font-size: clamp(28px, 3.5vw, 60px);




  /* ¾Ö´Ï¸ÞÀÌ¼Ç */
  animation: line1_show 2.8s infinite;
  animation-timing-function: ease-out; /* ºÎµå·¯¿î ³¡ Ã³¸® */
}




/* ===================================================
   &#128313; 2ÁÙ (¼­ºê ÅØ½ºÆ®)
=================================================== */
#center_banner .cb_line2 {
  font-size: clamp(22px, 3vw, 60px);
  margin-top: 8px;




  /* ¾Ö´Ï¸ÞÀÌ¼Ç */
  animation: line2_show 2.8s infinite;
  animation-timing-function: ease-out;
}




/* ===================================================
   &#128313; ±âº» ÅØ½ºÆ®
=================================================== */
#center_banner .cb_normal {
  color: #ffffff;
}




/* ===================================================
   &#128313; °­Á¶ »ö»ó
=================================================== */
#center_banner .cb_red {
  color: #ff3b3b;
}




#center_banner .cb_yellow {
  color: #ffe600;
}




#center_banner .cb_orange {
  color: #ff8c00;
}




/* ===================================================
   &#128313; 1ÁÙ ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; ¾Æ·¡¿¡¼­ ÀÚ¿¬½º·´°Ô ¿Ã¶ó¿À¸ç µîÀå
=================================================== */
@keyframes line1_show {
  0% {
    opacity: 0;
    transform: translateY(12px);  /* ¾Æ·¡¿¡¼­ ½ÃÀÛ */
  }




  20% {
    opacity: 1;
    transform: translateY(0);     /* ÀÚ¿¬½º·´°Ô ¿Ã¶ó¿È */
  }




  100% {
    opacity: 1;
    transform: translateY(0);
  }
}




/* ===================================================
   &#128313; 2ÁÙ ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; 1ÁÙ ÀÌÈÄ µîÀå
=================================================== */
@keyframes line2_show {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }




  40% {
    opacity: 0;
    transform: translateY(12px);  /* ´ë±â */
  }




  65% {
    opacity: 1;
    transform: translateY(0);     /* µîÀå */
  }




  100% {
    opacity: 1;
    transform: translateY(0);
  }
}












/* ===================================================
   &#128313; ÇÏ´Ü ¹è³Ê ÀüÃ¼ ¿µ¿ª
   &#10004; footer À§ À§Ä¡
   &#10004; 3ºÐÇÒ ±¸Á¶
   &#10004; ÁÂ¿ì ¿©¹é Å©°Ô / Áß°£ °£°Ý Á¼°Ô
=================================================== */
#bottom_banner {
  display: flex;
  justify-content: center;




  gap: 10px;                /* Áß°£ °£°Ý */
  padding: 20px 40px;       /* ÁÂ¿ì ¿©¹é Å©°Ô */




  background: #ffffff;
}




/* ===================================================
   &#128313; °¢ ¹Ú½º °øÅë ½ºÅ¸ÀÏ
=================================================== */
#bottom_banner .bb_item {
  flex: 1;
  text-align: center;




  font-weight: 900;
  font-size: clamp(20px, 2.5vw, 60px);
  font-family: 'Noto Sans KR', sans-serif !important;




  padding: 14px 0;
  border-radius: 8px;
}




/* ===================================================
   &#128313; »ö»ó ¼³Á¤
=================================================== */




/* 1¹ø: ´ë´ÜÁö (Ã»º¸¶ó + ¿¤·Î¿ì) */
#bottom_banner .bb_1 {
  background: #51138a;
  color: #ffe600;
}




/* 2¹ø: ÀÚ°Ý¹« (¹ÎÆ® + È­ÀÌÆ® ¡æ ¿äÃ» ¼öÁ¤ ¹Ý¿µ: ¿ÍÀÎÅæ ÅØ½ºÆ®) */
#bottom_banner .bb_2 {
  background: #28ebbd;
  color: #7a1f2b;
}




/* 3¹ø: ¼±Âø¼ø (´ÙÅ©±×¸° + È­ÀÌÆ®) */
#bottom_banner .bb_3 {
  background: #1f4d3a;
  color: #ffffff;
}




/* ===================================================
   &#128313; ¾Ö´Ï¸ÞÀÌ¼Ç °øÅë ¼³Á¤
   &#10004; ÀüÃ¼ Èå¸§ µ¿ÀÏÇÏ°Ô ¸ÂÃã
=================================================== */
#bottom_banner .bb_1,
#bottom_banner .bb_2,
#bottom_banner .bb_3 {
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}




/* ===================================================
   &#128313; 1¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; ¸ÕÀú µîÀå ¡æ °è¼Ó À¯Áö
=================================================== */
#bottom_banner .bb_1 {
  animation-name: bb_step1;
}




@keyframes bb_step1 {
  0%   { opacity: 0; }
  10%  { opacity: 1; }   /* µîÀå */
  100% { opacity: 1; }   /* ³¡±îÁö À¯Áö */
}




/* ===================================================
   &#128313; 2¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; µÎ¹øÂ° µîÀå
=================================================== */
#bottom_banner .bb_2 {
  animation-name: bb_step2;
}




@keyframes bb_step2 {
  0%   { opacity: 0; }
  25%  { opacity: 0; }
  35%  { opacity: 1; }   /* µîÀå */
  100% { opacity: 1; }
}




/* ===================================================
   &#128313; 3¹ø ¾Ö´Ï¸ÞÀÌ¼Ç
   &#10004; ¸¶Áö¸· µîÀå ¡æ ÀüÃ¼ ¿Ï¼º
=================================================== */
#bottom_banner .bb_3 {
  animation-name: bb_step3;
}




@keyframes bb_step3 {
  0%   { opacity: 0; }
  50%  { opacity: 0; }
  60%  { opacity: 1; }   /* µîÀå */
  100% { opacity: 1; }
}








/* ===================================================
   &#128313; ¼­ºêÆäÀÌÁö ºñÁÖ¾ó Å¸ÀÌÆ² (¸ÞÀÎ ºñÁÖ¾ó À§ Ç¥½Ã)
   &#10004; Å¾ ¼öÁ¤ ¾øÀÌ CSS·Î Ã³¸®
   &#10004; body class ±â¹ÝÀ¸·Î ÆäÀÌÁö ±¸ºÐ
=================================================== */




/* &#128313; ±âº» À§Ä¡ ¼³Á¤ */
.sub_page #img_box {
  position: relative;
}




/* &#128313; °øÅë ½ºÅ¸ÀÏ */


.sub_page #img_box::after {
  content: "";




  position: absolute;




  top: 40%;              /* &#128293; À§ ±âÁØÀ¸·Î º¯°æ (ÇÙ½É) */
  left: 50%;
  transform: translate(-50%, -50%);




  color: #fff;
  font-size: 56px;
  font-weight: 800;




  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
  z-index: 10;
}




/* ===================================================
   &#128313; ÆäÀÌÁöº° Å¸ÀÌÆ²
   &#10004; body class¿¡ ¸Â°Ô ÀÚµ¿ Ãâ·Â
=================================================== */




/* »ç¾÷¼Ò°³ */
.sub_overview #img_box::after {
  content: "»ç¾÷¼Ò°³";
}




/* ÀÔÁöÁ¶°Ç */
.sub_vision #img_box::after {
  content: "ÀÔÁöÁ¶°Ç";
}




/* ºñÀüºÐ¼® */
.sub_premium #img_box::after {
  content: "ºñÀüºÐ¼®";
}




/* Æò¸éµµ */
.sub_compose #img_box::after {
  content: "Æò¸éµµ";
}




/* À¯´Ö */
.sub_unit #img_box::after {
  content: "À¯´Öº¸±â";
}














/* ===================================================
   &#128313; WRAP (ÀüÃ¼ ÃÖ´ëÆø)
=================================================== */
#wrap{
  max-width:1280px;
  margin:0 auto;
  background:#fff;
}
















/* ===================================================
   &#128313; HEADER
=================================================== */
.top_title{
  text-align:center;
  padding:20px 0;
}








.top_title .sub{
  font-size:clamp(14px,2.5vw,30px);
  color:#666;
}








.top_title h1{
  font-size:clamp(24px,5vw,60px);
  font-weight:800;
}








.top_title h1 a{color:#000;}
















/* ===================================================
   &#128313; ÀüÈ­¹Ù
=================================================== */
.top_call{
  background:#0c1c5a;
  color:#fff;
  text-align:center;
  padding:12px;
  font-size:clamp(14px,2.5vw,24px);
}








.top_call span{
  font-size:clamp(22px,5vw,50px);
  color:#ffd400;
  font-weight:800;
}
















/* ===================================================
   &#128313; PC ¸Þ´º
=================================================== */
.top_menu{
  display:flex;
  justify-content:center;
  gap:60px;
  background:#fff;
  padding:18px 0;
}








.top_menu a{
  font-size:22px;
  font-weight:700;
  color:#222;
  position:relative;
}








.top_menu a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:3px;
  background:#0c1c5a;
  transition:0.3s;
}








.top_menu a:hover::after{
  width:100%;
}
















/* ===================================================
   &#128313; ¸ð¹ÙÀÏ »ó´Ü
=================================================== */
.mobile_bar{
  display:none;
  align-items:center;
  justify-content:space-between;
  padding:10px 15px;
}








.m_logo{
  flex:1;
  text-align:center;
  font-size:18px;
  font-weight:800;
}
















/* ===================================================
   &#128313; ¹öÆ°
=================================================== */
.menu_btn,
.call_btn{
  width:80px;
  height:40px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  background:#0c1c5a;
  color:#fff;
}








.call_btn{
  background:#ffd400;
  color:#000;
}
















/* ===================================================
   &#128313; ¸ð¹ÙÀÏ ¸Þ´º (±âÁ¸)
=================================================== */
.mobile_menu{
  position:fixed;
  left:-80%;
  top:0;
  width:80%;
  height:100%;
  background:#f4f8ff;
  z-index:9999;
  transition:0.3s;
}








.mobile_menu.active{left:0;}
















/* ===================================================
   &#128293; ¸ð¹ÙÀÏ ¸Þ´º ³»ºÎ ½ºÅ¸ÀÏ (Ãß°¡µÈ ºÎºÐ)
=================================================== */
.menu_header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px;
  background:#0c1c5a;
  color:#fff;
}








.menu_logo{
  font-size:18px;
  font-weight:800;
}








.menu_close{
  background:none;
  border:none;
  color:#fff;
  font-size:20px;
  cursor:pointer;
}








.menu_inner a{
  display:block;
  padding:18px 20px;
  font-size:16px;
  font-weight:600;
  color:#222;
  border-bottom:1px solid #eee;
  background:#fff;
}








.menu_inner a:hover{
  background:#f5f5f5;
}
















/* ===================================================
   &#128293; ¸Þ´º ¿À¹ö·¹ÀÌ (Ãß°¡)
=================================================== */
.menu_overlay{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.5);
  z-index:9998;
  display:none;
}








.menu_overlay.active{
  display:block;
}
















/* ===================================================
   &#128313; ¸ÞÀÎ ºñÁÖ¾ó
=================================================== */
#img_box{width:100%;}
















/* ===================================================
   &#128293; »ó´Ü 3°³ Ä«µå
=================================================== */
.mainbn1{
  display:flex;
  justify-content:center;
  gap:60px;
  margin-top:40px;
}








.mainbn1 .bn_item{
  width:250px;
  text-align:center;
}








.mainbn1 img{
  border-radius:50%;
  aspect-ratio:1/1;
  object-fit:cover;
}








.title_box{
  margin-top:10px;
  font-size:18px;
  font-weight:700;
  text-align:center;
}
















/* ===================================================
   &#128293; 6°³ Ä«µå ¿µ¿ª
=================================================== */
.mainbn{
  display:flex;
  flex-wrap:wrap;
  gap:30px;
  margin-top:40px;
  background:#F2FFED;
  padding:20px;
}








.mainbn .bn_item{
  width:calc(50% - 15px);
  display:flex;
  flex-direction:column;
}








.mainbn img{
  aspect-ratio:3/2;
  object-fit:cover;
}
















/* ===================================================
   &#128293; ½½¶óÀÌµå Ä«µå (º¹±¸µÈ ºÎºÐ)
=================================================== */
.text_slider{position:relative;}








.card_area{
  position:relative;
  overflow:hidden;
}








.card_area::before{
  content:"";
  display:block;
  padding-top:66.66%;
}








.slider_inner{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}








.slide{
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  opacity:0;








  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;








  transition:0.5s;
  background:#0c1c5a;
}








.slide.active{opacity:1;}






/* =========================
   &#128313; ÅØ½ºÆ® Áß¾Ó Á¤·Ä (Ãß°¡)
========================= */
.text_box{
  display:flex;              /* &#128293; ÇÙ½É */
  flex-direction:column;     /* ¼¼·Î Á¤·Ä */
  justify-content:center;    /* ¼¼·Î °¡¿îµ¥ */
  align-items:center;        /* °¡·Î °¡¿îµ¥ */
  text-align:center;         /* ÅØ½ºÆ® °¡¿îµ¥ */
  height:100%;               /* ºÎ¸ð ±âÁØ Ã¤¿ì±â */
}




/* =========================
&#128313; ÅØ½ºÆ® ±âº» (PC)
========================= */
.text_box p{
font-size:30px;
margin:6px 0;
font-weight:600;
color:#fff;
line-height:1.4; /* &#128293; ÁÙ°£°Ý Ãß°¡ */
}








.slider_card .title_box{
  margin-top:10px;
  color:#222;
}
















/* ===================================================
   &#128313; »ó´ãÆû
=================================================== */
#community{margin-top:40px;}
















/* ===================================================
   &#128313; FOOTER
=================================================== */
#footer{
  background:#0c1c5a;
  color:#fff;
  padding:40px 20px;
}








.footer_inner{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:40px;
}








.footer_left{
  width:30%;
  text-align:right;
  padding-right:20px;
}








.footer_title{
  font-size:36px;
  font-weight:900;
}








.footer_line{
  width:1px;
  height:70px;
  background:#fff;
  opacity:0.3;
}








.footer_right{
  width:70%;
  text-align:left;
  padding-left:20px;
}








.footer_tel{
  font-size:42px;
  font-weight:900;
  color:#ffd400;
}








.footer_addr{
  font-size:14px;
}
















/* ===================================================
   &#128293; ¸ð¹ÙÀÏ
=================================================== */
@media screen and (max-width:768px){








  .top_title,
  .top_menu{display:none;}








  .mobile_bar{display:flex;}








  .mainbn1{gap:10px;}
  .mainbn1 .bn_item{width:33.333%;}








  .mainbn{
    flex-direction:column;
    gap:15px;
  }








  .mainbn .bn_item{width:100%;}




  .text_box p{
font-size:20px; /* &#128293; ¸ð¹ÙÀÏ ÆùÆ® */
line-height:1.6; /* &#128293; ¸ð¹ÙÀÏÀº Á» ´õ ¿©À¯ */
}


}








/* ===================================================
   &#128293; Ç²ÅÍ ¹ÝÀÀÇü (Ãß°¡µÈ ºÎºÐ)
=================================================== */








/* &#11088; 850px ÀÌÇÏ¿¡¼­ ±Û¾¾ ÁÙÀÌ±â */
@media screen and (max-width:850px){








  .footer_title{
    font-size:28px;
  }








  .footer_tel{
    font-size:34px;
  }








}
















/* &#11088; ¸ð¹ÙÀÏ Ç²ÅÍ ÃÖÀûÈ­ */
@media screen and (max-width:768px){








  .footer_inner{
    flex-direction:column;
    text-align:center;
    gap:10px;
  }








  .footer_left,
  .footer_right{
    width:100%;
    text-align:center;
    padding:0;
  }








  .footer_line{
    display:none;
  }








  .footer_title{
    font-size:20px;
  }








  .footer_tel{
    font-size:26px;
  }








  .footer_addr{
    font-size:12px;
  }








  #footer{
    padding:25px 15px;
  }








}








/* ===================================================
   &#128313; ¼­ºêÆäÀÌÁö Àü¿ë ½ºÅ¸ÀÏ (Ãß°¡)
=================================================== */








/* Å¸ÀÌÆ² ¿µ¿ª */
#title{
  text-align:center;
  background:#0c1c5a;
  padding:20px 10px;
  margin-top:20px;
}








/* Å¸ÀÌÆ² ÅØ½ºÆ® */
#title .title,
#title .sub_title{
  font-size:24px;
  font-weight:700;
  color:#fff;
}
















/* ÄÜÅÙÃ÷ ÀÌ¹ÌÁö ¿µ¿ª */
#content_img img{
  width:100%;
  margin-bottom:10px;
}
















/* ===================================================
   &#128293; ÇÏ´Ü °íÁ¤ ÀüÈ­ ¹öÆ°
=================================================== */
#top_tel{
  position:fixed;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  width:90%;
  max-width:500px;
  z-index:9999;
  transition:0.3s;
}








#top_tel a{
  display:flex;
  justify-content:center;
  align-items:center;
  white-space:nowrap;








  background:#0c1c5a;
  color:#fff;








  font-size:18px;
  font-weight:600;








  padding:15px 20px;
  border-radius:50px;








  gap:10px;








  box-shadow:0 5px 15px rgba(0,0,0,0.2);
}








#top_tel span{
  font-size:20px;
  font-weight:800;
  color:#ffd400;
}