@charset "utf-8";
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

/* =============================================================================
   reset
============================================================================= */
* {margin: 0; padding: 0; line-height: 1.4em; -webkit-overflow-scrolling: touch; box-sizing: border-box; -webkit-hyphens: auto; hyphens: auto; letter-spacing: -0.05em; vertical-align: middle; font-family: inherit; color: inherit; font-weight: inherit;}
html, body {height: 100%; font-size: 12px; font-family: 'Pretendard', sans-serif;}
body {color: #333; -webkit-text-size-adjust: none; word-break: keep-all; word-wrap: break-word;}
legend, caption, figcaption {display: none;}
ul,ol {list-style-image: none; list-style-position: outside; list-style-type: none; border: 0px;}
img,fieldset, frameset, frameborder, frame {border: 0;}
a, img, span, b, input, select, em, textarea, label, strong {vertical-align: middle; outline-style: none; color: inherit; font-family: inherit;}
a {color: inherit; text-decoration: none; cursor: pointer; color: inherit; font-family: inherit;}
a:hover {text-decoration: none;}
i, em {font-style: normal;}
textarea {resize: none;}
button {border: none; background: none; outline: none; cursor: pointer;}
input[type="text"],input[type="password"], textarea {-webkit-appearance: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; border-radius: 0;}
select {border-radius: 0; background: #fff;}
label {cursor: pointer;}

/* =============================================================================
   responsive font
============================================================================= */
@media screen and (max-width: 1200px) {
  html {font-size: 16px;}
}

@media screen and (max-width: 768px) {
  html {font-size: 15px;}
}

@media screen and (max-width: 540px) {
  html {font-size: 14px;}
}

@media screen and (max-width: 420px) {
  html {font-size: 13px;}
}

img {max-width: 100%;}

@media all and (min-width: 1201px) {
  .pc-hidden {display: none !important;}
}

@media all and (max-width: 1200px) {
  .mobile-hidden {display: none !important;}
}

/* =============================================================================
   layout
============================================================================= */
.wrap,
#wrap {width: 100%; margin: 0 auto;}
.wrapper {width: 1200px; margin: 0 auto;}

.header {position: fixed; top: 0; left: 0; width: 100%; height: 45px; background: #fff; z-index: 20; box-sizing: border-box; border-bottom: none;}
.header:after {content: ""; position: absolute; top: 100%; left: 0; width: 100%; height: 30px; background: url("../images/pattern.jpg") center / cover no-repeat; display: block;}
.header .wrapper {position: relative; text-align: center; display: flex; align-items: center; height: 100%;}
.header .logo {line-height: 1;}
.header .logo a {font-size: 22px; font-weight: bold; vertical-align: top;}
.header .logo a * {vertical-align: baseline;}
.header .logo img {height: 25px;}

@media all and (max-width: 1200px) {
  .header {padding: 8px 0; height: 50px; border-bottom: none;}
  .header .logo {height: 30px; position: relative; padding-right: 0; text-align: left; float: none; font-size: 18px;}
  .header .logo img {height: 20px;}
  .wrapper {width: 100%; padding: 0 15px;}
  #wrap,
  .wrap {padding-top: 50px;}
}

#content {overflow: hidden; padding-bottom: 70px;}

@media all and (max-width: 1200px) {
  #content {padding-bottom: 50px;}
  #content .sub-content {box-sizing: border-box;}
}

.container {width: 1200px; max-width: 100%; margin: 0 auto; padding: 45px 0 30px 0; display: flex; flex-wrap: wrap;}
.container #content {flex: 1;}

@media all and (max-width: 1200px) {
  .container {padding: 1.5rem 0 1.8rem;}
}

.lnb ~ #content .sub-content .content-title {margin-top: 0;}
.lnb ~ #content .sub-content.wrapper {width: auto;}
.content-title {position: relative; margin-bottom: 50px; margin-top: 70px;}
.content-title h2 {display: inline-block; line-height: 36px; font-size: 25px; border-bottom: 2px solid #242b3f; padding-bottom: 20px;}
.content-title .breadcrumb {position: absolute; top: 15px; right: 0; line-height: 36px;}
.content-title .breadcrumb ul {overflow: hidden;}
.content-title .breadcrumb ul li {float: left; font-size: 14px; color: #999;}
.content-title .breadcrumb ul li img {vertical-align: middle;}

@media all and (max-width: 1200px) {
  .content-title {display: block; margin-bottom: 35px; margin-top: 30px; padding-top: 10px;}
  .content-title h2 {line-height: 27px; font-size: 1.6rem; border-bottom: 2px solid #242b3f; padding-bottom: 15px;}
}

.content-detail h2 {font-size: 25px; line-height: 120%; margin-bottom: 20px; color: #242b3f;}
.content-detail .theme-2 {font-size: 18px; line-height: 1.6em;}

.lnb ~ #content .content-title h2 {margin-top: 0;}

.header + .sub-visual-wrap {min-height: 35px; margin-top: 45px;}
.container > .sub-visual-wrap {margin-bottom: 40px;}
.sub-visual-wrap {position: relative; z-index: 0; display: flex; justify-content: center; align-items: center; width: calc(100% + 40px); margin-left: -20px; min-height: 200px; text-align: left; background: #ff9e2c url("../images/2_pattern_4.jpg") no-repeat 50% 50%; background-size: cover; flex-direction: column; color: #fff;}
.sub-visual-wrap.small {min-height: 35px;}
.sub-visual-wrap h2 {font-size: 47px;}
.sub-visual-wrap .breadcrumbs {margin-top: 15px; font-size: 14px; display: flex; flex-direction: row; align-items: center; color: #adafb3;}
.sub-visual-wrap .breadcrumbs .current:before {content: '/'; display: inline; margin-right: 5px; margin-left: 5px; font-size: 11px; line-height: 1;}
.sub-visual-wrap.type2 {width: 1200px; margin-left: auto; margin-right: auto;}

@media all and (max-width: 1200px) {
  .sub-visual-wrap {display: none;}
  .sub-visual-wrap {min-height: 10rem;}
  .sub-visual-wrap h2 {font-size: 2.5rem;}
  .sub-visual-wrap .breadcrumbs {font-size: 0.8rem;}
  .sub-visual-wrap .breadcrumbs .current:before {font-size: 0.6rem;}
  .header + .sub-visual-wrap {height: 0; margin-top: 0;}
}

/* =============================================================================
   main
============================================================================= */
.main-key-slider {position: relative; max-width: 1200px; margin: 75px auto 0; overflow: hidden; padding-top: 50px;}
.main-key-slider img {width: 100%;}

#content .major-content {overflow: hidden; margin-top: 75px; display: flex; flex-wrap: wrap;}
#content .major-content .board {flex: 1; overflow: hidden;}
#content .major-content .board ~ .board {margin-left: 45px;}
#content .major-content .board.event-day {margin-right: 0;}
#content .major-content .board h2 {position: relative; font-size: 2rem; color: #242b3f; font-weight: 700; margin-bottom: 30px; padding-bottom: 5px; border-bottom: 2px solid #242b3f;}
#content .major-content .board h2 span {color: #999; position: absolute; top: 50%; right: 0; transform: translateY(-50%); -webkit-transform: translateY(-50%);}
#content .major-content .board h2 span i {float: left;}
#content .major-content .board .title,
#content .major-content .board .tit {font-size: 20px; margin: 25px 0 15px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
#content .major-content .board .desc,
#content .major-content .board .desc a {color: #555; font-size: 18px; line-height: 1.8; text-align: justify;}
#content .major-content .board .desc {overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; word-wrap: break-word; line-height: 1.5em; height: 7.8em;}
#content .major-content .list-wrap-slide {position: relative;}

@media all and (max-width: 1200px) {
  #content .major-content {margin-top: 3.5rem;}
  #content .major-content .board.event-day {flex: initial; clear: both; width: 100% !important; margin-left: 0 !important; margin-top: 1.875em; width: 100%;}
  #content .major-content .board ~ .board {margin-left: 2.813rem;}
  #content .major-content .board {margin-right: 0; box-sizing: border-box;}
  #content .major-content .board h2 {font-size: 1.5rem; margin-bottom: 1.875rem; padding-bottom: 0.313rem;}
  #content .major-content .board .title {font-size: 18px; margin: 1.563rem 0 0.938rem;}
  #content .major-content .board .desc,
  #content .major-content .board .desc a {font-size: 16px;}
  #content .major-content .board img {width: 100%;}
  #content .major-content .board.mobile-hidden {display: none;}
}

@media all and (max-width: 1023px) and (min-width: 481px) {
  #content .major-content .list-wrap-slide .swiper-pagging {position: relative; bottom: 0 !important; margin-top: 0.938em;}
  #content .major-content .list-wrap-slide .swiper-pagging .swiper-pagination-bullet {border-color: #ff9e2c;}
}

@media all and (max-width: 480px) {
  #content .major-content {display: block; margin-top: 2rem;}
  #content .major-content .board {width: 100%; margin-left: 0 !important;}
  #content .major-content .board:nth-child(2) {padding-left: 0; margin-top: 1.875em;}
}

.list-wrap-slide {overflow: hidden; position: relative;}
.list-wrap-slide img {width: 100%;}

#content .complex-content {overflow: hidden; margin-top: 75px;}
#content .complex-content > ul, #content .complex-content p {width: 370px; float: left; margin-right: 45px; border-bottom: 1px solid #242b3f;}
#content .complex-content > ul:last-child {margin-right: 0;}
#content .complex-content p {width: 370px; margin-right: 0; border: 0;}
#content .complex-content > ul >li {display: flex; height: 150px; border-top: 1px solid #242b3f; align-items: center;}
#content .complex-content > ul >li a {display: block;}
#content .complex-content > ul >li dl {display: table; table-layout: fixed; width: 100%;}
#content .complex-content > ul >li dl dt, #content .complex-content ul li dl dd {display: table-cell; vertical-align: middle;}
#content .complex-content > ul >li dl dt {width: 100px;}
#content .complex-content > ul >li dl dd {padding-left: 25px;}
#content .complex-content > ul >li dl dd span {display: block;}
#content .complex-content > ul >li dl dd span.subject {font-size: 18px; color: #222; margin-bottom: 10px; letter-spacing: -1px; line-height: 1.6;}
#content .complex-content > ul >li dl dd span.sns {font-size: 16px; color: #666; letter-spacing: -1px; font-weight: bold; margin-top: -3px; margin-bottom: 5px}
#content .complex-content > ul >li dl dd span.name {font-size: 16px; color: #999; letter-spacing: -1px;}
#content .complex-content > ul >li dl dd .list li {font-size: 1.3rem; padding-left: 10px; position: relative; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
#content .complex-content > ul >li dl dd .list li ~ li {margin-top: 5px;}
#content .complex-content > ul >li dl dd .list li:before {content: ''; display: block; width: 3px; height: 3px; border-radius: 100%; background: #333; position: absolute; top: 8px; left: 0;}
#content .complex-content.list > ul {width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0 45px; border-bottom: none; padding-top: 1px;}
#content .complex-content.list > ul > li {border-bottom: 1px solid #242b3f; margin-top: -1px;}

@media all and (max-width: 1200px) {
  #content .complex-content {margin: 50px 0;}
  #content .complex-content > ul {width: calc(50% - 20px); margin-right: 0;}
  #content .complex-content > ul ~ ul {margin-left: 40px;}
  #content .complex-content .banner {margin-top: 20px;}
  #content .complex-content .banner img {width: 100%; height: auto}
  #content .complex-content > ul >li {height: 130px;}
  #content .complex-content > ul >li dl dt {width: 90px;}
  #content .complex-content > ul >li dl dd {padding-left: 23px;}
  #content .complex-content > ul >li dl dd span.subject {font-size: 16px; margin-bottom: 9px; letter-spacing: -1px;}
  #content .complex-content > ul >li dl dd span.name {font-size: 14px; letter-spacing: -1px;}
  #content .complex-content > ul >li dl dd span.sns {font-size: 14px; letter-spacing: -1px; margin-top: -3px; margin-bottom: 5px}
  #content .complex-content > ul >li dl dd .list li {padding-left: 9px; font-size: 0.875rem;}
  #content .complex-content > ul >li dl dd .list li ~ li {margin-top: 5px;}
  #content .complex-content > ul >li dl dd .list li:before {width: 3px; height: 3px; top: 7px;}

  .banner {text-align: center; width: 100% !important;}
}

@media all and (max-width: 768px) {
  #content .complex-content > ul {width: 100%; margin-left: 0 !important;}
}

.category-menu {overflow:hidden;}
.category-menu li {float:left;width:25%;text-align:center;padding:30px 0;}
.category-menu li span {display:block;}
.category-menu li span.ico {padding-bottom:30px;}
.category-menu li span.title,
.category-menu li span.tit {padding-bottom:20px;font-size:28px;color:#fff;}
.category-menu li span.desc {padding-bottom:30px;font-size:16px;color:#fff;line-height:1.6;}
.category-menu li span.more {display:block;width:45px;height:45px;border-radius:100%;border:4px solid #fff;margin:0 auto;background:url("data:image/svg+xml,%3Csvg width='41' height='41' viewBox='0 0 41 41' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.6568 0.355686C19.6836 -0.127853 21.1513 0.0939489 21.9037 0.84631C22.7901 1.73274 22.7674 1.51525 22.821 9.62173L22.8707 17.1425L30.4007 17.1796C35.5686 17.2049 38.0681 17.2741 38.3689 17.4002C38.9327 17.6366 39.6872 18.3924 39.92 18.9543C40.4697 20.2806 39.8372 21.8103 38.4157 22.5925C37.7886 22.9376 37.706 22.9409 30.3375 22.9168L22.8931 22.8923L22.9175 30.2506C22.9312 34.2976 22.8849 37.7823 22.8146 37.9942C22.4891 38.9781 21.3973 39.8949 20.3591 40.0563C19.5886 40.1762 18.6188 39.8339 18.017 39.23C17.1291 38.3391 17.1151 38.2018 17.0888 30.1986L17.0648 22.8644L9.82964 22.822C5.85014 22.7987 2.40814 22.717 2.18059 22.6407C1.58865 22.4421 0.894245 21.8591 0.572736 21.2908C0.231923 20.688 0.139424 19.5182 0.381201 18.8671C0.605538 18.2632 1.35952 17.4818 1.95396 17.237C2.25331 17.1137 4.70646 17.0665 9.7539 17.0869L17.1174 17.1166L17.0971 9.67633C17.0789 2.99771 17.1048 2.18015 17.3489 1.69103C17.6764 1.03476 18.0715 0.63131 18.6568 0.355686Z' fill='white'/%3E%3C/svg%3E%0A") no-repeat 50% 50%;background-size:auto 60%;}
.category-menu li:nth-child(1) {background:#ff9e2c;}
.category-menu li:nth-child(2) {background:#242b3f;}
.category-menu li:nth-child(3) {background:#3d6989;}
.category-menu li:nth-child(4) {background:#515a61;}
@media all and (max-width:1024px) {
  .category-menu li {width:50%;}
  .category-menu li span.tit {font-size:1.5rem;}
  .category-menu li span.desc {font-size:0.8rem;}
}

@media all and (max-width:500px) {
  .category-menu li {width:100%;}
}

/* =============================================================================
   templates - 갤러리 상세
============================================================================= */
.gal-detail {max-width: 900px; margin: 0 auto;}

.gal-section {margin-top: 32px;}
.gal-section:first-child {margin-top: 0;}

.gal-heading {font-size: 20px; font-weight: 700; color: #242b3f; padding-bottom: 10px; margin-bottom: 14px; border-bottom: 2px solid #ff9e2c; display: inline-block;}

.gal-section p {font-size: 18px; line-height: 1.8; color: #555;}
.gal-section p + p {margin-top: 10px;}

.gal-images {display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 40px;}
.gal-images img {width: 100%; border-radius: 12px; display: block;}
.gal-images img:only-child {grid-column: 1 / -1;}
.gal-images img:nth-child(3) {grid-column: 1 / -1;}

.gal-detail .btn-area {margin-top: 40px; width: 1200px; max-width: 100vw; margin-left: 50%; transform: translateX(-50%);}

@media screen and (max-width: 768px) {
  .gal-heading {font-size: 18px;}
  .gal-section p {font-size: 16px;}
  .gal-images {grid-template-columns: 1fr; gap: 12px; margin-top: 30px;}
  .gal-images img:nth-child(3) {grid-column: auto;}
  .gal-section {margin-top: 24px;}
}

@media screen and (max-width: 480px) {
  .gal-heading {font-size: 17px;}
  .gal-section p {font-size: 15px;}
  .gal-detail .btn-area {margin-top: 30px;}
}

/* =============================================================================
   board - 목록
============================================================================= */
.list-type {clear: both; display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 40px}
.list-type:after {content: ""; display: block; clear: both;}
.list-type li .img {position: relative; width: 100%; height:220px;display:flex;justify-content:center;align-items:center; overflow: hidden; background-position: 50% 50%; background-size: cover; background-repeat: no-repeat; border-radius: 8px;}
.list-type li .img a {display: block;width:100%; height: 100%;display:flex;justify-content:center;align-items:center; overflow: hidden;}
.list-type li .img img {width: 100%;height:100%; object-fit: cover;}
.list-type li .text {margin-top: 15px;}
.list-type li .text > a > .tit {display: block; font-size: 18px; color: #242b3f; font-weight: 600; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; line-height: 1.4;}
.list-type li .text > a > .txt {display: block; margin-top: 12px; font-size: 16px; color: #555; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-wrap: break-word; line-height: 1.6; word-break: break-all;}
.list-type li .text .sale {display: block;}
.list-type li .text .sale:after {content: ""; display: block; clear: both;}
.list-type li .text .sale > .tit {float: left; color: #ff3b3b; font-weight: bold; font-size: 24px;}
.list-type li .text .sale > .account {float: right; font-size: 24px; color: #222222;}
.list-type li .info {margin-top: 15px; display: flex; flex-direction: row; align-items: center; font-size: 14px;}
.list-type li .info .right {margin-left: auto;}
.list-type li .info .favorite i {display: inline-block; width: 15px; height: 15px; margin-right: 5px; background: url("data: image/svg+xml,%3Csvg width='34' height='30' viewBox='0 0 34 30' fill='none' xmlns='http: //www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_1_7301)'%3E%3Cpath d='M31.0725 3.09937C27.2647 -0.649401 21.0659 -0.649401 17.2581 3.09937L17.1204 3.23712L16.6776 2.80419C12.8698 -0.934741 6.68088 -0.934741 2.87307 2.81403C1.02329 4.6343 0 7.05476 0 9.6425C0 12.2204 1.02329 14.6409 2.87307 16.471L16.2644 29.6556C16.5005 29.8819 16.8055 30.0098 17.1302 30.0098C17.4549 30.0098 17.7599 29.8819 17.9961 29.6556L31.0922 16.7661C32.942 14.9459 33.9652 12.5156 33.9652 9.93768C33.9652 7.35978 32.942 4.92948 31.0922 3.10921L31.0725 3.09937ZM31.4857 9.92784C31.4857 11.8465 30.7281 13.6471 29.3506 15.0049L17.1204 27.0482L4.59495 14.7097C3.21745 13.3519 2.45982 11.5513 2.45982 9.63266C2.45982 7.714 3.21745 5.91341 4.59495 4.55558C5.97245 3.19776 7.8124 2.44998 9.77042 2.44998C11.7284 2.44998 13.5684 3.19776 14.9459 4.55558L16.2447 5.83469C16.717 6.30698 17.4943 6.30698 17.9665 5.83469L18.9702 4.84092C21.8236 2.02689 26.4775 2.02689 29.3309 4.84092C30.7084 6.19875 31.4661 7.99934 31.4661 9.918L31.4857 9.92784Z' fill='%231F2125'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1_7301'%3E%3Crect width='33.9456' height='30' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A") no-repeat 0 0; background-size: 100% 100%;}
.list-type li .info .user img {width: 25px; height: 25px; overflow: hidden; border-radius: 100%;}
.list-type li.mask .img:after {content: ''; display: flex; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5);}
.list-type li.ready .img:after {content: '비공개'; align-items: center; justify-content: center; color: #fff; font-size: 25px; font-family: 'Pretendard', sans-serif; font-weight: 700;}
@media screen and (max-width: 1024px) {
  .list-type {gap: 20px;}
  .list-type li .img {height:180px;}
  .list-type li .img img {width: 100%;}
  .list-type li .text {margin-top: 10px;}
  .list-type li .text > a > .tit {font-size: 0.938rem;}
  .list-type li .text > a > .txt {margin-top: 10px; font-size: 0.875rem;}
  .list-type li .text .sale > .tit {font-size: 1.375rem;}
  .list-type li .text .sale > .account {padding-top: 6px; font-size: 0.938rem;}
}

@media screen and (max-width: 768px) {
  .list-type {grid-template-columns: repeat(3, 1fr) !important;}
}

@media screen and (max-width: 540px) {
  .list-type {grid-template-columns: repeat(2, 1fr) !important;}
}

@media screen and (max-width: 420px) {
  .list-type {grid-template-columns: repeat(1, 1fr) !important;}
  .list-type li .img {height:auto;}
}

/* =============================================================================
   board - 버튼
============================================================================= */
.btn-area {padding-top: 20px; text-align: center; display: flex; align-items: center; max-width: 1200px; margin-left: auto; margin-right: auto;}
.btn-area [class*=btn-type] ~ [class*=btn-type] {margin-left: 5px;}
.btn-area .right {margin-left: auto;}
.btn-area.line {margin-top: 30px; padding-top: 20px; border-top: 1px solid #e4e4e4;}
.btn-type {display: inline-flex; cursor: pointer; height: 38px; line-height: 38px; padding: 0 20px; text-align: center; font-size: 1.3rem; border-radius: 2px; vertical-align: middle; align-items: center;}
.btn-type i:first-child {margin-right: 5px;}
.btn-type.btn-yellow {border: 1px solid #f2d42a; color: #6a6a6a; background: #ffdf2c;}
.btn-type.btn-white {border: 1px solid #d8d8d8; color: #6a6a6a; background: #fff;}

@media screen and (max-width: 1200px) {
  .btn-type {font-size: 1rem;}
}

/* =============================================================================
   etc
============================================================================= */
.swiper-pagination {display: flex; align-items: center; justify-content: center; bottom: 20px !important;}
.swiper-pagination .swiper-pagination-bullet {border: 2px solid #fff; text-indent: -9999px; display: block; width: 12px; height: 12px; margin: 0 5px; border-radius: 12px; opacity: 1; background: transparent !important;}
.swiper-pagination .swiper-pagination-bullet-active {border: 2px solid #ff9e2c; background: #ff9e2c !important;}

.ico-up {display: inline-block; width: 10px; height: 12px; background: url("data:image/svg+xml,%3Csvg width='38' height='45' viewBox='0 0 38 45' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.4932 4.83901L4 20.1535L7.07997 23.1057L17.3465 12.9575V45H21.6398V12.9575L31.9064 23.1057L34.9863 20.1535L19.4932 4.83901Z' fill='%23333333'/%3E%3Cpath d='M0 0H38V5H0V0Z' fill='%23333333'/%3E%3C/svg%3E") no-repeat 0 0; background-size: auto 100%;}

.align-left {text-align: left !important;}
.align-center {text-align: center !important;}
.align-right {text-align: right !important;}

.margin-top50 {margin-top: 50px !important;}

/* =============================================================================
   program (프로그램)
============================================================================= */
.pgm-card {display: flex; gap: 40px; align-items: flex-start;}
.pgm-card + .pgm-card {margin-top: 60px; padding-top: 60px; border-top: 1px solid #f0f0f0;}
.pgm-card.pgm-reverse {flex-direction: row-reverse;}

.pgm-img {flex: 0 0 45%; overflow: hidden; border-radius: 12px;}
.pgm-img img {width: 100%; display: block; border-radius: 12px;}

.pgm-body {flex: 1; min-width: 0;}

.pgm-num {display: inline-block; font-size: 40px; font-weight: 800; color: #e8e8e8; line-height: 1; letter-spacing: -0.02em; margin-bottom: 8px;}

.pgm-title {font-size: 22px; font-weight: 700; color: #242b3f; margin-bottom: 8px;}

.pgm-subtitle {font-size: 18px; font-weight: 500; color: #ff9e2c; margin-bottom: 12px; line-height: 1.4;}

.pgm-date {font-size: 14px; color: #999; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #f0f0f0;}

.pgm-text {font-size: 18px; line-height: 1.7; color: #555;}
.pgm-text p + p {margin-top: 12px;}

@media screen and (max-width: 1024px) {
  .pgm-card {gap: 30px;}
  .pgm-img {flex: 0 0 40%;}
  .pgm-title {font-size: 20px;}
  .pgm-subtitle {font-size: 17px;}
  .pgm-text {font-size: 16px;}
}

@media screen and (max-width: 768px) {
  .pgm-card,
  .pgm-card.pgm-reverse {flex-direction: column; gap: 20px;}
  .pgm-card + .pgm-card {margin-top: 40px; padding-top: 40px;}
  .pgm-img {flex: none; width: 100%;}
  .pgm-num {font-size: 32px;}
  .pgm-title {font-size: 19px;}
  .pgm-subtitle {font-size: 16px;}
  .pgm-text {font-size: 16px;}
}

@media screen and (max-width: 480px) {
  .pgm-card + .pgm-card {margin-top: 30px; padding-top: 30px;}
  .pgm-title {font-size: 17px;}
  .pgm-subtitle {font-size: 15px;}
  .pgm-text {font-size: 15px;}
  .pgm-date {font-size: 13px;}
}

/* =============================================================================
   business (사업소개)
============================================================================= */
.biz-section {margin-top: 40px;}
.biz-section:first-child {margin-top: 0;}

.biz-heading {font-size: 22px; font-weight: 700; color: #242b3f; padding-bottom: 12px; border-bottom: 2px solid #242b3f; margin-bottom: 16px;}

.biz-text {font-size: 18px; line-height: 1.7; color: #555;}

.biz-list {list-style: none; padding: 0; margin: 0;}
.biz-list li {position: relative; font-size: 18px; line-height: 1.7; color: #555; padding-left: 20px;}
.biz-list li:before {content: ''; position: absolute; top: 12px; left: 0; width: 6px; height: 6px; border-radius: 50%; background: #ff9e2c;}

.biz-table-wrap {margin-top: 16px; overflow-x: auto; -webkit-overflow-scrolling: touch;}
.biz-table {width: 100%; border-collapse: collapse; min-width: 400px;}
.biz-table th {padding: 12px 16px; background: #242b3f; color: #fff; font-size: 15px; font-weight: 500; text-align: left; white-space: nowrap;}
.biz-table td {padding: 12px 16px; border-bottom: 1px solid #e8e8e8; font-size: 15px; color: #555; line-height: 1.5;}
.biz-table tbody tr:hover {background: #f9f9f9;}
.biz-table th:first-child,
.biz-table td:first-child {width: 30%; white-space: nowrap;}

.biz-track-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px;}
.biz-track-card {background: #f7f8fa; border-radius: 12px; padding: 28px 24px; text-align: center; border: 1px solid #e8e8e8; transition: box-shadow 0.2s;}
.biz-track-card:hover {box-shadow: 0 4px 16px rgba(0,0,0,0.08);}
.biz-track-card h4 {font-size: 18px; font-weight: 700; color: #242b3f; margin-bottom: 16px;}
.biz-track-card h4 span {display: block; font-size: 14px; font-weight: 400; color: #999; margin-top: 4px;}
.biz-track-card ul {list-style: none; padding: 0; margin: 0;}
.biz-track-card li {font-size: 15px; color: #555; line-height: 2; position: relative;}
.biz-track-card li + li {border-top: 1px solid #e8e8e8;}

.biz-detail-list {list-style: none; padding: 0; margin: 24px 0 0;}
.biz-detail-list li {font-size: 16px; line-height: 1.7; color: #555; padding: 10px 0; border-bottom: 1px solid #f0f0f0;}
.biz-detail-list li:last-child {border-bottom: none;}
.biz-detail-list li strong {display: inline-block; color: #242b3f; font-weight: 600; margin-right: 8px; min-width: 100px;}

@media screen and (max-width: 768px) {
  .biz-heading {font-size: 19px;}
  .biz-text {font-size: 16px;}
  .biz-list li {font-size: 16px;}
  .biz-track-grid {grid-template-columns: 1fr; gap: 12px;}
  .biz-track-card {padding: 20px 16px;}
  .biz-detail-list li {font-size: 15px;}
  .biz-detail-list li strong {display: block; margin-bottom: 4px; min-width: auto;}
  .biz-table th,
  .biz-table td {font-size: 14px; padding: 10px 12px;}
}

@media screen and (max-width: 480px) {
  .biz-heading {font-size: 17px;}
  .biz-text {font-size: 15px;}
  .biz-list li {font-size: 15px;}
  .biz-detail-list li {font-size: 14px;}
}

/* =============================================================================
   오시는 길 - 카카오맵 약도 폰트 오버라이드
============================================================================= */
.root_daum_roughmap_landing {font-family: 'Pretendard', sans-serif !important;}
.root_daum_roughmap_landing .cont {font-size: 18px !important;}
.root_daum_roughmap_landing .section .tit {font-size: 18px !important; font-weight: 700 !important;}
.root_daum_roughmap_landing .section .title {font-size: 18px !important; font-weight: 700 !important;}
.root_daum_roughmap_landing .section .address .txt {font-size: 18px !important;}
.root_daum_roughmap_landing .section .phone .txt {font-size: 18px !important;}
.root_daum_roughmap_landing .section .wrap_list {font-size: 17px !important;}
.root_daum_roughmap_landing .section .wrap_list a {font-size: 17px !important;}
.root_daum_roughmap_landing .section .wrap_list li {font-size: 17px !important;}
.root_daum_roughmap_landing .section .txt_item {font-size: 17px !important;}

/* =============================================================================
   헤더 네비게이션 + 햄버거 메뉴
============================================================================= */
.header-nav {position: absolute; left: 50%; transform: translateX(-50%);}
.header-nav ul {display: flex; gap: 40px; list-style: none; margin: 0; padding: 0;}
.header-nav ul li a {font-size: 15px; font-weight: 500; color: #242b3f; text-decoration: none; position: relative; transition: color 0.2s;}
.header-nav ul li a:hover {color: #ff9e2c;}
.header-nav ul li a:after {content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: #ff9e2c; transition: width 0.3s;}
.header-nav ul li a:hover:after {width: 100%;}

.hamburger {display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; padding: 8px; margin-left: auto; background: none; border: none; cursor: pointer; z-index: 25;}
.hamburger span {display: block; width: 22px; height: 2px; background: #242b3f; border-radius: 2px; transition: all 0.3s;}
.hamburger:hover span {background: #ff9e2c;}

.side-menu {position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10000; pointer-events: none; visibility: hidden;}
.side-menu.on {pointer-events: auto; visibility: visible;}
.side-overlay {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0); transition: background 0.3s;}
.side-menu.on .side-overlay {background: rgba(0,0,0,0.5);}
.side-panel {position: fixed; top: 0; right: 0; width: 300px; height: 100%; background: #fff; box-shadow: -4px 0 20px rgba(0,0,0,0.15); padding: 30px 24px; overflow-y: auto; transform: translateX(100%); transition: transform 0.3s ease; display: flex; flex-direction: column;}
.side-menu.on .side-panel {transform: translateX(0);}

.side-close {position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; background: none; border: none; font-size: 28px; color: #999; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: all 0.2s;}
.side-close:hover {background: #f5f5f5; color: #242b3f;}
.side-title {display: block; font-size: 20px; font-weight: 700; color: #242b3f; margin-top: 20px; padding-bottom: 20px; border-bottom: 2px solid #ff9e2c;}
.side-nav {margin-top: 16px;}
.side-nav ul {list-style: none; margin: 0; padding: 0;}
.side-nav ul li {border-bottom: 1px solid #f0f0f0;}
.side-nav ul li a {display: block; padding: 16px 0; font-size: 17px; font-weight: 500; color: #333; text-decoration: none; transition: color 0.2s;}
.side-nav ul li a:hover {color: #ff9e2c;}
.side-copyright {margin-top: auto; padding-top: 30px; font-size: 12px; color: #bbb; line-height: 1.6;}

@media screen and (max-width: 768px) {
  .header-nav {display: none;}
  .side-panel {width: 260px; padding: 24px 20px;}
  .side-title {font-size: 18px;}
  .side-nav ul li a {font-size: 16px; padding: 14px 0;}
}

/* =============================================================================
   통합 반응형 푸터
============================================================================= */
.footer-new {background: #242b3f; color: #ccc; font-size: 15px; line-height: 1.6; margin-top: 60px;}
.footer-inner {max-width: 1200px; margin: 0 auto; padding: 40px 30px 30px;}

.footer-top {display: flex; justify-content: space-between; align-items: center; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,0.15);}
.footer-nav ul {display: flex; gap: 28px; list-style: none; margin: 0; padding: 0;}
.footer-nav ul li a {color: #fff; font-size: 15px; font-weight: 500; text-decoration: none; transition: color 0.2s;}
.footer-nav ul li a:hover {color: #ff9e2c;}
.footer-sns {display: flex; gap: 12px; align-items: center;}
.footer-sns a {display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.1); transition: background 0.2s;}
.footer-sns a:hover {background: rgba(255,255,255,0.25);}
.footer-sns a img {height: 20px; width: auto;}

.footer-body {display: flex; justify-content: space-between; gap: 40px; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,0.08);}
.footer-info {flex: 1;}
.footer-logo {font-size: 18px; font-weight: 700; color: #fff; margin: 0 0 14px;}
.footer-addr p {font-size: 14px; color: #999; line-height: 1.8; margin: 0;}
.footer-highlight {color: #ccc; font-weight: 700; text-decoration: none;}
.footer-highlight:hover {color: #fff;}

.footer-contact {flex-shrink: 0; text-align: right;}
.footer-hours {font-size: 13px; color: #888; margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,0.08);}
.footer-tel {font-size: 20px; font-weight: 700; color: #ff9e2c; margin: 0; letter-spacing: 1px;}
.footer-fax {font-size: 15px; color: #bbb; margin: 4px 0 0;}
.footer-email {font-size: 14px; color: #999; margin: 10px 0 0;}

.footer-bottom {padding-top: 20px;}
.footer-copyright {font-size: 13px; color: #666; margin: 0; text-align: center;}

@media screen and (max-width: 1024px) {
  .footer-inner {padding: 32px 24px 24px;}
  .footer-body {flex-direction: column; gap: 24px;}
  .footer-contact {text-align: left;}
}

@media screen and (max-width: 768px) {
  .footer-new {margin-top: 40px;}
  .footer-inner {padding: 28px 20px 20px;}
  .footer-top {flex-direction: column; gap: 16px; align-items: flex-start;}
  .footer-nav ul {flex-wrap: wrap; gap: 16px;}
  .footer-logo {font-size: 16px;}
  .footer-tel {font-size: 18px;}
}

@media screen and (max-width: 480px) {
  .footer-inner {padding: 24px 16px 16px;}
  .footer-nav ul {gap: 12px;}
  .footer-nav ul li a {font-size: 14px;}
  .footer-addr p {font-size: 13px;}
  .footer-tel {font-size: 17px;}
  .footer-fax {font-size: 14px;}
}