/* ===== 서브 비주얼 ===== */
.svisual {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}

/* ===== svisual01 (고교입학 01) ===== */
.svisual-image {
  width: 100%;
  height: 216px;
  overflow: hidden;
  position: relative;
  background-image: url("../../../../images/s10/hsa/user/svisual01-1440.png");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  border-radius: 8px;
  border: 1px solid var(--color-border);
}

/* ===== svisual02 (고교현황 02) ===== */
.svisual02 .svisual-image {
  background-image: url("../../../../images/s10/hsa/user/svisual02-1440.png");
}

/* ===== svisual03 (원서접수 03) ===== */
.svisual03 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual03-1440.png"); }

/* ===== svisual04 (합격자발표 04) ===== */
.svisual04 .svisual-image {
  background-image: url("../../../../images/s10/hsa/user/svisual04-1440.png");
}

/* ===== svisual05 (배정조회 05) ===== */
.svisual05 .svisual-image {
  background-image: url("../../../../images/s10/hsa/user/svisual05-1440.png");
}

/* ===== svisual06 (자료실) ===== */
.svisual06 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual06-1440.png"); }

/* ===== svisual07 (로그인) ===== */
.svisual07 .svisual-image {
  background-image: url("../../../../images/s10/hsa/user/svisual07-1440.png");
}

.svisual-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
  white-space: nowrap;
}

.svisual-title {
  display: flex;
  align-items: baseline;
  justify-content: center;
  line-height: 1.2;
}

.svisual-title-col1 {
  font-size: 64px;
  font-weight: 700;
  color: #1BA8DC;
}

.svisual-title-col2 {
  font-size: 64px;
  font-weight: 700;
  color: #1E5698;
}

.svisual-subtitle {
  font-size: 24px;
  font-weight: 700;
  color: #231815;
  margin-top: 8px;
  text-align: center;
}

/* ===== 현재 위치 내비게이션 ===== */
.ic-nav-home  { width: 18px; height: 20px; background-image: url("../../../../images/s10/hsa/user/ic-nav-home.png"); }
.ic-nav-share { width: 23px; height: 24px; background-image: url("../../../../images/s10/hsa/user/ic-nav-share.png"); }
.ic-nav-print { width: 29px; height: 26px; background-image: url("../../../../images/s10/hsa/user/ic-nav-print.png"); }

.page-nav {
  border-bottom: 1px solid var(--color-border);
  padding-left:9px;
  padding-right:7px;
}

.page-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 61px;
}

.page-nav-path {
  display: flex;
  align-items: center;
  gap: 0;
}

.nav-home-link {
  display: flex;
  align-items: center;
  margin-right:50px;
}

.nav-arrow-sep {
  display: inline-block;
  width: 18px;
  height: 8px;
  background-image: url("../../../../images/s10/hsa/user/ic-nav-arrow.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
  margin: 0 20px 0 0;
  transition: transform 0.2s;
}
.nav-arrow-sep:has(+ .page-nav-dropdown.is-open) {
  transform: rotate(180deg);
}

.nav-path-text {
  width: 196px;
  font-size: 18px;
  color: var(--color-text);
  text-align: left;
}

.nav-path-current {
  font-weight: 600;
  color: var(--color-primary);
}

.page-nav-actions {
  display: flex;
  align-items: center;
}

.btn-page-share,
.btn-page-print {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.btn-page-share { padding-right: 29px; }

/* ===== page-nav 드롭다운 ===== */
.page-nav-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}
.page-nav-dropdown-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.ic-pnav-arrow {
  display: inline-block;
  width: 13px;
  height: 7px;
  background: url("../../../../images/s10/hsa/user/ic-nav-arrow.png") no-repeat center / contain;
  flex-shrink: 0;
}
.page-nav-dropdown-menu {
  display: none;
  position: absolute;
  top: 41px;
  left: -38px;
  min-width: 220px;
  background: #fff;
  list-style: none;
  z-index: 200;
  padding: 6px 43px 20px 20px;
  line-height: 10px;
  border:1px solid var(--color-border);
  border-top:none;
}
.page-nav-dropdown.is-open .page-nav-dropdown-menu {
  display: block;
}
.page-nav-dropdown-menu li a {
  display: block;
  padding: 9px 0;
  font-size: 16px;
  color: #231815;
  white-space: nowrap;
  padding-left: 20px;
  line-height:1.3;
}
.page-nav-dropdown-menu li a:hover {
  color: #1BA8DC;
  background: none;
  font-weight: 800;
}
.page-nav-dropdown-menu li a.is-active
, .page-nav-dropdown-menu li a:active {
  font-weight: 600;
  color: #1BA8DC;
  box-shadow: 0 0 0 1px #1BA8DC;
  border-radius: 4px;
  padding-left: 20px;
}

/* ===== 콘텐츠 영역 ===== */
.page-content {
  padding-bottom: 100px;
}

/* ===== 페이지 서브타이틀 ===== */
.page-subtitle {
  font-size: 48px;
  font-weight: 700;
  color: #1E5698;
  margin-top: 75px;
  margin-bottom: 39px;
  text-align: center;
}

/* ===== 탭 ===== */
.tab-group {
  display: flex;
  border-top: 4px solid #1E5698;
  border-bottom: 1px solid #D9D9D9;
  width: 100%;
}

.tab {
  flex: 1;
  height: 84px;
  padding: 0 24px;
  font-size: 24px;
  font-weight: 600;
  color: #231815;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-top: none;
  border-left: 1px solid #D9D9D9;
  border-right: 1px solid #D9D9D9;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}

.tab.is-active {
  background: #1E5698;
  color: #fff;
  border-color: #1E5698;
}

.tab:hover:not(.is-active) {background: #e4eaf2}

/* 모바일 원서탭 줄바꿈용(기본 숨김, 반응형에서 노출) - 260707 퍼블적용 */
.tab-br-m { display: none; }

/* ===== 탭 패널 ===== */
.tab-panel { display: none; width: 100%; box-sizing: border-box; }
.tab-panel.is-active { display: block; }

/* ===== 아티클 ===== */
.article {
  padding-top: 56px;
}

.article-title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 24px;
  font-weight: 600;
  color: #231815;
  padding-left: 22px;
  margin-bottom: 20px;
}

.article-title::before {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  border: 5px solid #1BA8DC;
  flex-shrink: 0;
}

.article-intro-box {
  border: 1px solid #ABABAB;
  border-radius: 8px;
  padding: 40px 35px ;
  margin-top: 24px;
  margin-bottom: 16px;
}

.article-intro-list li {
  padding-left: 14px;
}
.article-box {
  border: 1px solid #D9D9D9;
  border-radius: 8px;
  padding: 40px 35px ;
  margin-bottom: 16px;
}

.article-box-title {
  font-size: 24px;
  font-weight: 600;
  color: #231815;
  margin-bottom: 16px;
}

.article-text {
  font-size: 20px;
  color: #7B7F83;
  line-height: 1.7;
}

.article-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.article-list-item {
  font-size: 20px;
  color: #7B7F83;
  line-height: 1.7;
  padding-left: 18px;
  position: relative;
}

.article-list-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  background: #1BA8DC;
}

.article-bullet-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
  padding: 27px 40px;
}

/* 1뎁스: 6×6 #1BA8DC 사각형 */
.article-bullet-list > li {
  font-size: 20px;
  color: #7B7F83;
  line-height: 1.7;
  padding-left: 18px;
  position: relative;
}

.article-bullet-list > li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 13px;
  width: 6px;
  height: 6px;
  background: #1BA8DC;
}

/* 2뎁스: 23×23 숫자 카운터 */
.article-bullet-list li ul {
  counter-reset: sub-item;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}


/* ===== article-intro-box 내부 리스트: 4px 사각형 ===== */
.article-intro-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.article-intro-list li {
  font-size: 20px;
  color: #7B7F83;
  line-height: 1.5;
  padding-left: 14px;
  position: relative;
}

.article-intro-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  background: #1BA8DC;
}

/* ===== article-num-list: 23×23 번호 카운터 리스트 ===== */
.article-num-box {
    padding: 27px 40px;
    margin-bottom: 16px;
}
.article-num-list {
  counter-reset: num-item;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}

.article-num-list li {
  counter-increment: num-item;
  font-size: 20px;
  color: #7B7F83;
  line-height: 1.7;
  padding-left: 32px;
  position: relative;
}

.article-num-list li::before {
  content: counter(num-item);
  position: absolute;
  left: 0;
  top: 4px;
  width: 23px;
  height: 23px;
  background: #1BA8DC;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 23px;
  border-radius: 3px;
}

/* ===== noti: 알림 박스 ===== */
.noti {
  position: relative;
  padding-left: 22px;
  margin-top: 8px;
  font-size: 18px;
  color: #7B7F83;
  line-height: 1.7;
}

.noti::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 16px;
  height: 16px;
  background-image: url("../../../../images/s10/hsa/user/ic-notice.png");
  background-repeat: no-repeat;
  background-size: contain;
}

/* ===== article-sub-num-list: #1BA8DC 숫자 텍스트 리스트 ===== */
.article-sub-num-list {
  counter-reset: sub-num;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}

.article-sub-num-list > li {
  counter-increment: sub-num;
  font-size: 20px;
  color: #7B7F83;
  line-height: 1.7;
  padding-left: 28px;
  position: relative;
}

.article-sub-num-list > li::before {
  content: counter(sub-num);
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 20px;
  font-weight: 700;
  color: #1BA8DC;
  background: none;
}

/* ===== 원서접수 폼 ===== */
.form-section {
  padding-top: 31px;
}

.form-row {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #D9D9D9;
}

.form-row:first-child {
  border-top: none;
}

