@charset "utf-8";

.board-box > div:first-child { padding:0 0 150px; }

@media screen and (max-width:1024px){
    .board-box > div:first-child { padding:0 0 130px; }
}
@media screen and (max-width:640px){
    .board-box > div:first-child { padding:0 0 100px; }
}

.boardReg-box .ipbox { background:#fff; border-radius:10px; padding:60px; }
/* inquiry 페이지: ipbox 80% 너비, 가운데 정렬 (반응형에선 100%) */
.inquiry-page .boardReg-box .inner .ipbox { width: 80%; max-width: 1200px; margin-left: auto; margin-right: auto; }
/* 하단 문의 폼: ipCont-footer 영역 80% 너비, 가운데 정렬 (반응형에선 100%) */
.common-consult .ipCont.ipCont-footer { width: 80%; max-width: 1200px; margin-left: auto; margin-right: auto; }
.boardReg-box .ipbox table { width:100%; border-top:1px solid #000; }
/* 2그리드 문의 폼: 담당자|회사명, 연락처|E-mail, 문의내용 */
.boardReg-box .ipbox table.inquiry-form-grid,
.boardReg-box .ipbox-footer table.inquiry-form-grid { width:100%; border-top:1px solid #000; }
.boardReg-box .ipbox table.inquiry-form-grid tbody th,
.boardReg-box .ipbox-footer table.inquiry-form-grid tbody th { width:15%; min-width:100px; text-align:left; height:75px; vertical-align:middle; padding:0 20px 0 40px; border-bottom:1px solid #ddd; background:#f5f6f7; }
.boardReg-box .ipbox table.inquiry-form-grid tbody td,
.boardReg-box .ipbox-footer table.inquiry-form-grid tbody td { width:35%; text-align:left; padding:15px 20px; border:1px solid #ddd; border-width:0 0 1px 1px; }
.boardReg-box .ipbox table.inquiry-form-grid tbody tr:last-child th,
.boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child th { width:15%; vertical-align:top; padding-top:27px; }
.boardReg-box .ipbox table.inquiry-form-grid tbody tr:last-child td,
.boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child td { width:85%; }
.boardReg-box .ipbox table.inquiry-form-grid tbody td input.ip01,
.boardReg-box .ipbox-footer table.inquiry-form-grid tbody td input.ip01 { width:100%; }
.boardReg-box .ipbox tbody th { text-align:left; height:75px; vertical-align:top; padding:27px 0 0 40px; border-bottom:1px solid #ddd; background:#f5f6f7; }
.boardReg-box .ipbox tbody th strong { color:#333; font-size:16px; font-weight:500; line-height:1.3; letter-spacing:-0.02em; }
.boardReg-box .ipbox tbody th strong span { color:#f30c0c; }
.boardReg-box .ipbox tbody td { text-align:left; padding:15px 20px; border:1px solid #ddd; border-width:0 0 1px 1px; }
.boardReg-box .ipbox tbody td input[type="text"],
.boardReg-box .ipbox tbody td input[type="password"] { height:45px; padding:0 20px; font-size:16px; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
.boardReg-box .ipbox tbody td textarea { height:245px; padding:15px 20px; width:100%; font-size:16px; line-height:1.6; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
.boardReg-box .ipbox tbody td select { height:45px; line-height:45px; padding:0 40px 0 20px; font-size:16px; color:#555; font-weight:400; border:1px solid #ddd; outline:none; appearance:none; border-radius:10px; background:#fff url(../img/board/icon_select_down.png) right center no-repeat; }
.boardReg-box .ipbox tbody td select::-ms-expand { display:none; }
.boardReg-box .ipbox tbody td input::placeholder,
.boardReg-box .ipbox tbody td textarea::placeholder { font-size:16px; color:#ccc }
.boardReg-box .ipbox tbody td input.ip01,
.boardReg-box .ipbox tbody td select.sel01 { width:75%; }
.boardReg-box .ipbox tbody td input.ip02 { width:calc(30% - 18px); }
.boardReg-box .ipbox tbody td input.ip03 { width:calc(35% - 18px); }
.boardReg-box .ipbox tbody td select.sel02 { width:calc(35% - 12px); }
.boardReg-box .ipbox tbody td .stxt { width:35px; text-align:center; display:inline-block }
/* 문의 안내: tbody td .stxt 는 @ 구분용 35px 고정이므로 사용하지 말 것 */
.boardReg-box .ipbox tbody td .inquiry-input-hint,
.boardReg-box .ipbox-footer tbody td .inquiry-input-hint,
.modal-boardReg-box .ipbox tbody td .inquiry-input-hint {
	display: block;
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	color: #555;
	text-align: left;
}
.boardReg-box .ipbox tbody td .inquiry-input-hint-box {
	margin:10px 0 0;
	padding:8px 12px;
	border:1px solid #d7dbe1;
	border-radius:6px;
	background:#ffffff;
	color:#8a8a8a;
	font-size:12px;
	line-height:1.5;
	display:flex;
	align-items:flex-start;
	gap:8px;
	word-break:keep-all;
}
.boardReg-box .ipbox tbody td .inquiry-input-hint-box::before {
	content:"!";
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:16px;
	min-width:16px;
	height:16px;
	margin-top:1px;
	border-radius:50%;
	border:1px solid #b9c0c9;
	background:#eceff3;
	color:#737b86;
	font-size:11px;
	font-weight:700;
	line-height:1;
}
.boardReg-box .ipbox tbody td .sbox { overflow:auto; height:215px; padding:20px; font-size:16px; line-height:1.6; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
.boardReg-box .ipbox .ch-box { margin:30px 0 15px; text-align:right; }
.boardReg-box .ipbox .ch { position:relative; display:inline-block }
.boardReg-box .ipbox .ch input[type="checkbox"],
.boardReg-box .ipbox .ch input[type="radio"]{opacity:0; height:auto; position:absolute; left:7px; top:0; }
.boardReg-box .ipbox .ch input[type="checkbox"] + span,
.boardReg-box .ipbox .ch input[type="radio"] + span { position:relative; padding:0 0 0 35px; font-weight:300; font-size:15px; line-height:1.1 !important; display:inline-block; color:#555; }
.boardReg-box .ipbox .ch input[type="checkbox"] + span:after,
.boardReg-box .ipbox .ch input[type="radio"] + span:after { content:''; display:block; margin:-4px 0 0 0; width:25px; height:25px; vertical-align:middle; background:none; border-radius:5px; border:1px solid #ddd; position:absolute; left:0; top:-2px; }
.boardReg-box .ipbox .ch input[type="checkbox"]:checked + span:after,
.boardReg-box .ipbox .ch input[type="radio"]:checked + span:after { background:url(../img/common/icon_ch_on1.png) no-repeat center center; }
.boardReg-box .ipbox .btn { margin-top:20px; text-align:center; display:flex; justify-content:center; align-items:center; gap:0 10px; }
.boardReg-box .ipbox .btn a { transition:all 0.5s; width:315px; height:70px; border:none; display:flex; justify-content:center; align-items:center; border-radius:10px; background:#eee; }
.boardReg-box .ipbox .btn a span { font-weight:700; color:#aaa; line-height:1.3; font-size:20px; letter-spacing:-0.02em; }
.boardReg-box .ipbox .btn button { transition:all 0.5s; width:315px; height:70px; border:none; display:flex; justify-content:center; align-items:center; border-radius:10px; background:var(--mainColor); }
.boardReg-box .ipbox .btn2 button { transition:all 0.5s; width:120px; height:45px; margin-left: 10px; display:flex; justify-content:center; align-items:center; border-radius:10px; background:none; border:1px solid #ddd; }
.boardReg-box .ipbox .btn button span { font-weight:700; color:#fff; line-height:1.3; font-size:20px; letter-spacing:-0.02em; }
.boardReg-box .ipbox .btn2 button span { font-weight:500; line-height:1.3; font-size:15px; letter-spacing:-0.02em; }

.boardReg-box .ipbox-footer { background:#fff; border-radius:10px;}
.boardReg-box .ipbox-footer table { width:100%; border-top:1px solid #000; }
.boardReg-box .ipbox-footer tbody th { text-align:left; height:75px; vertical-align:top; padding:27px 0 0 40px; border-bottom:1px solid #ddd; background:#f5f6f7; }
.boardReg-box .ipbox-footer tbody th strong { color:#333; font-size:16px; font-weight:500; line-height:1.3; letter-spacing:-0.02em; }
.boardReg-box .ipbox-footer tbody th strong span { color:#f30c0c; }
.boardReg-box .ipbox-footer tbody td { text-align:left; padding:15px 20px; border:1px solid #ddd; border-width:0 0 1px 1px; }
.boardReg-box .ipbox-footer tbody td input[type="text"],
.boardReg-box .ipbox-footer tbody td input[type="password"] { height:45px; padding:0 20px; font-size:16px; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
.boardReg-box .ipbox-footer tbody td textarea { height:245px; padding:15px 20px; width:100%; font-size:16px; line-height:1.6; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
/* FAB 온라인 문의 패널: 문의 내용 textarea만 (그 외 ipbox-footer는 245px) */
#footer-inquiry-floating-mount .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child td textarea {
    height:150px !important;
}
.boardReg-box .ipbox-footer tbody td select { height:45px; line-height:45px; padding:0 40px 0 20px; font-size:16px; color:#555; font-weight:400; border:1px solid #ddd; outline:none; appearance:none; border-radius:10px; background:#fff url(../img/board/icon_select_down.png) right center no-repeat; }
.boardReg-box .ipbox-footer tbody td select::-ms-expand { display:none; }
.boardReg-box .ipbox-footer tbody td input::placeholder,
.boardReg-box .ipbox-footer tbody td textarea::placeholder { font-size:16px; color:#ccc }
.boardReg-box .ipbox-footer tbody td input.ip01,
.boardReg-box .ipbox-footer tbody td select.sel01 { width:75%; }
.boardReg-box .ipbox-footer tbody td input.ip02 { width:calc(30% - 18px); }
.boardReg-box .ipbox-footer tbody td input.ip03 { width:calc(35% - 18px); }
.boardReg-box .ipbox-footer tbody td select.sel02 { width:calc(35% - 12px); }
.boardReg-box .ipbox-footer tbody td .stxt { width:35px; text-align:center; display:inline-block }
.boardReg-box .ipbox-footer tbody td .sbox { overflow:auto; height:215px; padding:20px; font-size:16px; line-height:1.6; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
.boardReg-box .ipbox-footer .ch-box { margin:30px 0 15px; text-align:right; }
.boardReg-box .ipbox-footer .ch { position:relative; display:inline-block }
.boardReg-box .ipbox-footer .ch input[type="checkbox"],
.boardReg-box .ipbox-footer .ch input[type="radio"]{opacity:0; height:auto; position:absolute; left:7px; top:0; }
.boardReg-box .ipbox-footer .ch input[type="checkbox"] + span,
.boardReg-box .ipbox-footer .ch input[type="radio"] + span { position:relative; padding:0 0 0 35px; font-weight:300; font-size:15px; line-height:1.1 !important; display:inline-block; color:#555; }
.boardReg-box .ipbox-footer .ch input[type="checkbox"] + span:after,
.boardReg-box .ipbox-footer .ch input[type="radio"] + span:after { content:''; display:block; margin:-4px 0 0 0; width:25px; height:25px; vertical-align:middle; background:none; border-radius:5px; border:1px solid #ddd; position:absolute; left:0; top:-2px; }
.boardReg-box .ipbox-footer .ch input[type="checkbox"]:checked + span:after,
.boardReg-box .ipbox-footer .ch input[type="radio"]:checked + span:after { background:url(../img/common/icon_ch_on1.png) no-repeat center center; }
.boardReg-box .ipbox-footer .btn { margin-top:-20px; text-align:center; display:flex; justify-content:center; align-items:center; gap:0 10px; }
.boardReg-box .ipbox-footer .btn a { transition:all 0.5s; width:315px; height:70px; border:none; display:flex; justify-content:center; align-items:center; border-radius:10px; background:#eee; }
.boardReg-box .ipbox-footer .btn a span { font-weight:700; color:#aaa; line-height:1.3; font-size:20px; letter-spacing:-0.02em; }
.boardReg-box .ipbox-footer .btn button { transition:all 0.5s; width:315px; height:70px; border:none; display:flex; justify-content:center; align-items:center; border-radius:10px; background:var(--mainColor); }
.boardReg-box .ipbox-footer .btn2 button { transition:all 0.5s; width:120px; height:45px; display:flex; justify-content:center; align-items:center; margin-top: 0px ;border-radius:10px; background:none; border:1px solid #ddd; }
.boardReg-box .ipbox-footer .btn button span { font-weight:700; color:#fff; line-height:1.3; font-size:20px; letter-spacing:-0.02em; }
.boardReg-box .ipbox-footer .btn2 button span { font-weight:500; line-height:1.3; font-size:15px; letter-spacing:-0.02em; }

@media screen and (max-width:1500px){
    .boardReg-box .ipbox table col.w1 { width:280px !important; }
    .boardReg-box .ipbox table.inquiry-form-grid tbody th,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody th { padding-left: 20px; }
}
@media screen and (max-width:1024px){
    .boardReg-box .ipbox { padding:50px; }
    .inquiry-page .boardReg-box .inner .ipbox,
    .common-consult .ipCont.ipCont-footer { width: 100%; max-width: none; }
    .boardReg-box .ipbox table col.w1 { width:200px !important; }
    .boardReg-box .ipbox tbody th { padding:27px 0 0 20px; }
    .boardReg-box .ipbox tbody td input.ip01,
    .boardReg-box .ipbox tbody td select.sel01 { width:100%; }
    .boardReg-box .ipbox tbody td textarea,
    .boardReg-box .ipbox tbody td .sbox { height:200px; }
    .boardReg-box .ipbox .btn { margin-top:40px;}
    .boardReg-box .ipbox .btn a,
    .boardReg-box .ipbox .btn button { width:300px; height:60px; }
    .boardReg-box .ipbox .btn a span,
    .boardReg-box .ipbox .btn button span { font-size:18px; }
    .boardReg-box .ipbox-footer .Inquiry-btn button { margin:none; }
}
@media screen and (max-width:960px){
    .boardReg-box .ipbox { padding:40px; }
    .boardReg-box .ipbox tbody td .stxt { width:30px; }
    .boardReg-box .ipbox tbody td input.ip02 { width:calc(48% - 20px); }
    .boardReg-box .ipbox tbody td input.ip03 { width:calc(52% - 20px); }
    .boardReg-box .ipbox tbody td select.sel02 { width:100%; margin-top:10px; }
}
@media screen and (max-width:640px){
    .boardReg-box .ipbox { padding: 20px; overflow-x: hidden; box-sizing: border-box; }
    .boardReg-box .ipbox:has(table.inquiry-form-grid),
    .boardReg-box .ipbox-footer:has(table.inquiry-form-grid) { overflow: visible !important; }
    .boardReg-box .ipbox table col.w1 { width:auto !important; }
    .boardReg-box .ipbox tbody th { padding:15px 20px; height:auto; width:40%; border-bottom:1px solid #eee }
    .boardReg-box .ipbox tbody tr:nth-child(4) .self_input { display: none; } 
    .boardReg-box .ipbox tbody tr:nth-child(5) th { height: 80px; } 
    .boardReg-box .ipbox tbody tr:nth-child(5) td { height: 80px; } 
    .boardReg-box .ipbox tbody td { width:100%; border-left:none; padding:10px 10px 10px; }
    .boardReg-box .ipbox tbody td input.ip01,
    .boardReg-box .ipbox tbody td select.sel01 { width:100%; }
    .boardReg-box .ipbox tbody td textarea,
    .boardReg-box .ipbox tbody td .sbox { height:160px; }
    .boardReg-box .ipbox .btn { margin-top:20px;}
    .boardReg-box .ipbox .btn a,
    .boardReg-box .ipbox .btn button { width:calc(50% - 5px); height:55px; }
    .boardReg-box .ipbox .btn a span,
    .boardReg-box .ipbox .btn button span { font-size:16px; }
    /* inquiry-form-grid 모바일: 라벨 위·입력 아래 1열 배치, 폼 간격 충분히 확보 */
    .boardReg-box .ipbox table.inquiry-form-grid,
    .boardReg-box .ipbox-footer table.inquiry-form-grid,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid { display: block !important; table-layout: auto !important; width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; overflow: visible !important; }
    .boardReg-box .ipbox table.inquiry-form-grid tbody,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody { display: block !important; }
    .boardReg-box .ipbox table.inquiry-form-grid tbody tr,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr { display: contents !important; flex-direction: column !important; flex-wrap: nowrap !important; width: 100% !important; min-height: 0 !important; margin-bottom: 36px !important; gap: 20px !important; }
    .boardReg-box .ipbox table.inquiry-form-grid tbody tr:last-child,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child { margin-bottom: 0 !important; }
    .boardReg-box .ipbox table.inquiry-form-grid tbody th,
    .boardReg-box .ipbox table.inquiry-form-grid tbody td,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody th,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody td,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody th,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody td { display: block !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
    /* 라벨: flex gap으로 간격 확보 */
    .boardReg-box .ipbox table.inquiry-form-grid tbody th,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody th,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody th { min-width: 0 !important; min-height: 40px !important; padding: 16px 16px 8px !important; margin-top: 0 !important; height: auto !important; font-size: 14px !important; border: none !important; border-bottom: none !important; background: #f5f6f7 !important; flex-shrink: 0 !important; }
    .boardReg-box .ipbox table.inquiry-form-grid tbody tr th:nth-child(3),
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr th:nth-child(3),
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr th:nth-child(3) {  padding-top: 24px !important; }
    /* 입력: 라벨 아래 flex gap으로 간격, flex-shrink:0으로 잘림 방지 */
    .boardReg-box .ipbox table.inquiry-form-grid tbody td,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody td,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody td { min-width: 0 !important; min-height: 56px !important; border: none !important; border-left: none !important; padding: 20px 16px 24px !important; margin-top: 0 !important; border-bottom: 1px solid #eee !important; background: #fff !important; flex-shrink: 0 !important; }
    /* 문의 내용 행(마지막): textarea 영역 여유 */
    .boardReg-box .ipbox table.inquiry-form-grid tbody tr:last-child td,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child td,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child td { min-height: 200px !important; padding: 20px 16px 28px !important; margin-top: 0 !important; }
    #footer-inquiry-floating-mount .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child td {min-height: 0 !important;}
    #footer-inquiry-floating-mount .boardReg-box .ipbox-footer table.inquiry-form-grid tbody tr:last-child td textarea {height: 92px !important;}
    .boardReg-box .ipbox table.inquiry-form-grid tbody td input.ip01,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody td input.ip01,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody td input.ip01 { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
    .boardReg-box .ipbox table.inquiry-form-grid tbody td textarea,
    .boardReg-box .ipbox-footer table.inquiry-form-grid tbody td textarea,
    .common-consult .boardReg-box .ipbox-footer table.inquiry-form-grid tbody td textarea { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
    /* 반응형: 기타 입력 필드 아래로, td 높이 해제 */
    .boardReg-box .ipbox td.inquiry-path-cell,
    .boardReg-box .ipbox-footer td.inquiry-path-cell,
    .common-consult .boardReg-box .ipbox-footer td.inquiry-path-cell { height: auto !important; min-height: auto !important; max-height: none !important; padding: 10px 16px 20px !important; }
    .boardReg-box .ipbox .etc-path-inline.is-visible,
    .boardReg-box .ipbox-footer .etc-path-inline.is-visible,
    .common-consult .boardReg-box .ipbox-footer .etc-path-inline.is-visible { display: block !important; width: 100%; margin-left: 0; margin-top: 8px; }
    .boardReg-box .ipbox .etc-path-inline input,
    .boardReg-box .ipbox-footer .etc-path-inline input,
    .inquiry-agreement-wrap { margin-top: 0; }
    .common-consult .boardReg-box .ipbox-footer .etc-path-inline input { width: 100%; max-width: none; height: 45px; line-height: normal; padding: 0 20px; box-sizing: border-box; }
    /* 문의경로: 라벨 밑에 채널 칩 가로 넘으면 줄바꿈 */
    .boardReg-box .ipbox .inquiry-path-wrap .channel,
    .boardReg-box .ipbox-footer .inquiry-path-wrap .channel,
    .common-consult .boardReg-box .ipbox-footer .inquiry-path-wrap .channel { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; max-width: 100%; }
    /* 하단폼 래퍼: inquiry-form-grid 사용 시 overflow 해제로 잘림 방지 */
    .common-consult .ipCont-footer { box-sizing: border-box; }
    .common-consult .ipCont-footer:has(table.inquiry-form-grid) { overflow: visible !important; }
}

/* animation */
.boardReg-box { opacity:1; }
.boardReg-box.subOn { animation-fill-mode:both; }

.modal-boardReg-box .ipbox { background:#fff; border-radius:10px; padding:10px; }
.modal-boardReg-box .ipbox .tel-order { width: 100%; display: flex; justify-content: center; }
.modal-boardReg-box .ipbox .tel-order a.tel { position:relative; font-weight:300; padding-left:25px; display:inline-block; margin-top: 30px; }
.modal-boardReg-box .ipbox .tel-order a.tel:before { content:""; display:block; width:18px; height:18px; background:#c0c0c0 url(../img/common/tel_icon.png) center no-repeat; position:absolute; left:0; top:50%; transform:translateY(-50%); border-radius:18px; }
.modal-boardReg-box .ipbox table { width:100%; border-top:1px solid #000; }
.modal-boardReg-box .ipbox tbody th { width: 26%;text-align:left; height:55px; vertical-align:top; padding:20px 0 0 26px; border-bottom:1px solid #ddd; background:#f5f6f7; }
.modal-boardReg-box .ipbox tbody th strong { color:#333; font-size:16px; font-weight:500; line-height:1.3; letter-spacing:-0.02em; }
.modal-boardReg-box .ipbox tbody th strong span { color:#f30c0c; }
.modal-boardReg-box .ipbox tbody td { height: 55px;text-align:left;  border:1px solid #ddd; border-width:0 0 1px 1px; }
.modal-boardReg-box .ipbox tbody td input[type="text"],
.modal-boardReg-box .ipbox tbody td input[type="password"],
.modal-boardReg-box .ipbox tbody td input[type="email"] { height:45px; padding:0 20px; font-size:16px; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
.modal-boardReg-box .ipbox tbody td textarea { height:80px; padding:15px 20px; width:100%; font-size:16px; line-height:1.6; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
.modal-boardReg-box .ipbox tbody td select { height:45px; line-height:45px; padding:0 40px 0 20px; font-size:16px; color:#555; font-weight:400; border:1px solid #ddd; outline:none; appearance:none; border-radius:10px; background:#fff url(../img/board/icon_select_down.png) right center no-repeat; }
.modal-boardReg-box .ipbox tbody td select::-ms-expand { display:none; }
.modal-boardReg-box .ipbox tbody td input::placeholder,
.modal-boardReg-box .ipbox tbody td textarea::placeholder { font-size:16px; color:#ccc }
.modal-boardReg-box .ipbox tbody td input.ip01,
.modal-boardReg-box .ipbox tbody td select.sel01 { width:75%; }
/* .modal-boardReg-box .ipbox tbody td input.ip02 { width:calc(30% - 18px); } */
.modal-boardReg-box .ipbox tbody td input.ip02 { width:75%; }
.modal-boardReg-box .ipbox tbody td input.ip03 { width:calc(35% - 18px); }
.modal-boardReg-box .ipbox tbody td select.sel02 { width:calc(35% - 12px); }
.modal-boardReg-box .ipbox tbody td .stxt { width:35px; text-align:center; display:inline-block }
.modal-boardReg-box .ipbox tbody td .sbox { overflow:auto; height:215px; padding:20px; font-size:16px; line-height:1.6; color:#555; font-weight:400; border:none; outline:none; background:#fbfbfb; border-radius:10px; }
.modal-boardReg-box .ipbox .ch-box { margin:30px 0 15px; text-align:right; }
.modal-boardReg-box .ipbox .ch { position:relative; display:inline-block }
.modal-boardReg-box .ipbox .ch input[type="checkbox"],
.modal-boardReg-box .ipbox .ch input[type="radio"]{opacity:0; height:auto; position:absolute; left:7px; top:0; }
.modal-boardReg-box .ipbox .ch input[type="checkbox"] + span,
.modal-boardReg-box .ipbox .ch input[type="radio"] + span { position:relative; padding:0 0 0 35px; font-weight:300; font-size:15px; line-height:1.1 !important; display:inline-block; color:#555; }
.modal-boardReg-box .ipbox .ch input[type="checkbox"] + span:after,
.modal-boardReg-box .ipbox .ch input[type="radio"] + span:after { content:''; display:block; margin:-4px 0 0 0; width:25px; height:25px; vertical-align:middle; background:none; border-radius:5px; border:1px solid #ddd; position:absolute; left:0; top:-2px; }
.modal-boardReg-box .ipbox .ch input[type="checkbox"]:checked + span:after,
.modal-boardReg-box .ipbox .ch input[type="radio"]:checked + span:after { background:url(../img/common/icon_ch_on1.png) no-repeat center center; }
.modal-boardReg-box .ipbox .btn { margin-top:30px; text-align:center; display:flex; justify-content:center; align-items:center; gap:0 10px; }
.modal-boardReg-box .ipbox .btn a { transition:all 0.5s; width:315px; height:70px; border:none; display:flex; justify-content:center; align-items:center; border-radius:10px; background:#eee; }
.modal-boardReg-box .ipbox .btn a span { font-weight:700; color:#aaa; line-height:1.3; font-size:20px; letter-spacing:-0.02em; }
.modal-boardReg-box .ipbox .btn button { transition:all 0.5s; width:315px; height:70px; border:none; display:flex; justify-content:center; align-items:center; border-radius:10px; background:var(--mainColor); }
.modal-boardReg-box .ipbox .btn2 button { transition:all 0.5s; width:120px; height:45px; margin-left: 10px; display:flex; justify-content:center; align-items:center; border-radius:10px; background:none; border:1px solid #ddd; }
.modal-boardReg-box .ipbox .btn button span { font-weight:700; color:#fff; line-height:1.3; font-size:20px; letter-spacing:-0.02em; }
.modal-boardReg-box .ipbox .btn2 button span { font-weight:500; line-height:1.3; font-size:15px; letter-spacing:-0.02em; }
.modal-boardReg-box .ipbox .g-recaptcha { padding: 10px; }
.agreement-checkbox { display: flex;  }
.agreement-checkbox label { position: relative;display: flex;align-items: center;cursor: pointer;font-size: 14px;color: #333;user-select: none;padding: 12px; }
.agreement-checkbox label input[type="checkbox"] { position: absolute;opacity: 0;cursor: pointer; }
.agreement-checkbox label .checkmark { width: 20px;height: 20px;background-color: #fff;border: 2px solid #ccc;border-radius: 4px;position: relative;transition: all 0.2s ease; }
.agreement-checkbox label input:checked + .checkmark { background-color: var(--mainColor);border-color: var(--mainColor); }
.agreement-checkbox label .checkmark::after { content: ""; position: absolute; left: 50%; top: 35%; width: 5px; height: 10px; border: solid white; border-width: 0 2px 2px 0; transform: translate(-50%, -50%) rotate(45deg); opacity: 0; transition: 0.2s ease; }
.agreement-checkbox label:hover .checkmark { background-color: #f0f0f0; }
.agreement-checkbox label input:checked + .checkmark::after { opacity: 1; }
.agreement-checkbox label .label-text { line-height: 1.5; }
.agreement-checkbox .privacy { display: flex; align-items: center;line-height: 1.6; }
.agreement-checkbox .privacy .label-privacy a{ margin-left: 8px; color: #999; }
.agreement-checkbox .privacy .label-privacy a:hover { color: #555;transition: all 0.2s ease; }

/* inquiry.php 개인정보 수집 이용약관 동의 */
.inquiry-agreement-wrap { margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; }
.inquiry-agreement-wrap .agreement-item { margin-bottom: 8px; }
.inquiry-agreement-wrap .agreement-item:last-child { margin-bottom: 0; }
.inquiry-agreement-wrap .agreement-checkbox { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.inquiry-agreement-wrap .agreement-checkbox label { display: flex; align-items: center; cursor: pointer; margin: 0; padding: 0; position: relative; gap: 8px; }
.inquiry-agreement-wrap .agreement-checkbox label input[type="checkbox"] { position: absolute; opacity: 0; cursor: pointer; }
.inquiry-agreement-wrap .agreement-checkbox label .checkmark { flex-shrink: 0; width: 20px; height: 20px; background-color: #fff; border: 2px solid #ccc; border-radius: 4px; position: relative; transition: all 0.2s ease; }
.inquiry-agreement-wrap .agreement-checkbox label input:checked + .checkmark { background-color: var(--mainColor); border-color: var(--mainColor); }
.inquiry-agreement-wrap .agreement-checkbox label .checkmark::after { content: ""; position: absolute; left: 50%; top: 40%; width: 6px; height: 11px; border: solid white; border-width: 0 2px 2px 0; transform: translate(-50%, -50%) rotate(45deg); opacity: 0; transition: 0.2s ease; }
.inquiry-agreement-wrap .agreement-checkbox label input:checked + .checkmark::after { opacity: 1; }
.inquiry-agreement-wrap .agreement-checkbox .label-text { font-size: 15px; color: #333; line-height: 1.5; }
/* 전문보기: 하단 .common-consult .ipCont button 과 동등·낮은 특이도 충돌 시 대비해 구체적 선택자 포함 */
.inquiry-agreement-wrap .btn-detail-toggle,
.common-consult .ipCont .inquiry-agreement-wrap .btn-detail-toggle,
.boardReg-box .ipbox-footer .inquiry-agreement-wrap .btn-detail-toggle {
	margin: 0;
	width: auto;
	max-width: none;
	height: auto;
	min-height: 0;
	line-height: normal;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 500;
	border-radius: 6px;
	cursor: pointer;
	transition: background 0.25s, border-color 0.25s, color 0.25s;
	background: #2d2d2d;
	color: #fff;
	border: 1px solid #2d2d2d;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.inquiry-agreement-wrap .btn-detail-toggle:hover,
.common-consult .ipCont .inquiry-agreement-wrap .btn-detail-toggle:hover,
.boardReg-box .ipbox-footer .inquiry-agreement-wrap .btn-detail-toggle:hover {
	background: #1a1a1a;
	border-color: #1a1a1a;
	color: #fff;
}
.inquiry-agreement-wrap .btn-detail-toggle.is-open,
.common-consult .ipCont .inquiry-agreement-wrap .btn-detail-toggle.is-open,
.boardReg-box .ipbox-footer .inquiry-agreement-wrap .btn-detail-toggle.is-open {
	background: transparent;
	color: #666;
	border: 1px solid #d0d0d0;
}
.inquiry-agreement-wrap .btn-detail-toggle.is-open:hover,
.common-consult .ipCont .inquiry-agreement-wrap .btn-detail-toggle.is-open:hover,
.boardReg-box .ipbox-footer .inquiry-agreement-wrap .btn-detail-toggle.is-open:hover {
	background: #f8f8f8;
	color: #333;
	border-color: #c5c5c5;
}
.inquiry-agreement-wrap .agreement-detail-box { display: none; margin-top: 12px; padding: 16px; background: transparent; border: 1px solid #ddd; border-radius: 8px; max-height: 220px; overflow-y: auto; }
.inquiry-agreement-wrap .agreement-detail-box::-webkit-scrollbar { width: 8px; }
.inquiry-agreement-wrap .agreement-detail-box::-webkit-scrollbar-thumb { background: var(--mainColor); border-radius: 4px; }
.inquiry-agreement-wrap .agreement-detail-box::-webkit-scrollbar-track { background: #E8E8E8; }
.inquiry-agreement-wrap .agreement-detail-box.on { display: block; }
.inquiry-agreement-wrap .agreement-detail-inner { font-size: 13px; line-height: 1.7; color: #555; }
.inquiry-agreement-wrap .agreement-detail-inner h4 { margin: 16px 0 8px; font-size: 14px; font-weight: 600; color: #333; }
.inquiry-agreement-wrap .agreement-detail-inner h4:first-child { margin-top: 0; }
.inquiry-agreement-wrap .agreement-detail-inner p { margin: 0 0 8px; }
.inquiry-agreement-wrap .agreement-detail-inner ul,
.inquiry-agreement-wrap .agreement-detail-inner ol { margin: 0 0 8px; padding-left: 20px; }
.inquiry-agreement-wrap .agreement-detail-inner li { margin-bottom: 4px; }
/* 하단 상담(.ipCont)의 flex 폼용 ul 규칙이 전문보기 내 목록까지 적용되어 2열처럼 보이는 것 방지 */
.common-consult .ipCont .inquiry-agreement-wrap .agreement-detail-inner ul,
.boardReg-box .ipbox-footer .inquiry-agreement-wrap .agreement-detail-inner ul {
	display: block;
	width: 100%;
	flex-wrap: unset;
}
.common-consult .ipCont .inquiry-agreement-wrap .agreement-detail-inner ul li,
.boardReg-box .ipbox-footer .inquiry-agreement-wrap .agreement-detail-inner ul li {
	display: block;
	width: 100% !important;
	max-width: none;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-bottom: 6px;
	box-sizing: border-box;
}
.common-consult .ipCont .inquiry-agreement-wrap .agreement-detail-inner ol,
.boardReg-box .ipbox-footer .inquiry-agreement-wrap .agreement-detail-inner ol {
	display: block;
	width: 100%;
	padding-left: 1.25em;
	box-sizing: border-box;
}
.common-consult .ipCont .inquiry-agreement-wrap .agreement-detail-inner ol li,
.boardReg-box .ipbox-footer .inquiry-agreement-wrap .agreement-detail-inner ol li {
	display: list-item;
	width: 100% !important;
	max-width: none;
	padding-left: 0.35em !important;
	padding-right: 0 !important;
	margin-bottom: 6px;
	list-style-type: decimal;
	list-style-position: outside;
}
.inquiry-agreement-wrap + .btn { margin-top: 24px !important; }
.inquiry-agreement-wrap + .Inquiry-btn { margin-top: 24px !important; }

#popup-streamon-brochure { display: none; align-items: center; justify-content: center; z-index: 10050; }
#popup-streamon-brochure .popup-order2 { width: calc(100% - 24px); }
#popup-streamon-brochure .modal-boardReg-box.pb40 { padding-bottom: 0 !important; }
#popup-streamon-brochure .modal-boardReg-box .ipbox { padding: 18px; }
#popup-streamon-brochure .modal-boardReg-box .ipbox tbody td { padding: 16px 22px; vertical-align: top; }
#popup-streamon-brochure .modal-boardReg-box .ipbox tbody td input[type="text"],
#popup-streamon-brochure .modal-boardReg-box .ipbox tbody td input[type="email"] { width: 75%; height: 50px; }
#popup-streamon-brochure .streamon-brochure-options { display: flex; flex-wrap: wrap; gap: 12px 20px; padding-top: 4px; }
#popup-streamon-brochure .streamon-brochure-options .ch { margin: 0; }
#popup-streamon-brochure .streamon-brochure-agreements { margin-top: 0; padding-top: 0; border-top: 0; }
#popup-streamon-brochure .streamon-brochure-error { margin: 8px 0 0; color: #f30c0c; font-size: 13px; line-height: 1.5; }
#popup-streamon-brochure .streamon-brochure-error:empty { display: none; }
#popup-streamon-brochure .streamon-brochure-error--agreement { margin-top: 6px; }
#popup-streamon-brochure .streamon-brochure-invalid { border: 1px solid #f30c0c !important; }
#popup-streamon-brochure .agreement-checkbox { align-items: center; }
#popup-streamon-brochure .agreement-checkbox label { flex: 1 1 auto; }
#popup-streamon-brochure .agreement-checkbox .label-text { font-size: 15px; }
#popup-streamon-brochure .inquiry-agreement-wrap .agreement-detail-box { margin-top: 8px; }

@media all and (max-width: 1024px) {
	#popup-streamon-brochure .modal-boardReg-box .ipbox tbody th { width: 32%; padding-left: 18px; }
	#popup-streamon-brochure .modal-boardReg-box .ipbox tbody td input[type="text"],
	#popup-streamon-brochure .modal-boardReg-box .ipbox tbody td input[type="email"] { width: 100%; }
}

@media all and (max-width: 767px) {
	#popup-streamon-brochure .popup-order2 { width: calc(100% - 16px); }
	#popup-streamon-brochure .modal-boardReg-box .ipbox { padding: 12px; }
	#popup-streamon-brochure .modal-boardReg-box .ipbox tbody th,
	#popup-streamon-brochure .modal-boardReg-box .ipbox tbody td {
		display: block;
		width: 100%;
		height: auto;
	}
	#popup-streamon-brochure .modal-boardReg-box .ipbox tbody th {
		padding: 16px 16px 12px;
		border-bottom: 0;
	}
	#popup-streamon-brochure .modal-boardReg-box .ipbox tbody td {
		padding: 0 16px 16px;
		border-left: 0;
	}
	#popup-streamon-brochure .streamon-brochure-options { gap: 10px 16px; }
	#popup-streamon-brochure .agreement-checkbox { align-items: flex-start; }
}
.inquiry-agreement-wrap + .footer-inquiry-action-row { margin-top: 24px !important; }

/* 문의경로 (inquiry.php, request.php 푸터) - td 높이 고정 */
.boardReg-box .ipbox td.inquiry-path-cell,
.boardReg-box .ipbox-footer td.inquiry-path-cell { height: 50px; min-height: 50px; max-height: 50px; vertical-align: middle; }
.boardReg-box .ipbox .inquiry-path-wrap,
.boardReg-box .ipbox-footer .inquiry-path-wrap { padding: 8px 0; display: grid; align-items: center; }
.boardReg-box .ipbox .inquiry-path-wrap .channel,
.boardReg-box .ipbox-footer .inquiry-path-wrap .channel { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.boardReg-box .ipbox .radio-btn,
.boardReg-box .ipbox-footer .radio-btn { position: relative; cursor: pointer; user-select: none; display: inline-block; }
.boardReg-box .ipbox .radio-btn input[type="radio"],
.boardReg-box .ipbox-footer .radio-btn input[type="radio"] { display: none; }
.boardReg-box .ipbox .radio-btn span,
.boardReg-box .ipbox-footer .radio-btn span { display: inline-block; padding: 8px 14px; border: 1px solid #ddd; border-radius: 25px; background-color: #f8f8f8; color: #333; font-size: 14px; transition: all 0.2s ease-in-out; }
.boardReg-box .ipbox .radio-btn input[type="radio"]:checked + span,
.boardReg-box .ipbox-footer .radio-btn input[type="radio"]:checked + span { background-color: var(--mainColor); border-color: var(--mainColor); color: white; }
.boardReg-box .ipbox .etc-path-inline,
.boardReg-box .ipbox-footer .etc-path-inline { display: none; margin-left: 4px; vertical-align: middle; }
.boardReg-box .ipbox .etc-path-inline.is-visible,
.boardReg-box .ipbox-footer .etc-path-inline.is-visible { display: inline-block; }
.boardReg-box .ipbox .etc-path-inline input,
.boardReg-box .ipbox-footer .etc-path-inline input { width: 240px; min-width: 180px; height: 34px; padding: 0 14px; font-size: 14px; line-height: 34px; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }

.modal-boardReg-box .ipbox .inquiry-path-wrap { padding: 8px;display: grid; align-items: center; }
.modal-boardReg-box .ipbox .inquiry-path-wrap .channel { display: flex; gap: 6px; height: 45px; align-items: center; }
.modal-boardReg-box .ipbox .inquiry-path-wrap input[type="text"] { width: 75%; }
.modal-boardReg-box .ipbox .radio-btn { position: relative;cursor: pointer;user-select: none;display: inline-block; }
.modal-boardReg-box .ipbox .radio-btn input[type="radio"] {display: none;}
.modal-boardReg-box .ipbox .radio-btn span { display: inline-block;padding: 10px 16px;border: 1px solid #ddd;border-radius: 25px;background-color: #f8f8f8;color: #333;font-size: 14px;transition: all 0.2s ease-in-out;}
.modal-boardReg-box .ipbox .radio-btn input[type="radio"]:checked + span {background-color: #007BFF;border-color: #007BFF;color: white;}
.popup-wrap .popup-body .btn { padding: 8px; }
.popup-wrap .popup-body .btn a { transition:all 0.5s; width:100%; height:50px; border:none; display:flex; justify-content:center; align-items:center; border-radius:6px; color: #fff;background:var(--mainColor); }
.popup-wrap .popup-body .btn a span { font-weight:700; color:#fff; line-height:1.3; font-size:20px; letter-spacing:-0.02em; }
.popup-wrap .popup-body .btn button { transition:all 0.5s; width:315px; height:70px; border:none; display:flex; justify-content:center; align-items:center; border-radius:10px; background:var(--mainColor); }
.popup-wrap .popup-body .btn button span { font-weight:700; color:#fff; line-height:1.3; font-size:18px; letter-spacing:-0.02em; }


@media screen and (max-width:720px){
.modal-boardReg-box .ipbox .btn { margin-top:10px; }
.modal-boardReg-box .ipbox .radio-btn span { font-size: 12px; }
.modal-boardReg-box .ipbox .inquiry-path-wrap input[type="text"] { width: 100%; margin-top: 8px; }
}


@media screen and (max-width:1500px){
    .modal-boardReg-box .ipbox table col.w1 { width:280px !important; }
}
@media screen and (max-width:1024px){
    /* .modal-boardReg-box .ipbox { padding:50px; } */
    .modal-boardReg-box .ipbox table col.w1 { width:200px !important; }
    .modal-boardReg-box .ipbox tbody th { padding:27px 0 0 26px; }
    .modal-boardReg-box .ipbox tbody td input.ip01,
    .modal-boardReg-box .ipbox tbody td select.sel01 { width:100%; }
    .modal-boardReg-box .ipbox tbody td textarea,
    .modal-boardReg-box .ipbox tbody td .sbox { height:200px; }
    .modal-boardReg-box .ipbox .btn { margin-top:40px;}
    .modal-boardReg-box .ipbox .btn a,
    .modal-boardReg-box .ipbox .btn button { width:300px; height:60px; }
    .modal-boardReg-box .ipbox .btn a span,
    .modal-boardReg-box .ipbox .btn button span { font-size:18px; }
    .modal-boardReg-box .ipbox .radio-btn span { padding: 6px 8px; }
    .modal-boardReg-box .ipbox .inquiry-path-wrap { display: inline-grid; width: 100%; }
    .modal-boardReg-box .ipbox .inquiry-path-wrap .channel { display: inline-block; gap: 12px; height: auto; }
}
@media screen and (max-width:960px){
    /* .modal-boardReg-box .ipbox { padding:40px; } */
    .modal-boardReg-box .ipbox tbody td .stxt { width:30px; }
    .modal-boardReg-box .ipbox tbody td input.ip02 { width: 100%; }
    /* .modal-boardReg-box .ipbox tbody td input.ip02 { width:calc(48% - 20px); } */
    .modal-boardReg-box .ipbox tbody td input.ip03 { width:calc(52% - 20px); }
    .modal-boardReg-box .ipbox tbody td select.sel02 { width:100%; margin-top:10px; }
}
@media screen and (max-width:640px){
    /* .modal-boardReg-box .ipbox { padding:20px; } */
    .modal-boardReg-box .ipbox table col.w1 { width:auto !important; }
    /* .boardReg-box .ipbox tbody tr { display:flex;flex-direction: row;} */
    .modal-boardReg-box .ipbox tbody th { padding:15px 20px 15px 26px; height:auto; width:30%; border-bottom:1px solid #eee }
    .modal-boardReg-box .ipbox tbody tr:nth-child(4) .self_input { display: none; } 
    .modal-boardReg-box .ipbox tbody tr:nth-child(5) th { height: 80px; } 
    .modal-boardReg-box .ipbox tbody tr:nth-child(5) td { height: 80px; } 
    .modal-boardReg-box .ipbox tbody td { width:100%; border-left:none; padding:10px 10px 10px; }
    .modal-boardReg-box .ipbox tbody td input.ip01,
    .modal-boardReg-box .ipbox tbody td select.sel01 { width:100%; }
    .modal-boardReg-box .ipbox tbody td textarea,
    .modal-boardReg-box .ipbox tbody td .sbox { height:160px; }
    .modal-boardReg-box .ipbox .btn { margin-top:20px;}
    .modal-boardReg-box .ipbox .btn a,
    .modal-boardReg-box .ipbox .btn button { width:calc(50% - 5px); height:55px; }
    .modal-boardReg-box .ipbox .btn a span,
    .modal-boardReg-box .ipbox .btn button span { font-size:16px; }

}

