/* 서브비주얼 */
.main-visual{width:98%;height:93.5vh;margin:0 auto;border-radius:32px;overflow:hidden;background:#000;}
.main-visual .title{display:flex;justify-content:space-between;align-items:center;position:absolute;width:100%;height:100%;padding:0 5%;box-sizing:border-box;text-align:left;z-index:10;}
.main-visual .title .left{width: 30%;}
.main-visual .title .left h2{font-size:80px;margin-bottom:0.4em;font-weight:600;line-height:1.4;}
.main-visual .title .right{width: 30%;}
.main-visual .title p{color:#ccc;font-size:18px;line-height:1.6;margin-bottom:1em;}
.main-visual .title p strong{color:#fff;font-weight:700;}
.main-visual .sub-bg{width:100%;height:100%;overflow:hidden;transition:1s;background:#000;z-index:0;}
.main-visual .sub-bg img{position:absolute;top:50%;left:50%;width:100%;height: 100%;object-fit: cover;transform:translate(-50%,-50%);animation:light_ani 1.2s linear infinite alternate;}
@keyframes light_ani{0%{filter:brightness(1.4) contrast(120%);}100%{filter:brightness(0.8) contrast(90%);}}

.main-visual-type02{width:98%;height:45vh;margin:0 auto 60px;border-radius:32px;overflow:hidden;background:#000;}
.main-visual-type02.frog-portfolio{}
.main-visual-type02 .title{position: relative; z-index: 10;display:flex;height:100%;flex-direction: column;align-items: center;justify-content: center;}
.main-visual-type02 .title h3{font-size:16px; font-weight:700; color: #9054ff;}
.main-visual-type02 .title h2{font-size:74px; font-weight:600;}

.main-visual-type02 .bg{position: absolute; left: 50%; top:50% ; width: 1920px; height:100%; transform:translate(-50%,-50%);}
.main-visual-type02.frog-portfolio .bg{background:url(../image/sub/bg-portfolio.jpg) no-repeat; animation:bg_ani01 20s 0s infinite linear alternate;}
.main-visual-type02.frog-contact .bg{background:url(../image/sub/bg-portfolio2.jpg) no-repeat; animation:bg_ani01 20s 0s infinite linear alternate;}
@keyframes bg_ani01{
	0%{background-size:100%;}
	100%{background-size:130%;}
}
.portfolio-wrap{margin-bottom:10vh;}
.portfolio-wrap .portfolio-tab{padding-top:60px;}
.portfolio-wrap .portfolio-tab ul{display:flex; justify-content:center; align-content:center; align-items:center; gap:32px; font-size:25px;}
.portfolio-wrap .portfolio-tab ul li a{opacity:0.7;transition:0.3s}
.portfolio-wrap .portfolio-tab ul li a:hover{opacity: 1;}
.portfolio-wrap .portfolio-tab ul li a.on{opacity: 1; color: #7f4be2; font-weight:700;}
.portfolio-wrap .portfolio-list{width:100%;display:flex; flex-wrap:wrap; column-gap:24px;row-gap:48px; margin-top:54px;}
.portfolio-wrap .portfolio-list .portfolio-list-ctn{position: relative;width:calc(100% / 4 - 24px);}
.portfolio-wrap .portfolio-list .portfolio-list-ctn a{display:block;}
.portfolio-wrap .portfolio-list .portfolio-list-ctn a:after{content:' ';position: absolute; width:100%; bottom: 0; left: 0; height:50%;background:linear-gradient(0deg,rgba(10, 10, 10, 0.9) 5%, rgba(10, 10, 10, 0) 100%);transition:0.5s}
.portfolio-wrap .portfolio-list .portfolio-list-ctn:hover .thum-img img{transform:scale(1.2); opacity: 0.6; filter:blur(3px)}
.portfolio-wrap .portfolio-list .portfolio-list-ctn .thum-img{width: 100%; border-radius:32px; overflow: hidden;}
.portfolio-wrap .portfolio-list .portfolio-list-ctn .thum-img img{width:100%; transition:0.5s;}
.portfolio-wrap .portfolio-list .portfolio-list-ctn .list-title{position: absolute;display:flex;width: 100%; z-index: 10;left:7%;bottom:9%;flex-direction: column;    align-content: flex-start;   align-items: flex-start;}
.portfolio-wrap .portfolio-list .portfolio-list-ctn .list-title .link-icon{position: absolute; bottom:-8px;font-size: 30px; right: 12%;}
.portfolio-wrap .portfolio-list .portfolio-list-ctn .list-title span{font-size:14px; font-weight:bold; color: #9054ff;}
.portfolio-wrap .portfolio-list .portfolio-list-ctn .list-title h4{font-size:21px; font-weight:600;color: #fff;}
.portfolio-wrap .portfolio-inner{display:flex;}
.portfolio-wrap .portfolio-inner .portfolio-video{width:73%; height:75vh;margin-right:2%; border-radius:32px; overflow: hidden;}
.portfolio-wrap .portfolio-inner .portfolio-detail-info{display:flex;width:22%; padding-right:3%; padding-top:3%; text-align: left;flex-direction: column;justify-content: space-between;}
.portfolio-wrap .portfolio-inner .portfolio-detail-info .title h3{font-size: 20px; font-weight: bold; color: #9054ff;}
.portfolio-wrap .portfolio-inner .portfolio-detail-info .title h2{font-size: 34px; font-weight: 600; }
.portfolio-wrap .portfolio-inner .portfolio-detail-info .title p{font-size:17px; color: #aaaaaa; margin-top:1em; font-size:18px;}
.portfolio-wrap .portfolio-inner .portfolio-detail-info .quick-link{display:flex; flex-wrap:wrap; gap:8px}
.portfolio-wrap .portfolio-inner .portfolio-detail-info .quick-link a{display:flex;width:100%;padding: 16px; border:1px solid rgba(255,255,255,0.3);justify-content: space-between; transition:0.3s}
.portfolio-wrap .portfolio-inner .portfolio-detail-info .quick-link a:hover{background:rgba(255,255,255,0.1);}



.contact-list, 
.contact-db {max-width:800px;margin:0 auto; padding: 16px; box-sizing: border-box;}
.contact-db ul {display:flex;flex-wrap:wrap;gap:16px;margin-bottom:40px;}
.contact-db li {position:relative;width:calc(50% - 8px);text-align:left;}
.contact-db .w100 {width:100%;}
/* 라벨 */
.contact-db label {display:block;font-size:20px;margin-bottom:6px;}
.contact-db label b {color:#f00;margin-left:4px;}
.contact-db label span {font-size:0.65em;color:#aaa;}
.contact-db label span i {color:var(--main-color);cursor:pointer;transition:color .2s;}
.contact-db label span i:hover {color:#a16eff;}
.contact-db .file-wrap label{margin-bottom: 0; 	}
.contact-db .btn-file{font-size: 14px;}
.agree-box label{font-size:16px;}

/* 기본 인풋 스타일 */
.obox,
.otbox,
.contact-db input[type="text"],
.contact-db input[type="tel"],
.contact-db input[type="email"],
.contact-db select,
.contact-db textarea {
  width:100%;height:52px;padding:0 12px;
  background:var(--bg-dark);border:1px solid var(--border-dark);
  color:var(--text-light);font-size:16px;border-radius:8px;outline:none;
  -webkit-appearance:none;appearance:none;box-sizing:border-box;
}
.contact-db input:focus,
.contact-db select:focus,
.contact-db textarea:focus {border-color:#fff;}

.obox{display:flex; align-items:center;}

.file_del{margin-top:10px; gap:10px; display:flex; align-items:center;}
.file_del label{font-size:15px;}
.file_del input{width:17px; height:17px;}

/* textarea */
.contact-db textarea {height:200px;padding:12px;resize:none;}
.otbox {height:200px;padding:12px;resize:none;}

/* submit 버튼 */
.contact-db input[type="submit"] {
  margin-top:24px;height:72px;width:100%;
  border:none;border-radius:8px;background:var(--main-color);
  color:#fff;cursor:pointer;font-size:20px;transition:.2s;
}
.contact-db input[type="submit"]:hover {background:#a16eff;}

/* 파일첨부 */
.file-wrap {display:flex;align-items:center;gap:8px;}
.file-wrap input[type="text"]:focus {border-color:var(--main-color);}
.btn-file {
  background:var(--main-color);color:#fff;font-size:14px;border-radius:8px;
  padding:0 12px;cursor:pointer;height:52px;line-height:52px;transition:.2s;
}

.btn-file:hover {background:#a06cff;}

/* 복사 알림 */
.copy-alert {
  position:fixed;bottom:30px;left:50%;transform:translateX(-50%);
  background: var(--main-color);color:#fff;padding:10px 20px;border-radius:6px;
  font-size:13px;opacity:0;pointer-events:none;transition:.3s;z-index:9999;
}
.copy-alert.show {opacity:1;bottom:50px;}

/* 동의 박스 */
.agree-box {
  display:flex;align-items:center;gap:8px;
  font-size:14px;color:#fff;padding:12px;
  background:var(--bg-dark);border:1px solid var(--border-dark);
  border-radius:8px;
}

/* 체크박스 커스텀 */
.agree-box input[type="checkbox"] {
  appearance:none;width:18px;height:18px;border:2px solid #ccc;
  border-radius:4px;cursor:pointer;position:relative;transition:.2s;
}
.agree-box input[type="checkbox"]:checked {
  border-color:var(--main-color);background:var(--main-color);
}
.agree-box input[type="checkbox"]:checked::after {
  content:"";position:absolute;left:4px;top:0;width:5px;height:9px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);
}
.agree-box label {margin-bottom:0;cursor:pointer;user-select:none;}
.btn-view {
  margin-left:auto;background:transparent;border:1px solid var(--main-color);
  color:var(--main-color);border-radius:6px;padding:6px 14px;font-size:13px;
  cursor:pointer;transition:.2s;
}
.btn-view:hover {background:var(--main-color);color:#fff;}






/* 컨텐츠틀 */
.sub-ctn-wrap{position:relative;padding:8% 16px;}
.sub-ctn-wrap .title{margin-bottom:2em;}
.sub-ctn-wrap .title h2{font-size:60px;margin-bottom:0.3em;font-weight:700;}
.sub-ctn-wrap .title p{font-size:20px;opacity:0.7;}

/* 사람들 */
.sub-ctn-wrap.frog-people{max-width:1840px; margin:0 auto;}
.sub-ctn-wrap.frog-people .frog-people-list ul{display:flex;justify-content:center;align-items:center;gap:16px;}
.sub-ctn-wrap.frog-people .frog-people-list ul li{background:#17181d;padding:32px 24px;border-radius:24px;overflow:hidden;text-align:left;transition:0.3s;box-sizing: border-box;}
.sub-ctn-wrap.frog-people .frog-people-list ul li h4{font-size:1.5em;font-weight:700;}
.sub-ctn-wrap.frog-people .frog-people-list ul li h4 span{margin-left:6px;font-size:0.6em;color:#9054ff;}
.sub-ctn-wrap.frog-people .frog-people-list ul li p{margin-top:6px;opacity:0.6;}
.sub-ctn-wrap.frog-people .frog-people-list ul li img{width:100%; transition:0.3s}
.sub-ctn-wrap.frog-people .frog-people-list ul li:hover{background:#212228 ;}
.sub-ctn-wrap.frog-people .frog-people-list ul li:hover img{transform:scale(1.1)}
/* 프로세스 */
.sub-ctn-wrap.frog-process{background:url(../image/sub/bg-sub01.jpg) no-repeat 50% / cover;}
.sub-ctn-wrap.frog-process .frog-process-list ul{display:flex;flex-wrap:wrap;max-width:1440px;margin:0 auto;border:1px solid #fff;}
.sub-ctn-wrap.frog-process .frog-process-list ul li{display:flex;flex-direction:column;justify-content:center;align-items:center;width:calc(100%/6);height:180px;border-right:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1);box-sizing:border-box;}
.sub-ctn-wrap.frog-process .frog-process-list ul li:last-child{background:rgba(255,255,255,0.06);}
.sub-ctn-wrap.frog-process .frog-process-list ul li:last-child h5{color:#9054ff;font-weight:600;}
.sub-ctn-wrap.frog-process .frog-process-list ul li .icon{margin-bottom:4px;}
.sub-ctn-wrap.frog-process .frog-process-list ul li span{font-size:0.9em;font-weight:700;color:#9054ff;}
.sub-ctn-wrap.frog-process .frog-process-list ul li h5{font-size:21px;font-weight:500;}
.sub-ctn-wrap.frog-process>p{opacity:0.7;margin-top:1.6em;}

/* 업무장점 */
.sub-ctn-wrap.frog-work .frog-work-list ul{display:flex;flex-wrap:wrap;max-width:1440px;margin:0 auto;column-gap:24px;row-gap:48px;}
.sub-ctn-wrap.frog-work .frog-work-list ul li{width:calc(100%/3 - 24px);}
.sub-ctn-wrap.frog-work .frog-work-list ul li .img{position:relative;margin-bottom:22px;border-radius:24px;overflow:hidden;}
.sub-ctn-wrap.frog-work .frog-work-list ul li .img img{width:100%;transition:0.5s;}
.sub-ctn-wrap.frog-work .frog-work-list ul li .img .detail_info{display:flex;justify-content:center;align-items:center;position:absolute;top:50%;left:50%;width:97.5%;height:97%;padding:0 4%;box-sizing:border-box;border-radius:20px;font-size:18px;opacity:0;transform:translate(-50%,-50%);transition:0.5s;}
.sub-ctn-wrap.frog-work .frog-work-list ul li:hover .img .detail_info{opacity:1;background:rgba(0,0,0,0.7);}
.sub-ctn-wrap.frog-work .frog-work-list ul li:hover .img img{filter:blur(5px);transform:scale(1.2);}
.sub-ctn-wrap.frog-work .frog-work-list ul li h5{font-size:22px;font-weight:600;}
.sub-ctn-wrap.frog-work .frog-work-list ul li:hover h5{color:#9054ff;}



/*  */
@media all and (max-width:1400px){
	/* 서브비주얼 */
	.main-visual .title .left{width: 500px;}
	.main-visual .title .left h2{font-size:70px; line-height: 1.3;}
	.main-visual .title .right{width: 350px;}
	.main-visual .title .right br{display: none;}
	.main-visual .title p{font-size:17px;}
	
	.portfolio-wrap .portfolio-inner .portfolio-video{width:63%; height:65vh;}
	.portfolio-wrap .portfolio-inner .portfolio-detail-info{width:32%;}
}
@media all and (max-width:1200px){
	/* 서브비주얼 */
	.main-visual .title{flex-direction: column; padding: 5%;}
	.main-visual .title .left{width: 100%;}
	.main-visual .title .left h2{font-size:54px;}
	.main-visual .title .right{width: 100%; text-align: right;}
	.main-visual .title .right br{display: block;}
	.main-visual .sub-bg img{opacity: 0.3;}

	/* 사람들 */
	.sub-ctn-wrap.frog-people .frog-people-list ul{flex-wrap: wrap;}
	.sub-ctn-wrap.frog-people .frog-people-list ul li{width: calc(33.3333% - 16px);}

	/* 프로세스 */
	.sub-ctn-wrap.frog-process .frog-process-list ul li{width:25%;}

	/* 포트폴리오 */
	.portfolio-wrap .portfolio-list .portfolio-list-ctn{width:calc(33.3333% - 24px);}
	.portfolio-wrap .portfolio-tab ul{font-size:20px;}
	
	.portfolio-wrap .portfolio-inner{flex-direction: column;}
	.portfolio-wrap .portfolio-inner .portfolio-video{width: 100%; margin-right: 0;}
	.portfolio-wrap .portfolio-inner .portfolio-detail-info{width: 100%; padding-right: 0;}
	.portfolio-wrap .portfolio-inner .portfolio-detail-info .quick-link{margin-top: 5%;}
}
@media all and (max-width:1024px){
	/* 서브비주얼 */
	.main-visual .title{flex-direction: column; justify-content: center; padding: 5%;}
	.main-visual .title .left{width: 100%; text-align: center;}
	.main-visual .title .left h2 br{display: none;}
	.main-visual .title .right{text-align: center;}
	.main-visual .title .right br{display: none;}

	.main-visual .title h2{font-size:32px;}
	.main-visual .title p{font-size:17px;}
	.main-visual h3{font-size:16px;}
}
@media all and (max-width:786px){
	.main-visual h3{font-size:16px; left:auto; right:7%;}
	.main-visual .title h2{font-size:26px;}
	.main-visual .title p br{display: none;}

	.sub-ctn-wrap .title h2{font-size:42px;}
	.sub-ctn-wrap .title p{font-size:17px;}

	/* 사람들 */
	.sub-ctn-wrap.frog-people .frog-people-list ul li{width: calc(50% - 16px);}

	/* 프로세스 */
	.sub-ctn-wrap.frog-process .frog-process-list ul li{width:33.3333%;}

	/* 업무장점 */
	.sub-ctn-wrap.frog-work .frog-work-list ul li{width:calc(50% - 24px);}

	/* 포트폴리오 */
	.portfolio-wrap .portfolio-list .portfolio-list-ctn{width:calc(50% - 24px);}
	.portfolio-wrap .portfolio-tab ul{font-size:18px;}
	.portfolio-wrap .portfolio-inner .portfolio-video{height: 45vh;}
	.portfolio-wrap .portfolio-inner .portfolio-detail-info p br{display: none;}
}
@media all and (max-width:500px){
	/* 서브비주얼 */
	.main-visual .title .left h2{font-size:40px;}
	.main-visual .title p{font-size:16px;}

	.main-visual-type02 .title h2{font-size: 60px;}

	/* 사람들 */
	.sub-ctn-wrap.frog-people .frog-people-list ul li{width: calc(100% - 16px);}

	/* 프로세스 */
	.sub-ctn-wrap.frog-process .frog-process-list ul li{width:50%; height:140px;}

	/* 업무장점 */
	.sub-ctn-wrap.frog-work .frog-work-list ul{justify-content: center; column-gap:24px;row-gap:48px;}
	.sub-ctn-wrap.frog-work .frog-work-list ul li{width:calc(100% - 24px);}

	/* 포트폴리오 */
	.portfolio-wrap .portfolio-list .portfolio-list-ctn{width:100%;}
	.portfolio-wrap .portfolio-tab ul{flex-wrap: wrap; row-gap: 16px;}
	.portfolio-wrap .portfolio-inner .portfolio-video{height: 35vh;}

} 


.admin-top-box{margin-bottom:15px; padding:15px 20px; border-radius:10px; background-color:#3b3b3b; display:flex; justify-content:space-between;}
.admin-top-box .admin-top-left{gap:20px; display:flex; align-items:center;}
.admin-top-box .admin-top-left strong{padding-left:10px;}
.admin-top-box .admin-top-right{gap:20px; display:flex; align-items:center;}

.admin-btm-box{margin-top:35px; padding:15px 20px; border-radius:10px; background-color:#3b3b3b; display:flex; justify-content:space-between;}
.admin-btm-box .admin-btm-left{gap:20px; display:flex; align-items:center;}
.admin-btm-box .admin-btm-left button{font-size:16px; color:#fff; border:0; background:transparent; cursor:pointer;}
.admin-btm-box .admin-btm-right{gap:20px; display:flex; align-items:center;}