* { box-sizing:border-box; margin:0; padding:0}
li { list-style:none; }
a { text-decoration:none; color:#333 }
a:hover { text-decoration:none; }
table { border-spacing:0; }
body { font-family:'Pretendard',sans-serif; font-weight:500; color:#333; overflow-x: hidden; color:#222;}
button { padding:0; border:0; background:none; cursor:pointer; outline:0; }
.inner { max-width:1650px; margin:0 auto; }

/* header */
.header {position:relative; border-bottom:1px solid #eee; background:#fff; }
.header .inner { display:flex; align-items:center; justify-content:space-between; height:clamp(70px,8vw,100px); padding:0 15px; }
.logo img { width:clamp(170px,20vw,300px); height:auto; }

.nav{position:relative;}
.nav .menu { display:flex; gap:clamp(20px,6vw,90px); }
.nav span { font-size:clamp(17px,1.1vw,19px); font-weight:500; color:#000;cursor:default; }
.nav .cafe { font-size:clamp(17px,1.1vw,19px); font-weight:500; color:#000;}
.depth1{position:relative;}
.menu1{display:inline-block;}

@media (min-width:1200px){
  .menu1::after{content:""; position:absolute; left:0; bottom:0; width:100%; height:6px; background:rgba(62,159,221,0.3); transform:scaleX(0); transform-origin:left; transition:transform .3s ease;}
  .depth1:hover .menu1::after{transform:scaleX(1);}
  .depth2{position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%); min-width:160px; padding:12px 0; background:#fff; text-align:center; border-radius:10px; box-shadow:0 3px 8px rgba(0,0,0,.2); opacity:0; visibility:hidden; transition:.3s; z-index:100;}
  .depth1:hover .depth2{opacity:1; visibility:visible;}
  .depth2 li a{display:block; padding:10px 20px; font-size:16px;}
  .depth2 li a:hover{background:#f5f5f5;}
}

.util ul { display:flex; gap:15px; }
.util a { display:inline-block; padding:0 20px; line-height:32px; border:1px solid #ccc; border-radius:34px; font-size:14px; font-weight:500; color:#777; transition:0.1s ease; }
.util a:hover {border:1px solid #0b4fa2; color:#0b4fa2; }

body.menu-open{overflow: hidden;}
.mobile-btn { display:none; font-size:28px; cursor:pointer; }

/* main slide */
.visual{position:relative}
.mainSwiper { height:clamp(210px, 50vw, 730px);  width: 100%; overflow: hidden; --swiper-navigation-color:#fff; }
.mainSwiper .swiper-wrapper{ align-items:center;}
.swiper-wrapper .mbanner {display:block;width:100%;height:100%;margin:0;padding:0;}
.mainSwiper .swiper-slide img{ position:absolute; left:50%; transform: translateX(-50%); max-height: 100%; overflow: hidden;}
.swiper-button-prev { left:25px; }
.swiper-button-next { right:25px; }
.swiper-pagination-bullet{ width:10px; height:10px;}
.swiper-pagination-bullet-active{width:20px; border-radius: 5px;}

.visual-text { max-width:1300px; height:100%; margin:0 auto; padding:115px 0 0 30px; color:#fff; }
/* .slide1 { background:url(../images/mv/mv1.jpg) center/cover no-repeat; } */
.slide1 .visual-text p { margin-top:15px; font-size:27px; color:#fff; font-weight:300; letter-spacing:0.3px; }
.mv_btn { display:inline-block; width:180px; margin-top:50px; padding-left:25px; line-height:50px; border-radius:5px; text-align:left; color:#fff; background:#0b4fa2 url(../images/icon/arrow_white.png) no-repeat 155px center; }

/* .slide2 { background:url(../images/mv/mv2.jpg) center/cover no-repeat; } */
.slide2 .visual-text{ display:flex; gap:90px; max-width:1300px; height:100%; margin:auto; }
.slide2 .slide-text{ font-family:GmarketSans; }
.slide-sub{ font-size:clamp(20px,2vw,32px); }
.slide-title{ font-size:clamp(36px,4vw,60px); font-weight:800; line-height:1.3; margin:10px 0 20px; }
.slide-info{ font-size:clamp(18px,2vw,28px); margin-top:8px; line-height:1.2; }
.slide-sponsor{ display:flex; flex-direction:column; gap:12px; padding-top:185px; }
.sponsor-row{ display:flex; align-items:center; gap:10px; }
.sponsor-row span{ background:#0b5fa6; padding:4px 10px; border-radius:20px; font-size:14px; }


/* quick menu */
.quick-menu { position:absolute; left:50%; bottom:90px; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(30px,3vw,50px); transform:translateX(-50%); z-index:10; }
.quick-box { position:relative; bottom:0; width:190px; height:190px; border:1px solid #fff; border-radius:10px; background:rgba(255,255,255,0.7); box-shadow:0 10px 20px rgba(0,0,0,0.1); transition:0.3s ease; }
.quick-box:hover { bottom:10px; background:rgba(255,255,255,1); }
.quick-box a { display:block; width:100%; height:100%; }
.quick-box a span { display:block; padding-top:72%; text-align:center; font-size:18px; color:#000; }
.quick1 a { background:url(../images/icon/quick1.png) no-repeat center 35%; }
.quick2 a { background:url(../images/icon/quick2.png) no-repeat center 35%; }
.quick3 a { background:url(../images/icon/quick3.png) no-repeat center 35%; }
.quick4 a { background:url(../images/icon/quick4.png) no-repeat center 35%; }
.bookmark { position:absolute; top:-7px; left:12px; z-index:10; }

/* board */
.board-section { max-width:1650px; margin:90px auto; padding:0 10px }
.board-wrap { display:grid; grid-template-columns:1.6fr 1fr 0.9fr; column-gap: clamp(30px, 3vw, 50px); row-gap: 30px; }
.box1 {  grid-column: 1 / 2;  grid-row: 1 / 2;}
.box3 { grid-column: 1 / 2; grid-row: 2 / 3;}
.box2 {  grid-column: 2 / 3;  grid-row: 1 / 3;}
.box4 {  grid-column: 3 / 4;  grid-row: 1 / 3; min-width: 0;}

.section-title{ display:flex; justify-content:space-between; border-bottom:2px solid #000; }
.board-section h2{ width:100%; padding-bottom:clamp(16px,2vw,25px); font-family:GmarketSans; font-size:clamp(20px,2vw,28px); font-weight:600; }
.plus-btn{ position:relative; width:40px; height:40px; transition:transform .3s ease; }
.plus-btn:hover{ transform:rotate(90deg); }
.plus-btn::before,.plus-btn::after{ content:""; position:absolute; background:#333; }
.plus-btn::before{ top:50%; left:50%; width:24px; height:2px; transform:translate(-50%,-50%); }
.plus-btn::after{ top:50%; left:50%; width:2px; height:24px; transform:translate(-50%,-50%); }

.notice-item { display:flex; justify-content:space-between; border-bottom:1px solid #ddd; font-size:clamp(15px,1.2vw,19px); line-height:clamp(50px,6vw,70px); }
.notice-item a { color:#000; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notice-item .date { padding-left:20px; font-size:15px; color:#777; background:url(../images/icon/notice_date.gif) no-repeat 0 49%; white-space: nowrap;}


/* banner */
.banner-wrap{min-width:0;}
.banner-top img{max-width: 100%;}
.banner-slider{ position:relative; width:100%; margin-top:10px }
.banner-viewport{ overflow:hidden; width:100%; }
.banner-track{ display:flex; flex-wrap:nowrap; gap:15px; transition:transform .6s ease; }
.banner-item{ flex:0 0 50%; }
.banner-item img{ width:100%; display:block; }
.banner-prev:after, .banner-next:after{content:"";display:block; width:20px; height:20px;border-right:2px solid #aaa; border-bottom:2px solid #aaa; transform:rotate(-45deg);}
.banner-prev{position:absolute; left:10px; top:50%; transform: translateY(-50%) rotate(-180deg); z-index: 10;}
.banner-next{position:absolute; right:10px; top:50%; transform: translateY(-50%);}


/* poster banner */
.posterBanner{ position:relative; width:100%; margin-top:10px }
.posterBanner .banner-viewport{ overflow:hidden; width:calc(100% - 46px); margin:0 auto; }
.posterBanner .banner-track{ display:flex; flex-wrap:nowrap; gap:10px; transition:transform .5s ease; }
.posterBanner .poster-item{ flex:0 0 auto; }
.posterBanner .poster-item img{ width:100%; height:283px; object-fit:cover; display:block; border-radius:4px; }
.posterBanner .poster-item a{ display:block; }
.posterBanner .banner-prev{position:absolute; left:0; top:50%; transform: translateY(-50%) rotate(-180deg); z-index:10;}
.posterBanner .banner-next{position:absolute; right:0; top:50%; transform: translateY(-50%);}


/* calendar */
.calendar-box{box-shadow: 0 2px 7px rgba(0,0,0,0.1);height: calc(100% - 84px); border-radius: 15px; margin-top:30px; border: 1px solid #e4e4e4;; padding:20px 35px 35px 35px}
.calendar-box .calendar{height:80%; padding-bottom:10px; border-bottom:1px dashed #ccc;}
.calendar-box .cal_list{font-size:17px; line-height: 35px; color:#333; font-weight: 400; margin-top: 20px;}
.calendar-box .cal_list .circle{width:10px; height:10px; display:inline-block; border-radius: 5px; margin-right:5px; vertical-align: middle;}
.calendar-box .list0 .circle{background:var(--list0, #559fed);}
.calendar-box .list1 .circle{background:var(--list1, #f2a33d);}
.calendar-box .list2 .circle{background:var(--list2, #04a631);}
.calendar-box .list3 .circle{background:var(--list3, #7979ff);}
.calendar-box .cal_list a{ text-overflow: ellipsis; white-space: nowrap; overflow: hidden; width: calc(100% - 15px); display: inline-block;  vertical-align: middle;}

/* bannerZone */
.bannerZone ul{display:flex; flex-direction:column; gap:15px; margin-top:30px}
.bannerZone ul li img{max-width:100%}


/* gallery */
.gallery { padding:80px 10px; background:#f0f6ff; }
.gallery .inner {max-width:1650px }
.gallery .inner.photo {margin-bottom:100px}
.gallery .center-title { margin-bottom:40px; font-size: clamp(20px, 3vw, 35px); text-align:center; color:#222; font-family: GmarketSans;}
.gallery-list, .video-list { display:grid; grid-template-columns:repeat(4,1fr); gap: clamp(40px, 3vw, 60px)}

.gallery-list .img-box{display:block; width:100%; aspect-ratio:4/2.5; overflow:hidden;}
.gallery-list .img-box img{ width:100%; height:100%; object-fit:cover;}

.video-list .img-box{display:block; width:100%; aspect-ratio:16/9; overflow:hidden;}
.video-list .img-box img{ width:100%; height:100%; object-fit:cover;}

.gallery-list .img-box,
.video-list .img-box{border-radius: .3rem;}

.gallery .inner .img_tit {display:block; text-align: center; font-size:clamp(14px,1.5vw,17px); margin-top:10px; color:#333}
.gallery .inner .more { width:150px; line-height: clamp(33px, 3vw, 46px); font-size:clamp(14px,1.5vw,17px); display:block; margin: 40px auto 0 auto;text-align: center; border:1px solid #636363; color:#222; transition:0.1s;}
.gallery .inner .more:hover { background:#0b4fa2; color:#fff; border:1px solid #0b4fa2}

/* partner */
.partner-section { padding:40px 0; overflow:hidden; }
.partner-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.partner-controls{display:flex}
.partner-controls button {border:1px solid #ccc; background:#fff; cursor:pointer; height: 23px;}
.partner-wrap { width:100%; overflow:hidden; }
.partner-track { display:flex; width:max-content; gap:30px; }
.partner-item { flex:0 0 auto; cursor: pointer;}
.partner-item img { height:58px; border:1px solid #d2d2d2 }

/* footer */
.footer{background:#2f3747;padding:40px 15px;color:#aab3c2;font-size:14px;}
.footer-inner{display:flex;justify-content:space-between;gap:clamp(30px,7vw,130px);max-width:1650px; margin:auto;}
.footer-logo img{width:220px;}
.footer-info{flex:1;}
.footer-menu{margin-bottom:15px;}
.footer-menu a{color:#fff;font-weight:500;text-decoration:none;}
.footer-menu span{margin:0 10px;}
.footer-info p{margin:6px 0;}
.footer-info span{margin-left:15px;}
.copy{margin-top:15px;color:#8f98a8;}
.footer-account{padding:18px 22px;min-width:220px;border:1px solid rgba(255,255,255,0.2);}
.account-title{margin-bottom:6px;font-size:13px;}
.account-title span{color:#ffc400;font-weight:600;}
.account-number{margin-bottom:5px;font-size:20px;font-weight:700;color:#fff;}
.account-name{font-size:13px;}

/* ── 게시글 본문 이미지 반응형 ───────────────────────────── */
#postContent img,
.ql-editor img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ── 게시글 본문 a tag ───────────────────────────── */
#postContent a { color:var(--primary-dark);text-decoration: none;}
#postContent a:hover { color:var(--accent-color);text-decoration: none;}

@media (max-width:1350px){
	.nav .menu {gap:4vw;}
}

@media (max-width:1200px){
  .inner { width:95%; }
  .header .inner { padding:0; }

  .nav{position:fixed; top:70px; right:0; width:100%; height:100vh; background:#fff;  padding:15px 15px 0 20px; transform:translateX(100%); transition:transform .3s; z-index:1000;}
  .nav.active{ transform:translateX(0); }
  .nav .menu{ display:flex; flex-direction:column; gap:25px;}
  .menu1{display:flex; justify-content:space-between; align-items:center; width:100%; margin: 0 0 10px 0;}
  .menu1::after{content:""; width:7px; height:7px; border-right:1.5px solid #333; border-bottom:1.5px solid #333; transform:rotate(45deg); transition:transform .3s;}
  .depth1.active .menu1::after{transform:rotate(-135deg);}
  .nav .depth2{max-height:0; overflow:hidden; transition:max-height 0.35s ease; display:block }
  .depth1.active .depth2{max-height:500px; background:#f2f2f2; padding:0 15px 0 20px; }
  .depth2 li{margin:20px 0; font-size:17px}
  .nav a{font-size:19px}
  .nav .depth2 a{font-size:17px}
  .mobile-btn{ display:block; font-size:28px; cursor:pointer; z-index:1100;}
  .mobile-btn::before{ content:"☰";}
  .mobile-btn.active::before{ content:"✕";}

  .quick-menu{bottom:50px}
  .quick-box { width:160px; height:160px;}

  .util { margin-left:auto; display:flex; margin-right:15px }
  .util ul{ gap:10px }
  
  .board-wrap {grid-template-columns:1.6fr 1fr;}
  .box1 {  grid-column: 1 / 2;   grid-row: 1 / 2; }
  .box3 {  grid-column: 1 / 2;   grid-row: 2 / 3; }
  .box2 {  grid-column: 2 / 3;  grid-row: 1 / 3; }
  .box4 {  grid-column: 1 / 3;  grid-row: 3 / 4; }
  .bannerZone ul {display:flex; flex-wrap:wrap; flex-direction:row; justify-content: space-around;}
  .bannerZone ul li{width:49%;}
  .gallery-list, .video-list { grid-template-columns:repeat(2,1fr); gap:30px}
}

@media (max-width:1024px){
  .slide1 .visual-text { padding:95px 0 0 30px; }
  .slide1 .visual-text img { width:50%; }
  .slide1 .visual-text p { font-size:clamp(16px,1.5vw,19px); }

  .slide2 .visual-text{padding: 100px 0 0 30px; gap:50px}
  .slide2 .slide-sponsor {padding-top: 105px;}

  .quick-menu { bottom:50px; }
  .quick-box { width:140px; height:140px; border:1px solid #eee; }
  .quick-box a span { font-size:16px; padding-top:75%; }
  .bookmark { left:8px; }
  .bookmark img { width:40px; }

  .board-section { margin:40px auto 70px auto; }
  .calendar-box{height: calc(100% - 64px); margin-top:20px; }
  .calendar-box{height: calc(100% - 74px); margin-top:20px; padding: 0px 25px 25px 25px;}
  .calendar-box .cal_list{font-size:14px; line-height: 25px; margin-top: 15px;}

	.bannerZone ul li{width:48%}
  .gallery-list, .video-list { grid-template-columns:repeat(2,1fr); gap:25px}

  .footer{padding:30px 0 10px 0 }
  .footer-inner{ flex-direction:column;  gap:25px; text-align: center;}
  .footer-account{ width:100%; border-left:0; border-right:0; border-bottom:0}
}

@media (max-width:768px){
  .inner { width:90%; }
  .header .inner { width:95%; }
  .util a {padding:0 14px; line-height:28px;}
  .util a.cafe {border:0; padding:0}
  .util a.cafe img{width:30px; margin:0}
  .util a.cafe span{display:none}

  .swiper-button-next,.swiper-button-prev{display:none}
  .swiper-pagination{bottom:60px !important}
  .slide1 .visual-text {padding: 65px 0 0 20px;}
  .mv_btn { width:120px; margin-top:20px; padding-left:20px; line-height:38px; border-radius:5px; text-align:left; color:#fff; background:#0b4fa2 url(../images/icon/arrow_white.png) no-repeat 90% center; font-size:14px}

  .slide2 .visual-text{padding:30px 0 0 30px;  flex-direction:column; align-items:flex-start; justify-content:center; gap:20px}
  .slide2 .slide-sponsor {padding-top: 0;}
  .slide2 .slide-title{font-size:28px; margin: 5px 0;}
  .slide2 .slide-info {font-size:15px}


  .quick-menu { position:relative; transform:none; padding:35px 5% 10px 5%; gap:20px; left:0; background: #fff;}
  .quick-box { width:100%; height:130px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }
  .quick-box a span { padding-top:100px; font-size:14px; }

  .board-section {margin: 0px auto 50px auto;}
  .board-wrap {grid-template-columns: 1fr; row-gap: 45px;}
  .box1 {  grid-column: 1 / -1;  grid-row: 1 / 2; }
  .box2 {  grid-column: 1 / -1;  grid-row: 2 / 3; }
  .box3 {  grid-column: 1 / -1;  grid-row: 3 / 4; }
  .box4 {  grid-column: 1 / -1;  grid-row: 4 / 5; }

  .notice-item a{width:70%}
  .notice-item .date{background: none; width:30%; text-align: right;}
  .plus-btn{width:30px;height:30px}
  .plus-btn::before{width:20px;}
  .plus-btn::after{height:20px;}

  .banner-item{flex:0 0 calc((100% - 30px) / 3);}

  .calendar-box{height:auto}

  .gallery{padding: 50px 0;}
  .gallery .center-title { margin-bottom:20px;}
  .gallery .inner.photo{margin-bottom:60px}
  .gallery .inner .more{margin:20px auto 0 auto; width:100px}

  .partner-item img { height:45px; }
  .partner-track { gap:20px; }

  .footer .footer-inner{padding: 0 15px}
  
  /* table td */
  .tdnone {display:none;}
}

@media (max-width:480px){
  .util{margin-right: 10px;}

  .slide1 .visual-text p{margin-top: 6px;}

  .slide2 .visual-text{gap:10px; padding: 15px 0 0 20px;}
  .slide2 .slide-title {font-size: 20px;}
  .slide2 .slide-info{line-height: 1; font-size:14px}
  .slide2 .slide-sponsor{gap:1px}
  .slide2 .sponsor-row span{font-size:11px}
  .slide2 .sponsor-row img{height:65%; max-height:15px;}

  .quick-menu { grid-template-columns:repeat(2,1fr); }
  .quick-box { height:110px; }
  .quick-box a { background-size:55px; }
  .quick-box a span { padding-top:83px; }

  .notice-item a{width:100%}
  .notice-item .date{display:none}

  .banner-item{flex:0 0 calc((100% - 15px) / 2);}
  .bannerZone ul li{width:100%}

  .gallery-list, .video-list {gap:15px }

  .footer-logo img {width: 200px;}
  .footer-menu span{margin:0 5px;}
  .footer-info span{margin-left:5px;}
}

/* ------------- SUB -------------- */

.sub-visual{width:100%; height:clamp(100px,30vw,270px); background: url(../images/sv.jpg) no-repeat center center; background-size: cover;}
.sub_copy{display:flex; align-items:center; height:100%; max-width: 1300px; margin:0 auto; padding: 0 30px;}
.sub-container{padding:clamp(20px,5vw,40px) 20px clamp(40px,5vw,70px) 20px; border-bottom: 1px solid #ddd;}
.subinner{display:grid;grid-template-columns:225px 1fr;gap:clamp(30px,4vw,50px);max-width:1300px;margin:0 auto;}

.lnb{margin:0;padding:0;list-style:none;}
.lnb h2{width:225px;line-height:115px;background:url(../images/bg_lnb.gif) no-repeat 0 0;color:#fff;font-weight:400;text-align:center;}
.lnb li{border-bottom:1px solid #ddd;}
.lnb li a{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 14px 20px;font-size:16px;color:#333;text-decoration:none;}
.lnb li a:hover{color:#0b4fa2;}
.lnb li a::after{content:"";width:5px;height:5px;border-right:1.5px solid #aaa;border-bottom:1.5px solid #aaa;transform:rotate(-45deg);}
.lnb li.active{background:#dfedff;}
.lnb li.active a{font-weight:600;color:#0b4fa2;}

.content{padding-top:20px;border-radius:6px;background:#fff;}
.page-title{margin-bottom:40px;padding-bottom:15px;font-size:clamp(23px,3vw,30px);border-bottom:2px solid #747474;}

.sub .partner-section {padding:25px 0}
.sub .partner-section .inner{max-width:1300px}

@media (max-width:1200px){
  .subinner{grid-template-columns:1fr}
  .lnb{display:none}
  .content{padding-top:0}
}

@media (max-width:1024px){
  .sub_copy{padding:0 20px}
  .sub_copy img{width:45%;}
  
}

@media (max-width:768px){
  .sub_copy img{width:60%;}
  .page-title{margin-bottom:25px}
}



