﻿/* custom */
:root {
    --color:#002b8d;
}
.cp { color:var(--color); }
.cb { color:#fff; background:var(--color); }

/* header & footer */
#w_header { background: #fff; height: 80px; border-bottom:1px solid #ddd; position: fixed; left: 0; top: 0; width: 100%; transition:0.3s; overflow: hidden; z-index:99; }
#w_header.fix { background: #fff; border-bottom:1px solid #ddd; }
#w_header.down { height: 300px; background: #fff; border-bottom:1px solid #ddd; }
#w_header.up { top:-81px; }
#w_header h1 a { line-height:80px; white-space: nowrap;}
#w_header nav { gap:80px; }
#w_header #w_gnb { gap:90px; }
#w_header #w_gnb > li { position: relative; }
#w_header #w_gnb ul { position: absolute; color:#666; top:50px; line-height: 2;}
#w_header .inq { width: 156px; height: 40px; border-radius: 100px; border:1px solid var(--color); }  
.blank { height: 80px; }

#nav_btn { display: none; }

#w_footer { background: #131313; padding:60px 0; color:#ccc; }
#w_footer strong { font-weight: bold; }
#w_footer address span { margin-right: 40px; }
#w_footer ul { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 160px; display: flex; flex-direction: column; gap:20px; }
#w_footer ul li a { display: block; line-height:44px; border:1px solid #ccc; text-align: center; font-size:14px; background: rgba(255,255,255,0.1); }

/* index */
#hero { height: 100vh; }
#hero .wrap { position: absolute; color:#fff; display: flex; flex-direction: column; height: 100%; justify-content: center; align-items: start; }
#hero em { line-height:44px; padding:0 44px; font-weight: 600; }
#hero h2 b { font-family: ptb; }
#hero .swiper-slide:before { content:""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: linear-gradient(90deg,rgba(0, 43, 141, 0.79) 0%, rgba(0, 43, 141, 0) 70%); }

#hero .page { position: absolute; left: calc(50% - 700px); bottom: 200px; font-size:22px; gap:20px; }
#hero .page .btn { position: static; height:auto; color:#fff; width:auto; margin:0; font-size:24px;  }
#hero .page .btn:after { display: none; }
#hero .page .swiper-pagination { position:static; }
#hero .page .swiper-pagination span { width: 30px; font-weight: 500; }
#hero .page .swiper-pagination span:nth-child(2) { font-size:15px; font-weight: normal; position: relative; top: -1px; width: 20px; }

#about { align-items: stretch; }
#about article { width: 50%; padding:200px 0; }
#about article div { width: 700px; margin-left: auto; }
#about article div strong { font-weight: 800; margin-top: 6px; display: block; }
#about article div a { display: inline-flex; gap:20px; border:1px solid #666; color:#666; height: 40px; padding:0 14px; }
#about figure { width: 50%; margin:0; background: url(/images/bg_about.png) no-repeat center/cover; }

#stats { padding:80px 0; background:url(/images/bg_stats.png) no-repeat center/cover; }
#stats ul li { flex:1; text-align: center; border-right:1px solid #fff; padding:14px 0; box-sizing: border-box; } 
#stats ul li:last-child { border:none; } 
#stats ul li p { font-size:26px; }
#stats ul li strong { font-size:64px; font-weight: bold; }

#prd { padding:100px 0; }
#prd article { position: absolute; left: 0; top: 0; padding-top: 30px; }
#prd .prd { width: 1200px; margin-left: 500px; }
#prd .prd li { flex-direction: column; justify-content: start; align-items: start; }
#prd .prd li figure { width: 100%; }
#prd .prd li h3 { margin-top: 20px; margin-bottom: 10px; }
#prd .page { justify-content: start; gap:30px; } 
#prd .page div { position: static; justify-content: center; width: 60px; height: 60px; border:3px solid var(--color); box-sizing: border-box; border-radius: 60px; display: flex; align-items: center; margin-top: 0; }
#prd .page div:after { font-size:26px; font-weight: bold; color:var(--color); }
#prd .more { display: flex; gap:20px; height: 40px; padding:0 14px; margin:50px auto 0; width: 160px; box-sizing: border-box; }

#tech { background:url(/images/bg_tech.png) no-repeat center/cover; padding:100px 0; }
#tech .more { display:inline-flex; gap:20px; height: 40px; padding:0 14px; border:1px solid #fff; }
#tech ul li { width: 710px; height: 130px; border:1px solid #fff; margin-top: 20px; justify-content: start; box-sizing: border-box; transition:0.3s; }
#tech ul li:first-child { margin-top: 0; }
#tech ul li figure { width: 110px; margin:0; filter: brightness(0) invert(1); transition:0.3s; }
#tech ul li dd { margin-top: 10px; }
#tech ul li.on { background: #fff; color:var(--color); }
#tech ul li.on figure { filter:none; }

#news { padding:100px 0; }
#news ul { width: 1000px; gap:20px; justify-content: start; }
#news ul li { width: 320px; }
#news ul li div { background: #eff3f6; padding:20px; }
#news ul li div p { font-size:16px; line-height:1.6; min-height: 52px; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; word-break:break-all; -webkit-line-clamp:2; line-clamp:2; }
#news ul li div span { display: flex; font-size:14px; margin-top: 6px; justify-content: end; align-items: center; color:#888; }
#news ul li div span i { margin-right: 6px; }
#news .more { position: absolute; left: 0; bottom: 0; display:inline-flex; gap:20px; height: 40px; padding:0 14px; border:1px solid #666; color:#666; }

#contact { align-items: stretch; background: #f6f6f6 url(/images/bg_customer.png) no-repeat right bottom;  }
#contact article { width: 42%; background:url(/images/bg_contact.png) no-repeat center/cover; }
#contact article h2 { font-weight: bold; }
#contact article ul { margin-top: 40px; }
#contact form { width: 58%; padding:80px 0 80px 80px; box-sizing: border-box; color:#666; }
#contact form div { width: 730px; }
#contact form ul li { margin-bottom: 25px; }
#contact form ul input { width: 100%; padding:0 20px; box-sizing: border-box; height: 60px; border:1px solid #ccc; background: #f6f6f6; color:#666; }
#contact form .tel input { width: 30%; }
#contact form label { display: flex; align-items: center; justify-content: start; }
#contact form label input { width: 20px; height: 20px; display: inline-block; margin-right: 10px;  }
#contact form button { width: 100%; height: 60px; border:none; cursor: pointer; }

/* sub pages common */
.sv { height:300px; display:flex; position:relative; }
.sv .wrap { color:#fff; flex-direction:column; gap:12px; z-index:1; text-align: center; }
.sv p { font-size:24px; font-family:'Montserrat',sans-serif;}
.sv h2 { font-size:5rem; font-family:ptsb; margin-top: 10px; }

#sv1 { background:url(/images/bg_sub1.png) no-repeat center/cover;  }
#sv2 { background:url(/images/bg_sub2.png) no-repeat center/cover;  }
#sv3 { background:url(/images/bg_sub3.png) no-repeat center/cover;  }
#sv4 { background:url(/images/bg_sub4.png) no-repeat center/cover;  }
#sv5 { background:url(/images/bg_sub5.png) no-repeat center/cover;  }

#sub_nav { border-bottom:1px solid #ddd; }
#sub_nav .wrap { height:60px; display:flex; align-items:center; }
#sub_nav .cate { display:flex; align-items:center; }
#sub_nav .cate > li { display:flex; align-items:center; gap:6px; padding:0 20px; font-size:1.6rem; color:#5d5d5d; border-right:1px solid #dbdbdb; position: relative;  }
#sub_nav .cate > li:first-child { border-left:none; padding:0; width: 60px; height: 60px;  text-align: center; border-left:1px solid #ddd; border-right:1px solid #ddd; align-items: center; justify-content: center;  }
#sub_nav .cate > li:last-child { color:var(--color); font-family:ptb; border-right:none; cursor: pointer; }
#sub_nav .cate ul { position: absolute; left: 0; top: 40px; background: #fff; border:1px solid #ddd; border-top:none;  padding: 20px; z-index: 9; color:#666; font:16px/2 ptm; display: none; }

/* sub1 - 회사소개 */
#s_intro .cont1 { margin-top: 70px;  }
#s_intro .wrap { display:flex; align-items:center; min-height:420px; background:var(--color) url(/images/about.png) no-repeat right center/cover; padding-left: 60px; box-sizing: border-box; }
#s_intro article { color:#fff; display:flex; flex-direction:column; }
#s_intro article p:first-child { font-size:4rem; margin-bottom: 10px; }
#s_intro article h2 { font-size:4rem; font-family:'Montserrat',sans-serif; font-weight:800; letter-spacing:-1px; text-transform:uppercase; margin-bottom: 30px; }
#s_intro article p:last-child { font-size:1.8rem; line-height:1.8; }
#s_intro article strong { font-family:ptb; }
#s_value { padding:100px 0; }
#s_value h2 { font-size:4rem; font-family:ptb; }
#s_value ul { display:flex; margin-top:60px; }
#s_value ul li { flex:1; display:flex; flex-direction:column; align-items:center; gap:20px; padding:50px 20px; position: relative; }
#s_value ul li:after { content:""; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 100px; background: #ddd; }
#s_value ul li:last-child:after { display: none; }
#s_value ul li figure { width:60px; height:60px; display: flex; align-items: center; justify-content: center; }
#s_value ul li strong { font-size:2rem; font-family:ptb; color:var(--color); }
#s_value ul li p { font-size:1.6rem; line-height:1.4; }

#s_field { padding:80px 0 110px; background:#f5f5f5; }
#s_field figure { overflow:hidden; position: absolute; left: -280px; bottom: -50px; margin:0; }
#s_field figure img { width:100%; height:100%; }
#s_field article { width:50%; display:flex; flex-direction:column; gap:24px; margin-left: auto;}
#s_field article em { font-size:4rem; font-family:'Montserrat',sans-serif; font-weight:800; color:var(--color); }
#s_field article h2 { font-size:3.6rem; font-family:ptm; line-height:1.4; }
#s_field article h2 b { font-family:ptb; }
#s_field article p { font-size:1.8rem; line-height:1.8; color:#444; }

#s_ceo { padding:100px 0; margin-top: 160px; background: #f5f5f5;}
#s_ceo .wrap { gap:60px; align-items:stretch; }
#s_ceo aside { width:300px; aspect-ratio: 1 / 1; flex-shrink:0; background:var(--color); color:#fff; display:flex; align-items:end; justify-content:start; padding:40px; box-sizing:border-box; position: absolute; left: 0; top: -160px; }
#s_ceo aside p { font-size:4rem; text-transform:uppercase; line-height:1.5; }
#s_ceo article { flex:1; display:flex; flex-direction:column; justify-content:center; gap:24px; padding-left: 400px; }
#s_ceo article h2 { font-size:2.8rem; font-family:ptsb; color:#333; line-height:1.5; }
#s_ceo article p { font-size:1.8rem; line-height:2.1; color:#333; }
#s_ceo article address { display:flex; gap:20px; align-items:center; font-size:1.8rem; margin-top:10px; }
#s_ceo article address strong { font-family:ptb; color:var(--color); }

#s_outro { padding:120px 0; background:url(/images/flow.png) no-repeat center/cover; }
#s_outro .wrap { gap:40px; color:#fff; }
#s_outro h2 { font-size:4rem; line-height:1.6; font-family: ptl; }
#s_outro h2 strong { font-family:ptb; }
#s_outro a { font-size:1.8rem; font-family:ptb; color:var(--color); background:#fff; border-radius:100px; padding:0 36px; height:50px; gap:8px; }





/* 공통 섹션 헤드 */
.sec_head { padding-bottom: 60px; }
.sec_head h2 { font-size: 4rem; font-family: ptb; margin-bottom: 20px; }
.sec_head p { font-size: 1.8rem; color: #666; line-height: 1.8; }

/* sub1_2 - 조직도 */
#s_org { padding: 100px 0; }
.org_chart { margin-top: 60px; }

.org_top { position: relative; display: flex; justify-content: center; padding-bottom: 40px; }
.org_top::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 1px; height: 40px; background: #c8d4e8; }
.org_ceo { background: var(--color); color: #fff; border-radius: 100px; padding: 16px 60px; font-size: 1.8rem; font-family: ptb; display: inline-flex; align-items: center; }

.org_deps { display: flex; position: relative; }
.org_deps::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; background: #c8d4e8; }
.org_deps li { flex: 1; display: flex; flex-direction: column; align-items: center; position: relative; }
.org_deps li::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 1px; height: 40px; background: #c8d4e8; }
.org_deps li strong { margin-top: 40px; background: #dce8ff; color: var(--color); border-radius: 100px; padding: 16px 0; font-size: 1.7rem; font-family: ptm; white-space: nowrap; position: relative; display: inline-flex; align-items: center; width: 220px; justify-content: center; }
.org_deps li strong::after { content: ''; position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%); width: 1px; height: 20px; background: #c8d4e8; }
.org_deps li span { border: 1px solid #ddd; padding: 14px 10px; font-size: 1.5rem; color: #555; text-align: center; width: 220px; box-sizing: border-box; margin-top: 20px; line-height: 1.6; border-radius: 10px; }
.org_deps li span br { display: none; }

#s_system { padding: 80px 0; }
#s_system .wrap { display: flex; align-items: stretch; gap: 0; }
.sys_txt { background: var(--color); color: #fff; padding: 60px 50px; width: 50%; display: flex; flex-direction: column; justify-content: center; gap: 24px; box-sizing: border-box; }
.sys_txt h3 { font-size: 3rem; font-family: ptb; }
.sys_txt p { font-size: 1.7rem; line-height: 1.9; }
#s_system figure { width: 50%; margin: 0; overflow: hidden; min-height: 300px; }
#s_system figure img { width: 100%; height: 100%; object-fit: cover; display: block; }


/* sub1_3 - 연혁 */
#s_history { padding: 100px 0; }
#s_history > .wrap:first-child { margin-bottom: 70px; }

.history_list { display: flex; flex-direction: column; gap: 100px; }
.history_list > li { display: flex; align-items: flex-start; justify-content: space-between;}

.h_year { width: 220px; height: 220px; flex-shrink: 0; background: var(--color); color: #fff; display: flex; align-items: end; justify-content: start;  font-size: 3.4rem; font-family: ptb; line-height: 1.5; padding:24px; box-sizing: border-box; }

.h_items { width: 1080px; }
.h_items li { border-top: 1px solid #ddd; padding: 26px 0 26px 28px; font-size: 1.8rem; color: #333; position: relative; line-height: 1.6; }
.h_items li:last-child { border-bottom: 1px solid #ddd; }
.h_items li::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 8px; height: 8px; background: var(--color); border-radius: 50%; }


/* sub1_4 - 인증서 */
#s_cert { padding: 100px 0; background: #f5f7fa; }
#s_cert > .wrap:first-child { margin-bottom: 60px; }

.cert_list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }

.cert_list li { background: #fff; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.10); overflow: hidden; transition: box-shadow 0.3s, transform 0.3s; }
.cert_list li:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.16); transform: translateY(-4px); }

.cert_list figure { margin: 0; overflow: hidden; cursor: pointer; padding:20px; box-sizing: border-box ;}
.cert_list figure img { width: 100%; }

.cert_info { padding:0 20px 20px; text-align: center; }
.cert_info strong { display: block; font-size: 1.55rem; font-family: ptm; color: #222; line-height: 1.5; margin-bottom: 8px; }
.cert_info span { display: block; font-size: 1.45rem; color: var(--color); font-family: ptm; margin-bottom: 12px; }
.cert_info button { background: none; border: none; cursor: pointer; color: var(--color); font-size: 2rem; display: flex; align-items: center; justify-content: center; margin: 0 auto; transition: opacity 0.2s; }
.cert_info button:hover { opacity: 0.7; }

/* 라이트박스 */
#cert_modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.75); z-index: 999; align-items: center; justify-content: center; }
#cert_modal.on { display: flex; }
.cert_modal_box { position: relative; max-width: 560px; width: 90%; }
.cert_modal_close { position: absolute; top: -44px; right: 0; width: 40px; height: 40px; background: none; border: none; color: #fff; font-size: 2.4rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#cert_modal_img { width: 100%; display: block; border-radius: 4px; }

/* sub1_5 - 찾아오시는 길 */
#s_location { padding: 100px 0 0; }
#s_location > .wrap:first-child { margin-bottom: 60px; }

.loc_info { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #ddd; margin-bottom: 0; }
.loc_info li { display: flex; align-items: center; gap: 30px; padding: 26px 0; border-bottom: 1px solid #eee; }
.loc_info strong { font-size: 1.8rem; font-family: ptb; color: var(--color); min-width: 80px; letter-spacing: 0.05em; }
.loc_info span { font-size: 1.8rem; color: #333; font-family: ptm; }

.loc_map { margin: 0; overflow: hidden; }
.loc_map .loc_map { width: 100%; }
.loc_map .cont { display: none; }

#s_cta { padding: 0; margin-top: 100px; margin-bottom: 100px; }
#s_cta .wrap { background: url('/images/cta_bg.png') center/cover no-repeat;  padding: 44px 56px; box-sizing: border-box; }
#s_cta p { font-size: 2.2rem; color: #fff; font-family: ptm; line-height: 1.5; }
#s_cta p strong { font-family: ptb; color: #fff; }
.cta_btn { display: inline-flex; align-items: center; gap: 6px; padding: 12px 20px 12px 28px; background: #fff; border-radius: 40px; color: #002b8d; font-size: 1.6rem; font-family: ptm; white-space: nowrap; transition: background 0.2s; }

/* 카카오맵 너비 100% */
.loc_map .root_daum_roughmap { width: 100% !important; }
.loc_map .root_daum_roughmap iframe { width: 100% !important; }





/* sub2 - 제품소개 */
.prd_tab_list { height: 80px; border-radius: 10px; overflow: hidden; }
.prd_tab_list li { width: 50%; }
.prd_tab_list li a { display: flex; align-items: center; justify-content: center; height: 80px; font-size: 1.8rem; font-family: 'Montserrat', sans-serif; font-weight: 700; color: #c1c1c1; background: #e9e9e9; transition: 0.3s; }
.prd_tab_list li.on a { color: #fff; background: var(--color); }

.prd_head { padding: 80px 0 50px; }

.prd_list { display: flex; flex-direction: column; padding-bottom: 100px; }

.prd_item { display: flex; align-items: center; gap: 0; padding: 50px 30px; border-bottom: 1px solid #e0e0e0; border-radius: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.1); margin-top: 100px; position: relative; }
.prd_item:last-child { border-bottom: none; }

.prd_img_wrap { display: flex; gap: 16px; flex-shrink: 0; width: 680px; align-items: center; }

.prd_main_img { margin: 0; width: 480px; height: 380px; background: #f7f7f7; border-radius: 11px; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.prd_main_img img { max-width: 80%; max-height: 80%; object-fit: cover; }

.prd_thumb_list { display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.prd_thumb_list figure { margin: 0; width: 160px; height: 120px; background: #f7f7f7; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.prd_thumb_list figure img { max-width: 80%; max-height: 80%; object-fit: cover; }
.prd_thumb_list figure.full img { width: 100%; height: 100%; max-width:100%; max-height:100%; }

.prd_info { flex: 1; padding-left: 30px; }
.prd_info h3 { font-size: 3.4rem; font-family: 'Montserrat', sans-serif; font-weight: 700; color: var(--color); margin-bottom: 24px; }
.prd_info > p { font-size: 1.7rem; color: #333; line-height: 2; margin-bottom: 30px; }

.prd_features li { display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #e0e0e0; padding: 16px 0; font-size: 1.6rem; color: #333;  }
.prd_features li::before { content: ''; width: 13px; height: 13px; border-radius: 50%; background: var(--color); flex-shrink: 0; }

.prd_more { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 2px solid #002b8d; border-radius: 8px; color: #002b8d; font-size: 2rem; margin-top: 24px; transition: 0.3s; position: absolute; right: 30px; top: 40px; font-size:24px; cursor: pointer; background: none; }
.prd_more:hover { border-color: var(--color); color: var(--color); background: var(--color); color: #fff; }

/* 제품 모달 → css/prd_modal.css 참고 */

/* sub3 - 실적현황 */
#s_clients { padding: 80px 0 120px; }

.clients_list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.clients_list li { border: 1px solid #e0e0e0; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 36px 20px 24px; gap: 20px; transition: box-shadow 0.2s; }
.clients_list li:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.clients_list figure { margin: 0; height: 60px; display: flex; align-items: center; justify-content: center; }
.clients_list figure img { max-width: 180px; max-height: 60px; object-fit: contain; }
.clients_list span { font-size: 2rem; color: #555; font-family: ptm; text-align: center; }

/* sub3_2 - 납품실적 */
#s_records { padding: 80px 0 120px; }

.year_filter { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 40px; }
.year_filter button { height: 48px; border: none; border-radius: 6px; background: #ebebeb; color: #555; font-size: 2.2rem; font-family: ptm; cursor: pointer; transition: background 0.2s, color 0.2s; }
.year_filter button.on { background: var(--color); color: #fff; }
.year_filter button:hover:not(.on) { background: #d8d8d8; }

.records_header { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid #ddd; margin-bottom: 0; }
.records_label { font-size: 2rem; font-family: ptb; color: #222; }

.search_box { display: flex; align-items: center; gap: 8px; }
.search_box select { height: 40px; padding: 0 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 1.5rem; font-family: ptm; color: #333; background: #fff; cursor: pointer; }
.search_box input { height: 40px; padding: 0 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 1.5rem; font-family: ptm; color: #333; width: 220px; outline: none; }
.search_box input:focus { border-color: var(--color); }
.search_box button { width: 40px; height: 40px; border: none; background: none; color: #888; font-size: 1.8rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: color 0.2s; }
.search_box button:hover { color: var(--color); }

.table_scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table_scroll::-webkit-scrollbar { height: 4px; }
.table_scroll::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }
.records_table { width: 100%; min-width: 700px; border-collapse: collapse; border-top:2px solid #222; table-layout: fixed; }
.records_table th:nth-child(1) { width: 8%; }
.records_table th:nth-child(2) { width: 10%; }
.records_table th:nth-child(3) { width: 16%; }
.records_table th:nth-child(4) { width: 34%; }
.records_table th:nth-child(5) { width: 24%; }
.records_table th:nth-child(6) { width: 8%; }
.records_table thead th { padding: 16px 10px; font-size: 1.8rem; font-family: ptb; color: #555; border-bottom: 1px solid #ddd; text-align: center; background: #fafafa; }
.records_table tbody tr { border-bottom: 1px solid #eee; transition: background 0.15s; }
.records_table tbody tr:hover { background: #f5f8ff; }
.records_table tbody td { padding: 16px 10px; font-size: 1.8rem; color: #333; text-align: center; }
.records_table tbody td:nth-child(4) { text-align: left; }
.records_empty { color: #999; padding: 60px 0 !important; font-size: 1.6rem !important; }

.year_badge { display: inline-block; color: var(--color); background: #f0f5ff; font-size: 1.3rem; font-family: ptm; padding: 3px 10px; border-radius: 100px; }

.records_pager { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 40px; }
.pg_btn { min-width: 38px; height: 38px; padding: 0 6px; border: 1px solid #ddd; border-radius: 6px; background: #fff; color: #555; font-size: 1.5rem; font-family: ptm; cursor: pointer; transition: all 0.2s; }
.pg_btn.on { background: var(--color); color: #fff; border-color: var(--color); }
.pg_btn:hover:not(.on):not(:disabled) { border-color: var(--color); color: var(--color); }
.pg_btn:disabled { opacity: 0.35; cursor: default; }
.pg_prev, .pg_next { font-size: 1.8rem; }


/* sub4_1 - 공지사항 */
#s_notice { padding: 80px 0 120px; }
.notice_head { margin-bottom: 60px; }
.notice_head h2 { font-size: 4rem; font-family: ptb; }

.notice_filter { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; }
.notice_total { font-size: 2rem; font-family: ptb; color: #333; }
.notice_search { display: flex; align-items: center; gap: 10px; }
.notice_search select { height: 44px; padding: 0 36px 0 16px; border: 1px solid #ccc; font-size: 1.6rem; color: #333; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23555' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center; appearance: none; cursor: pointer; outline: none; }
.notice_search_wrap { display: flex; align-items: center; border: 1px solid #ccc; height: 44px; background: #fff; }
.notice_search_wrap input { border: none; height: 100%; padding: 0 16px; font-size: 1.6rem; color: #333; width: 240px; outline: none; background: transparent; }
.notice_search_wrap input::placeholder { color: #aaa; }
.notice_search_wrap button { width: 44px; height: 44px; border: none; background: none; cursor: pointer; font-size: 1.8rem; color: #555; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.notice_table { width: 100%; border-collapse: collapse; }
.notice_table thead tr { border-top: 1px solid #333; border-bottom: 1px solid #333; }
.notice_table thead th { padding: 18px 20px; font-size: 1.6rem; font-family: ptm; color: #333; text-align: center; }
.notice_table tbody tr { border-bottom: 1px solid #ddd; }
.notice_table tbody tr:hover { background: #f9f9f9; }
.notice_table tbody td { padding: 24px 20px; font-size: 1.7rem; color: #555; text-align: center; }
.notice_table tbody .notice_title { text-align: left; }
.notice_table tbody .notice_title a { color: #333; transition: color 0.2s; }
.notice_table tbody .notice_title a:hover { color: var(--color); }

/* sub4_1 - 페이지네이션 */
.notice_paging { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 50px; }
.notice_paging .paging_num { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: #555; border: 1px solid #ddd; border-radius: 4px; transition: 0.2s; }
.notice_paging .paging_num:hover,
.notice_paging .paging_num.on { background: var(--color); color: #fff; border-color: var(--color); }
.notice_paging .paging_btn { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; color: #555; border: 1px solid #ddd; border-radius: 4px; transition: 0.2s; }
.notice_paging .paging_btn:hover { background: #f0f0f0; }
.notice_paging .paging_btn.disabled { color: #ccc; pointer-events: none; }

/* sub4_2 - 자주 묻는 질문 */
#s_faq { padding: 80px 0 120px; }

.faq_list { margin-top: 0; }
.faq_item { border-bottom: 1px solid #ddd; }
.faq_item:first-child { border-top: 1px solid #333; }

.faq_q { display: flex; align-items: center; gap: 24px; padding: 28px 10px; cursor: pointer; transition: 0.2s; }
.faq_q:hover .faq_icon { background: var(--color); color: #fff; }
.faq_icon { width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--color); color: var(--color); font-size: 1.6rem; font-family: ptb; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: 0.2s; }
.faq_q > p { flex: 1; font-size: 1.8rem; color: #333; font-family: ptm; line-height: 1.5; }
.faq_arrow { font-size: 2rem; color: #aaa; transition: transform 0.3s; flex-shrink: 0; }

.faq_item.on .faq_arrow { transform: rotate(180deg); color: var(--color); }
.faq_item.on .faq_icon { background: var(--color); color: #fff; }
.faq_item.on .faq_q > p { color: var(--color); }

.faq_a { display: none; background: #f8f9fc; border-top: 1px solid #eee; padding: 28px 10px 28px 66px; }
.faq_a > p { font-size: 1.7rem; color: #555; line-height: 1.9; }
.faq_item.on .faq_a { display: block; }

/* sub4_3 - 카탈로그 */
#s_catalog { padding: 80px 0 120px; }

.catalog_list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }

.catalog_list li figure { margin: 0; overflow: hidden; background: #eee; border-radius: 10px;}
.catalog_list li figure img { width: 100%; aspect-ratio: 327/460; object-fit: cover; display: block; transition: transform 0.4s; }
.catalog_list li:hover figure img { transform: scale(1.04); }

.catalog_info { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.catalog_txt strong { display: block; font-size: 1.5rem; font-family: ptb; color: #222; margin-bottom: 4px; text-transform: uppercase; }
.catalog_txt span { display: block; font-size: 1.4rem; color: #666; line-height: 1.5; }
.catalog_down { width: 36px; height: 36px; background: var(--color); color: #fff; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; flex-shrink: 0; transition: opacity 0.2s; }
.catalog_down:hover { opacity: 0.8; }

/* sub4_4 - 문의하기 */
#s_inquiry { padding: 80px 0 120px; }

.inquiry_table th:last-child,
.inquiry_table td:last-child { width: 140px; }

.inq_lock { font-size: 1.4rem; color: #888; margin-left: 6px; vertical-align: middle; }

.inquiry_bottom { display: flex; justify-content: flex-end; margin-top: 24px; }
.inq_write_btn { display: inline-flex; align-items: center; height: 42px; padding: 0 28px; background: var(--color); color: #fff; font-size: 1.6rem; font-family: ptm; border-radius: 4px; transition: opacity 0.2s; }
.inq_write_btn:hover { opacity: 0.85; }

/* sub4_4w - 문의하기 폼 */
#s_inq_write { padding: 80px 0 120px; }
#s_inq_write .notice_head p { font-size: 1.7rem; color: #555; line-height: 1.8; margin-top: 16px; }

.inq_form { margin-top: 40px; }
.inq_form_inner { border: 1px solid #ddd; padding: 60px 80px; background: #fff url(/images/bg_fan.png) no-repeat right 40px top 50px / 550px; }
.inq_fields_wrap { width: 60%; }

.inq_row { margin-bottom: 32px; }
.inq_col2 { display: flex; gap: 30px; }
.inq_col2 .inq_field { flex: 1; }

.inq_field label { display: block; font-size: 1.6rem; font-family: ptm; color: #333; margin-bottom: 10px; }
.inq_field input[type="text"],
.inq_field input[type="tel"] { width: 100%; height: 52px; border: 1px solid #ccc; padding: 0 16px; font-size: 1.6rem; color: #333; box-sizing: border-box; outline: none; background: #fff; transition: border-color 0.2s; }
.inq_field input:focus,
.inq_field textarea:focus,
.inq_field select:focus { border-color: var(--color); }
.inq_field textarea { width: 100%; border: 1px solid #ccc; padding: 16px; font-size: 1.6rem; color: #333; box-sizing: border-box; outline: none; resize: vertical; min-height: 180px; background: #fff; transition: border-color 0.2s; }

.inq_email_wrap { display: flex; align-items: center; gap: 10px; }
.inq_email_wrap input[type="text"] { flex: 1; }
.inq_email_wrap span { font-size: 1.8rem; color: #555; flex-shrink: 0; }
.inq_email_wrap select { flex: 1; height: 52px; border: 1px solid #ccc; padding: 0 14px; font-size: 1.6rem; color: #555; background: #fff; outline: none; transition: border-color 0.2s; }

.inq_agree { display: flex; justify-content: center; margin-bottom: 32px; }
.inq_agree label { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 1.6rem; color: #444; }
.inq_agree input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--color); cursor: pointer; }
.inq_agree_view { color: var(--color); text-decoration: underline; margin-left: 4px; }

.inq_submit { display: flex; justify-content: center; }
.inq_send_btn { display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 60px; background: var(--color); color: #fff; font-size: 1.7rem; font-family: ptb; border: none; cursor: pointer; letter-spacing: 0.1em; transition: opacity 0.2s; }
.inq_send_btn:hover { opacity: 0.85; }
.inq_send_btn i { font-size: 2rem; }

/* sub2_1 - 제품 목록 비어있을 때 안내 */
.prd_empty { padding: 120px 0; text-align: center; font-size: 1.8rem; color: #999; }

/* sub4_1_view - 공지사항 상세 */
.notice_view { border-top: 1px solid #333; padding: 40px 0; }
.notice_view_head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 24px; border-bottom: 1px solid #ddd; }
.notice_view_head h3 { font-size: 2.2rem; font-family: ptb; color: #333; }
.notice_view_date { font-size: 1.5rem; color: #999; }
.notice_view_thumb { margin-top: 30px; }
.notice_view_thumb img { width: 100%; max-width: 600px; border-radius: 6px; }
.notice_view_content { margin-top: 30px; font-size: 1.6rem; line-height: 1.8; color: #333; }
.notice_view_content img { max-width: 100%; }
.notice_view_footer { text-align: center; margin-top: 50px; }
.notice_list_btn { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 30px; border: 1px solid #ccc; font-size: 1.5rem; color: #333; border-radius: 4px; }
.notice_list_btn:hover { background: var(--color); color: #fff; border-color: var(--color); }

/* footer - 이용약관/개인정보처리방침 버튼 영역 숨김 */
#w_footer ul { display: none; }


