#sub_main{position:relative; z-index:2;}

/* services */
.sub_visial{height:80vh; width:100%; position:relative;}
.sub_visial.sub_visual2{}
.sub_visial > div{width:90vw; margin:10rem auto 0}
.sub_visial.faq{height:30vh}
.sub_visial > div > h2{color:#000; font-size:3.5vw; font-weight:700; line-height:1.2; }
.sub_visial > div > h2 > span{font-size:inherit; font-weight:300}
.sub_visial > div > h3{font-size:1.3vw; margin-top:2rem; line-height:1.4; color:#080808; font-weight:200; margin-left:35.32934%;word-break:keep-all; }
.sub_visial > div > h3 span {font-weight:500; font-size:1.8vw; }
.sub_visial > div > h3.location_h3{font-weight:500}
.sub_visial > div > h3.location_h3 > b{display:flex; align-items:center; gap:0.5rem; margin-top:1rem; text-align:left}
.sub_visial > div > h3.location_h3 > b > img{width:25px}
.sub_visial.portfolio_visual > div,
.sub_visial.contact_visual > div{margin:0 auto}
.scroll_box{width:100%; margin:2rem 0 5rem; }
.scroll-downs {width :34px;height: 55px;}
.mousey {width: 3px; padding: 10px 15px; height: 35px; border: 2px solid #2b2b2b; border-radius: 25px; opacity: 0.75; box-sizing: content-box;}
.scroller {width: 3px; height: 10px; border-radius: 25%; background-color: #2b2b2b; animation-name: scroll; animation-duration: 1.5s; animation-timing-function: cubic-bezier(.15,.41,.69,.94); animation-iteration-count: infinite;}
@keyframes scroll {
	0% { opacity: 0; }
	10% { transform: translateY(0); opacity: 1; }
	100% { transform: translateY(15px); opacity: 0;}
}
.imagecontainer{ position:absolute; right:0; top:50% ;width:50%; transform:translateY(-50%)}
#imageBg > img{background:url('../../images/sub/sub_visual01.jpg'); background-size:cover; max-width:100%}
.subcontent{height: calc(200vh + 10rem);position:relative;}
.subcontent.subcontent2{height: calc(220vh + 10rem);}
.subcontent.subcontent3{height: calc(190vh + 10rem);}/* 유지보수 */
.contentbg{position:sticky; top:0; left:0;margin: 0% auto; width: 100vw; height: calc(110vh + 10rem); max-width:100%; transform:scale(0.4); transition:0.2s}
.website{background:url('../../images/sub/sub_visual01.jpg'); background-size:cover;}
.kiosk{background:url('../../images/sub/sub_visual04.jpg'); background-size:cover;}
.maintenance{background:url('../../images/sub/sub_visual05.jpg'); background-size:cover;}
.contentbg > div{position:absolute; top:50%; left:50%; transform:translate(-50%, -40%);}
.content_text{height:90vh; position:relative; color:#fff; width:90%; margin:0 auto;}
.content_text.devel_content{border-top:1px solid #fff; padding-top:10rem}
.content_text.content_text2 p{width:50%; word-break:keep-all}
.content_text span{font-size:24px; margin-bottom:1rem; display:block; }
.content_text h4{font-size:3.5vw; font-weighT:600}
.content_text p{margin-top: 3rem; font-size:24px; line-height:1.5}
.detail_text{width:100%; text-align:right}
.detail_text > ul {padding-top:10rem; justify-content:end;  gap:1rem; flex-wrap:wrap; width:30vw; margin: 0 0 0 auto}
.detail_text > ul > li{background-color:#fff; color:#000; font-size:24px; padding:0.5rem 2rem; border-radius:50px;}
.devel{height: calc(200vh + 20rem);position:relative; background:url('/images/sub/sub_visual01.jpg'); position:sticky; top:0; left:0;margin: 0% auto; width: 100vw; height: calc(100vh + 20rem); max-width:100%;}

.service_section{background-color:#f5f6f8;padding:7rem 0; }
.service_section > h3{width:90%; margin:0 auto; font-size: 2.5vw; font-weight:700; margin-bottom:3rem}
.service_section > section{width:90%; margin:0 auto; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:2rem 5rem}
.service_section > section > article{border-top:1px solid rgba(0,0,0,0.3); padding-top:2rem}
.service_section > section > article > span{font-size:15px; color:#b9b9b9}
.service_section > section > article > h4{font-size:23px; margin:1rem 0; font-weight:600}
.service_section > section > article > div{width:95%}
.service_section > section > article > div > p{font-size:16px; line-height:1.7; color:#242424;font-weight:400; word-break:keep-all}
.maintenance_section{position:relative; padding-bottom:15rem}
.maintenance_section:before{content:''; width:100%; height:10rem; display:block; background-color:#f5f6f8; position:absolute; top:-10rem;}

/* 포폴 */
.pf_tabs{}
.pf_tabs > ul{width:90vw; margin:0 auto; gap:2rem}
.pf_tabs > ul li a{font-size:1.3vw;display:block; padding:0.75rem 2rem; border-radius:50px; transition:0.2s}
.pf_tabs > ul li.on a{ border:1px solid #646464;}

.pf_content{width:90vw; margin:0 auto; padding:5rem 0; grid-template-columns:repeat(3, 1fr); grid-template-rows:repeat(1, 1fr); gap:3rem}
.pf_content article a{display:block; position:relative; width:100%; height:100%; overflow:hidden; border-radius:20px; }
.pf_content article a img{width:100%; max-width:100%}
.pf_content article a article{position:absolute; top:0; left:0; width:100%; height:100%; padding:2rem; background-color:rgba(0,0,0,0.9); color:#fff; flex-direction:column; visibility:hidden; opacity:0; transition:0.3s}
.pf_content article a article > span{font-size:21px}
.pf_content article a article > h3{font-size:1.5vw; font-weight:700; margin:1rem 0 2rem}
.pf_content article a article > p{font-size:17px; }

/* contact */
.contact_content{max-width:90%; margin:0 auto;}
.contact_content > h4{font-size:2.5vw; font-weight:700; margin-bottom:5rem; padding-bottom:3rem; border-bottom:2px solid #000}
.contact_content > article h5{font-size:1.75vw; font-weight:600; margin-bottom:4rem;}
.contact_content > article h5 > br{display:none;}
.contact_content > article form > ul{width:100%; margin-bottom:5rem;padding-bottom:5rem; border-bottom:1px solid #ddd}
/* input text */
ul.form_list{ grid-template-columns:1fr 1fr;gap:3rem 5rem;}
ul.form_list li p{margin-bottom:1.5rem;font-size:21px; font-weight:600}
ul.form_list li input{ width:100%; padding:2rem 1.5rem; border:2px solid #000; border-radius:10px; font-size:21px }

ul.textarea_box {}
ul.textarea_box li > textarea{width:100%; border:2px solid #000; border-radius:10px; font-size:19px; padding:2rem;resize: none; }
ul.textarea_box li > p{margin-bottom:1.5rem;font-size:21px; font-weight:600}
ul.textarea_box li:nth-child(1){grid-column: 1/ span 2}
ul.textarea_box li:nth-child(2){grid-column: 1 / span 3;}
ul.textarea_box li.file_add{gap:2rem; margin-top:2rem}
ul.textarea_box li.file_add > div{width:calc(50% - 1rem)}
ul.textarea_box li.file_add > div input{display:none}
ul.textarea_box li.file_add > div label{width:100%;cursor:pointer; display:flex; justify-content:space-between; align-items:center; height:100%; }
ul.textarea_box li.file_add > div label > span{background-color:#000; color:#fff; width:20%; padding:2rem 1.5rem;border-radius:10px; font-size:21px; text-align:center; border:2px solid #000;}
ul.textarea_box li.file_add > div label > p{ padding:2rem 1.5rem; border:2px solid #000; border-radius:10px; font-size:21px; width:80%; margin-right:1rem; font-weight:300; color:#363636}
/* input chk-box */
ul.chk_list{grid-template-columns:repeat(4, 1fr); gap:3rem 5rem}
ul.chk_list li label{cursor:pointer; display:flex; align-items:center; gap:1rem}
ul.chk_list li label > span{font-size:24px; font-weight:500; width:calc(100% - 25px - 1rem)}
ul.chk_list li label:before{content:''; display:block; width: 20px; height:20px; border-radius:5px; border:2px solid #000;}
ul.chk_list li input:checked + label:before{background:url('../../images/ico/ico_chk.svg'); background-position:center; background-size:90%; background-repeat:no-repeat;}
ul.chk_list li input{display:none; }
ul.select_list{grid-template-columns:1fr 1fr; gap:0 5rem;}
ul.select_list > li > p{margin-bottom:1.5rem;font-size:21px; font-weight:600}
ul.select_list > li > div.selectbox{position:relative;}
ul.select_list > li > div.selectbox > div{ width:100%; padding:2rem 1.5rem; border:2px solid #000; border-radius:10px; font-size:21px; cursor:pointer; }
ul.select_list > li > div.selectbox ul.opstion_box{display:none; border:2px solid #000; border-radius:10px; cursor:pointer;position:absolute;top:calc(100% - 2px); background-color:#fff; left:0; overflow:hidden; padding-top:}
ul.select_list > li > div.selectbox ul.opstion_box.on{display:block; width:100%;}
ul.select_list > li > div.selectbox ul.opstion_box li{font-size:19px;padding:1.25rem 1.5rem;}

div.priv_agree {text-align:center;}
div.priv_agree input{display:none}
div.priv_agree label{cursor:pointer; font-size:24px; font-weight:500; display:flex; justify-content:center; align-items:center; gap:1rem}
div.priv_agree label:before{content:''; display:block; width: 20px; height:20px; border-radius:5px; border:2px solid #000;}
div.priv_agree input:checked + label:before{background:url('../../images/ico/ico_chk.svg'); background-position:center; background-size:90%; background-repeat:no-repeat;}
div.confirm_btn{ text-align:center;}
div.confirm_btn > button{font-size:24px; font-weight:500; margin-top:3rem; background-color:#000; color:#fff; padding:1.25rem 3rem; border-radius:10px;cursor:pointer;}

/* about */
.about_visual > div > h2{text-transform:uppercase}
.about_visual > div > h3 > b{font-size:inherit; font-weight:500}
.about_content > article{position:relative; margin-bottom:10rem}
.about_content > article:after{content:''; width:100%; position:absolute; height:1px; background-color:#c0c0c0; top:8rem }
.about_content > article > div { gap:7rem;  margin: 0 auto; width:80vw}
.about_content > article > div div > h4{font-size:9vw; font-weight:700; color:#0024a8; position:relative; z-index:1}
.about_content > article > div div.content_txt{ padding-top:10rem; position:relative}
.about_content > article > div div.content_txt:before{content:''; width:15px; height:16px; position:absolute; background-color:#0024a8; top:8rem; }
.about_content > article > div div.content_txt > h5{font-size:35px; font-weight:600; margin:2rem 0 3rem}
.about_content > article > div div.content_txt > p{font-size:19px; line-height:1.5; font-weight:300}
.about_content02{margin: 0; position:relative; background-color: #1a1721; color: #fff; overscroll-behavior: none; margin: 0; padding: 0;}
.about_content02_text{ text-shadow:0 0 11px rgba(0,0,0,0.4); position: sticky; top: calc(50vh - 5rem); padding-top:5rem; font-weight: 900; font-style: normal; font-size: 3vw; text-align: center; width: 100%; z-index: 2; color: #fff; line-height:1.2}
#wrapper {overflow: hidden; position: sticky; height: 100%; width: 100%; top: 0; left: 0; right: 0; bottom: 0;}
#content {overflow: visible; width: 100%;}
.text { position: sticky; top: 50vh; font-weight: 900; font-size: 2vw; text-align: center;  width: 100%;  transform: translateY(-100%); z-index: 2; color: white; -webkit-text-stroke-width: 1.5px; -webkit-text-stroke-color: white;  z-index: -2;}
.outline-text {color: transparent; -webkit-text-stroke-width: 1.5px; -webkit-text-stroke-color: white;z-index: 2;}
.filter-text {mix-blend-mode: screen; color: #804691; z-index: 2;}
.images {padding: 5vh 0 10vh; position: relative;  width: 100%;  max-width: 80vw;  margin: 0 auto;  min-height: 80vh;height: 100%;display: grid;/* grid-template-columns: repeat(20, 2%); grid-template-rows: repeat(20, 3%);*/  justify-content: center;  justify-items: center;  align-items: center;  z-index: 1;  object-fit: cover;  gap:2rem}
.content__slide-item {width: 100%;height: 100%; position: relative;}
.images img { width: 100%; height: 100%; object-fit: cover;}
.images img:nth-child(1){ grid-area: 1/1/6/8;}
.images img:nth-child(2){grid-area: 3/12/8/20;}
.images img:nth-child(3){grid-area: 9/5/13/15;}
.images img:nth-child(4){grid-area: 14/1/18/8;}
.images img:nth-child(5){grid-area: 16/12/20/19;}
.about_content03{background-color:#1a1721; padding:5rem 0 7rem}
.about_content03 > h4{color:#fff; font-weight:600; font-size:2.5vw; padding:2rem 0 4rem; width:90vw; text-align:center; margin:0 auto; display:flex; flex-direction:column; gap:16px;}
.about_content03 > h4 > p {font-size:18px; font-weight:300; padding-left:4px;}
.weare_box{color:#fff;width:90vw; margin:0 auto; gap:2rem; justify-content:space-between;}
.weare_box > div{flex-direction:column; border:1px solid #fff; border-radius:10px; padding:3.5rem 2rem; flex:1}
.weare_box > div > img{width:50px; margin-bottom:3.5rem}
.weare_box > div > span{font-weight:800; color:#4c7cff; font-size:1.3vw;}
.weare_box > div > h5{font-size:1.5vw;font-weight:600; margin:1rem 0 1.5rem}
.weare_box > div > p{font-size:21px; line-height:1.2; font-weight:200; color:#d5d5d5}


/*price*/

.price_content01{background-color:#1a1721; padding:5rem 0 7rem}
.price_content01 > h4{color:#fff; font-weight:800; font-size:4vw; padding:4rem 0; width:90vw; margin:0 auto; display:flex; flex-direction:column; gap:16px;}
.price_content01 > h4 > p {font-size:18px; font-weight:300; padding-left:4px;}
.price_content01 .price-box > .flex {transition:0.4s; background:none;}
.price_content01 .price-box > .flex > .text-wrap {display:flex; flex-direction:column; align-items:center; gap:8px;}
.price_content01 .price-box > .flex > .text-wrap > span {font-size:14px;}
.price_content01 .price-box > .flex > .text-wrap > h5 {font-size:32px; font-weight:600;}
.price_content01 .price-box > .flex > .text-wrap > p {font-size:18px; text-align:center;}
.price_content01 .price-box > .flex > .text-wrap > p > b {font-weight:600; font-size:20px;}
.price_content01 .price-box > .flex > .price-list {min-height:160px;display:flex; gap:8px; flex-direction:column; margin:28px 0px; border-top:1px solid #ddd;  border-bottom:1px solid #ddd;  padding:20px 0px;}
.price_content01 .price-box > .flex > .price-list > li {line-height:16px; font-size:14px; text-align:center; font-weight:300;}
.price_content01 .price-box > .flex > .btn-wrap {transition:0.4s;display:flex; flex-direction:column; gap:20px; align-items:center;}
.price_content01 .price-box > .flex > .btn-wrap > p {font-size:16px; font-weight:600;}
.price_content01 .price-box > .flex > .btn-wrap > a {font-size:16px; transition:0.5s; background: linear-gradient(101deg, rgba(112, 157, 255, 0.30) 2.54%, rgba(112, 157, 255, 0.30) 84.71%);  width:100%; padding:12px; display:flex; color:#fff; border-radius:40px; align-items:center; justify-content:center;}
.price_content01 .price-box > .flex {
  position: relative; /* 가상 요소를 위한 기준점 */
  z-index: 1;
  /* 여기에 기존 스타일 추가 (padding, border 등) */
  transition: color 0.3s; /* 배경이 아닌 글자색 등에 트랜지션 적용 가능 */
  overflow: hidden; /* 가상 요소가 밖으로 나가지 않도록 */
  width: calc(100% / 6)
}

/* .flex의 배경을 처리할 가상 요소 */
.price_content01 .price-box > .flex::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(212, 207, 230, 0.10) 0.23%, rgba(93, 93, 93, 0.10) 62.97%);
  opacity: 0; /* 처음엔 투명하게 */
  transition: opacity 0.3s ease-in-out; /* opacity 값에 트랜지션 적용 */
  z-index: -1; /* 콘텐츠 뒤로 보내기 */
}

/* .flex에 hover 했을 때 가상 요소 나타나게 하기 */
.price_content01 .price-box > .flex:hover::before {
  opacity: 1; /* 불투명하게 만들어 배경이 보이도록 함 */
}


/* 버튼(a 태그) 스타일 */
.price_content01 .price-box > .flex > .btn-wrap > a {
  position: relative; /* 가상 요소를 위한 기준점 */
  z-index: 1;
  font-size: 16px;
  background:linear-gradient(101deg, rgb(98 114 151 / 30%) 2.54%, rgb(73 98 153 / 30%) 84.71%);
  width: 100%;
  padding: 12px;
  display: flex;
  border-radius: 40px;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* 가상 요소가 밖으로 나가지 않도록 */
  color: #fff; /* 글자색 지정 */
  text-decoration: none; /* 밑줄 제거 */
}

/* a 태그의 배경을 처리할 가상 요소 */
.price_content01 .price-box > .flex > .btn-wrap > a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(101deg, rgba(54, 118, 255, 0.60) 2.54%, rgba(134, 92, 233, 0.60) 84.71%);
  opacity: 0; /* 처음엔 투명하게 */
  transition: opacity 0.3s ease-in-out; /* opacity 값에 트랜지션 적용 */
  z-index: -1; /* 콘텐츠 뒤로 보내기 */
}

/* .flex에 hover 했을 때 a 태그의 가상 요소 나타나게 하기 */
.price_content01 .price-box > .flex:hover .btn-wrap > a::before {
  opacity: 1; /* 불투명하게 만들어 배경이 보이도록 함 */
}

/* 나머지 스타일은 그대로 유지 */
.price_content01 .price-box > .flex > .btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

.price_content01 .price-box > .flex > .btn-wrap > p {
  font-size: 16px;
  font-weight: 600;
}


.price_content02 {background-color:#fff;}
.price_content02 > h4 {color:#000;}
.price_content02 .price-box > .flex {color:#000; width:calc(100% / 4); border:1px solid #000; height:100%;}
.price_content02 .price-box > .flex > .btn-wrap > a {width:70%; color:#000; background:#eaeff3; margin-top:40px;}
.price_content02 .price-box > .flex:hover .btn-wrap > a {color:#000;}
.price_content02 .price-box > .flex::before {background: linear-gradient(180deg, rgb(139 147 255 / 10%) 0.23%, rgb(209 216 255 / 10%) 62.97%);}
.price_content02 .price-box > .flex > .btn-wrap > a::before {    background: linear-gradient(101deg, rgba(54, 118, 255, 0.30) 2.54%, rgba(134, 92, 233, 0.30) 84.71%);}
.price_content02 .price-box > .flex > .btn-wrap > h6 > b {font-size:24px; font-weight:600;}
.price_content02 .price-box > .flex > .btn-wrap {gap:12px;}
.price_content02 .price-box > .flex > .text-wrap {margin-bottom:40px; border-bottom:1px solid #000; padding-bottom:20px;}
.price_content02 .weare_box > div {padding:3.2rem 2rem;}



/* location */
.map_wrap{width:100%;}
.map_wrap > iframe{width:100%; height:80vh}

/* solution01 */
.solution_content_wrap{background-color:#1a1721; position:relative;}
.solution_content_wrap div.top {width:1200px; margin:0 auto; position:absolute; top:7rem; left:50%; transform:translateX(-50%);}
.solution_content_wrap div.top > h4{font-size:2.5vw; font-weight:700; margin-bottom:3rem; color:#fff;}
.solution_content_wrap div.top > p{font-size:21px;line-height:1.5; color:#e2e2e2; font-weight:200;}
.solution_content_wrap ul.solution_content{max-width:1200px; margin: 0 auto; grid-template-columns:repeat(3, 1fr);}
.solution_content_wrap ul.solution_content > li{border-left:1px solid #393939; padding:30rem 1rem 12rem}
.solution_content_wrap ul.solution_content > li:last-child{border-right:1px solid #393939}
.solution_content_wrap ul.solution_content > li > h5 img{width:40px}
.solution_content_wrap ul.solution_content > li > h5{gap:0.75rem; color:#4c7cff; font-size:1.5vw; font-weight:700; margin:1rem 0 }
.solution_content_wrap ul.solution_content > li > p{color:#fff; font-size:17px; word-break:keep-all; font-weight:200; width:80%; line-height:1.5}

/* solution02 */
.soluction02_content1{margin:5rem auto 0; background-color:#f2f6f9;}
.soluction02_content1 > article{text-align:center;padding:7rem 0;width:90vw; margin:0 auto}
.soluction02_content1 > article > h4{font-size:2.5vw; font-weight:700; margin-bottom:3rem;}
.soluction02_content1 > article > p{font-size:23px; margin:1rem 0; font-weight:200; line-height:1.3}
.soluction02_content1_list{grid-template-columns: repeat(3, 1fr); margin-top:5rem}
.soluction02_content1_list > li{ text-align:center; border-right:1px dashed #cacaca; padding:3rem 0}
.soluction02_content1_list > li:nth-child(1),
.soluction02_content1_list > li:nth-child(2),
.soluction02_content1_list > li:nth-child(3){border-bottom:1px dashed #cacaca;}
.soluction02_content1_list > li:nth-child(3n){border-right:0}
.soluction02_content1_list > li > div{background-color:#85c7ff; border-radius:50px; padding:1rem; display:inline-block; margin-bottom:1.5rem}
.soluction02_content1_list > li > div > img{width:60px; }
.soluction02_content1_list > li > p{font-size:21px; line-height:1.2; word-break:keep-all;}

.soluction02_content2 {text-align:center; background:url('../../images/sub/sol2_bg.jpg'); background-repeat:no-repeat; background-size:cover; padding:10rem 0; background-attachment:fixed; }
.soluction02_content2 > h4{font-size:2.5vw; font-weight:700; margin-bottom:3rem;color:#fff;}
.soluction02_content2 > p{font-size:23px; margin:1rem 0; font-weight:200; line-height:1.3;color:#fff;}

.soluction02_content3{padding:10rem 0 3rem;}
.soluction02_content3 > h4{font-size:2.5vw; font-weight:700; margin-bottom:3rem;text-align:center;}
.soluction02_content3 > p{font-size:23px; margin:1rem 0; font-weight:200; line-height:1.3;text-align:center;}
.soluction02_content3 > ul{width:90vw; margin:5rem auto 0; gap:3rem;}
.soluction02_content3 > ul > li{flex:1; padding:5rem 3rem; border-radius:10px}
.soluction02_content3 > ul > li:nth-child(1){background:url('../../images/sub/sol2_img01.jpg'); background-repeat:no-repeat; background-size:cover; background-position:center;}
.soluction02_content3 > ul > li:nth-child(2){background:url('../../images/sub/sol2_img02.jpg'); background-repeat:no-repeat; background-size:cover; background-position:center;}
.soluction02_content3 > ul > li:nth-child(3){background:url('../../images/sub/sol2_img03.jpg'); background-repeat:no-repeat; background-size:cover; background-position:center;}
.soluction02_content3 > ul > li > h5{color:#fff; font-size:27px; font-weight:600; margin-bottom:1.5rem}
.soluction02_content3 > ul > li > p{color:#fff; font-size:17px; font-weight:200; word-break:keep-all; line-height:1.3}

/* faq */
.faq_wrapper{width:90vw; margin:0 auto}
.faq_list{display:flex; width:100%; margin: 2rem 0 3rem; gap:1rem}
.faq_list > li{flex:1; text-align:center;}
.faq_list > li > a{font-size:1.3vw; font-weight:300; color:#555; width:100%; display:block; transition:0.2s; padding:1rem 0; border-radius:50px;}
.faq_list > li > a:hover{background:#f0f0f0}
.faq_list > li > a.active{font-weight:600;background:#f0f0f0}
.faq_content{border-top:2px solid #000; padding-top:3rem}
.faq_content li{margin-bottom:2rem; padding-bottom:1rem ; border-bottom:1px solid #e3e3e3;}
.faq_content h3{font-size:1.3vw; font-weight:800; margin-bottom:1rem;; cursor:pointer;}
.faq_content p{font-size:19px; line-height:1.3; color:#4b4b4b; font-weight:300; background-color:#f1f1f1;  height:0; overflow:hidden; transition:0.2s}
.faq_content p.on{padding:1.5rem; overflow:auto; height:auto}

/* hover*/
@media (hover: hover) {
	.pf_tabs > ul li a:hover{background-color:rgba(0,0,0,0.1)}
	.pf_content article a:hover > article{visibility:visible; opacity:1;}
	ul.select_list > li > div.selectbox ul.opstion_box li:hover{background-color:#eee}
}

@media(max-width:1500px){
	/* service */
	.subcontent{height:320vh; transform:translateY(0); }
	.content_text p{font-size:19px}
	.detail_text > ul > li{font-size:19px; padding:0.5rem 1.5rem}
	.maintenance_section:before{display:none}
	
	/* */
	.solution_content_wrap div.top{}
}

@media(max-width:1300px){
	.faq_content h3{font-size:1.5vw;}
}

@media(max-width:1200px){
	.sub_visial > div > h3{font-size:17px}
	.contentbg > div{width:60%;}
	.contentbg > div img{max-width:100%}
	.detail_text > ul{padding-top:5rem}
	.content_text.devel_content{padding-top:7rem}
	.content_text p{font-size:17px}
	.service_section > section{gap:4rem}
	.service_section > section > article > h4{font-size:21px}
	.service_section > section > article > div > p{line-height:1.4}
	.content_text.content_text2 p{width:70%}

	/* 포폴 */
	.pf_tabs > ul{gap:1.5rem}
	.pf_tabs > ul li a{padding:0.75rem 1.5rem}
	.pf_content{padding:2rem 0; gap:1.5rem}

	/* contact */
	.contact_content > h4{margin-bottom:2rem; padding-bottom:1.5rem;}
	.contact_content > article h5{font-size:21px; margin-bottom:2rem}
	.contact_content > article form > ul{gap:2rem; margin-bottom:3rem; padding-bottom:3rem; }
	.contact_content > article form > ul.chk_list{gap:1rem 2rem;}
	ul.chk_list li label > span{font-size:19px}
	ul.form_list li input{padding:1.25rem 1.5rem; font-size:19px; }
	ul.form_list li p{font-size:19px; margin-bottom:0.75rem;}
	ul.select_list > li > p{font-size:19px; margin-bottom:0.75rem;}
	ul.select_list > li > div.selectbox > div{padding:1.25rem 1.5rem; font-size:19px; }
	ul.select_list > li > div.selectbox ul.opstion_box{padding:0.5rem 0}
	ul.select_list > li > div.selectbox ul.opstion_box li{padding:0.6rem 1.5rem;}
	ul.textarea_box li > textarea{padding:1.25rem 1.5rem; }
	ul.textarea_box li.file_add{flex-direction:column; margin-top:1rem}
	ul.textarea_box li.file_add > div{width:100%}
	ul.textarea_box li.file_add > div label > p{padding:1.25rem 1.5rem; font-size:19px}
	ul.textarea_box li.file_add > div label > span{padding:1.25rem 1.5rem; font-size:19px}
	div.priv_agree label{font-size:21px}
	div.confirm_btn > button{ width:100%; font-size:21px}
	.weare_box > div{padding:2rem}
	.weare_box > div > img{margin-bottom:3rem}
	.weare_box > div > p{font-size:17px}
	.weare_box > div > h5{margin:1rem 0 2.5rem}

	/* solution01 */
	.solution_content_wrap div.top{width:90vw}
	.solution_content_wrap div.top > p{font-size:19px}
	.solution_content_wrap ul.solution_content{width:90vw}
	.solution_content_wrap ul.solution_content > li{padding:23rem 1rem 8rem}
	.solution_content_wrap ul.solution_content > li > h5{font-size:21px}

	/* solution02 */
	.soluction02_content1_list > li{padding:3rem 1rem }
	.soluction02_content1_list > li > p{font-size:19px; }
	.soluction02_content1_list > li > p > br{display:none}
	.soluction02_content1 > article > p{font-size:19px; }

	.soluction02_content2{padding:7rem 0}
	.soluction02_content2 > p{font-size:19px; }

	.soluction02_content3 > p{font-size:19px; }
	.soluction02_content3 > ul > li > h5{font-size:21px; }
	
	/* faq */
	.faq_list > li > a{font-size:19px;}
	.faq_content h3{font-size:17px;}
	.faq_content p{font-size:16px;}
}

@media(max-width:1023px){
	.sub_visial{height:50vh; padding-top:60px;}
	.sub_visial > div{margin:0 auto}
	.sub_visial > div > h2{text-align:center;}
	.sub_visial > div > h3{margin: 1rem auto 0; text-align:center;}
	/* service */
	.contentbg > div{width:100%}
	.content_text.content_text2 p{width:90%}
	/* contact */
	ul.chk_list{grid-template-columns:repeat(3, 1fr)}
	ul.chk_list li label > span{font-size:17px}
	div.confirm_btn > button{font-size:19px}
	div.priv_agree label{font-size:19px}

	/* about */
	.about_content > article{margin-bottom:0}
	.about_content > article:after{top:5rem}
	.about_content > article > div{width:90vw}
	.about_content > article > div div.content_txt{padding-top:5rem}
	.about_content > article > div div.content_txt:before{top:5rem}
	.about_content > article > div div.content_txt > h5{font-size:24px; margin:2rem 0 1rem}
	.about_content > article > div div.content_txt > p{font-size:17px}

	/* solution01 */
	.solution_content_wrap{padding:4rem 0}
	.solution_content_wrap div.top{position:static; transform:translateY(0); margin-bottom:1rem}
	.solution_content_wrap div.top > h4{font-size:24px; margin-bottom:1rem;}
	.solution_content_wrap div.top > p{font-size:17px;}
	.solution_content_wrap div.top > p > br{display:none}
	.solution_content_wrap ul.solution_content{grid-template-columns:1fr}
	.solution_content_wrap ul.solution_content > li{padding:2rem 3rem; border:1px solid #393939; border-width:1px 1px 0}
	.solution_content_wrap ul.solution_content > li:last-child{border-bottom:1px solid #393939}
	.solution_content_wrap ul.solution_content > li > p{width:100%;}
	.solution_content_wrap ul.solution_content > li > h5{margin:0 0 1rem}
	
	/* solution02 */
	.soluction02_content1 > article{padding:7rem 0 5rem;}
	.soluction02_content1_list{margin-top:3rem}
	.soluction02_content1_list > li{padding:2rem 1rem}
	.soluction02_content1_list > li > p{font-size:17px}
	.soluction02_content1 > article > h4{font-size:24px;}
	
	.soluction02_content2 > h4{font-size:24px;}
	.soluction02_content2 > p{width:90vw; margin: 0 auto}
	
	.soluction02_content3{padding:5rem 0 3rem}
	.soluction02_content3 > ul{flex-direction:column; gap:1rem;}
	.soluction02_content3 > ul > li{padding:4rem 3rem}
	.soluction02_content3 > h4{font-size:24px;}
	.soluction02_content3 > p{font-size:17px ; width:90vw; margin: 0 auto}
	
}

@media(max-width:767px){
	/* 대제목 21 소제목 17 본문15*/
	.sub_visial{height:80vh; }
	.sub_visial > div > h2{font-size:24px;}
	.sub_visial > div > h3{font-size:16px; line-height:1.2}
	
	/* service */
	.subcontent{height:300vh}
	.service_section{padding:3rem 0}
	.service_section > h3{font-size:21px; margin-bottom:1.5rem}
	.service_section > section{grid-template-columns:1fr; gap:1.5rem}
	.service_section > section > article{padding-top:1.5rem}
	.service_section > section > article > h4{font-size:17px;}
	.service_section > section > article > div > p{font-size:15px;}
	
	.content_text{height:auto; padding-bottom:2rem}
	.content_text p{font-size:15px;word-break:keep-all; margin-top:1rem}
	.content_text h4{font-size:21px;}
	.content_text span{font-size:15px;}
	.content_text.devel_content{padding-top:2rem}
	.detail_text > ul{padding-top:2rem}
	.detail_text > ul > li{font-size:15px; padding:0.5rem 1rem}
	

	/* contact */
	.contact_content > h4{font-size:19px; margin-bottom:3rem}
	.contact_content > article h5{font-size:17px; margin-bottom:1.5rem}
	.contact_content > article h5 > br{display:block}
	.contact_content > article form > ul{grid-template-columns:1fr;gap:1.5rem}
	ul.form_list li p{font-size:15px}
	ul.form_list li input{font-size:15px; padding:1rem}
	ul.chk_list li label{gap:.6rem;}
	ul.chk_list li label > span{font-size:15px}
	ul.chk_list li label:before{width:17px; height:17px;}
	ul.select_list > li > p{font-size:15px}
	ul.select_list > li > div.selectbox > div{font-size:15px; padding:1rem}
	ul.textarea_box li > p{font-size:15px; margin-bottom:1rem}
	ul.textarea_box li > textarea{font-size:15px}
	ul.textarea_box li.file_add > div label{align-items:stretch;}
	ul.textarea_box li.file_add > div label > p{word-break:keep-all; width:calc(70% - 0.5rem); padding:1rem; font-size:15px; margin-right:0.5rem;}
	ul.textarea_box li.file_add > div label > span{width:30%;padding:0 0.5rem; font-size:15px; display:flex; align-items:center; justify-content:center}
	div.priv_agree label{font-size:17px;}
	div.priv_agree label:before{width:17px; height:17px;}
	div.confirm_btn > button{font-size:17px; margin-top:1.5rem;}

	/* protfolio */
	.pf_tabs > ul{gap:0; flex-wrap:wrap;}
	.pf_tabs > ul li a{padding:3px 5px; font-size:15px;}
	.pf_content{grid-template-columns:1fr 1fr; gap:0.5rem; padding:1rem 0;  margin-bottom:3rem}

	/* about */
	.about_content > article{margin-bottom:5rem}
	.about_content > article:after{display:none}
	.about_content > article > div{gap:2rem; width:90%; }	
	.about_content > article > div div.content_txt{padding-top:2rem}
	.about_content > article > div div.content_txt:before{top:5px}
	.about_content > article > div div.content_txt > h5{font-size:21px; margin:0 0 1rem}
	.about_content > article > div div.content_txt > p{font-size:15px}
	.about_content02_text{font-size:21px; word-break:keep-all}
	.images{gap:1rem  0.5rem }
	.weare_box{flex-wrap:wrap; gap:1rem}
	.weare_box > div{width:100%; padding:2rem 1rem}
	.weare_box > div > img{margin-bottom:2rem; width:40px}
	.weare_box > div > h5{font-size:19px; margin:0.5rem 0 1.5rem}
	.weare_box > div > p{font-size:15px}

	/* solution01 */
	.solution_content_wrap div.top > h4{font-size:19px;}
	.solution_content_wrap div.top > p{font-size:15px}
	.solution_content_wrap ul.solution_content > li{padding:2rem}
	.solution_content_wrap ul.solution_content > li > h5{font-size:17px}
	.solution_content_wrap ul.solution_content > li > h5 img{width:30px;}
	.solution_content_wrap ul.solution_content > li > p{font-size:15px}

	/* solution02 */
	.soluction02_content1 > article{padding:4rem 0 1rem}
	.soluction02_content1 > article > h4{font-size:19px;}
	.soluction02_content1 > article > p{font-size:15px; word-break:keep-all}
	.soluction02_content1_list{grid-template-columns:repeat(1, 1fr)}
	.soluction02_content1_list > li{border-bottom:1px dashed #cacaca; border-right:0; padding:1.5rem 0.75rem; }
	.soluction02_content1_list > li:nth-child(1),
	.soluction02_content1_list > li:nth-child(2),
	.soluction02_content1_list > li:nth-child(3){border-bottom:1px dashed #cacaca;}
	.soluction02_content1_list > li:nth-child(2n){border-right:0}
	.soluction02_content1_list > li:nth-child(6){border-bottom:0}
	.soluction02_content1_list > li > p{font-size:15px}
	.soluction02_content1_list > li > div{padding:0.75rem}
	.soluction02_content1_list > li > div > img{width:35px}

	.soluction02_content2{padding:5rem 0}
	.soluction02_content2 > h4{font-size:19px; width:90vw; margin:0 auto 1rem; word-break:keep-all}
	.soluction02_content2 > p{font-size:15px;}
	
	
	.soluction02_content3 > h4{font-size:19px; margin-bottom:1rem}
	.soluction02_content3 > p{font-size:15px;}
	.soluction02_content3 > p > br{display:none}
	.soluction02_content3 > ul{margin:2rem auto 0; }
	.soluction02_content3 > ul > li{padding:2.5rem 2rem}
	.soluction02_content3 > ul > li > h5{font-size:17px; margin-bottom:1rem}
	.soluction02_content3 > ul > li > p{font-size:15px}
	
	/* faq */
	.faq_list{flex-wrap:wrap; gap:1rem; justify-content:center}
	.faq_list > li{flex:none; width:40%;}
	.faq_list > li > a{padding:10px}
}
