﻿@charset "utf-8";

/* ------------------------------ reset css (구 onReset.css) ------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    font:inherit;
    font-size:100%;
    vertical-align:baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display:block;
}
body {
    line-height:1;
}
ol, ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote::before, blockquote::after,
q::before, q::after {
    content:"";
    content:none;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
a {
    color:#333;
    text-decoration:none;
}
button {
    overflow:visible;
    padding:0;
    border:none;
    border-radius:0;
    background:inherit;
    box-shadow:none;
    cursor:pointer;
}
img {
    width:100%;
}
*, *::before, *::after {margin:0; padding:0; box-sizing:border-box;}
:root {
    --black:#000;
    --white:#fff;
    --mainColor:#333;
    --font:"Pretendard", "Apple SD Gothic Neo", sans-serif;
    --fontGmarket:"GmarketSans";
    --containerWidth:133rem;
    --sideGap:1.5rem;
    --tblThBorderColor:#555;
    --tblBorderColor:#C3C3C3;
}

/* ------------------------------ common, component css------------------------------------- */
html {
    font-size:62.5%;
}
body, button {
    color:var(--mainColor);
    font-size:1.8rem;
    font-family:var(--font);
}
body.hidden {
    overflow-x:hidden;
}
.sr-only {
    overflow:hidden;
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    border:0;
    white-space:nowrap;
    clip:rect(0, 0, 0, 0);
}
.blind {
    font-size:0;
}
.blind.icon_newwindow {
    display:inline-block;
    width:1.4rem;
    height:1.4rem;
    background:url("../images/common/icon_newwindow.svg");
    vertical-align:middle;
}
.inner {
    max-width:var(--containerWidth);
    margin:0 auto;
    padding:0 var(--sideGap);
}
.ellipsis1 {
    display:block;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

/* 테이블 */
span.strong {
    color:#333 !important;
    font-weight:600 !important;
}
.table {
    width:100%;
    table-layout:fixed;
}
.table thead {
    border-top:2px solid var(--tblThBorderColor);
}
.table thead th {
    position:relative;
    padding:1.5rem 1rem;
    background:#F9F9FD;
    font-weight:600;
    font-size:2.2rem;
}
.table thead th::after {
    content:"";
    position:absolute;
    top:50%;
    right:0;
    width:1px;
    height:2.4rem;
    border-right:1px dashed #C3C3C3;
    transform:translateY(-50%);
}
.table thead th:last-child::after {
    display:none;
}
.table thead th .thHighlight {
    color:#007130;
}
.table thead th .t_line {
    position:relative;
    margin-left:0.8rem;
    padding-left:0.8rem;
}
.table thead th .t_line::after {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:0;
    width:1px;
    height:18px;
    background:#888;
    transform:translateY(-50%);
}
.table .day {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:3rem;
    height:3rem;
    border-radius:50%;
    background:#fff;
    font-weight:500;
    font-size:1.8rem;
    letter-spacing:-1.08px;
}
.table .day.holiday {
    color:#EA1818;
}
.table thead th > span:has(.day.holiday) {
    color:#EA1818;
}
.table td {
    padding:2rem 1.6rem;
    border-right:1px solid var(--tblBorderColor);
    border-bottom:1px solid var(--tblBorderColor);
    line-height:1.2;
    text-align:center;
    vertical-align:middle;
}
.small .table td {
    height:60px;
    padding:1rem 1.6rem;
    line-height:1.5;
}
.table td .bold {
    font-weight:600;
}
.table td.tal {
    text-align:left;
}
.table .bdr-0 {
    border-right:0;
}
.table td span {
    color:#464C53;
    font-weight:500;
    line-height:1.56;
    letter-spacing:-1.08px;
}
.table .alignLeft {
    text-align:left;
}
.table.boardTable td {
    border-right:0;
}
.table.boardTable th {
    position:relative;
}
.table.boardTable th::before {
    content:"";
    position:absolute;
    top:50%;
    right:0;
    width:1px;
    height:3rem;
    border-left:1px dashed #8B98D5;
    transform:translateY(-50%);
}
.table.boardTable th:last-of-type::before {
    display:none;
}
.table.boardTable th span {
    font-size:1.7rem;
    line-height:2.2rem;
}
.table.boardTable td span {
    color:#666;
    font-weight:400;
    font-size:1.7rem;
    line-height:2.2rem;
}
.boardTable .flexRow {
    display:flex;
    align-items:center;
    gap:.6rem;
}
.boardTable .file {
    display:inline-block;
    width:2.2rem;
    height:2.2rem;
    background:url("../images/common/ico_file.svg")no-repeat 50%;
    background-size:100% auto;
}
.boardTable td span.ellipsis1 {
    display:block;
    max-width:600px;
    color:#333;
}
.boardTable td span.ellipsis1:hover {
    color:#007130;
}

/* header */
.header {
    position:fixed;
    top:0;
    left:0;
    z-index:100;
    width:100%;
    height:9rem;
    border-bottom:1px solid #E1E1E1;
    background:var(--white);
}
.header .inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:100%;
}
.header .logo a {
    display:block;
    width:16.2rem;
}
.header .headerNav > ul {
    display:flex;
    align-items:center;
    gap:4.6rem;
}
.headerNav .depth1 > li {
    position:relative;
}
.headerNav .depth1 > li > a {
    display:flex;
    align-items:center;
    position:relative;
    height:9rem;
    padding:1rem 2rem;
    font-weight:700;
    font-size:1.9rem;
    letter-spacing:-0.76px;
}
.headerNav .depth1 > li > a:hover {
    color:#007130;
}
.headerNav .depth1 > li > a:hover::before {
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:2px;
    background:#007130;
}

