#header .logo_primary {
  display: inline-block;
  width: 23rem;
  height: 3.4rem;
  background: url(../../assets/images/logo-wordmark-light.png) no-repeat center / contain;
  filter: brightness(0) invert(1);
  z-index: 1;
}

#header .logo_wordmark {
  display: inline-flex;
  align-items: center;
  margin-left: 2.5rem;
}

.pop_area_wr {
  display: none !important;
}

@media all and (min-width: 1471px) {
  #header .left_link {
    display: none !important;
  }

  #header {
    --transit-gnb-dropdown-height: 0px;
  }

  #header::after {
    height: var(--transit-gnb-dropdown-height);
  }

  #header.is_hover {
    height: calc(10rem + var(--transit-gnb-dropdown-height));
  }

  #header .gnb .depth2 {
    min-height: 0;
    padding: 1.15rem 0 0.9rem;
  }

  #header .gnb .depth2 > li {
    padding: 0.55rem 0;
  }
}

@media all and (max-width: 1470px) {
  #header .gnb_wrap {
    height: 100dvh;
  }

  #header .center_box {
    height: auto;
    min-height: calc(100dvh - 10rem);
    justify-content: flex-start;
  }

  #header .left_link {
    margin-top: auto;
    flex-shrink: 0;
  }

  #header.menu_open .left_link {
    margin-top: auto;
    padding: 1.8rem 2rem 2rem;
  }
}

@media all and (max-width: 767px) {
  #header .center_box {
    min-height: calc(100dvh - 8rem);
  }
}

#header .logo_wordmark .logo_img {
  display: inline-flex;
  align-items: center;
  width: 17rem;
  height: 3.3rem;
  background: url(../../assets/images/logo-wordmark-light.png) no-repeat center / contain;
  filter: brightness(0) invert(1);
  z-index: 1;
}

#header.type_white .logo_primary,
#header.is_hover .logo_primary,
.sub:not(.no_hd_white) #header .logo_primary {
  background-image: url(../../assets/images/logo-wordmark-dark.png);
  filter: none;
}

#header.type_white .logo_wordmark .logo_img,
#header.is_hover .logo_wordmark .logo_img,
.sub:not(.no_hd_white) #header .logo_wordmark .logo_img {
  background-image: url(../../assets/images/logo-wordmark-dark.png);
  filter: none;
}

#header.menu_open .logo_primary,
#header.menu_open .logo_wordmark .logo_img {
  background-image: url(../../assets/images/logo-wordmark-light.png) !important;
  filter: brightness(0) saturate(100%) contrast(1.05) !important;
}

#header::after {
  background-image: none !important;
  background-color: #f5f5f7;
}

#footer .ft_bottom {
  padding: 3.8rem 0;
}

#footer .ft_bottom .inner {
  justify-content: space-between;
  align-items: center;
}

#footer .ft_bottom .left_con {
  flex-direction: row;
  align-items: center;
  gap: 0;
}

#footer .ft_bottom h2 a {
  width: 20.6rem;
  height: 3.2rem;
  background-image: url(../../assets/images/logo-wordmark-light.png);
  filter: brightness(0) invert(1);
}

#footer .ft_bottom .copyright {
  margin-left: 2rem;
  color: rgba(255, 255, 255, 0.45);
}

#footer .sitemap {
  justify-content: space-between;
}

#footer .sitemap article,
#footer .sitemap article.arti_product {
  flex: 1 1 0;
  width: auto;
  max-width: 33.333%;
  margin-right: 0;
  padding-right: 4.8rem;
}

#footer .sitemap article:last-child {
  padding-right: 0;
}

#footer .ft_bottom .left_con.transit_footer {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(22rem, 28rem) minmax(0, 1fr);
  gap: 2.4rem 5.6rem;
}

#footer .transit_footer__brand {
  display: grid;
  align-content: start;
  gap: 0;
}

#footer .transit_footer__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.8rem 3.2rem;
  align-content: start;
}

#footer .transit_footer__item {
  display: grid;
  gap: 0.7rem;
}

#footer .transit_footer__item--wide {
  grid-column: 1 / -1;
}

#footer .transit_footer__label {
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.44);
}

#footer .transit_footer__value,
#footer .transit_footer__value a {
  font-size: 1.95rem;
  font-weight: 500;
  line-height: 1.55;
  color: #fff;
  word-break: keep-all;
}

#footer .ft_bottom .left_con.transit_footer .copyright {
  grid-column: 1 / -1;
  margin-top: 0.8rem;
}

@media all and (max-width: 1024px) {
  #footer .sitemap article,
  #footer .sitemap article.arti_product {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 2rem;
  }

  #footer .ft_bottom {
    padding: 4.4rem 0 4rem;
  }

  #footer .ft_bottom .left_con.transit_footer {
    order: 0;
    margin-top: 0;
    justify-content: stretch;
    align-items: stretch;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }

  #footer .transit_footer__brand {
    gap: 0;
  }

  #footer .transit_footer__label {
    font-size: 1.45rem;
  }
}

