﻿@charset "utf-8";

/* ======================================
   서브 페이지 공통 스타일
====================================== */

/* 버튼 */
.btnWrap {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:80px;

}

/* 섹션 서브타이틀 (행사 개요 / 진행 일정 등) */
.secSubtitle {
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:2rem;
    color:#333;
    font-weight:700;
    font-size:2.4rem;
    letter-spacing:-0.96px;
}
.secSubdesc {
    margin-bottom:20px;
    color:#333;
    font-size:1.7rem;
}
.subSection_inner .secSubtitle {
    margin-bottom:2rem;
}
.secSubtitle.hasnoti {
    position:relative;
}
.secSubtitle.hasnoti p {
    position:absolute;
    right:0;
    color:#F44B40;
    font-weight:400;
    font-size:15px;
    letter-spacing:-0.9px;
    text-align:right;
}
.secSubtitle::before {
    content:"";
    display:inline-block;
    flex-shrink:0;
    width:1.6rem;
    height:1.6rem;
    background:url("../images/common/ico_subtitle.svg") no-repeat 50%;
    background-size:100% auto;
}
.tableWrap .table .tag {
    display:block;
    width:fit-content;
    margin:0 auto 0.4rem;
    padding:0.2rem 0.8rem;
    border-radius:2rem;
    background:#E6F5EC;
    color:#007130;
    font-weight:600;
    font-size:1.2rem;
}
.tableWrap .table .tag.offline {
    background:#EDEDED;
    color:#666;
}
.tableWrap .table tr .trHighlight {
    color:#007130;
}
.tableWrap .table tr .trHighlight span.strong {
    color:#007130 !important;
}
.tableWrap .table.tableBordered thead th {
    position:relative;
    height:50px;
    padding:1rem;
    border-right:1px solid var(--tblBorderColor);
    border-bottom:1px solid var(--tblBorderColor);
    vertical-align:middle;
}
.tableWrap .table.tableBordered thead th::after {
    display:none!important;
}
.tableWrap .table.tableBordered thead th:last-child {
    border-right:0;
}

/* 서브 섹션 */
.subSection {
    margin-bottom:6rem;
}
.subSection .subSection_inner + .subSection_inner {
    margin-top:4rem;
}
.subSection:last-child {
    margin-bottom:0;
}

/* 환경교육주간이란? 소개 박스 */
.introBox {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:1.6rem;
    position:relative;
    min-height:20.8rem;
    margin-bottom:4rem;
    padding:4rem 5rem 4rem 20rem;
    border-radius:1rem 5rem 1rem 1rem;
    background:#007130;
}
.introBox::before {
    content:"";
    position:absolute;
    top:50%;
    left:4.3rem;
    width:12.6rem;
    height:12.6rem;
    border-radius:50%;
    background:rgba(255,255,255,0.15);
    transform:translateY(-50%);
}
.introBox::after {
    content:"";
    position:absolute;
    top:50%;
    left:7.7rem;
    width:5.5rem;
    height:5.5rem;
    background:url("../images/sub/ico_leaf.png") no-repeat center;
    background-size:contain;
    transform:translateY(-50%);
}
.introBox.locae::after {
    background:url("../images/sub/ico_locae.png") no-repeat center;
    background-size:contain;
}
.introBoxTitle {
    display:block;
    color:#fff;
    font-weight:700;
    font-size:3rem;
    font-family:var(--fontGmarket);
    letter-spacing:-1.8px;
}
.introBoxDesc {
    color:rgba(255,255,255,0.7);
    font-weight:500;
    font-size:2.2rem;
    line-height:1.5;
    font-family:var(--fontGmarket);
    letter-spacing:-0.88px;
}
.introBoxDesc mark {
    background:transparent;
    color:#fff;
    font-weight:500;
}

/* 행사 개요 정보 리스트 */
.infoList {
    display:flex;
    flex-direction:column;
    gap:1.6rem;
    padding:2.4rem 2rem;
    border:1px solid #C8C8C8;
    border-radius:5px;
}
.infoItem dt {
    display:flex;
    align-items:center;
    gap:1.7rem;
    min-width:14rem;
    padding-top:0.2rem;
    color:#111;
    font-weight:600;
    font-size:1.9rem;
    line-height:1.5;
    letter-spacing:-1.14px;
}
.infoItem dd {
    margin-top:8px;
    padding-left:2.6rem;
    color:#333;
    font-weight:400;
    font-size:1.7rem;
    line-height:1.5;
    letter-spacing:-0.68px;
}
.infoItem dd a {
    margin-top:0.8rem;
}

