/* 커서 */
.__cursor {position: fixed; pointer-events: none;  z-index: 99; display: none;}
.__cursor .ico { width: 17px; transform: rotate(-30deg) translate(-1px, -4px); }
.__cursor .ico svg path {fill: #fff; stroke: #ffffff; stroke-width: 3px;}
.__cursor .txt {background-color: #fff; position: absolute;left: 5px; top: 22px; border-radius: 100px;padding: calc(8/16*1em) 1em;font-family: "Archivo"; font-weight: 600;}
.__cursor .txt p { }

.__cursor .ico svg path{ transition: fill .5s;}
.__cursor .txt{transition: background-color .5s,opacity .5s;}

.__cursor{opacity: 0; transition: opacity .5s;}
.__cursor.on{opacity: 1;}
.__cursor.hover01 .ico svg path{fill:#e54ff2;}
.__cursor.hover02 .ico svg path{fill:#b5f636;}
.__cursor.hover03 .ico svg path{fill:#0055f1;}
.__cursor.hover04 .ico svg path{fill:#ffb422;}
.__cursor.hover05 .ico svg path{fill:#e54ff2;}

.__cursor .txt{opacity: 0; transition: opacity .5s,background-color .5s;}
.__cursor.hover01 .txt{background-color:#e54ff2;}
.__cursor.hover02 .txt{background-color:#b5f636;}
.__cursor.hover03 .txt{background-color:#0055f1;}
.__cursor.hover04 .txt{background-color:#ffb422;}
.__cursor.hover05 .txt{background-color:#e54ff2;}

.__cursor.hover01 .txt.n1{opacity: 1;}
.__cursor.hover02 .txt.n2{opacity: 1;}
.__cursor.hover03 .txt.n3{opacity: 1;}
.__cursor.hover04 .txt.n4{opacity: 1;}
.__cursor.hover05 .txt.n5{opacity: 1;}

@media screen and (min-width:821px) {
	.__cursor{display: block;}
	._cursor_open01:hover *,
	._cursor_open02:hover *,
	._cursor_open03:hover *,
	._cursor_open04:hover *,
	._cursor_open05:hover *{cursor: none !important;}
}


._contact .se1 { height: 100vh; background: #0b0b0b; box-sizing: border-box; position: relative; display: flex; flex-direction: column; overflow: hidden; }

@media screen and (max-width: 820px) {
	._contact .se1 { height: auto; padding-top: 285px; }
}

@media screen and (max-width: 480px) {
	._contact .se1 { padding-top: 175px; }
}

._contact .se1 .dot { position: absolute; }
._contact .se1 .dot.d1 { top: 13.2653061224%; left: 19.2708333333%; }
._contact .se1 .dot.d2 { top: 19.387755102%; right: 15.1041666667%; }
._contact .se1 .dot.d3 { top: 25%; right: 17.7083333333%; }
._contact .se1 .dot.d4 { top: 36.2244897959%; left: 5.2083333333%; }
._contact .se1 .dot.d5 { top: 41.6326530612%; left: 2.6041666667%; }
._contact .se1 .dot.d6 { top: 63.7755102041%; left: 23.1770833333%; }
._contact .se1 .dot.d7 { top: 57.6530612245%; right: 12.5%; }
@media screen and (max-width: 820px) {
	._contact .se1 .dot { display: none; }
	._contact .se1 .dot.d1 { display: block; top: 17.4904942966%; left: 6.0975609756%; }
}
@media screen and (max-width: 480px) {
	._contact .se1 .dot { transform: scale(0.5); }
}

._contact .se1 .__wrap { flex: 1; display: flex; align-items: center; }

@media screen and (max-width: 820px) {
	._contact .se1 .__wrap { display: block; }
}
._contact .se1 .t { font-size: 18px; letter-spacing: -0.045em; font-family: "Arvo"; color: #fff; text-align: center; display: none; }
@media screen and (max-width: 1024px) {
	._contact .se1 .t { font-size: 16px; }
}
@media screen and (max-width: 820px) {
	._contact .se1 .t { display: block; }
}
@media screen and (max-width: 480px) {
	._contact .se1 .t { font-size: 14px; }
}
._contact .se1 .ab { display: flex; align-items: center; }
._contact .se1 .ab dl { flex: 0 0 auto; transform: translateY(-15%); }
._contact .se1 .ab dl dt { font-size: 82px; letter-spacing: -0.045em; line-height: calc(100/82); color: #626262; font-family: "Arvo"; }
._contact .se1 .ab dl dt .hb { position: relative; }
._contact .se1 .ab dl dt .hb div { position: absolute; left: 0; top: 0; width: 100%; height: 100%; color: #fff; clip-path: inset(0 100% 0 0); }
._contact .se1 .ab dl dt span { font-family: "pf-videotext"; }
._contact .se1 .ab dl dd { font-size: 28px; letter-spacing: -0.045em; line-height: calc(48/28); color: #c9c9c9; margin-top: 2.3214285714em; }
._contact .se1 .ab .arr { margin-left: 160px; }
@media screen and (max-width: 1280px) {
	._contact .se1 .ab { align-items: center; }
	._contact .se1 .ab dl { margin-top: 0; }
	._contact .se1 .ab dl dt { font-size: 52px; }
	._contact .se1 .ab dl dd { font-size: 22px; }
	._contact .se1 .ab .arr { margin-left: 80px; flex: 0.7; }
}
@media screen and (max-width: 820px) {
	._contact .se1 .ab { flex-direction: column; }
	._contact .se1 .ab dl { margin-top: 50px; text-align: center; transform: none; }
	._contact .se1 .ab dl dt { font-size: 10vw; }
	._contact .se1 .ab dl dd { font-size: 22px; }
	._contact .se1 .ab .arr { margin-left: 0; flex: none; width: 50%; margin-top: 70px; }
}
@media screen and (max-width: 480px) {
	._contact .se1 .ab dl dd { font-size: 16px; }
	._contact .se1 .ab .arr { margin-top: 50px; }
}
._contact .se1 .wave { white-space: nowrap; font-size: 35px; letter-spacing: -0.045em; padding: 0.8571428571em 0; color: #fff; display: flex; font-family: "pf-videotext"; text-transform: uppercase; }
._contact .se1 .wave p { margin: 0 5px; animation: play 10s infinite linear; }
@media screen and (max-width: 820px) {
	._contact .se1 .wave { margin-top: 4.4285714286em; padding: 1.4285714286em 0; }
}
@media screen and (max-width: 480px) {
	._contact .se1 .wave { font-size: 24px; }
}









/* s2 */
:root{
	--fs:40px;
}

._contact .se2 { padding-top: 140px; padding-bottom: 370px; white-space: nowrap; background-color: #fff;}
._contact .se2 .wrap { max-width: 1280px; margin: 0 auto; width: 95%;}
._contact .se2 .rowBx { display: flex; align-items: center; justify-content: flex-start; }
._contact .se2 .row {font-size: var(--fs); font-weight: 600;display: flex; align-items: center; justify-content: flex-start;font-weight: 700; margin-bottom: calc(18/40*1em); }
._contact .se2 .row em{display: none;}
._contact .se2 .row em span{display: none;}

/* 인풋 공통 */
._contact input[type='text'],
._contact input[type='tel'],
._contact input[type='email'],
.file-label {font-weight: 600;display: flex; align-items: center; justify-content: center; height: calc(107/40*1em);padding: 0 calc(36/40*1em); box-sizing: border-box;background-color: #fff; border: 2px solid rgba(0,0,0,0.6);border-radius: 0.5em; font-size: 1em;}
._contact input[type='text']::placeholder,
._contact input[type='tel']::placeholder,
._contact input[type='email']::placeholder { font-family: "Pretendard"; color: #96969a; }

/* 인풋 너비 별도 */
._contact input#company { width: calc(410/40*1em); }
._contact input#manager { width: calc(262/40*1em); }
._contact input#tel { width: calc(410/40*1em); }
._contact input#email { width: calc(410/40*1em); }
._contact input#address { width: calc(596/40*1em); }
._contact input#reference1 { width: calc(562/40*1em); }
._contact input#reference2 { width: calc(562/40*1em); }

/* 간격 별도 */
._contact .se2 .rowBx:nth-child(1) .row:nth-child(1){ margin-right: 0.4em;}
._contact .se2 .inputArea > .rowBx:nth-child(2) .ibx:nth-child(2){margin-left: 0;}



/* 인풋 검정,파란색 */
._contact input.black { background-color: #000; color: #fff; border: none; }
._contact input.black::placeholder { color: #acacb2; }
._contact input.blue { background-color: #93b9ff; color: #0055f1; border: none; }
._contact input.blue::placeholder { color: #0055f1; }


._contact .ibx {position: relative; display: flex; align-items: center; justify-content: center;margin: 0 0.4em; }
._contact .ibx .required {top: calc(7/40*var(--fs)); right: calc(10/40*var(--fs));position: absolute; color: #ff0000;border-radius: 100px; background-color: #363637; border: 1px solid #535356; box-sizing: border-box;padding: calc(3/40*1em) calc(8/40*1em); font-size: max(calc(14/40*1em),12px); font-family: 'Pretendar'; font-weight: 600; }
._contact .ibx .required.white {background-color: #e5e5e6; border: none; }
._contact .ibx .required::before {content:''; display: block; content:'*필수'; transform: translateY(-4%); }

/* 담당자명 */
._contact .ibx.chractor input {padding-left: calc(90/40*1em); padding-right: 0.5em; }
._contact .ibx .chractor {position: absolute; left: calc(25/40*1em);width: calc(53/40*1em); height: calc(53/40*1em); border-radius: 50%; background-color: #fff;display: flex; align-items: center; justify-content: center; padding: 4px; box-sizing: border-box; overflow: hidden;}
._contact .ibx .chractor img { }
._contact .ibx > p { padding-left: 0.3em; }


/* 이 홈페이지처럼 만들고싶어요 */
._contact .se2 .row.more{padding-bottom: 0; transition: padding-bottom 0.8s;}
._contact .more .ibx .n1{position: relative; z-index: 3;}
._contact .more .ibx .n2 {display: none; position: absolute; transform: translateY(100%); margin-top: 18px; transition: max-height 0.8s, display 0s 0.8s;}
._contact .more .ibx .absol{
	z-index: 99;
	position: absolute; top: calc(8/40*1em); right: calc(8/40*1em);
	display: flex; align-items: center; justify-content: flex-start;
}
._contact .more .ibx .absol .ico {width: calc(30/40*1em); height: calc(30/40*1em);border-radius: 50%; border: 1px solid #0055f1; box-sizing: border-box;background-color: #fff; display: flex; align-items: center; justify-content: center;cursor: pointer; position: relative;}
._contact .more .ibx .absol .ico::before,
._contact .more .ibx .absol .ico::after{
	content:''; display: block; position: absolute;
	background-color: #0055f1;height: 2px; width: 0.35em;
}
._contact .more .ibx .absol .ico::before {}
._contact .more .ibx .absol .ico::after {transform: rotate(90deg);}

/* on */
._contact .se2 .row.more.on{padding-bottom: calc(126/40*1em);}
._contact .more .ibx .absol .ico{transition: background-color .8s,border-color .8s;}
._contact .more.on .ibx .ico{background-color: #000; border-color: transparent !important;}
._contact .more.on .ibx .ico::after{transform: rotate(360deg);}

._contact .more .ibx .absol .ico::before, ._contact .more .ibx .absol .ico::after{transition: backgound-color .8s,transform .8s;}
._contact .more.on .ibx .ico::before, ._contact .more.on .ibx .ico::after{background-color: #fff !important;}


input[type='radio']{display: none;}

/* 예산 */
._contact .range {
	min-width: calc(980/40*1em); margin: 0 0.4em;
	height: calc(107/40*1em); background-color: #000; color: #fff; border-radius: 0.5em;
	position: relative;
	display: flex; align-items: center; justify-content: center;
}

._contact .range .line{
	position: absolute; width: calc(100% - 100px); height: 2px; background-color: #87878d;
	overflow: hidden;
}
._contact .range .line .activeLine{
	position: absolute; left: -15px; top: 0; width: calc(100% + 30px);
	height: 100%; background-color: #fff; transform-origin: left center;
	transition: transform .5s; transform: scaleX(0%);
}

/* 막대바 활성화 */
._contact .range[click='1'] .line .activeLine{transform: scaleX(calc((100% / 6 * 1) / 2));}
._contact .range[click='2'] .line .activeLine{transform: scaleX(calc((100% / 6 * 2) - (100% / 12)));}
._contact .range[click='3'] .line .activeLine{transform: scaleX(calc((100% / 6 * 3) - (100% / 12)));}
._contact .range[click='4'] .line .activeLine{transform: scaleX(calc((100% / 6 * 4) - (100% / 12)));}
._contact .range[click='5'] .line .activeLine{transform: scaleX(calc((100% / 6 * 5) - (100% / 12)));}
._contact .range[click='6'] .line .activeLine{transform: scaleX(calc((100% / 6 * 6) - (100% / 12)));}


._contact .range .labelBx{
	display: flex; align-items: center; justify-content: space-between;
	height: 100%; width: calc(100% - 70px);
	box-sizing: border-box; position: relative;
}
._contact .range .labelBx .activeIco{
	width: 9px; height: 18px; border-radius: 40px;
	border: 2px solid #fff; box-sizing: border-box; background-color: #6666ff;
	position: absolute; transform: translateX(-50%); left: 0;
	transition: left 0.5s,opacity 0.5s; z-index: 2;
}
._contact .range label {
	width: calc(100% / 6);
	font-size: max(calc(17/40*1em),11px); font-weight: 400;
	box-sizing: border-box; height: 100%;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; position: relative;
}
._contact .range label::before {
	content:''; display: block; position: absolute;
	width: 6px; height: 6px; border-radius: 50%; background-color: #6f6f74;
	transition: background-color .3s;
}
._contact .range label p{
	position: absolute; top: 50%; padding-top: calc(20/17*1em);
	color: #6f6f74; transition: color .5s;
}

@media screen and (min-width:821px) {
	._contact .range label:hover p{color: #fff;}
	._contact .range label:hover::before{background-color: #fff;}
}

/* 체크시 */
._contact .range label input[type="radio"]:checked + p{
	color: #fff;
}


/* 버튼움직임 */
._contact .range[click='no'] .activeIco{opacity: 0;}
._contact .range[click='1'] .activeIco{left: calc((100%/6 * 1) - (100%/12)); opacity: 1;}
._contact .range[click='2'] .activeIco{left: calc((100%/6 * 2) - (100%/12)); opacity: 1;}
._contact .range[click='3'] .activeIco{left: calc((100%/6 * 3) - (100%/12)); opacity: 1;}
._contact .range[click='4'] .activeIco{left: calc((100%/6 * 4) - (100%/12)); opacity: 1;}
._contact .range[click='5'] .activeIco{left: calc((100%/6 * 5) - (100%/12)); opacity: 1;}
._contact .range[click='6'] .activeIco{left: calc((100%/6 * 6) - (100%/12)); opacity: 1;}


._contact .range[click='1'] label:nth-child(-n+2):before{background-color: #fff;}
._contact .range[click='2'] label:nth-child(-n+3):before{background-color: #fff;}
._contact .range[click='3'] label:nth-child(-n+4):before{background-color: #fff;}
._contact .range[click='4'] label:nth-child(-n+5):before{background-color: #fff;}
._contact .range[click='5'] label:nth-child(-n+6):before{background-color: #fff;}
._contact .range[click='6'] label::before{background-color: #fff !important;}


/* 유입경로 */
._contact .chkBx{
	gap: 10px;
}
._contact .chkBx .chk{}
._contact .chkBx .chk input{}
._contact .chkBx .chk label{
	width: calc(85/40*var(--fs)); height: calc(85/40*var(--fs));
	border-radius: 50%; box-sizing: border-box;
	display: flex; align-items: center; justify-content: center;
	font-size: max(calc(16/40*1em),12px);
	cursor: pointer;
	position: relative; overflow: hidden;
	transition: color .5s;
}
._contact .chkBx .chk.long label{
	width: calc(140/40*var(--fs)); border-radius: 100px;
}
._contact .chkBx .chk label::after {
	content:''; display: block; position: absolute; left: 0; top: 0;
	width: 100%; height: 100%; pointer-events: none;
	border: 1px solid #000; box-sizing: border-box;
	border-radius: 50%;
}
._contact .chkBx .chk.long label::after{border-radius: 100px;}

._contact .chkBx .chk label p{position: relative;}

@media screen and (min-width:821px) {
	._contact .chkBx .chk label:hover{
		color: #18ff5c;
	}
}

/* 체크시 */
._contact .chkBx .chk label::before {
	content:''; display: block; background-color: #000;
	position: absolute; top: 100%; left: 0;
	width: 100%; height: 100%; transition: top .5s;
}
._contact .chkBx .chk input:checked + label::before{
	top: 0;
}
._contact .chkBx .chk input:checked + label{
	color: #18ff5c;
}








/* 첨부파일 */
._contact .se2 .row.more.file{}
._contact .se2 .row.more.file input{display: none;}

._contact .se2 .row.more.file .absol .info{
	color: #ff0000; letter-spacing: -0.025em;
	font-size: 14px; font-weight: 500; margin-right: 10px;
}

._contact .se2 .row.more.file label{
	width: calc(562/40*1em); background-color: #ffe69a;
	border: 0; color: #df8800;
}
._contact .se2 .row.more.file label.n2{}
._contact .se2 .row.more.file label input{}
._contact .se2 .row.more.file label p{
	display: flex; align-items: center; justify-content: flex-start;
	height: 100%; width: 100%; overflow: hidden; text-overflow: ellipsis;
}
._contact .se2 .row.more.file label p span{
	display: inline-block; width: 100%; overflow: hidden; text-overflow: ellipsis;
	padding: 0.4em 0; box-sizing: border-box;
}
._contact .se2 .row.more.file .ibx .ico{border-color: #ff0000;}

._contact .se2 .row.more.file .ibx .ico::before,
._contact .se2 .row.more.file .ibx .ico::after{background-color: #ff0000;}









/* 마지막 */
._contact .last{
    font-size: var(--fs); padding-top: calc(140/40*1em);
    display: flex; align-items: center; justify-content: space-between;
}
._contact .last .textArea{
    position: relative;
    width: 813px; height: 300px;
}
._contact .last .textArea .motion > div{
    position: absolute; left: 0; width: 100%;
    display: flex; align-items: center; justify-content: space-between;
}
._contact .last .textArea .motion > div.top{top: 0; transform: translateY(-50%);}
._contact .last .textArea .motion > div.bottom{bottom: 0; transform: translateY(50%);}
._contact .last .textArea .motion > div > div{
    width: calc(100% / 5.5); border-radius: 50%;
    background-color: #141414; position: absolute;
}
._contact .last .textArea .motion > div > div::before {
    content:''; display: block; padding-bottom: 100%;
}
._contact .last .textArea .motion > div > div:nth-child(1){left: 0;}
._contact .last .textArea .motion > div > div:nth-child(2){transform: translateX(90%);}
._contact .last .textArea .motion > div > div:nth-child(3){transform: translateX(180%);}
._contact .last .textArea .motion > div > div:nth-child(4){transform: translateX(270%);}
._contact .last .textArea .motion > div > div:nth-child(5){transform: translateX(360%);}
._contact .last .textArea .motion > div > div:nth-child(6){right: 0;}


._contact .last .textArea .txt{ padding: 0 30px; padding-right: 8px; box-sizing: border-box; width: 100%; height: 100%; background-color: #141414;}
._contact .last .textArea textarea::-webkit-scrollbar {width: 8px;}
._contact .last .textArea textarea::-webkit-scrollbar-thumb {background-color: #fff; border-radius: 10px;}
._contact .last .textArea textarea{
    border: none; box-sizing: border-box; position: relative; padding: 0; padding-right: 10px;
    resize: none; width: 100%; height: 100%;  background-color: #141414;
    color: #fff; font-size: 17px; font-size: 24px;
	font-family: "Pretendard"; line-height: 1.4;
}
._contact .last .textArea textarea::placeholder{}
._contact .last .right{ width: 28%; max-width: calc(348 / 1280 * 100%);}
._contact .last .right h3{
    font-size: max(calc(36/40*1em),30px); line-height: 0.7;
    margin-bottom: 40px;
}
._contact .last .right h3 p{}
._contact .last .right h3 strong{font-weight: 600;}
._contact .last .right .captcha{
    display: flex; align-items: center; justify-content: flex-start;
    font-size: 17px; color: #414143;
    margin-bottom: 14px;
}
._contact .last .right .captcha img{filter: grayscale(1);}
._contact .last .right .captcha input{
    width: 102px; height: 37px; border-radius: 0;
    border: 1px solid #6d6d74; margin: 0 20px;
}
._contact .last .right .agree{
    font-size: 17px; display: flex; align-items: center; justify-content: flex-start;
    margin-bottom: 46px;
}
._contact .last .right .agree input{
    display: none;
}
._contact .last .right .agree label{
    cursor: pointer;
    display: flex; align-items: center; justify-content: flex-start;
}
._contact .last .right .agree label .chk{
    width: 1em; height: 1em; position: relative;
    display: flex; align-items: center; justify-content: center;
    transform: translateY(-8%);
}
._contact .last .right .agree label .chk i{position: absolute;}
._contact .last .right .agree label p{
    margin-left: 8px; margin-right: 4px;
}
._contact .last .right .agree a{color: #ababb3; transform: translateY(-1px);}

/* 체크시 */
._contact .last .right .agree .chk{}
._contact .last .right .agree .chk i:nth-child(1){opacity: 1;}
._contact .last .right .agree .chk i:nth-child(2){opacity: 0;}

._contact .last .right .agree input:checked + .chk{}
._contact .last .right .agree input:checked + .chk i:nth-child(1){opacity: 0;}
._contact .last .right .agree input:checked + .chk i:nth-child(2){opacity: 1;}

._contact .btn{
    display: flex; align-items: center; justify-content: flex-start;
    background-color: transparent; border: none;
    font-size: 18px; font-weight: 600;
    padding: 7px; box-sizing: border-box;
    background-color: #0c0c0c; color: #fff; cursor: pointer;
    border-radius: 100px;
	transition: background-color .4s;
}
._contact .btn p{
    padding-left: calc(40/18*1em); padding-right: 1.6em; transform: translateY(-5%);
}
._contact .btn i{
    width: calc(38/18*1em); height: calc(38/18*1em); color: #000;
    background-color: #fff; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; font-weight: 600;
}

@media screen and (min-width:821px) {
	._contact .btn:hover{background-color: #6666ff;}
}


@media screen and (max-width:1600px) {}
@media screen and (max-width:1440px) {
	:root{--fs:max(calc(38/1440*100vw),30px);}

	._contact .range{min-width: calc(940/40*1em);}
	._contact .range .line{width: calc(100% - 40px);}
	._contact .range .labelBx{width: calc(100% - 20px);}

	._contact .last{justify-content: flex-start;}
	._contact .last .textArea{margin-right: 20px; width: 60%;}
	._contact .last .right{min-width: 280px;}
	._contact .last .right .captcha{font-size: 14px;}
	._contact .last .right .captcha input{margin: 0 8px; width: 80px; height: 30px;}
	._contact .last .right .agree{font-size: 15px;}
	._contact .last .right .agree label p{margin: 0 3px;}
}
@media screen and (max-width:1280px) {}
@media screen and (max-width:1024px) {
	:root{--fs:max(calc(30/1024*100vw),20px);}
	._contact .se2{padding-bottom: 240px;}
	._contact .ibx .required{font-weight: 400;}
	._contact .range label p{padding-top: calc(17/17*1em);}

	._contact .last .textArea textarea{font-size: 20px;}
}
@media screen and (max-width:820px) {
	:root{--fs:18px;}

	._contact .ibx .required{display: none;}
	._contact ._required::after{
		content:'*필수'; color: #ff0000; font-size: 13px; margin-left: 6px; font-weight: 500; letter-spacing: -0.025em;
		padding: 2px 4px; border-radius: 20px; border: 1px solid #ff0000; box-sizing: border-box;
	}

	._contact input[type='text'],
	._contact input[type='tel'],
	._contact input[type='email']{width: 100% !important;}

	._contact .se2 .rowBx{ flex-direction: column; align-items: flex-start;}
	._contact .se2 .row{width: 100%; margin-bottom: 20px;}
	._contact .se2 .row.radio{flex-direction: column; align-items: flex-start; padding-top: 20px;}
	._contact .se2 .row.radio .ibx{margin-left: 0 !important; justify-content: flex-start;}
	._contact .se2 .row.radio em{margin-bottom: 0.6em;}
	._contact .se2 .row > p{display: none;}
	._contact .se2 .row em{display: flex; align-items: center; min-width: 120px;}

	._contact .se2 .row.more input{padding-right: 50px;}

	._contact .ibx{margin-left: 0.4em !important; margin-right: 0 !important; width: 100%;}

	._contact .ibx .chractor{display: none;}
	._contact .ibx.chractor input{padding-left: 0.5em;}
	._contact input#manager {width: calc(186/40*1em);}


	._contact .more .ibx .absol{ right: 10px; top: 50%; transform: translateY(-50%);}
	._contact .more .ibx .absol .ico{width: 30px; height: 30px;}
	._contact .more .ibx .absol .ico::before, ._contact .more .ibx .absol .ico::after{width: 50%;}

	._contact .last{flex-direction: column;}




	/* 예산 모양변경 */
	._contact .range{width: 100%; min-width: unset; height: auto; border-radius: 0; background-color: transparent;}
	._contact .range .line{display: none;}
	._contact .range .labelBx{width: 100%; flex-wrap: wrap; height: auto; gap: 4px;}
	._contact .range .labelBx .activeIco{display: none;}

	._contact .range label{
		width: calc(33.3% - (8px / 3)); font-size: 16px; font-weight: 600;
	}
	._contact .range label::before{display: none;}
	._contact .range label p{
		position: relative; padding-top: 0; color: #000;
		width: 100%; padding: 20px 0; text-align: center;  overflow: hidden; border-radius: 8px;
	}
	._contact .range label p span{position: relative; z-index: 1;}
	._contact .range label p::before{
		content:''; display: block; width: 100%; height: 100%;
		position: absolute; top: 0; left: 0; background-color: #000;
		transform: translateY(100%); transition: transform .8s;
	}
	._contact .range label p::after{
		content:''; display: block; border: 1px solid #000; box-sizing: border-box;
		position: absolute; left: 0; top: 0; width: 100%; height: 100%; border-radius: 8px;
	}

	._contact .range label input[type="radio"]:checked + p{color: #18ff5c;}
	._contact .range label input[type="radio"]:checked + p::before{transform: translateY(0%);}






	/* 유입 경로 */
	._contact .chkBx{gap: 4px;}
	._contact .chkBx .chk{width: calc((100% / 5) - (4px * 4 / 5));}
	._contact .chkBx .chk label{border-radius: 8px; width: 100%; height: auto; padding: 12px 8px; font-size: 16px;}
	._contact .chkBx .chk.long label{border-radius: 8px; width: auto;}
	._contact .chkBx .chk.long label::after{border-radius: 8px;}
	._contact .chkBx .chk label::after{border-radius: 8px;}


	/* 첨부파일 */
	._contact .se2 .row.more.file .ibx{width: calc(100% - (120px + 0.4em));}
	._contact .se2 .row.more.file label{width: 100%; padding-right: 140px;}

	/* last */
	._contact .last{padding-top: 14vw;}
	._contact .last .textArea{margin-right: 0; margin-bottom: 130px; width: 100%;}
	._contact .last .textArea textarea{font-size: 16px;}
	._contact .last .textArea .txt{padding: 0 10px;}
	._contact .last .right .captcha input{width: 70px !important;}

	._contact .last .right{text-align: center;}
	._contact .last .right .captcha{justify-content: center;}
	._contact .last .right .agree{justify-content: center;}
	._contact .btn{margin: 0 auto;}
}
@media screen and (max-width:500px) {
	:root{--fs:16px;}

	._contact ._required::after{font-size: 12px;}

	._contact .se2{padding-top: 100px; padding-bottom: 180px;}
	._contact .se2 .row{flex-direction: column; align-items: flex-start;}
	._contact .ibx{margin-left: 0 !important;}

	._contact .se2 .row em{margin-bottom: 0.6em;}
	._contact .se2 .row em span{display: block; color: #ff0000; font-size: 12px; letter-spacing: -0.025em; margin-left: 4px;}

	._contact input[type='text'], ._contact input[type='tel'], ._contact input[type='email']{border-radius: 4px; border-width: 1px;}
	._contact .range label p{border-radius: 4px;}
	._contact .range label p::after{border-radius: 4px;}
	._contact .chkBx .chk label{border-radius: 4px !important;}
	._contact .chkBx .chk label::after{border-radius: 4px !important;}

	/* 예산 */
	._contact .range label{width: calc(50% - 2px);}
	._contact .chkBx{flex-wrap: wrap;}
	._contact .chkBx .chk{width: calc(50% - 2px);}


	/* 첨부파일 */
	._contact .se2 .row.more.file .ibx{width: 100%;}
	._contact .se2 .row.more.file .absol .info{display: none;}
	._contact .se2 .row.more.file label{padding-right: 50px;}

	/* last */
	._contact .last .textArea{height: 200px; margin-bottom: 80px;}
	._contact .last .textArea textarea{font-size: 14px; word-break: keep-all;}
	._contact .last .textArea textarea::-webkit-scrollbar {width: 3px;}
	._contact .btn{font-size: 14px;}
}
@media screen and (max-width:320px) {}







/* 전문보기 */
.cont_modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; opacity: 0; visibility: hidden; transition: .6s; }
.cont_modal .back { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.5; }
.cont_modal .cont { position: absolute; top: 50%; left: 50%; width: 90%; max-width: 850px; padding: 20px; box-sizing: border-box; background: #fff; transform: translate(-50%,-50%) scale(0); transition: transform .6s; }

.cont_modal .cont .close { position: absolute; right: 0; top: 0; transform: translateY(-100%); color: #fff; font-size: 30px; cursor: pointer; }

.cont_modal .cont h2 { font-size: 24px; font-weight: bold; text-align: center; }
.cont_modal .cont .tbx { overflow-y: auto; margin-top: 25px; box-sizing: border-box; border: 1px solid #000; padding: 15px; line-height: 1.5; max-height: 50vh; }
.cont_modal .cont .tbx strong { font-weight: bold; }

/* 모달창 실행 */
.cont_modal.active { opacity: 1; visibility: visible; }
.cont_modal.active .cont { transform: translate(-50%,-50%) scale(1); }



/* 첨부파일 추가 */
._contact .last .right .files p{ font-size: 20px; }
._contact .last .right .files input[type="file"]{ display: none; }
._contact .last .right .files .fb{ position: relative; width: 100%; }
._contact .last .right .files .fb label{ display: flex; align-items: center; width: 100%; height: 2.0833333333em; padding: 0 1em; font-size: 18px; font-weight: 300; letter-spacing: -0.045em; color: #a0a0a0; box-sizing: border-box; background-color: rgba(0, 0, 0, 0.03);
}
._contact .last .right .files .fb button{ all: unset; letter-spacing: -0.045em; font-size: 16px; font-weight: 300; position: absolute; top: 50%; transform: translateY(-50%); right: 25px; height: 70%; padding: 0 10px; background-color: #333; color: #fff; }


/* 직접연락처 추가_250205 */
._contact .se1 .ab dl dd.direct{ font-size: 18px; margin-top: 10px; }
._contact .se1 .ab dl dd.direct ul{ display: flex; align-items: baseline; }
._contact .se1 .ab dl dd.direct ul li{ margin-right: 40px; }

@media screen and (max-width: 1280px){
    ._contact .se1 .ab dl dd.direct{ font-size: 16px; }
}

@media screen and (max-width: 820px){
    ._contact .se1 .ab dl dd.direct ul{ justify-content: center; }
    ._contact .se1 .ab dl dd.direct ul li:last-of-type{ margin-right: 0; }
}

@media screen and (max-width: 500px){
    ._contact .se1 .ab dl dd.direct{ font-size: 14px; }
    ._contact .se1 .ab dl dd.direct ul li{ margin-right: 20px; }
}