@media all and (max-width: 767px) {
  #footer .sitemap article,
  #footer .sitemap article.arti_product {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
  }

  #footer .ft_bottom .left_con.transit_footer {
    gap: 2rem;
  }

  #footer .transit_footer__details {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  #footer .transit_footer__label {
    font-size: 1.35rem;
  }

  #footer .transit_footer__value,
  #footer .transit_footer__value a {
    font-size: 1.7rem;
  }

  #footer .ft_bottom {
    padding: 3rem 0 2.8rem;
  }

  #footer .ft_bottom .inner {
    gap: 2.2rem;
  }

  #footer .ft_bottom h2 a {
    width: 14.8rem;
    height: 2.3rem;
  }

  #footer .ft_bottom .left_con {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    margin-top: 0;
  }

  #footer .ft_bottom .copyright {
    width: 100%;
    margin-left: 0;
    text-align: left;
    line-height: 1.5;
  }

  #footer .ft_bottom .right_con {
    width: 100%;
    padding-bottom: 2.2rem;
    border-bottom: 1px solid rgba(160, 160, 160, 0.32);
  }

  #footer .ft_bottom .ft_link {
    width: 100%;
  }

  #footer .ft_bottom .ft_info {
    width: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0 1.4rem;
  }

  #footer .ft_bottom .ft_info li {
    width: auto;
    margin: 0;
    padding-left: 0;
  }

  #footer .ft_bottom .ft_info li::after {
    display: none;
  }

  #footer .ft_bottom .ft_info li:first-child {
    margin-left: 0;
    padding-left: 0;
  }

  #footer .ft_bottom .ft_info li:first-child::after {
    display: none;
  }

  #footer .ft_bottom .ft_info li.last {
    width: auto;
  }

  #footer .ft_bottom .ft_info li a {
    display: block;
    white-space: nowrap;
    font-size: 1.32rem;
    line-height: 1.4;
  }
}

.visual_section .mvisual_swiper .swiper-slide,
.visual_section .mvisual_swiper .bg {
  background-color: #091321;
}

.visual_section .mvisual_swiper .bg {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.visual_section .mvisual_swiper .bg::before,
.visual_section .mvisual_swiper .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.visual_section .mvisual_swiper .bg::before {
  background:
    linear-gradient(90deg, rgba(5, 14, 28, 0.72) 0%, rgba(5, 14, 28, 0.52) 28%, rgba(5, 14, 28, 0.2) 54%, rgba(5, 14, 28, 0) 76%),
    linear-gradient(180deg, rgba(5, 14, 28, 0.16) 0%, rgba(5, 14, 28, 0.08) 34%, rgba(5, 14, 28, 0.34) 100%);
}

.visual_section .mvisual_swiper .bg::after {
  background: radial-gradient(120% 120% at 80% 18%, rgba(5, 14, 28, 0) 0%, rgba(5, 14, 28, 0.16) 56%, rgba(5, 14, 28, 0.34) 100%);
}

.visual_section .mvisual_swiper .bg video {
  position: relative;
  z-index: 0;
}

.visual_section .mvisual_swiper .slide_3 .bg::before {
  background:
    linear-gradient(90deg, rgba(5, 14, 28, 0.88) 0%, rgba(5, 14, 28, 0.76) 32%, rgba(5, 14, 28, 0.42) 56%, rgba(5, 14, 28, 0.12) 78%),
    linear-gradient(180deg, rgba(5, 14, 28, 0.32) 0%, rgba(5, 14, 28, 0.08) 42%, rgba(5, 14, 28, 0.44) 100%);
}

.visual_section .mvisual_swiper .slide_3 .bg::after {
  background:
    radial-gradient(94% 120% at 20% 46%, rgba(5, 14, 28, 0.34) 0%, rgba(5, 14, 28, 0.12) 42%, rgba(5, 14, 28, 0) 66%),
    radial-gradient(100% 120% at 84% 20%, rgba(5, 14, 28, 0.06) 0%, rgba(5, 14, 28, 0.28) 60%, rgba(5, 14, 28, 0.5) 100%);
}

.visual_section .mvisual_swiper .slide_3 .bg video {
  object-position: 64% center;
}

.visual_section .mvisual_swiper .slide_4 .bg::before {
  background:
    linear-gradient(90deg, rgba(5, 14, 28, 0.84) 0%, rgba(5, 14, 28, 0.7) 30%, rgba(5, 14, 28, 0.34) 54%, rgba(5, 14, 28, 0.08) 78%),
    linear-gradient(180deg, rgba(5, 14, 28, 0.46) 0%, rgba(5, 14, 28, 0.18) 34%, rgba(5, 14, 28, 0.42) 100%);
}

.visual_section .mvisual_swiper .slide_4 .bg::after {
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(5, 14, 28, 0.28) 0%, rgba(5, 14, 28, 0.08) 44%, rgba(5, 14, 28, 0) 60%),
    radial-gradient(100% 120% at 86% 18%, rgba(5, 14, 28, 0.12) 0%, rgba(5, 14, 28, 0.3) 58%, rgba(5, 14, 28, 0.5) 100%);
}