/* 프로그램 컬러 태그 */
.programTags {
    display:flex;
    flex-wrap:nowrap;
    gap:1.8rem;
}
.programTags li {
    display:flex;
    flex:1;
    flex-direction:column;
    gap:0.4rem;
    padding:1.8rem 2.2rem;
    border-radius:0 1.5rem 1.5rem;
  
}
.programTags .tagOrange {background:#E37348 url("../images/sub/programbg02.png") no-repeat right bottom;}
.programTags .tagGreen {background:#6DBC46 url("../images/sub/programbg02.png") no-repeat right bottom;}
.programTags .tagBlue {background:#1A83C8 url("../images/sub/programbg02.png") no-repeat right bottom;}
.tagHeader {
    display:flex;
    flex-direction:column;
    gap:0.4rem;
}
.tagCategory {
    color:#fff;
    font-weight:500;
    font-size:1.5rem;
    line-height:1.5;
    letter-spacing:-0.9px;
}
.tagTitle {
    color:#fff;
    font-weight:700;
    font-size:2.2rem;
    line-height:1.5;
    letter-spacing:-0.88px;
}
.tagDesc {
    color:#fff;
    font-weight:400;
    font-size:1.7rem;
    line-height:1.5;
    letter-spacing:-0.68px;
}

/* 추진방향 불릿 리스트 */
.bulletList {
    display:flex;
    flex-direction:column;

}
.bulletList li {
    position:relative;
    padding-left:1.2rem;
    color:#333;
    font-weight:400;
    font-size:1.7rem;
    line-height:1.5;
    letter-spacing:-0.68px;
}
.bulletList li::before {
    content:"-";
    position:absolute;
    left:0;
}

/* 진행 일정 섹션 위 여백 */
.subSection + .subSection {
    padding-top:2rem;
    border-top:1px solid #EAEAEA;
}

/* ======================================
   서브타이틀 (h2) — onStyle.css 기본값 위 차이점만 재정의
====================================== */
.subTitle {
    margin-bottom:4rem;
    padding-bottom:2.4rem;
    color:#111;
    line-height:1;
    letter-spacing:-0.136px;
}

/* ======================================
   행사 상세 공통 (이벤트 페이지)
====================================== */
.eventDetailWrap {
    display:flex;
    flex-direction:column;
    gap:4rem;
}
.map_event {
    overflow:visible;
    position:relative;
    width:100%;
    height:0;
    padding-top:124.23%; /* 1615÷1300×100 — map.png 비율 고정 */
    background:url("../images/sub/map.png") no-repeat center top / 100% 100%;
}
.map_event svg {opacity:1; overflow:visible; position:absolute; height:auto; pointer-events:none;}
.map_event svg[data-region] path {cursor:pointer; pointer-events:painted;}
.map_event svg[data-region][data-disabled] path {cursor:default; pointer-events:none;}
.mapRegionLabel {
    position:absolute;
    color:#4B705A;
    font-weight:700;
    font-size:2.6rem;
    white-space:nowrap;
    pointer-events:none;
    transform:translate(-50%, -50%);

}
.mapDeco {
    position:absolute;
    height:auto;
    pointer-events:none;
}
.map_event svg[data-region="수도권"] {top:10.34%; left:29.54%; width:24.69%;}
.map_event svg[data-region="강원권"] {top:5.70%; left:43.77%; width:39.92%;}
.map_event svg[data-region="충청권"][data-part="1"] {top:33.25%; left:23.77%; width:26.62%;}
.map_event svg[data-region="충청권"][data-part="2"] {top:31.64%; left:43.77%; width:25.15%;}
.map_event svg[data-region="영남권"][data-part="1"] {top:35.42%; left:54.38%; width:32.77%;}
.map_event svg[data-region="영남권"][data-part="2"] {top:55.54%; left:47.92%; width:32.62%;}
.map_event svg[data-region="호남권"][data-part="1"] {top:50.22%; left:25.77%; width:27.77%;}
.map_event svg[data-region="호남권"][data-part="2"] {top:62.30%; left:20.35%; width:30.46%;}
.map_event svg[data-region="제주권"] {top:88.61%; left:12.69%; width:13.38%;}
.map_event .mapIsland01 {top:78%; left:18%; width:5.92%;}
.map_event .mapIsland02 {top:41%; left:26%; width:2.15%;}
.map_event .mapIsland03 {top:16.61%; left:25.69%; width:4.46%;}

/* 행사 정보 리스트 (이벤트 상세) */
.eventInfoList {
    display:flex;
    flex-direction:column;
    gap:1.6rem;
}
.eventInfoItem {
    display:flex;
    align-items:flex-start;
    gap:2.4rem;
}
.eventInfoItem dt {
    flex-shrink:0;
    min-width:9rem;
    padding-top:0.2rem;
    color:#111;
    font-weight:600;
    font-size:1.9rem;
    line-height:1.5;
    letter-spacing:-0.114px;
}
.eventInfoItem dd {
    flex:1;
    color:#333;
    font-weight:400;
    font-size:1.7rem;
    line-height:1.5;
    letter-spacing:-0.068px;
}

/* 행사 내용 박스 */
.eventContentBox {
    padding:3.2rem 4rem;
    border-radius:1rem;
    background:#F8F8F8;
}
.eventContentText {
    margin-bottom:2rem;
    color:#333;
    font-weight:400;
    font-size:1.8rem;
    line-height:1.6;
    letter-spacing:-0.072px;
}

/* 행사 이미지 영역 */
.eventImgArea {
    width:100%;
}
.eventImgBox {
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    width:100%;
    min-height:30rem;
    border-radius:1rem;
    background:#EAEAEA;
}
.eventImgBox img {
    display:block;
    width:100%;
    height:auto;
}

/* 행사 상세 좌우 레이아웃 (뮤지컬 등 포스터+정보) */
.eventDetailLayout {
    display:flex;
    align-items:flex-start;
    gap:3rem;
}
.eventDetailImg {
    flex-shrink:0;
    overflow:hidden;
    width:42.3rem;
    min-height:59.2rem;
    border-radius:1rem;
    background:#EAEAEA;
}
.eventDetailImg img {
    display:block;
    width:100%;
    height:auto;
}
.eventDetailInfo {
    flex:1;
    padding:4rem;
    border-radius:1rem;
    background:#F6F6F6;
}

/* ======================================
   홍보자료 다운로드 그리드
   Figma node 114:296 기준:
   Row 1 — 키비주얼(480fr) 세로형배너(230fr) 빈칸(480fr)
   Row 2,3 — 전체 폭: 가로형 배너 1·2
====================================== */
.prDownloadGrid {
    display:grid;
    gap:7.4rem 5.5rem;
    grid-template-columns:480fr 230fr 480fr;
}
.prItem--portrait:first-child {grid-column:1;}
.prItem--vertical {grid-column:2;}
.prDownloadItem {
    display:flex;
    flex-direction:column;
    gap:1.2rem;
}

/* Row 1 세로형 배너 */
.prItem--portrait {
    /* 기본 1fr 컬럼 사용 */
}
.prItem--vertical {
    /* 세로형 230fr 컬럼 */
}

/* Row 2·3 전체 폭 */
.prItem--full {
    grid-column:1 / -1;
}

/* 썸네일 공통 */
.prDownloadThumb {
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    width:100%;
    border-radius:0.8rem;
    background:#EAEAEA;
}
.prDownloadThumb img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Row 1 키비주얼: 2:3 세로 비율 (480×720px, 표준 포스터) */
.prThumb--portrait {
    aspect-ratio:2 / 3;
}

/* Row 1 세로형 배너: 키비주얼 행 높이에 맞춰 자동 늘어남 */
.prThumb--vertical {
    min-height:20rem;
    aspect-ratio:unset;
}

/* Row 2 가로형 배너 1 — 높이 552px 기준 (1300/552 ≈ 2.36:1) */
.prThumb--banner1 {
    aspect-ratio:12 / 5;
}

/* Row 3 가로형 배너 2 — 높이 359px 기준 (1300/359 ≈ 3.6:1) */
.prThumb--banner2 {
    aspect-ratio:36 / 10;
}

/* Row 1 세로형: Grid cell 전체 높이 채우기 */
.prItem--vertical {
    display:flex;
    flex-direction:column;
    height:100%;
}
.prItem--vertical .prDownloadThumb {
    flex:1;
    min-height:20rem;
    aspect-ratio:unset;
}

/* 정보 행 */
.prDownloadInfo {
    display:flex;
    flex-shrink:0;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
}
.prDownloadName {
    color:#111;
    font-weight:600;
    font-size:1.8rem;
    line-height:1.5;
    letter-spacing:-0.108px;
}

/* 다운로드 버튼 */
.btnDownload {
    display:inline-flex;
    align-items:center;
    gap:0.4rem;
    height:3.8rem;
    padding:0.4rem 1.2rem;
    border:none;
    border:1px solid #007130;
    border-radius:0.6rem;
    background:#fff;
    color:#007130;
    font-weight:500;
    font-size:1.5rem;
    line-height:1.5;
    letter-spacing:-0.09px;
    text-decoration:none;
    white-space:nowrap;
    cursor:pointer;
}
.btnDownload:hover {
    background:#007130;
    color:#fff;
}
.btnDownload:hover {
    opacity:0.85;
}
.btnDownload svg {
    flex-shrink:0;
}

/* ======================================
   지역 환경교육 프로그램
====================================== */
.regionIntroBox {
    display:flex;
    flex-direction:column;
    gap:1.2rem;
    margin-bottom:4rem;
    padding:3rem 4rem;
    border-radius:1rem 5rem 1rem 1rem;
    background:#007130;
}
.regionIntroTitle {
    display:block;
    color:#fff;
    font-weight:700;
    font-size:3rem;
    font-family:var(--fontGmarket);
    letter-spacing:-0.18px;
}
.regionIntroDesc {
    color:rgba(255,255,255,0.8);
    font-weight:500;
    font-size:2.2rem;
    line-height:1.5;
    font-family:var(--fontGmarket);
    letter-spacing:-0.088px;
}
.regionIntroDesc strong {
    color:#fff;
    font-weight:700;
}

/* 지역 탭 */
.regionTabWrap {
    margin-bottom:3rem;
}
.regionTabList {
    display:flex;
    flex-wrap:wrap;
    gap:0;
    border-bottom:2px solid #007130;
}
.regionTabBtn {
    padding:1.2rem 2.4rem;
    border:none;
    background:none;
    color:#666;
    font-weight:600;
    font-size:1.8rem;
    letter-spacing:-0.072px;
    cursor:pointer;
    transition:all 0.2s;
}
.regionTabBtn.is-active {
    margin-bottom:-2px;
    border-bottom:3px solid #007130;
    color:#007130;
}

/* 지역 지도 + 콘텐츠 */
.regionMapWrap {
    display:grid;
    align-items:flex-start;
    gap:4rem;
    grid-template-columns:auto 1fr;
    padding:4rem;
    border-radius:0.5rem;
    background:#E2E8F3;
}
.regionMap {
    flex-shrink:0;
    position:relative;
    width:40rem;
}
.regionMap img {
    display:block;
    width:100%;
    height:auto;
}
.regionMapLabels {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.regionLabel {
    position:absolute;
    border:none;
    background:none;
    color:#4B705A;
    font-weight:700;
    font-size:1.6rem;
    letter-spacing:-0.096px;
    white-space:nowrap;
    cursor:pointer;
    transform:translate(-50%, -50%);
    transition:color 0.2s;
}
.regionLabel.is-active,
.regionLabel:hover {
    color:#007130;
}

/* 지역 패널 */
.regionPanel {
    display:none;

}
.regionPanel.is-active {
    display:block;
}
.regionPanelEmpty {
    color:#666;
    font-size:1.6rem;
    line-height:1.5;
}
body.hidden {overflow:hidden;}

/* 지역 모달 팝업 */
.regionModal {
    display:none;
    justify-content:center;
    align-items:center;
    position:fixed;
    z-index:9999;
    padding:20px;
    background:rgba(0,0,0,.6);
    inset:0;
}
.regionModal.is-open {display:flex;}
.regionModalInner {
    display:flex;
    flex-direction:column;
    overflow:hidden;
    width:calc(100% - 40px);
    max-width:100%;
    max-height:85vh;
    border-radius:20px;
    background:#007130;
}
.regionModalHeader {
    display:flex;
    flex-shrink:0;
    justify-content:space-between;
    align-items:center;
    padding:28px 36px;
}
.regionModalTitle {
    color:#fff;
    font-weight:700;
    font-size:4rem;
    line-height:1.5;
    font-family:var(--fontGmarket);
}
.regionModalClose {
    flex-shrink:0;
    position:relative;
    width:3rem;
    height:3rem;
    border:none;
    background:none;
    cursor:pointer;
}
.regionModalClose::before,
.regionModalClose::after {
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:22px;
    height:3px;
    border-radius:1px;
    background:#fff;
}
.regionModalClose::before {transform:translate(-50%,-50%) rotate(45deg);}
.regionModalClose::after {transform:translate(-50%,-50%) rotate(-45deg);}
.regionModalBody {
    display:flex;
    flex:1;
    flex-direction:column;
    overflow:hidden;
    padding:0 14px 28px;
}
.regionPanel.is-active {
    overflow:visible;
}

/* 모달 스크롤바 */
.scrollwrap {
    flex:1;
    overflow:auto;

}
.scrollwrap::-webkit-scrollbar {
    width:16px;  /* 10px 간격 + 6px 실제 바 */
    height:16px;
}

/* 세로 트랙 */
.scrollwrap::-webkit-scrollbar-track:vertical {
    margin:20px 0;
    border-image-source:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='20'><rect x='10' y='0' width='6' height='20' rx='3' fill='%236B8E7A'/></svg>");
    border-image-slice:3 0 3 10 fill;
    border-image-width:3px 0 3px 10px;
    border-image-repeat:stretch;
}

/* 가로 트랙 */
.scrollwrap::-webkit-scrollbar-track:horizontal {
    margin:0 10px;
    border-image-source:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><rect x='0' y='10' width='16' height='6' rx='3' fill='%236B8E7A'/></svg>");
    border-image-slice:10 3 0 3 fill;
    border-image-width:10px 3px 0 3px;
    border-image-repeat:stretch;
}

/* 세로 thumb */
.scrollwrap::-webkit-scrollbar-thumb:vertical {
    border-image-source:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='20'><rect x='10' y='0' width='6' height='20' rx='3' fill='white'/></svg>");
    border-image-slice:3 0 3 10 fill;
    border-image-width:3px 0 3px 10px;
    border-image-repeat:stretch;
}

/* 가로 thumb */
.scrollwrap::-webkit-scrollbar-thumb:horizontal {
    border-image-source:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><rect x='0' y='10' width='16' height='6' rx='3' fill='white'/></svg>");
    border-image-slice:10 3 0 3 fill;
    border-image-width:10px 3px 0 3px;
    border-image-repeat:stretch;
}

/* 세로 thumb hover */
.scrollwrap::-webkit-scrollbar-thumb:vertical:hover {
    border-image-source:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='20'><rect x='10' y='0' width='6' height='20' rx='3' fill='%23e0e0e0'/></svg>");
    border-image-slice:3 0 3 10 fill;
    border-image-width:3px 0 3px 10px;
}

/* 가로 thumb hover */
.scrollwrap::-webkit-scrollbar-thumb:horizontal:hover {
    border-image-source:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><rect x='0' y='10' width='16' height='6' rx='3' fill='%23e0e0e0'/></svg>");
    border-image-slice:10 3 0 3 fill;
    border-image-width:10px 3px 0 3px;
}
.scrollwrap::-webkit-scrollbar-corner {
    background:transparent;
}

/* 지역 테이블 */
.regionTable {
    overflow:hidden;
    width:100%;
    min-width:1205px;
    border-radius:10px;
    table-layout:fixed;
    border-collapse:collapse;
}
.regionTable thead th {
    padding:1.9rem 1rem;
    border:none;
    border-right:1px solid #fff;
    background:#5BB531;
    color:#fff;
    font-weight:600;
    font-size:2rem;
    text-align:center;
    white-space:nowrap;

}
.regionTable thead th:last-child {
    border:none;
}
.regionTable tbody td {
    padding:14px 12px;
    border:1px solid #77C255;
    background:#fff;
    color:#464C53;
    font-size:1.8rem;
    line-height:1.5;
    text-align:center;
    vertical-align:middle;
    word-break:break-all;
}
.regionTable tbody td.td-content {text-align:left;}
.regionTable tbody td ul {margin:0; padding:0; list-style:none;}
.regionTable tbody td > ul > li {
    position:relative;
    padding-left:2rem;
}
.regionTable tbody td > ul > li::before {
    content:"• ";
    position:absolute;
    top:-3px;
    left:5px;
    
}
.regionTable tbody td ul ul {margin-top:0.2rem;}
.regionTable tbody td ul ul li::before {content:"- "; color:#666;}
.regionBtnLink {
    display:inline-block;
    padding:1.1rem 2rem;
    border:1px solid #007130;
    border-radius:8px;
    background:#fff;
    color:#007130;
    font-size:1.7rem;
    text-decoration:none;
    white-space:nowrap;
}
.regionBtnLink:hover {background:#007130; color:#fff;}

/* ======================================
   공지사항 게시판
====================================== */

/* 총 N건 */
.boardCount {
    margin-bottom:1.2rem;
    color:#666;
    font-size:1.5rem;
}
.boardCount em {
    color:#333;
    font-style:normal;
    font-weight:600;
}

/* 첨부파일 아이콘 */
.boardAttach {
    display:inline-flex;
    align-items:center;
    margin-left:0.5rem;
    color:#888;
    line-height:1;
    vertical-align:middle;
}
tr:hover .boardAttach {
    color:#007130;
}

/* 말줄임 (···) */
.paginationEllipsis {
    display:flex;
    justify-content:center;
    align-items:center;
    width:4rem;
    height:4rem;
    color:#888;
    font-size:1.6rem;
    letter-spacing:0.1em;
}

/* 검색 */
.boardSearch {
    margin-bottom:2rem;
}
.boardSearchForm {
    display:flex;
    align-items:center;
    gap:0;
    overflow:hidden;
    max-width:50rem;
    margin-left:auto;
    border:1px solid #C8C8C8;
    border-radius:0.5rem;
}
.boardSearchInput {
    flex:1;
    padding:1.2rem 1.6rem;
    border:none;
    outline:none;
    background:#fff;
    color:#333;
    font-size:1.6rem;
}
.boardSearchBtn {
    display:flex;
    justify-content:center;
    align-items:center;
    padding:1.2rem 1.6rem;
    border:none;
    background:#007130;
    color:#fff;
    cursor:pointer;
}

/* 게시판 테이블 */
.boardTable {
    width:100%;
    border-top:2px solid #007130;
    border-collapse:collapse;
}
.boardTable thead th {
    padding:1.6rem 1rem;
    border-bottom:1px solid #C8C8C8;
    background:#F9F9FD;
    color:#111;
    font-weight:600;
    font-size:1.8rem;
    letter-spacing:-0.072px;
    text-align:center;
}
.boardTable tbody td {
    padding:1.6rem 1rem;
    border-bottom:1px solid #EAEAEA;
    color:#333;
    font-size:1.6rem;
    text-align:center;
    vertical-align:middle;
}
.boardTitleCell {
    padding-left:2rem !important;
    text-align:left !important;
}
.boardTitleCell a {
    color:#333;
    line-height:1.5;
    letter-spacing:-0.064px;
    text-decoration:none;
}
.boardTitleCell a:hover {
    color:#007130;
}
.noticeRow td {
    background:#F9F9FD;
}
.noticeLabel {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    padding:0.2rem 0.8rem;
    border-radius:0.3rem;
    background:#007130;
    color:#fff;
    font-weight:600;
    font-size:1.3rem;
}

/* 페이지네이션 */
.pagination {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0.4rem;
    margin-top:4rem;
}
.paginationList {
    display:flex;
    align-items:center;
    gap:0.4rem;
}
.paginationBtn {
    display:flex;
    justify-content:center;
    align-items:center;
    width:4rem;
    height:4rem;
    border:1px solid transparent;
    border-radius:0.4rem;
    background:transparent;
    color:#333;
    cursor:pointer;
}
.paginationBtn.disabled,
.paginationBtn:disabled {
    opacity:0.4;
    cursor:not-allowed;
}
.paginationNum {
    display:flex;
    justify-content:center;
    align-items:center;
    width:4rem;
    height:4rem;
    border:1px solid transparent;
    border-radius:0.4rem;
    background:transparent;
    color:#333;
    font-size:1.6rem;
    cursor:pointer;
}
.paginationNum.is-active {
    border-color:#007130;
    background:#007130;
    color:#fff;
    font-weight:700;
}

/* ======================================
   공지사항 상세 (boardView)
====================================== */
.boardViewHeader {
    display:flex;
    flex-direction:column;
    gap:2rem;
    margin-bottom:3.2rem;
    padding:3.4rem 4rem;
    border-radius:0.5rem;
    background:#F8F8F8;
}
.boardViewTitle {
    color:#333;
    font-weight:700;
    font-size:2.8rem;
    line-height:1.5;
    letter-spacing:-0.112px;
}
.boardViewMeta {
    display:flex;
    flex-direction:row;
    gap:2rem;
}
.boardMetaGroup {
    display:flex;
    align-items:center;
    gap:0.8rem;
}
.boardViewMetaItem {
    display:flex;
    align-items:center;
    gap:0.4rem;
    color:#888;
    font-weight:500;
    font-size:1.6rem;
    letter-spacing:-0.096px;
}
.boardViewMetaValue {
    color:#333;
    font-weight:500;
    font-size:1.7rem;
}
.boardViewMetaFile {
    color:#333;
    font-weight:500;
    font-size:1.6rem;
    line-height:1.8;
    letter-spacing:-0.096px;
    text-decoration:underline;
}

/* 게시글 본문 */
.boardViewBody {
    min-height:20rem;
    padding:0 2rem 11rem;
    color:#333;
    font-weight:400;
    font-size:1.8rem;
    line-height:1.8;
    letter-spacing:-0.108px;
}
.boardViewBody p {
    margin-bottom:1.6rem;
}
.boardViewBody p:last-child {
    margin-bottom:0;
}

/* 이전글/다음글 */
.boardViewNav {
    margin-bottom:4rem;
    border-top:1px solid #DDD;
    border-bottom:1px solid #DDD;
}
.boardViewNavItem {
    display:flex;
    align-items:center;
    gap:4rem;
    padding:2.4rem 4.6rem;
    border-bottom:1px solid #DDD;
}
.boardViewNavItem:last-child {
    border-bottom:none;
}
.boardViewNavLabel {
    display:flex;
    flex-shrink:0;
    align-items:center;
    gap:1rem;
    min-width:6rem;
    color:#111;
    font-weight:500;
    font-size:1.8rem;
    letter-spacing:-0.108px;
}
.boardViewNavLink {
    overflow:hidden;
    color:#333;
    font-weight:500;
    font-size:1.8rem;
    line-height:1.8;
    letter-spacing:-0.108px;
    text-decoration:none;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.boardViewNavLink:hover {
    color:#007130;
}

/* 목록 버튼 */
.boardViewBtnWrap {
    display:flex;
    justify-content:center;
}
.btnList {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    height:5.6rem;
    padding:0 3rem;
    border:1px solid #58616A;
    border-radius:0.8rem;
    background:#fff;
    color:#1E2124;
    font-weight:400;
    font-size:1.9rem;
    letter-spacing:-0.076px;
    text-decoration:none;
    cursor:pointer;
}


/* ======================================
   온라인 환경즉답소 강연 카드
====================================== */
.lectureGrid {
    display:grid;
    gap:2.6rem;
    grid-template-columns:repeat(2, 1fr);
}
.lectureGrid.col_04 {
    grid-template-columns:repeat(4, 1fr);
}
.lectureGrid.col_04 .recipe_tit {
    gap:0;
    font-size:2.2rem;
}
.lectureGrid .recipe_tit .men_num {
    position:relative;
    top:1px;
    margin-left:4px;
    font-weight:400;
    font-size:1.7rem;
    font-family:Pretendard;
}
.lectureGrid.col_04 .men_num {
    margin-left:4px;
    font-weight:400;
    font-size:1.7rem;
    font-family:Pretendard;
}
.lectureCard {
    overflow:hidden;
    border:1px solid #D7D7D7;
    border-radius:1.2rem;
}
.lectureCardTop {
    display:flex;
    flex-direction:row;
    justify-content:center;
    overflow:hidden;
    min-height:6.6rem;
    border-radius:1.2rem 1.2rem 0 0;
    background:#007130;
}
.lectureCardTop.alic {
    align-items:center;
}
.lectureTopRow {
    display:flex;
    align-items:center;
    gap:1rem;
}
.lectureCardTop .recipe_tit {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1.2rem;
    width:100%;
    color:#FFF;
    font-weight:700;
    font-size:2.4rem;
    font-family:var(--fontGmarket);
    letter-spacing:-0.96px;
    text-align:center;
}
.lectureGrid.col_04 .lectureCardTop .recipe_tit 
.lectureCardTop .lectureGrid .recipe_tit {
    width:4.4rem;
    height:4.4rem;
    font-size:1.7rem;
    font-family:Pretendard;
}
.lectureGrid.col_04 .lectureCardTop .recipe_tit .lectureDateDay {
    width:4.2rem;
    height:4.2rem;
    margin-right:12px;
    font-family:Pretendard;
}
.lectureCardTop .recipe_tit.cast {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:1.2rem;
    padding:0 2rem;
    text-align:left;
}
.lectureCardTop .recipe_tit.cast span {
    font-weight:400;
    font-size:1.7rem;
    font-family:Pretendard;
    letter-spacing:-1.02px;
    transform:translateY(-2px);
    align-self:flex-end;
}
.lectureTopRow:first-child {
    padding:0.6rem 2.6rem;
}
.lectureTopRow:last-child {
    flex:1;
    padding:0.6rem 2rem;
    background:#06803A;
}
.lectureDate {
    display:flex;
    align-items:center;
    gap:0.8rem;
}
.lectureDateNum {
    color:#fff;
    font-weight:700;
    font-size:1.9rem;
    letter-spacing:-0.076px;
}
.lectureDateDay {
    display:flex;
    justify-content:center;
    align-items:center;
    width:2.8rem;
    height:2.8rem;
    border-radius:50%;
    background:rgba(0,0,0,0.1);
    color:#fff;
    font-weight:600;
    font-size:1.7rem;
}
.lectureBadge {
    padding:0.8rem 1.5rem;
    border-radius:1rem 1rem 1rem 0;
    color:#007130;
    font-weight:700;
    font-size:1.8rem;
    font-family:var(--fontGmarket);
}
.lectureBadge--red {background:#FFD5DA;}
.lectureBadge--yellow {background:#E3EB97;}
.lectureBadge--blue {background:#88DAFF;}
.lectureProfession {
    color:rgba(255,255,255,1);
    font-weight:400;
    font-size:1.5rem;
    line-height:1.5;
}
.lectureName {
    color:#fff;
    font-weight:700;
    font-size:2.4rem;
    line-height:1;
    font-family:var(--fontGmarket);
}
.lectureCardBody {
    display:flex;
    align-items:center;
    gap:2.6rem;
    padding:4rem 3rem;
}
.lectureCardBody.recipeimg {
    display:flex;
    justify-content:center;
    padding:2rem 3rem;
}
.lectureCardBody.recipeimg img {
    width:fit-content;
    max-width:32.9rem;
}
.lectureSpeakerImg {
    flex-shrink:0;
    width:13.4rem;
    height:18.9rem;
    border-radius:0.4rem;
    object-fit:cover;
}
.lectureCardContent {
    display:flex;
    flex:1;
    flex-direction:column;
    gap:2rem;
}
.lectureCardContent.cast {
    gap:1.2rem;
}
.lectureCardContent.cast ul li {
    position:relative;
    padding-left:2.2rem;
    color:#666;
    font-weight:400;
    font-size:1.5rem;
    line-height:1.5;
    letter-spacing:-0.9px;
}
.lectureCardContent.cast ul li::before {
    content:"";
    position:absolute;
    top:50%;
    left:1rem;
    width:2px;
    height:2px;
    border-radius:50%;
    background:#666;
    transform:translateY(-50%);

}
.lectureTopic {
    color:#007130;
    font-weight:700;
    font-size:1.9rem;
    line-height:1.5;
    letter-spacing:-0.114px;
}
.castList {
    display:flex;
    flex-direction:row;
    justify-content:center;
}
.castItem {
    display:flex;
    align-items:center;
    gap:2rem;
    padding:2rem;
}
.castRole {
    margin-left:0.6rem;
    color:#999;
    font-style:normal;
    font-weight:400;
    font-size:1.5rem;
    font-family:Pretendard, sans-serif;
}
.castItem img {
    flex-shrink:0;
    width:auto;
    height:auto;
    border-radius:0.4rem;
}
.castContent {
    display:flex;
    flex:1;
    flex-direction:column;
    gap:1.2rem;
}
.castName {
    color:#007130;
    font-weight:700;
    font-size:1.9rem;
    line-height:1.5;
    letter-spacing:-0.114px;
}
.castDesc li {
    position:relative;
    padding-left:0.6rem;
    color:#666;
    font-weight:400;
    font-size:1.5rem;
    line-height:1.5;
    letter-spacing:-0.9px;
}
.castDesc li::before {
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:2px;
    height:2px;
    border-radius:50%;
    background:#666;
    transform:translateY(-50%);
}
.lectureDesc {
    color:#666;
    font-weight:400;
    font-size:1.5rem;
    line-height:1.5;
    letter-spacing:-0.09px;
}
.btnPlatform {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:1.8rem;
    padding:2rem 3rem;
    border-radius:1rem;
    background:#27603F;
    color:#fff;
    font-weight:600;
    font-size:1.7rem;
    letter-spacing:-0.068px;
    text-decoration:none;
}
.btnPlatform.sm {
    gap:0.8rem;
    padding:0.8rem 1rem;
    font-size:14px;
}
.btnPlatform:hover {
    background:#1f4f32;
}
.btnLecture {
    display:inline-flex;
    align-items:center;
    gap:0.4rem;
    width:fit-content;
    height:3.8rem;
    padding:0.4rem 1.2rem;
    border:1px solid #58616A;
    border-radius:0.6rem;
    background:#fff;
    color:#1E2124;
    font-weight:500;
    font-size:1.5rem;
    letter-spacing:-0.06px;
    text-decoration:none;
    white-space:nowrap;
    cursor:pointer;
}
.btnLecture::after {
    content:"›";
    color:#1E2124;
    font-size:1.8rem;
    line-height:1;
}
.btnLecture:hover {
    border:1px solid #007130;
    background:#007130;
    color:#fff;

}
.btnLecture:hover::after {
    color:#fff;
}


/* ======================================
   환경토크콘서트 강연 카드
====================================== */
.talkCardGrid {
    display:grid;
    gap:1.6rem;
    grid-template-columns:repeat(2, 1fr);
}
.talkCard {
    overflow:hidden;
    border:1px solid #D7D7D7;
    border-radius:1.2rem;
}
.talkCardHeader {
    display:flex;
    align-items:center;
    height:6.6rem;
    padding:0 2rem;
    border-radius:1.2rem 1.2rem 0 0;
    background:#06803A;
    color:#fff;
    font-weight:700;
    font-size:2.4rem;
    font-family:var(--fontGmarket);
    letter-spacing:-0.096px;
}
.talkCardBody {
    display:flex;
    align-items:center;
    gap:2.6rem;
    padding:4rem 3rem;
}
.talkCardImg {
    overflow:hidden;
    border-radius:0.4rem;
}
.talkCardImg img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.talkCardInfo {
    display:flex;
    flex:1;
    flex-direction:column;
    gap:2rem;
}
.talkCardTitle {
    color:#007130;
    font-weight:700;
    font-size:1.9rem;
    line-height:1.5;
    letter-spacing:-0.114px;
}
.talkCardDesc {
    color:#666;
    font-weight:400;
    font-size:1.5rem;
    line-height:1.5;
    letter-spacing:-0.09px;
}
.btnOutline {
    display:inline-flex;
    align-items:center;
    gap:0.4rem;
    width:fit-content;
    height:3.8rem;
    padding:0.4rem 1.2rem;
    border:1px solid #58616A;
    border-radius:0.6rem;
    background:#fff;
    color:#1E2124;
    font-weight:500;
    font-size:1.5rem;
    letter-spacing:-0.06px;
    text-decoration:none;
    white-space:nowrap;
    cursor:pointer;
}
.btnOutline::after {
    content:"›";
    margin-top:1px;
    color:#555;
    font-size:1.8rem;
    line-height:1;
}
.btnOutline:hover {
    background:#f5f5f5;
}
.alert_txt {
    margin-top:1.4rem;
    color:#F44B40;
    font-style:normal;
    font-weight:400;
    font-size:1.5rem;
    line-height:1.5;
    letter-spacing:-0.9px;
    text-align:right;
}

/* ======================================
   태블릿 (768px ~ 1340px)
====================================== */
@media (width <= 1340px) {
    .secSubtitle {
        margin-bottom:1.6rem;
        padding-bottom:1.6rem;
        font-size:2.2rem;
    }
    .subSection {
        margin-bottom:4rem;
    }
    .introBox {
        min-height:18rem;
        padding:3.2rem 4rem 3.2rem 15rem;
    }
    .introBox::before {
        left:3rem;
        width:9rem;
        height:9rem;
    }
    .introBox::after {
        left:5rem;
        width:4rem;
        height:4rem;
    }
    .introBoxTitle {
        font-size:2.6rem;
    }
    .introBoxDesc {
        font-size:1.9rem;
    }
    .programTags {
        flex-wrap:wrap;
        gap:1.2rem;
    }
    .programTags li {
        flex:0 0 calc(33.333% - 0.8rem);
        min-width:20rem;
    }
    .tagTitle {
        font-size:1.9rem;
    }
    .tableWrap {
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .table {
        min-width:700px;
    }

    /* 태블릿 - 홍보자료: 3열 비율 유지, gap만 축소 */
    .prDownloadGrid {
        gap:3.6rem 3rem;
        grid-template-columns:480fr 480fr 230fr;
    }
    .prThumb--banner1,
    .prThumb--banner2 {
        aspect-ratio:2.5 / 1;
    }
  

    /* 태블릿 - 행사 상세 */
    .eventDetailLayout {
        flex-direction:column;
    }
    .eventDetailImg {
        width:100%;
        min-height:auto;
    }

    /* 태블릿 - 지역 */
    .regionMapWrap {
        gap:2rem;
        grid-template-columns:1fr;
    }
    .regionMap {
        width:100%;
        max-width:40rem;
        margin:0 auto;
    }

    /* 태블릿 - 공지사항 */
    .boardViewHeader {
        padding:2.4rem;
    }
    .boardViewTitle {
        font-size:2.4rem;
    }
    .boardViewNavItem {
        gap:2rem;
        padding:2rem 2.4rem;
    }

    /* 태블릿 - 토크콘서트 카드 */
    .talkCardGrid {
        grid-template-columns:1fr;
    }
    .talkCardHeader {
        height:5.6rem;
        font-size:2rem;
    }

    /* 태블릿 - 강연 카드 */
    .lectureGrid {
        grid-template-columns:1fr;
    }
    .lectureCardBody {
        padding:2.4rem;
    }
    .castItem {
        padding:2rem 2.4rem;
    }
    .menuItem {
        padding:2rem 2.4rem;
    }
    .lectureGrid.col_04 {
        grid-template-columns:repeat(2, 1fr);
      
    }
    .mapRegionLabel {
        font-size:2rem;

    }
}

/* ======================================
   모바일 (767px 이하)
====================================== */
@media (width <= 767px) {
    .secSubtitle {
        gap:0.8rem;
        margin-bottom:1.2rem;
        padding-bottom:1.2rem;
        font-size:2rem;
    }
    .secSubtitle::before {
        width:1.2rem;
        height:1.2rem;
    }
    .subSection {
        margin-bottom:3.2rem;
    }
    .subSection + .subSection {
        padding-top:1.4rem;
    }

    /* introBox: PC의 ::before/::after 숨기고 introBoxTitle에 이동 */
    .introBox {
        align-items:stretch;
        gap:1rem;
        min-height:auto;
        margin-bottom:3rem;
        padding:2rem 2.5rem;
        border-radius:1rem 4rem 1rem 1rem;
    }
    .introBox::before,
    .introBox::after {
        display:none;
    }

    /* circle + leaf를 introBoxTitle 앞에 배치 */
    .introBoxTitle {
        display:flex;
        align-items:center;
        position:relative;
        min-height:4.7rem;
        padding-left:5.5rem;
        font-size:2rem;
    }
    .introBoxTitle::before {
        content:"";
        position:absolute;
        top:50%;
        left:0;
        width:4.6rem;
        height:4.7rem;
        border-radius:50%;
        background:rgba(255, 255, 255, 0.15);
        transform:translateY(-50%);
    }
    .introBoxTitle::after {
        content:"";
        position:absolute;
        top:50%;
        left:1.15rem;
        width:2.3rem;
        height:2.3rem;
        background:url("../images/sub/ico_leaf.png") no-repeat center;
        background-size:contain;
        transform:translateY(-50%);
    }
    .introBoxDesc {
        font-size:1.5rem;
    }

    /* 행사 개요 infoList: 라벨·값 세로 스택 */
    .infoList {
        gap:1.6rem;
        padding:1.6rem 1.8rem;
    }
    .infoItem {
        flex-direction:column;
        gap:0.4rem;
    }
    .infoItem dt {
        min-width:auto;
        font-size:1.6rem;
    }
    .infoItem dd {
        padding-left:2.7rem;
        font-size:1.4rem;
    }

    /* 프로그램 태그: 세로 1열 */
    .programTags {
        flex-direction:column;
        gap:1rem;
    }
    .programTags li {
        flex:none;
        padding:1.4rem 1.6rem;
    }
    .tagCategory {
        font-size:1.3rem;
    }
    .tagTitle {
        font-size:2rem;
    }
    .tagDesc {
        font-size:1.4rem;
    }

    /* 추진방향 */
    .bulletList li {
        font-size:1.4rem;
    }

    /* 진행 일정 테이블: 가로 스크롤 */
    .tableWrap {
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .table {
        min-width:600px;
    }

    /* 모바일 - 서브타이틀 */
    .subTitle {
        margin-bottom:1.2rem;
        padding-bottom:1.6rem;
        font-size:2rem;
    }

    /* 모바일 - 행사 상세 */
    .eventDetailWrap {
        gap:2.4rem;
    }
    .eventInfoItem {
        flex-direction:column;
        gap:0.4rem;
    }
    .eventInfoItem dt {
        min-width:auto;
        font-size:1.6rem;
    }
    .eventInfoItem dd {
        padding-left:0;
        font-size:1.4rem;
    }
    .eventContentBox {
        padding:2rem;
    }
    .eventContentText {
        font-size:1.5rem;
    }
    .eventDetailImg {
        min-height:24rem;
    }
    .eventDetailInfo {
        padding:2rem;
    }
    .lectureBadge {
        padding:0.4rem 0.9rem;
        font-size:1.6rem;

    }

    /* 모바일 - 홍보자료 */
    .prDownloadGrid {
        gap:2.4rem;
        grid-template-columns:1fr;
    }
    .prItem--vertical {
        grid-column:span 1;
    }
    .prItem--vertical .prDownloadThumb {
        flex:none;
        height:auto;
        aspect-ratio:unset;
    }
    .prThumb--portrait,
    .prThumb--vertical,
    .prThumb--banner1,
    .prThumb--banner2 {
        height:auto;
        min-height:unset;
        aspect-ratio:unset;
    }
    .prDownloadThumb img {
        object-fit:contain;
    }
    .prDownloadName {
        font-size:1.6rem;
    }

    /* 모바일 - 지역 모달 */
    .regionModalHeader {padding:2rem 2rem 1.4rem;}
    .regionModalBody {padding:0 12px 20px;}
    .regionModalTitle {font-size:1.8rem;}
    .regionTable {font-size:12px;}
    .regionTable thead th,
    .regionTable tbody td {padding:0.9rem 0.5rem; font-size:1.4rem;}

    /* 모바일 - 지역 */
    .regionIntroBox {
        padding:2rem;
        border-radius:1rem 3rem 1rem 1rem;
    }
    .regionIntroTitle {
        font-size:2.2rem;
    }
    .regionIntroDesc {
        font-size:1.6rem;
    }
    .regionTabBtn {
        padding:1rem 1.4rem;
        font-size:1.5rem;
    }
    .regionMapWrap {
        padding:2rem;
    }
    .regionPanelTitle {
        font-size:1.8rem;
    }

    /* 모바일 - 공지사항 목록: 테이블 → 리스트 */
    .boardTable,
    .boardTable tbody {display:block; width:100%;}
    .boardTable colgroup,
    .boardTable thead {display:none;}
    .boardTable tbody tr {
        display:flex;
        flex-direction:column;
        padding:2rem 0;
        border-top:1px solid #EAEAEA;
        border-right:none;
        border-bottom:none;
        border-left:none;
    }
    .boardTable tbody tr:last-child {
        border-bottom:1px solid #EAEAEA;
    }

    /* 번호 컬럼 숨김 */
    .boardTable tbody td:first-child {display:none;}

    /* 제목 */
    .boardTable tbody td.boardTitleCell {
        display:flex;
        align-items:center;
        padding:0 0.8rem 0.8rem !important;
        border:none;
        text-align:left;
    }
    .boardTable tbody td.boardTitleCell a {
        color:#222;
        font-weight:500;
        font-size:1.6rem;
        line-height:1.5;
    }
    .boardTable tbody td.boardTitleCell a:hover {
        color:#007130;
    }
    .boardAttach {
        flex-shrink:0;
    }

    /* 등록일 */
    .boardTable tbody td:last-child {
        display:block;
        padding:0;
        padding:0 0.8rem;
        border:none;
        color:#999;
        font-size:1.3rem;
        text-align:left;
    }
    .boardSearchInput {
        font-size:1.4rem;
    }

    /* 모바일 - 페이지네이션 */
    .pagination {
        justify-content:flex-start;
        gap:0.2rem;
        overflow-x:auto;
        padding-bottom:0.4rem;
        -webkit-overflow-scrolling:touch;
    }
    .paginationList {
        gap:0;
    }
    .paginationBtn {
        flex-shrink:0;
        width:3.2rem;
        height:3.2rem;
        border-radius:0.4rem;
        background:#fff;
    }
    .paginationNum {
        flex-shrink:0;
        width:3.2rem;
        height:3.2rem;
        font-size:1.4rem;
    }
    .paginationNum.is-active {
        border-radius:0.4rem;
    }
    .paginationEllipsis {
        width:2.4rem;
        height:3.2rem;
        font-size:1.4rem;
    }

    /* 모바일: 5~8번 페이지 숨김 → 1 2 3 4 ··· 99만 노출 */
    .paginationList li:nth-child(n+5):nth-child(-n+8) {display:none;}

    /* 모바일 - 공지사항 상세 */
    .boardViewHeader {
        gap:2rem;
        margin-bottom:2rem;
        padding:1.8rem;
    }
    .boardViewTitle {
        font-size:2.2rem;
    }
    .boardViewMeta {
        flex-direction:column;
        gap:1.2rem;
    }
    .boardViewBody {
        padding:0 0 2rem;
        font-size:1.6rem;
    }
    .boardViewNavItem {
        flex-direction:row;
        gap:1.6rem;
        padding:2rem 1.3rem;
    }
    .boardViewNavLink {
        font-size:1.5rem;
    }
    .boardViewMetaItem {
        font-size:1.5rem;
    }
    .boardViewMetaValue {
        font-size:1.5rem;
    }
    .boardMetaGroup {
        gap:1.2rem;
    }
    .boardViewNavLabel {
        font-size:1.4rem;
    }

    /* 모바일 - 토크콘서트 카드 */
    .talkCardBody {
        flex-direction:column;
        gap:1.6rem;
        padding:2rem;
    }
    .talkCardHeader {
        height:5rem;
        font-size:1.8rem;
    }
    .talkCardTitle {
        font-size:1.6rem;
    }
    .talkCardDesc {
        font-size:1.4rem;
    }

    /* 모바일 - 강연 카드 */
    .castItem {
        gap:1.4rem;
        padding:1.6rem 2rem;
    }
    .lectureDate {
        gap:0.4rem;
    }
    .lectureGrid.col_04 {
        grid-template-columns:repeat(1, 1fr);
      
    }
    .lectureDateNum {
        font-size:1.5rem;
    }
    .lectureDateDay {
        width:2.4rem;
        height:2.4rem;
        font-size:1.5rem;
    }
    .lectureCardBody {
        flex-direction:row;
        align-items:flex-start;
        align-items:center;
        gap:1.4rem;
        padding:2.4rem 2rem;
    }
    .lectureProfession {
        font-size:1.4rem;
    }
    .lectureCardTop {
        flex-direction:row;
        justify-content:flex-start;
        min-height:6.6rem;
    }
    .lectureCardTop .recipe_tit.cast span {
        font-size:1.4rem;
    }
    .lectureCardTop .recipe_tit {
        font-size:2rem;
    }
    .lectureTopRow:first-child {
        flex-direction:column;
        gap:0.4rem;
        padding:0.5rem 1.4rem;
    }
    .lectureTopRow:last-child {
        flex-direction:column;
        align-items:flex-start;
        gap:0.4rem;
        padding:0.5rem 1.4rem;
    }
    .lectureName {
        font-size:2rem;
    }
    .lectureCardContent {
        gap:1.2rem;
    }
    .lectureTopic {
        font-size:1.6rem;
    }
    .lectureDesc {
        display:-webkit-box;
        overflow:hidden;
        font-size:1.4rem;
        -webkit-line-clamp:3;
        -webkit-box-orient:vertical;
        line-clamp:3;
    }
    .lectureSpeakerImg {
        flex-shrink:0;
        width:8rem;
        height:11rem;
    }
    .regionBtnLink {
        padding:0.6rem 1rem;
        font-size:1.4rem;
    }
    .mapRegionLabel {
        font-size:1.4rem;

    }
    .map_event {
        overflow:hidden;
        border-radius:0.5rem;
    }
    .secSubtitle.hasnoti {
        flex-wrap:wrap;
        margin-bottom:0.8rem;
    }
    .secSubtitle.hasnoti p {
        position:static;
        width:100%;
        margin-top:1.2rem;
        text-align:left;

    }
}
@media (width <=480px) {
    .castList {
        flex-direction:column;
    }
    .castList .castItem + .castItem {
        padding-top:0;
    }
}