@charset "utf-8";
/* ========================= 서브 공통 ========================= */
.sub-h2{font-size:42px;font-family:"Pretendard Bold";margin:0;padding:0;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);}
.sub-p{font-size:20px;font-family:"Pretendard SemiBold";margin:0;padding:8px 0 0 0;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);}
.sub-p3{font-size:16px;font-family:"Pretendard SemiBold";margin:0;color:#333;text-align:center;}
.sub-cnt_p{font-size:20px;font-family:"Pretendard SemiBold";margin:0;padding:0;color:#666;}
h.sub-cnt_h { display:block; position:relative; max-width:980px; margin:48px auto; padding:48px; background:linear-gradient(180deg,#ffffff,#fafcff); border:1px solid rgba(10,40,120,.08); border-radius:16px; box-shadow:0 8px 24px rgba(0,0,0,.06); color:#222; font-family:"Pretendard Variable","Pretendard",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans KR",sans-serif; font-weight:400; font-size:clamp(16px,1.6vw,20px); line-height:1.9; letter-spacing:-0.2px; word-break:keep-all; text-align:left; }
h.sub-cnt_h::before { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; border-radius:16px 0 0 16px; background:linear-gradient(180deg,#3a8afd,#0b57d0); }
h.sub-cnt_h::after { content:"“"; position:absolute; right:20px; top:8px; font-size:56px; line-height:1; color:rgba(11,87,208,.12); font-weight:900; pointer-events:none; }
h.sub-cnt_h br { display:block; content:""; margin-bottom:8px; }
h.sub-cnt_h:first-line { font-weight:800; color:#0b57d0; }
.group-wrap:hover{background-color:#3F79E2; color:#fff;}
.sub-pagebanner{width:100%;height:288px;background-color:#666;position:relative;overflow:hidden;}
.sub-pagebanner>img{width:100%;height:100%;object-fit:cover;display:block;}
.sub-pagepagebanner_text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;color:#fff;padding:0 20px;}
.sub-pagepagebanner_text .sub-h2{margin:0;font-size:clamp(24px,3vw,42px);font-weight:700;}
.sub-pagepagebanner_text .sub-p{margin:0;font-size:clamp(16px,1.6vw,18px);opacity:0.9;}
.sub-page_cnt{width:100%;max-width:1280px;margin:0 auto;padding:68px 24px 168px 24px;box-sizing:border-box;text-align:center}
.subvisual_img{background:url(/images/kbp-bg.png) no-repeat top center;background-color:#EE3543;height:346px;text-align:center;}
.subvisual_img div{text-align:center;position:absolute;top:28%;transform:translateY(-22%);width:100%;}
.subvisual_img div strong{display:block;font-size:3.2em;line-height:1.4em;font-weight:900;color:#fff;font-family:'TTWanjudaedunsancheB';}
.subvisual_img div p{color:#fff;font-size:1.3em;letter-spacing:-1px;font-weight:800;}
.sub_leftmenu{text-align:center;padding:1.6em 0;box-shadow:3px 3px 5px #e3e3e3; border-bottom:1px solid #ddd;}
.sub_leftmenu ul{text-align:center;}
.sub_leftmenu ul li{text-align:center;display:inline-block;vertical-align:top;}
.sub_leftmenu ul li a{font-weight:600;font-size:clamp(14px, 1.2vw, 18px); padding:2% 1.2em;display:block;}
.sub_leftmenu ul li a:hover{color:#3B8BFF;}
.sub_leftmenu ul li a.active{font-weight:600;color:#3B8BFF;}
#rightQuick{position:absolute;right:0;top:150px;z-index:99;}
#rightQuick ul{background:#333;border-radius:15px 0 0 15px;padding:.5em;width:120px;}
#rightQuick ul li{border-bottom:1px solid #5f5550;text-align:center;padding:.7em .3em;word-break:keep-all;line-height:24px;}
#rightQuick ul li img{filter:invert(80%) sepia(100%) saturate(25%) hue-rotate(346deg) brightness(108%) contrast(106%);}
#rightQuick ul li:first-child a{color:#ffcf0f;}
#rightQuick ul li:first-child img{filter:invert(68%) sepia(75%) saturate(516%) hue-rotate(0deg) brightness(107%) contrast(101%);}
#rightQuick ul li img{max-width:46px;height:40px;display:block;margin:0 auto 5px;}
#rightQuick ul li a{color:#fff;font-size:90%;}
#rightQuick ul li:last-child{border-bottom:0;}
#headerQuick{display:none;}
/* ========== 하단 배너 영역 ========== */
#contact{width:100%;position:relative;margin:0 auto;}
#contact img{display:block;width:100%;height:266px;object-fit:cover;object-position:center;}
#contact_cnt{position:absolute;top:50%;left:50%;width:90%;transform:translate(-50%,-50%);text-align:center;color:#fff;padding:20px;box-sizing:border-box;font-size:2rem;font-family:"Pretendard Medium";}
#contact_cnt h2{font-family:"Pretendard ExtraBold";}
.contact-btn,.contact-btn2{display:inline-block;margin:10px 24px;padding:12px 68px;border:1px solid #fff;background:transparent;color:#fff;border-radius:100px;text-decoration:none;transition:background-color .3s,color .3s,border-color .3s;font-size:clamp(.6rem,5vw,1.2rem);}
.contact-btn:hover,.contact-btn2:hover{background-color:#f07b27;color:#fff;border-color:transparent;}
/* 서브 페이지1-2 (연혁) */
.history{position:relative;padding:42px 12px;max-width:1080px;margin:0 auto;}
.history ul{list-style:none;margin:0;padding:0;position:relative;}
.history ul::before{content:"";position:absolute;left:50%;top:0;width:4px;height:100%;background:#ddd;transform:translateX(-50%);}
.history li{position:relative;width:50%;padding:20px 40px;box-sizing:border-box;}
.history li:nth-child(odd){left:0;text-align:right;}
.history li:nth-child(even){left:50%;text-align:left;}
.history li::before{content:"";position:absolute;top:30px;width:20px;height:20px;border-radius:50%;background:#0448a0;border:3px solid #fff;box-shadow:0 0 0 3px #ddd;}
.history li:nth-child(odd)::before{right:-10px;}
.history li:nth-child(even)::before{left:-10px;}
.history .date{display:block;font-weight:bold; font-size:20px;color:#bbb;}
.history .desc{display:block;font-weight:bold; font-size:18px;color:#555;line-height:1.5;margin-bottom:20px;}
/* 이미지 컨텐츠 */
.sub_h3{display: flex; align-items: center; gap: 10px; font-size: clamp(18px, 1.6vw, 24px); margin: 0 0 14px; font-family: "Pretendard SemiBold";}
.sub_h3::before { content: ""; width: 6px; height: 20px;border-radius: 4px; background: #3aaacf;}
.sub_h4{font-size:20px;padding:48px 0 12px 0;font-family:"Pretendard SemiBold";margin:0;color:#222;}
#gimje{padding-top:48px;}
/* sub3 제품소개 이미지 */
.sub3-img-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:0 auto;}
.sub3-img-box{flex:1 1 calc(33.333% - 20px);max-width:calc(33.333% - 20px);display:flex;flex-direction:column;align-items:center;gap:8px;}
.sub3-thumb{display:block;width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;}
.sub3-thumb img{width:100%;height:100%;object-fit:cover;display:block;padding:0!important;border-radius:12px;}
/* 인증연혁 */
.sub-gallery-wrap {    width: min(1200px, 100%);    margin: 0 auto;    padding: 24px;    font-family: "Pretendard ExtraBold";    font-size: 24px;    text-align: center;}
.sub-gallery-grid {    display: grid;    grid-template-columns: repeat(4, minmax(0, 1fr));    gap: var(--gap);   padding-top: 12px;}
.sub-gallery-card {    position: relative;    overflow: hidden;    border-radius: var(--radius);    background: #f3f4f6;}
.sub-gallery-card img {    width: 100%;    height: 100%;    object-fit: cover;    display: block;    padding: 12px;}
/* sub4 */
.sub4-cnt-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0;padding-top:12px; }
.sub4-cnt{background:#f8f8f8;border-radius:8px;padding:68px 48px;text-align:center;box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.10);}
.sub4-h{font-size:20px;font-family:"Pretendard SemiBold";margin:0;color:#333;}
.sub4-p{font-size:16px;font-family:"Pretendard Medium";margin-top:12px;color:#555;}
.sub-page_cnt h1 {font-size: 46px;font-family: "Pretendard Black";color: #ddd;}
.h-en {font-size: 46px;font-family: "Pretendard Black";color: #ddd;}
/* 사업실적 표 */
.table-container{width:100%;overflow-x:auto;font-family:"Pretendard Medium";padding:0 24px;}
table{width:100%;border-collapse:collapse;text-align:center;min-width:1080px;border-top: 1px solid #666;}
th,td{border-bottom: 1px solid #eee;padding: 12px;text-align: left;white-space: nowrap;font-family: "Pretendard Medium";font-size: 16px;color: #666;}
th{color: #444;}
caption{text-align:left;margin-bottom:8px;}
.accordion-btn {width: 100%;text-align: left;padding: 16px 20px;border: none;outline: none;cursor: pointer;background: #fff;border-bottom: 1px solid #e5e7eb;font-size: 16px;position: relative;transition: background 0.2s ease;font-family: "Pretendard", sans-serif;}
.accordion-btn::after {content: "▾";position: absolute;right: 20px;transition: transform 0.25s ease;}
.accordion-btn.active::after {transform: rotate(180deg);}
.accordion-content {max-height: 0;overflow: hidden;transition: max-height 0.35s ease;background: #fff;}
.accordion-content.open {padding: 12px 0 24px;overflow-x: auto; overflow-y: hidden; }
.custom-inventory-table {width: 100%;border-collapse: collapse;margin-top: 8px;font-family: "Pretendard", sans-serif;font-size: 14px;}
.custom-inventory-table th,.custom-inventory-table td {border: 1px solid #e5e7eb;padding: 10px 12px;text-align: left;}
.custom-inventory-table thead th {background: #f8fafc;font-weight: 700;}
.custom-inventory-table tbody tr:nth-child(even) td {background: #fafafa;}
.custom-inventory-table a {color: #2F6CDF;text-decoration: none;font-weight: 500;}
.custom-inventory-table a:hover {text-decoration: underline;}
.custom-inventory-table tbody td {color: #777;}
.accordion-btn:hover{background-color:#d9e4ff;}
/* 상담하기 */
/* 게시물 작성 폼 전체 컨테이너 */
#bo_w { width: 100%; max-width: 1080px; margin: 0 auto; text-align: center; padding: 60px 24px 100px; font-family: "Pretendard", system-ui, sans-serif; color: #333; background: #fff;}
.bo_w_info.write_div { width:100%; max-width:1080px;} /* 클래스명이 이상하지만, 보류 */
#bo_w .write_div { width:100%; }
.sub_asmenu{ width:100%; max-width:1080px; margin:0 auto; padding-top:48px; text-align:center; font-family:"Pretendard ExtraBold";font-size:clamp(18px, 1.2vw ,20px);}
.sub_asmenu a{ border:1px solid #ccc; border-radius:8px; padding:14px 28px;}
.sub_asmenu a:hover{ background-color:#3B8BFF; color:#fff;}
/* 지도 */
.map-wrap{width:100%;max-width:1280px;margin:0 auto;position:relative;}
.root_daum_roughmap{width:100%!important;max-width:1280px;height:580px!important;margin:0 auto;position:relative;overflow:hidden;}
.root_daum_roughmap iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important;}
.root_daum_roughmap img {  max-width: none !important;  height: auto !important;  clip: auto !important;  transform: none !important;}
/* 제품 박스 */
.product_box1,.product_box2{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:20px;font-size:18px;text-align:center;padding:0;margin:0;list-style:none;}
.product_box1 li,.product_box2 li{flex:1 1 calc(33.333% - 20px);}
.product_box1 img,.product_box2 img{display:block;width:100%;height:auto;margin:0 0 12px;padding:0;max-width:488px;}
.product_text{font-size:20px;padding:24px 0 12px 4px;}
/* ============================== .sub-page_bg 내부 전용 스타일 ============================== */
.sub-page_bg {background: url(/img/subbgimg.png) no-repeat center top;background-size: cover; position: relative;z-index: 1; margin: 60px auto;padding: 0 20px;font-family: "Pretendard", system-ui, sans-serif;color: #222;line-height: 1.7;}
.sub-page_bg .inner {max-width: 1280px;margin: 0 auto;padding: 0 20px;}
.sub-page_bg .piimg1 {float: right;width: 45%;max-width: 520px;margin: 10px 0 25px 30px;border-radius: 10px;box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);object-fit: cover;}
.sub-page_bg .pi-title .brand {color: #3aaacf;font-weight: 800;text-align:left;}
.pi-title {font-size: clamp(20px, calc(15.43px + 1.4286vw), 38px);line-height: 1.5;font-family: "Pretendard Bold";text-align: center;padding-bottom: 24px;color: #333;}
.brand {color: #3aaacf;padding-right: 12px;}
.sub-page_bg .pi-desc {font-size: 18px;color: #555;margin-bottom: 18px;}
.sub-page_bg .pi-desc .product {display: inline-block;font-weight: 700;padding: 4px 10px;border-radius: 999px;margin-bottom: 8px;}
.sub-page_bg .pi-desc:nth-of-type(2),.sub-page_bg .pi-desc:nth-of-type(3) {background: #fafafa;border: 1px solid #ddd;border-radius: 10px;padding: 18px 24px;box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);}
.sub-page_bg .pi-desc:nth-of-type(5) {font-weight: 700;color: #222;}
.sub-page_bg .pi-desc:nth-of-type(5)::before {content: "";display: inline-block;width: 10px;height: 10px;margin-right: 8px;background: #3aaacf;border-radius: 2px;vertical-align: 1px;}
.sub-page_bg a {color: #3aaacf;text-decoration: none;}
.sub-page_bg a:hover {text-decoration: underline;}
.solar-fields__desc:nth-of-type(1){margin:24px; font-size:18px; text-align:left;}
.solar-section {max-width:100%;margin:auto;padding:12px 0 48px 0;}
.solar-grid {display:grid;gap:24px;grid-template-columns:repeat(2,1fr);}
.solar-card {border:1px solid #eee;border-radius:12px;padding:18px;background:#fff;}
.solar-card__title {font-weight:800;font-size:18px; color:#555; padding:0 0 0 24px!important; text-align:left; position:relative; margin-bottom:12px;}
.solar-card__title::before {content:"";position:absolute;left:0;top:0.35em;width:5px;height:1.1em;background:#3aaacf;border-radius:2px;}
.solar-card__body {display:grid;grid-template-columns:1fr 240px;gap:16px;align-items: start; text-align:left; font-size:16px;}
.solar-card__thumb img {width:100%;height:auto;border-radius:10px;object-fit:cover;}
.solar-list {margin:0;padding-left:18px;color:#555; font-family:"Pretendard Medium";}
.solar-list li {margin:4px 0; text-align:left; font-size:16px;}
.solar-rps {margin-top:40px;border:1px solid #eee;border-radius:12px;padding:18px;background:#fff;}
.solar-rps__gallery {margin-top:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);}
.group-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.metal-gallery-title {padding-top:48px;display: flex; align-items: center; gap: 10px; font-size: clamp(18px, 1.6vw, 24px); margin: 0; font-family: "Pretendard SemiBold";}
.metal-gallery-title::before { content: ""; width: 6px; height: 20px;border-radius: 4px; background: #3aaacf;}
/* 1. 갤러리 컨테이너 (Grid Layout) */
.metal-gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap:0 12px; padding: 12px; background-color: #f7f7fb; padding-top: 24px; }
/* 2. 개별 갤러리 항목 (높이 통일) */
.metal-gallery-item { height: 350px; display: flex; flex-direction: column; justify-content: flex-start; overflow: hidden; background-color: #f7f7fb; border-radius:6px; }
/* 3. 이미지 스타일 */
.metal-gallery-item img { position: relative; width: 100%; height: 75%; display: block; object-fit: cover; object-position: center; flex-shrink: 0; filter: brightness(0.95); border-radius:6px; }
/* 4. 캡션 텍스트 스타일 */
.metal-gallery-caption { width: 100%; padding: 10px; background-color: #f7f7fb; color: #333; font-size: clamp(14px, 1vw, 16px); font-family: "Pretendard Medium"; text-align: center; line-height: 1.4; display: flex; flex-direction: column; justify-content: center; flex-grow: .3; }
.metal-gallery-caption p { margin: 2px 0; }
.f_tit { margin: 0 auto; font-size: clamp(16px, 1.2vw, 20px); font-family: "Noto Sans KR SemiBold"; color: #474747; padding: 24px;}
.bo_w_info.write_div { display: flex; flex-direction: column;gap: 14px; width: 100%; max-width: 1080px; border: 4px solid #e2e2ff; border-radius: 20px; padding: 48px;}
.form_row { display: flex; font-size: clamp(16px, 1.1vw, 18px); align-items: center; justify-content: flex-start; gap: 12%;  padding-bottom: 2%; }
.form_label { width: 100px; text-align: left; font-weight: 600; color: #333; }
.input_wrap { position: relative; width: 100%; }
#bo_w .bo_w_info .frm_input { float: left; margin-bottom: 1%; }
#bo_w .half_input { width: calc(80% - 6px); display: inline-block; margin-right: 8px; }
#bo_w .frm_input { width: 100%; padding: 14px 16px; font-size: 16px; border: 1px solid #e2e2ff; border-radius: 10px; background: #f7f7fb; transition: all 0.25s ease; }
.wr_content { width:100%; border: 1px solid #ddd; border-radius: 12px; background: #fafafa; padding: 12px; min-height:288px; }
#bo_w .bo_w_flie .frm_file { padding-left: 50px; margin-top: 3px; }
.bo_w_flie input[type=file] { display: block; width: 100%; padding: 12px; border: 1px dashed #ccc; border-radius: 8px; background: #fafafa; cursor: pointer; font-size:clamp(16px, 1vw, 18px); font-family:"Pretendard Medium"; color:#666; }
#bo_w .bo_w_flie .lb_icon { position: absolute; top: 0px; left: 0px; border-radius: 3px 0 0 3px; height: 38px; line-height: 38px; width: 40px; font-size: 1.2em; text-align: center; color: #b2b2b2; display:none; }
#bo_w .write_div { width: 100%; max-width: 1080px; }
.btn_confirm { margin:24px 0 0 0; display: flex; justify-content: center; gap: 12px; align-items: center; }
.btn_bo_sch{padding:0 20px !important;}
/* 전체 컨테이너 스타일 */
.info-notice-box { max-width: 600px; margin: 30px auto; padding: 25px; border: 2px solid #0448a0; border-radius: 8px; background-color: #f7faff; font-family: 'Malgun Gothic', 'Dotum', sans-serif; color: #333; }
/* 제목 스타일 */
.notice-title { font-size: 20px; font-weight: bold; color: #0448a0; margin-bottom: 15px; text-align: center; }
/* 구분선 스타일 */
.info-notice-box hr { border: 0; height: 1px; background: #ccc; margin: 15px 0; }
/* 섹션 제목 (목적, 항목 등) */
.notice-section h3 { font-size: 16px; color: #212529; margin-top: 15px; margin-bottom: 8px; border-left: 3px solid #0448a0; padding-left: 10px; font-weight: 600; }
/* 리스트 스타일 */
.purpose-list, .item-list { list-style-type: none; padding-left: 0; margin-bottom: 15px; }
.purpose-list li, .item-list li { padding: 5px 0; padding-left: 15px; position: relative; }
/* 리스트 앞 점 스타일 (커스텀) */
.purpose-list li::before, .item-list li::before { content: "•"; color: #0448a0; font-weight: bold; display: inline-block; width: 1em; margin-left: -1em; }
/* 참고 문구 강조 */
.notice-reference { font-size: 14px; color: #6c757d; text-align: center; line-height: 1.4; padding-top: 10px; }
/* 기본 설정 및 컨테이너 */
.tj-privacy-container { font-family:"Pretendard Medium"; line-height: 1.6; color: #333; max-width: 1080px; width: 100%; box-sizing: border-box; margin: 88px auto; padding: clamp(15px, 4vw, 30px); border: 1px solid #ddd; border-radius: 8px; background-color: #fff; }
/* 제목 스타일 */
.tj-privacy-title { font-size: clamp(20px, 4.5vw, 28px); color: #0448a0; border-bottom: 3px solid #0448a0; padding-bottom: 10px; margin-bottom: clamp(15px, 4vw, 20px); word-break: keep-all; }
/* 섹션 제목 스타일 */
.tj-privacy-section-title { font-size: clamp(18px, 3.5vw, 20px); color: #2c3e50; margin-top: clamp(20px, 4vw, 30px); margin-bottom: 15px; border-left: 5px solid #0448a0; padding-left: 10px; word-break: keep-all; }
/* 하위 섹션 제목 스타일 */
.tj-privacy-subsection-title { font-size: clamp(16px, 3vw, 17px); color: #34495e; margin-top: 15px; margin-bottom: 8px; }
/* 리스트, 단락, 테이블 기본 마진 */
.tj-privacy-paragraph, .tj-privacy-list, .tj-privacy-table { margin-bottom: 15px; font-size: clamp(14px, 2.5vw, 16px); }
/* 리스트 스타일 */
.tj-privacy-list { list-style: disc; margin-left: 20px; padding-left: 0; }
.tj-privacy-ordered-list { list-style: decimal; margin-left: 20px; padding-left: 0; }
/* 테이블 컨테이너: 가로 스크롤 가능하게 하여 모바일 깨짐 방지 */
.tj-table-responsive { overflow-x: auto; margin-bottom: 20px; }
/* 테이블 스타일 */
.tj-privacy-table { width: 100%; min-width: 500px; border-collapse: collapse; margin-bottom: 0; font-size: clamp(13px, 2.3vw, 14px); }
.tj-privacy-table th, .tj-privacy-table td { border: 1px solid #ccc; padding: 8px; text-align: left; }
.tj-privacy-table th { background-color: #f8f8f8; font-weight: bold; white-space: nowrap; }
/* 연락처 테이블 특정 컬럼 강조 */
.tj-privacy-contact-info td:first-child { font-weight: bold; width: 30%; min-width: 100px; }
/* 공고일자 스타일 */
.tj-privacy-notice-date { font-size: clamp(12px, 2vw, 14px); color: #777; text-align: right; border-top: 1px solid #eee; padding-top: 10px; margin-top: 20px; }
/* 개인정보 동의 박스 컨테이너 */
.tj-consent-box { font-family: 'Malgun Gothic', 'Dotum', sans-serif; line-height: 1.5; color: #333; max-width: 100%; margin: 20px 0; padding: 15px; border: 2px solid #aaa; border-radius: 6px; background-color: #f7faff; }
/* 제목 */
.tj-consent-title { font-size: clamp(16px, 3.5vw, 18px); color: #666; margin-top: 0; margin-bottom: 10px; border-bottom: 1px solid #cceeff; padding-bottom: 5px; }
/* 설명 문구 */
.tj-consent-intro { font-size: clamp(13px, 2.5vw, 14px); margin-bottom: 15px; }
/* 세로형 테이블 스타일 */
.tj-consent-vertical-table { width: 100%; min-width: 450px; border-collapse: collapse; font-size: clamp(12px, 2.2vw, 13px); }
.tj-consent-vertical-table th, .tj-consent-vertical-table td { border: 1px solid #ddd; padding: 8px 10px; text-align: left; }
.tj-consent-vertical-table thead th { background-color: #007bff; color: #fff; text-align: center; }
.tj-consent-vertical-table th { background-color: #e9f2ff; font-weight: bold; white-space: nowrap; }
/* 유의사항 리스트 */
.tj-consent-notes { list-style: none; padding-left: 24px; margin-top: 10px; margin-bottom: 15px; font-size: clamp(12px, 2.2vw, 13px); color: #555; text-align:left;}
.tj-consent-notes li { margin-bottom: 5px; padding-left: 12px; }
.tj-consent-notes li::before { content: "•"; color: #007bff; font-weight: bold; display: inline-block; width: 15px; }
/* 링크 스타일 */
.tj-consent-link { color: #007bff; text-decoration: underline; }
/* 체크박스 영역 */
.tj-consent-checkbox { margin-top: 15px; padding-top: 10px; border-top: 1px solid #eee; text-align: center; font-size: clamp(14px, 2.8vw, 16px); font-weight: bold; }
.tj-consent-checkbox input[type="checkbox"] { margin-right: 5px; transform: scale(1.2); }
/* ===== 태양광발전시스템 섹션 ===== */
.solar-system{max-width:100%;margin:auto;padding:0; font-family:"Pretendard Medium"; text-align:center;}
.solar-system__title{font-size:28px;font-weight:800;margin:10px 0 12px}
.solar-system__lead{color:#444;margin:24px auto; font-size:clamp(16px, 1vw, 18px); }
.solar-compare {display: grid;grid-template-columns: 1fr 1fr;grid-template-areas:"head-pros head-cons" "list-pros list-cons";border: 1px solid #e9ecef;border-radius: 12px;overflow: hidden;}
.solar-compare__head {background: #f7f7fb;color: #333;font-size: 16px;font-weight: 800;text-align: center;padding: 14px 10px;border-bottom: 1px solid #e9ecef;}
.solar-compare__head--pros {grid-area: head-pros;border-right: 1px solid #e9ecef;}
.solar-compare__head--cons {grid-area: head-cons;}
.solar-compare__list {list-style: none;margin: 0;padding: 0;background: #fff;}
.solar-compare__list li {padding: 12px 16px;border-bottom: 1px solid #f3f5f7;color: #555;font-size: 16px;}
.solar-compare__list--pros {grid-area: list-pros;border-right: 1px solid #e9ecef;}
.solar-compare__list--cons {grid-area: list-cons;}
.group-wrap { border:1px solid #E8F0FF; border-radius:10px; margin:12px 0; overflow:hidden; }
.group-head { display:flex; align-items:center; gap:1%; width:100%; padding:24px 32px; cursor:pointer; background:#f7f7f8; border:0; font-size:clamp(16px, 1.2vw, 18px); color:#666; font-family:"Pretendard Medium";}
.group-head:hover{background-color:#E8F0FF;}
.group-head .arrow { transition:transform .2s ease; }
.group-head[aria-expanded="true"] .arrow { transform:rotate(90deg); }
.group-body { display:none; padding:0 0 8px 0; background:#fff; }
.group-body table { width:100%; border-collapse:collapse; }
.group-body th, .group-body td { border:1px solid #e5e7eb; padding:18px 28px; text-align:center; font-size:clamp(16px, 1vw, 18px); }
.group-body th { background:#3aaacf; color:#fff;}
.toolbar { display:flex; gap:8px; margin:24px 0 14px 0; }
.btn { padding:6px 28px; border:1px solid #d1d5db; background:#fff; border-radius:8px; cursor:pointer; font-size:clamp(16px, 1vw, 18px); font-family:"Pretendard Medium"; color:#666;}
.btn:hover { background:#3aaacf; color:#fff;}
#btnExpandAll{background:#3aaacf; color:#fff;}
.empty { padding:10px; color:#6b7280; font-size:14px; }
/* 하단 설명 */
.solar-fields{margin-top:24px}
.solar-fields__title{position:relative;font-size:20px;font-weight:800;margin:18px 0 6px;padding-left:14px; text-align:left; padding: 2px 0 0 24px;}
.solar-fields__title::before{content:"";position:absolute;left:0;top:.35em;width:6px;height:1.2em;background:var(--brand, #3aaacf);border-radius:3px}
.solar-fields__desc{color:#555;margin:0}

/* =============================== 공통(테마 변수) ================================ */
:root{--hv-accent:#2F6CDF;--hv-accent-weak:#E8F0FF;--hv-line:#D9E4FF;--hv-text:#333;--hv-muted:#6b7280;--hv-card-bg:#fff;--hv-radius:12px;--hv-shadow:0 6px 16px rgba(31,41,55,.06);}
/* =============================== 탭 헤더 ================================ */
.hv-tabs{margin-top:8px}
.hv-tab-heads{display:flex; gap:24px; justify-content: center; position:sticky; top:0; background:#fff; z-index:5;}
.hv-tab-btn{font-family: "Pretendard Medium";font-size: 20px;cursor: pointer;color: #999;transition: color 0.3s, border-color 0.3s;border-bottom: 3px solid transparent;padding-bottom: 6px;}
.hv-tab-btn.active, .hv-tab-btn:hover {color: #222;border-color: #ffc107;}
.hv-tab-content{display:none; padding-top:18px}
.hv-tab-content.active{display:block}
/* =============================== 섹션 공통 헤더 ================================ */
.hv-section{margin:22px 0 34px}
.hv-section__head {display: flex;align-items: center;gap: 10px;font-size: clamp(16px, 2.8vw, 18px);margin: 0 0 14px;font-family: "Pretendard Medium";}
.hv-wrap {max-width:1100px; margin:0 auto; padding:28px 16px 80px; color:#333;}
.hv-title {font-size:clamp(24px,3.5vw,36px); font-weight:900; text-align:center; margin:8px 0 10px;}
.hv-lead {text-align:center; color:var(--hv-sub); margin-bottom:28px; font-size:clamp(14px,2.4vw,16px);}
.hv-card.hv-spec {width:100%; overflow-x:auto; border:1px solid var(--hv-line,#ddd); border-radius:8px; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,0.05);}
.hv-section {margin:28px 0 40px;}
.hv-section__head {display:flex; align-items:center; gap:10px; font-size:clamp(18px,1.6vw,24px); margin:0 0 14px; font-family:"Pretendard Medium";}
.hv-section__head::before {content:""; width:6px; height:20px; border-radius:4px; background:var(--hv-brand);}
.hv-card {border:1px solid var(--hv-line); background:var(--hv-card); border-radius:var(--hv-radius); box-shadow:var(--hv-shadow);}
.hv-tabs {width:100%; max-width:1200px; margin:0 auto; text-align:center; padding:40px 0;font-family:"Pretendard Medium";}
.hv-tab-heads {display:flex; justify-content:center; gap:36px; margin-bottom:24px; flex-wrap:wrap;}
.hv-text-box {padding:16px; text-align:left;}
.hv-card.hv-spec {width:100%; overflow-x:auto; border:1px solid var(--hv-line,#ddd); border-radius:8px; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,0.05);}
.hv-photo-box {display:grid; grid-template-columns:1fr; gap:14px; padding:16px;}
.hv-photo {border-radius:12px; overflow:hidden; display:flex; align-items:center; justify-content:center;}
.hv-photo img {width:100%; height:100%; object-fit:cover;}
.hv-purpose {padding:18px; text-align:left;}
.hv-purpose p {margin:0;}
.hv-drawing {padding:16px;}
.hv-drawing .hv-photo {}
.hv-spec {padding:0;}
.hv-spec table {width:100%; border-collapse:separate; border-spacing:0; min-width:600px;}
.hv-spec thead th {background:#f7fbff; color:#0b4a66; font-weight:800; border-bottom:1px solid var(--hv-line); padding:14px 12px; text-align:center;}
.hv-spec tbody td, .hv-spec tbody th {border-bottom:1px solid var(--hv-line); padding:12px; font-size:clamp(16px,1vw,18px); vertical-align:top; text-align:center;}
.hv-spec tbody th {background:#fcfcfd; font-weight:700; width:38%;}
.hv-note {font-size:13px; color:var(--hv-sub); margin:8px 0 0;}
.hv-cert {padding:16px;}
.hv-cert-grid {display:grid; grid-template-columns:1fr; gap:14px; margin-top:6px;}
.hv-cert-item {border:1px solid var(--hv-line); border-radius:12px; background:#fff; overflow:hidden;}
.hv-cert-img {background:#f1f5f9; display:flex; align-items:center; justify-content:center;}
.hv-cert-img img {width:100%; height:100%; object-fit:cover;}
.hv-cert-body {padding:12px;}
.hv-cert-name {font-weight:700; margin:0 0 4px; padding:0 !important;}
.hv-cert-meta {font-size:13px; color:var(--hv-sub); margin:0; padding:0 !important;}
.strong { margin-right: 12px; font-weight: 700; color:#333;}
.hv-tab-btn.active, .hv-tab-btn:hover {color:#222; border-color:#FF8C42;}
.hv-tab-content { visibility: hidden; opacity: 0; transform: translateY(10px);transition: all 0.4s ease; height: 0; overflow: hidden;}
.hv-tab-content.active { visibility: visible; opacity: 1; transform: translateY(0); height: auto; overflow: visible;}
.hv-tab-content img {width:100%; max-width:600px; border-radius:10px; margin-bottom:20px;}
.hv-tab-content p {font-size:clamp(14px,0.9vw,18px); color:#444; line-height:1.7; padding:12px;}
.hv-photo-box{display:grid; grid-template-columns:360px 1fr; gap:28px}
.hv-photo img{width:100%; height:auto; border-radius:10px; display:block; border:1px solid #e5e7eb;}
.hv-purpose{color:var(--hv-text); line-height:1.75}
.hv-purpose p{margin:0}
.hv-purpose strong{font-size:15px; color:#2f3c56}
.hv-drawing .hv-photo{display:flex; justify-content:center}
.hv-drawing img{max-width:900px; width:100%; border-radius:10px;}
.hv-spec thead th {background: #f7fbff !important;color: #0b4a66;font-weight: 800;border-bottom: 1px solid var(--hv-line);padding: 14px 12px;text-align: center;}
.hv-spec table {width: 100%;border-collapse: separate;border-spacing: 0;min-width: 600px;}
.accordion{margin-top:36px}
.accordion-btn{width:100%; text-align:left; background:#fff; color:#2b3445; border:1px solid var(--hv-line); border-radius:10px; padding:18px 28px; font-weight:700; box-shadow:var(--hv-shadow); cursor:pointer; font-size:clamp(16px, 1vw, 20px);}
.accordion-btn.active{background:var(--hv-accent-weak)}
/* 수정된 부분: 아래 속성들이 불완전하게 종료된 상태였습니다. */
.accordion-content{max-height:0; overflow:hidden; transition:max-height .3s ease; border:1px solid var(--hv-line); border-top:none; border-radius:10px;}
#bo_v_title{width:100%; max-width:1080px; margin:0 auto; text-align:center; font-family:"Pretendard Medium"; font-size:clamp(18px, 1vw, 20px); color:#373737;}
#bo_v_info .profile_info .pf_img {display:none;}
#bo_v_info .profile_info {width:100%; max-width:1080px; display: flex;    text-align:center;font-family:"Pretendard Medium"; font-size:clamp(14px, 1vw, 16px); color:#676767;}
#bo_v_info .profile_info .profile_info_ct  {width:100%; max-width:1080px; margin:0 auto; text-align:center;font-family:"Pretendard Medium"; font-size:clamp(14px, 1vw, 18px); color:#676767;}
#bo_v_info {    display: flex;   align-items: center;    justify-content: space-between; /* 양 끝 정렬 */    width: 100%; /* 너비 확보 */}
.profile_info {   display: flex;     align-items: center;     gap: 10px;}
.profile_info_ct {   display: flex;     align-items: center;  gap: 8px;   white-space: nowrap;}
#bo_v_top {    display: flex;    justify-content: flex-end;     align-items: center;}
.btn_bo_user.bo_v_com {     display: flex;     list-style: none;     padding: 0;     margin: 0; }
.btn_bo_user.bo_v_com li {     margin-left: 5px; }
#bo_v_con{font-family:"Pretendard Medium"; font-size:clamp(14px, 1vw, 18px); color:#676767;}
.bo_v_nb{font-family:"Pretendard Medium"; font-size:clamp(14px, 1vw, 18px); color:#676767;}

.wr_content textarea#wr_content {
    width: 100% !important;    /* 인라인 스타일 덮어쓰기 */
    min-height: 260px;         /* 최소 높이 설정 */
    padding: 15px;             /* 안쪽 여백 */
    line-height: 1.6;          /* 줄 간격 (가독성) */
    border: 1px solid #ddd;    /* 테두리 색상 */
    border-radius: 5px;        /* 모서리 곡률 */
    background-color: #fff; /* 배경색 */
    font-size: 14px;           /* 글자 크기 */
    color: #333;               /* 글자 색상 */
    outline: none;             /* 기본 아웃라인 제거 */
    resize: vertical;          /* 사용자가 세로로만 크기 조절 가능하게 */
    box-sizing: border-box;    /* 패딩 포함 크기 계산 */
    transition: all 0.3s ease; /* 부드러운 상태 변화 */
}

/* 입력창 클릭(포커스) 시 스타일 */
.wr_content textarea#wr_content:focus {
    background-color: #fff;
    border-color: #3498db;     /* 테두리 강조색 */
    box-shadow: 0 0 8px rgba(52, 152, 219, 0.2); /* 은은한 그림자 효과 */
}


/* 반응형 */
@media(max-width:768px){
	.solar-grid {grid-template-columns:1fr;}.solar-card__body {grid-template-columns:1fr;}
	}
@media (max-width: 768px) {
	.solar-compare {grid-template-columns: 1fr;grid-template-areas: "head-pros" "list-pros" "head-cons" "list-cons";}.solar-compare__head--pros {border-right: none;}
	.solar-compare__list--pros {border-right: none;border-bottom: 1px solid #e9ecef;}
	.metal-gallery {grid-template-columns: repeat(2, 1fr); grid-gap: 10px; }
}
@media (max-width: 768px) {.sub-page_bg {margin: 40px auto;}.sub-page_bg .piimg1 {float: none;width: 100%;margin: 0 0 20px;}.sub-page_bg .pi-title {font-size: 26px;}}