:root {
  --primary-color: #000;
  --white-color: #fff;
  --secondary-color: #333333;
  --accent-color: #588427;
  --accent2-color: #3A7BEE;
  --bg-sub-color: #f7f7f7;
}
@font-face{
  font-family:xeicon;
  src:url(/common/css/xeicon.eot);
  src:url(/common/css/xeicon.eot) format("embedded-opentype"),
      url(/common/css/xeicon.woff2) format("woff2"),
      url(/common/css/xeicon.ttf) format("truetype"),
      url(/common/css/xeicon.woff) format("woff"),
      url(/common/css/xeicon.svg) format("svg");
  font-weight:400;
  font-style:normal
}
.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: 18px;}
  h4 { font-size: 16px;}
  .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-green.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 30px; 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% + 70px); 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: 30px;}
  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 .site-wrap { width: 180px; height: 52px; 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;}
  footer .company-info .label:after { top: 4px; transform: none;}
  footer .company-info .label { flex: 0 0 15%;}
  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-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;}
/* 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;}
  .main-intro .motion .title-wrap p:last-child { right: 82%;}
  .main-intro .motion .title-wrap p:nth-child(2) { left: 85%;}
}

/* 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/auto 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 .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;}
}
