/* 서브 배너 */
.sub-banner {
    background: url('/images/web/sub-visual.png') no-repeat center center;
    background-size: cover;
    height: 295px;
    position: relative;
    display: flex;
}
.sub-banner.school {
    background-image: url('/images/web/sub-school-visual.png');
}
.sub-banner.apply {
    background-image: url('/images/web/sub-apply-visual.png');
}
.sub-banner.memeber {
    background-image: url('/images/web/sub-member-visual.png');
}


/* 배너 콘텐츠 */
.banner-title {
    font-size: 50px;
    font-weight: 700;
    color: #1473E6;
    margin: 75px 0 16px 50px;
    line-height: 1.2;
    text-align: left;
}

/* 왼쪽 네비게이션 메뉴 */
.side-navigation {
    position: absolute;
    left: 40px;
    right: 40px;
    bottom: 0px;
    z-index: 10;
    overflow: visible;
}

/*  side-navigation 2뎁스를 헤더 오른쪽에 인라인 배치 */
.side-nav-inline .sub-nav-menu {
    display: flex;
    align-items: stretch;
}
.side-nav-inline .menu-item {
    position: relative;
}
.side-nav-inline .menu-item .menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 340px;
    border-right: 1px solid #ccc;
}
.side-navigation .sub-nav-menu {
    display: flex;
    flex-direction: row;
    background-color: #ffffff;
    overflow: visible;
    border: 1px solid #ccc;
}

.home-btn {
    width: 79px;
    height: 70px;
    background-color: #1473E6;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
    background-image: url('/images/web/ic-home.png');
    background-size: 21px 23px;
    background-repeat: no-repeat;
    background-position: center;
}

.home-btn:hover {
    background-color: #1565C0;
}

.menu-item {
    background-color: white;
    overflow: visible;
    position: relative;
}

.menu-item.active .sub-menu {
    display: block !important;
    position: absolute;
    top: 100%;
    left: -1px;
    right: 0;
    z-index: 9999;
    background-color: #ffffff;
    border: 1px solid #ccc;
    border-top:none;
    min-width: 200px;
}

.menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 40px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    height: 70px;
    width: 280px;
    border-right: 1px solid #ccc;
    border-left:none;
    border-top:none;
    box-sizing: border-box;
}

.menu-header:hover {
    background-color: #f5f5f5;
}

.menu-title {
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

 .dropdown-arrow {
     transition: transform 0.3s ease;
     width: 11px;
     height: 7px;
     background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7' fill='none'%3e%3cpath d='M0 0L5.5 7L11 0H0Z' fill='black'/%3e%3c/svg%3e");
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
     display: inline-block;
 }

.menu-item.active .dropdown-arrow {
    transform: rotate(180deg);
}

.sub-menu {
    display: none;
    background-color: #ffffff;
    min-width: 200px;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
}
.sub-menu-item {
    display: block;
    padding: 12px 20px 12px 40px;
    text-decoration: none;
    color: #000;
    font-size: 18px;
    transition: background-color 0.2s ease, color 0.2s ease;
    border-top: 1px solid #ccc;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.sub-menu-item:hover {
    background-color: #F5F5F5;
    color: #000;
    font-weight: 700;
}

.sub-menu-item.active {
    background-color: #F5F5F5;
    color: #000;
    font-weight: 700;
}

/* 서브 콘텐츠 */
.sub-content {
    min-height: auto;
    padding: 40px 0 60px 0;
}

.content-container {
    width: 100%;
    margin: 0 auto;
}



.board-title {
    font-size: 36px;
    font-weight: 700;
    color: #000;
    text-align: center;
    padding: 30px 0 35px 0;
    margin: 0;
}

/* 검색 영역 */
.search-area {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 13px 0;
}

.search-info {
    font-size: 18px;
    color: #666;
}

.record-count {
    font-weight: 500;
    font-size: 18px;
}

.highlight-number {
    color: #1473E6;
    font-weight: 700;
}

.search-form {
    display: flex;
    align-items: center;
}

 .search-select {
     padding: 8px 12px;
     border: 1px solid #ccc;
     font-size: 18px;
     background-color: white;
     width: 137px;
     height: 50px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7' fill='none'%3e%3cpath d='M0 0L5.5 7L11 0H0Z' fill='black'/%3e%3c/svg%3e");
    background-position: right 20px center;
     background-repeat: no-repeat;
    background-size: 11px 7px;
     appearance: none;
     -webkit-appearance: none;
     -moz-appearance: none;
 }

.search-input {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-left: none;
    font-size: 18px;
    width: 433px;
    height: 50px;
}

.search-input::placeholder {
    color: #999;
}

.search-input:focus,
.search-input:active {
    border-color: #1473E6;
    border-left: none;
    outline: none;
}

.search-form .search-btn {
    padding: 20px;
    background-color: #1473E6;
    color: white;
    border: none;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s ease;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3e%3cpath d='M21 21L16.514 16.506L21 21ZM19 10.5C19 15.194 15.194 19 10.5 19C5.806 19 2 15.194 2 10.5C2 5.806 5.806 2 10.5 2C15.194 2 19 5.806 19 10.5Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 27px 27px;
    overflow: hidden;
    text-indent: -9999px;
}

.search-form .search-btn:active,
.search-form .search-btn:hover {
    background-color: #4D4D4D;
    border-color: #4D4D4D;
}
/* 지역 선택 영역 */
.region-selection {
    margin: 30px 0;
}

.region-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    max-width: 1200px;
    margin: 0 auto;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
}

.region-btn {
    padding: 12px 16px;
    border: none;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background-color: white;
    color: #333;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.region-btn.all {
    background-color: #E1E1E1;
    border-color: #E1E1E1;
}

.region-btn:hover {
    background-color: #1473E6;
    border-color: #1473E6;
    color: #fff;
}
.region-btn.active {
    background-color: #1473E6;
    border-color: #1473E6;
    color: white;
}

/* 게시판 테이블 */
.board-table {
    overflow-x: auto;
}

/* 카드 리스트 */
.board-list {
    display: block;
    border-top: 2px solid #000;
    border-bottom: 1px solid #000;
 }

.board-item {
    border-bottom: 1px solid #e0e0e0;
    padding: 20px 0;
}

.item-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.category-tag {
    background-color: #00AFEC;
    color: #fff;
    padding: 4px 12px;
    font-size: 18px;
    font-weight: 500;
}

.item-number {
    color: #666;
    font-size: 14px;
}

.item-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.item-title .title-text {
    flex: 1;
    font-size: 18px;
    color: #000;
    cursor: pointer;
    text-align: left;
    width: 100%;
    display: inline-block;
}

.item-title .title-text:hover {
    color: #1473E6;
    text-decoration: underline;
}

.item-meta {
    color: #666;
    font-size: 18px;
}

.item-meta .separator {
    margin: 0 8px;
}

.board-table th {
    padding: 15px 10px;
    text-align: center;
    font-weight: 600;
    color: #000;
    border-top: 2px solid #000;
    border-bottom: 1px solid #000;
    font-size: 18px;
}

.board-table td {
    padding: 15px 10px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
    font-size: 18px;
    color: #333;
}

.board-table tr:hover {
    background-color: #f5f5f5;
}

