/* =========================================================
   서브페이지 개별 스타일
   ========================================================= */

/* ---------- /21 다파의 꿈 ---------- */
.dream-row {
  display: grid;
  grid-template-columns: 107px 640px 533px;
  padding-top: 68px;
}
.dream-logo img { width: 640px; margin: 23px 0; }
.dream-text { padding-top: 23px; }
.dream-text p.sp { line-height: 18.4px; }
.dream-side { text-align: center; }
.dream-side img { width: 472px; }
.dream-foot { height: 0; }

/* ---------- /22 교직원 소개 ---------- */
.staff-wrap { padding-top: 68px; }

/* 서브페이지 가운데 제목 (h5 굵게, 가운데) */
.page-h5 {
  font-size: 27.424px;
  line-height: 32.9088px;
  font-weight: 700;
  text-align: center;
  margin: 10px 0;
  padding-top: 58px;
}

/* ---------- /23 오시는 길 ---------- */
.map-row {
  display: grid;
  grid-template-columns: 640px 640px;
  padding-top: 41px;
}
.map-left iframe { width: 600px; height: 450px; border: 0; }
.map-info { padding-left: 20px; font-size: 14px; }
.map-info p { font-size: 14px; line-height: 16px; margin-bottom: 13px; }
.map-info p strong { display: inline-block; width: 46px; font-weight: 700; }
.map-info .bus-tit { margin-top: 47px; }
.map-info .bus-tit strong { width: auto; }
.bus-grp { margin-top: 24px; }
.bus-grp img { display: block; width: 30px; height: 18px; margin-bottom: 7px; }
.bus-grp p { line-height: 19px; margin-bottom: 0; }
.map-btns {
  display: grid;
  grid-template-columns: 640px 213px 213px 214px;
  padding-top: 20px;
}
.map-btn-col { grid-column: auto; text-align: right; }
.map-btns .btn {
  padding: 8px 20px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 30px;
}
.mb-insta { background: #c7015f; color: #fff; }
.mb-naver { background: #01c73c; color: #fff; }
.mb-kakao { background: #ffd02c; color: #351f1e; }

/* ---------- /24 주차 안내 ---------- */
.park-img { text-align: center; padding-top: 71px; }
.park-img img { width: 100%; max-width: 1460px; }
.park-text {
  max-width: 1435px;
  margin: 0 auto;
  padding-top: 32px;
  text-align: center;
}
.park-text a { color: inherit; }
.park-text hr { margin: 20px 0; border: 0; border-top: 1px solid #ddd; }
.park-btn { padding: 15px 0; }
.btn-park {
  background: #000;
  color: #fff;
  padding: 15px 30px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 30px;
}

/* ---------- /27 홍보 지원 ---------- */
.pr-label {
  text-align: center;
  font-weight: 700;
  color: var(--blue);
  padding-top: 73px;
}
.pr-img { text-align: center; padding-top: 33px; }
.pr-img img { max-width: 100%; height: auto; }


/* ---------- 반응형 ---------- */
@media (max-width: 1280px) {
  .dream-row { grid-template-columns: 1fr; }
  .dream-logo img, .dream-side img { width: 100%; max-width: 640px; }
  .dream-side { padding-top: 40px; }
  .staff-row { grid-template-columns: 1fr; gap: 20px; }
  .staff-info { grid-column: 1; }
  .staff-photo { padding-top: 0 !important; }
  .map-row { grid-template-columns: 1fr; }
  .map-left iframe { width: 100%; }
  .map-info { padding: 30px 0 0; }
  .map-btns { grid-template-columns: 1fr; gap: 10px; justify-items: center; }
  .map-btn-col { text-align: center; }
}

/* =========================================================
   게시판 공통 (갤러리형 / 목록형)
   ========================================================= */

.board-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 14px;
}
.board-head header { font-size: 19.2px; line-height: 34px; }
.board-head header em { color: var(--blue); font-style: normal; padding-left: 8px; }
.board-head .input-group { position: relative; width: 220px; }
.board-head .form-control {
  width: 100%;
  height: 34px;
  padding: 6px 30px 6px 12px;
  font-size: 14px;
  line-height: 20px;
  color: #212121;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .1);
}
.board-head .ico-search {
  position: absolute; right: 4px; top: 4px;
  width: 24px; height: 24px;
  background: none; border: 0;
  font-size: 17px; color: #212121; cursor: pointer;
}
.li_footer { margin-top: 15px; text-align: right; }
.li_footer .btn { padding: 6px 35px; line-height: 18px; }

/* ---------- 갤러리형 ---------- */
.post_row { display: flex; flex-wrap: wrap; margin: -15px; }
.ma-item { width: 25%; padding: 15px; }
.g-card { display: block; color: #212121; }
.g-thumb {
  height: 227px;
  border: 1px solid #eee;
  background: no-repeat center / cover;
}
.g-body { padding: 20px 0 10px; }
.g-title {
  font-size: 14px; line-height: 18.2px; color: #000;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.g-desc {
  margin-top: 5px;
  font-size: 12px; line-height: 16.8px; color: #757575;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
.g-foot { font-size: 13px; color: var(--blue); }
.g-foot small { font-size: 13px; margin-right: 12px; }
.g-summary { display: flex; align-items: center; padding-top: 14px; }
.g-summary img { width: 32px; height: 32px; border-radius: 50%; margin-right: 10px; }
.g-writer { font-size: 12px; line-height: 14.4px; color: #757575; }
.g-meta small { font-size: 11px; line-height: 13.2px; color: #757575; margin-right: 8px; }

/* ---------- 목록형 ---------- */
.li_board { border-top: 1px solid #363636; }
.li_header, .li_body {
  display: grid;
  grid-template-columns: 64px 717px 128px 154px 128px 90px;
  margin: 0;
}
.li_header li, .li_body li {
  padding: 10px 7px;
  height: 48px;
  border-bottom: 1px solid rgba(54, 54, 54, .15);
  overflow: hidden;
}
.li_header li { font-size: 16px; text-align: center; }
.li_header li.name, .li_header li.tit { text-align: center; }
.li_body .count { font-size: 16px; text-align: center; }
.li_body .tit { font-size: 14px; line-height: 23.8px; }
.li_body .tit i { font-style: normal; font-size: 12px; margin-right: 6px; }
.li_body .tit .cmt-num { font-style: normal; font-size: 12px; margin-left: 8px; }
.li_body .name, .li_body .time, .li_body .read, .li_body .like {
  font-size: 12px; line-height: 20.4px; color: rgba(54, 54, 54, .65);
}
.li_body .time, .li_body .read, .li_body .like { text-align: center; }
.li_body .like em { font-style: normal; }

/* ---------- /28 모집과정 한눈에 보기 ---------- */
.course-all { padding-top: 0; }
.course-img { text-align: center; }
.course-img img { max-width: 100%; height: auto; vertical-align: top; }

/* ---------- /44 전액 무료과정 ---------- */
.free-notice { text-align: center; }

/* ---------- /29 온라인 상담 ---------- */
.h5-tight { padding-top: 0; }

/* ---------- /30 온라인 상담신청 ---------- */
.apply-notice { text-align: center; }
.apply-form .fld { padding-bottom: 15px; }
.apply-form label { display: block; padding: 5px 0; }
.apply-form .form-control {
  width: 100%;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 20px;
  color: #212121;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .1);
}
.privacy-box {
  height: 160px;
  overflow-y: auto;
  padding: 10px;
  font-size: 14px;
  line-height: 1.6;
  color: #212121;
}
.privacy-box p { margin: 0 0 4px; }
.apply-form .chk { display: block; padding-top: 12px; font-size: 16px; }
.apply-form .chk input { margin-right: 6px; }
.tel-row { display: flex; align-items: center; gap: 5px; }
.tel-row .form-control { width: 65px; text-align: center; }
.apply-form textarea.form-control { height: 83px; resize: vertical; }
.apply-form select.form-control { height: 34px; }
.apply-btn { text-align: center; padding: 0; }
.btn-write {
  background: #000; color: #fff;
  padding: 10px 35px;
  font-size: 12px; font-weight: 700;
  border: 0; border-radius: 30px; cursor: pointer;
}

/* ---------- /45 위탁고 과정 ---------- */
.entrust .inside { max-width: 1280px; margin: 0 auto; }
.entrust-img img { display: block; width: 100%; height: auto; }

@media (max-width: 1280px) {
  .ma-item { width: 50%; }
  .li_header { display: none; }
  .li_body { grid-template-columns: 50px 1fr 90px; }
  .li_body .time, .li_body .read { display: none; }
}

/* ---------- /32 수강생 후기 (3단 카드) ---------- */
.rv3 .ma-item { width: 33.3333%; padding: 10px; }
.post_row.rv3 { margin: -10px -10px 0; }
.r-card {
  display: block;
  color: #212121;
  border-radius: 15px;
  overflow: hidden;
}
.r-thumb { height: 311px; background: no-repeat center / cover; }
.r-body { padding: 23px 23px 28px; background: rgba(247, 247, 247, .6); }
.r-title {
  font-size: 16px; line-height: 21px; color: #000;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.r-foot {
  height: 49px;
  display: flex;
  align-items: center;
  padding: 0 23px;
  background: rgba(247, 247, 247, .6);
  font-size: 13px;
  color: var(--blue);
}
.r-summary {
  padding: 0 23px 23px;
  background: rgba(247, 247, 247, .6);
}
.r-summary img { width: 32px; height: 32px; border-radius: 50%; }

@media (max-width: 1280px) {
  .rv3 .ma-item { width: 50%; }
}
@media (max-width: 760px) {
  .ma-item, .rv3 .ma-item { width: 100%; }
}

/* ---------- /34 온라인 취업지원 ---------- */
.job-img { text-align: center; padding-top: 41px; }
.job-img img { max-width: 100%; height: auto; }
.job-text { padding-top: 61px; text-align: center; }
.job-text p { line-height: 27.2px; }
.job-text a.blue { color: var(--blue); }

/* ---------- /39 유튜브강의실 ---------- */
.yt-grid { display: flex; margin: 0 -5px; padding-top: 19px; }
.yt-item { width: 33.3333%; padding: 0 5px; }
.yt-item .g-img { height: 315px; }

@media (max-width: 1024px) {
  .yt-grid { flex-wrap: wrap; }
  .yt-item { width: 100%; padding-bottom: 10px; }
}

/* ---------- /40 대실 요금안내 ---------- */
.rent-strip { display: flex; padding-top: 41px; }
.rent-cell {
  width: 33.3333%;
  height: 400px;
  overflow: hidden;
  text-align: center;
}
.rent-cell img { width: 888px; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.rent-table { text-align: center; padding-top: 59px; }
.rent-table img { max-width: 100%; height: auto; }

/* ---------- /41 시험일정 (아코디언) ---------- */
.acd .acd-row:first-child { border-top: 1px solid #363636; }
.acd .acd-row { border-bottom: 1px solid #363636; }
.acd .acd-head { padding: 14px 10px; cursor: pointer; }
.acd .acd-title { margin: 0; font-size: 16px; font-weight: 700; line-height: 19.2px; }
.acd .acd-collapse { height: 0; overflow: hidden; transition: height .3s ease; }
.acd .acd-body { padding: 10px 10px 20px; }
.acd .acd-body a { color: var(--blue); }
.acd .acd-body img { max-width: 100%; height: auto; }
.acd-meta { font-size: 12px; color: rgba(54, 54, 54, .65); padding-bottom: 10px; }
.acd-meta span { margin-left: 10px; }

/* ---------- /42, /43 빈 게시판 ---------- */
.li_board.empty { border-top: 1px solid #363636; border-bottom: 1px solid rgba(54, 54, 54, .15); }
.no-post { text-align: center; font-size: 17.6px; line-height: 30px; padding: 100px 0; }
.li_footer.center { text-align: center; }
.pad-top-66 { padding-top: 66px; }
.pad-top-6 { padding-top: 6px; }

@media (max-width: 1024px) {
  .rent-strip { flex-wrap: wrap; }
  .rent-cell { width: 100%; height: 240px; }
}

/* ---------- 원본 간격 보정 ---------- */
.sub-nav a { line-height: 27px; }
.board { padding-top: 40px; }
.rent-cell img { height: 400px; object-fit: cover; }

/* ---------- 이미지 영역 미리 확보(로딩 중 밀림 방지) ---------- */
.dream-logo img  { aspect-ratio: 640 / 170; }
.dream-side img  { aspect-ratio: 472 / 632; }
.park-img img    { aspect-ratio: 1460 / 292; }
.pr-img img      { aspect-ratio: 1 / 1; }
.course-img img  { aspect-ratio: 992 / 1403; }
.job-img img     { aspect-ratio: 857 / 600; }
.rent-table img  { aspect-ratio: 887 / 300; }
.entrust-img img { aspect-ratio: 16 / 9; }

/* ---------- 페이지별 하단 여백(원본 전체 높이에 맞춤) ---------- */
.page-tail { height: 0; }
.p21 .page-tail { height: 35px; }
.p22 .page-tail { height: 167px; }
.p24 .page-tail { height: 89px; }
.p29 .page-tail { height: 59px; }
.p30 .page-tail { height: 0; }
.p31 .page-tail { height: 58px; }
.p32 .page-tail { height: 210px; }
.p33 .page-tail { height: 95px; }
.p34 .page-tail { height: 144px; }
.p35 .page-tail { height: 58px; }
.p39 .page-tail { height: 109px; }
.p41 .page-tail { height: 74px; }
.p42 .page-tail { height: 60px; }
.p43 .page-tail { height: 60px; }
.p44 .page-tail { height: 13px; }
.p30 .page-h5 { padding-top: 48px; }