.visual_section .mvisual_swiper .slide_4 .bg video {
  object-position: 61% center;
}

.visual_section .visual_tit,
.visual_section .visual_text {
  word-break: keep-all;
  text-shadow: 0 0.6rem 2.4rem rgba(4, 12, 24, 0.28);
}

.company_section .main_title,
.product_section .main_title,
.esg_section .main_title,
.news_section .main_title {
  letter-spacing: -0.04em;
}

.company_section .title-desc,
.company_section .main_title_desc,
.product_section .main_title_desc,
.esg_section .main_title_desc,
.news_section .main_title_desc {
  word-break: keep-all;
}

.company_section {
  position: relative;
  overflow: hidden;
  background: #08111d none;
  background-image: none;
}

.company_section .inner {
  position: relative;
  width: 100%;
  max-width: none;
  overflow: visible;
}

.company_section .company_media {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: calc(100vw + 8rem);
  min-width: calc(100% + 8rem);
  transform: translateX(-50%);
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  isolation: isolate;
  background: #08111d;
}

@supports (width: 100dvw) {
  .company_section .company_media {
    width: calc(100dvw + 8rem);
  }
}

.company_section .company_media::before,
.company_section .company_media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.company_section .company_media::before {
  background:
    linear-gradient(180deg, rgba(3, 14, 31, 0.32) 0%, rgba(3, 14, 31, 0.54) 100%),
    linear-gradient(90deg, rgba(4, 12, 24, 0.82) 0%, rgba(4, 12, 24, 0.48) 38%, rgba(4, 12, 24, 0.22) 100%);
}

.company_section .company_media::after {
  background: radial-gradient(96% 96% at 82% 18%, rgba(11, 30, 52, 0.08) 0%, rgba(11, 30, 52, 0.26) 60%, rgba(11, 30, 52, 0.44) 100%);
}

.company_section .company_media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.02);
  opacity: 0;
  transition: opacity 0.32s ease;
}

.company_section .company_media.is-ready video {
  opacity: 1;
}

.company_section .company_wrap {
  position: relative;
  width: 94%;
  max-width: 150rem;
  margin: 0 auto;
  z-index: 2;
}

.company_section .line_wrap {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  max-width: none;
  transform: translateX(-50%);
  z-index: 1;
  pointer-events: none;
}

.company_section .line_wrap .line:nth-child(1),
.company_section .line_wrap .line:nth-child(5) {
  display: none;
}

.company_section .list li .text {
  font-weight: 400;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  word-break: keep-all;
  letter-spacing: -0.02em;
}

.company_section .list li .text strong {
  display: block;
  margin-bottom: 1.6rem;
  font-size: inherit;
  font-weight: 700;
  line-height: 1.3;
}

.company_section .list li .text .copy {
  display: block;
  font-size: 0.9em;
  line-height: 1.62;
}

.company_section .list li .text .copy + .copy {
  margin-top: 0.9rem;
}

.product_section {
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(33, 76, 120, 0.28) 0%, rgba(7, 17, 29, 0) 54%),
    linear-gradient(180deg, #08121f 0%, #050d18 100%);
}

.product_section .main_title_wrap {
  color: #f4f9ff;
}

.product_section .main_title_desc {
  color: rgba(226, 238, 250, 0.78);
}

.product_section .drag {
  color: rgba(188, 218, 244, 0.74);
}

.product_section .drag .arrow {
  filter: brightness(0) invert(1);
  opacity: 0.82;
}

.product_section .bg_wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  transition: background 0.42s ease, opacity 0.42s ease;
  background:
    linear-gradient(180deg, rgba(5, 11, 20, 0.48) 0%, rgba(5, 11, 20, 0.22) 34%, rgba(5, 11, 20, 0.56) 100%),
    linear-gradient(90deg, rgba(4, 12, 24, 0.56) 0%, rgba(4, 12, 24, 0.14) 45%, rgba(4, 12, 24, 0.48) 100%);
}

.product_section .bg_wrap .bg {
  opacity: 0;
  transform: scale(1.01);
  filter: brightness(0.68) saturate(0.96) contrast(1.04);
  transition: opacity 0.42s ease, transform 0.42s ease, filter 0.42s ease;
}

.product_section .bg_wrap .bg.active {
  opacity: 0.72;
  transform: scale(1.01);
  filter: brightness(0.82) saturate(1) contrast(1.04);
}

.product_card_swiper {
  overflow: visible;
}

.product_card_swiper .swiper-slide {
  transition: opacity 0.34s ease, transform 0.34s ease;
}

.product_card_swiper .card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  height: 52rem;
  padding: 4.2rem 4rem 3.8rem;
  background: linear-gradient(180deg, rgba(10, 19, 33, 0.84) 0%, rgba(6, 13, 24, 0.9) 100%);
  border: 1px solid rgba(191, 214, 237, 0.16);
  box-shadow: 0 3.2rem 7rem rgba(0, 0, 0, 0.24);
  color: #f6fbff;
}

.product_card_swiper .card::before,
.product_card_swiper .card::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.product_card_swiper .card::before {
  inset: 0;
  z-index: 0;
  opacity: 0.84;
  transition: opacity 0.36s ease, transform 0.36s ease;
}

