:root {
  --primary-color: #000;
  --white-color: #fff;
  --secondary-color: #333333;
  --accent-color: #fc6d25;
  --accent2-color: #fc6d25;
  --bg-sub-color: #f7f7f7;
}
.inner { max-width: 1500px; margin: 0 auto; width: 90%; }
.inner.large { max-width: 1610px;}
.inner-left { padding-left: calc(max((100vw - 1500px) / 2, 5vw)) !important;}
.inner-right { padding-right: calc(max((100vw - 1500px) / 2, 5vw)) !important;}
.blind { position: absolute; width: 1px; height: 1px; clip: rect(0 0 0 0); overflow: hidden; }
.hide { position: absolute; left: -9999%; font-size: 0; height: 0; line-height: 0; text-indent: -9999px;}
h1 { font-size: 80px; font-weight: bold; line-height: normal; }
h2 { font-size: 60px; font-weight: bold; margin-bottom: 20px; }
h3 { font-size: 48px; font-weight: bold; line-height: normal;}
h4 { font-size: 32px; font-weight: bold;}
.mo { display: none;}
.dot { width: 4px; height: 4px; border-radius: 50%; vertical-align: middle; margin-right: 10px; background: #000; }
.sub-heading { font-size: 20px; font-weight: 500; color: #666; margin-bottom: 5px;}
.w-100 { width: 100%; }
.h-fit { height: fit-content !important;}
.p-0 { padding: 0 !important;}
.pb-0 { padding-bottom: 0 !important;}
.m-0 { margin: 0 !important;}
.tac { text-align: center !important;}
.tal { text-align: left !important;}
.tar { text-align: right !important;}
.accent { vertical-align: baseline; color: var(--accent-color); display: inline;}
.grid-box { display: grid; }
.flex-box { display: flex; }
.sticky { position: sticky; top: 0;}
figure { position: relative; width: 100%; height: 0; padding-bottom: 50%; overflow: hidden; }
figure img,
figure video,
figure iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.img-box img,
figure img { display: block;}
.view { font-weight: 700; }
.view-more { width: 28px; height: 28px; background: url(/images/view-more-basic.png) no-repeat center/auto 100%; margin-left: 14px;}
.view-more.black { background: url(/images/view-more.png) no-repeat center/auto 100%;}
.view-more.white { background: url(/images/view-more-white.png) no-repeat center/auto 100%;}
.heading-sub { font-size: 20px; color: var(--accent-color); margin-bottom: 20px;}
.sec-wrap { display: flex; flex-direction: column; min-height: 100vh;}
.sec-group { position: relative;}
.swiper-btns { display: flex; justify-content: flex-end; align-items: center; gap: 20px; margin-bottom: 28px;}
.swiper-btns .swiper-button-prev,
.swiper-btns .swiper-button-next { position: static; margin: 0; width: 70px; height: 70px; background: url(/images/swiper-arrow.png) no-repeat center/auto 100%;}
.swiper-btns .swiper-button-prev { transform: scaleX(-1);}
.swiper-button-next:after, .swiper-button-prev:after { display: none;}
.floating-container { position: absolute; top: -100px; right: 2.5%;}
.floating-container span { width: 70px; height: 70px; background: url(/images/scroll-top.png) no-repeat center/auto 100%; cursor: pointer;}
.btns-group { display: flex; align-items: center;}
.down-btn { display: flex; align-items: center;}
.content-top .text { font-size: 20px; color: #333;}
@media screen and (max-width:1240px) {
  h1 { font-size: 60px;}
  h2 { font-size: 48px;}
  h3 { font-size: 32px;}
  h4 { font-size: 24px;}
}
@media screen and (max-width:767px) {
  h1 { font-size: 32px;}
  h2 { font-size: 24px;}
  h3 { font-size: 22px;}
  h4 { font-size: 18px;}
  .pc { display: none;}
  .mo { display: block;}
  .heading-sub { font-size: 16px; margin-bottom: 10px;}
  .swiper-btns { gap: 10px; margin-bottom: 10px;}
  .swiper-btns .swiper-button-prev, .swiper-btns .swiper-button-next { width: 30px; height: 30px;}
  .view-more { width: 18px; height: 18px; margin-left: 5px;}
  .floating-container { top: -60px;}
  .floating-container span { width: 40px; height: 40px;}
}
/* ico */
.ico-contact { width: 22px; height: 22px; background: url(/images/ico-contact.png) no-repeat center/auto 100%; display: inline-block; margin-left: 10px;}
.ico-drop-white { width: 24px; height: 24px; background: url(/images/ico-drop-white.png) no-repeat center/auto 100%; display: inline-block; margin-left: 10px;}
.ico-down-green { width: 40px; height: 40px; background: url(/images/ico-down-orange.png) no-repeat center/auto 100%; display: inline-block; margin-left: 20px; flex-shrink: 0;}
.ico-siren { width: 24px; height: 24px; background: url(/images/ico-siren.png) no-repeat center/auto 100%; display: inline-block; margin-right: 8px;}
.ico-screen { width: 24px; height: 24px; background: url(/images/ico-screen.png) no-repeat center/auto 100%; display: inline-block; margin-right: 8px;}
.ico-paper { width: 18px; height: 18px; background: url(/images/ico-paper.png) no-repeat center/auto 100%; display: inline-block; margin-left: 6px;}
.ico-arrow-link { width: 16px; height: 16px; background: url(/images/ico-arrow-link.png) no-repeat center/auto 100%; display: inline-block; margin-left: 6px;}
@media screen and (max-width: 767px) {
  .ico-down-green { width: 30px; height: 30px; margin-left: 10px;}
}

/* header */
.header { position: fixed; width: 100%; height: 100px; background: transparent; z-index: 10;}
.header .header-inner { max-width: 1800px; width: 95%; height: 100%; margin: 0 auto; position: relative;}
.header .logo { position: absolute; top: 50%; left: 5%; transform: translateY(-50%); width: 100px; height: 45px; background: url(/images/logo-hd.png) no-repeat center/cover; z-index: 3;}
.header .gnb { position: absolute; top: 0; display: flex; justify-content: center; width: 100%; height: 100%; overflow: hidden; z-index: 2;}
.header .gnb::before { content:''; display: none; position: absolute; top: 100px; left: 0; width: 100%; height: 1px; background: #ddd;}
.header .gnb .depth1 { display: flex;}
.header .gnb a { padding: 10px 15px; font-weight: 500; display: flex;}
.header .gnb .depth1 > li { width: 10.2em;}
.header .gnb .depth1 > li > a { padding: 15px 30px; position: relative; height: 100px; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; white-space: nowrap;}
.header .gnb .depth1 > li > a::before { content: ''; display: none; width: 20px; height: 20px; position: absolute; right: 5%; top: 50%; transform: translateY(-50%); background: url(/images/ico-arrow.png) no-repeat center/cover; filter: invert(1);}
.header .gnb .depth2{ position: relative; padding:20px 0 40px;}
.header .gnb .depth2::before { content: ''; display: block; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0%; height: 2px; background: var(--accent-color); transition: 0.2s;}
.header .gnb .depth2 > li > a { display: block; text-align: center; font-size: 16px; font-weight: 400;}
.header .gnb .close { display: none; position: fixed; top: 30px; right: 2.5%; width: 40px; height: 40px; }
.header .gnb .close a { display: block; width: 100%; height: 100%; }
.header .gnb .close .circle::before, .header .gnb .close .circle::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 26px; height: 2px; background: #fff; }
.header .gnb .close .circle::before { transform: rotate(45deg); }
.header .gnb .close .circle::after { transform: rotate(-45deg); }
/* 임시로 안보이게 */
.header-contact { z-index: 2; position: absolute; top: 50%; right: calc(5%); transform: translateY(-50%); }
.header-contact a { background: rgba(0,0,0,.7); color: #fff; font-size: 14px; font-weight: 500; width: 110px; height: 35px; display: flex; align-items: center; justify-content: center; border-radius: 35px;}
.header-language { z-index: 2; position: absolute; top: 50%; right: 5%; transform: translateY(-50%);}
.header-language .current { position: relative; padding: 0px 0 0 25px; font-size: 14px; color: inherit; font-weight: 600; height: 100%; display: flex; align-items: center; gap: 6px;}
.header-language .current::before { content: ''; position: absolute; left: 0; width: 17px;height: 17px;background: url('/images/ico-global.png') no-repeat center / auto 100%;}
.header-language ul { position: absolute; left: 0; top: 100%; margin-top: 10px; width: 80px; background: #fff; box-shadow: 0 3px 10px rgba(0, 0, 0, .1); visibility: hidden; opacity: 0; }
.header-language ul::before { content: ''; z-index: -1; position: absolute; top: -8px; left: 0; right: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: 0 8px 8px 8px; border-color: transparent transparent #fff transparent; filter: drop-shadow(0px 3px 5px rgba(24, 24, 24, .35)); }
.header-language a { display: block; padding: 10px 0; text-align: center; font-size: 14px; color: #212227; transition: all ease .15s; }
.header-language .current[aria-pressed="true"] + ul { visibility: visible; opacity: 1; }
.header .hamburger { display: none; position: absolute; top: 50%; right: 2.5%; transform: translateY(-50%); width: 32px; height: 33px; z-index: 9;}
.header .hamburger a { overflow: hidden; display: block; position: relative; width: 100%; height: 100%; background: url(/images/ico-menu.png) no-repeat center/auto 100%;}
[data-header-gnb="opened"] .header-menu::before { opacity: 1; }
[data-header-gnb="opened"] .header-nav::before { opacity: 1; }
[data-header-gnb="opened"] .header-nav .lists .link { margin: 0 40px; }
[data-header-gnb="opened"] .header-hamburger span { background: #000; }
[data-header-gnb="opened"] .gnb { background: #fff;}
[data-header-gnb="opened"] .gnb::before { display: block;}
[data-header-gnb="opened"][data-header-theme="transparent"] { color: #111; background: #fff; }
[data-header-theme="dark"] { color: #fff; background: #111; }
[data-header-theme="light"] .header-primary { background: #fff; }
[data-header-theme="transparent"] { color: #fff; border-bottom-color: rgba(255, 255, 255, .1); }
[data-header-theme="transparent"] .logo { filter: invert(1);}
[data-header-theme="transparent"] .hamburger a { filter: invert(1);}
[data-header-theme="transparent"] .header-logo-secondary { background-image: url('/assets/images/logo-secondary-light.svg'); }
[data-header-mobile-menu="opened"] .header-logo-secondary { background-image: url('/assets/images/logo-secondary.svg'); }
[data-header-theme="transparent"] .header-language .current::before { filter: invert(1);}
[data-header-theme="transparent"] .header-hamburger span { background: #fff; }
[data-header-theme="transparent"] .header-search .input { background: rgba(255, 255, 255, .1); }
[data-header-theme="transparent"] .header-search .toggle { background-image: url('/assets/images/search-light.svg'); }
[data-header-theme="transparent"] .header-right .line { background: rgba(255, 255, 255, .4); }
[data-header-theme="transparent"][data-header-mobile-menu="opened"] .header-logo { background-image: url('/assets/images/logo.svg'); }
[data-header-theme="transparent"][data-header-mobile-menu="opened"] .header-search .toggle { background-image: url('/assets/images/search.svg'); }
[data-header-sticky="true"] .header-menu::before { opacity: 1; }
[data-header-sticky="true"] .header-nav::before { opacity: 1; }
[data-header-sticky="true"] .header-nav .lists .link { margin: 0 40px; }
[data-header-sticky="true"] .header-hamburger span { background: #000; }
[data-header-sticky="true"] .header-language .current::before { filter: invert(0);}
[data-header-sticky="true"] .hamburger a { filter: invert(0);}
[data-header-sticky="true"] .gnb { background: #fff;}
[data-header-sticky="true"] .logo { filter: invert(0);}
[data-header-sticky="true"][data-header-theme="transparent"] { color: #111; background: #fff; }
[data-header-toggle] { pointer-events: none; }
.header[data-hamburger="opened"] .gnb { right: 0; transition: right 0.5s;}
[data-hamburger="opened"] .header-menu::before { opacity: 1; }
[data-hamburger="opened"] .header-nav::before { opacity: 1; }
[data-hamburger="opened"] .header-nav .lists .link { margin: 0 40px; }
[data-hamburger="opened"] .header-hamburger span { background: #000; }
[data-hamburger="opened"] .header-language .current::before { filter: invert(0);}
[data-hamburger="opened"] .hamburger a { filter: invert(0); background-image: url(/images/close.png); background-size: auto 50%;}
[data-hamburger="opened"] .gnb { background: #fff;}
[data-hamburger="opened"] .logo { filter: invert(0);}
[data-hamburger="opened"][data-header-theme="transparent"] { color: #111; }
@media (hover: hover) and (pointer: fine) and (min-width: 1240px) {
    .header-nav .lists > li:hover .link { color: #097CD3; }
    .header-nav .lists > li:hover .sub-lists { background: #F9F9F9; }
    .header-nav .sub-lists .sub-link:hover,
    .header-nav .child-lists .child-link:hover { text-decoration: underline; text-underline-offset: 0.3em; }
    .header .gnb .depth2:hover::before { width: 100%; }
    .header .gnb .depth2 > li > a:hover { color: var(--accent-color);}
    .header-contact a:hover { background: #000;}
}
@media screen and (max-width: 1400px) {
  .header .gnb .depth1 > li { width: 9em;}
  .header .gnb .depth1 > li > a { white-space: nowrap;}
}
@media screen and (max-width: 1240px) {
  .header .gnb { overflow-y: auto;}
  .header .gnb a { padding: 20px 0%;}
  .header .gnb .nav { width: 90%; margin: 0 auto;}
  .header .hamburger { right: 5%; display: block;}
  .header-language { right: calc(5% + 50px);}
  .header-contact { right: calc(5% + 110px);}
  .header .gnb { position: fixed; top: 0; right: -100%; width: 100%; height: 100svh; justify-content: flex-end;}
  .header .gnb a { position: relative;}
  .header .gnb .depth1 { flex-direction: column; padding-top: 92px; overflow-y: auto;}
  .header .gnb .depth1 > li { width: 100%; border-bottom: 1px solid #ddd;}
  .header .gnb .depth1 > li > a { text-align: left; padding: 20px 0%; height: fit-content; font-size: 20px; justify-content: flex-start;}
  .header .gnb .depth2 > li > a { text-align: left;}
  .header .gnb .depth1 > li > a:after { content: ''; display: block; width: 14px; height: 8px; background: url(/images/ico-arrow-dropdown.png) no-repeat center/auto 100%; position: absolute; right: 5%; top: 50%; transform: translateY(-50%); filter: invert(1);}
  .header .gnb .depth1 > li > a[aria-expanded="true"]:after,
  .header .gnb .depth2 > li > a[aria-expanded="true"]:after { transform: translateY(-50%) scaleY(-1);}
  .header .gnb .depth2 { max-height: 0; opacity: 0; visibility: hidden; overflow: hidden; padding: 0;}
  .header .gnb .depth2 li:last-child > a { padding-bottom: 40px;}
}
@media screen and (max-width: 1024px) {
  .header-language { right: calc(2.5% + 60px);}
  .header .hamburger { display: block; right: 2.5%; padding: 0 6px; width: 40px; height: 40px;}
}
@media screen and (max-width: 767px) {
  .header { height: 80px;}
  .header .logo { width: 72px; height: 32px; left: 5%;}
  .header .hamburger { right: 5%;}
  .header-language { right: calc(5% + 50px);}
  .header .gnb .depth1 > li > a { font-size: 16px;}
  .header .gnb .depth2 > li > a { font-size: 14px; padding: 10px 0;}
  .header .gnb .depth2 li:last-child > a { padding-bottom: 20px;}
  .header-contact { display: none;}
}

/* footer */
footer { margin-top: auto; padding: 96px 0 40px; background: #111; color: #fff; margin-top: auto; z-index: 9; position: relative;}
footer .inner { display: flex; flex-direction: column; max-width: 1720px;}
footer a { color: #fff; }
footer .sitemap { display: flex; }
footer .sitemap article { width: 20%; }
footer .sitemap dl { display: flex; flex-wrap: wrap; }
footer .sitemap dt { width: 100%; margin-bottom: 26px; font-size: 19px;}
footer .sitemap dt a { font-weight: 600; display: block;}
footer .sitemap dd { width: 100%; margin-bottom: 24px; line-height: normal;}
footer .sitemap dd:last-child { margin-bottom: 0;}
footer .sitemap dd a { font-size: 16px; color: #fff; }
footer .content-top { display: flex; padding-bottom: 80px; border-bottom: 1px solid rgba(255,255,255,0.15);}
footer .content-top .con-right { flex-shrink: 0; margin-left: auto; display: flex; flex-direction: column;}
footer .site-wrap.open .familyLink { display: block}
footer .phone { margin-bottom: 20px; }
footer .phone a { font-size: 32px; font-weight: 600; line-height: 1; pointer-events: none;}
footer .footer-link { margin-bottom: 45px; }
footer .footer-link li { margin-bottom: 20px;}
footer .footer-link li a { color: #fff; display: flex; align-items: center; justify-content: flex-end;}
footer .footer-sns { display: flex; }
footer .footer-sns li a { padding: 0 16px; display: block;}
footer .footer-sns li:first-child a { padding-left: 0;}
footer .icon { display: inline-block; width: 17px; height: 17px; background-repeat: no-repeat; background-position: center; background-size: auto 100%; filter: invert(1); opacity: 0.3;}
footer .icon.icon-facebook { background-image: url(../images/ico-facebook.png); }
footer .icon.icon-instagram { background-image: url(../images/ico-instagram.png); }
footer .icon.icon-youtube { background-image: url(../images/ico-youtube.png); }
footer .icon.icon-kakao { background-image: url(../images/ico-kakao.png); }
footer .icon.icon-linkedin { background-image: url(../images/ico-linkedin.png); }
footer .site-wrap {margin-top: auto;position: relative;width: 230px;height: 52px;cursor: pointer;padding: 13px 30px;border: 1px solid rgba(255,255,255,0.15);display: flex;background: rgba(255,255,255,0.06);align-items: center;margin-left: auto;border-radius: 35px;}
footer .site-wrap .btn-site { color: #fff; font-weight: 400; letter-spacing: -0.5px;}
footer .site-wrap .ico { margin-left: auto; transform: rotate(0deg);}
footer .site-wrap .familyLink { width: 100%; position: absolute; background-color: #fff; display: none; top: 120%; left: 50%; transform: translateX(-50%); border: 1px solid rgba(160, 160, 160, 0.5); background: #fff; border-radius: 20px;}
footer .site-wrap .familyLink li a { font-size: 14px; line-height: 25px; letter-spacing: 0; color: #999;  padding: 10px 20px; display: block;}
footer .site-wrap.open .icon_box { border-top: 0; border-bottom: 10px solid #5285a2}
footer .content-bottom { margin-top: auto; align-items: center; padding-top: 40px;}
footer .content-bottom .flex-box { align-items: flex-end; justify-content: space-between; gap: 30px 0; flex-wrap: wrap;}
footer .copyright { font-size: 16px; color: rgba(255,255,255,.7);}
footer .copyright .copyYear { line-height: 1; vertical-align: baseline;}
footer .site-wrap.active .familyLink { display: block;}
footer .site-wrap.active .ico { transform: rotate(180deg);}
footer .logo-box { margin-bottom: 30px;}
footer .company-info span,
footer .company-info a { color: rgba(255,255,255,.7); vertical-align: baseline;}
footer .company-info .label { margin-right: 26px; position: relative;}
footer .company-info .label:after { content: ''; display: block; position: absolute; top: 50%; transform: translateY(-50%); right: -13px; width: 2px; height: 12px; background: rgba(255,255,255,.7);}
footer .info-wrap { display: flex; gap: 60px; margin-bottom: 16px; gap: 10px 60px; flex-wrap: wrap;}
footer .info-item { display: flex;}
footer .address { display: flex;}
@media (pointer: fine) {
  footer dd a:hover { text-decoration: underline; text-underline-offset: 5px;}
  footer .footer-link li a:hover { text-decoration: underline; text-underline-offset: 5px;}
  footer .footer-sns li a:hover .icon { opacity: 1;}
  footer .site-wrap:hover { border-color: #fff;}
  footer .site-wrap .familyLink li a:hover { color: #000;}
}
@media screen and (max-width: 1024px) {
  footer { padding: 40px 0;}
  footer .content-top { padding-bottom: 20px;}
  footer .content-bottom {padding-top: 20px;}
  footer .phone a { pointer-events: auto;}
  footer .sitemap { display: none;}
  footer .content-top .con-right { margin: 0; flex-direction: row-reverse; justify-content: space-between; flex:1;}
  footer .site-wrap { margin: 0;}
  footer .footer-link { margin: 0;}
}
@media screen and (max-width: 767px) {
  footer {padding: 20px 0;}
  footer .site-wrap { width: 180px; height: 48px; padding: 13px 20px;}
  footer .site-wrap .btn-site { font-size: 14px;}
  footer .footer-link li { margin-bottom: 10px;}
  footer .footer-link li a { font-size: 14px;}
  footer .content-bottom .flex-box { font-size: 14px;}
  footer .copyright { font-size: 14px;}
  footer .info-wrap { flex-direction: column; gap: 6px; margin-bottom: 6px;}
  footer .company-info .label:after { top: 4px; transform: none;}
  footer .company-info .label { flex: 0 0 12vw;}
  footer .logo-box img { width: 100px;}
}
.wrap[data-theme="dark"] { background: #222;}

/* main-visual */
.main-visual { position: relative; width: 100%; height: 100vh; overflow: hidden;}
.main-visual .inner { height: 100%; position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 130px; color: #fff;}
.main-visual .bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: scale(1.1);}
.main-visual .bg:before { content:''; display: block; position: absolute; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.7) 100%); z-index: 1;}
.main-visual .bg img,
.main-visual .bg video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.main-visual .heading { margin-bottom: 20px;}
.main-visual .text { font-size: 24px; color: rgba(255,255,255,0.8);}
@media screen and (max-width: 767px) {
  .main-visual { height: 100svh;}
  .main-visual .text { font-size: 16px;}
  .main-visual .bg video {top: -10%; width: auto; height: 120%;}
}
/* main-intro */
.main-intro { position: relative; padding: 160px 0; height: 1000vh; overflow: hidden;}
.main-intro .motion { width: 90%; height: 100vh; margin: 0 auto; position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column;}
.main-intro .motion .group { max-width: 835px; margin: 0 auto; width: 65%; position: relative; }
.main-intro .motion svg .percentage { stroke-dasharray: 2620px; stroke-dashoffset: 2620; transform: rotate(-90deg); transform-origin: center;}
.main-intro .motion .img-box img{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 76%;}
.main-intro .motion .title-wrap p { position: absolute;}
.main-intro .motion .title-wrap p span { padding: 5px 50px; height: 61px; border: 1px solid var(--accent-color); color: var(--accent-color); font-size: 24px; font-weight: bold; border-radius: 35px; background: #fff; display: flex; align-items: center; justify-content: center;}
.main-intro .motion .title-wrap p:first-child { top: 0; left: 50%; transform: translateX(-50%);}
.main-intro .motion .title-wrap p:nth-child(2) { top: 50%; left: 90%; transform: translateY(-50%);}
.main-intro .motion .title-wrap p:nth-child(3) { bottom: 0; left: 50%; transform: translateX(-50%);}
.main-intro .motion .title-wrap p:last-child { top: 50%; right: 90%; transform: translateY(-50%);}
.main-intro .motion .arrow-wrap,
.main-intro .motion .arrow-wrap .arrow { width: 100%; height: 100%; position: absolute; top: 0; left: 0;}
.main-intro .motion .arrow-wrap .arrow:first-child { transform: rotate(50deg);}
.main-intro .motion .arrow-wrap .arrow:nth-child(2) {transform: rotate(130deg);}
.main-intro .motion .arrow-wrap .arrow:nth-child(3) {transform: rotate(230deg);}
.main-intro .motion .arrow-wrap .arrow:last-child {transform: rotate(310deg);}
.main-intro .motion .arrow-wrap span { position: absolute; left: 50%; top: 0; margin-top: -0.5%; background: url(/images/intro-arrow.png) no-repeat center/cover; width: 57px; height: 57px; transform: translateX(-50%) rotate(-45deg);}
.main-intro .motion .arrow-wrap .arrow.active span { background-image: url(/images/intro-arrow-active.png); }
.main-intro .text-wrap { width: 100%; position: absolute; top: 50%; left: 50%; display: flex; justify-content: center; align-items: center; transform: translate(-50%, -50%);}
.main-intro .text-wrap .heading { text-align: center; padding: 0 20px; width: 100%;}
.main-intro .text-wrap .heading span { display: inline; vertical-align: middle; color: rgba(0,0,0,0.2); font-weight: 400;}
.main-intro .text-wrap .heading .accent span { vertical-align: middle; display: inline-block; font-weight: bold;}
.main-intro .text-wrap .heading .accent span .dot { background: #000; margin: 0 5px;}

.main-intro .circle_bg {z-index: 6;position: absolute;top: 0;left: -5vw;width: 100vw;height: 100vh;background: var(--accent-color);clip-path: circle(0%);overflow: hidden;}
.main-intro .circle_bg .circle {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.main-intro .circle_bg .circle span { opacity: 0; width: 100%; height: 100%; border-radius: 999px; animation: circle_move 7s infinite linear; }
.main-intro .circle_bg .circle_1 { width: clamp(55vh, 45vw, 45vw); height: clamp(55vh, 45vw, 45vw); z-index: 4; }
.main-intro .circle_bg .circle_1 span { animation-delay: 0.1s; background: #D85E1F; }
.main-intro .circle_bg .circle_2 { width: clamp(70vh, 65vw, 65vw); height: clamp(70vh, 65vw, 65vw); z-index: 3; }
.main-intro .circle_bg .circle_2 span { animation-delay: 0.2s; background: #E36321; }
.main-intro .circle_bg .circle_3 { width: clamp(85vh, 85vw, 85vw); height: clamp(85vh, 85vw, 85vw); z-index: 2;}
.main-intro .circle_bg .circle_3 span { animation-delay: 0.3s; background: #EF6823; }
.main-intro .circle_bg .text-wrap { z-index: 7; }
.main-intro .circle_bg .text-wrap.scene_1 .heading {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.main-intro .circle_bg .text-wrap.scene_1 .accent span {
  font-size: 80px;
  line-height: 1;
  color: #fff;
}

.main-intro .circle_bg .text-wrap.scene_1 .text {
  font-size: 24px;
  color: #fff;
}

.main-intro .circle_bg .text-wrap.scene_2 {
  opacity: 0;
}

.main-intro .circle_bg .text-wrap.scene_2 .heading span {
  color: rgba(255, 255, 255, 0.2);
}

@keyframes circle_move {
  0% {
    transform: scale(0.6);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.3);
    opacity: 0;
  }
}

/* html[lang="en"] .main-intro .text-wrap .heading { position: relative; font-size: 32px;} */
@media screen and (min-width: 1024px) and (max-height: 850px) {
  .main-intro .motion .group { max-width: 835px; margin: 0 auto; width: auto; position: relative; max-height: 80vh; aspect-ratio: 1/1;}
  .main-intro .motion .group .stroke { aspect-ratio: 1/1; max-height: 100%;}
  .main-intro .motion .group .stroke svg { max-height: 100%;}
}
@media screen and (max-width: 1240px) {
  .main-intro .text-wrap .heading { font-size: 30px; max-height: 45px}
}
@media screen and (max-width: 1024px) {
  /* .main-intro { height: calc(500svh + 160px);} */
  .main-intro .motion .title-wrap p span { height: 41px; padding: 5px 20px; font-size: 16px;}
  .main-intro .motion .arrow-wrap span { margin-top: -3%;}
}
@media screen and (max-width: 767px) {
  .main-intro { height: 600vh; }
  .main-intro { padding: 60px 0;}
  .main-intro .motion .group { width: 90%;}
  .main-intro .motion .title-wrap p span { height: 31px; padding: 5px 10px; font-size: 12px;}
  .main-intro .motion .arrow-wrap span { margin-top: -5vw;}
  .main-intro .text-wrap .heading { font-size: 16px; max-height: 28px; padding: 0 10px; max-width: 75%;}
  .main-intro .motion .title-wrap p:last-child { right: 82%;}
  .main-intro .motion .title-wrap p:nth-child(2) { left: 85%;}
  .main-intro .circle_bg .text-wrap.scene_1 .accent span {font-size: 24px;}
  .main-intro .circle_bg .text-wrap.scene_1 .text {font-size: 14px;}
}

/* main-view */
.main-view { overflow: hidden;}
.main-view .flex-box article { position: relative; min-height: 48.8vw; flex:1; transition: flex 0.5s;}
.main-view .flex-box article .bg { position: absolute; top: 0; left: 0; background: url(/images/main-view-bg1.png) no-repeat center/90vw 100%; width: 100%; height: 100%;}
.main-view .flex-box article .bg::before { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0;  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 60% );}
.main-view .flex-box article .text-boxs,
.main-view .flex-box article .link-boxs { position: absolute; bottom: 0; left: 0; width: 100%; height: 433px; display: flex; flex-direction: column; color: #fff;}
.main-view .flex-box article .text-boxs a,
.main-view .flex-box article .link-boxs a { position: relative;}
.main-view .flex-box article .text-boxs { padding: 20px 10.4% 10%;}
.main-view .flex-box article .text-boxs .title { padding: 5px 24px; height: 51px; border:1px solid rgba(255,255,255,0.2); background: rgba(0,0,0,0.3); border-radius: 35px; width: fit-content; margin-bottom: 20px; font-size: 16px; font-weight: bold; display: flex; align-items: center; justify-content: center;}
.main-view .flex-box article .text-boxs .sbj { line-height: normal; margin-bottom: 40px;}
.main-view .flex-box article .text-boxs .desc { font-size: 20px;}
.main-view .flex-box article .link-boxs { padding: 20px 6.5% 10%; opacity: 0; visibility: hidden;}
.main-view .flex-box article .link-boxs .sbj { position: relative; margin-bottom: 40px;}
.main-view .flex-box article .link-boxs .sbj .mask { position: absolute; left: 10.3%; bottom: 16px; font-size: 120px; color: rgba(255,255,255,0.2); line-height: normal; letter-spacing: -3px; white-space: nowrap;}
.main-view .flex-box article .link-boxs .desc { margin-bottom: 60px;}
.main-view .flex-box article:nth-child(2) .bg { background-image: url(/images/main-view-bg2.png); background-position: top left;}
.main-view .flex-box article:nth-child(3) .bg { background-image: url(/images/main-view-bg3.png);}
@media (hover: hover) and (pointer: fine) {
  .main-view .flex-box article:hover { flex: 9;}
  .main-view .flex-box article:hover .text-boxs { opacity: 0; visibility: hidden;}
  .main-view .flex-box article:hover .link-boxs { opacity: 1; visibility: visible;}
}
@media screen and (max-width: 1240px) {
  .main-view .flex-box article .text-boxs, .main-view .flex-box article .link-boxs { height: 363px;}
  .main-view .flex-box article .link-boxs .sbj .mask { bottom: 10px; font-size: 80px;}
}
@media screen and (max-width: 1024px) {
  .main-view .flex-box { flex-direction: column;}
  .main-view .flex-box article .bg { background-size: cover;}
  .main-view .flex-box article .text-boxs, .main-view .flex-box article .link-boxs { height: 100%; justify-content: center; padding-block: 20px; padding-inline: 5%;}
}
@media screen and (max-width: 1024px) {
  .main-view .flex-box article .text-boxs { display: none;}
  .main-view .flex-box article .link-boxs { opacity: 1; visibility: visible;}
  .main-view .flex-box article .text-boxs, .main-view .flex-box article .link-boxs { position: static; padding-block: 90px;}
  .main-view .flex-box article .link-boxs .sbj { margin-bottom: 20px;}
  .main-view .flex-box article .link-boxs .sbj .mask { font-size: 50px; bottom: 5px;}
  .main-view .flex-box article .link-boxs .desc { margin-bottom: 30px;}
}
/* main-business */
.main-business { background: #fff;}
.main-business .col { flex-grow: 1;}
.main-business .col.left { padding: 180px 5% 50px calc(max((100vw - 1610px) / 2, 5vw));}
.main-business .col.left .sticky { top: 180px;}
.main-business .col.left .text { font-size: 20px; margin-bottom: 80px;}
.main-business .col.right { flex: 0 0 55.2%; overflow: hidden;}
.main-business .col.right article { height: 100vh; padding: 120px 100px; display: flex; align-items: flex-end; background: url(/images/main-business-bg2.png) no-repeat center/cover; color: #fff;}
.main-business .col.right article:last-child { background-image: url(/images/main-business-bg1.png);}
.main-business .col.right article .text-boxs .title { padding: 5px 24px; height: 51px; border:1px solid rgba(255,255,255,0.2); background: rgba(0,0,0,0.3); border-radius: 35px; width: fit-content; margin-bottom: 20px; font-size: 16px; font-weight: bold; display: flex; align-items: center; justify-content: center;}
.main-business .col.right article .text-boxs .sbj { margin-bottom: 40px;}
.main-business .col.right article .text-boxs .desc { font-weight: 500;}
@media screen and (max-width: 1024px) {
  .main-business .col.right article { height: 100vh; padding: 120px 5%;}
}
@media screen and (max-width: 767px) {
  .main-business .flex-box { flex-direction: column;}
  .main-business .col.left { padding: 60px 5%;}
  .main-business .col.left .text { font-size: 16px; margin-bottom: 30px;}
  .main-business .col.right article { height: 400px;}
  .main-business .col.right article .text-boxs .title { padding: 5px 14px; height: 31px; font-size: 14px;}
}

/* main-group */
.main-group { padding: 160px 0; background: var(--bg-sub-color);}
.main-group .content-body { margin-top: -18px;}
.main-group .row:first-child { margin-bottom: 80px;}
.main-group .col.left { flex: 0 0 21.2%; flex-shrink: 0; padding-top: 98px;}
.main-group .col.left .heading { margin-bottom: 20px;}
.main-group .col.left .view { font-weight: 400; display: block;}
.main-group .col.right { flex: 1; min-width: 0; overflow: hidden;}
.main-group .col.right a { display: block;}
.main-group .col.right figure { padding-bottom: 72%; margin-bottom: 32px;}
.main-group .col.right .title { font-size: 16px; color: var(--accent-color); margin-bottom: 18px;}
.main-group .col.right .sbj { font-size: 20px; font-weight: bold; margin-bottom: 12px;}
.main-group .col.right .year { font-size: 16px; color: #666;}
.main-group .col.right .list { padding: 40px 32px; border: 1px solid #ddd; border-radius: 10px; background: #fff;}
.main-group .col.right .list .sbj { margin-bottom: 32px;}
@media screen and (max-width: 1024px) {
  .main-group .col.left { flex: 0 0 25.2%; }
}
@media screen and (max-width: 767px) {
  .main-group { padding: 60px 0;}
  .main-group .content-body { margin: 0;}
  .main-group .row { flex-direction: column;}
  .main-group .row:first-child { margin-bottom: 0px;}
  .main-group .col.left { flex:1; display: flex; gap: 20px; padding-top: 50px;}
  .main-group .col.left .heading { margin-bottom: 0;}
  .main-group .col.right .sbj { font-size: 16px;}
  .main-group .col.right .title { margin-bottom: 10px;}
  .main-group .col.right .year { font-size: 14px;}
  .main-group .col.left .view { font-size: 14px; display: flex; align-items: center;}
}

/* main-partners */
.main-partners { background: #fff; padding: 160px 0 130px; overflow: hidden; }
.main-partners .heading { margin-bottom: 56px;}
.main-partners .rolling-wrapper + .rolling-wrapper { margin-top: 20px;}
.main-partners .rolling-wrapper:last-child { margin-top: 70px;}
.main-partners .list { display: flex; gap: 20px;}
.main-partners .list a { display: block;}
.main-partners .rolling-wrapper:nth-child(1) .list { animation: rolling 20s linear infinite; }
.main-partners .rolling-wrapper:nth-child(2) .list { animation: rolling 20s linear infinite reverse; }
.main-partners .rolling-wrapper:nth-child(3) .list { animation: rolling 20s linear infinite; }
.main-partners .rolling-wrapper2 { margin-top: 50px; }
.main-partners .rolling-wrapper2 .text { font-size: 110px; font-weight: bold; white-space: nowrap;}
.main-partners .rolling-wrapper2 .list2 li { text-align: right;}
.main-partners .list li { flex: 0 0 auto; }
.main-partners .list li img { display: block;}
@keyframes rolling {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

@media screen and (max-width: 1024px) {
  .main-partners .list li img { width: 240px;}
  .main-partners .rolling-wrapper2 { margin-top: 20px;}
  .main-partners .rolling-wrapper2 .text { font-size: 50px;}
}
@media screen and (max-width: 767px) {
  .main-partners { padding: 60px 0 100px;}
  .main-partners .heading { margin-bottom: 30px;}
  .main-partners .list { gap: 10px;}
  .main-partners .list li img { width: 140px;}
  .main-partners .rolling-wrapper2 .text { font-size: 24px;}
}

.main-group.news {
  overflow: hidden;
}

.main-group.news .inner {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.main-group.news .content-body {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.main-group.news .content-body article{
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.main-group.news .content-body article .swiper{
  width: 100%;
  overflow: visible;
}

.main-group.news .content-body article.notice li{
  padding: 40px 32px;  
  background: #fff;
  border: 1px solid #DDDDDD;
  border-radius: 10px;
}

.main-group.news .content-body article.notice li a {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.main-group.news .content-body article.notice li .list_title{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: calc(1.4em * 2);

  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
}

.main-group.news .content-body article li .list_date{
  font-size: 16px;
  line-height: 1.4;
  color: #666666;
}

.main-group.news .content-body article .list_bottom {
  display: flex;
  align-items: center;
  gap: 40px;
}

.main-group.news .content-body article .list_bottom .progress_bar {
  flex: 1 0 0;
  width: 100%;
  height: 1px;
  background: #ddd;
}

.main-group.news .content-body article .list_bottom .progress_bar .progress_bar_inner {
  width: 100%;
  height: 1px;
  background: var(--accent-color);
  transform-origin: left center;
  transition: 0.2s linear;
}

.main-group.news .content-body article .list_bottom .list_handle_wrap {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.main-group.news .content-body article .list_bottom .list_handle_wrap button {
  width: 60px;
  height: 60px;
  aspect-ratio: 1/1;
  border-radius: 999px;
  background: url(/images/swiper-arrow.png) no-repeat center/auto 100%;
}

.main-group.news .content-body article .list_bottom .list_handle_wrap button.swiper-button-disabled {
  opacity: 0.3;
}

.main-group.news .content-body article .list_bottom .list_handle_wrap button.prev_btn {
  transform: scaleX(-1);
}

.main-group.news .content-body article.pr a {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.main-group.news .content-body article.pr .thumbnail {
  aspect-ratio: 390/280;
}

.main-group.news .content-body article.pr .thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-group.news .content-body article.pr .category {
  font-size: 16px;
  line-height: 1.4;
  color: var(--accent-color);
}

.main-group.news .content-body article.pr .list_title {
  margin-top: 18px;
  margin-bottom: 12px;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: calc(1.4em * 2);

  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
}

.ci-information .inner {
		display: flex;
		justify-content: space-between;
	}
	.ci-information .content-body {
		flex: 0 0 880px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.ci-information .content-body .img-box{
		width: 100%;
		aspect-ratio: 44/21;
		border: 1px solid #DDDDDD;
		border-radius: 10px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.ci-information .text {
		margin-bottom: 40px;
	}

	.ci-information .btns-group {
		width: 100%;
		gap: 40px;
	}

	.ci-information .content-body .flex-box {
		width: 100%;
		display: flex;
		flex-direction: column;
	}

@media screen and (max-width: 767px) {
  .main-group.news .inner {
    gap: 20px;
  }

  .main-group.news .content-body article {
    gap: 20px;
  }

  .main-group.news .content-body article.notice li {
    padding: 20px 16px;
  }

  .main-group.news .content-body article.notice li .list_title {
    font-size: 16px;
  }

  .main-group.news .content-body article.notice li a {
    gap: 16px;
  }

  .main-group.news .content-body article li .list_date {
    font-size: 14px;
  }

  .main-group.news .content-body article .list_bottom .list_handle_wrap button {
    width: 36px;
    height: 36px;
  }
  .main-group.news .content-body article .list_bottom {
    gap: 20px;
  }

  .main-group.news .content-body {
    gap: 40px;
  }

  .main-group.news .content-body article.pr a {
    gap: 16px;
  }

  .main-group.news .content-body article.pr .list_title {
    font-size: 16px;
    margin-top: 10px;
  }

  .ci-information .inner {
    flex-direction: column;
  }

  .ci-information .content-body {
    flex: auto;
  }

  .ci-information .content-body .img-box {
    padding: 0 30%;
  }

  .main-group.news .content-body article.pr .category {
    font-size: 14px;
  }
}