/* ===== 페이지 타이틀 배너 (배경 이미지 + 약한 어둠 처리) ===== */
.page_title{
  position:relative;
  background:
    linear-gradient(rgba(10,35,84,0.25), rgba(21,57,121,0.30)),
    url('../img/hope.jpg') center center / cover no-repeat;
  color:#fff;
  padding:80px 0;
  text-align:center;
  overflow:hidden;
}
.page_title h2{
  font-size:38px;
  font-weight:700;
  margin-bottom:12px;
  color:#fff;
  text-shadow:0 3px 12px rgba(0,0,0,0.7);
}
.page_title p{
  font-size:16px;
  color:rgba(255,255,255,0.95);
  letter-spacing:1px;
  text-shadow:0 2px 8px rgba(0,0,0,0.7);
}


/* ========== 본문 레이아웃 ========== */
.contents{padding:60px 0 80px;}
.contents .wrap{display:flex;gap:40px;align-items:flex-start;}

/* ========== 좌측 사이드 메뉴 ========== */
.side_menu{flex:0 0 240px;}
.side_menu .side_visual{
  background:linear-gradient(135deg,#153979 0%,#0a2354 100%);
  color:#fff;padding:40px 20px;text-align:center;border-radius:8px 8px 0 0;
  position:relative;min-height:160px;overflow:hidden;
}
.side_menu .side_visual::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.12) 0, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(6,194,196,0.25) 0, transparent 45%);
}
.side_menu .side_visual h3{position:relative;font-size:22px;font-weight:700;margin-top:30px;}
.side_menu .side_visual span{position:relative;display:block;font-size:13px;opacity:0.9;margin-top:8px;}
.side_menu ul{border:1px solid #d5dfee;border-top:0;border-radius:0 0 8px 8px;overflow:hidden;list-style:none;padding:0;margin:0;}
.side_menu li a{
  display:block;padding:16px 20px;font-size:15px;color:#444;
  border-bottom:1px solid #eef2f8;transition:all 0.2s;text-decoration:none;
}
.side_menu li:last-child a{border-bottom:0;}
.side_menu li a:hover{background:#f0f4fa;color:#153979;padding-left:25px;}
.side_menu li a.on{
  background:#153979;color:#fff;font-weight:600;position:relative;
}
.side_menu li a.on::after{
  content:"›";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:20px;
}

/* ========== 우측 콘텐츠 ========== */
.content_area{flex:1;min-width:0;}
.breadcrumb{font-size:13px;color:#888;margin-bottom:20px;text-align:right;}
.breadcrumb span{color:#153979;font-weight:600;}
.section_title{
  font-size:28px;font-weight:700;color:#222;margin-bottom:30px;
  padding-bottom:15px;border-bottom:2px solid #153979;position:relative;
}
.section_title::before{
  content:"";display:inline-block;width:6px;height:24px;background:#153979;
  margin-right:12px;vertical-align:middle;border-radius:3px;
}

.content_box{
  background:#fff;border:1px solid #d5dfee;border-radius:8px;
  padding:30px;margin-bottom:30px;
}
.content_box h4{font-size:20px;color:#153979;margin-bottom:15px;font-weight:600;}
.content_box p{margin-bottom:14px;color:#555;font-size:15px;}
.content_box p:last-child{margin-bottom:0;}
.content_box strong{color:#153979;font-weight:600;}

/* 인트로 박스 */
.intro_box{display:flex;gap:30px;align-items:flex-start;}
.intro_img{
  flex:0 0 180px;height:220px;border-radius:8px;
  background:linear-gradient(135deg,#a8b8d4 0%,#2a5298 100%);
  display:flex;align-items:center;justify-content:center;
  font-size:60px;color:#fff;
}
.intro_text{flex:1;}
.intro_text h4{font-size:18px;color:#153979;margin-bottom:15px;font-weight:600;}

/* 특징 카드 (3컬럼) */
.feature_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;}
.feature_card{
  background:#f0f4fa;border:1px solid #d5dfee;border-radius:8px;
  padding:25px 20px;text-align:center;transition:all 0.3s;
}
.feature_card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(21,57,121,0.15);}
.feature_card .icon{
  width:60px;height:60px;margin:0 auto 15px;border-radius:50%;
  background:#153979;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:26px;font-weight:700;
}
.feature_card h5{font-size:17px;color:#153979;margin-bottom:10px;font-weight:600;}
.feature_card p{font-size:14px;color:#555;margin:0;}

/* 프로세스 단계 */
.process_list{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px;}
.process_step{
  background:#fff;border:2px solid #153979;border-radius:8px;
  padding:20px 15px;text-align:center;position:relative;
}
.process_step .num{
  display:inline-block;width:36px;height:36px;line-height:36px;border-radius:50%;
  background:#153979;color:#fff;font-weight:700;margin-bottom:10px;
}
.process_step h5{font-size:15px;color:#153979;margin-bottom:8px;font-weight:600;}
.process_step p{font-size:13px;color:#666;margin:0;}

/* 체크리스트 */
.check_list{list-style:none;padding:0;margin:10px 0 0;}
.check_list li{
  padding:10px 0 10px 30px;position:relative;color:#444;font-size:15px;
  border-bottom:1px dashed #e0e6f0;
}
.check_list li:last-child{border-bottom:0;}
.check_list li::before{
  content:"✓";position:absolute;left:0;top:10px;
  width:22px;height:22px;line-height:22px;text-align:center;
  background:#153979;color:#fff;border-radius:50%;font-size:13px;font-weight:700;
}

/* 반응형 */
@media (max-width:800px){
  .contents .wrap{flex-direction:column;}
  .side_menu{flex:0 0 auto;width:100%;}
  .side_menu ul{display:flex;flex-wrap:wrap;}
  .side_menu li{flex:1 1 33.333%;}
  .side_menu li a{text-align:center;border-right:1px solid #eef2f8;}
  .feature_grid{grid-template-columns:repeat(2,1fr);}
  .process_list{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:720px){
  .page_title h2{font-size:28px;}
  .intro_box{flex-direction:column;}
  .intro_img{width:100%;flex:0 0 auto;height:180px;}
}
@media (max-width:640px){
  .feature_grid{grid-template-columns:1fr;}
  .process_list{grid-template-columns:1fr;}
  .section_title{font-size:22px;}
  .content_box{padding:20px;}
}
@media (max-width:400px){
  .page_title{padding:40px 0;}
  .page_title h2{font-size:24px;}
  .side_menu li{flex:1 1 100%;}
}
/* ===== 커뮤니티 공통 ===== */
.content_title{
  font-size:26px; font-weight:700; color:#0a2354;
  padding-bottom:15px; margin-bottom:30px;
  border-bottom:2px solid #153979;
}

/* 공지사항 게시판 */
.board_table{width:100%; border-collapse:collapse; border-top:2px solid #153979;}
.board_table th{
  background:#f0f4fa; padding:15px 10px; font-size:15px;
  font-weight:600; color:#0a2354; border-bottom:1px solid #d5dfee;
}
.board_table td{
  padding:15px 10px; font-size:14px; color:#555;
  text-align:center; border-bottom:1px solid #eee;
}
.board_table td.title{text-align:left;}
.board_table td.title a{color:#333; transition:.2s;}
.board_table td.title a:hover{color:#153979; text-decoration:underline;}

.pagination{
  display:flex; justify-content:center; gap:5px; margin-top:30px;
}
.pagination a{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border:1px solid #d5dfee;
  color:#555; font-size:14px; border-radius:4px; transition:.2s;
}
.pagination a:hover{background:#f0f4fa; color:#153979;}
.pagination a.active{background:#153979; color:#fff; border-color:#153979;}

/* 관련사이트 카드 그리드 */
.link_grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.link_card{
  display:block; padding:25px 20px; background:#fff;
  border:1px solid #d5dfee; border-radius:8px;
  text-align:center; transition:all .3s;
}
.link_card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 20px rgba(21,57,121,.12);
  border-color:#153979;
}
.link_icon{font-size:40px; margin-bottom:12px;}
.link_card h4{font-size:17px; font-weight:700; color:#0a2354; margin-bottom:8px;}
.link_card p{font-size:13px; color:#666; margin-bottom:10px; line-height:1.5;}
.link_url{font-size:12px; color:#153979; font-weight:500;}

/* 후기 카드 */
.review_list{display:flex; flex-direction:column; gap:20px;}
.review_card{
  padding:25px; background:#f0f4fa;
  border-left:4px solid #153979; border-radius:6px;
}
.review_head{
  display:flex; justify-content:space-between;
  align-items:center; margin-bottom:12px;
}
.review_category{
  display:inline-block; padding:4px 12px;
  background:#153979; color:#fff;
  font-size:12px; border-radius:20px;
}
.review_stars{color:#f5b400; font-size:15px; letter-spacing:2px;}
.review_card h4{font-size:17px; font-weight:700; color:#0a2354; margin-bottom:10px;}
.review_card p{font-size:14px; color:#555; line-height:1.7; margin-bottom:15px;}
.review_foot{
  display:flex; justify-content:space-between;
  font-size:13px; color:#888;
}

/* 반응형 */
@media (max-width:800px){
  .link_grid{grid-template-columns:repeat(2,1fr);}
  .board_table colgroup col:nth-child(4){display:none;}
  .board_table th:nth-child(4), .board_table td:nth-child(4){display:none;}
}
@media (max-width:640px){
  .link_grid{grid-template-columns:1fr;}
  .board_table colgroup col:nth-child(3){display:none;}
  .board_table th:nth-child(3), .board_table td:nth-child(3){display:none;}
  .content_title{font-size:22px;}
}