.product_card_swiper .card::after {
  inset: 1.2rem;
  z-index: 0;
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: border-color 0.36s ease, box-shadow 0.36s ease, opacity 0.36s ease;
}

.service_panel--traffic .card::before {
  background:
    radial-gradient(92% 72% at 84% 92%, rgba(110, 189, 255, 0.24) 0%, rgba(110, 189, 255, 0) 56%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 36%, rgba(255, 255, 255, 0.02) 100%);
}

.product_card_swiper.is-hovering ~ .bg_wrap .bg.active {
  opacity: 0.88;
  transform: scale(1.005);
  filter: brightness(1.04) saturate(1.04) contrast(1.03);
}

.product_section.product_section--traffic-hover .bg_wrap .bg.active,
.product_section.product_section--location-hover .bg_wrap .bg.active,
.product_section.product_section--software-hover .bg_wrap .bg.active,
.product_section:has(.service_panel.is-panel-hover) .bg_wrap .bg.active,
.product_section:has(.service_panel:hover) .bg_wrap .bg.active,
.product_section:has(.service_panel:focus-within) .bg_wrap .bg.active {
  opacity: 1;
  transform: scale(1);
  filter: brightness(1.3) saturate(1.08) contrast(1.02);
}

.product_section.product_section--traffic-hover .bg_wrap::after,
.product_section.product_section--location-hover .bg_wrap::after,
.product_section.product_section--software-hover .bg_wrap::after,
.product_section:has(.service_panel.is-panel-hover) .bg_wrap::after,
.product_section:has(.service_panel:hover) .bg_wrap::after,
.product_section:has(.service_panel:focus-within) .bg_wrap::after {
  background:
    linear-gradient(180deg, rgba(6, 14, 25, 0.14) 0%, rgba(6, 14, 25, 0.02) 34%, rgba(6, 14, 25, 0.2) 100%),
    linear-gradient(90deg, rgba(4, 12, 24, 0.22) 0%, rgba(4, 12, 24, 0.02) 45%, rgba(4, 12, 24, 0.16) 100%);
}

.service_panel--location .card::before {
  background:
    radial-gradient(88% 68% at 82% 86%, rgba(97, 160, 255, 0.22) 0%, rgba(97, 160, 255, 0) 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 36%, rgba(255, 255, 255, 0.02) 100%);
}

.service_panel--software .card::before {
  background:
    radial-gradient(88% 68% at 82% 90%, rgba(123, 168, 255, 0.2) 0%, rgba(123, 168, 255, 0) 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 36%, rgba(255, 255, 255, 0.02) 100%);
}

.product_card_swiper .service_panel .card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 5rem;
}

.product_card_swiper .service_panel .text_area {
  position: relative;
  z-index: 2;
  max-width: 32rem;
}

.product_card_swiper .service_panel .card_title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -0.04em;
}

