@charset "utf-8";

/* 내용관리 */
#ctt { background:#fff; }
.ctt_admin { text-align:right; }
#ctt header h1 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#ctt_con { }
#ctt_con img { max-width:100%; height:auto; }
.ctt_img { text-align:center; }

.intro { width:100%; max-width:1230px; line-height:1; margin:0 auto; padding:clamp(40px, 10vw, 60px) 15px clamp(70px, 12vw, 90px); text-align:center; font-size:16px; word-break:keep-all; }

.center_visual { display:grid; grid-template-columns:0.95fr 1.25fr; align-items:stretch; gap:clamp(45px, 6vw, 80px); width:100%; max-width:1200px; margin:0 auto; padding:clamp(35px, 5vw, 70px); border-radius:clamp(12px, 1.5vw, 20px); background:#f7f7f7; text-align:left; }
.center_visual_text .eyebrow { margin-bottom:clamp(12px, 1.5vw, 20px); font-size:clamp(12px, 1.4vw, 16px); font-weight:600; color:#1d438a; letter-spacing:0.08em; }
.center_visual_text h2 { line-height:1.4; font-size:clamp(26px, 3.5vw, 44px); font-weight:700; color:#111; letter-spacing:-0.02em; }
.center_visual_text p { margin-top:clamp(20px, 2.5vw, 30px); line-height:1.7; font-size:clamp(14px, 2.2vw, 20px); font-weight:300; color:#333; letter-spacing:-0.02em; word-break:keep-all; }
.center_visual_img { border-radius:clamp(8px, 1vw, 14px); overflow:hidden; }
.center_visual_img img { display:block; width:100%; height:100% !important; object-fit:cover; }

.center_message { display:flex; align-items:flex-start; justify-content:center; width:100%; max-width:1200px; margin:clamp(20px, 4vw, 60px) auto 0; text-align:left; }
.message_text { flex:1; min-width:0; line-height:1.7; font-size:clamp(14px, 2.2vw, 22px); font-weight:300; color:#111; letter-spacing:-0.02em; }
.message_text p { margin:0; padding:0; word-break:keep-all; }
.message_text p + p { margin-top:clamp(20px, 2.5vw, 30px); }
.message_text p span.bold { font-weight:500; }
.message_text p span.name { margin-right:2px; font-size:1.1em; font-weight:700; }
.message_text p span.underline { text-decoration:underline; }

.center_value { display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(15px, 2vw, 24px); width:100%; max-width:1200px; margin:clamp(30px, 5vw, 80px) auto 0; }
.value_item { padding:clamp(25px, 3vw, 40px); border:1px solid #1d438a; border-radius:clamp(8px, 1vw, 14px); background:#fff; text-align:left; color:#1d438a; }
.value_item strong { display:block; line-height:1.3; font-size:clamp(18px, 2.4vw, 28px); font-weight:700; letter-spacing:-0.02em; }
.value_item p { margin-top:clamp(12px, 1.5vw, 18px); line-height:1.7; font-size:clamp(14px, 1.7vw, 20px); font-weight:300; color:#333; letter-spacing:-0.02em; word-break:keep-all; }

.contents_title { display:flex; flex-flow:column; align-items:center; justify-content:center; width:100%; text-align:center; }
.contents_title .tit { line-height:1.3; font-size:clamp(26px, 4vw, 46px); font-weight:700; color:#111; letter-spacing:-0.02em; }
.contents_title .txt { margin-top:clamp(8px, 1.5vw, 16px); line-height:1.6; font-size:clamp(12px, 2.2vw, 20px); font-weight:400; color:#777; letter-spacing:-0.02em; }

.center_service { width:100%; max-width:1200px; margin:clamp(45px, 7vw, 100px) auto 0; }
.service_grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(15px, 2vw, 24px); margin-top:clamp(30px, 5vw, 60px); }
.service_box { padding:clamp(25px, 3vw, 40px); border:1px solid #1d438a; border-radius:clamp(8px, 1vw, 14px); background:#f7fbff; text-align:left; }
.service_box h4 { line-height:1.3; font-size:clamp(18px, 2.4vw, 28px); font-weight:700; color:#1d438a; letter-spacing:-0.02em; }
.service_box ul { display:flex; flex-wrap:wrap; gap:clamp(8px, 1.2vw, 14px); margin-top:clamp(18px, 2.5vw, 28px); padding:0; list-style:none; }
.service_box li { display:flex; align-items:center; justify-content:center; min-height:clamp(32px, 3vw, 40px); padding:0 clamp(12px, 1.5vw, 18px); border:1px solid #b7d7f3; border-radius:5px; background:#fff; font-size:clamp(12px, 2.2vw, 18px); font-weight:500; color:#0065b3; letter-spacing:-0.02em; }

.center_gallery { width:100%; max-width:1200px; margin:clamp(45px, 7vw, 100px) auto 0; }
.gallery_grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:clamp(15px, 2vw, 24px); margin-top:clamp(30px, 5vw, 60px); }
.gallery_item { border-radius:clamp(8px, 1vw, 14px); overflow:hidden; background:#eee; }
.gallery_modal_btn { display:block; width:100%; padding:0; border:0; background:transparent; overflow:hidden; cursor:pointer; }
.gallery_modal_btn img { display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; transition:all 0.35s ease; }
.gallery_modal_btn:hover img { transform:scale(1.06); }

.gallery_modal { display:none; align-items:center; justify-content:center; width:100%; height:100%; padding:30px; position:fixed; left:0; top:0; z-index:100000; }
.gallery_modal.active { display:flex; }
.gallery_modal_bg { width:100%; height:100%; background:rgba(0, 0, 0, 0.75); position:absolute; left:0; top:0; }
.gallery_modal_inner { width:100%; max-width:1100px; max-height:90vh; position:relative; z-index:2; }
.gallery_modal_img_wrap { display:flex; align-items:center; justify-content:center; width:100%; max-height:90vh; border-radius:clamp(8px, 1vw, 14px); overflow:hidden; background:#111; box-shadow:0 20px 60px rgba(0, 0, 0, 0.35); }
.gallery_modal_img_wrap img { display:block; width:auto; max-width:100%; max-height:90vh; object-fit:contain; }
.gallery_modal_close { width:48px; height:48px; border:0; border-radius:50%; background:#fff; position:absolute; right:-24px; top:-24px; cursor:pointer; box-shadow:0 8px 20px rgba(0, 0, 0, 0.25); z-index:3; }
.gallery_modal_close::before, .gallery_modal_close::after { content:""; width:22px; height:2px; background:#111; position:absolute; left:50%; top:50%; }
.gallery_modal_close::before { transform:translate(-50%, -50%) rotate(45deg); }
.gallery_modal_close::after { transform:translate(-50%, -50%) rotate(-45deg); }
body.gallery_modal_open { overflow:hidden; }

@media (max-width: 760px){
	.gallery_modal { padding:20px; }
	.gallery_modal_close { right:0; top:-60px; }
}

@media (max-width: 430px){
	.gallery_modal { padding:15px; }
}

/* 반응형 */
@media (max-width: 980px){

	.center_visual { grid-template-columns:1fr; }
	.center_message { flex-flow:column; }
	.service_grid { grid-template-columns:1fr; }
	.gallery_grid { grid-template-columns:repeat(2, 1fr); }

}

@media (max-width: 760px){

	.center_visual { padding:30px 22px; }
	.center_value { grid-template-columns:1fr; }
	.center_service { margin-top:clamp(45px, 7vw, 80px); }
	.center_gallery { margin-top:clamp(45px, 7vw, 80px); }

}

@media (max-width: 540px){

	.intro { padding:clamp(35px, 8vw, 45px) 20px clamp(70px, 12vw, 90px); }
	.center_visual { padding:26px 20px; }
	.gallery_grid { gap:10px; }

}

@media (max-width: 430px){

	.service_box ul { gap:8px; }
	.service_box li { min-height:32px; padding:0 10px; }

}