/*=========================================================== Common Class Style ===========================================================*/
section {position: relative;}
section.page-landing {padding: 0px;}
.section .sub-title {font-size:40px; font-family: 'Cormorant'; font-weight: bold; margin-bottom: 50px;}

.page-landing.sub-page {width: 100%; height: auto;}
.page-landing.sub-page .cont-container {max-width: unset; padding: 0; margin: 0;}
.page-landing.sub-page .cont-container .thumb {width: inherit; height: inherit;}
.page-landing.sub-page .cont-container .thumb img {width: 100%; height: 100%; object-fit: cover;}
.page-landing.sub-page .cont-container .subtitle {width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); color: #fff; text-align: center; line-height: 1; text-shadow: 2px 2px 3px rgb(0 0 0 / 40%);}

.page-landing.sub-page .cont-container .cont-container-wrap {line-height: 1;}
.page-landing.sub-page .cont-container .cont-container-wrap:last-child {width: 100%; position: relative;}
.page-landing.sub-page .cont-container .cont-container-wrap span {width: 140px; display: inline-block; position: absolute; top: -26px; left: 50%;}
.page-landing.sub-page .cont-container .cont-container-wrap span img {width: 100%;}
.page-landing.sub-page .cont-container .cont-container-wrap b {font-size: 120px; font-weight: 900; color: #df4242; position: relative; z-index: 1; line-height: .9;}

.page-landing.board-page {margin-bottom: var(--cont-margin);}

.landing-title {font-size: 46px; font-weight: bold; transition: all .4s;}

p.content-title {font-size: 24px; font-weight: 700; line-height: 1; margin-bottom: 10px; transition: all .4s; color: #003F67;}
p.content-subtitle {font-size: 40px; font-weight: 700; line-height: 1; transition: all .4s;}
p.content-desc {font-size: 18px; line-height: 1.4; margin-top: 50px; transition: all .4s;}

br.pc {display: inline;}
br.m {display: none;}

video {width: 100%; height: 100%; object-fit: cover;}

legend {border: 0;}

@media (max-width:1399.98px){
    br.pc {display: none;}
    br.m {display: none;}
}
@media (max-width:1023.98px){
    .page-landing.sub-page .cont-container {height: 250px;}
    .page-landing.sub-page .cont-container .thumb img {object-position: 90%;}
    .page-landing.sub-page .cont-container .subtitle {padding: var(--padding);}

    .page-landing.board-page {margin-bottom: var(--m-cont-margin);}

    .landing-title {font-size: 25px;}

    p.content-title {font-size: 18px;}
    p.content-subtitle {font-size: 28px; line-height: 1.2;}
    p.content-desc {font-size: 12px; margin-top: 40px;}
    p.content-desc br {display: none;}

    br.pc {display: none;}
    br.m {display: inline;}
}
/*=========================================================== Common Sub Page Style ===========================================================*/
.thumb img {width: 100%;}
.content {margin-bottom: var(--cont-margin);}

.content .content-common {padding-bottom: 50px; border-bottom: 1px solid #ccc; margin-bottom: 150px;}
@media (max-width:1023.98px){
    .content .content-common {padding-bottom: 20px; margin-bottom: 50px;}
}
@media (max-width:767.98px){.content {margin-bottom: var(--m-cont-margin);}}
/*=========================================================== Main Page Style ===========================================================*/
.section.intro.main-page {overflow: hidden;}
.section.intro.main-page .cont-container {padding: 0; position: relative;}
.section.intro.main-page .cont-container img {width: 100%;}
.section.intro.main-page .cont-container img.mobile {display: none;}
.section.intro.main-page .cont-container.intro {max-width: unset; padding: 0; height: 100vh;}
.section.intro.main-page .cont-container.intro .thumb {width: inherit; height: inherit; position: relative;}
.section.intro.main-page .cont-container.intro .thumb::before {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.3);}
.section.intro.main-page .cont-container.intro .thumb img {width: 100%; height: 100%; object-fit: cover;}

.section.intro.main-page .cont-container .subtitle {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #fff; width: max-content; text-shadow: 2px 2px 3px rgb(0 0 0 / 40%); transition: all .4s; line-height: 1; z-index: 2;}
.section.intro.main-page .cont-container .subtitle .title {font-size: 70px; font-weight: bold; margin-bottom: 40px; transition: all .4s; line-height: 1.2;}
.section.intro.main-page .cont-container .subtitle .desc {line-height: 1; display: grid; gap: 10px;}
.section.intro.main-page .cont-container .subtitle .desc h3 {background: #D7000E; border-radius: 20px; display: inline-block; font-size: 26px; font-weight: 600; width: 94px; height: 38px; line-height: 38px; margin-bottom: 10px; transition: all .4s; justify-self: center;}
.section.intro.main-page .cont-container .subtitle .desc p {font-size: 26px; font-weight: 500; transition: all .4s;}
.section.intro.main-page .cont-container .subtitle .desc:last-child {margin-top: 30px;}

.section.intro.main-page .cont-container .slide-inner {position: absolute; bottom: 10%; left: 50%; transform: translateX(-50%); z-index: 10; width: 20%; height: 100%; color: #fff; height: auto; display: grid; grid-template-columns: auto 1fr auto; gap: 20px; justify-content: center; align-items: center;}
.section.intro.main-page .cont-container .slide-inner > span {font-size: 16px; font-weight: 500;}
.section.intro.main-page .cont-container .slide-inner .slide-loading {display: block; position: relative; width: 100%; height: 4px; border-style: solid; border-width: 0 0 1px 0; border-color: rgba(255, 255, 255, 0.2);}
.section.intro.main-page .cont-container .slide-inner .slide-loading .slide-loading-bar {position: absolute; left: 0; top: 0; z-index: 1; width: 0; height: 4px; background-color: #fff; -webkit-transition: .3s all; transition: .3s all;}
.section.intro.main-page .cont-container .slide-inner .slide-loading .slide-loading-bar.active {-webkit-animation-name: countingBar; animation-name: countingBar; -webkit-animation-duration: 4s; animation-duration: 4s; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards;}

.section.intro.main-page .cont-container .swiper-button-prev {background-image: url('/web22nd/page/img/main/ico-slide-arrow-left.png'); left: 2%;}
.section.intro.main-page .cont-container .swiper-button-next {background-image: url('/web22nd/page/img/main/ico-slide-arrow-right.png'); right: 2%;}

@media (max-width: 1023.98px) {
    .section.intro.main-page .cont-container .slide-inner {width: 85%;}
    .section.intro.main-page .cont-container .slide-inner > span {font-size: 12px;}
    .section.intro.main-page .cont-container .slide-inner .slide-loading,
    .section.intro.main-page .cont-container .slide-inner .slide-loading .slide-loading-bar {height: 2px;}

    .section.intro.main-page .cont-container .swiper-button-prev,
    .section.intro.main-page .cont-container .swiper-button-next {width: 16px; height: 30px; background-size: 16px 30px;}
    .section.intro.main-page .cont-container .swiper-button-prev {left: 5%;}
    .section.intro.main-page .cont-container .swiper-button-next {right: 5%;}
}

@-webkit-keyframes countingBar {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
  
@keyframes countingBar {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}


.section.intro.main-page .cont-container .slick-track {display: flex; /*gap: 30px;*/}
/* .section.intro.main-page .cont-container .slick-slide {max-width: 1400px;} */
/* .section.intro.main-page .cont-container .slick-slide img {border-radius: 20px;} */
.section.intro.main-page .cont-container .slick-prev {left: 60px; width: 32px; height: 28px;}
.section.intro.main-page .cont-container .slick-next {right: 60px; width: 32px; height: 28px;}
.section.intro.main-page .cont-container .slick-prev,
.section.intro.main-page .cont-container .slick-next {z-index: 10;}
.section.intro.main-page .cont-container .slick-prev:before,
.section.intro.main-page .cont-container .slick-next:before {font-size: 32px; color: #aaa;}
@media (max-width: 1399.98px) {
    .section.intro.main-page .cont-container .slick-prev,
    .section.intro.main-page .cont-container .slick-next {display: none !important;}
}
@media (max-width: 1023.98px) {
    .section.intro.main-page .cont-container img {object-fit: cover;}
    .section.intro.main-page .cont-container .slick-slide {height: 100vh;}
    .section.intro.main-page .cont-container .slick-slide * {height: 100%;}

    .section.intro.main-page .cont-container .subtitle .title {font-size: 32px;}
    .section.intro.main-page .cont-container .subtitle .desc h3 {font-size: 14px; width: 48px; height: 20px; line-height: 20px; margin-bottom: 10px;}
    .section.intro.main-page .cont-container .subtitle .desc p {font-size: 14px;}
    .section.intro.main-page .cont-container .subtitle .desc:last-child {margin-top: 20px;}
}
@media (max-width:991.98px){
    .section.intro.main-page .cont-container .slick-slide {aspect-ratio: auto 1/1;}
}
@media (max-width:767.98px){
}
@media (max-width:400px){
    .section.intro.main-page .cont-container .slick-track {gap: 0;}
    .section.intro.main-page .cont-container .slick-slide img {border-radius: 0;}
}

.main-container-01 {background: #222; margin: 0; padding-top: var(--cont-margin); padding-bottom: var(--cont-margin);}
.main-container-01 .cont-container {max-width: 1000px;}
.main-content-01 {display: grid; grid-template-columns: 1fr; gap: 60px; line-height: 1;}
.main-content-01 .title {font-size: 48px; font-weight: bold; text-align: center; color: #fff;}
.main-content-01 .video {position: relative; width: 100%; padding: 0; padding-top: 56.2%;}
.main-content-01 .video iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.main-content-01 .cont {line-height: 1;}
.main-content-01 .cont h3 {font-size: 30px; font-weight: 800; padding-bottom: 20px; margin-bottom: 40px; border-bottom: 1px solid #707070; position: relative;}
.main-content-01 .cont h3 span {position: absolute; top: -3px; right: 0; border: 1px solid #D7000E; border-radius: 20px; color: #D7000E; font-size: 18px; font-weight: bold; width: 124px; height: 38px; line-height: 38px; text-align: center; background: url(/web22nd/page/img/ico-arrow-right-red.png) no-repeat right; background-position-x: 102px; padding-right: 12px; cursor: pointer;}
.main-content-01 .cont strong {font-size: 24px; font-weight: 800; line-height: 1.5; vertical-align: top; margin-right: 40px; display: inline-block;}
.main-content-01 .cont p {font-size: 24px; font-weight: 300; line-height: 1.5; display: inline-block;}
@media (max-width: 1023.98px) {
    .main-container-01 {padding-top: var(--m-cont-margin); padding-bottom: var(--m-cont-margin);}
    .main-content-01 {gap: 30px;}
    .main-content-01 .title {font-size: 26px;}
    .main-content-01 .video {order: 2;}

    .main-content-01 .cont {order: 1;}
    .main-content-01 .cont h3 {font-size: 20px; padding-bottom: 10px; margin-bottom: 20px;}
    .main-content-01 .cont h3 span {font-size: 14px; width: 90px; height: 29px; line-height: 29px; background-position-x: 74px; background-size: 6px; padding-right: 8px; top: -5px;}
    .main-content-01 .cont > div:not(:last-child) {margin-bottom: 20px;}
    .main-content-01 .cont strong {font-size: 14px; margin-right: 10px;}
    .main-content-01 .cont p {font-size: 14px;}
}

.main-container-02 {position: relative; height: 553px;}
.main-container-02 .main-cont-container-02 {width: 100%; max-width: 1610px; position: absolute; right: 50px; padding-bottom: 80px;}
.main-container-02 .main-cont-container-02 .cont-title {font-size: 30px; font-weight: 800; margin-bottom: 70px;}
.main-container-02 .main-cont-container-02 .swiper-wrapper li {max-width: 400px; position: relative;}
.main-container-02 .main-cont-container-02 .swiper-wrapper li img {width: 100%; height: 100%; object-fit: cover; max-height: 280px;}
.main-container-02 .main-cont-container-02 .swiper-wrapper li p {position: absolute; bottom: 25px; left: 20px; color: #fff; font-size: 24px; font-weight: bold;}
.main-container-02 .main-cont-container-02 .swiper-scrollbar {width: 100%; left: unset; right: 0; bottom: 8px; background: #ccc; height: 3px; width: 92%;}
.main-container-02 .main-cont-container-02 .swiper-scrollbar .swiper-scrollbar-drag {background: #D7000E;}
.main-container-02 .main-cont-container-02 .swiper-button-prev {left: 0; top: unset; bottom: 0; width: 11px; height: 19px; background-size: 11px 19px; background-image: url('/web22nd/page/img/main/ico-arrow-left.png');}
.main-container-02 .main-cont-container-02 .swiper-button-next {left: 88px; right: unset; top: unset; bottom: 0; width: 11px; height: 19px; background-size: 11px 19px; background-image: url('/web22nd/page/img/main/ico-arrow-right.png');}
.main-container-02 .main-cont-container-02 .swiper-button-desc {position: absolute; left: 20px; bottom: -4px; font-size: 18px; font-weight: bold; color: #666;}
.main-container-02 .main-cont-container-02 .swiper-button-desc span {color: #000;}
@media (max-width: 1023.98px) {
    .main-container-02 {margin: var(--padding); margin-bottom: 140px; height: 370px;}
    .main-container-02 .main-cont-container-02 {right: 0; padding-bottom: 40px;}
    .main-container-02 .main-cont-container-02 .cont-title {font-size: 20px; line-height: 1.5; margin-bottom: 20px;}
    .main-container-02 .main-cont-container-02 .swiper-wrapper li {max-width: unset;}
    .main-container-02 .main-cont-container-02 .swiper-wrapper li p {font-size: 14px; bottom: 35px;}
    .main-container-02 .main-cont-container-02 .swiper-wrapper li img {max-height: 250px; object-fit: cover;}
    .main-container-02 .main-cont-container-02 .swiper-scrollbar {width: 78%; bottom: 4px;}
    .main-container-02 .main-cont-container-02 .swiper-button-prev {width: 7px; height: 12px; background-size: 7px 12px;}
    .main-container-02 .main-cont-container-02 .swiper-button-next {width: 7px; height: 12px; background-size: 7px 12px; left: 50px;}
    .main-container-02 .main-cont-container-02 .swiper-button-desc {font-size: 10px; left: 12px; bottom: -2px;}
}

.main-container-03 {position: relative; height: 470px;}
.main-container-03 .main-section-03 {position: absolute; width: 100%; max-width: 1610px; right: 50px; display: grid; grid-template-columns: 360px auto; gap: 140px;}
.main-container-03 .main-section-03 .cont-wrap h3 {font-size: 30px; font-weight: 800; padding-bottom: 22px; border-bottom: 1px solid #707070; margin-bottom: 40px; position: relative;}
.main-container-03 .main-section-03 .cont-wrap h3 span {position: absolute; top: -3px; right: 0; border: 1px solid #D7000E; border-radius: 20px; color: #D7000E; font-size: 18px; font-weight: bold; width: 124px; height: 38px; line-height: 38px; text-align: center; background: url(/web22nd/page/img/ico-arrow-right-red.png) no-repeat right; background-position-x: 102px; padding-right: 12px; cursor: pointer;}
.main-container-03 .main-section-03 .cont-wrap p {font-size: 24px; font-weight: 300;}
.main-container-03 .main-cont-container-03 {padding-bottom: 80px; margin: 0;}
.main-container-03 .main-cont-container-03 .swiper-wrapper li {max-width: 400px; position: relative;}
.main-container-03 .main-cont-container-03 .swiper-wrapper li img {width: 100%; height: 100%; object-fit: cover; max-height: 230px;}
.main-container-03 .main-cont-container-03 .swiper-wrapper li img.ms-img06 {object-position: top;}
.main-container-03 .main-cont-container-03 .swiper-wrapper li div {line-height: 1;}
.main-container-03 .main-cont-container-03 .swiper-wrapper li div .ico-new {margin-top: 20px; margin-bottom: 10px; display: inline-block;}
.main-container-03 .main-cont-container-03 .swiper-wrapper li div .cont-title {font-size: 26px; font-weight: bold; margin-bottom: 10px;}
.main-container-03 .main-cont-container-03 .swiper-wrapper li div .cont-desc {font-size: 18px; font-weight: 300; line-height: 1.3; color: #666;}
.main-container-03 .main-cont-container-03 .swiper-scrollbar {width: 100%; left: unset; right: 0; bottom: 8px; background: #ccc; height: 3px; width: 88%;}
.main-container-03 .main-cont-container-03 .swiper-scrollbar .swiper-scrollbar-drag {background: #D7000E;}
.main-container-03 .main-cont-container-03 .swiper-button-prev {left: 0; top: unset; bottom: 0; width: 11px; height: 19px; background-size: 11px 19px; background-image: url('/web22nd/page/img/main/ico-arrow-left.png');}
.main-container-03 .main-cont-container-03 .swiper-button-next {left: 88px; right: unset; top: unset; bottom: 0; width: 11px; height: 19px; background-size: 11px 19px; background-image: url('/web22nd/page/img/main/ico-arrow-right.png');}
.main-container-03 .main-cont-container-03 .swiper-button-desc {position: absolute; left: 20px; bottom: -4px; font-size: 18px; font-weight: bold; color: #666;}
.main-container-03 .main-cont-container-03 .swiper-button-desc span {color: #000;}
@media (max-width: 1023.98px) {
    .main-container-03 {margin: var(--padding); margin-bottom: 160px; height: 507px;}
    .main-container-03 .main-section-03 {grid-template-columns: 1fr; right: 0; gap: 40px;}
    .main-container-03 .main-section-03 .cont-wrap h3 {font-size: 20px; padding-bottom: 10px; margin-bottom: 20px;}
    .main-container-03 .main-section-03 .cont-wrap h3 span {font-size: 14px; width: 90px; height: 29px; line-height: 29px; background-position-x: 74px; background-size: 6px; padding-right: 8px; top: -5px;}
    .main-container-03 .main-section-03 .cont-wrap p {font-size: 14px; font-weight: bold;}
    .main-container-03 .main-cont-container-03 {padding-bottom: 40px;}
    .main-container-03 .main-cont-container-03 .swiper-wrapper li > img {max-height: 200px; object-fit: cover;}
    .main-container-03 .main-cont-container-03 .swiper-wrapper li div .ico-new img {width: 40px;}
    .main-container-03 .main-cont-container-03 .swiper-wrapper li div .cont-title {font-size: 18px;}
    .main-container-03 .main-cont-container-03 .swiper-wrapper li div .cont-desc {font-size: 14px;}
    .main-container-03 .main-cont-container-03 .swiper-scrollbar {width: 78%; bottom: 4px;}
    .main-container-03 .main-cont-container-03 .swiper-button-prev {width: 7px; height: 12px; background-size: 7px 12px;}
    .main-container-03 .main-cont-container-03 .swiper-button-next {width: 7px; height: 12px; background-size: 7px 12px; left: 50px;}
    .main-container-03 .main-cont-container-03 .swiper-button-desc {font-size: 10px; left: 12px; bottom: -2px;}
}

.main-container-04 {background: #f5f5f5; margin: 0; padding-top: var(--cont-margin); padding-bottom: var(--cont-margin);}
.main-container-04 .cont-wrap h3 {font-size: 48px; font-weight: 800; text-align: center; line-height: 1; margin-bottom: 60px;}
.main-content-04 {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; row-gap: 100px; line-height: 1;}
.main-content-04 li {background: #fff; border: 1px solid #f5f5f5; box-sizing: border-box;}
.main-content-04 li:hover {border: 1px solid #ddd;}
.main-content-04 li .cont {padding: 30px;}
.main-content-04 li .cont .new {font-size: 18px; font-weight: 300; color: #fff; background: #D7000E; border-radius: 20px; width: 50px; height: 20px; line-height: 20px; text-align: center; margin-bottom: 10px;}
.main-content-04 li .cont h3 {font-size: 22px; font-weight: 800; margin-bottom: 5px; position: relative; letter-spacing: -0.04em;}
.main-content-04 li .cont h4 {font-size: 15px; font-weight: bold; color: #999;margin-bottom: 20px;}
.main-content-04 li .cont div strong {font-size: 15px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 18px; display: inline-block;}
.main-content-04 li .cont div p {font-size: 15px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 225px; color: #444;}
.main-content-04 li .cont div.desc {margin-top: 20px;}
.main-content-04 li .cont div.desc p {max-width: unset; display: block; font-size: 14px;}
@media (max-width: 1399.98px) {
    .main-content-04 {grid-template-columns: repeat(3, 1fr);}
}
@media (max-width: 1023.98px) {
    .main-container-04 {padding-top: var(--m-cont-margin); padding-bottom: var(--m-cont-margin);}
    .main-container-04 .cont-wrap h3 {font-size: 26px; margin-bottom: 30px;}
    .main-content-04 {grid-template-columns: repeat(1, 1fr); row-gap: 60px;}
}

.main-container-05 {margin-top: var(--cont-margin); margin-bottom: var(--cont-margin); line-height: 1;}
.main-container-05 .cont-container {display: grid; grid-template-columns: 1fr 1fr; gap: 100px;}
.main-container-05 .cont-container.news {grid-template-columns: 1fr;}
.main-container-05 .cont-container.gallery {grid-template-columns: 1fr; margin-top: 100px;}
.main-content-05 h3 {font-size: 28px; font-weight: bold; margin-bottom: 30px;}
.main-content-05 h3::after {content: ""; border-top: 3px solid #303030; display: block; margin-top: 10px; width: 48px;}
.main-content-05 .subject {padding: 15px 0 13px; border-bottom: 1px solid #ddd; font-size: 16px; display: grid; grid-template-columns: auto auto; align-items: center; justify-content: space-between;}
.main-content-05 .subject a {line-height: 1.5;}
.main-content-05 .subject:hover {border-bottom: 1px solid #bbb;}

.main-content-05.gallery #postList {display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;}
.main-content-05.gallery #postList .cont {position: relative; cursor: pointer;}
.main-content-05.gallery #postList .cont .thumb {aspect-ratio: 3/2; position: relative;}
.main-content-05.gallery #postList .cont .thumb img {width: 100%; height: 100%; object-fit: cover;}
.main-content-05.gallery #postList .cont .thumb::before {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.7) 100%); transition: all .4s; opacity: .4;}
.main-content-05.gallery #postList .cont:hover .thumb::before {opacity: 1;}
.main-content-05.gallery #postList .cont .subject {border: 0; position: absolute; color: #fff; padding: 0 20px 20px; bottom: 0; left: 0; width: 100%; line-height: 1.2;}
@media (max-width: 1023.98px) {
    .main-container-05 {margin-top: var(--m-cont-margin); margin-bottom: var(--m-cont-margin);}
    .main-container-05 .cont-container {grid-template-columns: 1fr; gap: 60px;}
    .main-content-05 h3 {font-size: 26px; margin-bottom: 20px;}
    .main-content-05 h3::after {width: 44px;}
    .main-content-05 .subject {font-size: 14px;}

    .main-content-05.gallery h3 {margin-bottom: 30px;}
    .main-content-05.gallery #postList {grid-template-columns: repeat(2, 1fr);}
}

.main-container-06 {margin-top: var(--cont-margin);}
.main-content-06 {display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px;}
.main-content-06 li:nth-child(1) {background: #7426ED;}
.main-content-06 li:nth-child(2) {background: #FBB938;}
.main-content-06 li:nth-child(3) {background: #14A3A1;}
.main-content-06 li {min-height: 510px; padding: 80px 40px; color: #fff; line-height: 1; border-radius: 20px;}
.main-content-06 li h3.title {font-size: 28px; font-weight: 900; margin-bottom: 30px; position: relative;}
.main-content-06 li p.cont {font-size: 20px; font-weight: 900; margin-bottom: 50px; line-height: 1.2; min-height: 72px;}
.main-content-06 li div {display: grid; grid-template-columns: auto 1fr; gap: 10px;}
.main-content-06 li div strong {font-size: 16px; font-weight: 800; line-height: 1.5; vertical-align: top; display: inline-block;}
.main-content-06 li div p {font-size: 16px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal;}
@media (max-width: 1023.98px) {
    .main-container-06 {margin-top: var(--m-cont-margin);}
    .main-content-06 {grid-template-columns: repeat(1, 1fr);}
    .main-content-06 li {min-height: 400px; padding: 80px 30px;}
    .main-content-06 li h3.title {font-size: 22px; margin-bottom: 20px; letter-spacing: -0.03em;}
    .main-content-06 li p.cont {font-size: 15px; margin-bottom: 30px; min-height: 54px;}
    .main-content-06 li div strong {font-size: 14px;}
    .main-content-06 li div p {font-size: 14px; letter-spacing: -0.03em;}
}

#modalWrap {position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.5); transition: all .4s; opacity: 0; visibility: hidden;}
#modalWrap.active {opacity: 1; visibility: visible;}
#modalWrap #modalBody {position: absolute; top: 50%; left: 10%; transform: translate(-10%, -50%); display: flex; gap: 50px;}
#modalWrap #modalBody > div {width: 100%; max-width: 448px;}
#modalWrap #modalBody .closeWrap {background-color: #fff; position: relative; height: 40px; overflow: hidden;}
#modalWrap #modalBody .closeWrap button {display: block; outline: none; position: absolute; border: none; margin: 0; padding: 0; background-color: rgba(0,0,0,0); transition: .3s opacity;}
#modalWrap #modalBody .closeWrap .close-today {left: 12px; top: 0; color: #000; font-size: 14px; line-height: 40px; position: relative; padding-left: 20px;}
#modalWrap #modalBody .closeWrap .close-today::before {content: ""; display: block; position: absolute; top: 50%; left: 0; width: 12px; height: 12px; margin-top: -6px; background-color: #bbb; border-radius: 2px;}
#modalWrap #modalBody .closeWrap .closer {top: 0; right: 0; width: 40px; height: 40px;}
#modalWrap #modalBody .closeWrap .closer:before,
#modalWrap #modalBody .closeWrap .closer:after {content: ""; height: 2px; position: absolute; background-color: #000; top: 50%; margin-top: -1px; left: 10px; right: 10px;}
#modalWrap #modalBody .closeWrap .closer:before {-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);}
#modalWrap #modalBody .closeWrap .closer:after {-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg);}
#modalWrap #modalBody .closeWrap button:hover:not(:disabled) {opacity: .6;}
@media (max-width: 1023.98px) {
    #modalWrap #modalBody {left: 50%; transform: translate(-50%,-50%); width: 100%; padding: 0 20px; gap: 20px;}
}
/*=========================================================== Festival Page Style ===========================================================*/
.sub-container {position: relative; padding-top: var(--cont-margin); padding-bottom: var(--cont-margin); margin: 0;}

.festival-container-01 {line-height: 1;}
.festival-container-01 .title {font-size: 36px; font-weight: 300; line-height: 1.5; margin-bottom: 50px;}
.festival-container-01 .title strong {font-size: 46px; font-weight: bold;}
.festival-container-01 .desc {font-size: 28px; font-weight: 300; line-height: 1.5; margin-top: 50px;}
.festival-container-01 .desc strong {font-size: 36px; font-weight: 900;}

.festival-content-02 {display: grid; grid-template-columns: auto 1fr; gap: 160px; line-height: 1;}
.festival-content-02 .thumb { width: 100%; max-width: 500px; }
.festival-content-02 .cont h3 {font-size: 30px; font-weight: 800; padding-bottom: 20px; margin-bottom: 50px; border-bottom: 1px solid #666;}
.festival-content-02 .cont div {margin-bottom: 20px;}
.festival-content-02 .cont div strong {font-size: 24px; font-weight: 800; line-height: 1.5; vertical-align: top; margin-right: 20px; display: inline-block; background: #D7000E; border-radius: 18px; padding: 1px 20px 0; color: #fff;}
.festival-content-02 .cont div p {font-size: 24px; font-weight: 300; line-height: 1.5; display: inline-block;}
.festival-content-02 .cont > p {font-size: 20px; font-weight: 300; margin-top: 80px; line-height: 1.5;}

.festival-content-03 {display: grid; grid-template-columns: 1fr; gap: 100px;}
.festival-content-03 li {display: grid; grid-template-columns: auto 1fr; gap: 140px;}
.festival-content-03 li .cont h3 {font-size: 30px; font-weight: 800; padding-bottom: 20px; margin-bottom: 40px; border-bottom: 1px solid #666;;}
.festival-content-03 li .cont div {margin-bottom: 10px;}
.festival-content-03 li .cont div strong {font-size: 20px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 40px; display: inline-block;}
.festival-content-03 li .cont div p {font-size: 20px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 550px;}

.festival-container-04 .title {text-align: center; margin: 0 auto; margin-bottom: 100px; max-width: 815px;}
.festival-content-04 {display: grid; grid-template-columns: repeat(4, 1fr); gap: 60px;}
.festival-container-04 .download-btn {text-align: center; margin-top: 100px;}
.festival-container-04 .download-btn a {font-size: 16px; font-weight: 500; border: 1px solid #ccc; border-radius: 3px; padding: 15px 30px 14px; line-height: 1; display: inline-block;}
.festival-container-04 .download-btn a img {vertical-align: text-top;}

@media (max-width:1023.98px){
    .sub-container {padding-top: var(--m-cont-margin); padding-bottom: var(--m-cont-margin);}

    .festival-container-01 .title {font-size: 20px; margin-bottom: 30px;}
    .festival-container-01 .title strong {font-size: 20px;}
    .festival-container-01 .desc {font-size: 14px; margin-top: 30px;}
    .festival-container-01 .desc strong {font-size: 20px;}

    .festival-content-02 {grid-template-columns: 1fr; gap: 40px;}
    .festival-content-02 .cont h3 {font-size: 20px; padding-bottom: 10px; margin-bottom: 20px;}
    .festival-content-02 .cont div {margin-bottom: 8px;}
    .festival-content-02 .cont div strong {font-size: 14px; padding: 1px 6px 0; margin-right: 10px;}
    .festival-content-02 .cont div p {font-size: 14px;}
    .festival-content-02 .cont > p {margin-top: 30px; font-size: 14px;}

    .festival-content-03 {gap: 90px;}
    .festival-content-03 li {grid-template-columns: 1fr; gap: 20px;}
    .festival-content-03 li .cont h3 {font-size: 20px; padding-bottom: 10px; margin-bottom: 15px;}
    .festival-content-03 li .cont div strong {font-size: 14px; margin-right: 10px;}
    .festival-content-03 li .cont div p {font-size: 14px;}

    .festival-container-04 .title {margin-bottom: 50px;}
    .festival-content-04 {grid-template-columns: repeat(2, 1fr); gap: 40px;}
    .festival-container-04 .download-btn {margin-top: 50px;}
    .festival-container-04 .download-btn a {font-size: 14px;}
    .festival-container-04 .download-btn a img {width: 14px;}
}
@media (max-width:991.98px){
}
@media (max-width:767.98px){
}
@media (max-width:575.98px){
}
/*=========================================================== Event Page Style ===========================================================*/
/* .event-container-01 .title {border: 1px solid #ddd; background: #f5f5f5; padding: 20px; font-size: 20px; font-weight: bold; margin-bottom: 20px; line-height: 1;}
.event-container-01 .event-content-01 {display: grid; grid-template-columns: 15% 20% auto 15%; text-align: center; border-top: 1px solid #ddd; border-left: 1px solid #ddd; line-height: 1;}
.event-container-01 .event-content-01.first {margin-bottom: 80px;}
.event-container-01 .event-content-01 li {border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; font-size: 14px;}
.event-container-01 .event-content-01 li.th {background: #f5f5f5; padding: 16px 0 14px; font-weight: bold;}
.event-container-01 .event-content-01 li.td {padding: 12px; line-height: 1.2;}
.event-container-01 .event-content-01 li.row2 {grid-row: span 2;}
.event-container-01 .event-content-01 li.row3 {grid-row: span 3;}
.event-container-01 .event-content-01 li.row5 {grid-row: span 5;}
.event-container-01 .event-content-01 li.row6 {grid-row: span 6;}
.event-container-01 .event-content-01 li.row7 {grid-row: span 7;}
.event-container-01 .event-content-01 li.row8 {grid-row: span 8;}
.event-container-01 .event-content-01 li .align {position: relative; top: 50%; transform: translateY(-50%);} */
.event-container-01 .event-content-01 li .thumb {max-width: 933px; margin: 0 auto;}
.event-container-01 .event-content-01 li .thumb:not(:last-child) {margin-bottom: 100px;}
.event-container-01 .event-content-01 li .thumb h3 {margin-bottom: 60px; font-size: 32px; font-weight: 800; text-align: center;}

.event-container-02 li.thumb {max-width: 1000px; margin: 0 auto;}

.event-container-03 {line-height: 1;}
.event-container-03 .toptitle {font-size: 24px; font-weight: 300; text-align: center; line-height: 1.5; margin-bottom: 60px;}
.event-container-03 .toptitle strong {font-weight: bold;}
.event-container-03 .toptitle div {margin-top: 20px; display: none;}
.event-container-03 .submenu {font-size: 20px; font-weight: bold; display: grid; grid-template-columns: 1fr 1fr 1fr; text-align: center; margin-bottom: 100px;}
.event-container-03 .submenu div {color: #666; padding-bottom: 20px; border-bottom: 1px solid #eee; cursor: pointer;}
.event-container-03 .submenu div.active {color: #D7000E; border-bottom: 2px solid #D7000E;}
.event-container-03 .event-content-03 {display: grid; grid-template-columns: 1fr; gap: 100px;}
.event-container-03 .event-content-03 li {display: grid; grid-template-columns: 1fr 1fr; gap: 140px;}
.event-container-03 .event-content-03 li .thumb {height: 350px;}
.event-container-03 .event-content-03 li .thumb img {width: 100%; height: 100%; object-fit: cover;}
.event-container-03 .event-content-03 li .cont {margin-top: 50px;}
.event-container-03 .event-content-03#ament03 li .cont {margin-top: 0px;}
.event-container-03 .event-content-03 li .cont h3 {font-size: 30px; font-weight: 800; padding-bottom: 20px; margin-bottom: 40px; border-bottom: 1px solid #666;;}
.event-container-03 .event-content-03 li .cont div {margin-bottom: 10px;}
.event-container-03 .event-content-03 li .cont div strong {font-size: 20px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 40px; display: inline-block;}
.event-container-03 .event-content-03 li .cont div p {font-size: 20px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 550px;}

.event-container-03 .event-content-03#ament02,
.event-container-03 .event-content-03#ament03 {display: none;}

.event-container-04 .thumb {width: 100%; max-width: 1000px; margin: 0 auto;}

.event-container-05 .event-content-05 {line-height: 1; position: relative; top: -80px; display: grid; grid-template-columns: 1fr; gap: 120px;}
.event-container-05 .event-content-05 .info {background: #F1F6FC; display: grid; grid-template-columns: 1fr 1fr;}
.event-container-05 .event-content-05 .info div {padding: 40px 0; align-self: center; position: relative; text-align: center;}
.event-container-05 .event-content-05 .info div h3 {font-size: 30px; font-weight: bold; margin-bottom: 20px; color: #023F82; position: relative; left: 50%; transform: translateX(-50%);}
.event-container-05 .event-content-05 .info div h3 img {vertical-align: text-bottom;}
.event-container-05 .event-content-05 .info div p {font-size: 20px; font-weight: bold; position: relative; left: 50%; transform: translateX(-50%);}
.event-container-05 .event-content-05 .info div.info03 a {position: relative; left: 50%; transform: translateX(-50%);}
.event-container-05 .event-content-05 .info div a {font-size: 20px; font-weight: bold; background: #fff; display: block; width: 300px; height: 60px; line-height: 60px; text-align: center; border-radius: 30px; color: #023F82;}
.event-container-05 .event-content-05 .info div::after {content: ""; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 2px; height: 80px; background: #fff;}
.event-container-05 .event-content-05 .map .title {font-size: 70px; font-weight: bold; text-align: center; margin-bottom: 80px;}
.event-container-05 .event-content-05 .map .cont {display: grid; grid-template-columns: 1fr 1fr; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.event-container-05 .event-content-05 .map .cont div {border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; padding: 30px 100px;}
.event-container-05 .event-content-05 .map .cont div h3 {font-size: 26px; font-weight: bold; margin-bottom: 10px;}
.event-container-05 .event-content-05 .map .cont div p {font-size: 25px; font-weight: bold; color: #666;}
.event-container-05 .event-content-05 .map .cont div p.desc {font-size: 20px; color: #999; margin-top: 10px;}
.event-container-05 .event-content-05 .guide .title {font-size: 70px; font-weight: bold; text-align: center; margin-bottom: 80px; margin-top: 80px;}
.event-container-05 .event-content-05 .guide .guide-layout {border-top: 3px solid #D7000E; border-right: 1px solid #ddd;}
.event-container-05 .event-content-05 .guide .guide-layout li {display: grid; grid-template-columns: auto 1fr; border-bottom: 1px solid #ddd;}
.event-container-05 .event-content-05 .guide .guide-layout li .guide-left {width: 185px; background: #eee;}
.event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb {width: 150px; height: 150px; background: #fff; border-radius: 50%; position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb img {position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb img.img01 {width: 60px;}
.event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb img.img02 {width: 80px;}
.event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb img.img03 {width: 40px;}
.event-container-05 .event-content-05 .guide .guide-layout li .cont {padding: 60px 0 60px 50px;}
.event-container-05 .event-content-05 .guide .guide-layout li .cont div {margin-bottom: 20px;}
.event-container-05 .event-content-05 .guide .guide-layout li .cont div h3 {font-size: 30px; font-weight: bold; margin-bottom: 10px;}
.event-container-05 .event-content-05 .guide .guide-layout li .cont div h3 span {font-size: 20px; margin-left: 10px;}
.event-container-05 .event-content-05 .guide .guide-layout li .cont div p {font-size: 23px; font-weight: bold; color: #707070; line-height: 1.5;}
.event-container-05 .event-content-05 .guide .guide-layout li .cont div.resize h3 {font-size: 28px; margin: 0; color: #707070;}
.event-container-05 .event-content-05 .guide .guide-layout li .cont div.resize h3 b {color: #000;}

@media (max-width:1023.98px){
    /* .event-container-01 .title {font-size: 14px;}
    .event-container-01 .event-content-01 {grid-template-columns: 16% 30% auto 20%;}
    .event-container-01 .event-content-01 li.th {font-size: 12px;}
    .event-container-01 .event-content-01 li.td {font-size: 12px;} */
    .event-container-01 .event-content-01 li .thumb:not(:last-child) {margin-bottom: 50px;}
    .event-container-01 .event-content-01 li .thumb h3 {font-size: 20px; margin-bottom: 40px;}

    .event-container-03 .toptitle {font-size: 14px; margin-bottom: 40px;}
    .event-container-03 .submenu {font-size: 13px; margin-bottom: 40px;}
    .event-container-03 .event-content-03 {gap: 90px;}
    .event-container-03 .event-content-03 li {grid-template-columns: 1fr; gap: 20px;}
    .event-container-03 .event-content-03 li .thumb {height: 200px;}
    .event-container-03 .event-content-03 li .cont {margin: 0;}
    .event-container-03 .event-content-03 li .cont h3 {font-size: 20px; padding-bottom: 10px; margin-bottom: 15px;}
    .event-container-03 .event-content-03 li .cont div strong {font-size: 14px; margin-right: 10px;}
    .event-container-03 .event-content-03 li .cont div p {font-size: 14px;}

    .event-container-05 iframe {height: 278px !important;}
    .event-container-05 .event-content-05 {top: -75px; gap: 70px;}
    .event-container-05 .event-content-05 .info {grid-template-columns: 1fr; background: transparent;}
    .event-container-05 .event-content-05 .info div {padding: 25px 15px;}
    .event-container-05 .event-content-05 .info div::after {content: none;}
    .event-container-05 .event-content-05 .info div.info01,
    .event-container-05 .event-content-05 .info div.info02 {background: #F1F6FC;}
    .event-container-05 .event-content-05 .info div.info01::after {content: ""; position: absolute; bottom: 0; left: 50%; width: 90%; height: 2px; transform: translateX(-50%); top: unset;}
    .event-container-05 .event-content-05 .info div h3 {font-size: 18px; margin-bottom: 10px; left: unset; transform: unset;}
    .event-container-05 .event-content-05 .info div h3 img {width: 20px;}
    .event-container-05 .event-content-05 .info div p {font-size: 14px; left: unset; transform: unset;}
    .event-container-05 .event-content-05 .info div a {border: 3px solid #F1F6FC; line-height: 56px;}
    .event-container-05 .event-content-05 .map .title {font-size: 25px; margin-bottom: 20px;}
    .event-container-05 .event-content-05 .map .cont {grid-template-columns: 1fr;}
    .event-container-05 .event-content-05 .map .cont div {padding: 10px 30px;}
    .event-container-05 .event-content-05 .map .cont div h3 {font-size: 14px; margin-bottom: 5px;}
    .event-container-05 .event-content-05 .map .cont div p {font-size: 14px;}
    .event-container-05 .event-content-05 .map .cont div p.desc {font-size: 13px; margin-top: 5px;}
    .event-container-05 .event-content-05 .guide .title {font-size: 25px; margin-bottom: 20px; margin-top: 30px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .guide-left {max-width: 90px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb {width: 70px; height: 70px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb img.img01 {width: 40px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb img.img02 {width: 50px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .guide-left .thumb img.img03 {width: 26px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .cont {padding: 40px 10px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .cont div h3 {font-size: 20px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .cont div h3 span {font-size: 14px;}
    .event-container-05 .event-content-05 .guide .guide-layout li .cont div p {font-size: 14px; letter-spacing: -0.03em;}
    .event-container-05 .event-content-05 .guide .guide-layout li .cont div.resize h3 {font-size: 14px; letter-spacing: -0.03em;}
}
@media (max-width:991.98px){
}
@media (max-width:767.98px){
}
@media (max-width:575.98px){
}
/*=========================================================== Program Page Style ===========================================================*/
.program-container {background: #f5f5f5;}

.program-content-01 {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; row-gap: 100px; line-height: 1;}
.program-content-01 li {background: #fff; border: 1px solid #f5f5f5; box-sizing: border-box;}
.program-content-01 li:hover {border: 1px solid #ddd;}
.program-content-01 li .cont {padding: 30px;}
.program-content-01 li .cont h3 {font-size: 22px; font-weight: 800; margin-bottom: 5px; position: relative; letter-spacing: -0.04em;}
.program-content-01 li .cont h4 {font-size: 15px; font-weight: bold; color: #999;margin-bottom: 20px;}
.program-content-01 li .cont div strong {font-size: 15px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 18px; display: inline-block;}
.program-content-01 li .cont div p {font-size: 15px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 225px; color: #444;}

.program-content-02 {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; row-gap: 100px; line-height: 1;}
.program-content-02 li {background: #fff; border: 1px solid #f5f5f5; box-sizing: border-box;}
.program-content-02 li:hover {border: 1px solid #ddd;}
.program-content-02 li .cont {padding: 30px;}
.program-content-02 li .cont .new {font-size: 18px; font-weight: 300; color: #fff; background: #D7000E; border-radius: 20px; width: 50px; height: 20px; line-height: 20px; text-align: center; margin-bottom: 10px;}
.program-content-02 li .cont h3 {font-size: 22px; font-weight: 800; margin-bottom: 5px; position: relative; letter-spacing: -0.04em;}
.program-content-02 li .cont h4 {font-size: 15px; font-weight: bold; color: #999;margin-bottom: 20px;}
.program-content-02 li .cont div strong {font-size: 15px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 18px; display: inline-block;}
.program-content-02 li .cont div p {font-size: 15px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 226px; color: #444;}

.program-content-03 {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; row-gap: 100px; line-height: 1;}
.program-content-03 li {background: #fff; border: 1px solid #f5f5f5; box-sizing: border-box;}
.program-content-03 li:hover {border: 1px solid #ddd;}
.program-content-03 li .cont {padding: 30px;}
.program-content-03 li .cont .new {font-size: 18px; font-weight: 300; color: #fff; background: #D7000E; border-radius: 20px; width: 50px; height: 20px; line-height: 20px; text-align: center; margin-bottom: 10px;}
.program-content-03 li .cont h3 {font-size: 22px; font-weight: 800; margin-bottom: 5px; position: relative; letter-spacing: -0.04em;}
.program-content-03 li .cont h4 {font-size: 15px; font-weight: bold; color: #999;margin-bottom: 20px;}
.program-content-03 li .cont div strong {font-size: 15px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 18px; display: inline-block;}
.program-content-03 li .cont div p {font-size: 15px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 226px; color: #444;}

.program-content-04 {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; row-gap: 100px; line-height: 1;}
.program-content-04 li {background: #fff; border: 1px solid #f5f5f5; box-sizing: border-box;}
.program-content-04 li:hover {border: 1px solid #ddd;}
.program-content-04 li .cont {padding: 30px;}
.program-content-04 li .cont h3 {font-size: 22px; font-weight: 800; margin-bottom: 5px; position: relative; letter-spacing: -0.04em;}
.program-content-04 li .cont h4 {font-size: 15px; font-weight: bold; color: #999;margin-bottom: 20px;}
.program-content-04 li .cont div strong {font-size: 15px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 18px; display: inline-block;}
.program-content-04 li .cont div p {font-size: 15px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 226px; color: #444;}
.program-content-04 li .cont .linkBtn {text-align: center; margin-top: 20px;}
.program-content-04 li .cont .linkBtn a {padding: 18px 0; border: 1px solid #ddd; display: block;}
.program-content-04 li .cont .linkBtn a:hover {}

.program-content-05 {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; row-gap: 100px; line-height: 1;}
.program-content-05 li {background: #fff; border: 1px solid #f5f5f5; box-sizing: border-box;}
.program-content-05 li:hover {border: 1px solid #ddd;}
.program-content-05 li .cont {padding: 30px;}
.program-content-05 li .cont .new {font-size: 18px; font-weight: 300; color: #fff; background: #D7000E; border-radius: 20px; width: 50px; height: 20px; line-height: 20px; text-align: center; margin-bottom: 10px;}
.program-content-05 li .cont h3 {font-size: 22px; font-weight: 800; margin-bottom: 5px; position: relative; letter-spacing: -0.04em;}
.program-content-05 li .cont h4 {font-size: 15px; font-weight: bold; color: #999;margin-bottom: 20px;}
.program-content-05 li .cont div strong {font-size: 15px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 18px; display: inline-block;}
.program-content-05 li .cont div p {font-size: 15px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 226px; color: #444;}

.program-content-06 {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; row-gap: 100px; line-height: 1;}
.program-content-06 li {background: #fff; border: 1px solid #f5f5f5; box-sizing: border-box;}
.program-content-06 li:hover {border: 1px solid #ddd;}
.program-content-06 li .cont {padding: 30px;}
.program-content-06 li .cont h3 {font-size: 22px; font-weight: 800; margin-bottom: 5px; position: relative; letter-spacing: -0.04em;}
.program-content-06 li .cont h4 {font-size: 15px; font-weight: bold; color: #999;margin-bottom: 20px;}
.program-content-06 li .cont div strong {font-size: 15px; font-weight: 900; line-height: 1.5; vertical-align: top; margin-right: 18px; display: inline-block;}
.program-content-06 li .cont div p {font-size: 15px; font-weight: 300; line-height: 1.5; display: inline-block; white-space: normal; max-width: 226px; color: #444;}

.program-container li .cont div.desc {margin-top: 20px;}
.program-container li .cont div.desc p {max-width: unset; display: block; font-size: 14px;}

.program-container li .cont div p [data-time-span] { display: block; font-size: 12px; }
.program-container li .cont div p [data-time-span] [data-time-hide] { color: transparent; }

/* 240605 스타일 변경 */
.program-container li .cont div.desc[data-ul] [data-li] { position: relative; }
.program-container li .cont div.desc[data-ul] [data-li=true] { padding-left: 10px; }
.program-container li .cont div.desc[data-ul] [data-li=true]::before { content: "·"; border-radius: 50%; position: absolute; left: 0; top: 0; }
.program-container li .cont div.desc[data-ul] [data-li=true-empty] { padding-left: 10px; }
.program-container li .cont div.desc[data-ul] [data-li] [data-num] { font-size: 9px; font-weight: 500; position: relative; top: -2px; }
.program-container li .cont div.desc[data-ul] [data-li] [data-inner] { padding-left: 6px; }

.program-container-07 {background: #fff;}
.program-content-07 li .thumb {max-width: 1000px; margin: 0 auto;}
.program-content-07 li .download-btn {text-align: center; margin-top: 100px;}
.program-content-07 li .download-btn a {font-size: 16px; font-weight: 500; border: 1px solid #ccc; border-radius: 3px; padding: 15px 30px 14px; line-height: 1; display: inline-block;}
.program-content-07 li .download-btn a img {vertical-align: text-top;}

.program-container-08 {background: #fff;}
.program-content-08 li .thumb {max-width: 1000px; margin: 0 auto;}

@media (max-width:1399.98px){
    .program-content-01 {grid-template-columns: repeat(3, 1fr);}
    .program-content-02 {grid-template-columns: repeat(3, 1fr);}
    .program-content-03 {grid-template-columns: repeat(3, 1fr);}
    .program-content-04 {grid-template-columns: repeat(3, 1fr);}
    .program-content-05 {grid-template-columns: repeat(3, 1fr);}
    .program-content-06 {grid-template-columns: repeat(3, 1fr);}
}
@media (max-width:1023.98px){
    .program-content-01 {grid-template-columns: repeat(1, 1fr);}
    .program-content-02 {grid-template-columns: repeat(1, 1fr);}
    .program-content-03 {grid-template-columns: repeat(1, 1fr);}
    .program-content-04 {grid-template-columns: repeat(1, 1fr);}
    .program-content-05 {grid-template-columns: repeat(1, 1fr);}
    .program-content-06 {grid-template-columns: repeat(1, 1fr);}

    .program-content-07 li .download-btn {margin-top: 50px;}
    .program-content-07 li .download-btn a {font-size: 14px;}
    .program-content-07 li .download-btn a img {width: 14px;}
}
@media (max-width:991.98px){
}
@media (max-width:767.98px){
}
@media (max-width:575.98px){
}
/*=========================================================== Promotion Page Style ===========================================================*/
.promotion-content-01 li .thumb:first-child {margin-bottom: 100px;}
.promotion-content-01 li .download-btn {text-align: center; margin-top: 100px;}
.promotion-content-01 li .download-btn a {font-size: 16px; font-weight: 500; border: 1px solid #ccc; border-radius: 3px; padding: 15px 30px 14px; line-height: 1; display: inline-block;}
.promotion-content-01 li .download-btn a img {vertical-align: text-top;}
@media (max-width:1023.98px){
    .promotion-content-01 li .thumb:first-child {margin-bottom: 50px;}
    .promotion-content-01 li .download-btn {margin-top: 50px;}
    .promotion-content-01 li .download-btn a {font-size: 14px;}
    .promotion-content-01 li .download-btn a img {width: 14px;}
}
/*=========================================================== Board Page Style ===========================================================*/
.work-title {padding-top: 200px; }
.work-subtitle {padding-bottom: 200px; margin: 0px !important;}

.skin-wrap {min-height: auto;}
#wrap {z-index: 2; position: relative;}
#wrap .container {max-width: unset; padding: 0px;}

.wrap.board-list.board_gallery,
.wrap.ct-board.board-write,
.wrap.ct-board.board-read,
.wrap.board-write.board-edit {width: 100%; max-width: var(--max-width); padding: 0; margin: 0 auto;}

.div-cate.left {justify-content: flex-start !important;}
.div-cate.center {justify-content: center !important;}
.div-cate.right {justify-content: flex-end !important;}
.board_gallery .div-cate {margin: 0 0 100px; justify-content: center; gap: 50px;}
.board_gallery .div-cate button {width: auto; min-width: auto; height: auto; border: 0; padding: 0; color: #111; line-height: 1; font-size: 20px; font-weight: 500;}
.board_gallery .div-cate button:hover {background-color: transparent; border: 0; color: #111;}
.board_gallery .div-cate button.active {color: #111;}

.service .session-bar .info a i,
.service .session-bar .info a strong,
.service .session-bar .txt {color: #fff;}

@media (max-width: 1799.98px) {.wrap.board-list.board_gallery {padding: var(--padding); padding-top: 0; padding-bottom: 0;}}
@media (max-width: 1199.98px) {.wrap.board-list.board_gallery {padding: var(--padding); padding-top: 0; padding-bottom: 0;}}
@media (max-width: 1023.98px) {
    .wrap.board-list.board_gallery,
    .wrap.ct-board.board-write,
    .wrap.ct-board.board-read,
    .wrap.board-write.board-edit {padding: var(--padding);}
}
@media (max-width: 991.98px) {.board_gallery .div-cate {gap: 16px 30px; margin: 0 0 30px !important;} .board_gallery .div-cate button {font-size: 16px;} .overlay-view.admin .overlay-view-navigation .overlay-view-prev, .overlay-view.admin .overlay-view-navigation .overlay-view-next {top: -30px;}}
@media (max-width: 767.98px) {.wrap.board-list.board_gallery {padding-left: 10px; padding-right: 10px;}}
@media (max-width: 575.98px) {.wrap.board-list.board_gallery {padding-left: 15px; padding-right: 15px;} .wrap.board-list.board_gallery #postList {margin: 0 !important;}}

/* 하단 버튼 */
.aui-flex.board-btn.wrap {width:100%; padding: 0px;}
.board-btn {margin-bottom: 0px;}
.board-btn .ts-btn {margin: 0px; font-weight: 500;}
.board-btn .ts-btn .innerHover {background: #000;}
.board-reply {padding: 0px;}
@media (max-width:768px) {.board-btn {padding: 0px;}}
@media (max-width:576px) {
    
}

/* read page */
.wrap.ct-board.board-read .div-tbl {border: 0;}
.wrap.ct-board.board-read .div-tbl .tr {border: 0;}
.wrap.ct-board.board-read .div-tbl .tr .thm-subject {display:none;}
.wrap.ct-board.board-read .board-image {border: 0;}
.aui-btn-large.btn-board.ts-btn.list-btn {border:1px solid #111; background-color: transparent; border-radius: 0; transition: all 0.3s; padding: 27px 60px; position: absolute; left: 50%; transform:translateX(-50%); height: unset; margin-top: 60px; width: unset;}
.aui-btn-large.btn-board.ts-btn.list-btn span {font-size: 40px; font-weight: 900;}
.aui-btn-large.btn-board.ts-btn.list-btn:hover, .aui-btn-large.btn-board.ts-btn.list-btn:focus, .aui-btn-large.btn-board.ts-btn.list-btn:active {color:#fff; background-color: #111;}
.aui-btn-large.btn-board.ts-btn.list-btn span:last-child {display: none;}
@media (max-width:576px) {
    .aui-btn-large.btn-board.ts-btn.list-btn {padding:10px 30px; width: 70%;}
    .aui-btn-large.btn-board.ts-btn.list-btn span {font-size: 20px;}
}

#postList .gal-item {overflow: hidden;}
#postList .gal-item .link {display: block; overflow: hidden; position: relative;}
#postList .gal-item .link span.thm img {display: block; width: 100%;}
#postList .gal-item .link::after {content: ""; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: rgba(17,17,17,.8); opacity: 0; transition: all .4s ease-in-out; z-index: 99;}
#postList .gal-item .link:hover:after {opacity: .95;}
#postList .gal-item .link .subject {display: block; background: transparent; padding: 25px; color: #fff; font-size: 22px; font-weight: bold; position: absolute; top: 0; left: 0; width: 100%; z-index: 100; opacity: 0; transition: all .4s ease-in-out; line-height: 1; text-align: left; letter-spacing: -0.05em; user-select: none;}
#postList .gal-item .link .subject * {color: #fff;}
#postList .gal-item .link .subject .category {display: flex; gap: 10px; margin-bottom: 12px; font-size: 14px; transition: opacity .4s;}
#postList .gal-item .link .subject .category b {font-weight: 400;}
#postList .gal-item .link .subject .title {font-size: 20px; font-weight: 600; display: inline-block; transition: opacity .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: inherit;}
#postList .gal-item .link:hover .subject {opacity: 1;}
@media (max-width: 1023.98px) {
    #postList .gal-item .link .subject .title {font-size: 18px;}
}

.content.board-container-01 .content-common {margin: 0;}

.wrap.ct-board.board-write,
.wrap.board-write.board-edit {margin-top: 120px;}
.wrap.ct-board.board-read {margin-top: 150px;}

.wrap {width: 100%;}
.wrap .div-tbl {margin: 0; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc;}
.wrap.board-list .div-tbl {border-top: 0;}
.wrap.board-list .div-tbl .tr.list {border-top: 1px solid #ccc; padding: 40px 20px; gap: 30px;}
.wrap.board-list .div-tbl .tr.list:first-child {border: 0;}
.wrap.board-list .div-tbl .tr.list .td {padding: 0; width: auto; text-align: left;}
.wrap.board-list .div-tbl .tr.list .td.subject {font-size: 22px; font-weight: 500;}
.wrap.board-list .div-tbl .tr.list .td.subject a:hover {text-decoration: none;}
.wrap.board-list .div-tbl .tr.list .td.date {font-size: 18px; font-weight: 300; color: #666; letter-spacing: -.04em;}

.wrap.board-read .div-tbl {border-bottom: 1px solid #ccc !important;}
.wrap.board-read .div-tbl .tr .th {display: none;}
.wrap.board-read .div-tbl .tr.subject {font-size: 30px; font-weight: 700; text-align: center;}

.aui-paging .now, .aui-paging .active {background: #000;}
@media (max-width: 1023.98px) {
    .wrap.ct-board.board-write,
    .wrap.ct-board.board-read,
    .wrap.board-write.board-edit {margin-top: 100px;}

    .wrap.board-list .div-tbl .tr.list {padding: 20px 0; gap: 10px;}
    .wrap.board-list .div-tbl .tr.list .td.subject {font-size: 12px;}
    .wrap.board-list .div-tbl .tr.list .td.date {font-size: 12px;}
    .wrap.board-list .div-tbl .tr.list .td.date::before {content: none;}
    .wrap.board-list .div-tbl .tr.list .td.date i {display: none;}
}

.wrap.board-write.write-promotion .div-tbl .tr.title,
.wrap.board-write.write-promotion .div-tbl .tr.writer,
.wrap.board-write.write-promotion .div-tbl .tr.num,
.wrap.board-write.write-promotion .div-tbl .tr.password {display: none;}

.board-search .flex a, .board-search .flex input[type=submit] {background: #000;}
.board-terms-chk .check-wrap input {margin: 0;}
.board-terms-chk .check-wrap > span {font-size: 12px; color: #000;}
.board-terms-chk .check-wrap input:checked+span {color: #fff;}
.board-terms-chk .check-wrap input:checked+span:after {background: #000; border-color: #000;}

.board-reply .reply-write .reply-writer label.reply_secret span {border: 0;}