@charset "utf-8";

/* ========================= 공용 디자인 정의 ========================= */
body {font-family:'Pretendard Variable', sans-serif; font-size:16px; font-weight:500; line-height:1.7; color:#000; word-break:keep-all; overflow-x:hidden;}

/* 링크 */
a {text-decoration:none !important; outline:none !important; selector-dummy:expression(this.hideFocus=true) !important; color:inherit;}
a:link {text-decoration:none; color:inherit;}
a:visited {text-decoration:none; color:inherit;}
a:hover {text-decoration:none; color:inherit;}
a:active {text-decoration:none; color:inherit;}
a,img,i,button {transition:all .5s ease; -webkit-transition:all .5s ease; -moz-transition:all .5s ease;}
button {cursor:pointer;}

/* CSS 변수 */
:root {
	--base1:#D11D1F;
	--base2:#23417D;
	--base3:#33B4A7;
	--base4:#FFD52D;
	--border:#DDE1EB;
	--border2:#efefef;
	--bg1:#F6F8FA;
	--gray1:#7F889A;
	--blue:#3551C4;
	--blue2:#233786;
}

/* 스크롤바 */
.scroll-y::-webkit-scrollbar {height:3px; width:10px;}
.scroll-y::-webkit-scrollbar-thumb {background-color:#999; border-radius:5px;}
.scroll-y::-webkit-scrollbar-track {background-color:#ccc; border-radius:5px;}

/* SR / GEO 숨김 텍스트 */
.sr-geo {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.textIndent {position:absolute; left:-9999px; opacity:0;}


/* ========================= 파일박스 ========================= */
.filebox.type1 {display:flex; gap:0 !important; align-items:center;}
.filebox.type1 input[type="file"] {position:absolute; left:-9999px; width:0; height:0; padding:0; overflow:hidden; border:0; visibility:hidden;}
.filebox.type1 label {width:80px; height:50px; font-size:15px; line-height:40px; margin-left:5px; border-radius:5px; color:#fff; text-align:center; vertical-align:middle; background-color:#999; white-space:nowrap; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.filebox.type1 .upload-name {border-radius:7px; padding:0 10px; width:calc(100% - 85px) !important; color:#000; cursor:pointer; background-color:#f7f7f7;}
.filebox.type1 .upload-name::placeholder {color:#999;}
.filebox.type1 .currFile {padding:10px 0 0;}
.filebox.type1 label:before {display:none;}
.filebox+.filebox {margin:5px 0 0;}

/* 타이틀 래퍼 */
.titWrap {display:flex; flex-direction:column; flex-wrap:wrap; word-break:break-all;}
.titWrap.alignC {display:flex; justify-content:center; text-align:center;}
.spanBlock > span {display:block;}


/* ========================= 버튼 공용 ========================= */
.btnWrap {display:flex; justify-content:center; gap:10px; margin-top:clamp(30px, 5vw, 70px) !important;}
.btnWrap.alignL {justify-content:left;}
.btnWrap a {z-index:100; position:relative; display:flex; align-items:center; gap:10px; border-radius:clamp(10px, 1.2vw, 20px); padding:40px 100px 40px 50px; width:max-content; color:#fff; line-height:1; font-size:clamp(18px,3vw,24px); font-weight:600; transition:.3s ease; overflow:hidden;}
.btnWrap a.red {background:var(--base1);}
.btnWrap a.blue {background:var(--blue);}
.btnWrap a.black {background:#000;}
.btnWrap a > * {position:relative; z-index:100;}
.btnWrap a:before {z-index:-1; content:""; position:absolute; left:0; top:0; width:0; height:100%; transition:.3s ease;}
.btnWrap a .arrow {position:absolute; width:40px; height:2px; background:#fff; border-radius:2px; right:10%; top:52%; transition:all 0.3s;}
.btnWrap a .arrow:before {content:""; position:absolute; width:15px; height:2px; border-radius:2px; background:#fff; transform:rotate(45deg); right:-2px; top:-5px;}
.btnWrap a:hover {padding-right:130px; gap:30px; box-shadow:30px 30px 30px rgba(0,0,0,.2);}
.btnWrap a:hover .arrow {width:70px;}
.btnWrap a:hover:after {width:70px;}
.btnWrap a:hover:before {width:100%;}
.btnWrap a.red:hover:before {background:var(--blue);}
.btnWrap a.blue:hover:before {background:var(--base1);}
.btnWrap a.black:hover:before {background:var(--blue);}


.board_part .btnWrap a {font-size:18px; font-weight:500;}


/* ========================= 자주 묻는 질문 (FAQ) ========================= */
.faq_st {background:#fff;}
.faq_st .inner {display:flex; justify-content:space-between; gap:5vw;}
.faq_st .left {flex:1;}
.faq_st .left .titWrap {position:sticky; top:50px;}
.faq_st .titWrap > span {display:block; color:#000; font-size:20px;}
.faq_st .titWrap h2 {line-height:1.1;}
.faq_st .titWrap h2 strong {color:var(--blue);}
.faq_st .titWrap > p {color:var(--base2);}
.faq_st .titWrap > p strong {color:var(--base1); font-weight:700; font-size:24px; display:block;}
.faq_st .titWrap > p:before {background:#000; top:30px; left:0;}
.faq_st .right {position:relative; width:70%; word-break:break-all;}
.faq_st .right dl {position:relative; transition:all 0.3s;}
.faq_st .right dl:last-child {padding-bottom:0;}
.faq_st.shop {border-top:1px solid #e5e5e5;}
.faq_st .right dl+dl {border-top:1px solid var(--border); padding-top:30px !important; margin-top:30px;}
.faq_st .right dt {font-weight:500; font-size:clamp(16px,1.5vw,18px); color:#000; line-height:1.1; transition:all 0.3s; position:relative; padding-left:10%;}
.faq_st .right dl dt:before {content:"Q"; position:absolute; color:var(--base2); opacity:0.1; font-size:clamp(32px, 4vw, 64px); font-weight:700; transition:all 0.3s; top:-9px; left:0;}
.faq_st .right.num dl:nth-child(1) dt:before {content:"01";}
.faq_st .right.num dl:nth-child(2) dt:before {content:"02";}
.faq_st .right.num dl:nth-child(3) dt:before {content:"03";}
.faq_st .right.num dl:nth-child(4) dt:before {content:"04";}
.faq_st .right.num dl:nth-child(5) dt:before {content:"05";}
.faq_st .right.num dl:nth-child(6) dt:before {content:"06";}
.faq_st .right.num dl:nth-child(7) dt:before {content:"07";}
.faq_st .right.num dl:nth-child(8) dt:before {content:"08";}
.faq_st .right.num dl:nth-child(9) dt:before {content:"09";}
.faq_st .right.num dl:nth-child(10) dt:before {content:"10";}
.faq_st .right dl:hover dt:before {color:var(--base1); opacity:1;}
.faq_st .right dl:hover dt {color:var(--base1);}
.faq_st .right dl dd {color:var(--base2); margin-top:10px; padding-left:10%;}


/* ========================= 관련 가이드 링크 박스 ========================= */
/* FAQ 섹션 .left sticky 영역 내 .titWrap 아래에 삽입해서 사용 */
.faq_st .guide-link-box {margin-top:40px;}
.faq_st .guide-link-box .guide-link-title {font-size:11px; font-weight:700; color:var(--gray1); letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px;}
.faq_st .guide-link-box ul {display:flex; flex-direction:column; gap:6px;}
.faq_st .guide-link-box ul li::before {display:none;}
.faq_st .guide-link-box ul li a {display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:#fff; border:1px solid var(--border); border-radius:100px; font-size:14px; color:var(--base2); line-height:1.4; transition:all .25s;}
.faq_st .guide-link-box ul li a::after {content:"→"; font-size:13px; color:var(--blue); flex-shrink:0; transition:transform .25s;}
.faq_st .guide-link-box ul li a:hover {background:var(--blue) !important; border-color:var(--blue); color:#fff !important;}
.faq_st .guide-link-box ul li a:hover::after {color:#fff; transform:translateX(4px);}


/* ========================= 반응형 ========================= */

/* PC ~ 태블릿 (~1249) */
@media screen and (max-width:1249px) {
	.btnWrap a {padding:30px 100px 30px 40px; border-radius:10px;}
}

/* 태블릿 (~991) */
@media screen and (max-width:991px) {
	body {font-size:15px;}
	.h40 {height:40px; display:block;}
	.btnWrap {flex-direction:column; gap:10px;}
	.btnWrap a {justify-content:center; margin-top:0;}
	.faq_st .inner {flex-direction:column; gap:30px;}
	.faq_st .left {width:100%;}
	.faq_st .right {width:100%;}
	.faq_st .guide-link-box {margin-top:0;}
}

/* 모바일 (~767) */
@media screen and (max-width:767px) {
	.btnWrap a {width:100%;}
	.btnWrap a:hover {padding-right:100px;}
	.btnWrap a .arrow {right:21%;}
	.btnWrap a:hover .arrow {right:15%; width:15%;}
	.faq_st .right dt {line-height:1.2;}
}

/* 모바일 (~500) */
@media screen and (max-width:500px) {
	.btnWrap.arrow-set a {padding:20px 30px; align-items:flex-start; gap:10px 20px; flex-wrap:wrap;}
	.btnWrap.arrow-set a .arrow {margin-top:12px;}
	.btnWrap a .arrow {position:relative; right:auto;}
	.btnWrap.arrow-set a:hover {right:auto;}
	.btnWrap.arrow-set a:hover .arrow {width:70px; right:auto;}
	.faq_st .right dt {padding-top:0; font-weight:600; padding-left:20px;}
	.faq_st .right dl dt:before {display:none;}
	/* .faq_st .right dl dt:before {left:20px;} */
	.faq_st .right dl dd {padding-left:20px;}
}