/* 현재 페이지 1depth 강조 */
.headerNav .depth1 > li.is-active > a {
    color:#007130;
}
.headerNav .depth1 > li.is-active > a::before {
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:2px;
    background:#007130;
}

/* subMenuBlind */
.header .subMenuBlind {
    overflow:hidden;
    position:absolute;
    top:100%;
    right:0;
    left:0;
    z-index:-1;
    height:0;
    border-top:1px solid #d9d9d9;
    background:#fff;
    transition:height 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* 네비 오버레이 dim */
.header .navDim {
    display:none;
    opacity:0.4;
    position:fixed;
    top:9rem;
    left:0;
    z-index:-2;
    width:100%;
    height:100%;
    background:#000;
}
.header.show .navDim {
    display:block;
}

/* 2depth */
.headerNav .depth2 {
    /* display: none; */
    visibility:hidden;
    opacity:0;
    position:absolute;
    top:100%;
    left:50%;
    z-index:1; /* blind 위로 */
    width:100%;
    margin:0;
    padding:2.2rem 0;
    text-align:center;
    list-style:none;
    transform:translateX(-50%);
    transition:opacity 0.3s ease-in;
}

/* 호버 시 2depth 노출 */
.header.show .headerNav .depth2 {
    visibility:visible;
    opacity:1;
}
.headerNav .depth2 li a {
    display:block;
    padding:1rem 0;
    color:#555;
    font-weight:500;
    font-size:1.7rem;
    line-height:1.5;
    letter-spacing:-0.68px;
    text-decoration:none;
}
.headerNav .depth2 li a:hover {
    color:#007130;
}
.headerNav .depth2 li a svg {
    position:relative;
    top:1px;
}
.headerNav .depth2 li a:hover svg path {
    fill:#007130;
}

/* 모바일 */
.btnHamburger {
    display:none;
    justify-content:center;
    align-items:center;
    width:4rem;
    height:4rem;
}
.btnHamburger::before {
    content:"";
    width:2rem;
    height:2rem;
    background:url("../images/common/ico_hamburger.svg") no-repeat 50%;
    background-size:100% auto;
}

/* 모바일 GNB 패널 */
.moNav {
    overflow-y:auto;
    position:fixed;
    top:0;
    right:0;
    z-index:200;
    width:100%;
    height:100%;
    background:#fff;
    transform:translateX(100%);
    transition:transform 0.35s ease;
}
.moNav.is-open {
    transform:translateX(0);
}
.moNav .moNavHeader {
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:6rem;
    padding:0 1.5rem;
    border-bottom:1px solid #E8E8E8;
}
.moNav .moLogo {
    width:10.4rem;
}
.moNav .btnClose {
    display:flex;
    justify-content:center;
    align-items:center;
    width:4rem;
    height:4rem;
}
.moNav .btnClose::before {
    content:"";
    width:2rem;
    height:2rem;
    background:url("../images/common/ico_gnbclose.svg") no-repeat 50%;
    background-size:100% auto;
}
.moNavList .moNavItem {
    border-bottom:1px solid #E8E8E8;
}
.moNavList .moNavDepth1 {
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    padding:1.8rem 1.5rem;
    color:var(--mainColor);
    font-weight:600;
    font-size:1.6rem;
    text-align:left;
}
.moNavList .is-open .moNavDepth1 {
    color:#007130;
}
.moNavList .moNavDepth1 .moNavArrow {
    width:2rem;
    height:2rem;
    background:url("../images/common/ico_navarrow.svg") no-repeat 50%;
    background-size:100% auto;
    transition:.3s ease-in-out;
}
.moNavList .moNavItem.is-open .moNavArrow {
    transform:rotate(180deg);
}

/*  2depth 아코디언 */
.moNavList .moNavDepth2 {
    overflow:hidden;
    height:0;
    transition:height 0.3s ease;
}
.moNavList .moNavDepth2 ul {
    padding:1.6rem 0;
    background:#F5F5F5;
}
.moNavList .moNavDepth2 li a {
    display:block;
    padding:.8rem 2.4rem;
    color:#555;
    font-size:1.6rem;
    line-height:1.5;
    letter-spacing:-0.64px;
}
.moNavList .moNavDepth2 li a:hover,
.moNavList .moNavDepth2 li a:active {
    color:#007130;
}
.moNavList .moNavDepth2 li a.is-active {
    color:#007130;
    font-weight:700;
}
.moNavItem.is-active > .moNavDepth1 {
    color:#007130;
}
.contents {
    padding:9rem 0 12rem;
}

/* breadcrumb */
.breadcrumb {
    margin-bottom:6rem;
    padding:2rem 0;
    background:#F2F8F6;
}
.breadcrumb .breadcrumbList {
    display:flex;
    align-items:center;
    gap:2.8rem;
}
.breadcrumb .breadcrumbList li {
    color:#727876;
    font-weight:500;
    font-size:1.5rem;
    letter-spacing:-0.9px;
}
.breadcrumb .breadcrumbList li ~ li {
    position:relative;
}
.breadcrumb .breadcrumbList li ~ li::before {
    content:"";
    position:absolute;
    top:50%;
    left:-1.4rem;
    width:.4rem;
    height:0.7rem;
    background:url("../images/common/ico_arrow_breadcrumb.svg") no-repeat 50%;
    background-size:100% auto;
    transform:translateY(-50%);
}
.breadcrumb .breadcrumbList .home {
    display:inline-block;
    width:1.4rem;
    height:1.4rem;
    background:url("../images/common/ico_home.svg") no-repeat 50%;
    background-size:100% auto;
}
.breadcrumb .breadcrumbList .currentPage {
    color:var(--mainColor);
    font-weight:700;
} 

/* 메인 컨텐츠 */
.main {
    padding-top:9rem;
}

/* ===== HERO ===== */
.hero {
    overflow:hidden;
    position:relative;
    min-height:85.7rem;
}
.hero::after {
    content:"";
    display:block;
    position:absolute;
    right:0;
    bottom:0;
    width:291px;
    height:406px;
    background:url("../images/main/main_bg2.png") no-repeat 0 0;

}

/* 비주얼: hero 좌측 영역을 절대 위치로 커버 (Figma 기준 ~65% 너비) */
.heroVisual {
    overflow:hidden;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:65%;
    background:url("../images/main/main_bg.png") no-repeat 0 83px;  /* 이미지 미제공 시 임시 배경 */
}
.heroVisual img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.heroBadge {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position:absolute;
    bottom:10rem;
    left:6rem;
    z-index:1;
    width:14rem;
    height:14rem;
    border-radius:50%;
    background:rgba(0, 113, 48, 0.85);
    color:#fff;
    font-size:1.5rem;
    line-height:1.5;
    letter-spacing:-0.6px;
    text-align:center;
}
.heroBadge strong {
    font-weight:700;
    font-size:1.7rem;
}

/* 텍스트 콘텐츠: inner 안에서 우측으로 밀기 */
.hero .inner {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    position:relative;
    z-index:1;
    min-height:85.7rem;
}

/* 히어로 텍스트 콘텐츠 (우측) */
.heroConts {
    width:51rem;
    padding:5rem 0;
}
.heroOrder {
    display:block;
    color:#007130;
    font-weight:700;
    font-size:2.4rem;
    line-height:1.5;
    letter-spacing:-0.96px;
}
.heroTitleWrap {
    display:inline-block;
}
.heroTitle {
    margin-bottom:1.6rem;
    color:#111;
    font-weight:700;
    font-size:7.8rem;
    line-height:1;
    font-family:var(--fontGmarket);
    letter-spacing:-3.12px;
}
.heroSlogan {
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    margin-bottom:2.2rem;
    padding:0.6rem 1.6rem;
    border-radius:0 1rem 1rem;
    background:#008137;
    color:#fff;
    font-weight:600;
    font-size:1.9rem;
    letter-spacing:-0.76px;
    box-sizing:border-box;
}
.subDesc {
    display:flex;
    align-items:baseline;
    position:relative;
    margin-bottom:0.6rem;
    color:#333;
    font-size:1.9rem;
    line-height:1.5;
    letter-spacing:-0.72px;
}
.subDesc em {
    margin-left:0.6rem;
    color:#333;
    font-style:normal;
    font-weight:700;
    font-size:3.2rem;
    line-height:1;
    letter-spacing:-1.28px;
}
.subDesc.calendar, .subDesc.location {
    padding-left:3rem;
}
.subDesc.location {
    gap:0;
    padding-left:3rem;
}
.subDesc.calendar::before {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:1px;
    width:1.8rem;
    height:1.8rem;
    background:url("../images/common/ico_calen.svg") no-repeat;
    background-size:contain;
    transform:translateY(-42%);

}
.subDesc.location::before {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:0;
    width:1.8rem;
    height:1.8rem;
    background:url("../images/common/ico_loca.svg") no-repeat;
    background-size:contain;
    transform:translateY(-46%);
}
.subDesc.location span {
    color:#F00;
}

/* 히어로 바로가기 아이콘 */
.heroNav {
    display:flex;
    gap:0;
    margin-top:4.8rem;
}
.heroNav li a {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1rem;
    width:9.9rem;
    color:#333;
    font-weight:400;
    font-size:1.6rem;
    line-height:1.5;
    letter-spacing:-0.64px;
    text-align:center;
}
.heroNav li a i {
    display:block;
    width:6.8rem;
    height:6.8rem;
    border-radius:50%;
    background:rgba(0, 113, 48, 0.1) no-repeat 50%;
    background-size:55%;
}
.heroNav li:hover a {
    color:#007130;
    font-weight:600;
}
.heroNav li:first-child a i {
    background-color:#007130;
}

/* 아이콘 이미지 (실제 아이콘 파일 추가 시 교체) */
.heroNav .icon1 {background-image:url("../images/common/ico_home.svg");}
.heroNav .icon2 {background-image:url("../images/common/ico_arrow_breadcrumb.svg");}
.heroNav .icon3 {background-image:url("../images/common/ico_file.svg");}
.heroNav .icon4 {background-image:url("../images/common/ico_view_file.svg");}
.heroNav .icon5 {background-image:url("../images/common/ico_calendar.svg");}

/* heroNav svg 호버 효과 */
.heroNav li a svg {
    transition:filter 0.25s;
}
.heroNav li a:hover svg {
    filter:drop-shadow(0 0 7px rgba(0, 128, 54, 0.3));
}
.heroNav li a svg path {
    transition:fill 0.25s, opacity 0.25s;
}
.heroNav li a:hover svg path {
    opacity:1;
    fill:white;
}
.heroNavImgWrap {
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    height:100%;
}
.heroNavImgWrap img {
    width:auto;
    height:auto;
}
.main .mainTitle {
    font-weight:700;
    font-size:3.8rem;
    line-height:1.5;
    font-family:var(--fontGmarket);
    letter-spacing:-1.52px;
}
.main .mainTitle.white {
    color:var(--white);
}
.main .mainTitle span {
    font-weight:500;
}
.promotion {
    position:relative;
    padding:11rem 0 13rem;
    background:url("../images/main/promotion_bg.png") no-repeat 50%;
    background-size:cover;
}
.mopromo_txt {display:none;}
.promotion .mainTitle {
    font-size:5rem;
    text-align:center;
}
.promotion .mainTitle span {
    font-size:3.8rem;
}
.promotion .videoWrap {
    overflow:hidden;
    position:relative;
    max-width:100rem;
    margin:3.8rem auto 0;
    border-radius:1.5rem;
    filter:drop-shadow(0 4px 15px rgba(24, 38, 33, 0.25));
    aspect-ratio:16 / 9;
}
.promotion .videoWrap iframe {
    width:100%;
    height:100%;
    border:0;
}
.schedule {
    position:relative;
    padding:9rem 0;
    background-size:560px auto;
}
.schedule::after {
    content:"";
    display:block;
    position:absolute;
    right:0;
    bottom:0;
    width:560px;
    height:260px;
    background:url("../images/common/ico_tree.svg");
}
.schedule .tableWrap {
    position:relative;
    margin-top:3rem;
}
.schedule .tableWrap::before {
    content:"";
    display:block;
    position:absolute;
    top:58%;
    left:-5.5rem;
    width:11rem;
    height:11rem;
    background:url("../images/common/ico_leaf.svg") no-repeat;

}
.schedule .table thead th {
    position:relative;
}
.schedule .table thead th::after {
    content:"";
    position:absolute;
    top:50%;
    right:0;
    width:1px;
    height:2.4rem;
    border-right:1px dashed #C3C3C3;
    transform:translateY(-50%);
}
.schedule .table thead th:last-child::after {
    display:none;
}
.schedule .tag {
    display:block;
    width:fit-content;
    margin:0 auto 0.2rem;
    padding:0.2rem 0.8rem;
    border-radius:2rem;
    background:#E6F5EC;
    color:#007130;
    font-weight:600;
    font-size:1.2rem;
}
.schedule .tag.offline {
    background:#EDEDED;
    color:#666;
}
.schCellLoca {
    position:relative;
    margin-top:2rem;
    padding-top:2rem;
    border-top:1px dashed #C3C3C3;
    color:#555;
    font-weight:400;
    font-size:1.3rem;
    line-height:1.4;
}
.table td .ico_loca {
    position:relative;
    padding-left:1.8rem;
    color:#838383;
    font-size:1.4rem;
}
.table td .ico_loca::before {
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:1.4rem;
    height:1.4rem;
    background:url("../images/common/ico_loca.svg") no-repeat center;
    background-size:contain;
    transform:translateY(-50%);

}
.mainNews {
    padding:8rem 0 9.5rem;
    border-radius:17.4rem 0 0;
    background:#EFF7FF;
}
.mainNewsHeader {
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.mainNews .newsList {
    position:relative;
    margin-top:3.4rem;
}
.mainNews .swiper {
    padding-top:16px;
    padding-bottom:20px;
}
.mainNews .swiper .swiper-slide a {
    display:block;
    overflow:hidden;
    border-radius:0.8rem;
    box-shadow:0 5px 10px 0 rgba(0,0,0,0.20);
  
}
.mainNews .swiper-button-prev svg,
.mainNews .swiper-button-next svg {
    display:none;
}
.mainNews .swiper-button-prev:disabled, .mainNews .swiper-button-next:disabled {
    opacity:0.4;
}
.mainNews .swiper-button-prev,
.mainNews .swiper-button-next {
    position:absolute;
    top:50%;
    z-index:10;
    width:3.6rem;
    height:3.6rem;
    margin:0;
    border:1px solid #E1E1E1;
    border-radius:50%;
    background:#fff;
    appearance:none;
    filter:drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
    transform:translateY(-50%);
}
.mainNews .swiper-button-prev::after,
.mainNews .swiper-button-next::after {
    display:none;
}
.mainNews .swiper-button-prev {
    left:-7.6rem;
}
.mainNews .swiper-button-next {
    right:-7.6rem;
}
.mainNews .swiper-button-prev::before, 
.mainNews .swiper-button-next::before {
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:0.7rem;
    height:1.2rem;
    background:url("../images/common/ico_swiperaw.svg") no-repeat 50%;
    background-size:100% auto;
    transform:translate(-50%, -50%) rotate(180deg);
}
.mainNews .swiper-button-next::before {
    transform:translate(-50%, -50%);
}
.mainNews .swiper-slide {
    position:relative;
    width:25rem;
    padding-top:2rem;
}
.mainNews .swiper-slide a {
    display:block;
    overflow:hidden;
    border-radius:.8rem;
}
.mainNews .swiper-slide {
    transition:transform 0.3s ease;
}
.mainNews .swiper-slide:hover {
    transform:translateY(-16px);
}
.mainNews .swiper-slide:hover .category {
    background:#005A26;
}
.mainNews .swiper-slide img {
    display:block;
    width:100%;
    aspect-ratio:4 / 5;
    object-fit:cover;
}
.mainNews .category {
    display:flex;
    align-items:center;
    position:absolute;
    top:0;
    left:0;
    height:3.6rem;
    padding:0 1.2rem;
    border-radius:10px 10px 10px 0;
    background:#4A4A4A;
    box-shadow:0 5px 10px 0 rgba(0, 0, 0, 0.20);
    color:var(--white);
    font-size:1.5rem;
}


/* mainNews SNS 아이콘 */
.mainNews .snsList.moSnsList {
    display:none;
}
.mainNews .snsList {
    display:flex;
    align-items:center;
    gap:1rem;
}
.mainNews .snsList li a {
    display:flex;
    justify-content:center;
    align-items:center;
    width:3.4rem;
    height:3.4rem;

}
.mainNews .snsList .youtube {background-image:url("../images/common/ico_syou.svg");}
.mainNews .snsList .facebook {background-image:url("../images/common/ico_sface.svg");}
.mainNews .snsList .insta {background-image:url("../images/common/ico_sinsta.svg");}

/* mainNews 카테고리 아이콘 */
.mainNews .category i {
    display:inline-block;
    width:1.6rem;
    height:1.6rem;
    margin-right:0.4rem;
    background:no-repeat 50%;
    background-size:contain;
}
.mainNews .category .insta {background-image:url("../images/common/ico_syou.svg");}
.mainNews .category .facebook {background-image:url("../images/common/ico_sface.svg");}
.mainNews .category .youtube {background-image:url("../images/common/ico_sinsta.svg");}
.footer {
    padding:2.2rem 0;
    background:#434752;
}
.footer .footerInfo {
    display:flex;
    align-items:center;
    gap:2.4rem;
}
.footer .footerInfo li {
    color:var(--white);
    font-size:1.5rem;
    letter-spacing:-0.9px;
}
.footer .footerInfo .sub {
    margin-right:0.8rem;
    color:#A8A8A8;
    font-weight:400;
    font-size:1.5rem;
    letter-spacing:-0.9px;
}
.footer .copyright {
    margin-top:0.8rem;
    color:#9D9D9D;
    font-weight:400;
    font-size:1.5rem;
}
.subTitle {
    margin-bottom:5rem;
    padding-bottom:2rem;
    border-bottom:1px solid #C8C8C8;
    font-weight:700;
    font-size:3.4rem;
    font-family:var(--fontGmarket);
}
.boardOption {
    margin-bottom:1.2rem;
}
.boardOption .count {
    color:#515151;
    font-weight:500;
    font-size:1.5rem;
    letter-spacing:-0.9px;
}
.boardOption .count strong {
    color:var(--mainColor);
    font-weight:700;
}
.pagination {
    display:flex;
    justify-content:center;
    margin-top:5rem;
}
.pagination .paginationList {
    display:flex;
    gap:.8rem;
}
.pagination .paginationList button {
    display:flex;
    justify-content:center;
    align-items:center;
    width:4rem;
    height:4rem;
    font-size:1.7rem;
    letter-spacing:-1.02px;
}
.pagination .pageItem.current {
    border-radius:.6rem;
    background:#007130;
    color:#fff;
    font-weight:700;
}
.pagination .navBtn {
    display:flex;
    justify-content:center;
    align-items:center;
}
.pagination .navBtn::before {
    content:"";
    width:2rem;
    height:2rem;
    background-color:#464C53;
    -webkit-mask:url("../images/common/ico_pagination_arrow.svg") no-repeat center / contain;
    mask:url("../images/common/ico_pagination_arrow.svg") no-repeat center / contain;
}
.pagination .navBtn.prev::before {
    transform:rotateY(180deg);
}
.pagination .navBtn:disabled {
    cursor:auto;
}
.pagination .navBtn:disabled::before {
    background-color:#8A949E;
}
.boardView {
    margin-top:3rem;
}
.boardView .viewTop {
    padding:3.4rem 4rem;
    background:#f8f8f8;
}
.boardView .viewTop .viewTitle {
    font-weight:700;
    font-size:2.8rem;
    letter-spacing:-1.12px;
}
.boardView .viewTop .viewInfo {
    margin-top:2rem;
}
.boardView .viewInfo {
    display:flex;
    align-items:center;
    gap:2.6rem;
    font-size:1.7rem;
}
.boardView .viewInfo li {
    display:flex;
    align-items:center;
}
.boardView .viewInfo .title {
    display:inline-flex;
    align-items:center;
    margin-right:1.2rem;
    color:#111;
    font-weight:500;
    font-size:1.6rem;
}
.boardView .viewInfo .title::before {
    content:"";
    width:2.4rem;
    height:2.4rem;
    margin-right:0.8rem;
    background:no-repeat 50%;
    background-size:100% auto;
}
.boardView .viewInfo .calendar::before {
    background-image:url("../images/common/ico_calendar.svg");
}
.boardView .viewInfo .file::before {
    background-image:url("../images/common/ico_view_file.svg");
}
.boardView .viewInfo .fileText {
    text-decoration:underline;
}
.boardView .viewContents {
    padding:3.2rem 2rem;
    font-size:1.8rem;
    line-height:1.8;
}
.boardView .boardPreview li {
    display:flex;
    align-items:center;
    gap:4rem;
    padding:2.4rem 4.6rem;
    border-bottom:1px solid #DDD;
    color:#444;
    font-size:1.8rem;
}
.boardView .boardPreview .title {
    display:flex;
    align-items:center;
    color:#111;
    font-weight:500;
    letter-spacing:-1.08px;
    white-space:nowrap;
}
.boardView .boardPreview .title::before {
    content:"";
    width:1.2rem;
    height:0.7rem;
    margin-right:1rem;
    background:url("../images/common/ico_viewPrev.svg") no-repeat 50%;
    background-size:100% auto;
}
.boardView .boardPreview .title.next::before {
    transform:rotateX(180deg);
}
.boardView .boardPreview .text {
    width:calc(100% - 10rem);
}
.boardView .boardPreview .ellipsis1 {
    width:96%;
}
.boardView .boardPreview .ellipsis1:hover {
    color:#007130;
}
.bottomBtn {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:7rem;
}
.bottomBtn .btn {
    min-width:15rem;
    height:5.2rem;
    padding:0 2rem;
    border-radius:10rem;
    font-weight:600;
    font-size:1.8rem;
    letter-spacing:-1.08px;
    text-align:center;
}
.bottomBtn .btn.bg {
    background:#007130;
    color:var(--white);
}

/* 반응형 */
@media (width <= 1379px) {
    html {
        font-size:60%;
    }
}

/* 태블릿 구간 (768px ~ 1340px) */
@media (width <= 1340px) and (width >= 768px) {
    html {
        font-size:62.5%;
    }
    .header {
        height:6rem;
    }
    .header .logo a {
        width:11.6rem;
    }
    .headerNav {
        display:none;
    }
    .btnHamburger {
        display:flex;
    }

    /* hero - 태블릿 */
    .hero {
        min-height:60rem;
    }
    .hero .inner {
        min-height:60rem;
    }
    .heroVisual {
        width:55%;
    }
    .heroTitle {
        font-size:5.6rem;
        letter-spacing:-2.24px;
    }
    .heroConts {
        width:clamp(38rem, 40%, 51rem);
    }
    .heroNav li a {
        width:7.2rem;
        font-size:1.4rem;
    }
    .heroNav li a i {
        width:5.6rem;
        height:5.6rem;
    }

    /* promotion - 태블릿 */
    .promotion .mainTitle {
        font-size:3.8rem;
    }

    /* schedule - 태블릿 */
    .schedule .tableWrap {
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .schedule .table {
        min-width:700px;
    }
    .schedule .tableWrap::before {
        display:none;
    }
    .schedule {
        background:none;
    }
 
    /* mainNews - 태블릿 */
    .mainNews {
        border-radius:8rem 0 0;
    }
    .mainNews .swiper-button-prev, .mainNews .swiper-button-next {
        display:none;
    }
  
 
  
}

/* 모바일 구간 (767px 이하) */
@media (width <= 767px) {
    .mainNews .swiper-slide:hover {
        transform:none;
    }
    .mainNews .swiper-slide:hover .category {
        background:#4A4A4A;
    }
    html {
        font-size:62.5%;
    }
    .schedule {
        background:none;
    }
    .header {
        height:6rem;
    }
    .header .logo a {
        width:11.6rem;
    }
    .headerNav {
        display:none;
    }
    .btnHamburger {
        display:flex;
    }
    .header .subMenuBlind {
        display:none;
    }

    /* ===== 메인 공통 ===== */
    .main {
        padding-top:6rem;
    }

    /* hero - 모바일: 콘텐츠 상단, 비주얼 하단 배치 */
    .hero {
        min-height:auto;
        padding-top:0;

    }
    .heroNav {
        display:none;
    }
    .heroVisual {
        position:relative;
        top:auto;
        bottom:0;
        width:100%;
        margin-top:-8rem;
        background:none;
    }
    .hero::after {
        display:none;

    }
    .heroBadge {
        bottom:1rem;
        left:1rem;
        width:8rem;
        height:8rem;
        font-size:1.1rem;
    }
    .heroBadge strong {
        font-size:1.2rem;
    }
    .hero .inner {
        justify-content:flex-start;
        min-height:auto;
        padding-top:2.4rem;
        padding-bottom:3.2rem;
    }
    .heroConts {
        width:100%;
        padding:0;
    }
    .heroOrder {
        font-size:1.8rem;
    }
    .heroTitle {
        margin-bottom:1.2rem;
        font-size:4.8rem;
        letter-spacing:-1.68px;
    }
    .heroSlogan {
        margin-bottom:1.6rem;
        padding:0.5rem 1.2rem;
        font-size:1.9rem;
    }
    .subDesc.calendar, .subDesc.location {
        padding-left:2.4rem;
    }
    .subDesc {
        margin-bottom:0.4rem;
        font-size:1.7rem;
  
    }
    .subDesc em {
        margin-left:0.3rem;
        font-size:2.4rem;
    }
    .subDesc.calendar::before {
        width:1.6rem;
        height:1.6rem;
    }
    .subDesc.location::before {
        width:1.6rem;
        height:1.6rem;
    }
    .heroNav {
        justify-content:space-between;
        gap:0;
        margin-top:2.4rem;
    }
    .heroNav li a {
        gap:0.6rem;
        width:auto;
        min-width:6rem;
        font-size:1.3rem;
    }
    .heroNav li a i {
        width:5rem;
        height:5rem;
    }
  

    /* promotion - 모바일 */
    .mopromo_txt {
        display:block;
        position:absolute;
        height:auto;
        pointer-events:none;
    }
    .mopromo_txt1 {
        top:6%;
        right:0%;
        width:40%;
    }
    .mopromo_txt2 {
        top:84%;
        left:4%;
        width:35%;

    }
    .mopromo_txt3 {
        right:5%;
        bottom:6%;
        width:30%;
    }
    .promotion {
        padding:4.5rem 0 8rem;
        border-radius:0 0 50px;
        background:url("../images/main/mopromotion_bg.png");
        background-size:cover;
    }
    .main .promotion .mainTitle {
        font-size:3rem;
    }
    .promotion .mainTitle span {
        font-size:2.2rem;
    }
    .promotion .videoWrap {
        margin-top:2.4rem;
        border-radius:1rem;
    }

    /* schedule - 모바일 */
    .schedule {
        padding:5.8rem 0;
    }
    .schedule .tableWrap {
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .schedule .table {
        min-width:600px;
    }
    .table thead th {
        padding:1rem 0.6rem;
        font-size:1.6rem;
    }
    .table td {
        padding:1rem 0.6rem;
        font-size:1.6rem;
    }
    .schedule .tableWrap::before {
        display:none;
    }
    .schedule::after {
        display:none;
    }

    /* mainNews - 모바일 */
    .mainNews {
        padding:5rem 0;
        border-radius:6rem 0 0;
    }
    .mainNews .mainTitle {
        font-size:2.8rem;
    }
    .mainNews .newsList {
        margin-top:2.4rem;
    }
    .mainNews .swiper {
        width:75%;

    }
    .mainNews .swiper-button-prev,
    .mainNews .swiper-button-next {
        display:flex;
        top:50%;
        width:3.6rem;
        height:3.6rem;
        transform:translateY(-50%);
    }
    .mainNews .swiper-button-prev {
        left:0.5rem;
    }
    .mainNews .swiper-button-next {
        right:0.5rem;
    }
    .mainNewsHeader {
        flex-direction:column;
        gap:1.6rem;
    }
    .mainNewsHeader .snsList {
        display:none;
    }
    .mainNews .moSnsList {
        display:flex;
        justify-content:center;
        margin-top:3rem;
    } 
    .mainNews .swiper .swiper-slide a {
        box-shadow:none;
    }
    .mainNews .snsList.moSnsList {
        display:flex;
        gap:2rem;
        margin-top:1rem;

    }

    /* contents / breadcrumb - 모바일 (서브 공통) */
    .contents {
        padding:6rem 0;
    }
    .breadcrumb {
        margin-bottom:2.4rem;
        padding:1.5rem 0.5rem;
    }
    .breadcrumb .breadcrumbList li {
        font-size:1.3rem;
    }
    .main .mainTitle {
        font-size:2.4rem;
        letter-spacing:-1.12px;
    }
    .main .mainTitle span {
        font-size:2.4rem;
    }
}

/* ===== 이미지 모달 팝업 ===== */
.modalOverlay {
    display:none;
    justify-content:center;
    align-items:center;
    position:fixed;
    top:0;
    left:0;
    z-index:500;
    width:100%;
    height:100%;
    background:rgba(0, 0, 0, 0.6);
}
.modalOverlay.is-open {
    display:flex;
}
.modalWrap {
    overflow:hidden;
    width:50rem;
    max-width:calc(100% - 3rem);
    border-radius:0.8rem;
    background:#fff;
    box-shadow:0 1rem 4rem rgba(0, 0, 0, 0.3);
}
.modalBody img {
    display:block;
    width:100%;
}
.modalFooter {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:1.2rem 1.6rem;
    background:#333;
}
.modalNoShow {
    display:flex;
    align-items:center;
    gap:0.6rem;
    color:#fff;
    font-size:1.4rem;
    cursor:pointer;
}
.modalNoShow input[type="checkbox"] {
    width:1.6rem;
    height:1.6rem;
    cursor:pointer;
}
.modalClose {
    color:#ccc;
    font-size:1.4rem;
}
.modalClose:hover {
    color:#fff;
}
