@charset "utf-8";

/*body{ -ms-overflow-style: none; }
::-webkit-scrollbar { display: none; }*/

#wrap { -webkit-overflow-scrolling: touch; position: relative; }
#wrap:not(.main) { opacity: 0; animation: site-load-start 0.35s .1s forwards; }

@keyframes site-load-start {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#site-header { width: 100%; height: auto; position: sticky; top: 0; left: 0; z-index: 100; transition: all 0.25s ease-in-out; }
#site-header > .inner { display: flex; align-items: center; justify-content: space-between; width: 100%; height: var(--header-height); padding: 0 60px; background-color: rgba(249, 248, 240, .7); backdrop-filter: blur(10px); transition: all 0.25s; }
#site-header > .inner > * { width: 100%; }

#site-header .logo { display: flex; justify-content: center; align-items: center;  }
#site-header .logo > a { display: flex; align-items: center; justify-content: center; width: 116px; height: 25px; background-size: contain; background-repeat: no-repeat; background-position: center; background-image: url(../img/common/site_logo.png); transition: all 0.25s; }
#site-header .logo > button { margin-right: 40px; width: 24px; height: 12px; display: flex; flex-direction: column; justify-content: space-between; align-items: center; font-size: 0; background-color: transparent; border: 0; transition: all 0.25s; }
#site-header .logo > button:before,
#site-header .logo > button:after { content: ''; width: 100%; height: 3px; background-color: var(--primary-color); transition: all 0.25s; }

#site-header .menu { width: 100%; }
#site-header .menu > ul { display: flex; align-items: center; justify-content: flex-end; gap: 50px; height: 100%; }
#site-header .menu > ul > li { height: 100%; position: relative; }
#site-header .menu > ul > li.active { opacity: 0.65; }
#site-header .menu > ul > li > a { display: flex; align-items: center; justify-content: center; height: 100%; font-family: var(--title-font-family); font-size: 18px; color: #494542; font-weight: 500; white-space: nowrap; transition: all 0.25s; }

/*body.scrollDown #site-header { transform: translateY(-100%); }*/

/*#site-header.dk > .inner { background-color: rgba(48, 48, 48, .6); backdrop-filter: blur(10px) contrast(80%) saturate(120%); box-shadow: inset 0 4px 10px rgba(0, 0, 0, 0.3); }
#site-header.dk .menu > button { border-color: #b6b6b6; }
#site-header.dk .menu > button:before,
#site-header.dk .menu > button:after { background-color: #000; }
#site-header.dk .option > ul > li > a { color: #000;  }
#site-header.dk .option > ul > li > a > svg { fill: #000; }*/


body.openMenu { overflow: hidden; }


#site-body { display: block; width: 100%; min-height: 100vh; }
#site-body.secBg { background-color: var(--background-sec-color); }


#site-footer { position: relative; z-index: 2; background-color: #3d3835; background-size: cover; background-repeat: no-repeat; background-position: center; font-family: 'Pretendard', Arial, sans-serif; }
#site-footer > .inner { max-width: var(--inner-max-width); width: var(--inner-width); margin: 0 auto; padding: 45px 0; display: flex; justify-content: space-between;  gap: 20px 45px; }
#site-footer > .inner > * { width: 100%; }

#site-footer .footer-logo { width: 115px; flex: none; padding-top: 5px; }

#site-footer .footer-info { overflow: hidden; }
#site-footer .footer-info > ul > li { font-size: 16px; font-weight: 300; color: #fff; display: flex; }
#site-footer .footer-info > ul > li + li { margin-top: 7px; }
#site-footer .footer-info > ul > li b { font-weight: 800; margin-right: 10px; }

#site-footer .footer-copy { font-size: 12px; font-weight: 300; color: rgba(255, 255, 255, .5); text-transform: uppercase; margin-top: 20px; }

#site-footer .footer-link { width: 200px; flex: none; }
#site-footer .footer-link .group_link { position: relative; width: 100%; }
#site-footer .footer-link .group_link > a { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; height: 50px; background-color: transparent; border-bottom: 3px solid #fff; font-size: 14px; color: #fff; font-weight: 600; white-space: nowrap; }
#site-footer .footer-link .group_link > a:after { content: ''; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid #fff; flex: none; }
#site-footer .footer-link .group_link > ul { display: none; position: absolute; bottom: 100%; right: 0; width: 100%; background-color: #2c2c2c; z-index: 110; border: 1px solid #2c2c2c; border-radius: 4px; padding: 18px; overflow-y: auto; }
#site-footer .footer-link .group_link > ul > li { line-height: 1.25; }
#site-footer .footer-link .group_link > ul > li + li { margin-top: 20px; }
#site-footer .footer-link .group_link > ul > li .sector { font-size: 16px; color: var(--secondary-color);; margin-bottom: 5px; font-weight: 600; }
#site-footer .footer-link .group_link > ul > li a { font-size: 14px; color: #9a9a9a; }
#site-footer .footer-link .group_link > ul > li a:hover { color: #fff; }
#site-footer .footer-link .group_link > ul > li > ul > li + li { margin-top: 5px; }
#site-footer .footer-link .group_link.on > a { border-top-left-radius: 0; border-top-right-radius: 0; }
#site-footer .footer-link .group_link.on > a:after { transform: rotate(180deg); }
#site-footer .footer-link .group_link.on > ul { display: block; }

#site-footer .footer-link .sns_link { margin-bottom: 20px; }
#site-footer .footer-link .sns_link > ul { display: flex; justify-content: flex-end; gap: 10px; }
#site-footer .footer-link .sns_link > ul > li > a { display: block; }



/* Main Page */
.main-page-section { display: flex; flex-direction: column; justify-content: center; position: relative; padding: 200px 0; }
.main-page-section > .inner { width: var(--inner-width); max-width: var(--inner-max-width); margin: 0 auto; position: relative; }
.main-page-section > .bg { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; background-color: #000; background-size: cover; background-repeat: no-repeat; background-position: center; transition: transform 3.5s; overflow: hidden; }
.main-page-section > .bg > video { object-fit: cover; width: 100%; height: 100%; }

.main-page-section .secHead { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 70px; }
.main-page-section .secBody { height: 100%; }
.main-page-section .secBot { margin-top: 100px; }
.main-page-section .secTitle { font-size: 45px; color: #000; font-weight: 700; line-height: 1.2; font-family: var(--title-font-family); }
.main-page-section .secHead .moreAll > a { font-size: 1em; display: inline-flex; align-items: center; }
.main-page-section .secHead .moreAll > a > svg { width: 24px; height: 24px; margin-top: 1px; }

.main-page-section .goToBtn { display: inline-flex; align-items: center; font-size: 17px; color: #000; font-weight: 500; }
.main-page-section .goToBtn svg { margin-left: 10px; margin-right: -5px; fill: #000 }


#intro_cover { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; height: 100%; background-color: var(--background-color); display: flex; align-items: center; justify-content: center; text-align: center; animation: intro_cover_out 1s 2s forwards; }
#intro_cover > div { font-size: 30px; font-weight: 400; display: flex; flex-direction: column; align-items: center; pointer-events: none; }
#intro_cover > div .char-text .char { animation: char-text-anim 0.8s calc(0.07s*var(--char-index)) ease-in-out; }

@keyframes intro_cover_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
  }
}

#main_section_top { padding: 50px 0; }
#main_section_top > .inner { max-width: 100%; }
#main_section_top .title { font-size: 50px; color: #4b4b49; font-weight: 600; line-height: 1; writing-mode: vertical-rl; }
#main_section_top .text { font-size: 19px; color: #4b4b49; font-weight: 500; padding-top: 100px; }


#main_section_gallery { padding: 0; height: 400vh; justify-content: flex-start; }
#main_section_gallery .gallery_container { position: sticky; top: 0; width: 100%; height: 100vh; overflow: hidden; }
#main_section_gallery .gallery_list { display: inline-flex; height: 100%; }
#main_section_gallery .gallery_item { flex: none; width: 100vw; height: 100%; }
#main_section_gallery .gallery_item > div { width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }


#main_section_kv { height: calc(100vh); text-align: center; animation: main_section_kv_fade_up 1s 3s forwards; opacity: 0; transform: translateY(30vh); }
#main_section_kv .text { font-size: 30px; color: #fff; font-weight: 500; margin-top: 30px; }
#main_section_kv > .bg > .swiper { height: 100% }
#main_section_kv > .bg > .swiper .swiper-slide { position: relative; background-color: #000; }
#main_section_kv > .bg > .swiper .swiper-slide > video { object-fit: cover; width: 100%; height: 100%; opacity: 0.85; }

@keyframes main_section_kv_fade_up {
  from {
    opacity: 0;
    transform: translateY(30vh);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#main_section_peple { min-height: 200vh; background-color: #000; padding: 0; justify-content: flex-start; }
#main_section_peple > .inner { width: 100%; max-width: 100%; display: flex; }
#main_section_peple .cont { width: 100%; height: 100vh; position: sticky; top: 0; color: #fff; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
#main_section_peple .cont .text { width: var(--inner-width); max-width: var(--inner-max-width); margin: 0 auto; }
#main_section_peple .cont .tit { font-size: 50px; font-family: var(--title-font-family); margin-bottom: 50px; }
#main_section_peple .cont .txt { font-size: 19px; font-weight: 200; }
#main_section_peple .gridImg { width: 36%; margin-left: -36%; flex: none; z-index: 1; display: flex; flex-direction: column; gap: 40px; padding: 40px; }
#main_section_peple .gridImg > div { width: 100%; }
#main_section_peple .gridImg > div > img { width: 100%; }


#main_section_about { min-height: 200vh; padding: 0; justify-content: flex-start; }
#main_section_about > .inner { width: 100%; max-width: 100%; display: flex; }
#main_section_about .cont { width: 100%; height: 100vh; position: sticky; top: 0; color: #fff; overflow: hidden; }
#main_section_about .cont .list { display: inline-flex; }
#main_section_about .cont .item { flex: none; width: 100vw; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#main_section_about .cont .item > .text { width: var(--inner-width); max-width: var(--inner-max-width); margin: 0 auto; }
#main_section_about .cont .tit { font-size: 50px; font-family: var(--title-font-family); margin-bottom: 50px; }
#main_section_about .cont .txt { font-size: 19px; font-weight: 200; }
#main_section_about .img_gallery_list { position: relative; width: 100%; height: 100%; }
#main_section_about .img_gallery_list > .img_gallery_item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: 1s ease;; }
#main_section_about .img_gallery_list > .img_gallery_item > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
#main_section_about .gridImg { margin-top: 300vh; width: 36%; margin-left: -36%; flex: none; z-index: 1; display: flex; flex-direction: column; gap: 40px; padding: 40px; background-color: #000; }
#main_section_about .gridImg > div { width: 100%; }
#main_section_about .gridImg > div > img { width: 100%; }


/*#main_section_about { min-height: 100vh; background-color: var(--background-sec-color); }
#main_section_about .row > div + div { padding-left: 120px; }
#main_section_about .img { background-color: transparent; width: 100%; height: 0; max-width: 660px; padding-top: 127%; position: relative; overflow: hidden; }
#main_section_about .img > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; object-fit: cover; }
#main_section_about .gridImg { margin-top: 100px; display: flex; gap: 17px; }
#main_section_about .gridImg > div { width: 100%; }
#main_section_about .gridImg > div .img { padding-top: 75%; }
#main_section_about .cont { color: #fff; padding: 40% 0; }
#main_section_about .cont .tit { font-size: 50px; font-family: var(--title-font-family); margin-bottom: 50px; }
#main_section_about .cont .txt { font-size: 19px; font-weight: 200; }*/

#main_section_intro { height: 150vh; padding: 0; justify-content: flex-start; margin-top: -80px; }
#main_section_intro > .inner { max-width: 100%; width: 90%; height: calc(100vh); position: sticky; top: 0; display: flex; align-items: center; justify-content: center; }
#main_section_intro .text { font-size: 30px; font-weight: 400; display: flex; flex-direction: column; align-items: center; pointer-events: none; }
#main_section_intro .text .char-text .char { animation: char-text-anim 0.8s calc(3s + 0.07s*var(--char-index)) ease-in-out; }


#main_section_intro .scrollDown { font-size: 1em; color: var(--font-color); font-weight: 500; position: fixed; left: 50%; bottom: 3%; z-index: 2; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; }
#main_section_intro .scrollDown svg { width: 20px; height: 20px; fill: var(--font-color); }



/*#main_section_intro .scrollDown { font-size: 16px; color: #000; font-weight: 500; position: absolute; left: 0; bottom: 140px; z-index: 2; width: 100%; }
#main_section_intro .scrollDown > div { width: 100%; margin: 0 auto; }
#main_section_intro .scrollDown > div > span { display: inline-block; width: 150px; padding-bottom: 8px; transform: rotate(90deg); transform-origin: left bottom; position: relative; overflow: hidden; }
#main_section_intro .scrollDown > div > span:before { content: ''; width: 90%; height: 1px; background-color: #000; position: absolute; bottom: 0; left: -100%; animation: lineAni_2 3s linear infinite; }
#main_section_intro .scrollDown > div > span:after { content: ''; width: 100%; height: 1px; background-color: #000; position: absolute; bottom: 0; left: 0; animation: lineAni_1 3s linear infinite; }

@keyframes lineAni_1 {
  0% {
    left: 0%;
  }
  100% {
    left: 100%;
  }
}

@keyframes lineAni_2 {
  0% {
    left: -100%;
  }
  100% {
    left: 0%;
  }
}*/



#main_section_story { background-color: #000; justify-content: flex-start; padding: 0; }

.story_grid { position: relative; height: 250vh; }
.story_grid_sticky { position: sticky; top: 0; overflow: hidden; height: 100vh; }
.story_grid_container { display: grid; gap: 20px; grid-template-rows: repeat(3, 1fr); width: 100%; height: 100vh; /*transform: scale(1.5);*/ position: absolute; top: 50vh; left: 50vw; margin-top: -50vh; margin-left: -50vw; }
.story_grid_row { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
.story_grid_item { overflow: hidden; background-color: transparent; position: relative; }
.story_grid_item > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; object-fit: cover; }

.story_list { position: relative; height: 500vh; margin-top: -100vh; background-color: #000; }

.story_list_item { width: 100%; height: 100vh; position: absolute; left: 0; top: 0; z-index: 1; display: flex; align-items: center; background-color: #000; }
.story_list_item > .cont { width: var(--inner-width); max-width: var(--inner-max-width); margin: 0 auto; position: relative; z-index: 1; }
.story_list_item > .cont .t1 { font-size: 34px; color: #fff; font-weight: 700; font-family: var(--title-font-family); }
.story_list_item > .cont .t2 { font-size: 88px; color: #fff; margin-top: 20px; font-weight: 700; line-height: 1.1; font-family: var(--title-font-family); }
.story_list_item > .cont .t3 { font-size: 24px; color: #fff; margin-top: 20px; }
.story_list_item > .bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }

/*.story_list_swiper .swiper-slide { position: absolute; left: 0; top: 0; overflow: hidden; opacity: 1 !important; }
.story_list_swiper .swiper-slide-active { transform: translate3d(0, 0, 0) !important; }
.story_list_swiper .swiper-slide-active > .story_list_item { transform: translate3d(0, 0, 0) !important; }
.story_list_swiper .swiper-slide-active ~ .swiper-slide { transform: translate3d(100%, 0, 0) !important; }
.story_list_swiper .swiper-slide-active ~ .swiper-slide > .story_list_item { transform: translate3d(-100%, 0, 0) !important; }*/

.story_list_swiper { position: sticky; top: 0; overflow: hidden; height: 100vh; }
.story_list_swiper .swiper-nav { position: absolute; left: 0; bottom: 10%; z-index: 1; width: 100%; text-align: center; display: flex; align-items: center; justify-content: center; gap: 70px; }
.story_list_swiper .swiper-nav > li > a { font-size: 25px; color: #fff; font-weight: 600; font-family: var(--title-font-family); opacity: 0.65; margin: 0; width: auto; height: auto; background: transparent; border-radius: 0; transition: 0.4s ease; }
.story_list_swiper .swiper-nav > li.active > a { opacity: 1; }


#main_section_space { background-color: var(--background-sec-color); padding: 100px 0; }
#main_section_space .secTitle { color: #fff; }
#main_section_space .space_list_wrap { height: 200vh; }
#main_section_space .space_list_wrap > div { overflow: hidden; position: sticky; top: 0; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 140px 0; }
#main_section_space .space_list_wrap > div > .inner { width: var(--inner-width); max-width: var(--inner-max-width); margin: 0 auto; }
#main_section_space .space_list > ul { display: inline-flex; gap: 30px; }
#main_section_space .space_list > ul > li { flex: none; /*width: calc(25vw - 30px*2);*/ width: 420px; display: block;}
#main_section_space .space_list > ul > li > .img { position: relative; overflow: hidden; background-color: #000; transition: 0.25s ease;  }
#main_section_space .space_list > ul > li > .img > div { width: 100%; height: 0; padding-top: 125%; opacity: 0.85; background-color: transparent; background-size: cover; background-repeat: no-repeat; background-position: center; transition: 1s ease; }
#main_section_space .space_list > ul > li > .txt { padding-top: 25px; font-size: 19px; font-weight: 200; color: #fff; }
#main_section_space .space_list > ul > li > .txt b { font-size: 1.2em; font-weight: 700; display: inline-block; margin-left: 10px; }
#main_section_space .space_list > ul > li:hover > .img { transform: translateY(-15px); }
#main_section_space .space_gallery { width: var(--inner-width); max-width: var(--inner-max-width); margin: 0 auto; padding: 100px 0; }
#main_section_space .space_gallery >  .text { font-size: 24px; font-weight: 600; color: #fff; font-family: var(--title-font-family); margin-bottom: 80px; }
#main_section_space .space_gallery > ul { display: grid; gap: 30px; grid-template-columns: repeat(2, 1fr); }
#main_section_space .space_gallery > ul > li > .img { width: 100%; height: 0; padding-top: 75%; background-color: #000; position: relative; overflow: hidden; }
#main_section_space .space_gallery > ul > li > .img > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }


#main_section_menu { padding-bottom: 0; background-color: var(--background-color); }
#main_section_menu .menu_list > ul { display: flex; flex-wrap: wrap; gap: 50px 33px; }
#main_section_menu .menu_list > ul > li { width: calc((100% - 33px*2) / 3); }
#main_section_menu .menu_list > ul > li > .item { display: flex; flex-direction: column; gap: 33px; position: relative; cursor: pointer; }
#main_section_menu .menu_list > ul > li > .item > .img { width: 100%; height: 0; padding-top: 125%; flex: none; position: relative; overflow: hidden; background-color: #dedede; }
#main_section_menu .menu_list > ul > li > .item > .img > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; transition: 1s ease;}
#main_section_menu .menu_list > ul > li > .item > .dec { height: 100%; }
#main_section_menu .menu_list > ul > li > .item > .dec .cate { position: absolute; top: 0; left: 0; background-color: #fff; min-width: 70px; min-height: 30px; padding: 5px 10px; text-align: center; font-size: 15px; font-weight: 700; color: var(--secondary-color); }
#main_section_menu .menu_list > ul > li > .item > .dec .tit { font-size: 19px; font-weight: 700; color: #000; }
#main_section_menu .menu_list > ul > li > .item > .dec .txt { font-size: 18px; font-weight: 300; color: #000; margin-top: 8px; max-width: 385px; }
#main_section_menu .menu_list > ul > li > .item:hover > .img > div { transform: scale(1.05); }


#main_section_location { padding-bottom: 0; background-color: var(--background-color); }
#main_section_location .location_list { width: 100%; max-width: 2000px; margin: 0 auto; overflow: hidden; }
#main_section_location .location_list .swiper-slide { overflow: hidden; display: flex; }
#main_section_location .location_list .swiper-slide > * { width: calc(100% / 2); }
#main_section_location .location_list .swiper-slide-active .item { animation: clipPath 1s forwards; }
#main_section_location .location_list .swiper-pagination { position: static; margin-top: 40px; }
#main_section_location .location_list .swiper-pagination-bullet { width: 15px; height: 15px; margin: 0 7px; background-color: #000; opacity: 0.1; }
#main_section_location .location_list .swiper-pagination-bullet-active { opacity: 1; }

#main_section_location .item { position: relative; width: 100%; height: 560px; }
#main_section_location .item > .img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; overflow: hidden; background-color: #000; z-index: -1;s }
#main_section_location .item > .img > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; transition: 1s ease;}
#main_section_location .item > .dec { position: relative; display: flex; flex-direction: column; justify-content: flex-end; max-width: 710px; width: 92%; height: 100%; padding: 60px 8%; }
#main_section_location .item > .dec .tit { font-size: 26px; font-weight: 800; color: #fff; }
#main_section_location .item > .dec .txt { font-size: 17px; font-weight: 300; color: #fff; margin-top: 10px; }
#main_section_location .item > .dec .btn { font-size: 14px; width: 90px; height: 30px; margin-top: 20px; }
#main_section_location .item > .dec .btn > svg { flex: none; width: 15px; height: 15px; margin-left: -5px; }
#main_section_location .item:hover > .img > div { transform: scale(1.05); }


#main_section_news { background-color: var(--background-color); }
#main_section_news > .inner { overflow: hidden; }
#main_section_news .news_list .swiper-slide { overflow: hidden; display: flex; gap: 33px; }
#main_section_news .news_list .swiper-slide > * { width: calc(100% / 2); }
#main_section_news .news_list .swiper-slide-active .img { animation: clipPath 1s forwards; }
#main_section_news .news_list .swiper-pagination { position: static; margin-top: 60px; }
#main_section_news .news_list .swiper-pagination-bullet { width: 15px; height: 15px; margin: 0 7px; background-color: #000; opacity: 0.1; }
#main_section_news .news_list .swiper-pagination-bullet-active { opacity: 1; }

#main_section_news .news_list_item { display: flex; flex-direction: column; gap: 33px; position: relative; cursor: pointer; }
#main_section_news .news_list_item > .img { width: 100%; height: 0; padding-top: 56.25%; flex: none; position: relative; overflow: hidden; background-color: #dedede; }
#main_section_news .news_list_item > .img > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; transition: 1s ease;}
#main_section_news .news_list_item > .dec { height: 100%; background-color: var(--background-color); }
#main_section_news .news_list_item > .dec .cate { position: absolute; top: 0; left: 0; background-color: var(--background-color); min-width: 70px; min-height: 30px; padding: 5px 10px; text-align: center; font-size: 15px; font-weight: 700; color: var(--secondary-color); }
#main_section_news .news_list_item > .dec .tit { font-size: 25px; font-weight: 700; color: #000; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 1; }
#main_section_news .news_list_item > .dec .txt { font-size: 17px; font-weight: 300; color: #000; margin-top: 15px; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 2; }
#main_section_news .news_list_item > .dec .date { font-size: 17px; font-weight: 300; color: #000; margin-top: 20px; }
#main_section_news .news_list_item:hover > .img > div { transform: scale(1.05); }

@keyframes clipPath {
  0% {
    clip-path: inset(0% 0% 0% 100%);
  }
  100% {
    clip-path: inset(0% 0% 0% 0%);
  }
}







/* Sub Page */
#sub-page-kv { position: relative; height: 800px; z-index: 90; overflow: hidden; }
#sub-page-kv > .inner { width: var(--inner-width); max-width: var(--inner-max-width); margin: 0 auto; height: 100%; position: relative; display: flex; flex-direction: column; justify-content: center; }
#sub-page-kv > .inner.right { align-items: flex-end; }
#sub-page-kv > .bg { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; background-color: var(--primary-color); overflow: hidden; }
#sub-page-kv > .bg > .img { width: 100%; height: 100%; background-position: center; background-repeat: no-repeat; background-size: cover; }
#sub-page-kv > .bg > .swiper { height: 100% }
#sub-page-kv > .bg > .swiper .swiper-slide { position: relative; background-color: #000; }
#sub-page-kv > .bg > .swiper .swiper-slide > video { object-fit: cover; width: 100%; height: 100%; opacity: 0.85; }

#sub-page-kv .cont { display: flex; flex-direction: column; gap: 30px; color: #fff; width: 50%; max-width: 500px }
#sub-page-kv .cont .title { font-size: 50px; }
#sub-page-kv .cont .text { font-size: 24px; font-weight: 200; line-height: 1.6; }

#sub-page-tabs { padding-top: 70px; padding-bottom: 70px; }
#sub-page-tabs > div { width: 90%; max-width: var(--inner-max-width); margin: 0 auto; position: relative; display: flex; justify-content: center; }
#sub-page-tabs > div > ul { display: inline-flex; gap: 45px; overflow: hidden; overflow-x: auto; }
#sub-page-tabs > div > ul > li { width: 100%; position: relative; padding: 20px 0; }
#sub-page-tabs > div > ul > li > a { white-space: nowrap; font-size: 1em; color: #494542; opacity: 0.5; }
#sub-page-tabs > div > ul > li.active > a { font-weight: 500; opacity: 1; }
#sub-page-tabs > div > ul > li.active > a:before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 7px; height: 7px; background-color: #494542; border-radius: 50%; }

.sub-page-section { position: relative; padding: 40px 0; }
.sub-page-section:first-child { padding-top: 100px; }
.sub-page-section:last-child { padding-bottom: 100px; }
.sub-page-section > .inner { width: var(--inner-width); max-width: var(--inner-max-width); margin: 0 auto; position: relative; }
.sub-page-section > .bg { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; background-color: #333; }



#sub_menu_list { padding: 0; }
#sub_menu_list > .inner { width: 100%; max-width: 1920px; }

#sub_menu_list .menu_list { border-top: 1px solid #ddd7c9; border-bottom: 1px solid #ddd7c9; overflow: hidden; }
#sub_menu_list .menu_list > ul { display: flex; flex-wrap: wrap; margin: -1px; }
#sub_menu_list .menu_list > ul > li { width: calc(100% / 3); border-right: 1px solid #ddd7c9; border-bottom: 1px solid #ddd7c9; }
#sub_menu_list .menu_list > ul > li:nth-child(3n) { border-right: none; }

.menu_item { display: block; width: 100%; height: 0; padding-top: 100%; position: relative; overflow: hidden; }
.menu_item > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 40px 50px; }
.menu_item > div .dec { transition: all 0.5s ease-in-out; }
.menu_item > div .dec .tit { font-size: 24px; font-weight: 500; }
.menu_item > div .dec .cate { font-size: 15px; margin-top: 5px; }
.menu_item > div .img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #dedede; z-index: -1; clip-path: inset(10%); transform: scale(0.5); transition: all 1.5s cubic-bezier(0.16, 1, 0.3, 1); }
.menu_item > div .img > div { width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }
.menu_item > div .arr { flex: none; margin-top: 40px; text-align: right; }
.menu_item > div .arr > div { width: 24px; height: 24px; display: inline-flex; justify-content: flex-end; overflow: hidden; }
.menu_item > div .arr > div > svg { width: 24px; height: 24px; flex: none; transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1); }

.menu_item > div:hover .img { transform: scale(1.0); clip-path: inset(0%); }
.menu_item > div:hover .dec { color: #fff; text-shadow: -1px -1px 10px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5); }
.menu_item > div:hover .arr > div > svg { transform: translateX(100%); }

#menu_item_view > .inner { max-width: 1400px; max-height: 1000px; height: 90%; }
#menu_item_view .modal_body { padding: 0; display: flex; align-items: center; }
#menu_item_view .modal_body .img { width: 50%; height: 100%; background-color: #dedede; position: relative; }
#menu_item_view .modal_body .img > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }
#menu_item_view .modal_body .dec { width: 50%; height: 100%; display: flex; align-items: center; padding: 70px 0; }
#menu_item_view .modal_body .dec > div { width: 80%; max-width: 500px; margin: 0 auto; }
#menu_item_view .modal_body .dec .tit { font-size: 30px; color: #494542; font-weight: 500; margin-bottom: 20px; }
#menu_item_view .modal_body .dec .txt { font-size: 21px; color: #928980; }
#menu_item_view .modal_body .dec .info { margin-top: 50px; }
#menu_item_view .modal_body .dec .info dt { font-size: 16px; color: #494542; font-weight: 500; margin-bottom: 10px; }
#menu_item_view .modal_body .dec .info dd { font-size: 16px; color: #928980; }
#menu_item_view .modal_body .dec .info dd + dt { margin-top: 20px; }




#sub_location_list {  }
#sub_location_list .location_list .item { display: flex; align-items: center; padding: 100px 0; }
#sub_location_list .location_list .item > .dec { width: 100%; padding: 60px 0; }
#sub_location_list .location_list .item > .dec .tit { font-size: 50px; color: #fff; margin-bottom: 40px; }
#sub_location_list .location_list .item > .dec .txt { font-size: 24px; color: #fff; }
#sub_location_list .location_list .item > .dec .viewMap { margin-top: 15px; display: inline-flex; align-items: center; gap: 10px; font-size: 17px; color: #fff; }
#sub_location_list .location_list .item > .dec .viewMap span { width: 25px; height: 25px; background-color: #000; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; transform: rotate(90deg); }
#sub_location_list .location_list .item > .dec .viewMap span > svg { width: 12px; height: 12px; margin-bottom: 2px; }
#sub_location_list .location_list .item > .dec .time { margin-top: 40px; font-size: 19px; color: rgba(255, 255, 255, .5); }
#sub_location_list .location_list .item > .dec .time > dl { display: flex; }
#sub_location_list .location_list .item > .dec .time > dl + dl { margin-top: 5px; }
#sub_location_list .location_list .item > .dec .time > dl > dt { width: 140px; flex: none; }

#sub_location_list .location_list .item > .img { width: 55%; height: 100%; flex: none; }
#sub_location_list .location_list .item > .img .swiper-slide { width: 100%; height: 0; padding-top: 85%; position: relative; background-color: #dedede; position: relative; }
#sub_location_list .location_list .item > .img .swiper-slide img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
#sub_location_list .location_list .item > .img .swiper-slide-prev { z-index: 20 !important; }
#sub_location_list .location_list .item > .img .swiper-slide-active { z-index: 50 !important; animation: displayGradually 1.5s cubic-bezier(0.75, 0, 0.25, 1) forwards; }
#sub_location_list .location_list .item > .img .swiper-pagination { position: static; display: flex; gap: 6px; margin-top: 30px; }
#sub_location_list .location_list .item > .img .swiper-pagination-bullet { width: 90px; height: 3px; border-radius: 0; margin: 0; background-color: rgba(255, 255, 255, .15); opacity: 1; }
#sub_location_list .location_list .item > .img .swiper-pagination-bullet > * { display: block; width: 0; height: 3px; background-color: #fff; }
#sub_location_list .location_list .item > .img .swiper-pagination-bullet-active > * { animation: bulletProgress 4.5s forwards; }

@keyframes displayGradually {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}

@keyframes bulletProgress {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}






#sub_news_list > .inner { max-width: 100%; }

#sub_news_list .news_list_total { text-align: center; font-size: 19px; color: #494542; font-weight: 500; margin-bottom: 90px; }

#sub_news_list .news_list > ul { display: flex; flex-wrap: wrap; margin: -30px -20px; }
#sub_news_list .news_list > ul > li { width: calc(100% / 3); padding: 30px 20px; }

#sub_news_list .news_item { display: flex; flex-direction: column; gap: 25px; position: relative; cursor: pointer; }
#sub_news_list .news_item > .img { width: 100%; height: 0; padding-top: 56.25%; flex: none; position: relative; overflow: hidden; background-color: #dedede; filter: brightness(1); transition: 0.3s ease-out; }
#sub_news_list .news_item > .img > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; transition: 1s ease;}
#sub_news_list .news_item > .dec { height: 100%; background-color: var(--background-color); text-align: center; }
#sub_news_list .news_item > .dec .cate { position: absolute; top: 10px; left: 0; z-index: 2; background-color: var(--background-color); min-width: 70px; min-height: 30px; padding: 5px 10px; text-align: center; font-size: 13px; font-weight: 700; color: #56514e; }
#sub_news_list .news_item > .dec .tit { font-size: 21px; font-weight: 500; color: #000; }
#sub_news_list .news_item > .dec .date { font-size: 15px; font-weight: 300; color: #000; margin-top: 10px; }

#sub_news_list .news_item:hover > .img { filter: brightness(0.5); }


#sub_news_view { padding-top: 170px; }
#sub_news_view > .inner { max-width: 970px; }
#sub_news_view .to_news_list {  }
#sub_news_view .to_news_list > a { display: inline-flex; align-items: center; gap: 10px; font-size: 17px; color: #fff; }
#sub_news_view .to_news_list > a span { width: 25px; height: 25px; background-color: #000; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; transform: rotate(-90deg); }
#sub_news_view .to_news_list > a span > svg { width: 12px; height: 12px; margin-bottom: 2px; }

#sub_news_view .news_view { padding: 60px 0; }
#sub_news_view .news_view .head .title { font-size: 40px; font-weight: 500; color: #fff; padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid rgba(255, 255, 255, .30); }
#sub_news_view .news_view .head .date { font-size: 19px; font-weight: 300; color: #fff; }
#sub_news_view .news_view .head .date span { display: inline-block; margin-right: 10px; }
#sub_news_view .news_view .body { padding: 80px 0; }
#sub_news_view .news_view .body > .content { white-space: pre-line; }
#sub_news_view .news_view .body > .content * { font-size: 19px; color: #fff !important; }


#sub_news_view .news_view .bot { padding-top: 30px; margin-top: 30px; border-top: 1px solid rgba(255, 255, 255, .30); }
#sub_news_view .news_view .bot .prevNext > li + li { margin-top: 10px; }
#sub_news_view .news_view .bot .prevNext > li > a { display: inline-flex; gap: 20px; font-size: 17px; color: #fff; }
#sub_news_view .news_view .bot .prevNext > li > a .tit { font-weight: 300; }
#sub_news_view .news_view .bot .prevNext > li > a .txt { font-weight: 500; }



.post_pagination { display: flex; align-items: center; justify-content:  center; text-align: center; margin-top: 70px; }
.post_pagination > li > a { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 18px; color: #796c63; }
.post_pagination > li.num + li.num { margin-left: 10px; }
.post_pagination > li.num > a { opacity: 0.65; }
.post_pagination > li.num.current > a { opacity: 1; }
.post_pagination > li.prev { margin-right: 25px; }
.post_pagination > li.next { margin-left: 25px; }
.post_pagination > li.prev > a,
.post_pagination > li.next > a { font-size: 0; background-repeat: no-repeat; background-position: center; }
.post_pagination > li.prev > a {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' transform='rotate(180)' fill='%23554c46'%3E%3Cpath d='M507-480 384-357l56 57 180-180-180-180-56 57 123 123ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z'/%3E%3C/svg%3E"); }
.post_pagination > li.next > a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23554c46'%3E%3Cpath d='M507-480 384-357l56 57 180-180-180-180-56 57 123 123ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z'/%3E%3C/svg%3E");  }

#site-body.secBg .post_pagination > li.num.current > a { color: #fff; }




@media screen and (max-width: 1200px){

}