.product_card_swiper .service_panel .card_title small {
  display: inline-block;
  margin-left: 1.2rem;
  font-size: 1.8rem;
  color: rgba(205, 225, 245, 0.72);
  font-weight: 500;
  letter-spacing: -0.02em;
  opacity: 0.82;
  transform: translateX(0.8rem);
  transition: opacity 0.42s ease, transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.en .product_card_swiper .service_panel .text_area {
  max-width: 28.8rem;
}

.en .product_card_swiper .service_panel .card_title {
  font-size: 2.8rem;
}

.en .product_card_swiper .service_panel .card_title small {
  display: block;
  margin: 0.9rem 0 0;
  font-size: 1.45rem;
  letter-spacing: -0.02em;
}

.en .product_card_swiper .service_panel .card_text {
  max-width: 27.6rem;
  margin-top: 1.8rem;
  font-size: 1.48rem;
  line-height: 1.52;
}

.en .esg_section .keyword_list .text {
  letter-spacing: -0.05em;
}

.product_card_swiper .service_panel .card_text {
  max-width: 31rem;
  margin-top: 2.5rem;
  font-size: 1.6rem;
  line-height: 1.625;
  color: rgba(228, 239, 250, 0.88);
  opacity: 0;
  transform: translateX(2.8rem);
  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.product_card_swiper .service_panel .bot_area {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.4rem;
}

.product_card_swiper .service_panel .bot_area .btn_more_type01 {
  margin-bottom: 2.5rem;
  flex-shrink: 0;
}

.product_card_swiper .service_panel .normal_type {
  visibility: visible;
  opacity: 1;
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: calc(100% - 2px);
  padding: 0 5rem 5rem;
  transition: opacity 0.38s ease, visibility 0.38s ease;
}

.product_card_swiper .service_panel .hover_type {
  visibility: hidden;
  opacity: 0;
  position: relative;
  min-height: 27rem;
  transition: opacity 0.38s ease, visibility 0.38s ease;
}

.product_card_swiper .service_panel .hover_type .btn_more_type01 {
  opacity: 0;
  position: relative;
  z-index: 3;
  transform: translateX(2.4rem);
  transition: opacity 0.46s ease 0.06s, transform 0.46s cubic-bezier(0.22, 1, 0.36, 1) 0.06s;
}

.product_card_swiper .service_panel .product_img {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-end;
  width: 100%;
  min-width: 0;
  transition: transform 0.38s ease, opacity 0.38s ease;
}

.product_card_swiper .service_panel .product_img--visual {
  justify-content: center;
  width: 100%;
  height: 31.5rem;
}

.product_card_swiper .service_panel .product_img--vector {
  position: absolute;
  right: -3.6rem;
  bottom: -0.4rem;
  justify-content: flex-end;
  width: 40rem;
  height: 25rem;
  max-width: none;
  margin-left: 0;
  pointer-events: none;
}

.product_card_swiper .service_panel .product_img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  transition: transform 0.38s ease, opacity 0.38s ease, filter 0.38s ease;
}

.product_card_swiper .service_panel .product_img--visual img {
  transform: translateY(-1.6rem) scale(1.08);
  filter: drop-shadow(0 2.8rem 5rem rgba(6, 13, 24, 0.34));
}

.product_card_swiper .service_panel .product_img--vector img {
  transform: translateY(0.8rem) scale(1.52);
  transform-origin: right bottom;
  object-position: right bottom;
  filter: blur(5px) drop-shadow(0 0 2.4rem rgba(136, 210, 255, 0.26));
}

.product_card_swiper .service_panel--traffic .product_img--visual {
  height: 33rem;
}

.product_card_swiper .service_panel--traffic .product_img--vector {
  width: 37.8rem;
  height: 23.4rem;
  right: -2rem;
}

.product_card_swiper .service_panel--traffic .product_img--visual img {
  transform: translateY(-2.2rem) scale(1.24);
}

.product_card_swiper .service_panel--traffic .product_img--vector img {
  transform: translateY(0.6rem) scale(1.38);
}

.product_card_swiper .service_panel--location .product_img--visual {
  height: 31.2rem;
}

.product_card_swiper .service_panel--location .product_img--vector {
  width: 37.2rem;
  height: 23rem;
  right: -1.8rem;
}

.product_card_swiper .service_panel--location .product_img--visual img {
  transform: translateY(-1.2rem) scale(1.05);
}

.product_card_swiper .service_panel--location .product_img--vector img {
  transform: translateY(0.6rem) scale(1.34);
}

.product_card_swiper .service_panel--software .product_img--visual {
  height: 30.4rem;
}

.product_card_swiper .service_panel--software .product_img--vector {
  width: 36.4rem;
  height: 22.4rem;
  right: -1.6rem;
}

.product_card_swiper .service_panel--software .product_img--visual img {
  transform: translateY(-1rem) scale(1.04);
}

.product_card_swiper .service_panel--software .product_img--vector img {
  transform: translateY(0.6rem) scale(1.3);
}

.product_card_swiper .swiper-slide.is-panel-active .card {
  border-color: rgba(150, 205, 255, 0.28);
  box-shadow: 0 3.8rem 8rem rgba(0, 0, 0, 0.3);
}

.product_card_swiper .swiper-slide.service_panel.is-panel-active .card_text {
  opacity: 0;
  transform: translateX(5%);
}

@media all and (min-width: 1240px) {
  .product_card_swiper .swiper-slide.is-panel-active {
    transform: translateY(-0.8rem);
  }
}

@media all and (min-width: 1240px) and (hover: hover) and (pointer: fine) {
  .product_card_swiper.is-hovering .swiper-slide:not(.is-panel-hover) {
    opacity: 0.46;
    transform: scale(0.985);
  }

  .product_card_swiper .swiper-slide.is-panel-hover .card,
  .product_card_swiper .swiper-slide:hover .card,
  .product_card_swiper .swiper-slide:focus-within .card {
    background: linear-gradient(180deg, rgba(28, 46, 70, 0.58) 0%, rgba(12, 24, 40, 0.74) 100%);
    border-color: rgba(162, 216, 255, 0.44);
    box-shadow: 0 4.6rem 10rem rgba(0, 0, 0, 0.34);
  }

  .product_card_swiper .swiper-slide.is-panel-hover .card::after,
  .product_card_swiper .swiper-slide:hover .card::after,
  .product_card_swiper .swiper-slide:focus-within .card::after {
    border-color: rgba(192, 230, 255, 0.18);
    box-shadow: inset 0 0 0 1px rgba(130, 195, 255, 0.08);
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .card::before,
  .product_card_swiper .swiper-slide.service_panel:hover .card::before,
  .product_card_swiper .swiper-slide.service_panel:focus-within .card::before {
    opacity: 1;
    transform: scale(1.03);
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .hover_type,
  .product_card_swiper .swiper-slide.service_panel:hover .hover_type,
  .product_card_swiper .swiper-slide.service_panel:focus-within .hover_type {
    visibility: visible;
    opacity: 1;
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .hover_type .btn_more_type01,
  .product_card_swiper .swiper-slide.service_panel:hover .hover_type .btn_more_type01,
  .product_card_swiper .swiper-slide.service_panel:focus-within .hover_type .btn_more_type01 {
    opacity: 1;
    transform: translateX(0);
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .normal_type,
  .product_card_swiper .swiper-slide.service_panel:hover .normal_type,
  .product_card_swiper .swiper-slide.service_panel:focus-within .normal_type {
    visibility: hidden;
    opacity: 0;
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .product_img--visual img,
  .product_card_swiper .swiper-slide.service_panel:hover .product_img--visual img,
  .product_card_swiper .swiper-slide.service_panel:focus-within .product_img--visual img {
    transform: translateY(-0.4rem) scale(1.04);
    opacity: 0.08;
    filter: blur(1.2px) drop-shadow(0 1.8rem 3rem rgba(6, 13, 24, 0.14));
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .product_img--vector img,
  .product_card_swiper .swiper-slide.service_panel:hover .product_img--vector img,
  .product_card_swiper .swiper-slide.service_panel:focus-within .product_img--vector img {
    transform: translateY(0) scale(1.56);
    filter: blur(0) drop-shadow(0 0 3.4rem rgba(136, 210, 255, 0.34));
  }

  .product_card_swiper .swiper-slide.service_panel--traffic.is-panel-hover .product_img--vector img,
  .product_card_swiper .swiper-slide.service_panel--traffic:hover .product_img--vector img,
  .product_card_swiper .swiper-slide.service_panel--traffic:focus-within .product_img--vector img {
    transform: translateY(0) scale(1.42);
  }

  .product_card_swiper .swiper-slide.service_panel--location.is-panel-hover .product_img--vector img,
  .product_card_swiper .swiper-slide.service_panel--location:hover .product_img--vector img,
  .product_card_swiper .swiper-slide.service_panel--location:focus-within .product_img--vector img {
    transform: translateY(0) scale(1.38);
  }

  .product_card_swiper .swiper-slide.service_panel--software.is-panel-hover .product_img--vector img,
  .product_card_swiper .swiper-slide.service_panel--software:hover .product_img--vector img,
  .product_card_swiper .swiper-slide.service_panel--software:focus-within .product_img--vector img {
    transform: translateY(0) scale(1.34);
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .card_text,
  .product_card_swiper .swiper-slide.service_panel:hover .card_text,
  .product_card_swiper .swiper-slide.service_panel:focus-within .card_text {
    opacity: 1;
    transform: none;
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .card_title,
  .product_card_swiper .swiper-slide.service_panel:hover .card_title,
  .product_card_swiper .swiper-slide.service_panel:focus-within .card_title,
  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .card_title small,
  .product_card_swiper .swiper-slide.service_panel:hover .card_title small,
  .product_card_swiper .swiper-slide.service_panel:focus-within .card_title small,
  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .btn_more_type01,
  .product_card_swiper .swiper-slide.service_panel:hover .btn_more_type01,
  .product_card_swiper .swiper-slide.service_panel:focus-within .btn_more_type01 {
    color: #fff;
    opacity: 1;
    text-shadow: 0 0 2.4rem rgba(125, 193, 255, 0.14);
  }

  .product_card_swiper .swiper-slide.service_panel.is-panel-hover .card_title small,
  .product_card_swiper .swiper-slide.service_panel:hover .card_title small,
  .product_card_swiper .swiper-slide.service_panel:focus-within .card_title small {
    transform: translateX(0);
  }
}

.float_wrap .button_wrap a {
  width: 22.4rem;
}

@media all and (min-width: 1600px) and (max-height: 1120px) {
  .company_section .company_wrap {
    box-sizing: border-box;
    padding: 7.2rem 0 5.4rem;
  }

  .company_section .main_title_wrap {
    max-width: 96rem;
  }

  .company_section .btn_wrap {
    margin-top: 2.8rem;
  }

  .company_section .list {
    margin-top: 7.8rem;
  }

  .company_section .list li .ico {
    width: 10.6rem;
    height: 10.6rem;
  }

  .company_section .list li .text {
    max-width: 24rem;
    font-size: 1.75rem;
    line-height: 1.42;
  }

  .company_section .list li .text strong {
    margin-bottom: 1.2rem;
  }

  .product_section .main_title_wrap {
    align-items: flex-end;
    margin-bottom: 4.8rem;
  }

  .product_card_swiper .card {
    height: 48rem;
    padding: 3.8rem 3.6rem 3.2rem;
  }

  .product_card_swiper .service_panel .card {
    padding: 4rem 4rem 3.6rem;
  }

  .product_card_swiper .service_panel .text_area {
    max-width: 30rem;
  }

  .product_card_swiper .service_panel .card_title {
    font-size: 2.8rem;
  }

  .product_card_swiper .service_panel .card_text {
    max-width: 29rem;
    margin-top: 2rem;
    font-size: 1.5rem;
    line-height: 1.56;
  }

  .product_card_swiper .service_panel .normal_type {
    padding: 0 4rem 4rem;
  }

  .product_card_swiper .service_panel .hover_type {
    min-height: 24rem;
  }

  .product_card_swiper .service_panel .product_img--visual {
    height: 28rem;
  }

  .product_card_swiper .service_panel--traffic .product_img--visual {
    height: 29rem;
  }

  .product_card_swiper .service_panel--location .product_img--visual {
    height: 27.6rem;
  }

  .product_card_swiper .service_panel--software .product_img--visual {
    height: 27.2rem;
  }

  .product_card_swiper .service_panel .product_img--vector {
    width: 35rem;
    height: 22rem;
    right: -2.4rem;
    bottom: -0.2rem;
  }

  .product_card_swiper .service_panel--traffic .product_img--vector {
    width: 32.6rem;
    height: 20.2rem;
    right: -1.2rem;
  }

  .product_card_swiper .service_panel--location .product_img--vector {
    width: 31.4rem;
    height: 19.6rem;
    right: -1rem;
  }

  .product_card_swiper .service_panel--software .product_img--vector {
    width: 30.8rem;
    height: 19.2rem;
    right: -0.8rem;
  }
}

@media all and (max-width: 1470px) {
  .product_card_swiper .card {
    padding: 3.4rem;
  }

  .product_card_swiper .card_title {
    font-size: 2.8rem;
  }

  .product_card_swiper .service_panel .card {
    padding: 3.6rem;
  }

  .product_card_swiper .service_panel .normal_type {
    padding: 0 3.6rem 3.6rem;
  }

  .product_card_swiper .service_panel .product_img--visual {
    height: 26rem;
  }

  .product_card_swiper .service_panel .product_img--vector {
    width: 32rem;
    height: 20rem;
    right: -2.6rem;
  }

  .product_card_swiper .service_panel--traffic .product_img--vector {
    width: 29.6rem;
    height: 18.3rem;
    right: -1rem;
  }

  .product_card_swiper .service_panel--traffic .product_img--vector img {
    transform: translateY(0.4rem) scale(1.24);
  }

  .product_card_swiper .service_panel--location .product_img--vector {
    width: 28.4rem;
    height: 17.8rem;
    right: -0.8rem;
  }

  .product_card_swiper .service_panel--software .product_img--vector {
    width: 27.8rem;
    height: 17.4rem;
    right: -0.6rem;
  }

  .product_card_swiper .service_panel--location .product_img--vector img {
    transform: translateY(0.4rem) scale(1.22);
  }

  .product_card_swiper .service_panel--software .product_img--vector img {
    transform: translateY(0.4rem) scale(1.18);
  }
}

@media screen and (max-width: 768px) {
  #header .logo_primary {
    width: 16rem;
  }

  #header .logo_wordmark {
    display: none;
  }

  #header .logo_wordmark .logo_img {
    width: 10rem;
    height: 3.3rem;
  }

  .company_section .inner {
    box-sizing: border-box;
    padding-top: calc(9.6rem + env(safe-area-inset-top));
    padding-bottom: 3.2rem;
  }

  .company_section .company_wrap {
    height: auto;
    min-height: 100%;
    justify-content: flex-start;
  }

  .company_section .main_title_wrap {
    max-width: 30rem;
    margin: 0 auto;
  }

  .company_section .main_title {
    font-size: 2.8rem;
    line-height: 0.96;
  }

  .company_section .main_title_desc {
    margin-top: 1.2rem;
    font-size: 1.45rem;
    line-height: 1.48;
  }

  .company_section .company_media video {
    object-position: 58% center;
  }

  .company_section .btn_wrap {
    margin-top: 2rem;
  }

  .company_section .list {
    margin-top: 2.6rem;
    row-gap: 2.2rem;
  }

  .company_section .list li .text {
    max-width: 15rem;
    font-size: 1.4rem;
    line-height: 1.48;
    letter-spacing: -0.03em;
  }

  .company_section .list li .text strong {
    margin-bottom: 0.9rem;
    font-size: 1.08em;
    line-height: 1.34;
  }

  .company_section .list li .text .copy {
    font-size: 0.92em;
    line-height: 1.52;
  }

  .company_section .list li .text .copy + .copy {
    margin-top: 0.6rem;
  }

  .product_section .main_title_wrap {
    margin-bottom: 2.8rem;
  }

  .product_section .main_title_desc {
    color: rgba(226, 238, 250, 0.74);
  }

  .news_section .main_title_wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 2.2rem;
    text-align: left;
  }

  .news_section .main_title_wrap.row_1 .main_title_desc {
    max-width: 28rem;
    margin-top: 0;
    font-size: 1.44rem;
    line-height: 1.52;
    text-wrap: pretty;
  }

  .product_section .bg_wrap .bg.active {
    opacity: 1;
    transform: scale(1.05);
    filter: brightness(2.34) saturate(1.28) contrast(1.12);
  }

  .product_section .bg_wrap::after {
    background:
      linear-gradient(180deg, rgba(6, 14, 25, 0.01) 0%, rgba(6, 14, 25, 0) 34%, rgba(6, 14, 25, 0.03) 100%),
      linear-gradient(90deg, rgba(4, 12, 24, 0.015) 0%, rgba(4, 12, 24, 0) 45%, rgba(4, 12, 24, 0.012) 100%);
  }

  .product_section.product_section--traffic-hover .bg_wrap .bg.active,
  .product_section.product_section--location-hover .bg_wrap .bg.active,
  .product_section.product_section--software-hover .bg_wrap .bg.active {
    opacity: 1;
    transform: scale(1.055);
    filter: brightness(2.48) saturate(1.3) contrast(1.12);
  }

  .product_section.product_section--traffic-hover .bg_wrap::after,
  .product_section.product_section--location-hover .bg_wrap::after,
  .product_section.product_section--software-hover .bg_wrap::after {
    background:
      linear-gradient(180deg, rgba(6, 14, 25, 0.008) 0%, rgba(6, 14, 25, 0) 34%, rgba(6, 14, 25, 0.025) 100%),
      linear-gradient(90deg, rgba(4, 12, 24, 0.01) 0%, rgba(4, 12, 24, 0) 45%, rgba(4, 12, 24, 0.008) 100%);
  }

  .product_card_swiper .card {
    height: 48rem;
    padding: 2.8rem;
    border-color: rgba(162, 216, 255, 0.22);
    box-shadow: 0 1.4rem 3rem rgba(0, 0, 0, 0.08);
  }

  .product_card_swiper .card_title {
    font-size: 2.35rem;
  }

  .product_card_swiper .card_text {
    max-width: 100%;
    margin-top: 1.5rem;
    font-size: 1.45rem;
    line-height: 1.58;
    color: rgba(236, 244, 252, 0.92);
    opacity: 1;
    transform: none;
  }

  .float_wrap .button_wrap a {
    width: 15.2rem;
  }

  .product_card_swiper .service_panel .card_title small {
    display: block;
    margin-top: 0.6rem;
    margin-left: 0;
    font-size: 1.45rem;
  }

  .product_card_swiper .service_panel .card_text,
  .product_card_swiper .swiper-slide.service_panel.is-panel-active .card_text {
    opacity: 1;
    transform: none;
    max-width: 100%;
  }

  .product_card_swiper .service_panel .hover_type {
    display: flex;
    visibility: visible;
    opacity: 1;
    align-items: flex-end;
    margin-top: auto;
  }

  .product_card_swiper .service_panel .normal_type {
    display: none;
  }

  .product_card_swiper .service_panel .hover_type .btn_more_type01 {
    opacity: 1;
    transform: none;
    margin-bottom: 0;
  }

  .product_card_swiper .service_panel .bot_area .btn_more_type01 {
    margin-bottom: 0;
  }

  .product_card_swiper .service_panel .product_img {
    height: 18.6rem;
  }

  .product_card_swiper .service_panel .product_img--visual {
    height: 18.6rem;
    max-width: 100%;
  }

  .product_card_swiper .service_panel .product_img--vector {
    width: 27rem;
    height: 17rem;
    right: -1.2rem;
    bottom: 0.6rem;
  }

  .product_card_swiper .service_panel--traffic .product_img--vector {
    width: 23rem;
    height: 14.4rem;
    right: -0.4rem;
    bottom: 1rem;
  }

  .product_card_swiper .service_panel--traffic .product_img--vector img {
    transform: translateY(0) scale(0.94);
  }

  .product_card_swiper .service_panel--location .product_img--vector {
    width: 22.2rem;
    height: 13.9rem;
    right: -0.2rem;
    bottom: 1rem;
  }

  .product_card_swiper .service_panel--software .product_img--vector {
    width: 21.6rem;
    height: 13.5rem;
    right: 0;
    bottom: 1rem;
  }

  .product_card_swiper .service_panel .product_img--vector img {
    transform: translateY(0) scale(1.04);
    transform-origin: right bottom;
    filter: blur(0) drop-shadow(0 0 2.2rem rgba(136, 210, 255, 0.28));
  }

  .product_card_swiper .service_panel--location .product_img--vector img {
    transform: translateY(0) scale(0.92);
  }

  .product_card_swiper .service_panel--software .product_img--vector img {
    transform: translateY(0) scale(0.88);
  }

  .product_card_swiper .service_panel .card {
    background: linear-gradient(180deg, rgba(25, 43, 67, 0.02) 0%, rgba(8, 17, 31, 0.08) 100%);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .product_card_swiper .service_panel .card::before {
    opacity: 0.16;
    transform: scale(1.02);
  }

  .product_card_swiper .service_panel .card::after {
    border-color: rgba(255, 255, 255, 0.04);
    box-shadow: none;
  }

  .product_card_swiper .service_panel .card_title small {
    opacity: 1;
    transform: none;
  }

  .en .product_card_swiper .service_panel .card_title {
    font-size: 2.12rem;
  }

  .en .product_card_swiper .service_panel .card_title small {
    font-size: 1.18rem;
    margin-top: 0.45rem;
  }

  .en .product_card_swiper .service_panel .card_text {
    font-size: 1.28rem;
    line-height: 1.46;
    max-width: 92%;
  }

  .en .esg_section .keyword_list .text {
    font-size: 1.18rem;
    line-height: 1.22;
    letter-spacing: -0.06em;
  }
}
