@font-face {
    font-family: 'GmarketSansMedium';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

*{font-family: 'GmarketSansMedium' !important;}
/* html,body{overflow: hidden !important;} */
/* html,body{width: 100vw;} */
#hd{width: 100%; position: fixed; top: 0; left: 0;}
#hd.on{background-color: rgba(225, 225, 225, .3); backdrop-filter: blur(15px) saturate(130%); z-index: 9999999;}
#gnb{background: none;}
#logo a img{width: 120px;}
.building{width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; z-index: 999999;} 
.building img{width: 100%; height: 100%; object-fit: cover;}
#hd{background: none;}
#hd_wrapper{height: auto; padding: 10px 0; display: flex; justify-content: flex-end;}
.hd_login{position: initial;}
.hd_login a{color: #000;}
#hd_pop, #hd_wrapper, #tnb .inner, #gnb .gnb_wrap, #ft_wr{width: 100%; max-width: 90%;}
#container_wr{width: 100%; background-color: rgba(0,0,0,.05);}
#container{margin: 0; padding-top: 150px;}
#logo{float: none; padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 10px;}
#gnb .gnb_wrap{display: flex; padding: 20px 0; justify-content: space-between;}
#gnb .gnb_mnal{display: none;}
#gnb #gnb_1dul{border: none;}
#ft{background-color: #fff;}
#ft_wr{display: flex; margin: 0 auto; justify-content: space-between;}
#ft_copy{border: none; color: #C5C5C5; padding: 0; padding-top: 10px;}
.kakaoChanel{max-width: 50px; align-items: center;}
.kakaoChanel img{width: 100%;}
#ft_wr .ft_cnt{width: 100%; float: none; padding: 0;}
#ft_wr:after{display: none;}
.ft_info{text-align: center; color: #C5C5C5;}
.pg_wrap{float: none;}

#container{position: initial; float: none; width: auto;}

/* 메인섹션공통 */
.m_sect.white{background-color: #fff;}
.m_sect{height: 100%; padding: 30px 10% 50px; border-bottom: 1px solid rgba(0,0,0,.2); overflow: hidden; z-index: 1; position: relative;}
.m_sect h2, .sect_txt strong, .sect_txt p{font-size: 3rem;}
.m_sect span{font-size: 1.25rem; color: #818181;}
.m_sect h2{width: fit-content; margin: 0 auto;}
.underline{position: relative; z-index: 1; color: #0163C6;}
.underline::after{content: "";width: 105%; height: 20%; min-height: 15px; background-color: #FFBD69; position: absolute; transform: translateX(-50%); left: 50%; bottom: 12%; z-index: -1;}
.m_sect input[type="text"],.m_sect textarea{border: none; border-bottom: 1px solid #BDBDBD;}
.main_color{color: #0163C6 !important;}

/* 배경텍스트 롤링 */

.bg_txt {position: absolute; display: inline-block; white-space: nowrap; color: #fff; font-size: 13rem; z-index: -1;}
.bg_txt.roll{animation: roll-left 20s linear infinite;}
.bg_txt span {display: inline-block; padding-right: 2rem;}
.bg_txt.gray{color: #F5F5F5;}

@keyframes roll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* 메인섹션1 */
.m_sect.mv{display: flex; justify-content: center; position: relative;}
.m_sect.mv .underline::after{bottom: -10%;}
.m_sect.mv .bg_txt{display: flex; flex-direction: column; gap: 5rem;}
.m_sect.mv .sect_txt{width: 35%; display: flex; flex-direction: column; justify-content: center; gap: 20px;}
.m_sect.mv .sect_txt img{width: 100%;}
.mv_cont_wrap{display: flex; justify-content: space-between; flex-wrap: wrap; gap: 2rem;}
.mv_cont{width: 25%; flex-basis: 3; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1.5rem;}
.mv_cont div{ width: 100%; border-radius: 20px; background-color: #d9d9d9;}
.mv_cont div img{width: 100%;}
.bg_ball_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.bg_ball {
  position: absolute;
  width: 40%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(128,159,255,0.3), transparent 70%);
  animation: floatUpDown 10s ease-in-out infinite;
}

.bg_ball:nth-child(1) {
  top: -10%;
  left: -100px;
  animation-delay: 5s;
}

.bg_ball:nth-child(2) {
  bottom: 0;
  right: -100px;
}

@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(200px);
  }
}

/* 메인섹션2 */
.m_sect.portfolio .bg_txt{right: 10%;}
.m_sect.portfolio .sect_txt{position: absolute; left: 10%; top: 30px; z-index: 2;}
.pf_slide{margin-top: 150px;}
.pf_img{width: 30%; max-width: 500px; position: relative; flex: 1 1 30%;}
.pf_img a{width: 100%; position: relative; display: flex; flex-direction: column;}
.pf_img img{width: 100%; height: 100%; aspect-ratio: 1 / 1; border-radius: 20px; object-fit: cover; display: block; background-color: #d9d9d9; box-shadow: 3px 3px 10px rgba(0,0,0,.2);}
.pf_img p{font-size: 1.25rem; color: #0163C6; margin-top: 15px;}

/* 메인섹션3 */
.m_sect.about{text-align: center; overflow: initial;}
.m_sect.about .sect_txt span{display: inline-block; margin: 20px 0 0;}
.m_sect.about .bg_txt{rotate: 90deg; left: 0; top: 35%; font-size: 10rem;}
.hs_container{text-align: center;}
.hs_wrap{width: 100%; display: flex; gap: 10px; margin-top: 30px; justify-content: space-between;}
.hs_year{width: 30%; display: flex; flex-direction: column; gap: 10px;}
.hs_cont{width: 100%; text-align: left; margin: 0 auto; position: relative; padding-left: 30px; min-height: 95px;}
.hs_cont::before{content: ""; position: absolute; top: 0; left: 0; width: 15px; height: 15px; background-color: #E43731; box-shadow: 1px 1px 10px rgba(228,55,49,.7); border-radius: 50%;}
.hs_cont:not(:last-child)::after{content: ""; position: absolute; top: 20px; left: 7px; width: 1px; height: 60px; background-color: #C5C5C5; z-index: -1;}
.hs_item{display: flex; flex-direction: column; justify-content: flex-start; margin-top: 5px;}
.hs_item span{position: relative; padding-left: 15px;}
.hs_item span::after{content: ""; width: 5px; height: 5px; border-radius: 50%; background-color: #000; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}

/* 메인섹션4 */
.m_sect.contact{text-align: center;}
.m_sect.contact table{text-align: left;}
.m_sect.contact table tr{padding-top: 20px;}
.contact_cont{display: flex;}
.contact_cont label{width: 30%; text-align: left;}
#captcha{display: flex; align-items: center; gap: 5px;}
#captcha.m_captcha #captcha_info{display: none;}
.contact_cont_wrap{width: 50%; margin: 50px auto 50px;}
.send_btn{text-align:center; margin-top:20px; width:50%; max-width: 150px; margin:0 auto;}
#captcha.m_captcha #captcha_img{width: auto !important; height: 50px !important;}
#captcha.m_captcha #captcha_key{width: auto !important;}
.contact_list_btn a{display: block; max-width: 150px; margin: 0 auto; padding: 10px; border: 1px solid #d9d9d9; border-radius: 5px; margin-top: 20px;}

/* 글읽기 */
#container_title{width: 90%; margin: 0 auto;}
#bo_v{width: 90%; margin: 0 auto; background: none;}
#container_wr:after,#container:after{}
#container_wr,#container{overflow: hidden !important;}
/* 포트폴리오 페이지 */
.m_sect.bo_list{height: 40vh;}
.bo_list .sect_txt{margin: 0 auto; text-align: center;}
.m_sect.solution .port_txt{display: flex; gap: 10%; justify-content: space-between;}
/* .m_sect.solution .port_txt .sect_txt{margin-top: -50px;} */
.m_sect.solution .port_txt .sect_txt .underline{display: inline-block; padding-top: 20px;}
.sub_sect_txt{width: 50%; display: flex; flex-direction: column; gap: 20px;}
.sub_sect_txt strong{font-size: 1.5rem;}
.sub_sect_txt p{font-size: 1.25rem;}
.sol_step{margin-top: 50px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 50px;}
.step_item{width: 48%; display: flex; flex-direction: column; gap: 10px; border-radius: 20px; background: #fff; box-shadow: 1px 1px 10px rgba(0,0,0,.2); padding: 20px;}
.step_item b{font-size: 1.25rem; color: #FFBD69;}
.step_item strong{font-size: 1.25rem; color: #0163C6;}
.step_item h3{font-size: 1.5rem;}
.step_item p{font-size: 1.25rem; color: #7c7c7c;}
.web .bg_txt{
    text-shadow:
    -5px -5px 0 #F5F5F5,
     5px -5px 0 #F5F5F5,
    -5px  5px 0 #F5F5F5,
     5px  5px 0 #F5F5F5;
}
/* .web .bg_txt.board{right: 0;} */
.web .sect_txt{text-align: center; position: relative; margin-bottom: 50px;}
.m_sect.web .sect_txt .more{ color: #0163C6; position: absolute; right: 0;}
.pf_slide.board{margin-top: 30px;}

#bo_gall{padding: 30px 5%; background-color: #fff; position: relative; z-index: 0;}
.gall_img{padding-bottom: 100%; position: relative; overflow: hidden; border-radius: 20px;}
.gall_img a{position: absolute; display: inline-block; width: 100%; height: 100%;}
.gall_img a img{width: 100%; height: 100% !important; object-fit: cover;}
.gall_img .no_image{display: flex !important; justify-content: center; align-items: center; width: 100%; height: 100%;}
#container_title{display: none;}
#bo_cate a{background: #fff;}
#bo_w, #bo_v{width: 90%; margin: 0 auto;}
#bo_gall #gall_ul{display: flex; flex-wrap: wrap;}
#bo_gall .gall_img{border: 1px solid #d9d9d9;}
#bo_cate ul{display: flex; overflow-x: scroll;}
#bo_cate li{text-align: center; width: fit-content; text-wrap: nowrap;}
.bo_gall .sect_txt{display: flex; justify-content: center;}
.down{width: fit-content; margin-left: auto; margin-top: 10px;}

/* 게시글 뷰페이지 */
.m_sect.bo_view{text-align: center; padding: 100px 10% 50px; border: none;}
.m_sect.bo_view .mv_cont_wrap{justify-content: center;}
#bo_v_con{display: flex; gap: 50px; margin-bottom: 150px;}
/* 아래 #vo_v_con 코드는 이미지슬라이드시 주석처리 필요 */
#bo_v_con{flex-direction: column;}
/* 아래 코드는 이미지 슬라이드시 주석 해제 */
/* #bo_v_con .only_images{width: 50%;} */
#bo_v_con .only_images{max-width: 1200px; margin: 0 auto;}
#bo_v_con .only_images img{width: 100%; height: 100% !important; min-height: 450px; object-fit: cover;}
.only_text{display: flex; flex-direction: column; gap: 30px;}
.vo_v_title_wrap{display: flex; justify-content: space-between;}
.only_text #bo_v_title{display: flex; flex-direction: column; gap: 15px;}
#bo_v_title .bo_v_cate{max-width: fit-content;}
.btn_bo_user li{width: auto; background: none;}
.only_images{overflow: hidden;}
.only_links{margin-top: auto;}
a.btn, .btn{font-weight: 400; font-size: 0.825rem !important;}
.move_site{display: block; padding: 10px; color: #fff !important; background-color: #0163C6; border-radius: 5px; text-decoration: none !important; text-align: center; margin-left: auto;}
.pf_tex_wrap .hs_cont{margin-bottom: 30px;}
.pf_tex_wrap .hs_cont:not(:last-child)::after{top: 30px; height: auto; min-height: 30px;}
.fa{display: none !important;}
.hs_cont:empty,
.hs_cont:has(br:only-child),
.hs_cont:has(*:only-child:empty),
.hs_cont:has(img:only-child) {
  display: none !important;
}
#bo_v_info{border-bottom: 1px solid #d3d3d3;}
img.mo{display: none;}

@media (max-width:1200px) {
  .gall_row .col-gn-4{width: 33%;}
  .gall_row .box_clear{clear: none;}
  .bg_txt{font-size: 10rem !important;}
  .contact_cont_wrap,.send_btn{width: 100%;}
  /* .gall_row .col-gn-0, .gall_row .col-gn-1, .gall_row .col-gn-2, .gall_row .col-gn-3, .gall_row .col-gn-4, .gall_row .col-gn-5, .gall_row .col-gn-6, .gall_row .col-gn-7, .gall_row .col-gn-8, .gall_row .col-gn-9, .gall_row .col-gn-10{float: right;} */
  .m_sect.solution .port_txt{flex-direction: column;}
  .sub_sect_txt{width: 100%;}
  .m_br{display: none;}
  .step_item{width: 100%;}
  #bo_v_con{flex-direction: column;}
  #bo_v_con .only_images, #bo_v_con .only_text{width: 100%;}
}
@media (max-width:860px){
  .gall_row .col-gn-4{width: 50%;}
  .bg_txt{font-size: 7rem !important;}
  .mv_cont{display: none;}
  .m_sect.mv .sect_txt{width: 100%;}
  .pf_img{flex: 1 1 50%;}
  #captcha{flex-direction: column; align-items: flex-start;}
  #captcha.m_captcha audio{display: none;}
  .m_sect h2, .sect_txt strong, .sect_txt p{font-size: 2.25rem;}
  .m_sect.solution .port_txt .sect_txt .underline{padding-top: 0;}
  .sub_sect_txt{text-align: center;}
  .solution .sect_txt{text-align: center; margin-bottom: 20px;}
    .solution .sect_txt p{margin-bottom: 10px;}
  .solution .sub_sect_txt strong{display: none;}
  .m_sect.mv .sect_txt img{width: 200px;}
  .m_sect.mv .sect_txt{text-align: center;}
  .m_sect.mv .underline::after{width: 200px;}
  .hs_wrap{flex-direction: column; align-items: center; justify-content: center;}
  .hs_year{width: 100%;}
  .hs_year:not(:last-child) .hs_cont:last-child::after{content: ""; position: absolute; top: 20px; left: 7px; width: 1px; height: 60px; background-color: #C5C5C5;}
  .hs_cont:not(#bo_v_con .hs_cont){min-height: 80px;}
}
@media (max-width:480px){
  /* .gall_row .col-gn-4{width: 100%;} */
  .bg_txt{font-size: 5rem !important;}
  .building img{object-fit: contain; background-color: #fcfcfc;}
  #ft_wr{flex-direction: column;justify-content: center; align-items: center; gap: 20px;}
  #gnb .gnb_wrap{flex-direction: column; gap: 20px; align-items: center;}
  .m_sect h2, .sect_txt strong, .sect_txt p{font-size: 2rem;}
  .pf_img{flex: 1 1 70%;}
  .hs_wrap{width: 100%; margin-top: 20px;}
  .m_sect.about .bg_txt{right: -70%;}
  .m_sect.portfolio .sect_txt{top: 50px;}
  .m_sect span{font-size:0.925rem}
  .contact_cont{flex-direction: column;}
  #captcha{flex-direction: row; align-items: center;}
  /* .m_sect.mv{padding: 50px 5%;} */
  .contact_cont_wrap{margin-top: 20px;}
  .m_sect h2, .sect_txt strong, .sect_txt p{font-size: 1.2rem;}
  .sub_sect_txt strong, .step_item h3{font-size: 1.125rem;}
  .sub_sect_txt p, .step_item p,.step_item strong{font-size: 1rem;}
  .step_item b{font-size: 0.95rem;}
  #gnb .gnb_1dli{line-height: 35px;}
  .m_sect.bo_list{height: 25vh;}
  img.pc{display: none;}
  img.mo{display: block;}
  .only_text #bo_v_title{gap: 10px;}
  #bo_v_title .bo_v_tit{font-size: 1.25rem;}
  .vo_v_title_wrap{flex-direction: column; gap: 10px;}
  #bo_v_con{gap: 20px;}
  .pf_tex_wrap{display: none;}
  .m_sect.bo_view{padding: 50px 10% 20px;}
  .web .sect_txt{margin-bottom: 20px;}
  #bo_gall{padding: 20px 5%;}
  #bo_gall .gall_box{margin-bottom: 20px;}
  .bg_txt.roll strong:last-child{display: none;}
  .m_sect{padding: 20px 5% 30px;}
  .down{margin: 10px auto 0;}
}
@media (max-width:360px) {
  .bg_txt{font-size: 3rem !important;}
}

#container a.prevent-link {
  pointer-events: none;
  cursor: default;
  color: inherit; /* 필요 시 */
  text-decoration: none;
}