.form-row:not(:has(~ .form-row)):not(:has(~ .form-row-group)) { border-bottom: none; }
.form-row--dark-top { border-top: 1px solid #231815; }

.form-row-group {
  display: flex;
  border-bottom: 1px solid #D9D9D9;
}
.form-row-group.form-row--dark-top { border-top: 1px solid #231815; }
.form-row-group .form-row {
  flex: 1 1 0;
  max-width: 50%;
  border-bottom: none;
}
.form-row-group .form-row--full {
  max-width: none;
}
.form-row-group .form-row + .form-row {
  border-left: none;
}
.form-row-group--md {
  display: flex;
  border-bottom: 1px solid #D9D9D9;
}
.form-row-group--md .form-row {
  flex: 1 1 0;
  max-width: 50%;
  border-bottom: none;
}

/* ── 260707 지원정보 sub18-2 퍼블 정렬(전역 추가, flush-label 스코프라 타화면 무영향) ── */
.form-section--flush-label .form-label { margin-left: 0; padding-left: 20px; }
.form-section--flush-label .form-sub-title { font-size: 36px; font-weight: 800; color: #1BA8DC; padding-left: 20px; }
.form-section--flush-label .form-sub-title--mt { margin-top: 56px; }
.form-section--flush-label .form-sub-title--attach { margin-top: 54px; }
.form-section--flush-label .form-sub-title-row { margin-top: 63px; }
.form-section--flush-label .form-actions { margin-top: 32px; }
/* 단일 컨트롤(콤보/입력칸/아이콘입력)은 열 폭 채워 우측정렬 통일(최대폭 캡) */
.form-section--flush-label .form-field:not(.field-row) > .custom-select,
.form-section--flush-label .form-field:not(.field-row) > .f-input,
.form-section--flush-label .form-field > .input-icon-wrap { width: 100%; max-width: 460px; box-sizing: border-box; }
.form-section--flush-label .form-field > .input-icon-wrap .f-input { width: 100%; }
.form-section--flush-label .form-field.field-row .custom-select { width: 460px; }
.form-section--flush-label .field-row--stack-m .custom-select { width: 220px; }
.form-section--flush-label .field-row:has(.btn-file) .f-input { width: calc(50% + 430px); }
.form-section--flush-label .f-input--schedul { position: relative; padding-left: 44px; background: url("../../../../images/s10/hsa/user/ic-form-schedul.png") no-repeat left 14px center; background-size: 20px 20px; }
.f-input--schedul::-webkit-calendar-picker-indicator { position: absolute; left: 0; margin: 0; padding: 0; width: 44px; height: 100%; opacity: 0; cursor: pointer; }
.f-input--schedul::-webkit-datetime-edit { display: none; }
.f-input--schedul::placeholder { color: #ABABAB; }
.txt-navy { color: #1E5698; }
.txt-gray { color: #ABABAB; }
.form-field--top { align-items: flex-start; }
.form-row--top { align-items: flex-start; }
.form-row-group--divide { border-bottom: 2px solid #231815; }
.form-row-group--topline { border-top: 1px solid #D9D9D9; }
.form-topline-dark { border-top: 2px solid #231815; }
.form-sub-title { font-size: 18px; font-weight: 700; color: #1BA8DC; margin: 24px 0 8px; }
.form-sub-notice { font-size: 15px; color: #7B7F83; margin-bottom: 12px; }
.form-sub-title-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 24px 0 8px; }
.form-sub-title-row .form-sub-title { margin: 0; font-size: 24px; font-weight: 800; color: #1BA8DC; }
.form-sub-title-row .form-sub-notice { margin: 0; font-size: 24px; font-weight: 700; color: #1E5698; }
/* 지원정보 섹션 헤더(기존 form-row--dark-top ●…) → sub18-2 큰 시안 타이틀(마크업 유지, 스타일만) */
.form-section--flush-label .form-row--dark-top { border-top: none; border-bottom: 4px solid #1E5698; align-items: baseline; padding-bottom: 12px; margin-bottom: 8px; }
.form-section--flush-label .form-row--dark-top .form-label { width: auto; min-width: 0; flex: 0 0 auto; }
.form-section--flush-label .form-row--dark-top .form-label strong { font-size: 30px; font-weight: 800; color: #1BA8DC; }
.form-section--flush-label .form-row--dark-top .form-label strong .txt-navy { color: #1E5698; }
.form-section--flush-label .form-row--dark-top .form-label strong .txt-gray { color: #ABABAB; }
/* 안내문 정보 박스(B안) - 전역, 다른 탭도 재사용 */
.notice-box { display: flex; gap: 10px; align-items: flex-start; background: #F1F6FC; border-left: 4px solid #1E5698; border-radius: 0 8px 8px 0; padding: 12px 16px; margin: 12px 0; font-size: 15px; color: #33414f; line-height: 1.5; }
.notice-box::before { content: "i"; flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%; background: #1E5698; color: #fff; font-size: 12px; font-weight: 700; line-height: 18px; text-align: center; margin-top: 1px; font-style: normal; }
.notice-box b { color: #1E5698; }
/* ── /260707 지원정보 퍼블 정렬 ── */

.pass-section .form-section { padding: 10px 36px; border:1px solid #D1DBDE;border-radius:8px;}
.pass-section .form-section .form-label { width: 100px; min-width: 100px; }
.pass-section .form-section .form-field { padding-right: 34px; }
.form-label {
  width: 180px;
  min-width: 180px;
  padding: 18px 0 18px 13px;
  margin-left: 18px;
  font-size: 20px;
  font-weight: 600;
  color: #231815;
  display: flex;
  align-items: center;
  position: relative;
}

.form-label.required::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #D34242;
  border-radius: 50%;
  position: absolute;
  left:0;
  top: 50%;
  transform: translateY(-50%);
}

.form-field {
  flex: 1;
  min-width: 0;
  padding: 13px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.form-field .f-input,
.form-field .f-select,
.form-field .input-icon-wrap {
  width: 100%;
  box-sizing: border-box;
}

.f-input {
  height: 60px;
  border: 1px solid #7B7F83;
  border-radius: 8px;
  padding: 0 16px;
  font-size: 18px;
  font-family: "Pretendard", sans-serif;
  color: #231815;
  background: #fff;
  outline: none;
  box-sizing: border-box;
}

.f-input::placeholder { color: #7B7F83; }
.f-input:focus::placeholder { color: transparent; }
.f-input:focus { border-color: #1BA8DC; }

.f-input--full { width: 100%; }
.f-input--md   { width: 360px; }
.f-input--sm   { width: 160px; }

.f-input--date {
  padding-left: 54px;
  width: 260px;
}

.f-input--date::-webkit-calendar-picker-indicator { display: none; }

.input-icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.input-icon-wrap .f-input { padding-left: 54px; }

.input-icon-wrap.is-typing .f-icon { visibility: hidden; }
.input-icon-wrap.is-typing .f-input { padding-left: 15px; }
.input-icon-wrap.is-typing .f-icon--schedul { visibility: visible; }
.input-icon-wrap.is-typing .f-input--date   { padding-left: 54px; }
.input-icon-wrap input:focus::placeholder { color: transparent; }

.input-icon-wrap .f-icon {
  position: absolute;
  left: 18px;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.f-icon--hp      { width: 15px; height: 23px; background-image: url("../../../../images/s10/hsa/user/ic-form-hp.png"); }
.f-icon--people  { width: 25px; height: 19px; background-image: url("../../../../images/s10/hsa/user/ic-form-people.png"); }
.f-icon--schedul { width: 23px; height: 24px; background-image: url("../../../../images/s10/hsa/user/ic-form-schedul.png"); }

.f-select {
  height: 60px;
  border: 1px solid #7B7F83;
  border-radius: 8px;
  padding: 0 40px 0 16px;
  font-size: 18px;
  font-family: "Pretendard", sans-serif;
  color: #7B7F83;
  background: #fff url("../../../../images/s10/hsa/user/ic-search_arrow.png") no-repeat right 14px center / 12px 9px;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  min-width: 200px;
  box-sizing: border-box;
}

.f-select:focus { border-color: #1BA8DC; }

/* 커스텀 셀렉트 공통 기반 (sub 페이지 공용) */
.custom-select { position: relative; }
.custom-select-btn { width: 100%; text-align: left; }
.custom-select-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #1BA8DC;
  border-top: none;
  border-radius: 0 0 8px 8px;
  z-index: 100;
  list-style: none;
  overflow: hidden;
  margin-top: -1px;
}
.join-member .custom-select-menu {
  max-height: 240px;
  overflow-y: auto;
}
.join-member .custom-select-menu li {
  line-height: 24px;
}
.custom-select.is-open .custom-select-menu { display: block; }
.custom-select.is-open .custom-select-btn { border-color: #1BA8DC; color: #1BA8DC; border-radius: 8px 8px 0 0; }
.custom-select-menu li { padding: 12px 16px; font-size: 18px; font-family: "Pretendard", sans-serif; color: #231815; cursor: pointer; }
.custom-select-menu li:hover { color: #1BA8DC; }
.custom-select-menu li.is-selected { color: #1BA8DC; font-weight: 700; }
.custom-select-menu li span { display: inline-block; }
/* 검색칸 있는 콤보(항목) 스크롤 높이 - 약 5개 노출 */
.custom-select-menu:has(.cs-search-li), .custom-select-menu:has(.cs-mid-search-li) { max-height: 400px; overflow-y: auto; }
/* 일반 콤보(검색칸 없음): 약 6개 노출 후 스크롤 */
.custom-select-menu { max-height: 290px; overflow-y: auto; }

/* placeholder 연하게 + 입력값 진하게: 저장된 값과 예시문구 구분(작업시트 3번) */
.f-input::placeholder, .hi-in::placeholder, .trc-in::placeholder,
input[type="text"]::placeholder, input[type="tel"]::placeholder, input[type="email"]::placeholder, textarea::placeholder { color: #c3cbd6; font-weight: 400; font-style: italic; } /* 260724 이탤릭: 예시문구 구분 강화 */
.f-input, .hi-in { color: #231815; font-weight: 500; }

/* 첨부파일 목록: 긴 파일명이 flex 컨테이너를 밀어 모바일에서 잘리던 문제 보정 */
.attach-field{min-width:0;}
#fileAttachList{width:100%;min-width:0;}
#fileAttachList .attach-item{max-width:100%;box-sizing:border-box;}
.af-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* 삭제버튼: .btn-list 기본(200x60)이 목록 안에서 과대 -> 목록 스코프 축소 */
#fileAttachList .btn-list{width:auto;height:34px;font-size:13px;padding:0 16px;border-radius:6px;}

/* 파일 개수 배지 + 파일명 다운로드 링크  */
.attach-cnt{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;background:#1E5698;color:#fff;font-size:13px;font-weight:700;border-radius:12px;}
a.af-link{color:#231815;text-decoration:none;cursor:pointer;}
a.af-link:hover{color:#1BA8DC;text-decoration:underline;}

@media (max-width:1023px){
  /* 첨부 행: 라벨이 목록 중간 높이에 떠 보이던 문제 -> 라벨 상단 스택 */
  #supportInfoForm .form-row:has(#fileAttachList){flex-direction:column;}
  #supportInfoForm .form-row:has(#fileAttachList) .form-label{width:100%;min-width:0;padding:12px 0 0 16px;}
  #supportInfoForm .form-row:has(#fileAttachList) .attach-field{width:100%;padding:8px 16px 12px;box-sizing:border-box;}
  #fileAttachList .attach-item{flex-wrap:wrap;gap:6px 12px;}
  .af-name{flex:1 1 100%;white-space:normal;word-break:break-all;overflow:visible;text-overflow:clip;}
  #fileAttachList .btn-list{height:32px;}
}

/* 폼 내 커스텀 셀렉트 */
.form-field .custom-select { width: 100%; min-width: 200px; }
.form-field .custom-select-btn {
  position: relative;
  width: 100%;
  height: 60px;
  border: 1px solid #7B7F83;
  border-radius: 8px;
  padding: 0 40px 0 16px;
  font-size: 18px;
  font-family: "Pretendard", sans-serif;
  color: #7B7F83;
  background: #fff;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}
.form-field .custom-select-btn::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 9px;
  background: url("../../../../images/s10/hsa/user/ic-search_arrow.png") no-repeat center / contain;
  pointer-events: none;
}
.form-field .custom-select.is-open .custom-select-btn {
  border-color: #1BA8DC;
  border-radius: 8px 8px 0 0;
  color: #1BA8DC;
}
.form-field .custom-select.is-open .custom-select-btn::after {
  filter: brightness(0) saturate(100%) invert(49%) sepia(72%) saturate(500%) hue-rotate(163deg) brightness(96%) contrast(97%);
}
.form-field .custom-select-menu li:active span { border: 1px solid #1BA8DC; border-radius: 8px; padding: 4px 10px; }

.radio-group {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.radio-item {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.radio-item input[type="radio"] { display: none; }

.radio-custom {
  width: 33px;
  height: 33px;
  border: 1px solid #7B7F83;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.radio-item input[type="radio"]:checked + .radio-custom {
  background-image: url("../../../../images/s10/hsa/user/ic-form-radio.png");
  border-color: #1E5698;
}

.radio-label {
  font-size: 24px;
  font-weight: 600;
}

.input-slash {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  color: #7B7F83;
}

.btn-file {
  width: 130px;
  height: 60px;
  padding: 0 20px;
  background: #231815;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  font-family: "Pretendard", sans-serif;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
}

.btn-file:hover  { background: #1BA8DC; }
.btn-file:active { background: #1E5698; }

.file-desc {
  font-size: 16px;
  color: #7B7F83;
  display: flex;
  align-items: center;
  gap: 6px;
}

.file-desc::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("../../../../images/s10/hsa/user/ic-form-noti.png") no-repeat center / contain;
  flex-shrink: 0;
}

.btn-search-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width:123px;
  height: 60px;
  padding: 0 20px;
  background: #231815;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  font-family: "Pretendard", sans-serif;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
}

.ic-btn-search {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("../../../../images/s10/hsa/user/ic-msearch.png") no-repeat center / contain;
  filter: brightness(0) invert(1);
  flex-shrink: 0;
}

.btn-search-sm:hover  { background: #1BA8DC; }
.btn-search-sm:active { background: #1E5698; }

.field-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.field-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.field-row--stretch {
  width: 100%;
}

.field-row--stretch .f-input {
  flex: 1;
  width: auto;
  min-width: 0;
}

.privacy-box {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 57px 30px 42px 98px;
  margin-top: 34px;
  margin-bottom: 36px;
  border: 1px solid #D1DBDE;
  border-radius: 8px;
}

.privacy-box-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 700;
  color: #1E5698;
  margin-bottom: 0;
  line-height: 50px;
}

.privacy-box-title::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #1E5698;
  border-radius: 50%;
  flex-shrink: 0;
}

.privacy-box-text {
  font-size: 20px;
  color: #1BA8DC;
  line-height: 50px;
  margin-left:5px;
  margin-bottom: 0;
}

.btn-privacy-view {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin: 0 0 0 35px;
  height: 50px;
  padding: 0 20px;
  background: #fff;
  color: #1BA8DC;
  font-size: 20px;
  font-weight: 600;
  font-family: "Pretendard", sans-serif;
  border: 1px solid #1BA8DC;
  border-radius: 8px;
  cursor: pointer;
}
.btn-privacy-view:hover  { background: #1BA8DC; color: #fff; }
.btn-privacy-view:hover .ic-form-viwer { filter: brightness(0) invert(1); }
.btn-privacy-view:active { background: #1E5698; border-color: #1E5698; color: #fff; }

.ic-form-viwer {
  display: inline-block;
  width: 23px;
  height: 15px;
  background: url("../../../../images/s10/hsa/user/ic-form-viwer.png") no-repeat center / contain;
}

.agree-row {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 16px 0 16px 5px;
}

.agree-checkbox {
  width: 30px;
  height: 30px;
  border: 4px solid #1E5698;
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  flex-shrink: 0;
  background: #fff;
  position: relative;
}

.agree-checkbox:checked { background: #1E5698; }

.agree-checkbox:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 14px;
  height: 8px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
}

.agree-label {
  font-size: 24px;
  font-weight: 500;
  color: #231815;
  cursor: pointer;
  min-width: 180px;
  flex: 1 1 0%;
}

.form-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 40px; /* 12px; - 너무 좊아서 넓힘 */
  padding-bottom: 80px;
}

.btn-save {
  width: 200px;
  height: 60px;
  background: #1BA8DC;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  font-family: "Pretendard", sans-serif;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

.btn-save:hover  { background: #1E5698; }
.btn-save:active { background: #231815; }
#adSubmitBtn:not(:disabled){
  animation: ctaGlowPulse 2s ease-in-out infinite;
}

.btn-list {
  width: 200px;
  height: 60px;
  background: #fff;
  color: #1BA8DC;
  font-size: 24px;
  font-weight: 600;
  font-family: "Pretendard", sans-serif;
  border: 1px solid #1BA8DC;
  border-radius: 8px;
  cursor: pointer;
}

.btn-list:hover  { background: #1BA8DC; color: #fff; }
.btn-list:active { background: #1E5698; border-color: #1E5698; color: #fff; }

/* ===== 게시판 공통 ===== */
.board-wrap { padding-top: 40px; }

.board-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  height: 50px;
  margin-bottom: 20px;
}

.board-total {
  font-size: 18px;
  color: #7B7F83;
  white-space: nowrap;
  flex-shrink: 0;
}

.board-total strong {
  color: #1BA8DC;
  font-weight: 700;
}

.board-search {
  display: flex;
  align-items: center;
  border: 1px solid #7B7F83;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.board-search-select {
  height: 60px;
  padding: 0 32px 0 16px;
  font-size: 18px;
  font-family: "Pretendard", sans-serif;
  color: #231815;
  background: url("../../../../images/s10/hsa/user/ic-search_arrow.png") no-repeat right 12px center / 12px 9px;
  border: none;
  border-right: 1px solid #7B7F83;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  outline: none;
  flex-shrink: 0;
  min-width: 156px;
}

/* board-search 커스텀 셀렉트 */
.board-search .custom-select { position: relative; flex-shrink: 0; min-width: 156px; }
.board-search .custom-select-btn {
  height: 60px;
  padding: 0 32px 0 16px;
  font-size: 18px;
  font-family: "Pretendard", sans-serif;
  color: #231815;
  background-color: #fff;
  border: none;
  border-right: 1px solid #7B7F83;
  border-radius: 8px 0 0 8px;
  cursor: pointer;
  outline: none;
  white-space: nowrap;
  width: 100%;
  text-align: left;
  position: relative;
}
.board-search .custom-select-btn::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 9px;
  background: url("../../../../images/s10/hsa/user/ic-search_arrow.png") no-repeat center / contain;
}
.board-search .custom-select-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: -1px;
  min-width: calc(100% + 1px);
  background: #fff;
  border: 1px solid #1BA8DC;
  border-top: none;
  border-radius: 0 0 8px 8px;
  z-index: 100;
  list-style: none;
  overflow-y: auto;
}
.board-search .custom-select.is-open .custom-select-menu { display: block; }
.board-search .custom-select.is-open .custom-select-btn {
  color: #1BA8DC;
  border-right: 1px solid #D9D9D9;
  border-radius: 8px 0 0 0;
  box-shadow: -1px -1px 0 #1BA8DC, 0 -1px 0 #1BA8DC;
}
.board-search .custom-select.is-open .custom-select-btn::after {
  filter: invert(49%) sepia(98%) saturate(400%) hue-rotate(162deg) brightness(95%);
}
.board-search:has(.custom-select.is-open) { overflow: visible; border-color: #1BA8DC; }
.board-search .custom-select.is-open .custom-select-btn { border-right-color: #1BA8DC; }
.board-search .custom-select-menu li { padding: 8px 16px; font-size: 18px; font-family: "Pretendard", sans-serif; color: #231815; cursor: pointer; line-height: 1.2; }
.board-search .custom-select-menu li:hover { color: #1BA8DC; }
.board-search .custom-select-menu li.is-selected span { color: #1BA8DC; font-weight: 700; }

.board-search-input {
  flex: 1;
  height: 60px;
  border: none;
  padding: 0 16px;
  font-size: 18px;
  font-family: "Pretendard", sans-serif;
  color: #231815;
  outline: none;
}

.board-search-input::placeholder { color: #7B7F83; padding-left:10px;}

.btn-board-search {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border: none;
  border-left: 1px solid #D9D9D9;
  cursor: pointer;
  flex-shrink: 0;
}

.btn-board-search:hover  { background: #1BA8DC; }
.btn-board-search:hover .ic-board-search  { filter: brightness(0) invert(1); }
.btn-board-search:active { background: #1BA8DC; }
.btn-board-search:active .ic-board-search { filter: brightness(0) invert(1); }

.ic-board-search {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("../../../../images/s10/hsa/user/ic-board-search.png") no-repeat center / contain;
}

.board-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 4px solid #1E5698;
}

.board-table th {
  padding: 16px 10px;
  font-size: 18px;
  font-weight: 600;
  color: #231815;
  text-align: center;
  border-bottom: 1px solid #ABABAB;
  white-space: nowrap;
  height:60px;
  position: relative;
}

.board-table th + th::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: #ABABAB;
}

.board-table td {
  padding: 16px 10px;
  font-size: 18px;
  color: #231815;
  border-bottom: 1px solid #ABABAB;
  vertical-align: middle;
  text-align: center;
}

.board-table .td-title { text-align: left; font-weight: 500; max-width: 0; }

.board-table .td-title a {
  color: #231815;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.board-table .td-title a:hover { color: #1BA8DC; text-decoration: underline; }

.board-table tbody tr:hover { background: #F5F7FA; }

.board-table .btn-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 4px 14px;
  width: auto;
  height: 36px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 6px;
  white-space: nowrap;
}

.board-row--notice { color: #7B7F83; }
.badge-notice {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  height: 26px;
  background: #1BA8DC;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  border-radius: 4px;
  white-space: nowrap;
}

.td-notice-label {
  color: #1E5698;
  font-size: 18px;
}

.board-card-label {
  color: #1E5698;
  font-weight: 700;
  font-size: 16px;
  margin-right: 4px;
}

.td-meta-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ic-board-icon {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}

.ic-attach {
  display: inline-block;
  width: 16px;
  height: 19px;
  background: url("../../../../images/s10/hsa/user/ic-attchfile.png") no-repeat center / contain;
  opacity: 0.5;
  flex-shrink: 0;
}

.board-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
  position: relative;
  padding-bottom: 60px;
}

.board-pagination {
  display: flex;
  align-items: center;
  gap: 4px;
}

.page-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-size: 16px;
  font-weight: 600;
  color: #7B7F83;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
}

.page-btn:hover  {  color: #1BA8DC;border-width:1px;text-decoration: underline;  }
.page-btn.is-active { background: #fff; color: #1BA8DC; border:1px solid #1BA8DC;text-decoration: underline;  }

.page-arrow { display: none; align-items: center; justify-content: center; width: 50px; height: 50px; cursor: pointer; }
.ic-m-board-arrow { display: inline-block; width: 8px; height: 13px; background: url("../../../../images/s10/hsa/user/ic-m-board-arrow.png") no-repeat center / contain; }
.ic-m-board-arrow--prev { transform: rotate(0deg); }
.page-arrow--next .ic-m-board-arrow { transform: rotate(180deg); }

.board-write {
  position: absolute;
  right: 0;
}

.btn-write {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  height: 50px;
  padding: 0 20px;
  background: #fff;
  color: #1BA8DC;
  font-size: 18px;
  font-weight: 600;
  font-family: "Pretendard", sans-serif;
  border: 1px solid #1BA8DC;
  border-radius: 8px;
  cursor: pointer;
  min-width:148px;
  text-align: center;
}

.btn-write:hover  { background: #1BA8DC; color: #fff; }
.btn-write:hover .ic-write { filter: brightness(0) invert(1); }
.btn-write:active { background: #1E5698; border-color: #1E5698; color: #fff; }

.ic-write {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("../../../../images/s10/hsa/user/ic-btn-write.png") no-repeat center / contain;
  filter: invert(56%) sepia(80%) saturate(500%) hue-rotate(162deg) brightness(95%);
}

.board-cards { display: none; }

.board-card {
  padding: 20px 0;
  border-bottom: 1px solid #D9D9D9;
  cursor: pointer;
}

.board-card:first-child { border-top: 2px solid #1E5698; }

.board-card-badges { margin-bottom: 8px; }

.board-card-title {
  font-size: 18px;
  font-weight: 600;
  color: #231815;
  line-height: 1.5;
  margin-bottom: 10px;
}

.board-card-title a {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.board-card--current .board-card-title a { color: #1BA8DC; }

.board-card-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 16px;
  color: #7B7F83;
}
.txt-blue { color: #1BA8DC; }

/* ===== 폼 아이콘 추가 ===== */
.f-icon--apply { width: 27px; height: 22px; background-image: url("../../../../images/s10/hsa/user/ic-form-apply.png"); }
.f-icon--idno  { width: 30px; height: 23px; background-image: url("../../../../images/s10/hsa/user/ic-form-idno.png"); }

/* ===== 합격자 발표 조회 ===== */
.pass-section { margin-top: 48px; }

.pass-result {
  margin-top: 48px;
  border: 2px solid #1E5698;
  border-radius: 8px;
  overflow: hidden;
}

.pass-result-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 30px;
  background: #1E5698;
}

.pass-result-header-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
}

.pass-result-body { padding: 30px; }

.pass-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px;
  border-radius: 8px;
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 800;
}

.pass-badge--pass {
  background: #EEF8FF;
  color: #1BA8DC;
  border: 2px solid #1BA8DC;
}

.pass-badge--fail {
  background: #FFF0F0;
  color: #D34242;
  border: 2px solid #D34242;
}

.ic-pass-mark {
  display: inline-block;
  width: 36px;
  height: 36px;
  background: url("../../../../images/s10/hsa/user/ic-pass.png") no-repeat center / contain;
}

.pass-result-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid #1E5698;
  margin-bottom: 20px;
}

.pass-result-table th,
.pass-result-table td {
  padding: 16px 20px;
  font-size: 18px;
  border-bottom: 1px solid #D9D9D9;
  text-align: left;
}

.pass-result-table th {
  background: #F5F7FA;
  font-weight: 600;
  color: #231815;
  width: 160px;
  white-space: nowrap;
}

.pass-result-table .td-pass {
  color: #1BA8DC;
  font-weight: 700;
  font-size: 20px;
}

/* ===== 서식자료 파일 다운로드 ===== */
.ic-board-png {
  width: 28px;
  height: 28px;
  background-image: url("../../../../images/s10/hsa/user/ic-board-png.png");
}

.btn-file-download {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 14px;
  height: 36px;
  background: #fff;
  color: #1BA8DC;
  font-size: 16px;
  font-weight: 600;
  border: 1px solid #1BA8DC;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.btn-file-download:hover { background: #1BA8DC; color: #fff; }
.btn-file-download:hover .ic-board-png { filter: brightness(0) invert(1); }
.btn-file-download:active { background: #1E5698; border-color: #1E5698; color: #fff; }

.ic-slide-arrow {
  display: inline-block;
  width: 70px;
  height: 91px;
  background: url("../../../../images/s10/hsa/user/ic-app-arrow.png") no-repeat center / 100%;
}

.ic-slide-arrow--prev { transform: rotate(180deg); }

/* ===== 합격자 조회 안내 문구 ===== */
.pass-note {
  margin-bottom: 32px;
  border-top: 4px solid #1E5698;
  padding: 27px 0 0 18px;
}

.pass-note-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pass-note-list li {
  font-size: 18px;
  color: #231815;
  padding-left: 16px;
  position: relative;
  line-height: 1.6;
}

.pass-note-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #D34242;
}

/* ===== 합격확인 - 합격 ===== */
.pass-confirm {
  text-align: center;
  padding: 13px 0 100px;
  /*border-top:1px solid #D9D9D9; top 보더 필요 없어 주석 처리 */
  margin-top: 50px; /* 윗공간 만듬*/
}

.pass-confirm-icon {
  width: 175px;
  height: 175px;
  background: url("../../../../images/s10/hsa/user/ic-pass.png") no-repeat center / contain;
  margin: 0 auto 28px;
}

.pass-confirm-title {
  font-size: 34px;
  font-weight: 700;
  color: #6D54DA;
  margin-bottom: 20px;
}

.pass-confirm-msg {
  font-size: 26px;
  color: #231815;
  margin-bottom: 8px;
  line-height: 1.7;
}

.pass-confirm-msg .em { color: #6D54DA; font-weight: 700; }

.pass-confirm-link {
  display: inline-block;
  color: #1BA8DC;
  font-size: 26px;
}
.pass-confirm-link a {text-decoration: underline;cursor: pointer; font-weight: 700;}

/* ===== 합격확인 - 정보없음 ===== */
.pass-notfound {
  text-align: center;
  padding: 60px 0 100px;
  border-top:1px solid #D9D9D9;
}

.pass-notfound-icon {
  width: 80px;
  height: 80px;
  background-image: url("../../../../images/s10/hsa/user/ic-pass-result.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin: 0 auto 28px;
  font-size: 26px;
}

.pass-notfound-label {
  color: #7B7F83;
  margin-bottom: 10px;
  font-size: 26px;
}

.pass-notfound-title{
  font-weight: 700;
  font-size: 26px;
  color: #7B7F83;
}
.pass-notfound-title span{
  color: #1BA8DC;
  font-size: 26px;
}


/* ===== 로그인 / 실명인증 (sub10) ===== */
.auth-section {
  padding: 40px 0 100px;
}

.login-box {
  border: 1px solid #D9D9D9;
  border-top: 4px solid #1E5698;
  border-radius: 0 0 8px 8px;
  padding: 48px 60px 56px;
}

.login-welcome {
  text-align: center;
  margin-bottom: 40px;
}

.login-site-name {
  font-size: 40px;
  font-weight: 700;
  color: #1E5698;
}

.login-greeting {
  font-size: 40px;
  color: #575A5C;
  margin-bottom: 14px;
}

.login-desc {
  font-size: 18px;
  color: #7B7F83;
  line-height: 1.7;
}

.auth-cards {
  display: flex;
  width: 100%;
}

.auth-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 0 0 calc(50% - 0.5px);
  width: calc(50% - 0.5px);
  padding: 40px 24px 36px;
  text-align: center;
}

.auth-divider {
  width: 1px;
  align-self: stretch;
  background: #D9D9D9;
  flex-shrink: 0;
}

.auth-card-icon {
  width: 100px;
  height: 100px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-bottom: 30px;
}

.ic-auth-cert { background-image: url("../../../../images/s10/hsa/user/ic-login-auth.png"); }
.ic-auth-hp   { background-image: url("../../../../images/s10/hsa/user/ic-board-hp.png"); }

.auth-card-title {
  font-size: 30px;
  font-weight: 700;
  color: #231815;
  margin-bottom: 24px;
}

.btn-auth {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 50px;
  padding: 0 30px;
  background: #fff;
  color: #1BA8DC;
  font-size: 18px;
  font-weight: 600;
  font-family: "Pretendard", sans-serif;
  border: 1px solid #1BA8DC;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  min-width:150px;
}

.btn-auth:hover  { background: #1BA8DC; color: #fff; }
.btn-auth:active { background: #1E5698; border-color: #1E5698; color: #fff; }
.btn-auth:hover .ic-auth-arrow,
.btn-auth:active .ic-auth-arrow { filter: brightness(0) invert(1); }

.ic-auth-arrow {
    display: inline-block;
    width: 18px;
    height: 26px;
    background: url(../../../../images/s10/hsa/user/ic-app-arrow.png) no-repeat center / contain;
    filter: invert(56%) sepia(80%) saturate(500%) hue-rotate(162deg) brightness(95%);
    flex-shrink: 0;
    transform: scaleX(-1);
}

/* ===== 게시판 상세 보기 ===== */
.board-detail {
  padding-top: 40px;
}

.detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 0 22px 0;
  border-bottom: 1px solid #D9D9D9;
}

.detail-title {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 36px;
  font-weight: 700;
  color: #231815;
  line-height: 1.4;
}

.detail-meta {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.detail-meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  color: #231815;
  padding: 0 24px;
}

.detail-meta-item:first-child { padding-left: 0; }
.detail-meta-item:last-child  { border-right: none; padding-right: 0; }

.detail-meta-label {
  color: #7B7F83;
  white-space: nowrap;
}

.detail-meta-value {
  color: #7B7F83;
  white-space: nowrap;
}

.ic-board-time { display: none; width: 22px; height: 22px; background-image: url("../../../../images/s10/hsa/user/ic-board-view-time.png"); background-repeat: no-repeat; background-size: contain; background-position: center; }
.ic-board-view { display: none; width: 24px; height: 16px; background-image: url("../../../../images/s10/hsa/user/ic-board-view.png"); background-repeat: no-repeat; background-size: contain; background-position: center; }

.detail-info-wrap {
  border: 1px solid #D1DBDE;
  border-radius: 8px;
  padding: 39px 50px;
}

.detail-attach {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 25px 0 0 0;
  /* 260814 첨부가 2개 이상이면 한 줄에 다 못 들어가 잘리던 문제 - 줄바꿈 허용 */
  flex-wrap: wrap;
  row-gap: 10px;
  min-width: 0;
}

.file-link-text {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #231815;
  font-size: 20px;
  text-decoration: underline;
  white-space: nowrap;
  /* 파일명이 길면 아이콘이 밀려나 잘리던 문제 처리 */
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 파일명(텍스트 노드)만 줄이고 확장자 아이콘은 항상 보이게 */
.file-link-text > .ic-board-icon { flex: 0 0 auto; }

.file-link-text:hover { color: #1BA8DC; }

.faq-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #D9E2E8;
  border-radius: 6px;
  background: #F8FAFC;
}

.faq-file-item .file-link-text {
  min-width: 0;
  color: #334155;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
}

.faq-file-item .file-link-text:hover { color: #1E5698; }

.faq-file-actions {
  display: inline-flex;
  flex-shrink: 0;
  gap: 8px;
}

.btn-file-preview {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 4px 14px;
  border: 1px solid #64748B;
  border-radius: 6px;
  background: #fff;
  color: #475569;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.btn-file-preview:hover { background: #475569; color: #fff; }

.detail-attach:has(.faq-file-item) {
  display: grid;
  gap: 10px;
  align-items: stretch;
}

.detail-attach:has(.faq-file-item) .detail-attach-head {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1E5698;
  font-size: 16px;
  font-weight: 700;
}

.detail-attach:has(.faq-file-item) .attach-count { color: #64748B; font-weight: 400; }

.detail-body {
  padding: 48px 50px 56px;
  font-size: 20px;
  color: #231815;
  line-height: 1.9;
  min-height: 180px;
}

.detail-body p { margin-bottom: 16px; }
.detail-body p:last-child { margin-bottom: 0; }

.detail-body a {
  color: #1BA8DC;
  word-break: break-all;
  text-decoration: underline;
}

.detail-pagination {
  border: 1px solid #D1DBDE;
  border-radius: 8px;
  padding: 0 50px;
}

.detail-pagi-item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid #D9D9D9;
}

.detail-pagi-item:last-child { border-bottom: none; }

.ic-pagi-arrow {
  display: inline-block;
  width: 10px;
  height: 15px;
  background: #231815;
  flex-shrink: 0;
  align-self: flex-start;
}

.ic-pagi-arrow--prev { clip-path: polygon(0% 0%, 100% 50%, 0% 100%); }
.ic-pagi-arrow--next { clip-path: polygon(0% 0%, 100% 50%, 0% 100%); }

.detail-pagi-label {
  font-size: 18px;
  color: #231815;
  min-width: 50px;
  white-space: nowrap;
  align-self: flex-start;
}

.detail-pagi-link {
  font-size: 18px;
  color: #231815;
  text-decoration: none;
}

.detail-pagi-link:hover { color: #1BA8DC; text-decoration: underline; }

.detail-actions {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  padding-bottom: 80px;
}

.btn-board-list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 50px;
  background: #fff;
  color: #1BA8DC;
  font-size: 18px;
  font-weight: 600;
  font-family: "Pretendard", sans-serif;
  border: 1px solid #1BA8DC;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
}

.btn-board-list:hover  { background: #1BA8DC; color: #fff; }
.btn-board-list:active { background: #1E5698; border-color: #1E5698; color: #fff; }

/* ===== 전기학교 입학전형 일정표 ===== */
.schedule-wrap {
  margin-top: 40px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
  /* caption 안 .blind 가 absolute 라 기준 조상이 없으면 스크롤 영역을 뚫고 나간다 */
  position: relative;
}

.schedule-table {
  width: 100%;
  min-width: 1000px;
  border-collapse: collapse;
  border-top: 2px solid #1E5698;
  table-layout: fixed;
}

.schedule-table th {
  padding: 16px 10px;
  font-size: 18px;
  font-weight: 600;
  color: #231815;
  text-align: center;
  border: 1px solid #D9D9D9;
  border-top: none;
  word-break: keep-all;
}

.schedule-table td { 
  padding: 18px 12px;
  font-size: 18px;
  color: #7B7F83;
  border: 1px solid #D9D9D9;
  vertical-align: middle;
  text-align: center;
  word-break: keep-all;
  line-height: 1.6;
  height:83px;
}

.schedule-table .td-jigi {
  font-weight: 700;
  background: #F5F7FA;
  white-space: nowrap;
}

.schedule-table .td-category {
  font-weight: 600;
  background: #F5F7FA;
}

.schedule-table .td-school {
  text-align: left;
  line-height: 1.7;
}

/* 행 헤더 (시기 셀: 전기/후기/추가/수시) */
.schedule-table th[scope="row"] {
  text-align: center;
  vertical-align: middle;
  border: 1px solid #D9D9D9;
  word-break: keep-all;
  height: 83px;
}

/* 우측 border 제거 */
.schedule-table tr > *:last-child { border-right: none; }

/* 우측 정렬 셀 */
.schedule-table .txt-r { text-align: right; }

/* 좌측 정렬 셀 */
.schedule-table .tl { text-align: left; line-height: 1.65; }

/* 학교 목록 소제목 */
.schedule-table .tl p {  margin-bottom: 4px; }

/* 스크린 리더 전용 */
.blind {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}

/* 참고사항 */
.schedule-notes {
  list-style: none;
  margin-top: 24px;
  padding-bottom: 100px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.schedule-notes li {
  font-size: 16px;
  color: #7B7F83;
  line-height: 1.7;
  padding-left: 28px;
  position: relative;
}

.schedule-notes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 20px;
  height: 20px;
  background-image: url("../../../../images/s10/hsa/user/ic-notice.png");
  background-repeat: no-repeat;
  background-size: contain;
}

/* ===== 반응형 ===== */
/* Desktop v2: 1024px~1439px */
@media (min-width: 1024px) and (max-width: 1439px) {
  /* 260707 지원정보 flush-label 반응형(1024~1439) */
  .form-section--flush-label .form-row-group--md { display: flex; flex-direction: row; border-bottom: 1px solid #D9D9D9; }
  .form-section--flush-label .form-row-group--md .form-row { border-bottom: none; flex: 1; }
  .form-section--flush-label .form-row-group--md.form-row-group--divide { border-bottom: 2px solid #231815; }
  .form-section--flush-label .form-field:not(.field-row) > .custom-select,
  .form-section--flush-label .form-field:not(.field-row) > .f-input,
  .form-section--flush-label .form-field > .input-icon-wrap { width: 100%; max-width: 300px; box-sizing: border-box; }
  .form-section--flush-label .form-field > .input-icon-wrap .f-input { width: 100%; }
  .form-section--flush-label .form-field.field-row .custom-select { width: 300px; }
  .form-section--flush-label .field-row--stack-m .custom-select { width: 143px; min-width: 143px; }
  .form-section--flush-label .form-sub-title { font-size: 30px; }
  .form-section--flush-label .form-sub-title-row .form-sub-title { font-size: 26px; }
  .form-section--flush-label .form-sub-title-row .form-sub-notice { font-size: 26px; }
  .form-section--flush-label .field-row:has(.btn-file) .f-input { width: calc(50% + 255px); }
  .schedule-table th  { font-size: 15px; padding: 12px 8px; }
  .schedule-table td  { font-size: 15px; padding: 14px 8px; }
  .schedule-table th[scope="row"] { font-size: 15px; padding: 12px 8px; }
																					  
																					  
  .login-box       { padding: 36px 40px 48px; }
  .detail-title { font-size: 24px; }
  .detail-meta-item { font-size: 16px; padding: 0 16px; }
  .detail-body { font-size: 18px; padding: 36px 0 44px; }
  .detail-pagi-link { font-size: 16px; }
  .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual01-1024.png"); }
  .svisual02 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual02-1024.png"); }
  .svisual03 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual03-1024.png"); }
  .svisual04 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual04-1024.png"); }
  .svisual05 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual05-1024.png"); }
  .svisual06 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual06-1024.png"); }
  .svisual07 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual07-1024.png"); }
  .svisual-title-col1 { font-size: 46px; }
  .svisual-title-col2 { font-size: 46px; }
  .svisual-subtitle { font-size: 22px; }
  .nav-arrow-sep { width: 20px; height: 8px; }
  .page-subtitle { font-size: 40px; margin-top: 100px; margin-bottom: 70px; }
  .privacy-box { margin-top:47px;  padding: 47px 30px 31px 75px; }
  .btn-privacy-view { margin-left:15px; }
  .agree-row {margin-top: 50px;}
  .tab { height: 65px; font-size: 20px; }
  .article { padding-top: 33px; }
  .article-box { padding: 21px 40px; }
  .article-box-title { font-size: 20px; }
  .article-text { font-size: 18px; }
  .article-list-item { font-size: 18px; }
  .article-bullet-list li { font-size: 18px; }
  .form-label { width: 150px; min-width: 150px; font-size: 20px; }
  .f-input--md { width: 280px; }
  .radio-label { font-size: 20px; }
  .form-row-group { flex-direction: column;  }
  .form-row-group .form-row { border-bottom: 1px solid #D9D9D9; max-width: none; }
  .form-row-group--md { display: block; border-bottom: none; }
  /*  !260710: max-width:none 추가 - 로그인/합격확인 등 form-row-group--md 단독 사용 페이지에서
     기본 .form-row{max-width:50%}가 안 풀려 입력칸이 아이콘 폭으로 붕괴하던 버그
     (기존 리셋이 .form-row-group .form-row 로 스코프돼 기본클래스 없는 페이지 미적용) */
  .form-row-group--md .form-row { flex: unset; max-width: none; border-bottom: 1px solid #D9D9D9; border-left: none; }
  .pass-section .form-section { padding: 50px 190px;}
  .pass-section .form-section .form-row-group--md {border-bottom:1px solid #D9D9D9;}
  .pass-section .form-section .form-row-group--md:nth-child(2){border-top:none;}
  
}

/* Tablet: 500px~1023px */
@media (max-width: 1023px) {
  /* 260707 지원정보 flush-label 반응형(≤1023) */
  .form-section--flush-label .form-field:not(.field-row) > .custom-select,
  .form-section--flush-label .form-field:not(.field-row) > .f-input,
  .form-section--flush-label .form-field > .input-icon-wrap { width: 100%; max-width: 300px; box-sizing: border-box; }
  .form-section--flush-label .form-field > .input-icon-wrap .f-input { width: 100%; }
  .form-section--flush-label .form-field.field-row .custom-select { width: 300px; }
  .form-section--flush-label .field-row--stack-m .custom-select { width: 143px; min-width: 143px; }
  .form-section--flush-label .field-row--stack .custom-select { width: 300px; }
  .form-section--flush-label .field-row:has(.btn-file) { flex-direction: column; align-items: flex-start; gap: 8px; }
  .form-section--flush-label .field-row:has(.btn-file) .f-input { width: 300px; }
  .form-section--flush-label .form-label { min-width: 150px; width: 150px; white-space: nowrap; }
  .form-section--flush-label .form-sub-title { padding-left: 5px; }
  .form-section--flush-label .form-sub-title-row .form-sub-title { display: none; }
  .form-section--flush-label .form-row-group--md { border-bottom: 1px solid #D9D9D9; }
  .form-row-group--md.form-row-group--divide { border-bottom: 2px solid #231815; }
  /* ===== svisual01 (고교입학 01) ===== */
  .svisual-image { height: 216px; background-image: url("../../../../images/s10/hsa/user/svisual01-500.png"); }
  
  /* ===== svisual02 (고교현황 02) ===== */
  .svisual02 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual02-500.png"); }
  
  /* ===== svisual03 (원서접수 03) ===== */
  .svisual03 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual03-500.png"); }
  
  /* ===== svisual04 (합격자발표 04) ===== */
  .svisual04 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual04-500.png"); }
  
  /* ===== svisual05 (배정조회 05) ===== */
  .svisual05 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual05-500.png"); }
  
  /* ===== svisual06 (자료실) ===== */
  .svisual06 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual06-500.png"); }
  
  /* ===== svisual07 (로그인) ===== */
  .svisual07 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual07-500.png"); }
  
  .ic-slide-arrow{width:40px; height:50px;}
  .login-box       { padding: 28px 24px 40px;border-right:none;border-left:none;border-bottom:none; }
  .login-site-name { font-size: 24px; }
  .login-site-name span { display:block;}
  .login-greeting  { font-size: 24px; }
  .login-desc  { font-size: 16px; }
  .login-desc span {display: block;}
  
  .auth-card       { padding: 28px 16px; }
  .auth-card-icon  { width: 80px; height: 80px; }
  .auth-card-title { font-size: 30px; margin-bottom: 18px; }
  .pass-result-header { padding: 14px 20px; }
  .pass-result-body { padding: 20px; }
  .pass-badge { font-size: 24px; padding: 18px; }
  .pass-result-table th { width: 110px; }
  .detail-head { flex-direction: column; align-items: flex-start;  gap: 12px; padding: 0; }
  .detail-title { font-size: 18px; border-bottom:1px solid #D9D9D9; padding-bottom:18px; width:100%}
  .detail-meta { flex-wrap: wrap;  padding-bottom:18px;}
  .detail-meta-item { font-size: 15px; padding: 0 10px; }
  .detail-pagination{padding:0 25px;}
  .detail-attach{padding-top:17px;}
  .detail-meta-item:first-child { padding-left: 0; }
  .detail-body { font-size: 16px; padding: 32px 0 40px; }
  .detail-pagi-item { gap: 14px;  padding: 25px 0px 25px 0px;}
  .detail-pagi-label { font-size: 16px; min-width: 44px; }
  .detail-pagi-link { font-size: 16px; padding-left:10px;}
  .schedule-wrap      { margin-top: 32px; }
  .schedule-table     { min-width: 940px; }
  .schedule-table th  { font-size: 14px; padding: 10px 6px; }
  .schedule-table td  { font-size: 14px; padding: 12px 6px; }
  .schedule-table th[scope="row"] { font-size: 14px; padding: 10px 6px; }
  .schedule-notes li  { font-size: 15px; }

  .svisual { padding-bottom: 0; }
  .svisual-title-col1 { font-size: 46px; }
  .svisual-title-col2 { font-size: 46px; }
  .svisual-text { font-size:32px;left: auto; right: 19px; transform: translateY(-50%); text-align: right; }
  
  .svisual-subtitle { font-size: 20px; text-align: center; max-width:170px; white-space: normal; word-break: keep-all; }
  .svisual-subtitle span{ display:block; }
  .nav-home-link { display:none;}
  .ic-nav-share { width: 17px; height: 19px; }
  .ic-nav-print { width: 22px; height: 20px; }
  .nav-arrow-sep { width: 20px; height: 8px; margin: 0 14px 0 4px; }
  .nav-path-text {  width: 146px; font-size: 16px; font-weight: 600; }
  .page-subtitle { font-size: 28px; margin-top: 80px; margin-bottom: 62px; }
  .tab-group { flex-wrap: wrap; border-bottom: none; border-right: 1px solid #D9D9D9;}
  .tab { height: 68px; font-size: 18px; border-bottom: 1px solid #D9D9D9; border-right: none; }
  /* 원서접수 6탭 바: 3열 wrap + 마지막 줄 자동 채움(탭 4·5·6개 동적 대응). 안내 탭은 기존 flex-wrap 유지 - 260707 */
  .tab-group[aria-label*="원서접수"] { display: flex; flex-wrap: wrap; }
  .tab-group[aria-label*="원서접수"] .tab { flex: 1 1 33.333%; height: auto; min-height: 68px; font-size: 17px; padding: 20px 6px; box-sizing: border-box; min-width: 0; }
  .article { padding-top: 32px; }
  .article-box { padding: 17px 20px; }
  .article-box-title { font-size: 18px; }
  .article-text { font-size: 18px; }
  .article-list-item { font-size: 18px; }
  .article-bullet-list li { font-size: 18px; }
  .form-row { flex-direction: row;  }
  .form-row-group { flex-direction: column;  }
  .form-row-group .form-row { border-bottom: 1px solid #D9D9D9; max-width: none; }
  .form-row-group--md { display: block; border-bottom: none; }
  /* !260710: max-width:none 추가 - form-row-group--md 단독 사용 페이지(로그인/합격확인/아이디찾기 등) 모바일 입력칸 붕괴 수정 */
  .form-row-group--md .form-row { flex: unset; max-width: none; border-bottom: 1px solid #D9D9D9; border-top: none; border-left: none; }
  .form-section .form-row-group--md:first-child .form-row:first-child { border-top: 1px solid #D9D9D9; }
  .form-label { min-width: 123px; width: 123px; margin-left: 0; border-right: none; padding: 12px 0 12px 16px; font-size: 16px; }
  .form-field { padding: 12px 0 12px 1px; }
  
  .f-input--md { width: 100%; }
  .f-input--full { width: 100%; }
  .f-input--date { width: 100%; }
  .f-select { width: 100%; }
  .radio-label { font-size: 18px; }
  .privacy-box { padding: 34px 28px 13px 28px;display: inline-block; }
  .privacy-box-title { display: inline-block; font-size: 18px; line-height: 1.5;position:relative;padding-left:20px;}
  .privacy-box-title::before {content:'';position:absolute;left:0;top:7px;width: 8px; height: 8px; background: #1E5698; border-radius: 50%;}
  .privacy-box-text { display: inline; font-size: 18px; line-height: 1.5; }
  .btn-privacy-view { font-size: 18px; width: 280px; margin: 10px 0 0; justify-content: center; margin-left:20px;}
  .agree-row { align-items: flex-start; font-size: 20px; max-width: 340px;margin-top:27px; margin-left:20px;}
  .agree-label { padding-top: -1px; font-size:20px;}
  .agree-checkbox {border-width: 2px;margin-top:3px;}
  .btn-save, .btn-list{font-size: 16px; }
  .form-row .field-row:has(.btn-search-sm) { position: static; padding-bottom: 0; width: 100%; }
  .form-row .field-row:has(.btn-search-sm) .input-icon-wrap { flex: 1; }
  .pass-section { position: relative; /*padding-bottom: 80px; - 499이하 너무 많이 남아서 주석처리 */ }
  .pass-section .form-section { padding: 0; border:none;border-radius:0px; border-top:1px solid #D9D9D9;}
  /*.pass-section .btn-search-sm { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } - 버튼위치가 고정되어 이를 주석 처리 함 */
  .pass-section .form-section .form-row-group--md {border-top:1px solid #D9D9D9;border-bottom:1px solid #D9D9D9;}
  .pass-section .form-section .form-row-group--md:first-child
  , .pass-section .form-section .form-row-group--md:nth-child(2)
  ,.form-section .form-row-group--md:first-child .form-row:first-child{border-top:none;}
  .pass-note {  padding: 27px 0 0 0; }
  .pass-section .form-label, .pass-section .form-field { padding-left:0 !important; padding-right:0 !important; }
 
  .btn-board-search { border-left:none;}
  .board-header { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; height: auto; margin-bottom: 20px; }
  .board-search { max-width: 320px; position: relative; }
  .board-table { display: none; }
  .board-cards { display: block; }
  .board-bottom { flex-direction: column; gap: 20px; }
  .board-write { position: static; }
  .board-search-select { min-width: 80px; }
  .board-search .custom-select { min-width: 80px; }
  .board-card-label { color:#231815; margin-right: 8px; }
  .board-card-title .badge-notice { margin-right: 8px; }
  .board-card-num { color: #1E5698; margin-right: 8px; }

  .board-search-input { padding: 0 60px 0 0;  min-width: 80px;}
  .btn-board-search { position: absolute; right: 0; top: 0; height: 100%; }
  .detail-info-wrap { padding: 26px 23px; }
  .ic-board-png{width:25px; height:27px;}
  .file-link-text{font-size:16px;}
  /* 모바일 첨부파일 : 세로로 1개씩 */
  .detail-attach{ flex-direction: column; align-items: flex-start; gap: 10px; }
  .detail-attach .file-link-text{ width: 100%; }
  .board-card-title a { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .board-card-title .ic-attach { display: none; }
  .board-card-meta span { display: flex; align-items: center; gap: 6px; }
  .ic-board-person { width: 18px; height: 18px; background-image: url("../../../../images/s10/hsa/user/ic-board-person.png"); }
  .ic-board-time, .ic-board-view { display: none; }
  .detail-meta-item .ic-board-time,
  .detail-meta-item .ic-board-view { display: inline-block; }

  .board-search .custom-select-menu li {font-size:medium}
  .board-search .custom-select-menu li.is-selected span { color: #1BA8DC; font-weight: 700; }
  .login-greeting span {display:block;}
  .auth-section { padding: 0px 0 100px; }
   
  .page-nav-dropdown-menu { top: 39px; }   
}

/* Mobile: ~499px */
@media (max-width: 499px) {
  /* 260707 지원정보 flush-label 반응형(≤499) */
  .form-section--flush-label .form-field .custom-select { width: 165px; min-width: 165px; }
  .form-section--flush-label .form-field .custom-select.custom-select--sm30 { width: 135px; min-width: 135px; margin-left: auto; margin-right: 8px; }
  .form-section--flush-label .form-field > .f-input { width: 165px; }
  .form-section--flush-label .form-label { min-width: 140px; width: 140px; padding-left: 15px; }
  .form-section--flush-label .field-row--stack-m .custom-select { width: 74px; min-width: 74px; }
  .form-section--flush-label .field-row:has(.btn-file) .f-input { width: 165px; }
  .form-section--flush-label .form-field > .f-input--mr-m { margin-left: auto; margin-right: 8px; }
  /* ===== svisual01 (고교입학 01) ===== */
  .svisual-image { height: 216px; background-image: url("../../../../images/s10/hsa/user/svisual01-360.png"); }
  
  /* ===== svisual02 (고교현황 02) ===== */
  .svisual02 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual02-360.png"); }
  
  /* ===== svisual03 (원서접수 03) ===== */
  .svisual03 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual03-360.png"); }
  
  /* ===== svisual04 (합격자발표 04) ===== */
  .svisual04 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual04-360.png"); }
  
  /* ===== svisual05 (배정조회 05) ===== */
  .svisual05 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual05-360.png"); }
  
  /* ===== svisual06 (자료실) ===== */
  .svisual06 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual06-360.png"); }
  
  /* ===== svisual07 (로그인) ===== */
  .svisual07 .svisual-image { background-image: url("../../../../images/s10/hsa/user/svisual07-360.png"); }

  .svisual-image {border:none;}
  .svisual-text { font-size:32px; right: 10px;  }
  .svisual-subtitle { font-size:18px;  }
  .board-detail {padding-top:0;}
  .board-table { display: none; }
  .board-cards { display: block; }
  .board-header { flex-direction: column; align-items: center; gap: 10px; }
  .board-header .board-total { text-align: center; }
  .board-search { max-width: 100%; width: 100%; position: relative; }
  .btn-board-search { position: absolute; right: 0; top: 0; height: 100%; }
  .board-search-input { padding: 0 60px 0 0; }
  .page-arrow { display: flex; }
  .page-btn--hide-m { display: none; }
  .btn-write { gap: 10px; min-width:111px; height: 47px; }
  
  .page-nav .nav-home-link {display: none;}
  .pass-confirm-msg { max-width:268px; margin:0 auto;}
  .pass-confirm-link { max-width:238px; margin:10px auto;}
  .login-box   { padding: 24px 0;  }
  .auth-cards  { flex-direction: row; }
  .auth-card   { flex: 0 0 calc(50% - 0.5px); width: calc(50% - 0.5px); padding: 24px 12px; }
  .auth-divider { width: 1px; height: auto; align-self: stretch; }
  .auth-card-title { font-size: 24px; }
  .btn-auth { min-width: 130px; padding: 0 20px;}
  .board-card-title a { white-space: normal; overflow: visible; text-overflow: clip; }
  .board-card-text { display: block; margin-top: 4px; }
  .pass-result-table th,
  .pass-result-table td { padding: 12px 12px; font-size: 16px; }
  .pass-result-table th { width: 90px; }
  .detail-info-wrap { padding: 26px 23px; }
  .detail-attach { border-bottom: 1px solid #D9D9D9; }
  .detail-pagination { padding: 15px 20px; }
  .ic-pagi-arrow{ width:9px; height:11px;margin-top:5px;}
  .detail-title { font-size: 18px; }
  .detail-meta-item:first-child .detail-meta-value {margin-right:10px;}
  .detail-meta-item { font-size: 13px; padding: 0; }
  .detail-body { font-size: 16px; padding: 14px 0 32px; }
  .detail-pagi-item { gap: 10px; padding: 10px 0 10px 0; }
  .detail-pagi-label { font-size: 14px; min-width: 38px; }
  .detail-pagi-link { font-size: 14px; }
  .schedule-table     { min-width: 860px; }
  .schedule-table th  { font-size: 13px; padding: 8px 6px; }
  .schedule-table td  { font-size: 13px; padding: 10px 6px; }
  .schedule-table th[scope="row"] { font-size: 13px; padding: 8px 6px; }
  .schedule-notes li  { font-size: 14px; }
  .svisual-title-col1 { font-size: 32px; }
  .svisual-title-col2 { font-size: 32px; }
  .svisual-subtitle { font-size: 18px; }
  .page-subtitle { font-size: 28px;  }
  .tab { height: 60px; font-size: 18px; padding: 0 14px; border-left: 1px solid #D9D9D9; }
  /* 원서접수 6탭: 모바일 2줄 허용 + 줄바꿈 노출 - 260707 퍼블적용 */
  .tab-group[aria-label*="원서접수"] .tab { height: auto; min-height: 60px; padding: 20px 8px; line-height: 1.25; }
  .tab-group[aria-label*="원서접수"] .tab-br-m { display: inline; }
  .article-title { font-size: 16px; }
  .article-box { padding: 14px 16px; }
  .article-box-title { font-size: 16px; }
  .article-text { font-size: 16px; }
  .article-list-item { font-size: 16px; }
  .article-bullet-list li { font-size: 16px; }
  .f-input { font-size: 16px; }
  .f-select { font-size: 16px; }
  .form-field .custom-select-btn { font-size: 16px; }
  .form-row { flex-direction: row; }
  .form-row-group { flex-direction: column; border-bottom: 1px solid #D9D9D9; }
  .form-row-group .form-row { border-bottom: 1px solid #D9D9D9; max-width: none; }
  .form-label { min-width: 103px; width: 103px; min-height:100px; border-right: none; padding: 12px 16px; font-size: 16px; }

  .form-actions { flex-direction: row; align-items: center; justify-content: center; }
  .radio-group { justify-content: flex-start; gap: 12px 18px; flex-wrap: wrap;}
  .radio-group .radio-label {font-size:16px; white-space:nowrap;}
  .radio-group .radio-item { flex-shrink: 0; }
  .radio-custom { width: 22px; height: 22px; }
  .field-row:has(.btn-file) { flex-direction: column; align-items: flex-start; gap: 8px; }
  .field-row:has(.btn-file) .f-input { align-self: stretch; }
  .form-row:has(.file-desc) { align-items: flex-start; }
  .form-row:has(.file-desc) .form-label { min-height: 148px; /*auto; - 499이하 위치 조정 */ }
  .file-desc { width: calc(100% + 103px); margin-left: -103px; font-size: 13px; }
  .field-col .field-row:has(.btn-search-sm) { flex-direction: column-reverse; align-items: flex-start; gap: 8px; }
  .field-col .field-row:has(.btn-search-sm) .f-input--md { align-self: stretch; }
  .field-row--stretch:has(.btn-search-sm) { flex-direction: column; align-items: flex-start; gap: 8px; }
  .field-row--stretch:has(.btn-search-sm) .f-input { flex: unset; width: 100%; }

  .privacy-box { padding: 17px 0px; border-radius:0; border-left:none;border-right:none; }
  .privacy-box-title:before { width:0;height:0;}
  .privacy-box-title {padding-left:0px;}
  .btn-privacy-view {margin-left:0px;width:100%;}
  .agree-row {margin-left:0px;}

  .pass-section .form-section .form-field { padding-right: 0; }
  .form-actions button {width:120px;}

  .page-nav {padding:0;}
  .article-num-box { padding: 0px; }
  .article-title{ padding-left:0}
  .article-bullet-list {padding:0;}
  .page-nav-dropdown-menu {
    top: 40px;
    left: -38px;
    min-width: 100px;
   }   
   
  .page-nav-dropdown:last-child  .page-nav-dropdown-menu{
    top: 40px;
    left: -38px;
    min-width: 100px;
  }
  .nav-arrow-sep {margin-left:0px;margin-right:9px;}
  .nav-path-text {width:116px;}
  .btn-page-share {padding:0;}
  .btn-page-print {display:none;}
  .detail-title, .detail-attach{border-bottom:0;}
  .board-search .custom-select-menu li {font-size:medium}
  .board-search .custom-select-menu li.is-selected span { color: #1BA8DC; font-weight: 700; }
  .page-nav-dropdown-menu li a.is-active, .page-nav-dropdown-menu li a:active {padding-right:20px;}

}

/* ========== 별도 추가 내용 ========== */
/* (추가) 테블릿 이상 화면에서만 적용 되는 것들 */
@media (min-width: 500px) {
  .lg-ml-10 {
    margin-left: 10px;
  }
}

/* ===== 회원가입 출신학교 select 2단 레이아웃 ===== */
.school-select-wrap {
  display: flex;
  flex-direction: row;
  gap: 8px;
  width: 100%;
}

.school-select--sido {
  flex: 3;   /* 30% */
}

.school-select--name {
  flex: 7;   /* 70% */
}

.btn-refer {
  font-size: 18px;
  width: 150px;
  height: 40px;
  margin-left: auto;
}

@media (max-width: 499px) {
  /* 500px 미만: 2줄로 전환 */
  .school-select-wrap { 
    flex-direction: column;
    gap: 8px;
  }

  .school-select--sido{
    flex: unset;
    width: 60%;
  }
  
  .school-select--name {
    flex: unset;
    width: 100%;
  }
  
  /* 500px 미만: 조회영역이 벗어나지 않게 */
  .board-search-form {
    width: 100%;
  }
  
  /* 260814 푸터 링크줄 - 1023px 이하 공통 규칙(layout.css)으로 일원화.
     여기서는 링크 줄만 가운데 정렬로 맞춘다. */
  .footer-nav {
    justify-content: center;
    padding-bottom: 4px;
  }
}
/* 고교현황 검색영역 모바일 2단 배치 */
@media (max-width: 1023px) {
  .board-search--dual-select {
    flex-wrap: wrap;
    max-width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .board-search--dual-select .custom-select {
    width: 50% !important;
    flex: 0 0 50% !important;
    border: 1px solid #7B7F83;
    box-sizing: border-box;
    border-bottom: none;
  }
  .board-search--dual-select #region-select {
    border-radius: 8px 0 0 0;
    border-right: none;
  }
  .board-search--dual-select #attr-select {
    border-radius: 0 8px 0 0;
  }
  .board-search--dual-select #attr-select .custom-select-btn {
    border-right: none !important;
  }
  /* 모바일 - 학교현황 콤보 글자 튀어나옴 수정 */
  .board-search--dual-select .custom-select { min-width: 0; }
  .board-search--dual-select .custom-select-btn {
    display: block;
    padding: 0 28px 0 12px;   /* 우측은 화살표 자리 확보 */
    font-size: 15px;
    overflow: hidden;
  }
  .board-search--dual-select .custom-select-text {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;  /* 길면 … 로 줄임 */
    white-space: nowrap;
  }
  .board-search--dual-select .custom-select-btn::after { right: 8px; }
  /* 펼친 목록은 버튼보다 넓게 - 좁은 칸에 맞추면 옵션명을 읽을 수 없다 */
  .board-search--dual-select .custom-select-menu {
    width: max-content;
    max-width: 88vw;
  }
  .board-search--dual-select #attr-select .custom-select-menu {
    left: auto; right: -1px;   /* 우측 칸이라 오른쪽 기준 정렬(화면 밖 이탈 방지) */
  }
  .board-search--dual-select .custom-select-menu li { font-size: 15px; white-space: normal; }
  .board-search--dual-select .board-search-input {
    width: 100% !important;
    flex: 0 0 100% !important;
    border: 1px solid #7B7F83 !important;
    border-radius: 0 0 8px 8px;
    padding: 0 60px 0 16px !important;
    box-sizing: border-box;
  }
  .board-search--dual-select .btn-board-search {
    position: absolute;
    right: 0;
    bottom: 0;
    top: auto !important;
    height: 60px !important;
    border-left: none !important;
    border-radius: 0 0 8px 0 !important;
  }
}

/* ── 노티박스(.notice-box) 세로쪼개짐 방지─────────────────
   .notice-box는 display:flex라 텍스트 노드·<b>가 각각 익명 flex 아이템이 되어
   좁은 화면에서 한 글자 폭으로 세로로 깨짐 → 모바일에서는 block + 인라인 아이콘으로
   글이 순서대로 가로로 흐르며 자연 줄바꿈 되도록 함. (퍼블 override 받으면 재적용 확인) */
@media (max-width: 1023px) {
  .notice-box { display: block; }
  .notice-box::before { display: inline-block; margin-right: 8px; vertical-align: -2px; }
}

.notice-box {
  display: block;
  padding-left: 42px;          /* 아이콘(18px) + 간격 확보 -> 2행부터 아이콘 아래로 안 파고듦 */
  text-indent: -24px;          /* 1행만 아이콘 자리만큼 당겨 아이콘과 붙임 */
}
.notice-box::before {
  display: inline-block;
  margin-right: 6px;
  vertical-align: -2px;
  text-indent: 0;              /* 부모 text-indent 상속 차단 */
}
@media (max-width: 1023px) {
  /* 모바일은 기존(260708) 동작 유지 - 들여쓰기 없이 아이콘+본문 자연 흐름 */
  .notice-box { padding-left: 16px; text-indent: 0; }
  .notice-box::before { margin-right: 8px; }
}

/* ============================================================
   [260709] 접수절차안내(sub12, 3차 퍼블) step 스타일 이관 — procedure.jsp 전용
   기존 .step-* 규칙을 아래 블록이 덮어씀(동일 특이도, 후순위 우선).
   ★퍼블 산출물이 contents.css 를 통째로 덮으면 이 블록 재적용 필요(pending #1과 동일)
   ============================================================ */
.step-nav{
  display: flex;
  border-top: 4px solid #1E5698;
  width: 100%;
  border-left:1px solid #D9D9D9;
  border-right:1px solid #D9D9D9;
}
.step-nav-item{
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 84px;
  padding: 0 8px;
  font-family: "Pretendard", sans-serif;
  background: #fff;
  border: none;
  border-right: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
  font-size: 24px;
  line-height: 40px;
}
.step-nav-item:last-child{ border-right: none; }
.step-nav-item.is-active{
  background: #1E5698;
  border-color: #1E5698;
}
.step-nav-item:hover:not(.is-active){ 
  background: #e4eaf2;
}
.step-nav-item:hover:not(.is-active) span{
  color:#000000; 
}
.step-nav-num{
  font-weight: 600;
  color: #231815;
}
.step-nav-item.is-active .step-nav-num{ color: #fff; }
.step-nav-name{
  font-weight: 600;
  color: #231815;
}
.step-nav-item.is-active .step-nav-name{ color: #fff; }
.step-slide-outer{
  display: flex;
  align-items: stretch;
  border: 1px solid #D9D9D9;
  border-top: none;
  min-height: 558px;
  height: auto;
  background-image: url("../../../../images/s10/hsa/user/bg-app-result.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 100%;
}
.step-slide-btn{
  width: 70px;
  height: 91px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}
.step-slide-btn:hover .ic-slide-arrow{ background-image: url("../../../../images/s10/hsa/user/ic-app-arrow-over.png"); }
.step-slide{ flex: 1; overflow: hidden; display: flex; align-items: center; padding: 0 0 0 558px; }
.step-panel{
  display: none;
  align-items: center;
  gap: 48px;
}
.step-panel.is-active{ display: flex; }
.step-panel-circle{
  flex-shrink: 0;
  width: 188px;
}
.step-panel-circle img{
  display: block;
  width: 100%;
  height: auto;
}
.step-panel-info{
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 20px;
}
.step-panel-num{
  font-size: 44px;
  font-weight: 900;
  color: #1BA8DC;
  line-height: 1;
}
.step-panel-title{
  font-size: 40px;
  font-weight: 900;
  color: #1E5698;
}
.step-panel-desc{
  width: 100%;
  font-size: 38px;
  font-weight: 600;
  color: #231815;
  line-height: 1.7;
}
.step-content{
  margin-top: 40px;
  padding-bottom: 80px;
  font-size: 18px;
  color: #7B7F83;
  line-height: 1.7;
}
.step-detail-body{ padding: 10px 0 0; font-size: 28px; font-weight:500; color: #231815; line-height: 1.3; }
.step-detail-bullet{ display: flex; gap: 8px; margin-bottom: 10px;font-size:28px; }
.step-detail-bullet::before{ content: '·'; color: #1BA8DC; flex-shrink: 0; }
.step-step-label{ display: inline-flex; align-items: center; background: #1E5698; color: #fff; padding: 6px 20px; border-radius: 4px; font-size: 28px; font-weight: 700; margin: 37px 0 5px; }
.step-step-label--orange{ background: #FC8B17; height:54px; border-radius:8px;}
.step-detail-note{ font-size: 28px; color: #434342; line-height: 1.5; padding-left: 12px; margin-bottom: 2px; }
.step-detail-note::before{ content: "※ "; color: #FC8B17; }
#step-panel-2 .step-detail-bullet::before{ color: #FC8B17; }
.br-t{ display: none; }
.br-m{ display: none; }
.step-panel--stack{ align-items: flex-start; margin-left: -250px; }
.step-panel-lead{ display: flex; flex-direction: column; align-items: center; gap: 16px; flex-shrink: 0; }
.step-panel--stack .step-panel-info{ flex: none; justify-content: center; }
.step-panel--stack .step-detail-body{ flex: 1; padding-top: 0; }
.step-panel--stack .step-detail-body > :first-child{ margin-top: 0; }
#step-panel-4 .step-detail-body .step-detail-bullet:first-child{margin-top:10px;}
#step-panel-5 .step-detail-body .step-detail-bullet:first-child{margin-top:10px;}
#step-panel-2.step-panel--stack{ padding-top: 60px; padding-bottom:50px; }
#step-panel-1 .step-detail-bullet{ margin-bottom: 3px; }
#step-panel-2 .step-detail-bullet{ margin-bottom: 3px; }
#step-panel-2 .step-panel-info{margin-top:76px;}
#step-panel-3 .step-detail-bullet + .step-detail-bullet,
#step-panel-4 .step-detail-bullet + .step-detail-bullet,
#step-panel-5 .step-detail-bullet + .step-detail-bullet{ margin-top: 30px; }

/* 260730 신규: 접수절차안내 -> 전형선택(receiveHome.do) 유도 CTA. 시안(모바일/웹) 확인 후 반영. */
.step-cta-box{
  position: relative;
  margin-top: 24px;
  padding: 34px 24px;
  border: 2px dashed #1BA8DC;
  border-radius: 12px;
  text-align: center;
  background: linear-gradient(180deg,#f4fbff,#ffffff);
}
.step-cta-lead{ font-size: 22px; font-weight: 700; color: #231815; margin: 6px 0 6px; }
.step-cta-sub{ font-size: 16px; color: #7B7F83; margin: 0 0 20px; }
.step-cta-btn{
  display: inline-flex; align-items: center; gap: 8px;
  height: 60px; padding: 0 32px;
  background: #1BA8DC; color: #fff;
  font-size: 22px; font-weight: 700; font-family: "Pretendard", sans-serif;
  border: none; border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(27,168,220,.3);
  transition: background 0.15s;
  /* 클릭 유도 -  글로우 바깥에 링 형태 그림자를 2초 주기로 퍼뜨렸다 없앰. */
  animation: ctaGlowPulse 2s ease-in-out infinite;
}
.step-cta-btn:hover{ background: #1E5698; }
@keyframes ctaGlowPulse{
  0%, 100% { box-shadow: 0 6px 16px rgba(27,168,220,.3), 0 0 0 0 rgba(27,168,220,.55); }
  50%      { box-shadow: 0 6px 16px rgba(27,168,220,.3), 0 0 0 10px rgba(27,168,220,0); }
}
.step-cta-arrow{ font-size: 22px; }
.step-cta-note{ margin-top: 12px; font-size: 14px; color: #a7adb5; }
@media (min-width: 1024px) and (max-width: 1439px){
.step-nav-item{ height: 65px; font-size: 20px;}
.step-panel-num{ font-size: 30px; }
.step-panel-title{ font-size: 30px; }
.step-panel-desc{ font-size: 30px; }
.step-slide-outer{  min-height:451px;background-image: url("../../../../images/s10/hsa/user/bg-app-result-1024.png"); }
.step-slide{ padding: 0 0 0 330px; }
#step-slide .step-detail-body,
  #step-slide .step-detail-bullet,
  #step-slide .step-step-label,
  #step-slide .step-detail-note{ font-size: 22px; font-weight: 600; }
.step-panel{gap:28px;}
#step-slide .step-panel-num{font-size:38px;}
#step-slide .step-panel-title{ font-size: 30px; }
.step-panel-circle{width:139px;}
.step-panel-info{ gap:0 13px;}
.step-step-label--orange.step-step-label{height:46px !important;padding-right:30px;padding-left:30px;}
#step-panel-2 .step-detail-bullet{font-size:18px;font-weight:600;}
#step-panel-2 .step-detail-note{font-size:18px;}
#step-panel-5 .step-detail-body .step-detail-bullet:first-child
  ,#step-panel-5 .step-detail-body .step-detail-bullet:first-child{margin-top:0px;}
.step-detail-body .step-detail-note{color:#434342;}
}
@media (max-width: 1023px){
.step-nav{ display: grid; grid-template-columns: repeat(3, 1fr);  }
.step-nav-item{ height: 68px; font-size: 18px; font-weight: 700; border-right: 1px solid #D9D9D9; }
.step-nav-item:nth-child(3n){ border-right: none; }
.step-nav-num{ font-size: 18px; font-weight: 700; }
.step-nav-name{ font-size: 18px; font-weight: 700; }
.step-panel{ padding: 20px 0 0 0; gap: 20px; flex-direction: column; text-align: center; }
.step-panel-circle{ width:139px; }
.step-panel-num{ font-size: 28px; }
.step-panel-title{ font-size: 30px; }
.step-panel-desc{ font-size: 16px; width:130px;line-height:1.3}
.step-panel-info{justify-content: center;gap: 20px 10px;}
#step-panel-1 .step-detail-body, #step-panel-3 .step-detail-body, #step-panel-6 .step-detail-body{ width: 100%; }
.step-slide-btn{width:50px;}
.step-slide-outer{ position: relative; }
.step-slide-btn{ position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.step-panel{ width: 100%; }
.step-slide{ flex: 1; overflow: hidden; display: block; width:150px; padding: 100px 0 0 100px; }
.step-slide-outer{ background:none;  min-height:371px; }
.step-slide{padding:60px 0  60px 0;}
.step-slide .step-panel-num .step-panel-title{text-align:center;}
.step-slide .step-detail-body .step-detail-bullet{display:block;text-align:center;font-size:18px;}
.step-slide .step-detail-body .step-detail-bullet::before{margin-right:4px;}
.step-panel-circle{width:105px;}
.br-t{ display: inline; }
#step-panel-2 .step-step-label--orange{font-size:20px;height:auto !important;display:inline-block;line-height:1.35;padding:6px 14px;text-align:center;margin-bottom:12px;}
#step-panel-2 .step-detail-bullet{font-size:17px;font-weight:500;}
#step-panel-2 .step-detail-note{font-size:18px;color:#231815;}
#step-panel-2 .step-panel-info{margin-top:0px;}
.step-panel-num{font-size:30px;}
.step-panel-title{font-size:28px;}
.step-detail-body{ font-size: 20px; }
.step-detail-bullet{ margin-bottom: 2px; }
.step-step-label{ font-size: 15px; padding: 3px 14px; margin: 10px 0 4px; }
.step-detail-note{ font-size: 16px; line-height: 1.6; }
.step-panel--stack{ margin-left: 0; align-items: center; }
.step-panel-lead{ flex-direction: column-reverse; gap: 0px; align-items: center; }
#step-panel-1 .step-panel-lead, #step-panel-2 .step-panel-lead, #step-panel-3 .step-panel-lead,
  #step-panel-4 .step-panel-lead, #step-panel-5 .step-panel-lead{gap:20px;}
#step-panel-4 .step-panel, #step-panel-5 .step-panel{gap:0px;}
#step-panel-2.step-panel--stack{ padding-top: 0; }
.step-cta-box{ padding: 26px 18px; margin-top: 20px; }
.step-cta-lead{ font-size: 18px; }
.step-cta-sub{ font-size: 14px; margin-bottom: 16px; }
.step-cta-btn{ height: 52px; padding: 0 24px; font-size: 18px; }
}
@media (max-width: 499px){
.br-m{ display: inline; }
.step-slide-outer{  background:none; min-height:415px;}
.step-nav{ grid-template-columns: repeat(2, 1fr); }
.step-nav-item{ height: 60px; padding: 0 4px; }
.step-nav-item:nth-child(3n){ border-right: 1px solid #D9D9D9; }
.step-nav-item:nth-child(2n){ border-right: none; }
.step-panel{ padding: 0 0 0 0; gap: 11px;}
.step-panel-num{ font-size: 30px; width: auto; }
.step-panel-info{ flex: none; width: fit-content; }
.step-panel-title{ font-size: 24px; width: auto;line-height:1.2;}
.step-panel-desc{ font-size: 18px; }
.step-slide{ padding: 50px 0 0 0; }
.step-slide-btn{ width: 30px; }
.step-detail-body{ font-size: 14px; }
.step-step-label{ font-size: 13px; padding: 2px 10px; }
.step-detail-note{ font-size: 13px; }
.step-panel-circle{width:98px;}
.step-slide .step-detail-body .step-detail-bullet{font-size:18px;}
.step-cta-box{ padding: 22px 14px; margin-top: 16px; border-radius: 10px; }
.step-cta-lead{ font-size: 16px; margin-bottom: 4px; }
.step-cta-sub{ font-size: 13px; margin-bottom: 14px; }
.step-cta-btn{ display: flex; width: 100%; justify-content: center; height: 48px; font-size: 16px; padding: 0; }
.step-cta-note{ font-size: 12px; }
}
/* [260709 보충] 접수절차 슬라이드 화살표/패널 ID·ic-slide-arrow 모바일 규칙(1차 추출 누락분) */


/* [260709 보충] 접수절차 슬라이드 화살표(#step-prev/next)·패널ID·ic-slide-arrow 모바일 규칙 — 1차 추출 누락분 */
@media (min-width: 1024px) and (max-width: 1439px) {
  #step-slide .step-detail-note { font-size: 22px; font-weight: 600; }
  #step-slide .step-panel-num {font-size:38px;}
  #step-slide .step-panel-title { font-size: 30px; }
  #step-panel-1 { margin-left:-85px !important;}
  #step-panel-2 { margin-left:-110px}
  #step-panel-2 .step-detail-bullet {font-size:18px;font-weight:600;}
  #step-panel-2 .step-detail-note {font-size:18px;}
  #step-panel-3, #step-panel-4, #step-panel-5, #step-panel-6 { margin-left: -90px !important;}
}
@media (max-width: 1023px) {
  #step-panel-1 .step-detail-body, #step-panel-3 .step-detail-body, #step-panel-6 .step-detail-body { width: 100%; }
  #step-prev { left: 0; }
  #step-next { right: 0; }
  .ic-slide-arrow {width:30px;height:40px;}
  #step-panel-2 .step-step-label--orange {font-size:20px;height:auto !important;display:inline-block;line-height:1.35;padding:6px 14px;text-align:center;margin-bottom:12px;}
  #step-panel-2 .step-detail-bullet {font-size:17px;font-weight:500;}
  #step-panel-2 .step-detail-note {font-size:18px;color:#231815;}
  #step-panel-2 .step-panel-info {margin-top:0px;}
  #step-panel-3, #step-panel-4, #step-panel-5, #step-panel-6{margin:0 auto !important;width:100%;}
  #step-panel-2.step-panel--stack { padding-top: 0; }
  #step-panel-1 { margin-left: 0; }
  #step-panel-4 .step-panel-lead, #step-panel-5 .step-panel-lead{gap:20px;}
  #step-panel-4 .step-panel, #step-panel-5 .step-panel{gap:0px;}
}
@media (max-width: 499px) {
  #step-panel-5 {padding-bottom:70px;}
}