.title-cell {
    text-align: left !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.title-text {
    flex: 1;
    text-decoration: none;
    color: #000;
    cursor: pointer;
    font-size: 18px;
}

.title-text:hover {
    color: #1473E6;
    text-decoration: underline;
}

.new-badge {
    background-color: #004EA2;
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 50%;
    white-space: nowrap;
    margin-left: 8px;
}

.attach-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: 8px;
    background-image: url('/images/web/ic-link.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* 페이지네이션 */
.pagination-area {
    display: flex;
    justify-content: center;
    padding: 30px;
    border-top: 1px solid #e0e0e0;
}

.pagination-controls {
    display: flex;
    gap: 8px;
    align-items: center;
}

.page-btn {
    border: 1px solid #CCCCCC;
    background-color: white;
    color: #737373;
    cursor: pointer;
    border-radius: 50%;
    font-size: 18px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
}

.page-btn:hover {
    background-color: #1473E6;
    border-color: #1473E6;
    color: #fff;
}
.page-btn:active {
    background-color: #E1E1E1;
    border-color: #CCCCCC;
    color: #666;
}
.page-btn.active {
    background-color: #1473E6;
    border-color: #1473E6;
    color: white;
}

.page-btn.page-nav {
    color: #666;
}

.page-btn.page-nav:hover {
    background-color: #1473E6;
    color: #fff;
}

/* 페이지네이션 화살표 아이콘 */
.page-btn.page-prev {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M6 6L10 10L6 14' stroke='%23737373' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 5px center;
    transform: scaleX(-1);
}

.page-btn.page-next {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M6 6L10 10L6 14' stroke='%23737373' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 5px center;
}
.page-btn.page-first{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M6 6L10 10L6 14M11 6L15 10L11 14' stroke='%23737373' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    transform: scaleX(-1);
}
.page-btn.page-last{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M6 6L10 10L6 14M11 6L15 10L11 14' stroke='%23737373' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
}

/* 페이지네이션 버튼 호버 시 화살표 색상 변경 */
.page-btn.page-prev:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M6 6L10 10L6 14' stroke='%23ffffff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.page-btn.page-next:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M6 6L10 10L6 14' stroke='%23ffffff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.page-btn.page-last:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M6 6L10 10L6 14M11 6L15 10L11 14' stroke='%23ffffff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.page-btn.page-first:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M6 6L10 10L6 14M11 6L15 10L11 14' stroke='%23ffffff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 게시글 상세보기 */
.post-detail {
    border-top: 2px solid #000;
    border-bottom: 1px solid #000;
}

.post-title {
    padding: 53px 0 30px 0;
    text-align: center;
}

.post-title h3 {
    font-size: 32px;
    font-weight: 700;
    color: #000;
    margin: 0;
    line-height: 1.4;
}

.post-meta {
    padding: 0 0 50px 0;
    text-align: center;
    font-size: 18px;
    color: #737373;
    font-weight: 700;
    border-bottom: 1px solid #000;
}

.post-meta .separator {
    margin: 0 10px;
    color: #ccc;
}

.post-content {
    padding: 35px;
    line-height: 1.8;
    font-size: 18px;
    color: #333;
}

.post-content p {
    margin-bottom: 20px;
}

.recruitment-details {
    margin: 30px 0;
}

.recruitment-details ol {
    padding-left: 20px;
}

.recruitment-details li {
    margin-bottom: 15px;
    line-height: 1.6;
}

.recruitment-details strong {
    font-weight: 700;
    color: #000;
}

.recruitment-details em {
    font-style: italic;
    color: #666;
    font-size: 14px;
}

.attachments {
    border-top: 1px solid #CCCCCC;
}

.attachments-container {
    display: flex;
    align-items: stretch;
}

.attachments-container dt {
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    color: #737373;
    background-color: #F5F5F5;
    width: 152px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
}
.attachment-list {
    display: flex;
    flex-direction: column;
    flex: 1;
    /* margin: 0; */
    margin: auto 0; /* 첨부파일 리스트 내 아이템이 하나만 있어도 적절한 위치로 맞추기 위해 margin: 0 대신 margin: auto 사용. 김정환, 250915 */
    padding: 14px 0;
    gap: 12px;
}

.attachment-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    padding-left: 30px;
}

.file-info {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.file-icon {
    width: 24px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

.pdf-icon {
    background-image: url('/images/web/ic-pdf.svg');
}

.hwp-icon {
    background-image: url('/images/web/ic-kodoc.svg');
}

.file-name {
    font-size: 18px;
    color: #737373;
}

.preview-btn {
    display: flex;
    align-items: center;
    padding: 8px 26px 8px 20px;
    background-color: white;
    color: #737373;
    border: 1px solid #000000;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 700;
    margin-left: auto;
}

.preview-icon {
    width: 34px;
    height: 24px;
    background-image: url('/images/web/ic-preview1.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
    margin-right: 20px;
}

.preview-btn:hover {
    background-color: #f5f5f5;
    border-color: #737373;
}

.post-navigation {
    display: flex;
    border-top: 1px solid #ddd;
}

.post-navigation .nav-item {
    flex: 1;
    padding: 55px 20px 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.post-navigation .nav-item.prev {
    border-right: 1px solid #ddd;
}

.nav-label {
    font-size: 18px;
    color: #666;
    position: relative;
    padding-left: 40px;
}

.nav-item.next .nav-label{    
    padding-right: 20px;
}

.nav-label.prev-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url('/images/web/paging-next.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-50%) rotate(180deg);
}

.nav-label.next-label::after {
    content: '';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url('/images/web/paging-next.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.nav-title {
    font-size: 18px;
    color: #737373;
    line-height: 1.4;
    font-weight: 700;
    margin-top:16px;
    padding : 0 50px 0 70px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.post-navigation .nav-item.next {
    text-align: right;
}

/* 게시판상세(사용자) 이전글과 다음글에 동일한 밑줄 표시 추가. 김정환, 250916 */
.post-navigation .nav-item.next .nav-title:hover
, .post-navigation .nav-item.prev .nav-title:hover {
    text-decoration: underline;
}

/* 첨부파일 리스트 내 아이템이 하나만 있어도 아래 CSS가 적용됨. 김정환, 250915 */
/*.attachment-item:last-child {
    border-top: 1px solid #CCCCCC;
    padding-top: 12px;
}*/

/*공통*/ 
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }
.form-group {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #ccc;
}

.form-group:last-child {
    border-bottom: none;
}

.form-label {
    width: 180px;
    font-size: 18px;
    font-weight: 700;
    color: #000000;
    background-color: #F5F5F5;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.form-input {
    flex: 1;
    margin:15px 29px;
    border: 1px solid #CCCCCC;
    font-size: 18px;
    color: #333;
    border-radius: 8px;
    min-height: 50px;
    padding: 0 20px;
    font-family: 'Noto Sans KR', sans-serif; /* input에 폰트추가, 최진호, 250915 */
}

/* 회원가입 생년월일(date-input) 추가, 최진호, 250915 */
.date-input {
    margin: 10px 0;
    border: 1px solid #CCCCCC;
    font-size: 18px;
    color: #333;
    border-radius: 8px;
    min-height: 50px;
    padding: 0 20px;
    font-family: 'Noto Sans KR', sans-serif;
}

/* date-input 추가, 최진호, 250915 */
.form-input:hover, .date-input:hover,
.form-input:focus, .date-input:focus,
.form-input:active, .date-input:active {
    border-color: #1473E6;
}

/* date-input 추가, 최진호, 250915 */
.form-input::placeholder, .date-input::placeholder {
    color: #999;
}

.form-select {
    flex: 1;
    margin:15px 29px;
    font-size: 18px;
    border: 1px solid #CCCCCC;
    color: #333;
    border-radius: 10px;
    min-height: 56px;
    padding: 0 20px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 5' fill='none'%3e%3cpath d='M0 0L4.5 5L9 0H0Z' fill='black'/%3e%3c/svg%3e");
    background-position: right 18px center;
    background-repeat: no-repeat;
    background-size: 9px 5px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* 회원가입용 폼 셀릭트 생성, 최진호, 250915 */
.form-select2 {
    flex: 1;
    margin:10px 0;
    font-size: 18px;
    border: 1px solid #CCCCCC;
    color: #333;
    border-radius: 10px;
    min-height: 50px;
    padding: 0 15px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 5' fill='none'%3e%3cpath d='M0 0L4.5 5L9 0H0Z' fill='black'/%3e%3c/svg%3e");
    background-position: right 18px center;
    background-repeat: no-repeat;
    background-size: 11px 7px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}


/* 포커스/호버 시 첨부 이미지 느낌의 파란 라인과 파란 화살표, form-select2 추가 최진호, 250915 */
.form-select:hover,.form-select2:hover,
.form-select:focus,.form-select2:focus,
.form-select:active,.form-select2:active {
    border-color: #1473E6 !important;
    border-right-color: #1473E6 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 5' fill='none'%3e%3cpath d='M0 0L4.5 5L9 0H0Z' fill='%231473E6'/%3e%3c/svg%3e");
}

/* 옵션 텍스트 파랑 강조, form-select2 추가 최진호, 250915  */
.form-select option, .form-select2 option { font-size: 18px; background-color: #fff; color: #333; padding: 10px 20px; }
.form-select option:hover,.form-select2 option:hover,
.form-select option:focus, .form-select2 option:focus { color: #1473E6; background-color: #fff; }
.form-select option:checked, .form-select2 option:checked,
.form-select:focus option:checked, .form-select2:focus option:checked { background-color: #fff; color: #1473E6; }

/* (원복) 커스텀 셀렉트 제거 */

/* 지망학교 SELECT BOX 시작 */
.applySelect {
    flex: 1;
    margin:15px 29px;
    font-size: 18px;
    border: 1px solid #CCCCCC;
    color: #333;
    border-radius: 10px;
    min-height: 56px;
    padding: 0 20px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 5' fill='none'%3e%3cpath d='M0 0L4.5 5L9 0H0Z' fill='black'/%3e%3c/svg%3e");
    background-position: right 18px center;
    background-repeat: no-repeat;
    background-size: 9px 5px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* 포커스/호버 시 첨부 이미지 느낌의 파란 라인과 파란 화살표 */
.applySelect:hover,
.applySelect:focus,
.applySelect:active {
    border-color: #1473E6 !important;
    border-right-color: #1473E6 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 5' fill='none'%3e%3cpath d='M0 0L4.5 5L9 0H0Z' fill='%231473E6'/%3e%3c/svg%3e");
}

/* 옵션 텍스트 파랑 강조 */
.applySelect option { font-size: 18px; background-color: #fff; color: #333; padding: 10px 20px; }
.applySelect option:hover,
.applySelect option:focus { color: #1473E6; background-color: #fff; }
.applySelect option:checked,
.applySelect:focus option:checked { background-color: #fff; color: #1473E6; }
/* 지망학교 SELECT BOX 끝*/

.expand-btn {
    padding: 12px 20px;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 120px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    position: relative;
}

.expand-btn::after {
    content: '';
    width: 11px;
    height: 7px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7' fill='none'%3e%3cpath d='M0 0L5.5 7L11 0H0Z' fill='black'/%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: none;
    transition: transform 0.3s ease;
}

.expand-btn-gray {
    background-color: #f5f5f5;
    color: #000;
    border: 1px solid #000;
    transition: all 0.3s ease;
    margin: 0 auto;
}

.expand-btn-gray:hover {
    background-color: #D6DEEB;
    color: #1473E6;
    border: 1px solid #1473E6;
}

.expand-btn-gray:hover::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7' fill='none'%3e%3cpath d='M0 0L5.5 7L11 0H0Z' fill='%231473E6'/%3e%3c/svg%3e");
}

.expand-btn-blue {
    background-color: #D6DEEB;
    color: #1473E6;
    border: 1px solid #1473E6;
}

.expand-btn-blue::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7' fill='none'%3e%3cpath d='M0 0L5.5 7L11 0H0Z' fill='%231473E6'/%3e%3c/svg%3e");
    transform: none !important;
}

.expand-btn.active::after {
    transform: rotate(180deg);
}

/* Blue variant active state (override) */
.expand-btn-blue.active::after {
    transform: rotate(180deg) !important;
}

/* 특정 영역 버튼 방향 고정 */
.preference-buttons .expand-btn::after {
    transform: none !important; /* 정보 펼치기: 아래 */
}
.collapse-buttons .expand-btn::after {
    transform: rotate(180deg) !important; /* 정보 접기: 위 */
}
.collapse-buttons {
    display: flex;
        gap: 10px;
    padding: 20px;
    border-bottom: 1px solid #eee;
    justify-content: center;
}

.collapse-btn {
    padding: 12px 20px;
    background-color: #666;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.collapse-btn:hover {
    background-color: #555;
}

/* 버튼 영역 */
.button-area {
    display: flex;
    gap: 20px;
    justify-content: center;
    padding: 40px 0;
}

.btn-white {
    padding: 15px 20px;
    background-color: white;
    color: #1473E6;
    border: 1px solid #1473E6;
    border-radius: 8px;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 200px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-white:hover {
    background-color: #1473E6;
    color: white;
}

.btn-white:active {
    background-color: #4D4D4D;
    border-color: #4D4D4D;
}

.btn-blue {
    padding: 15px 40px;
    background-color: #1473E6;
    color: white;
    border: 1px solid #1473E6;
    border-radius: 8px;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 200px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-blue:hover {
    background-color: #4D4D4D;
    border-color: #4D4D4D;
}

/* 회원가입 - 중복확인 버튼 추가, 최진호, 250915 */
.btn-blue-check {
    margin: 10px 0px 10px 10px;
    padding: 0px 10px;
    background-color: #1473E6;
    color: white;
    border: 1px solid #1473E6;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 90px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 회원가입 - 중복확인 버튼 추가, 최진호, 250915 */
.btn-blue-check:hover {
    background-color: #4D4D4D;
    border-color: #4D4D4D;
}

/* 원서결과조회 폼 스타일 */
/*원서결과조회 start*/
.form-section {
    border-bottom: 1px solid #CCCCCC;
}

.form-section > .section-title {
    background-color: transparent;
    padding: 20px 0;
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #000;
    border-bottom: 2px solid #000;
}

.form-section > .section-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 2px solid #000;
    padding: 20px 0;
    gap: 20px;
}

.section-header .section-title {
    border-bottom: none;
    padding: 0;
    margin: 0;
}
.form-section > .section-header .section-title {
    font-size: 24px;
    color: #000;
}
/* 생년월일과 성별을 한줄로 배치 - PC 버전에서 100% 너비 */
.form-grid .form-group.align-row {
    display: flex;
    align-items: stretch;
    grid-column: 1 / -1; /* 전체 너비 사용 */
    width: 100%;
}


/* 보호자성명과 관계를 한줄로 배치 */
.form-group-full {
    grid-column: 1 / -1;
}
.address-input-group {
    display: flex;
    align-items: center;
    flex: 1;
    margin: 15px 29px;
}

.address-input-group .search-btn {
    /* padding: 20px; 25.09.26, 최진호, 찾아보기 글자를 가운대로 */
    padding: 10px;
    background-color: #1473E6;
    color: white;
    border: none;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s ease;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    height: 50px;
    border-radius: 8px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3e%3cpath d='M21 21L16.514 16.506L21 21ZM19 10.5C19 15.194 15.194 19 10.5 19C5.806 19 2 15.194 2 10.5C2 5.806 5.806 2 10.5 2C15.194 2 19 5.806 19 10.5Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
    background-position: right 20px center;
    background-repeat: no-repeat;
    background-size: 27px 27px;
    padding-right: 50px;
    margin-left: 10px;
}

.address-input-group .form-input {
    /*width: 78%; 251002, 최진호 */
    margin-right: 10px;
    border-right: 1px solid #CCCCCC;
    /*flex: none; 251002, 최진호 */
    flex: 1;
}

.phone-input-group {
    display: flex;
    align-items: center;
    gap: 0;
}

.phone-prefix {
    width: 110px;
    flex-shrink: 0;
    border-right: 1px solid #CCCCCC;
    margin-right:0px;
    flex: 0.6;
}

.phone-number {
    width: 132px;
    border-right: 1px solid #CCCCCC;
    flex-shrink: 0;
    box-sizing: border-box;
    margin-left:10px;
    margin-right:0px;
}
.preference-buttons {
    display: flex;
    gap: 10px;
}

.preference-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 18px;
}

.preference-table th {
    padding: 12px;
    text-align: center;
    font-weight: 700;
    color: #000;
    border-bottom: 1px solid #000; 
}

.preference-table td {
    padding: 12px;
    text-align: center;
    border-bottom: 1px solid #ddd;
    color: #333;
}

/* 로그인,회원가입 스타일 시작 */
.form-container {
    width: 100%;
    margin: 0 auto;
    padding: 40px 20px;
    border-bottom: 1px solid #ccc;
}
.form-title {
    font-size: 32px;
    font-weight: 700;
    color: #000;
    text-align: center;
    margin-bottom: 40px;
    /* border-bottom: 1px solid #000; 페이지제목 아래 밑줄 제거, 최진호, 250915 */
    padding-bottom: 20px;
}

.form-box {
    display: flex;
    flex-direction: column;
    width: 985px;
    margin: 0 auto;
}
.form-box .form-group {
    display: flex;
    flex-direction: row;
    border:none;
    width: 558px;
    margin: 0 auto;
}

.form-box .form-label {
    width: 175px!important;
    height: 70px;
    font-size: 18px;
    font-weight: 700;
    color: #000;
    display: block;
    background-color: #FFF;
    text-align: right;
    width: 115px;
}

.form-box .form-input, .dirth-input {
    height: 50px;
    border: 1px solid #CCCCCC;
    border-radius: 8px;
    padding: 0 15px;
    font-size: 18px;
    box-sizing: border-box;
    width: 450px;
    margin: 10px 0;
}

.form-box .phone-input-group{
    width: 450px;
    gap: 10px;
}


.form-box .form-input {
    width: 95px;
    border-right: 1px solid #CCCCCC;
}
.password-input-group {
    position: relative;
    display: flex;
    align-items: center;
    width: 450px;
}

.password-input-group .form-input {
    height: 50px;
    border: 1px solid #CCCCCC;
    border-radius: 8px;
    padding: 0 15px;
    font-size: 18px;
    box-sizing: border-box;
    width: 100%;
}

.password-toggle-btn {
    position: absolute;
    right: 15px;
    width: 30px;
    height: 30px;
    background: url('/images/web/ic-m-password.svg') no-repeat center center;
    background-size: contain;
    border: none;
    cursor: pointer;
    padding: 0;
}

.password-toggle-btn:hover {
    color: #333;
}
.check-password .password-toggle-btn {
    background: url('/images/web/ic-m-password-on.svg') no-repeat center center;
    background-size: contain;
}

.check-password .password-toggle-btn:active,
.check-password .password-toggle-btn.active {
    background: url('/images/web/ic-m-password.svg') no-repeat center center;
    background-size: contain;
}

/* 본배정 원서접수 프로세스 플로우 */
.base-container{
    width: 100%;
    margin: 0 auto;
    padding: 40px 0;
}

.base-container .button-area{
    margin-top: 24px;
}
.process-flow {
    max-width: 1200px;
    margin: 60px auto 0;
    padding: 0 20px;
    border: 1px solid #CCCCCC;
    padding: 40px;
}
.base-container .process-flow{
    margin-bottom: 0;
}

.process-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-bottom: 40px;
    height: 100%;
}
.process-step {
    width: 390px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: 200px;
    padding: 30px 20px;
    background-color: #fff;
    position: relative;
}

.step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #00AFEC;
    color: white;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.step-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.step-title {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.step-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.step-icon.ic-01 {
    background-image: url('/images/web/ic-s01.svg');
}

.step-icon.ic-02 {
    background-image: url('/images/web/ic-s02.svg');
}

.step-icon.ic-03 {
    background-image: url('/images/web/ic-s03.svg');
}

.step-icon.ic-04 {
    background-image: url('/images/web/ic-s04.svg');
}

.step-icon.ic-05 {
    background-image: url('/images/web/ic-s05.svg');
}

.step-icon.ic-06 {
    background-image: url('/images/web/ic-s06.svg');
}

.step-description {
    font-size: 18px;
    color: #000;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}

.flow-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 197px;
    background-image: url('/images/web/arrow-r.png');
    background-size: 17px 197px;
    background-repeat: no-repeat;
    background-position: center;
}

.flow-arrow-vertical {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 17px;
    margin: 20px auto;
    background-image: url('/images/web/arrow-b.png');
    background-size: auto 17px;
    background-repeat: no-repeat;
    background-position: center;
}

/*로그인 시작*/
.agreement-section {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top:40px;
}

.agreement-text {
    border: 1px solid #CCCCCC;
    border-radius: 8px;
    padding: 40px 50px;
    background-color: #FFF;
    font-size: 18px;
    color: #666;
    line-height: 1.5;
    margin-bottom: 15px;
    overflow-y: auto;
}

.agreement-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
}

.agreement-checkbox input[type="checkbox"] {
    width: 27px;
    height: 27px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 2px solid #ccc;
    border-radius: 50%;
    background-color: white;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}

.agreement-checkbox input[type="checkbox"]:checked {
    background-color: #1473E6;
    border-color: #1473E6;
}

.agreement-checkbox input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 45%;
    left: 50%;
    width: 6px;
    height: 10px;
    border: 3px solid white;
    border-top: none;
    border-left: none;
    transform: translate(-50%, -50%) rotate(45deg);
}

.agreement-checkbox label {
    font-size: 18px;
    color: #000;
    cursor: pointer;
}

.all-agreement {
    margin-top: 10px;
    padding: 15px 0;
}

.all-agreement input[type="checkbox"] {
    width: 27px;
    height: 27px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 2px solid #1473E6;
    border-radius: 50%;
    background-color: white;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}

/* 기본(미체크) 상태: 흰 배경 + 파란 체크 표시 */
.all-agreement input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 45%;
    left: 50%;
    width: 6px;
    height: 10px;
    border: 3px solid #1473E6;
    border-top: none;
    border-left: none;
    transform: translate(-50%, -50%) rotate(45deg);
}

/* 체크 시 개인정보수집이용동의서와 동일: 파란 배경 + 흰 체크 */
.all-agreement input[type="checkbox"]:checked {
    background-color: #1473E6;
    border-color: #1473E6;
}
.all-agreement input[type="checkbox"]:checked::after {
    border-color: white;
}

.all-agreement label {
    font-size: 18px;
    font-weight: 700;
}
.explain {
    font-size: 18px;
    color: #737373;
    margin-top: 36px;
    text-align: center;
}
/*로그인 끝*/

/*로그인,회원가입*/
.form-buttons {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 36px;
}
.form-buttons button {
    width: 450px;
    height: 60px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    margin: 0 auto;
}
/*회원가입*/
.find-form .button-area,
.find-form .form-group,
.member-form .form-group {
    width:625px ;
}
.find-form .button-area,
.find-form .form-buttons button,
.find-form .explain,
.member-form .form-buttons button,
.member-form .explain  {
   margin-left:350px;
}

.find-form .button-area button{
    width:218px ;
}
.find-form .button-area,
.find-form .form-select,
.member-form .form-box .form-input {
    width:450px ;
}
.find-form .form-select{
    margin:15px 0px;
}
.find-form .class-input-group,
.member-form .class-input-group {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
}
.find-form .birth-input,
.member-form .birth-input {
    width: 235px;
    border-right: 1px solid #CCCCCC;
    flex-shrink: 0;
    box-sizing: border-box;
}
    
.member-form .explain:before {
    content: '※';
    margin-left: 12px;
}

.find-form .explain.lostmyid {
    text-align: center;
    text-indent: -9999px;
    overflow: hidden;
    position: relative;
    height: 40px;
}

.find-form .explain.lostmyid:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 230px;
    height: 40px;
    background-image: url('/images/web/find-idpw-text.png');
    background-size: 230px 40px;
    background-repeat: no-repeat;
    background-position: center;
}

.find-form .explain.lostmypw {
    text-align: center;
    text-indent: -9999px;
    overflow: hidden;
    position: relative;
    height: 40px;
}

.find-form .explain.lostmypw:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 230px;
    height: 40px;
    background-image: url('/images/web/find-pw-text.png');
    background-size: 230px 40px;
    background-repeat: no-repeat;
    background-position: center;
}

/*공통-라인*/
.no-bl {
    border-bottom: none;
}

.map-area {
    width: 100%;
    height: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom:20px;
}
.map-area img {
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/* 홈페이지 아이콘 */
.homepage {
    display: inline-block;
    width: 36px;
    height: 36px;
    background: url('/images/web/ic-homepage.svg') no-repeat center;
    background-size: 36px 36px;
    text-indent: -9999px;
    overflow: hidden;
}

/* 위치 아이콘 */
.loc {
    display: inline-block;
    width: 25px;
    height: 32px;
    background: url('/images/web/ic-loc.svg') no-repeat center;
    background-size: 25px 32px;
    text-indent: -9999px;
    overflow: hidden;
}

/* 주소 텍스트 */
.address {
    display: inline-block;
    color: #333;
}
.mobile {
    display: none !important;
}
.pc {
    display: table-cell !important;
}
.only-mobile {
    display: none ;
}
/* 1. PC 버전 (835px 이상) */
@media (min-width: 835px) {
    /* PC 전용 스타일들 */
    /*게시판리스트-입학업무추진계획,중입전형일정표*/
    .board-list {
        display: table;
        width: 100%;
        border-collapse: collapse;
    }
    .board-item {
        display: table-row;
        border-bottom: 1px solid #e0e0e0;
        order: unset;
    }
    
    .board-item.header-row {
        display: table-header-group;
        font-weight: 600;
        color: #000;
        border-top: 2px solid #000;
        border-bottom: 1px solid #000;
    }
    
    .board-item.header-row .item-header,
    .board-item.header-row .item-title,
    .board-item.header-row .item-meta {
        display: table-cell;
        padding: 15px 10px;
        text-align: center;
        vertical-align: middle;
        font-size: 18px;
        font-weight: 600;
        color: #000;
    }
    
    .board-item.header-row .item-header {
        width: 10%;
    }
    
    .board-item:not(.header-row) .item-header,
    .board-item:not(.header-row) .item-title,
    .board-item:not(.header-row) .item-meta {
        display: table-cell;
        padding: 15px 10px;
        text-align: center;
        font-size: 18px;
        color: #333;
        vertical-align: middle;
        order: unset;
    }
    
    .board-item:not(.header-row) .item-header {
        width: 10%;
    }
    
    .board-item:not(.header-row) .item-header .item-number {
        display: block;
        font-size: 18px;
        color: #333;
    }
    
    /* PC 버전에서 item-meta year 숨김 */
    .board-item:not(.header-row) .item-meta .year ,
    .board-item:not(.header-row) .item-header .category-tag {
        display: none;
    }
    
    /* PC 버전에서 첫 번째 item-meta 숨김 */
    /*
    .board-item:not(.header-row) .item-meta:first-of-type {
        display: none;
    }*/
    
    /* PC 버전에서만 표시할 컬럼들 (교육지원청, 중학교명, 남여구분) */
    /*
    .board-item .item-title:nth-child(3),
    .board-item .item-meta:nth-child(4) {
        display: table-cell;
    }*/
    
    /* PC 버전에서 숨길 컬럼들 (초등학교명, 지망그룹명) */
    /*
    .board-item .item-title:nth-child(4),
    .board-item .item-meta:nth-child(3) {
        display: none;
    }*/
    
    .banner-content {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }
    /*게시판리스트-입학업무추진계획,중입전형일정표*/
    .process-flow {
        display: flex;
        flex-direction: column;
    }
    
    .process-row {
        display: flex;
        gap: 40px;
        margin-bottom: 0;   
    }
    
    .flow-arrow {
        display: flex;
    }
    
    .flow-arrow-vertical {
        display: flex;
        max-width:auto !important;
    }
    /* PC에서는 행 내부에 추가된 구분선은 숨김 */
    .process-row .flow-arrow-vertical {
        display: none;
    }
}

/* 2. 태블릿 버전 (601px ~ 834px) */
@media (min-width: 601px) and (max-width: 834px) {
    /* 서브 배너 */
    .sub-banner {
        background-image: url('/images/web/sub-visual-834.png');
        height: 320px;
    }
    .sub-banner.school {
        background-image: url('/images/web/sub-school-visual-834.png');
    }
    .sub-banner.apply {
        background-image: url('/images/web/sub-apply-visual-834.png');
    }
    .sub-banner.memeber {
        background-image: url('/images/web/sub-member-visual-834.png');
    }
    .sub-banner.memeber {
        background-image: url('/images/web/sub-member-visual-834.png');
    }
    
    .banner-content {
        padding: 0 20px;
    }
    
    .banner-title {
        font-size: 50px;
        text-align: left;
    }
    
    .content-container {
        /* padding: 0 25px; */
    }
    
    /* 검색 영역 */
    .search-area {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }
    
    .search-info {
        order: 2;
    }
    
    .search-form {
        order: 1;
        justify-content: center;
        margin-bottom: 37px;
        width: 100%;
    }
    
    .search-select {
        width: 100%;
        max-width: 137px;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 20 20'%3e%3cpath d='M7 10L12 15L17 10Z'/%3e%3c/svg%3e");
        background-position: right 8px center;
        background-repeat: no-repeat;
        background-size: 32px 24px;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
    }
    
    .search-input {
        width: 100%;
    }
    
    .search-btn {
        width: 60px;
    }
    
    /* 게시판 */
    .board-title {
        font-size: 36px;
        padding: 20px 0;
    }
    
    .board-item {
        padding: 15px 0;
        border-bottom: 1px solid #e0e0e0;
    }
    
    .board-item.header-row {
        display: none;
    }
    .board-item:not(.header-row) .item-header {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 8px;
    }
    
    .board-item:not(.header-row) .item-header .item-number {
        display: none;
    }
    
    .board-item:not(.header-row) .item-title {
        width: 100%;
    }
    
    .board-item:not(.header-row) .item-title .year {
        display: none;
    }
    /* 태블릿에서 item-meta year 표시 */
    .board-item:not(.header-row) .item-meta .year {
        display: block;
    }
    
    .board-item:not(.header-row) .item-title .title-text:hover {
        color: #1473E6;
        text-decoration: underline;
    }
    
    .board-item:not(.header-row) .item-title .new-badge,
    .board-item:not(.header-row) .item-title .attach-icon {
        display: inline-block;
        margin-left: 4px;
        width: 16px;
        height: 16px;
    }
    
    /* 태블릿에서 item-meta 레이아웃 수정 */
    .board-item:not(.header-row) .item-meta {
        display: block;
        color: #666;
        font-size: 18px;
        margin-bottom: 4px;
    }
    
    /* 태블릿에서 year는 별도 줄, date와 id는 같은 줄에 */
    .board-item:not(.header-row) .item-meta .year {
        display: block;
        margin-bottom: 2px;
    }
    
    .board-item:not(.header-row) .item-meta span {
        display: inline;
    }
    
    
    .board-item:not(.header-row) .item-meta .year::after,
    .board-item:not(.header-row) .item-meta .date::after {
        content: " | ";
        margin: 0 4px;
    }
    
    
    .board-item:not(.header-row) .item-meta .year::after,
    .board-item:not(.header-row) .item-meta .date::after {
        content: " | ";
        margin: 0 4px;
    }
    
    .new-badge {
        padding: 0px 4px;
    }
    
    /* 게시글 상세보기 */
    .post-title h3 {
        font-size: 32px;
    }
    
    .post-content {
        font-size: 18px;
    }
    
    .attachments-container {
        flex-direction: column;
        gap: 0;
    }
    
    .attachments-container dt {
        width: 100%;
        min-height: auto;
        padding: 20px 0;
        text-align: left !important;
        background-color: transparent;
        justify-content: flex-start !important;
    }
    
    .attachment-list {
        padding: 20px 0;
    }
    
    .attachment-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding-left: 0;
    }
    
    .post-navigation {
        flex-direction: column;
    }
    
    .post-navigation .nav-item.prev {
        border-right: none;
        border-bottom: 1px solid #ddd;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .post-navigation .nav-item.prev .nav-label {
        white-space: nowrap !important;
        margin: 0 !important;
    }
    
    .post-navigation .nav-item.prev .nav-title {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin: 0 !important;
        padding: 0 0 0 15px !important;
        flex: 1 !important;
    }
    
    .nav-title {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    
    .post-navigation .nav-item.next {
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        justify-content: flex-end !important;
    }
    
    .post-navigation .nav-item.next .nav-label {
        white-space: nowrap !important;
        margin: 0 !important;
        order: 2 !important;
    }
    
    .post-navigation .nav-item.next .nav-title {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin: 0 !important;
        padding: 0 15px 0 0 !important;
        flex: 1 !important;
        order: 1 !important;
        text-align: right !important;
    }
    
    /* 폼 스타일 */
    .form-section {
        margin-bottom: 30px;
        border-bottom: 1px solid #CCCCCC;
        padding-bottom: 20px;
    }
    .section-title {
        background-color: transparent;
        padding: 15px 0;
        font-size: 24px;
        font-weight: 700;
        color: #000;
        border-bottom: 2px solid #000;
    }
    
    .form-grid {
        display: block;
    }
    
    .form-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 0;
        border-bottom: none;
    }
    
    .form-label {
        display: none;
    }
    
    .form-input,
    .form-select {
        flex: 1;
        margin: 15px 0 0 0;
        border: 1px solid #CCCCCC;
        font-size: 18px;
        color: #333;
        border-radius: 8px;
        min-height: 60px;
        padding: 0 15px;
        box-sizing: border-box;
    }
    
    /* 회원가입 생년월일(date-input) 추가, 최진호, 250915 */
	.date-input {
	    flex: 1;
        margin: 15px 0 0 0;
	    border-radius: 8px;
	    min-height: 60px;
	    padding: 0 15px;
	}
    
    /* 회원가입용 폼 셀릭트 생성, 최진호, 250915 */
	.form-select2 {
	    margin: 10px 0 10px 0;
	    border-radius: 8px;
	    min-height: 60px;
	}
    
    .section-header {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        border-bottom: 2px solid #000;
        padding: 15px 0;
        gap: 20px;
    }
    
    .preference-buttons {
        display: flex;
        gap: 10px;
        flex-shrink: 0;
    }
    
    .expand-btn {
        font-weight: 700;
        min-width: 120px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: none;
        font-size: 18px;
        flex: none;
    }
    
    .expand-btn-gray {
        background-color: #f5f5f5;
        color: #000;
        border: 1px solid #000;
    }
    
    .expand-btn-blue {
        background-color: #D6DEEB;
        color: #1473E6;
        border: 1px solid #1473E6;
    }
    
    .button-area {
        display: flex;
        flex-direction: row;
        gap: 15px;
        align-items: center;
        justify-content: center;
        padding-top: 0px;
    }
    
    .btn-white,
    .btn-blue {
        width: 200px;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
    }
    
    /* 모바일 태블릿에서 align-row 클래스가 적용된 요소들을 한줄로 배치 */
    .align-row .form-group {
        flex: 1;
        min-width: calc(50% - 6px);
    }
    
    .align-row {
        display: flex;
        flex-direction: row;
        column-gap: 12px;
        flex-wrap: wrap;
    }
    
    .align-row .form-input, 
    .align-row .form-select {
        width: 100%;
        box-sizing: border-box;
        margin-left: 0px;
        margin-right: 0px;
    }
    
    .address-input-group {
        display: flex;
        flex-direction: row;
        gap: 10px;
        margin: 15px 0 0 0;
        align-items: center;
    }
    
    .address-input-group .form-input {
        flex: 1;
        margin: 0;
        border-right: 1px solid #CCCCCC;
    }
    
    .address-input-group .search-btn {
        width: 60px;
        height: 60px;
        background-color: #1473E6;
        color: transparent;
        border: none;
        font-size: 16px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M20 20L15.5 15.5M17.5 9.5C17.5 13.9183 13.9183 17.5 9.5 17.5C5.08172 17.5 1.5 13.9183 1.5 9.5C1.5 5.08172 5.08172 1.5 9.5 1.5C13.9183 1.5 17.5 5.08172 17.5 9.5Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-position: center;
        background-size: 21px 21px;
        background-repeat: no-repeat;
        padding: 0;
    }
    
    .phone-input-group {
        display: flex;
        flex-direction: row;
        gap: 10px;
        align-items: center;
    }
    
    .member-form .form-group .form-input,
    .member-form .form-group .password-input-group {
        width: 535px;
    }
    
    .phone-prefix,
    .phone-number {
        width: auto;
        flex-shrink: 0;
        border-right: 1px solid #CCCCCC;
        margin: 0;
        box-sizing: border-box;
    }
    
    .phone-prefix {
        width: 110px;
        flex: 0.5;
    }
    
    .phone-number {
        flex: 1;
    }
    
    .phone-number:last-child {
        width: auto;
    }
    
    .form-box .form-group {
        margin-bottom: 0px !important;
    }
    
    .agreement-section {
        /*margin-top: 0px !important; 요소간격 조절, 최진호, 250915 */
        margin-top: 10px !important;
    }
    
    .find-form,
    .member-form {
        max-width:535px;
    }
    .find-form .class-input-group .form-input,
    .member-form .class-input-group .form-input {
        max-width: 113px !important;
    }
    
    .find-form .class-input-group,
    .member-form .class-input-group {
        display: flex;
        flex-direction: row;
        gap: 10px;
        align-items: center;
    }
    
    .class-input-group .form-input.birth-input {
       min-width: 291px !important;
    }
    /*회원가입*/
    .member-form .form-buttons button,
    .member-form .explain  {
        margin:auto 0 !important;
        width:100% !important;
    }
    .member-form .explain{
        margin-top:29px !important;
    }
    .find-form .button-area button {
        width: 100%;
    }
    .only-mobile {
        display: none ;
    }
}

/* 3. 모바일 버전 (500px 이하) */
@media (max-width: 600px) {
    /* 모바일 버전 - 2열 3행 */
    .process-flow {
        display: grid;
        grid-template-columns: calc(50% + 10px) calc(50% - 10px); /* 좌측 컬럼 +20px 확장 */
        grid-template-rows: repeat(3, auto);
        max-width: 100%;
        margin: 30px auto 0;
        padding: 0 25px; /* 좌우 패딩 +10px씩 */
        gap: 0 !important;
    }
    
    .process-row {
        display: contents;
        margin-bottom: 0;
        height: auto;
    }
    
    .process-step {
        width: 100%;
        min-width: auto;
        box-sizing: border-box;
        padding: 25px 20px 27px 0 !important;
    }
    
    .step-number {
        width: 30px;
        height: 30px;
        font-size: 14px;
        margin-bottom: 15px;
    }
    
    .step-title {
        font-size: 20px;
    }
    
    .step-description {
        font-size: 18px;
        line-height: 1.3;
    }
    
    .step-icon {
        width: 50px;
        height: 50px;
    }
    
    .region-btn {
        min-width: 74px;
    }
    
    /* 서브 배너 */
    .sub-banner {
        background-image: url('/images/web/sub-visual-428.png');
        background-size: auto 100%;
        width: 100%;
        height: 180px;
        margin-top: 46px;
        display: flex;
        align-items: center;
    }
    .sub-banner.school {
        background-image: url('/images/web/sub-school-visual-428.png');
    }
    
    .sub-banner.apply {
        background-image: url('/images/web/sub-apply-visual-428.png');
    }
    .sub-banner.memeber {
        background-image: url('/images/web/sub-member-visual-428.png');
    }
    
    .banner-content {
        flex-direction: column;
        padding: 0 16px;
    }
    
    .banner-title {
        font-size: 50px;
        margin-bottom: 8px;
        text-align: left;
        margin: 35px 0 0 10px;
        line-height: 96%;
        margin-top: 0;
    }
    
    .search-info {
        order: 2;
        text-align: left;
        align-self: flex-start;
    }
    
    .search-form {
        order: 1;
        flex-direction: row;
        gap: 0px;
        margin-bottom: 37px;
        width: 100%;
    }
    
    .search-select {
        width: 94px;
        max-width: 94px;
        min-width: 120px;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 20 20'%3e%3cpath d='M7 10L12 15L17 10Z'/%3e%3c/svg%3e");
        background-position: right 8px center;
        background-repeat: no-repeat;
        background-size: 32px 24px;
        color:#737373;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
    }
    
    .search-input {
        width: calc(100% - 154px);
    }
    
    .search-btn {
        width: 60px;
    }
    
    
    /*공통*/    
    .form-grid {
        display: block;
    }
    .form-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 0;
        border-bottom: none;
    }
    
    .form-label {
        display: none;
    }
    
    .form-input,
    .form-select {
        flex: 1;
        margin: 12px 0 0 0;
        border: 1px solid #CCCCCC;
        font-size: 18px;
        color: #333;
        border-radius: 6px;
        min-height: 60px;
        padding: 0 12px;
        box-sizing: border-box;
    }
    
    .preference-buttons {
        display: flex;
        gap: 8px;
        flex-shrink: 0;
    }
    
    .expand-btn {
        font-weight: 700;
        min-width: 100px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        border: none;
        font-size: 18px;
        flex: none;
    }
    
    .expand-btn-gray {
        background-color: #f5f5f5;
        color: #000;
        border: 1px solid #000;
    }
    
    .expand-btn-blue {
        background-color: #D6DEEB;
        color: #1473E6;
        border: 1px solid #1473E6;
    }
    
    .button-area {
        display: flex;
        flex-direction: row;
        gap: 12px;
        align-items: center;
        justify-content: center;
        padding-top: 0px;
    }

    .btn-white,
    .btn-blue {
        width: 200px;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
    }
    /* 게시판 */
    .board-title {
        font-size: 36px;
        padding: 15px 0;
    }
    
    .board-item {
        padding: 12px 0;
        border-bottom: 1px solid #e0e0e0;
    }
    
    .board-item.header-row {
        display: none;
    }
    
    .board-item:not(.header-row) {
        display: flex;
        flex-wrap: wrap;
        padding: 20px 0;
    }
    
    .board-item:not(.header-row) .item-header {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 8px;
    }
    
    .board-item:not(.header-row) .item-header .item-number {
        display: none;
    }
    
    .board-item:not(.header-row) .item-title {
        width: 100%;
    }
    
    .board-item:not(.header-row) .item-title .year {
        display: none;
    }
    
    .board-item:not(.header-row) .item-title .title-text {
        font-size: 18px;
        color: #000;
        cursor: pointer;
        display: inline;
        margin-bottom: 4px;
    }
    
    .board-item:not(.header-row) .item-title .title-text:hover {
        color: #1473E6;
        text-decoration: underline;
    }
    
    .board-item:not(.header-row) .item-title .new-badge,
    .board-item:not(.header-row) .item-title .attach-icon {
        display: inline-block;
        margin-left: 4px;
        width: 16px;
        height: 16px;
    }
    
    .board-item:not(.header-row) .item-meta {
        display: block;
        font-size: 18px;
        color: #666;
        margin-bottom: 4px;
    }

    
    
    /* 모바일에서 year는 별도 줄, date와 id는 같은 줄에 */
    .board-item:not(.header-row) .item-meta .year {
        display: block;
        margin-bottom: 2px;
    }
    
    .board-item:not(.header-row) .item-meta .date,
    .board-item:not(.header-row) .item-meta .id {
        display: inline;
    }
    
    .board-item:not(.header-row) .item-meta .year::after,
    .board-item:not(.header-row) .item-meta .date::after {
        content: " | ";
        margin: 0 4px;
    }
    
    .new-badge {
        padding: 0px 4px;
    }
    
    .title-cell {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    
    /* 게시글 상세보기 */
    .post-title h3 {
        font-size: 32px;
    }
    
    .post-content {
        font-size: 18px;
    }
    
    .post-meta {
        display: flex;
        flex-direction: column;
        gap: 5px;
        align-items: center;
    }
    
    .post-meta .separator {
        display: none;
    }
    
    .attachments-container {
        flex-direction: column;
        gap: 0;
    }
    
    .attachments-container dt {
        width: 100%;
        min-height: auto;
        padding: 20px 0;
        text-align: left !important;
        background-color: transparent;
        justify-content: flex-start !important;
    }
    
    .attachment-list {
        padding: 20px 0;
    }
    
    .attachment-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding-left: 0;
    }
    
    .post-navigation {
        flex-direction: column;
    }
    
    .post-navigation .nav-item.prev {
        border-right: none;
        border-bottom: 1px solid #ddd;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .post-navigation .nav-item.prev .nav-label {
        white-space: nowrap !important;
        margin: 0 !important;
    }
    
    .post-navigation .nav-item.prev .nav-title {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin: 0 !important;
        padding: 0 0 0 15px !important;
        flex: 1 !important;
    }
    
    .post-navigation .nav-item.next {
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        justify-content: flex-end !important;
    }
    
    .post-navigation .nav-item.next .nav-label {
        white-space: nowrap !important;
        margin: 0 !important;
        order: 2 !important;
    }
    
    .post-navigation .nav-item.next .nav-title {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin: 0 !important;
        padding: 0 15px 0 0 !important;
        flex: 1 !important;
        order: 1 !important;
        text-align: right !important;
    }
    
    /* 폼 스타일 */
    /*원서결과조회 start*/
    .form-section {
        margin-bottom: 25px;
        border-bottom: 1px solid #CCCCCC;
        padding-bottom: 20px;
    }
    
    .form-section > .section-title {
        background-color: transparent;
        padding: 12px 0;
        font-size: 24px;
        font-weight: 700;
        color: #000;
        border-bottom: 2px solid #000;
    }
    
    .form-section > .section-header {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        border-bottom: 2px solid #000;
        padding: 12px 0;
        gap: 15px;
    }
    
    /* 모바일 태블릿에서 align-row 클래스가 적용된 요소들을 한줄로 배치 */
    .align-row .form-group {
        flex: 1;
        min-width: calc(50% - 6px);
    }
    
    .align-row {
        display: flex;
        flex-direction: row;
        column-gap: 12px;
        flex-wrap: wrap;
    }
    
    .align-row .form-input, 
    .align-row .form-select {
        width: 100%;
        box-sizing: border-box;
        margin-left: 0px;
        margin-right: 0px;
    }
    
    .address-input-group {
        display: flex;
        flex-direction: row;
        gap: 10px;
        margin: 15px 0 0 0;
        align-items: center;
    }
    
    .address-input-group .form-input {
        flex: 1;
        margin: 0;
        border-right: 1px solid #CCCCCC;
    }
    
    .address-input-group .search-btn {
        width: 60px;
        height: 60px;
        background-color: #1473E6;
        color: transparent;
        border: none;
        font-size: 16px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M20 20L15.5 15.5M17.5 9.5C17.5 13.9183 13.9183 17.5 9.5 17.5C5.08172 17.5 1.5 13.9183 1.5 9.5C1.5 5.08172 5.08172 1.5 9.5 1.5C13.9183 1.5 17.5 5.08172 17.5 9.5Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-position: center;
        background-size: 21px 21px;
        background-repeat: no-repeat;
        padding: 0;
    }
    
    .phone-input-group {
        display: flex;
        flex-direction: row;
        gap: 10px;
        align-items: center;
    }
    
    .phone-prefix,
    .phone-number {
        width: auto;
        flex-shrink: 0;
        border-right: 1px solid #CCCCCC;
        margin: 0;
        box-sizing: border-box;
    }
    
    .phone-prefix {
        width: 110px;
    }
    
    .phone-number {
        flex: 1;
    }
    /*원서결과조회 end*/
    
    /*회원가입 start*/
    .member-form .class-input-group .form-input:not(.birth-input),
    .find-form .class-input-group .form-input:not(.birth-input) {
        max-width: 49% !important;
    }
    .member-form .class-input-group {
        display: inline-block !important;
    }
    
    
    .find-form .class-input-group .form-input:not(.birth-input)
    .member-form .class-input-group .form-input:not(.birth-input) {
        display: inline-block;
        float: left;
        vertical-align: top;
        width: calc(50% - 5px) !important;
    }
    .find-form .class-input-group .form-input:first-child 
    .member-form .class-input-group .form-input:first-child {
        margin-right: 10px;
    }
    
    .find-form .class-input-group .form-input.birth-input,
    .member-form .class-input-group .form-input.birth-input {
        min-width: 191px !important;
        width:100%;
        clear: both;
        display: block;
    }
    /*회원가입 end*/
    /*로그인내 약관동의 start*/
    .agreement-section {
        /*margin-top: 0px !important; 요소간격 조정, 최진호, 250915 */
        margin-top: 10px !important;
    }
    /*로그인내 약관동의 end*/
    /*회원가입*/
    .member-form .form-buttons button,
    .member-form .explain  {
        margin:auto 0 !important;
        width:100% !important;
        height: 60px;
    }
    .member-form .form-buttons button{
        padding:0  !important;
    }
    .member-form .explain{
        margin-top:29px !important;
    }
    .process-step.arrow-bg {
        background-size: 14px auto !important;
    }
    
    .flow-arrow-vertical {
        display: block;
        grid-column: 1 / -1;
        width: 100%;
        height: 17px;
        margin: 20px 0 10px 0;
        background: url('/images/web/m-arrow-b.png') center 0 no-repeat;
        background-repeat: no-repeat;
        background-size: 100% 15px;
    }
    .only-mobile {
        display: block   !important;
    }
    .pc-tablet {
        display: none !important;
    }
}

/* 834px 이하 추가 스타일 - 모바일 공통*/
@media (max-width: 834px) {
    /* 모바일/태블릿 버전 - 2열 3행 */
    .process-flow {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
        max-width: 100%;
        margin: 40px auto 58px;
        padding: 21px 0;
        border: none;
        border-top: 1px solid #CCCCCC;
        border-bottom: 1px solid #CCCCCC;
        background-size: 535px 307px;
        background-repeat: space;
    }
    
    .process-row {
        display: contents;
        margin-bottom: 0;
        height: auto;
    }
    
    .process-step {
        width: 100%;
        min-width: auto;
    }
    
    .process-step.arrow-bg {
        box-sizing: border-box;
        padding-right: 0 !important;
        background: url('/images/web/arrow-r.png') 0 42px no-repeat;
        background-size: 17px auto;
    }
    
    .flow-arrow {
        display: none;
    }
    
    .flow-arrow-vertical {
        display: block;
        grid-column: 1 / -1;
        width: 100%;
        height: 17px;
        margin: 20px 0 10px 0;
        background: url('/images/web/t-arrow-b.png') center 0 no-repeat;
        background-repeat: no-repeat;
        background-size: 100% 17px;
    }
    /* 프로세스 컨테이너 직계 자식으로 배치된 기존 구분선은 모바일/태블릿에서는 숨김 */
    .process-flow > .flow-arrow-vertical {
        display: none;
    }
    
    /*로그인,회원가입*/
    .form-container {
        width: 100%;
        padding: 40px 20px;
    }
    .form-container.member {
        border-bottom:none;
        padding: 40px 0 0 0;
    }
    
    .form-box {
        width: 100%;
        /* max-width: 600px; */
    }
    
    .form-box .form-group {
        width: 100%;
        flex-direction: column;
        gap: 10px;
    }
    
    .form-box .form-label {
        display: none;
    }
    .form-box .form-input {
        width: 100%;
        font-size: 18px;
        height: 45px;
    }
    
    .password-toggle-btn {
        width: 100%;
        right: 10px;
    }
    /*로그인,회원가입*/
    .password-input-group {
        width: 100%;
    }
    .password-input-group .form-input {
        font-size: 18px;
    }
    .password-toggle-btn {
        width: 33px;
        height: 34px;
        background: url('/images/web/ic-m-password.svg') no-repeat center center;
        background-size: contain;
        padding: 0;
    }
    .form-buttons button {
        height: 60px;
        width: 100%;
        max-width: 535px;
        font-size: 18px;
    }
    /*로그인*/
    .agreement-text {
        padding: 20px 25px;
        font-size: 18px;
    }
    
    .login-form .password-input-group .form-input {
        height: 45px;
        /*margin-bottom: 24px !important; 요소간 간격 축소, 최진호, 250915 */
        margin-bottom: 10px !important
    }
    
    .agreement-checkbox label {
        font-size: 18px;
    }
    
    .all-agreement label {
        font-size: 18px;
    }
    
    .menu-title {
        font-size: 36px;
    }
    /* 지역 선택 */
    .region-grid {
        grid-template-columns: repeat(5, 1fr);
    }
    .side-navigation {
        display: none;
    }
    /* 검색 영역 */
    .search-area {
        flex-direction: column;
        gap: 10px;
        width: 100%;
        align-items: stretch;
    }
    .find-form .form-select {
        width: 100%;
    }
    .find-form .button-area, 
    .find-form .form-buttons button,
    .find-form .explain, 
    .member-form .form-buttons button,
    .member-form .explain {
        margin-left: 0px;
        width: 100%;
    }
    .find-form .explain {
        margin-top: 42px;
        margin-bottom: 32px;
    }

    .mobile {
        display: block   !important;
    }
    .pc {
        display: none   !important;
    }
    
    .search-box{
        background: #F5F5F5;
        color: #737373;
        width: 137px;
        height:61px;
        border:1px solid #CCCCCC;
        font-size: 18px;
        text-align: center;
        line-height: 61px;
    }
    .search-select {
        height: 61px;
    }
    .search-input{
        height:61px;
        width:calc(100% - 177px);
    }
    .search-btn{
        width:60px !important;
        height:61px !important;
        background-position: center center !important;
    }
    .board-list {
        border-bottom:none;
    }
    .board-item:not(.header-row) .item-meta:not(:last-child) span::after {
        content: " | ";
        margin: 0 14px 0 12px;
        color: #CCCCCC;
    }
    .elementary-support-container .board-item:not(.header-row) .item-title,
    .support-container .board-item:not(.header-row) .item-title {
        width: 80px;
        margin-right: 20px !important;
    }
    
    .board-item:not(.header-row) {
        display: flex;
        flex-wrap: wrap;
        padding: 20px 0;
        position:relative;
    }

    .board-item:not(.header-row) .item-meta {
        display: block;
        color: #666;
        font-size: 18px;
        margin-bottom: 4px;
        margin-top: 6px;
    }
    
    .board-item:not(.header-row) .item-title {
        font-size: 18px;
    }

    .board-item:not(.header-row) .item-title .title-text {
        font-size: 18px;
        color: #000;
        cursor: pointer;
        display: inline;
        margin-bottom: 4px;
        font-weight: 700;
    }
    
    .item-title.w100 {
        /* 부모인 .item-title에 스타일 적용 */
        width: 100% !important;
    }
    .item-title .address {
        font-size: 18px;
    }
    
    .tel {
        background: url('/images/web/ic-tel.svg') no-repeat left center;
        padding-left: 36px;
        color:#000;
        margin-top: 4px;
        display: inline-block;
    }
    .tel:after {
        content: "" !important;
        margin: 0 14px 0 12px;
        color: #fff;
    }
    .loc{
        position:absolute;
        top: 20px;
        left:165px;
    }
    .homepage{
        text-indent:0;
        overflow:auto;
        width:auto;
        padding-top: 4px;
        padding-left:45px;
        background-position: left center;
        color:#000;
    }
}

/* 교육지원청 버튼 스타일 */
.office-btn {
    padding: 6px 12px;
    background: #1473E6;
    color: white;
    border: none;
    font-size: 18px;
    cursor: pointer;
    font-weight: 500;
    min-width: 80px;
    margin: 0 auto;
    display: block;
}

.office-btn:hover {
    background: #0056b3;
}

.office-hit {
    padding: 6px 12px;
    background: #1473E6;
    color: white;
    border: none;
    font-size: 18px;
    font-weight: 500;
    min-width: 80px;
    display: inline-block;
    text-align: center;
}
.item-meta a{
    text-decoration: none;
    color:#000;
}

/* 강제 오버/포커스 라인 컬러 (모든 페이지 공통) */
.form-input:hover,
.form-input:focus,
.form-input:active {
    border-color: #1473E6 !important;
    border-right-color: #1473E6 !important;
    outline: none;
}

/* select에도 동일 효과 적용 */
.form-select:hover,
.form-select:focus,
.form-select:active {
    border-color: #1473E6 !important;
    border-right-color: #1473E6 !important;
    outline: none;
}

/* 선택된 옵션 배경 제거, 글자색만 파랑 */
.form-select {
    background-color: #fff;
}
.form-select:focus {
    color: #1473E6;
    background-color: #fff;
}
.form-select option {
    background-color: #fff;
    color: #333;
}
.form-select option:checked,
.form-select:focus option:checked {
    background-color: transparent;
    color: #1473E6;
}