/* sub visual */
.sub_visual {
  position: relative;
  width: 100%;
  height: 75vh;
  margin: auto;
}

.sub_visual_in {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}

.sub_visual .inner_w {
  text-align: left;
  display: table;
  width: 100%;
  height: 100%;
  position: relative;
}

.sub_visual .visual-txt-con {
  position: relative;
  z-index: 1;
  text-align: left;
  display: table;
  width: 100%;
  height: 100%;
  letter-spacing: -0.02em;
  color: var(--color-white);
  padding: 0 120px;
}

.table-cell-layout {
  display: table-cell;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

.sub_visual .visual-txt-container {
  position: relative;
  width: 100%;
}

.sub_visual .visual-img-con {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 75vh;
  border-radius: 2rem;
  overflow: hidden;
  background: #000;
}

.sub_visual .visual-img-inner {
  width: 100%;
  height: 100%;
  background-size: cover !important;
  transform: scale(1.1, 1.1);
  transition: transform 5s linear;
  opacity: .8;
  animation: visualZoom 5s linear forwards;
}

.subbg011 { background: #eee url('../img/sub/sub_visual01.jpg') no-repeat 50% 0%; }
.subbg021 { background: #eee url('../img/sub/sub_visual021.png') no-repeat 50% 0%; }
.subbg022 { background: #eee url('../img/sub/sub_visual022.png') no-repeat 50% 0%; }
.subbg023 { background: #eee url('../img/sub/sub_visual023.png') no-repeat 50% 0%; }
.subbg024 { background: #eee url('../img/sub/sub_visual024.png') no-repeat 50% 0%; }
.subbg031 { background: #eee url('../img/sub/sub_visual031.jpg') no-repeat 50% 0%; }
.subbg032 { background: #eee url('../img/sub/sub_visual032.png') no-repeat 50% 0%; }
.subbg033 { background: #eee url('../img/sub/sub_visual033.png') no-repeat 50% 0%; }
.subbg034 { background: #eee url('../img/sub/sub_visual034.png') no-repeat 50% 0%; }
.subbg041 { background: #eee url('../img/sub/sub_visual041.png') no-repeat 50% 0%; }
.subbg051 { background: #eee url('../img/sub/sub_visual051.jpg') no-repeat 50% 0%; }

.sub_visual .visual-txt-container p {
  color: var(--color-white);
  font-size: var(--font-22);
  font-weight: var(--fw-regular);
  line-height: var(--lh-140);
}

.sub_visual .visual-txt-container h2 {
  margin-top: var(--space-10);
  font-weight: var(--fw-bold);
  color: var(--color-white);
  font-size: var(--font-54);
  line-height: var(--lh-140);
}

@keyframes visualZoom {
  from {
    transform: scale(1.1, 1.1) rotate(0.000deg);
  }
  to {
    transform: scale(1.0, 1.0) rotate(0.002deg);
  }
}


/* sub nav */
.top_sub_nav {
  position: absolute;
  height: calc(66px + 1px);
  bottom: calc(2rem - 2px);
  right: 0;
  z-index: 1;
}

.top_sub_nav_in {
  width: 100%;
  height: 66px;
}

.sub_nav_flex {
  position: relative;
  display: flex;
  box-sizing: border-box;
  gap: var(--space-20);
}

.sub_nav_flex:before {
  position: absolute;
  content: '';
  width: 5rem;
  height: 5rem;
  background: radial-gradient(circle at 0 0, transparent 71%, var(--color-white) 72%);
  bottom: -2rem;
  left: -2rem;
  transform: translateX(-100%);
}

.sub_nav_flex:after {
  position: absolute;
  content: '';
  width: 5rem;
  height: 5rem;
  background: radial-gradient(circle at 0 0, transparent 70%, var(--color-white) 71%);
  top: -2rem;
  right: 0;
  transform: translateY(-100%);
}

.sub_nav_flex .nav_toggle_are {
  position: relative;
}

.sub_nav_flex .nav_toggle_are p {
  border-radius: var(--radius-full);
  background: var(--color-primary-bright);
  height: 66px;
  padding: 0 var(--space-40);
  width: 410px;
  gap: var(--space-10);
  color: var(--color-white);
  font-size: var(--font-18);
  font-weight: var(--fw-medium);
  word-break: keep-all;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  cursor: pointer;
 
}

.sub_nav_flex .nav_toggle_are p span{
	 display: -webkit-box; 
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sub_nav_flex .nav_toggle_are:before {
  position: absolute;
  content: '';
  top: -2rem;
  left: -2rem;
  width: calc(100% + 4rem);
  height: calc(100% + 4rem);
  border: 4rem solid var(--color-white);
  box-sizing: border-box;
}

.sub_nav_flex .nav_toggle_are:first-child:before {
  border-radius: 50px 0 0 0;
}

.sub_nav_flex .nav_toggle_are + .nav_toggle_are p {
  background: var(--color-primary);
}

.sub_nav_flex .drop_deps {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  background: var(--color-white);
  z-index: 3;
  overflow: hidden;
  padding: 30px 40px;
  border-radius: 2rem;
  border: 1px solid var(--color-gray-4);
  width: 100%;
  display: none;
}

.sub_nav_flex .drop_deps a {
  display: block;
  font-size: var(--font-18);
}

.sub_nav_flex .drop_deps a + a {
  margin-top: var(--space-10);
}


/* sub section */
.sub_section {
  padding: var(--space-150) 0;
}

.sub_section + .sub_section {
  padding-top: 0;
}

.sub_section.bg {
  background: var(--color-gray-5);
  padding-top: var(--space-150);
}

.sub_title {
  margin-bottom: var(--space-60);
}

.sub_title.center {
  text-align: center;
}

.sub_title h4 {
  color: var(--color-primary);
  font-size: var(--font-18);
  font-weight: var(--fw-medium);
  line-height: var(--lh-140);
  word-break: keep-all;
}

.sub_title h4 + h2 {
  margin-top: var(--space-20);
}

.sub_title h2 {
  color: var(--color-black-2);
  font-size: var(--font-50);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
}

.sub_title p {
  color: var(--color-gray-2);
  font-size: var(--font-18);
  font-weight: var(--fw-medium);
  line-height: var(--lh-140);
  word-break: keep-all;
}

.sub_title h2 + p {
  margin-top: var(--space-40);
}

.sub_title p + p {
  margin-top: var(--space-20);
}


/* ceo */
.ceo_img img {
  display: block;
  width: 100%;
}

.ceo_txt {
  text-align: center;
  margin-top: var(--space-60);
}

.ceo_txt h3 {
  color: var(--color-black-2);
  font-size: var(--font-40);
  font-weight: var(--fw-bold);
  line-height: var(--lh-150);
  word-break: keep-all;
  margin-bottom: var(--space-40);
}

.ceo_txt h3 b {
  font-weight: var(--fw-bold);
  color: var(--color-primary);
}

.ceo_txt p {
  color: var(--color-gray-2);
  word-break: keep-all;
  font-size: var(--font-18);
  font-weight: var(--fw-regular);
  line-height: var(--lh-150);
}


/* history */
.hisotry {
  position: relative;
  padding: var(--space-100) 0;
}

.hisotry .line_are {
  position: absolute;
  left: 50%;
  top: 0;
  height: 100%;
  width: 60px;
  transform: translateX(-50%);
}

.hisotry .line_are .bar {
  height: 100%;
  background: var(--color-gray-4);
  width: 1px;
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -0.5px;
}

.hisotry .line_are .bar span {
  width: 100%;
  height: 0;
  background: var(--color-primary);
  position: absolute;
  left: 0;
  top: 0;
  transition: height 0.1s linear;
}

.hisotry .line_are .bar span i {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border-radius: var(--radius-full);
  z-index: 2;
  background: var(--color-white);
}

.hisotry .line_are .bar span i:after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.hisotry .in_flex {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.hisotry .in_flex .left_year {
  width: 50%;
  position: sticky;
  top: 110px;
  left: 0;
  padding-right: var(--space-80);
  text-align: right;
}

.hisotry .in_flex .left_year.right {
  padding-right: 0;
  padding-left: var(--space-80);
  text-align: left;
}

.hisotry .in_flex .left_year h3 {
  font-size: var(--font-50);
  color: var(--color-black-2);
  font-weight: var(--fw-bold);
  word-break: keep-all;
  transition-duration: var(--transition-base);
  line-height: var(--lh-150);
}

.hisotry .in_flex .left_year.show h3 {
  color: var(--color-primary);
}

.hisotry .in_flex .info {
  width: 50%;
  padding-left: var(--space-80);
}

.hisotry .in_flex .info li {
  display: flex;
  gap: var(--space-10);
}

.hisotry .in_flex .info.left {
  padding-right: var(--space-80);
  padding-left: 0;
}

.hisotry .in_flex .info.left li {
  flex-direction: row-reverse;
  text-align: right;
}

.hisotry .in_flex .info li h4 {
  width: 80px;
  font-size: var(--font-20);
  color: var(--color-black-2);
  font-weight: var(--fw-bold);
  word-break: keep-all;
  transition-duration: var(--transition-base);
  line-height: var(--lh-150);
}

.hisotry .in_flex .info li .txt {
  flex: 1;
}

.hisotry .in_flex .info li .txt p {
  font-size: var(--font-18);
  color: var(--color-gray-2);
  font-weight: var(--fw-regular);
  word-break: keep-all;
  line-height: var(--lh-150);
}

.hisotry .in_flex .info li .txt p + p {
  margin-top: var(--space-5);
}

.hisotry .in_flex .info li .txt img {
  border-radius: var(--radius-20);
  display: inline-block;
  max-width: 100%;
}

.hisotry .in_flex .info li .txt p + img,
.hisotry .in_flex .info li .txt img + p {
  margin-top: var(--space-24);
}

.hisotry .in_flex .info li + li {
  margin-top: var(--space-40);
}

.hisotry .in_flex + .in_flex {
  margin-top: var(--space-80);
}



/* organization */
.organization {
  max-width: 1400px;
  margin: 0 auto;
}

.organization .top {
  display: flex;
  width: 240px;
  height: 240px;
  align-items: center;
  gap: var(--space-10);
  text-align: center;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  margin: 0 auto 50px;
  justify-content: center;
  flex-direction: column;
  position: relative;
}

.organization .top p {
  color: var(--color-white);
  font-size: var(--font-16);
  word-break: keep-all;
  line-height: var(--lh-140);
}

.organization .top h3 {
  color: var(--color-white);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  font-size: 35px;
}

.organization .top:after {
  content: '';
  position: absolute;
  left: 50%;
  width: 1px;
  height: 50px;
  background: var(--color-gray-4);
  bottom: -50px;
  z-index: -1;
}

.organization_mid {
  display: flex;
  text-align: center;
  gap: var(--space-24);
  justify-content: center;
}

.organization_mid li {
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
  width: 240px;
  padding: 19px;
  color: var(--color-black-2);
  font-weight: var(--fw-semibold);
  line-height: normal;
  font-size: var(--font-18);
  position: relative;
}



.organization_mid li + li:after {
  content: '';
  position: absolute;
  left: -26px;
  width: 30px;
  height: 1px;
  background: var(--color-gray-4);
  top: 50%;
  z-index: -1;
}

.organization_mid li.center {
  color: var(--color-primary);
  font-weight: var(--fw-bold);
  background: var(--color-primary-light);
  border-color: var(--color-primary-light);
  width: 390px;
}
.organization_mid li.eng,
.organization_mid li.center.eng{width: auto}

.organization_bottom {
  display: flex;
  gap: var(--space-20);
  justify-content: center;
  text-align: center;
  margin-top: var(--space-50);
  position: relative;
  padding-top: var(--space-50);
}

.organization_bottom:after {
  content: '';
  position: absolute;
  left: 50%;
  width: 1px;
  height: 50px;
  background: var(--color-gray-4);
  top: -50px;
  z-index: -1;
}

.organization_bottom li {
  flex: 1;
  position: relative;
}

.organization_bottom li:before {
  content: '';
  position: absolute;
  left: 50%;
  width: calc(50% + 60px);
  height: 1px;
  background: var(--color-gray-4);
  top: -50px;
  z-index: -1;
}

.organization_bottom li:after {
  content: '';
  position: absolute;
  left: 0%;
  width: 50%;
  height: 1px;
  background: var(--color-gray-4);
  top: -50px;
  z-index: -1;
}

.organization_bottom li:first-child:after {
  display: none;
}

.organization_bottom li:last-child:before {
  display: none;
}

.organization_bottom li h3 {
  border-radius: var(--radius-full);
  background: var(--color-primary-light);
  width: 100%;
padding:15px 10px;
  color: var(--color-primary);
  font-weight: var(--fw-bold);
  line-height: 130%;
  font-size: var(--font-18);
  position: relative;
  margin-bottom: var(--space-30);

   display: flex;
    justify-content: center;
    align-items: center;
        flex-direction: column;
}

.organization_bottom li h3 span{
	font-size: var(--font-16);
	font-weight: 400
}

.organization_bottom li h4 {
  border-radius: var(--radius-full);
  background: #F4F4F4;
  width: 100%;
  padding:15px 10px;
  color: var(--color-black-2);
  font-weight: var(--fw-semibold);
  line-height: 130%;
  font-size: var(--font-16);
  position: relative;
  word-break: keep-all;

   display: flex;
    justify-content: center;
    align-items: center;
        flex-direction: column;
}

.organization_bottom li ul{display: flex; gap:20px;}
.organization_bottom li ul li{flex:auto}

.organization_bottom li p {
  border-radius: var(--radius-full);
  background: var(--color-white);
  width: 100%;
  padding:15px 10px;
  color: var(--color-black-2);
  font-weight: var(--fw-semibold);
  line-height: 130%;
  font-size: var(--font-16);
  border: 1px solid var(--color-gray-4);
  position: relative;

  display: flex;
    justify-content: center;
    align-items: center;
        flex-direction: column;
}

.organization_bottom li p span{font-size: var(--font-14); font-weight: 400}

.organization_bottom li p + p,
.organization_bottom li h4 + p {
  margin-top: var(--space-20);
}




.organization_bottom li h3:after,
.organization_bottom li p:after {
  content: '';
  position: absolute;
  left: 50%;
  width: 1px;
  height: 50px;
  background: var(--color-gray-4);
  top: -50px;
  z-index: -1;
}

.organization_info {
  margin-top: var(--space-100);
  display: flex;
  gap: 60px 20px;
  flex-wrap: wrap;
}

.organization_info .box {
  width: calc(33.33% - 13.33px);
}

.organization_info .box .thum {
  overflow: hidden;
  border-radius: var(--radius-20);
}

.organization_info .box.all .thum{
	border-radius: 20px;
background: #F4F4F4;
padding: 20px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
aspect-ratio: 1;
}

.organization_info .box .thum img {
  width: 100%;
  display: block;
}

.organization_info .box.all .thum img{width: auto; max-width: 100%}

.organization_info .box .txt {
  margin-top: var(--space-20);
}

.organization_info .box .txt h3 {
  color: var(--color-black);
  font-size: var(--font-20);
  line-height: var(--lh-140);
  word-break: keep-all;
  font-weight: var(--fw-bold);
}

.organization_info .box ul.dot {
  margin-top: var(--space-16);
}

.organization_info .box ul.dot li {
  font-size: var(--font-18);
}

.organization_info .box ul.dot li + li {
  margin-top: 2px;
}


/* policy */
.sub_section.policy {
  padding-bottom: 0;
}

.policy_stack {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.policy_card {
  position: sticky;
  top: 140px;
  height: 70vh;
  border-radius: 14px;
  overflow: hidden;
  transform-origin: center top;
  will-change: transform;
}

.policy_card + .policy_card {
  margin-top: var(--space-20);
}

.policy_card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.65);
}

.policy_card .txt {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  color: var(--color-white);
}

.policy_card .txt span {
  font-size: var(--font-20);
  font-weight: var(--fw-medium);
}

.policy_card .txt h3 {
  margin-top: var(--space-14);
  font-size: var(--font-44);
  font-weight: var(--fw-bold);
  line-height: var(--lh-150);
  word-break: keep-all;
}

.policy_card .txt p {
  margin-top: var(--space-24);
  font-size: var(--font-20);
  line-height: var(--lh-150);
  word-break: keep-all;
  font-weight: var(--fw-regular);
}

.policy_message_section {
  height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fill_text {
  text-align: center;
  font-size: var(--font-60);
  line-height: var(--lh-140);
  font-weight: var(--fw-bold);
  word-break: keep-all;
}

.fill_text span {
  display: block;
  color: rgba(34, 34, 34, 0.20);
  background: linear-gradient(to right, var(--color-gray-1) 50%, rgba(34, 34, 34, 0.20) 50%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}


/* location */
.location_are {
  position: relative;
}

.location_are .tab {
  position: absolute;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
  padding: 8px;
  display: inline-flex;
  top: var(--space-40);
  left: var(--space-40);
}

.location_are .tab__item {
  display: flex;
  height: 44px;
  padding: 0 24px;
  justify-content: center;
  align-items: center;
  gap: var(--space-10);
  border-radius: var(--radius-full);
  background: var(--color-white);
  transition-duration: var(--transition-slow);
  font-size: var(--font-16);
  font-weight: var(--fw-bold);
  line-height: var(--lh-150);
  word-break: keep-all;
  color: var(--color-black-2);
}

.location_are .tab__item.active {
  background: var(--color-primary-light);
  color: var(--color-primary);
}

.location_are .tab__content {
  display: none;
}

.location_are .tab__content.active {
  display: flex;
  border-radius: var(--radius-20);
  overflow: hidden;
}

.location_are .tab__content .map {
  width: 52%;
}

.location_are .tab__content .info {
  width: 48%;
  background: var(--color-primary-dark);
  padding: var(--space-60);
  height: 90vh;
  gap: var(--space-40);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}

.location_are .tab__content .info .top h2 {
  padding-bottom: var(--space-24);
  color: var(--color-white);
  font-size: var(--font-34);
  line-height: var(--lh-140);
  word-break: keep-all;
  font-weight: var(--fw-bold);
  border-bottom: 1px solid var(--color-white-30);
}

.location_are .tab__content .info .top .info_txt {
  margin-top: var(--space-24);
}

.location_are .tab__content .info .top .info_txt li {
  display: flex;
  gap: var(--space-20);
}

.location_are .tab__content .info .top .info_txt li + li {
  margin-top: var(--space-14);
}

.location_are .tab__content .info .top .info_txt li h4 {
  width: 65px;
  color: var(--color-white);
  font-size: var(--font-18);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
}


.location_are.eng .tab__content .info .top .info_txt li h4{width: auto}

.location_are.eng .tab__content .info{height: auto}

.location_are .tab__content .info .top .info_txt li p {
  color: var(--color-white);
  font-size: var(--font-16);
  font-weight: var(--fw-regular);
  line-height: var(--lh-140);
  word-break: keep-all;
  flex: 1;
}

.location_are .tab__content .info .top .info_txt li ul.dot li {
  display: block;
  color: var(--color-white);
  font-size: var(--font-16);
}

.location_are .tab__content .info .top .info_txt li ul.dot li + li {
  margin-top: 2px;
}

.location_are .tab__content .info img {
  display: block;
  width: 100%;
  border-radius: var(--radius-20);
}


/* business */
.bu_title {
  margin-bottom: var(--space-60);
}

.bu_title.center {
  text-align: center;
}

.bu_title.end {
  margin-top: var(--space-80);
  margin-bottom: 0;
}

.bu_title h3 {
  font-size: var(--font-34);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
  color: var(--color-black-2);
}

.bu_title p {
  color: var(--color-gray-2);
  font-size: var(--font-20);
  font-weight: var(--fw-regular);
  line-height: var(--lh-150);
  word-break: keep-all;
  margin-top: var(--space-24);
}

.bu_title p.small {
  font-size: var(--font-16);
  margin-top: var(--space-12);
}

.bu_title ul.dot {
  margin-top: var(--space-24);
}

.bu_title ul.dot li {
  color: var(--color-gray-2);
}

.bu_title ul.dot + img {
  margin-top: var(--space-40);
  display: block;
  max-width: 100%;
}

.bu_title.flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.bu_slide_cnt {
  display: flex;
  gap: var(--space-12);
}

.bu_slide_cnt span {
  cursor: pointer;
  display: flex;
  width: 60px;
  height: 60px;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
  justify-content: center;
  align-items: center;
}

.bu_img_sc {
  padding: var(--space-60) 0;
  background: var(--color-gray-5);
  overflow-x: auto;
}

.bu_img_sc img {
  display: block;
  margin: 0 auto;
}

.bu_slide .slick-list {
  padding: 0 var(--inner-large)
}

.bu_slide .box {
  border-radius: var(--radius-20);
  overflow: hidden;
  position: relative;
}

.bu_slide .box img {
  display: block;
  width: 100%;
}

.bu_slide .slick-slide {
  padding: 0 var(--space-10);
}

.box .txt_bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
  padding: var(--space-40);
  width: 100%;
}

.box .txt_bottom p {
  word-break: keep-all;
  font-size: var(--font-24);
  color: var(--color-white);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-150);
}

.bu_img_box_flex {
  display: flex;
  gap: var(--space-20);
}

.bu_img_box_flex .box {
  border-radius: var(--radius-20);
  overflow: hidden;
  position: relative;
  flex: 1;
}

.bu_img_box_flex .box img {
  display: block;
  width: 100%;
}

.bubg_img {
  height: 60vh;
  position: relative;
  align-items: flex-end;
  justify-content: flex-start;
  padding: var(--space-60) 0;
  display: flex;
}

.bubg_img img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  object-fit: cover;
}

.bubg_img .txt h3 {
  color: var(--color-white);
  font-size: var(--font-34);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
}

.bubg_img .txt ul.dot {
  margin-top: var(--space-24);
}

.bubg_img .txt ul.dot li {
  color: var(--color-white);
}

.bu02_flex .top {
  display: flex;
  gap: var(--space-20);
  align-items: stretch;
}

.bu02_flex .top .thum_flex {
  display: flex;
  gap: var(--space-20);
  flex-wrap: wrap;
  flex: 1;
}

.bu02_flex .top .thum_flex li {
  width: calc(33.33% - 13.33px);
  border-radius: var(--radius-10);
  overflow: hidden;
}

.bu02_flex .top .thum_flex li img {
  display: block;
  width: 100%;
}

.bu02_flex .top .next {
  width: 40px;
  display: flex;
  align-items: center;
}

.bu02_flex .top .ink {
  padding: 30px 20px;
  border-radius: var(--radius-20);
  background: var(--color-primary-light);
}

.bu02_flex .top .ink h4 {
  color: var(--color-primary);
  font-size: var(--font-20);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  margin-bottom: var(--space-12);
  word-break: keep-all;
}

.bu02_flex .top .ink .ink_flex {
  display: flex;
  gap: var(--space-20);
}

.bu02_flex .top .ink .ink_flex img {
  flex: 1;
  display: block;
  border-radius: var(--radius-10);
  border: 1px solid var(--color-gray-4);
}

.bu02_flex .down_next {
  margin: var(--space-20) 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.bu02_flex .down_next img {
  transform: rotate(90deg);
}

.bu02_flex .bottom {
  display: flex;
  gap: var(--space-10);
}

.bu02_flex .bottom img {
  border-radius: var(--radius-10);
  flex: 1;
}

.bu02_info_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.bu02_info_flex_round {
  display: flex;
  padding: var(--space-30);
  justify-content: center;
  align-items: center;
  gap: var(--space-10);
  border-radius: var(--radius-full);
  background: var(--color-gray-5);
}

.bu02_info_flex_round .box {
  width: 220px;
  height: 220px;
  display: flex;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: var(--radius-full);
  background: var(--color-white);
}

.bu02_info_flex_round .box p {
  color: #000;
  font-size: var(--font-24);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-140);
  word-break: keep-all;
}

.bu02_info_flex_round .box.eng p{
	font-size: var(--font-20);
}

.bu02_info_flex_round .box:nth-child(2) {
  background: var(--color-primary-light);
}

.bu02_info_flex_round .box:nth-child(3) {
  background: var(--color-primary);
}

.bu02_info_flex_round .box:nth-child(3) p {
  color: var(--color-white);
}



/* business - rest */
.bu_last_flex_in {
  display: flex;
  gap: var(--space-12);
}

.bu_last_flex_in.bg {
  border-radius: var(--radius-20);
  border: 1px solid var(--color-gray-4);
  background: var(--color-primary-light);
  padding: var(--space-20);
}

.bu_last_flex_in .box {
  border-radius: var(--radius-10);
  overflow: hidden;
  position: relative;
  flex: 1;
}

.bu_last_flex_in .box.last {
  border: 1px solid var(--color-gray-4);
}

.bu_last_flex_in .box img {
  width: 100%;
  display: block;
}

.bu_last_flex_in .next {
  width: 40px;
  display: flex;
  align-items: center;
}

.bu_last_flex_in .box .txt_bottom {
  padding: var(--space-20);
}

.bu_last_flex_in .box .txt_bottom p {
  font-size: var(--font-20);
}

.bu_last_flex_in .box.last .txt_bottom {
  background: transparent;
}

.bu_last_flex_in .box.last .txt_bottom p {
  font-size: var(--font-20);
  color: var(--color-black);
}

.bu_last_flex .down_next {
  margin: var(--space-20) 0;
  justify-content: flex-end;
  padding: 0 var(--inner-large);
  display: flex;
}

.bu_last_flex .down_next p {
  display: flex;
  gap: var(--space-10);
  font-size: var(--font-20);
  font-weight: var(--fw-semibold);
  color: var(--color-primary);
  word-break: keep-all;
  align-items: center;
}

.bu_last_flex .down_next.center {
  padding: 0;
  justify-content: center;
}



.bu02_nomal_flex {
  display: flex;
  gap: var(--space-20);
}

.bu02_nomal_flex .box {
  flex: 1;
}

.bu02_nomal_flex .box img {
  width: 100%;
  display: block;
  border-radius: var(--radius-20);
}

.bu02_three_flex {
  display: flex;
  gap: 40px 20px;
  flex-wrap: wrap;
}

.bu02_three_flex .box {
  width: calc(33.33% - 13.33px);
  text-align: center;
}

.bu02_three_flex .box img {
  width: 100%;
  display: block;
  border-radius: var(--radius-20);
  border: 1px solid var(--color-gray-4);
}

.bu02_three_flex .box p {
  margin-top: var(--space-20);
  font-size: var(--font-20);
  line-height: var(--lh-140);
  color: var(--color-black-2);
  word-break: keep-all;
  font-weight: var(--fw-medium);
}

.bu03_in {
  border-radius: var(--radius-20);
  background: var(--color-gray-5);
  padding: var(--space-60);
}

.border_img_full {
  border-radius: var(--radius-20);
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
  padding: var(--space-50);
}

.border_img_full img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}


/* rnd */
.rnd_are {
  max-width: 1130px;
  margin: 0 auto;
  position: relative;
  padding-bottom: 400px;
}

.rnd_are .center {
  width: 480px;
  height: 480px;
  border-radius: var(--radius-full);
  background: rgba(0, 159, 128, 0.10);
  overflow: hidden;
  margin: 0 auto;
}

.rnd_are .center .in {
  background: url(../img/sub/rnd_are.jpg);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
}

.rnd_are .center .in:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .5;
}

.rnd_are .center .in .txt {
  position: relative;
  z-index: 3;
}

.rnd_are .center .in .txt h3 {
  font-size: var(--font-34);
  line-height: var(--lh-140);
  word-break: keep-all;
  font-weight: var(--fw-semibold);
  color: var(--color-white);
}

.rnd_are .step {
  position: absolute;
  display: flex;
  gap: var(--space-30);
  align-items: center;
}

.rnd_are .step .txt {
  padding: var(--space-30);
  border-radius: var(--radius-20);
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
}

.rnd_are .step .txt h4 {
  color: var(--color-primary);
  font-size: var(--font-24);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  margin-bottom: var(--space-14);
}

.step_top {
  position: absolute;
  height: 480px;
  width: 100%;
  top: 0;
  left: 0;
}

.rnd_are .step .txt ul.dot {
  margin: 0;
}

.rnd_are .step .txt ul.dot li + li {
  margin: 0;
}

.rnd_are .step .txt ul.dot li {
  font-size: var(--font-18);
}

.rnd_are .step .icon {
  width: 80px;
  height: 80px;
  border: 3px solid var(--color-primary-bright);
  border-radius: var(--radius-full);
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-white);
}

.rnd_are .step.step01 {
  top: 50%;
  left: -2rem;
  transform: translateY(-50%);
}

.rnd_are .step.step01 .txt {
  width: 290px;
}

.rnd_are .step.step02 {
  top: 50%;
  right: -2rem;
  flex-direction: row-reverse;
  transform: translateY(-50%);
}

.rnd_are .step.step02 .txt {
  width: 290px;
}

.rnd_are .step.step03 {
  flex-direction: column-reverse;
  left: 50%;
  transform: translateX(-50%);
  top: 440px;
}

.rnd_are .step.step03 .txt h4 {
  text-align: center;
  width: 580px;
}

.rnd_are .step.step03 .txt .step_in_flex {
  display: flex;
  gap: var(--space-20);
}

.rnd_are .step.step03 .txt .step_in_flex .box {
  border-radius: var(--radius-10);
  background: var(--color-gray-5);
  flex: 1;
  padding: var(--space-20);
}

.rnd_are .step.step03 .txt .step_in_flex .box h5 {
  color: var(--color-black-2);
  text-align: center;
  font-size: var(--font-20);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
  margin-bottom: var(--space-14);
}


/* product list */
.product_list_are .tab {
  display: flex;
  gap: var(--space-14);
  justify-content: center;
  margin-bottom: var(--space-60);
}

.product_list_are .tab .tab__item a {
  text-align: center;
  padding: 15px 50px;
  font-size: var(--font-16);
  color: var(--color-gray-2);
  word-break: keep-all;
  font-weight: var(--fw-medium);
  border-bottom: 1px solid var(--color-gray-4);
  display: block;
}

.product_list_are .tab .tab__item.active a {
  color: var(--color-red);
  border-color: var(--color-red);
  font-weight: var(--fw-bold);
}

.product_list_are .tab__content {
  display: none;
}

.product_list_are .tab__content.active {
  display: block;
}

.product_list {
  display: flex;
  gap: var(--space-20);
  flex-wrap: wrap;
}

.product_list li {
  width: calc(25% - 15px);
}

.product_list li a {
  display: block;
  background: var(--color-white);
  transition-duration: var(--transition-base);
}

.product_list li a .thum {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: var(--space-20);
  border-radius: var(--radius-20);
  border: 1px solid var(--color-gray-4);
  background: var(--color-gray-5);
}

.product_list li a .thum img {
  display: block;
  max-width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}

.product_list li a .thum i {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  background: var(--color-black-30);
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition-duration: var(--transition-slow);
}

.product_list li a .thum i em {
  display: flex;
  width: 64px;
  height: 64px;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-10);
  background: var(--color-primary-bright);
}

.product_list li a:hover .thum i {
  opacity: 1;
}

.product_list li a .txt {
  margin-top: var(--space-24);
  display: block;
}

.product_list li a .txt h3 {
  margin-bottom: 8px;
  font-size: var(--font-24);
  color: var(--color-black-2);
  word-break: keep-all;
  font-weight: var(--fw-bold);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transition-duration: var(--transition-base);
}

.product_list li a .txt p {
  display: flex;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-gray-4);
  font-size: var(--font-16);
  color: var(--color-black-2);
  word-break: keep-all;
  font-weight: var(--fw-regular);
  gap: var(--space-18);
}

.product_list li a .txt p span:first-child {
  width: 90px;
  color: var(--color-primary);
  font-weight: var(--fw-semibold);
}

.product_list.eng li a .txt p span:first-child{width: auto}

.product_list li a .txt p span + span {
  flex: 1;
}


/* detail */
.detail_top {
  display: flex;
  gap: var(--space-100);
}

.detail_top .thum_are {
  width: 630px;
  position: relative;
}

.detail_top .thum_are img {
  max-width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.detail_top .thum_are .thum {
  display: flex;
  justify-content: center;
  align-items: center;
}

.detail_top .thum_are .product_thum {
  mix-blend-mode: multiply;
  border: 1px solid var(--color-gray-4);
  overflow: hidden;
  padding: 45px;
  border-radius: var(--radius-20);
  background: var(--color-gray-5);
}

.detail_top .thum_are .slick-dots {
  position: absolute;
  bottom: var(--space-20);
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 8px;
  left: 0;
}

.detail_top .thum_are .slick-dots li {
  width: 8px;
  height: 8px;
  background: var(--color-gray-4);
  border-radius: var(--radius-full);
  cursor: pointer;
}

.detail_top .thum_are .slick-dots li.slick-active {
  background: var(--color-primary);
}

.detail_top .thum_are .slick-dots li button {
  visibility: hidden;
  font-size: 0;
  opacity: 0;
}

.detail_top .sub_title {
  margin: 0;
  flex: 1;
}

.detail_top .sub_title .product_info {
  margin-top: var(--space-22);
}

.detail_top .sub_title .product_info li {
  display: flex;
  padding: 18px 0;
  border-bottom: 1px solid var(--color-gray-4);
  gap: var(--space-20);
}

.detail_top .sub_title .product_info li p {
  font-size: var(--font-20);
  color: var(--color-gray-2);
  word-break: keep-all;
  font-weight: var(--fw-regular);
}

.detail_top .sub_title .product_info li p:first-child {
  width: 120px;
  color: var(--color-primary);
  font-weight: var(--fw-semibold);
}

.detail_top .sub_title .product_info.eng li p:first-child{
	width: auto
}

.detail_top .sub_title .product_info li p + p {
  margin: 0;
  flex: 1;
}

.product_characteristic {
  margin-top: var(--space-20);
}

.product_characteristic h4 {
  color: var(--color-primary);
  font-size: var(--font-20);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-150);
  word-break: keep-all;
}

.product_characteristic .product_characteristic_list {
  display: flex;
  margin-top: var(--space-20);
  flex-wrap: wrap;
  gap: var(--space-10);
}

.product_characteristic .product_characteristic_list li {
  position: relative;
  padding: 10px 18px;
  border-radius: var(--radius-5);
  border: 1px solid var(--color-gray-4);
  flex: auto;
  min-width: calc(50% - 10px);
}

.product_characteristic .product_characteristic_list li p {
  padding-left: 15px;
  font-size: var(--font-20);
  line-height: var(--lh-150);
  color: var(--color-black-2);
  word-break: keep-all;
  position: relative;
}

.product_characteristic .product_characteristic_list li p:after {
  content: '·';
  position: absolute;
  left: 0;
  top: 0;
}

.detail_top .sub_title .common_btn {
  margin-top: var(--space-60);
}

.detail_info {
  margin-top: var(--space-100);
}

.sub_small_title {
  margin-bottom: var(--space-40);
}

.sub_small_title h3 {
  font-size: var(--font-30);
  color: var(--color-black);
  word-break: keep-all;
  font-weight: var(--fw-bold);
  line-height: var(--lh-150);
}

.sub_small_title p{
	color: #666;
font-size: var(--font-20);
font-weight: 400;
line-height: 150%; /* 30px */
margin-top: 24px; 
word-break: keep-all
}

.detail_info .box + .box {
  margin-top: var(--space-100);
}


.product_section_html img{max-width: 100%; display: inline-block}

/* table */
.tlb table.left th {
  text-align: left;
}

.tlb table.center td {
  text-align: center;
}

.tlb table {
  width: 100%;
  border-spacing: 0;
  border-top: 1px solid var(--color-primary);
}

.tlb table th {
  padding: 23px 30px;
  background: #fafafa;
  border-bottom: 1px solid var(--color-gray-4);
  font-size: var(--font-18);
  color: var(--color-black);
  font-weight: var(--fw-bold);
  word-break: keep-all;
}

.tlb table td {
  padding: 23px 30px;
  background: var(--color-white);
  border-bottom: 1px solid var(--color-gray-4);
  font-size: var(--font-18);
  color: var(--color-gray-1);
  font-weight: var(--fw-medium);
  word-break: keep-all;
}

.tlb table td .flex {
  display: flex;
  gap: 8px;
}

.tlb table td .flex + .flex {
  margin-top: 15px;
}

.tlb table td .flex b {
  color: var(--color-red);
}

.tlb table th + th,
.tlb table td + td {
  border-left: 1px solid var(--color-gray-4);
}






/* blackmass */
.blackmass_bg {
  background: url(../img/sub/blackmass_bg.png);
  background-position: center;
  background-size: cover;
  padding: var(--space-150) 0;
}

.blackmass_bg .count_flex .box .top i,
.blackmass_bg .count_flex .box:hover .top i {
  background: transparent;
}

.blackmass_five {
  display: flex;
  gap: var(--space-30);
}

.blackmass_five .box {
  flex: 1;
  border-radius: var(--radius-20);
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
  transition-duration: var(--transition-slow);
  aspect-ratio: 1;
  text-align: center;
  padding: 40px 24px;
}

.blackmass_five .box:hover {
  background: var(--color-primary);
}

.blackmass_five .box i svg path {
  fill: #000 !important;
  transition-duration: var(--transition-slow);
}

.blackmass_five .box:hover i svg path {
  fill: var(--color-white) !important;
}

.blackmass_five .box h4 {
  margin-top: var(--space-40);
  font-size: var(--font-14);
  color: var(--color-black-2);
  line-height: var(--lh-140);
  word-break: keep-all;
  transition-duration: var(--transition-slow);
}

.blackmass_five .box h3 {
  margin-top: var(--space-14);
  font-size: var(--font-20);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
  color: var(--color-primary);
  transition-duration: var(--transition-slow);
}

.blackmass_five .box p {
  margin-top: var(--space-12);
  color: var(--color-gray-2);
  font-size: var(--font-16);
  line-height: var(--lh-140);
  word-break: keep-all;
  transition-duration: var(--transition-slow);
}

.blackmass_five .box ul.dot {
  margin-top: var(--space-12);
}

.blackmass_five .box ul.dot li {
  font-size: var(--font-16);
  line-height: var(--lh-140);
  color: var(--color-gray-2);
  text-align: left;
  transition-duration: var(--transition-slow);
}

.blackmass_five .box:hover h4,
.blackmass_five .box:hover h3,
.blackmass_five .box:hover p,
.blackmass_five .box:hover ul.dot li {
  color: var(--color-white);
}

.flex_blackmass_ft {
  margin-top: var(--space-60);
  display: flex;
  gap: var(--space-40);
}

.flex_blackmass_ft .box {
  flex: 1;
}

.flex_blackmass_ft .box .title {
  display: flex;
  gap: var(--space-16);
  align-items: center;
}

.flex_blackmass_ft .box .title h3 {
  color: var(--color-black);
  font-size: var(--font-24);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
}

.flex_blackmass_ft .box .product_characteristic_list {
  margin-top: var(--space-30);
}

.flex_blackmass_ft .box .product_characteristic_list li {
  width: 100%;
}

.flex_blackmass_ft .box .product_characteristic_list li p {
  font-size: var(--font-18);
  color: var(--color-gray-2);
}


/* quality */
.quality_list {
  border-top: 1px solid var(--color-gray-4);
}

.quality_list li {
  display: flex;
  padding: var(--space-30) 0;
  gap: var(--space-60);
  align-items: center;
  border-bottom: 1px solid var(--color-gray-4);
}

.quality_list li .thum {
  max-width: 600px;
  width: 100%;
  border-radius: var(--radius-20);
  overflow: hidden;
}

.quality_list li .thum img {
  display: block;
  width: 100%;
}

.quality_list li .txt {
  flex: 1;
}

.quality_list li .txt h3 {
  color: var(--color-black-2);
  font-size: var(--font-30);
  font-weight: var(--fw-bold);
  line-height: var(--lh-150);
  word-break: keep-all;
}

.quality_list li .txt ul.dot {
  margin-top: var(--space-24);
}


/* dot list */
ul.dot li {
  position: relative;
  color: var(--color-gray-2);
  font-size: var(--font-20);
  font-weight: var(--fw-regular);
  line-height: var(--lh-150);
  word-break: keep-all;
  padding: 0 0 0 15px;
  border: 0;
}

ul.dot li:after {
  content: '·';
  position: absolute;
  left: 0;
  top: 0;
}

ul.dot li + li {
  margin-top: var(--space-5);
}


/* board category */
#bo_cate {
  margin-bottom: var(--space-60);
  text-align: center;
}

#bo_cate h2 {
  position: absolute;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

#bo_cate ul {
  zoom: 1;
  display: inline-flex;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
  padding: 8px;
}

#bo_cate ul:after {
  display: block;
  visibility: hidden;
  clear: both;
  content: "";
}

#bo_cate li {
  display: inline-block;
  padding: 0;
}

#bo_cate a {
  text-align: center;
  display: flex;
  height: 44px;
  padding: 0 24px;
  justify-content: center;
  align-items: center;
  gap: var(--space-10);
  border-radius: var(--radius-full);
  background: var(--color-white);
  transition-duration: var(--transition-slow);
  font-size: var(--font-16);
  font-weight: var(--fw-bold);
  line-height: var(--lh-150);
  word-break: keep-all;
  color: var(--color-black-2);
}

#bo_cate a:focus,
#bo_cate a:hover,
#bo_cate a:active,
#bo_cate #bo_cate_on {
  background: var(--color-primary-light);
  color: var(--color-primary);
}


/* category tags */
.cate_tag {
  padding: 5px 10px;
  border-radius: var(--radius-20);
  font-size: var(--font-16);
  color: var(--color-white);
  margin-bottom: 15px;
  display: inline-block;
}

.cate_patent {
  background: #426479;
}

.cate_cert {
  background: #1B1F29;
}

.cate_award {
  background: #FF6200;
}


/* gallery list */
.gall_list_style {
  display: flex;
  gap: 30px 20px;
  flex-wrap: wrap;
}

.gall_list_style li {
  width: calc(25% - 15px);
}

.gall_list_style li.empty_list {
  width: 100%;
}

.gall_list_style.certifica .gall_img {
  border-radius: var(--radius-10);
  transition-duration: var(--transition-slow);
  border: 1px solid var(--color-gray-4);
  position: relative;
}

.gall_list_style .gall_img {
  position: relative;
  overflow: hidden;
}

.gall_list_style .gall_img .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(253, 164, 36, 0.90);
  display: flex;
  gap: var(--space-10);
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition-duration: var(--transition-slow);
}

.gall_list_style .gall_img .bg em {
  color: var(--color-white);
  font-size: var(--font-18);
  font-style: normal;
}

.gall_list_style .gall_img .bg img {
  width: auto;
  height: auto;
  object-fit: none;
  aspect-ratio: auto;
}

.gall_list_style .gall_img img.thum_board {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.gall_list_style .gall_img i {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  background: var(--color-black-30);
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition-duration: var(--transition-slow);
  flex-direction: column;
  font-style: normal;
  gap: var(--space-20);
}

.gall_list_style .gall_img i em {
  display: flex;
  width: 64px;
  height: 64px;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-10);
  background: var(--color-primary-bright);
}

.gall_list_style .gall_img i h3 {
  color: var(--color-white);
  font-size: var(--font-20);
  font-weight: var(--fw-bold);
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transition-duration: var(--transition-slow);
  text-align: left;
  line-height: var(--lh-120);
}

.gall_list_style li:hover .gall_img i,
.gall_list_style li:hover .gall_img .bg {
  opacity: 1;
}

.gall_list_style.certifications .gall_img {
  padding: 25px;
  border-radius: var(--radius-20);
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
}

.gall_list_style.certifications .gall_img img.thum_board {
  aspect-ratio: 21 / 29;
}


/* tech gallery */
.gall_list_style.tech_style .gall_img {
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
  padding: var(--space-40);
  transition-duration: var(--transition-slow);
  height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}

.gall_list_style.tech_style .tech_list_txt {
  width: 100%;
}

.gall_list_style.tech_style .tech_list_txt .tech_tag {
  color: var(--color-red);
  font-size: var(--font-16);
  font-weight: var(--fw-medium);
  word-break: keep-all;
  margin-bottom: 15px;
  display: block;
}

.gall_list_style.tech_style .tech_list_txt h3 {
  font-size: var(--font-24);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
}

.gall_list_style.tech_style .tech_list_down {
  background: #F9F9F9;
  width: 60px;
  height: 60px;
  justify-content: center;
  align-items: center;
  display: flex;
  transition-duration: var(--transition-slow);
}

.gall_list_style.tech_style .tech_list_down i {
  width: 24px;
  height: 24px;
  background: url(../img/sub/downb.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transition-duration: var(--transition-slow);
  display: block;
}

.gall_list_style.tech_style li:hover .gall_img {
  border-color: var(--color-red);
}

.gall_list_style.tech_style li:hover .tech_list_down {
  background: var(--color-red);
}

.gall_list_style.tech_style li:hover .tech_list_down i {
  background-image: url(../img/sub/downw.png);
}


/* news gallery */
.gall_list_style.news_style li {
  border: 1px solid var(--color-gray-4);
  transition-duration: var(--transition-slow);
  border-radius: var(--radius-10);
  overflow: hidden;
}

.gall_list_style.news_style li:hover {
  border-color: var(--color-primary);
}

.gall_list_style.news_style li .gall_img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.gall_list_style.news_style li .gall_img img {
  display: block;
  width: 100%;
  height: 100%;
}






.board_common_btn_list {
  margin-top: var(--space-80);
}

.board_common_btn_list ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-10);
  align-items: center;
  justify-content: flex-end;
}

.board_common_btn_list a,
.board_common_btn_list button {
  border: 1px solid var(--color-gray-4);
  border-radius: var(--radius-5);
  background: var(--color-white);
  font-size: var(--font-16);
  padding: 0 15px;
  height: 40px;
  line-height: 40px;
  color: var(--color-gray-1);
  display: inline-flex;
  align-items: center;
  text-align: center;
}

.board_top_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--space-40);
}

.board_top_flex .board-title {
  margin-bottom: 0;
}

.total_board p {
  font-size: var(--font-14);
  color: var(--color-gray-2);
}

.total_board p b {
  font-weight: var(--fw-bold);
  color: #DE9B25;
}

.search_board form {
  display: flex;
  gap: var(--space-10);
}

.search_board form select {
  background: #f5f5f5 url(../img/sub/drop_search.png);
  background-position: 90% center;
  background-repeat: no-repeat;
  background-size: 13px auto;
  border-radius: var(--radius-5);
  padding: 0 20px;
  font-size: 15px;
  color: var(--color-gray-2);
  height: 60px;
  line-height: 60px;
  border: 0;
  appearance: none;
  position: relative;
}

.search_board form select::-ms-expand {
  display: none;
}

.search_board .sch_bar {
  display: flex;
  overflow: hidden;
  border: 1px solid var(--color-gray-4);
  background: var(--color-white);
  border-radius: var(--radius-full);
}

.search_board .sch_bar input {
  color: #1b1b1b;
  font-size: var(--font-16);
  font-weight: var(--fw-regular);
  line-height: 60px;
  padding: 0 20px;
  border: 0;
}

.search_board .sch_bar input::placeholder {
  font-size: var(--font-16);
  font-weight: var(--fw-regular);
  line-height: var(--lh-130);
}

.search_board .sch_bar button {
  padding: 0 20px;
  border: 0;
  background: var(--color-white);
}

.board_detail_content {
  border-top: 2px solid #D9D9D9;
  padding-top: var(--space-50);
  border-bottom: 1px solid #D9D9D9;
}

.board_view_btn {
  text-align: center;
  margin-top: var(--space-100);
}



.board_list_txt {
  margin-top: var(--space-20);
  color: var(--color-black);
  font-size: var(--font-18);
  font-style: normal;
  font-weight: var(--fw-bold);
  line-height: var(--lh-150);
  text-align: left;
}

.gall_list_style.news_style li .board_list_txt {
  padding: var(--space-20) var(--space-30);
  margin: 0;
}

.board_list_txt p {
  font-size: var(--font-16);
  color: #aaa;
  margin-top: var(--space-14);
}

.board_list_txt p.list_cate {
  color: #cf3339;
  font-size: var(--font-16);
  font-style: normal;
  font-weight: var(--fw-medium);
  line-height: var(--lh-150);
  text-align: left;
  margin-bottom: var(--space-10);
}

.board_list_txt h3 {
  color: #010101;
  font-size: var(--font-20);
  font-weight: var(--fw-bold);
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transition-duration: var(--transition-slow);
  text-align: left;
  line-height: var(--lh-120);
}

.gall_list_style.news_style li .board_list_txt p {
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: var(--fw-regular);
}

.gall_list_style.news_style li:hover .board_list_txt h3 {
  color: var(--color-primary);
}

.board_list_txt p.date {
  font-size: var(--font-14);
}

.board_detail_content .video-container {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  border-radius: var(--radius-5);
}

.board_detail_content .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#bo_v_img {
  text-align: center;
}

#bo_v_file li {
  padding: 25px 0;
  border: 0;
  border-bottom: 1px solid var(--color-gray-4);
  box-shadow: none;
  border-radius: 0;
}

#bo_v_file li a {
  display: flex;
  gap: var(--space-20);
  font-size: var(--font-18);
}

#bo_v_file li i {
  float: none;
  margin: 0;
}

#bo_v_file li i img {
  margin: 0;
}

#bo_v_file li a strong {
  font-weight: var(--fw-regular);
}

.board_title {
  margin-bottom: var(--space-60);
  text-align: center;
}

.board_title h2 {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  font-size: var(--font-40);
  font-weight: var(--fw-bold);
  color: #1E1F1C;
}

.board_title h3 {
  margin-top: var(--space-20);
  font-size: var(--font-16);
  color: var(--color-gray-2);
  font-weight: 300;
}

.contact_view li {
  font-size: var(--font-18);
}

.contact_view li + li {
  margin-top: var(--space-10);
}

.contact_content,
.contact_content * {
  font-size: var(--font-18);
  line-height: var(--lh-150);
  word-break: keep-all;
}

.more_product {
  margin-top: var(--space-80);
  text-align: center;
  display: flex;
  gap: var(--space-18);
  justify-content: center;
}

.more_product .sub_btn_flex {
  display: inline-flex;
  font-size: var(--font-18);
  color: #171717;
  background: var(--color-white);
  height: 80px;
  padding: 25px 0 25px 30px;
  border-radius: var(--radius-full);
  align-items: center;
  border: 1px solid var(--color-gray-4);
}

.more_product .sub_btn_flex i {
  width: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.more_product .sub_btn_flex span {
  flex: auto;
  font-weight: var(--fw-medium);
}

.more_product .sub_btn_flex.orange {
  background: var(--color-orange);
  color: var(--color-white);
}

/* modal */
.thumb-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.thumb-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--color-black-60);
}

.thumb-modal__dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.thumb-modal__dialog img {
  max-width: 86vw;
  max-height: 72vh;
  display: block;
}

.thumb-modal__caption {
  margin-top: 8px;
  color: var(--color-white);
  font-size: var(--font-14);
  text-align: center;
  word-break: keep-all;
}

.thumb-modal__close {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 36px;
  height: 36px;
  line-height: 34px;
  border: 0;
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.15);
  color: #1b1b1b;
  font-size: 22px;
  cursor: pointer;
}

/* notice */
.notice_list {
  border-top: 1px solid var(--color-primary);
}

.notice_list .box {
  position: relative;
  border-bottom: 1px solid var(--color-gray-4);
}

.notice_list .box a {
  display: block;
  background: var(--color-white);
  padding: var(--space-40);
  transition-duration: var(--transition-slow);
  position: relative;
}

.notice_list .box a:hover {
  background: #F9F9F9;
}

.notice_list .box a h4 {
  color: var(--color-black);
  font-size: var(--font-24);
  font-weight: var(--fw-bold);
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transition-duration: var(--transition-slow);
  text-align: left;
  line-height: var(--lh-140);
}

.notice_list .box a p {
  color: var(--color-gray-2);
  font-size: var(--font-18);
  font-weight: var(--fw-regular);
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transition-duration: var(--transition-slow);
  text-align: left;
  line-height: var(--lh-140);
  margin-top: var(--space-20);
}

.notice_list .box a .go {
  width: 80px;
  height: 80px;
  position: absolute;
  right: var(--space-40);
  top: 50%;
  border-radius: var(--radius-full);
  display: flex;
  background: var(--color-gray-4);
  justify-content: center;
  align-items: center;
  transform: translateY(-50%);
  transition-duration: var(--transition-slow);
}

.notice_list .box a:hover .go {
  background-color: var(--color-primary);
}

.notice_list .chk_box {
  z-index: 3;
}

/* recruitment */
.recruitment_tag {
  display: inline-block;
  padding: 5px 10px;
  border-radius: var(--radius-20);
  font-size: var(--font-16);
  font-weight: var(--fw-medium);
  margin-bottom: var(--space-20);
}

.recruitment_tag.ing {
  background: #1B1F29;
  color: var(--color-white);
}

.recruitment_tag.end {
  background: var(--color-gray-4);
  color: #929292;
}

.if_video_are {
  max-width: 1280px;
  margin: 0 auto var(--space-40);
}

/* inquery */
.inquery ul {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 20px;
}

.inquery ul li {
  width: calc(50% - 10px);
}

.inquery ul li.w100 {
  width: 100%;
}

.inquery ul li label,
.inquery ul li p {
  display: block;
  color: #000;
  font-size: var(--font-18);
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-12);
}

.inquery ul li label span,
.inquery ul li p span {
  color: var(--color-primary-bright);
}

.inquery ul li input[type="text"],
.inquery ul li input[type="date"] {
  border-radius: var(--radius-10);
  border: 1px solid var(--color-gray-4);
  height: 60px;
  padding: 0 20px;
  color: var(--color-black);
  font-size: var(--font-18);
  width: 100%;
  background: #F4F4F4;
}

.inquery ul li textarea {
  border-radius: var(--radius-10);
  border: 1px solid var(--color-gray-4);
  height: 260px;
  padding: var(--space-20);
  color: var(--color-black);
  font-size: var(--font-18);
  width: 100%;
  background: #F4F4F4;
}

.inquery ul li input[type="text"]::placeholder,
.inquery ul li textarea::placeholder {
  color: var(--color-gray-3);
}

.inquery ul li .radio_flex {
  display: flex;
  gap: var(--space-12);
}

.inquery ul li .radio_flex input[type="radio"] {
  display: none;
}

.inquery ul li .radio_flex label {
  width: auto;
  flex: 1;
  padding: 20px 10px;
  border-radius: var(--radius-10);
  border: 1px solid var(--color-gray-4);
  text-align: center;
  color: var(--color-black);
  font-size: var(--font-18);
  font-weight: var(--fw-medium);
  cursor: pointer;
  background: #F4F4F4;
}

.inquery ul li .radio_flex input[type="radio"]:checked + label {
  background: var(--color-primary-bright);
  border-color: var(--color-primary-bright);
  color: var(--color-white);
}

.inquery .ck_agree input + label {
  color: var(--color-black);
  padding-left: 30px;
  position: relative;
  font-size: var(--font-18);
  font-weight: var(--fw-bold);
  word-break: keep-all;
  cursor: pointer;
}

.ck_agree input + label:after {
  border: 1px solid var(--color-black);
  top: 4px;
}

.ck_agree a {
  color: var(--color-black);
  font-size: var(--font-16);
}

.inquery .form_in_btn {
  text-align: center;
  margin-top: var(--space-60);
}




.bu01_new_top{
	background: #F6F8F7;
	padding: 60px 0
}

.bu01_new_top *{word-break: keep-all}

.bu01_new_top_in{display: flex; gap:20px; }
.bu01_new_top_in .left{display: flex; width: 32%; gap:20px;
align-items: stretch;}

.bu01_new_top_in .next{display: flex; 
justify-content: center;
align-items: center; width: 40px;}

.bu01_new_top_in .box{display: flex; gap:14px;
justify-content: center;
align-items: center;
border-radius: 10px;
border: 1px solid #1C7C6C;
background: #FFF; flex:1;
padding: 24px 16px
}

.bu01_new_top_in .box img{display: block; max-width: 100%}

.bu01_new_top_in .box h4{
	color: #1C7C6C;
font-size: var(--font-22);
font-style: normal;
font-weight: 600;
line-height: 140%; /* 33.6px */
}

.bu01_new_top_in .left .box{
	flex-direction: column;
	text-align: center
}

.bu01_new_top_in .right{
	display: flex;
	flex-direction: column;
	gap:10px;
	flex:1
}


.bu01_new_top_in .right .top{display: flex; gap: 20px}
.bu01_new_top_in .right .bottom{display: flex; gap: 20px}
.bu01_new_top_in .box_in{
	border-radius: 10px;
background: #DDECE6;
display: flex; gap:16px;
flex:1;
padding: 10px
}
.bu01_new_top_in .right .bottom .box{
	flex-direction: column;
	text-align: center
}


.bu01_new_top_in .box_box{
	padding: 12px 10px;
	border-radius: 8px;
background: #DDECE6; 
flex-direction: column;
gap:8px;
display: flex;
justify-content: center;
align-items: center;
}

.bu01_new_top_in .box_in .box.mid{width: 320px; flex:none}

.bu01_new_top_in .box_box h5{
	color: #1C7C6C;
font-size: var(--font-18);
font-weight: 600;
line-height: 140%; /* 30.8px */
}
.bu01_new_top_in .box_box p{
	padding: 16px 12px;
	border-radius: 5px;
background: #1C7C6C;
font-size: var(--font-16);
font-weight: 500;
line-height: 140%; /* 28px */
color: #fff
}







.t_map{
	border-radius: 20px;
background: #F6F8F7;
padding: 50px;
}

.t_map_flex{
	display: flex; gap:20px;
}


.t_map_flex .info{flex:1}
.t_map_flex .thum{width: 50%;
border-radius: 20px;
border: 1px solid #DDD;
overflow: hidden}

.t_map_flex .thum img{width: 100%; display: block}


.t_map_flex .info h3{display: flex; gap:16px; align-items: center;

color: #111;

font-size: var(--font-24);
font-weight: 700;
line-height: 140%; /* 33.6px */
word-break: keep-all;
margin-bottom: 40px;
}
.t_map_flex .info h3 i{
	display: flex;
width: 60px;
height: 60px;
justify-content: center;
align-items: center;
border-radius: 10px;
background: #DDECE6;
}

.t_map_flex .info li{
	position: relative;
	padding:0 0 16px 40px ; 
	color: #111;
font-size: var(--font-20);
font-weight: 500;
line-height: 140%; /* 28px */
word-break: keep-all;
border-bottom: 1px solid #DDD;
}

.t_map_flex .info li b{
	color: #1C7C6C;
}

.t_map_flex .info li + li{margin-top: 16px;}

.t_map_flex .info li i{
	display: flex;
width: 30px;
height: 30px;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 10px;
aspect-ratio: 1/1;
border-radius: 25px;
background: #1C7C6C;
color: #FFF;
text-align: center;
font-family: Pretendard;
font-size: var(--font-20);
font-weight: 500;
line-height: 140%; /* 28px */
word-break: keep-all;
font-style: normal;
position: absolute; left: 0; top: 0
}


.t_map_thum_flex{margin-top: 50px; display: flex; gap:45px;}
.t_map_thum_flex .box{flex:1}
.t_map_thum_flex .box .thum{margin-bottom: 20px;}
.t_map_thum_flex .box .thum img{display: block; width: 100%}
.t_map_thum_flex .box h3{
	color: #111;
font-size: var(--font-20);
font-style: normal;
font-weight: 700;
line-height: 140%; /* 28px */
word-break: keep-all;
}
.t_map_thum_flex .box p{
	word-break: keep-all;
	margin-top: 10px;
	font-size: var(--font-18);
	color: #666;
font-weight: 400;
line-height: 140%; /* 25.2px */
}



.bu_last_flex_new{
	display: flex;
	gap: var(--space-12);
	align-items: stretch;
}

.bu_last_flex_new .bu_last_flex_in{
	align-items: center;
}

.bu_last_flex_new .bu_last_flex_in .box{
	    aspect-ratio: 1;
	    max-width: 220px
}


.bu_last_flex_new .next{
	display: flex;
	align-items: center;
}

.bu_last_flex_new .bu_last_flex_in .box img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
}


.bu_last_flex_last {
  padding: var(--space-40);
  border-radius: var(--radius-20);
  background: var(--color-primary);
  display: flex;
    align-items: center;
    gap:var(--space-30);
        flex: 1;
    justify-content: space-between;
}

.bu_last_flex_last h4 {
  color: var(--color-white);
  font-size: var(--font-24);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
}

.bu_last_flex_last p {
  color: var(--color-white);
  font-size: var(--font-20);
  font-weight: var(--fw-bold);
  line-height: var(--lh-140);
  word-break: keep-all;
  margin: 10px 0 24px;
}

.bu_last_flex_last img {
  display: block;
  max-width: 100%;
  border-radius: 10px;
}

.bu_next_new_mid{position: relative}
.bu_next_new_mid svg{max-width: 100%; display: block; margin: 0 auto}

.bu_next_new_mid .mo{display: none; max-width: 100%;}

.bu_next_new_mid p {
    position: absolute;
    color: #1C7C6C;
    text-align: center;
    font-size: var(--font-20);
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    word-break: keep-all;
    left: 50%;
    top: calc(50% + 5px);
    transform: translateX(-50%);
}




input[type="date"]:before {
	content: attr(placeholder);
	color: #999;
}

input[type="date"]:focus:before,
input[type="date"]:valid:before {
	content: "";
}



.bu01_new02_top_in{
	display: flex;
align-items: center;
gap: 40px;
}


.bu01_new02_top_in .box{
	border-radius: 20px;
border: 1px solid #1C7C6C;
background: #FFF;
overflow: hidden;
flex:1
}
.bu01_new02_top_in .box.empt{border: 0; background: none}

.bu01_new02_top_in .box .txt{text-align: center;
background: #DDECE6;
display: flex;
padding: 12px 40px;
flex-direction: column;
align-items: center;
gap: 8px;
align-self: stretch;}

.bu01_new02_top_in .box .txt h3{
	color: #1C7C6C;
text-align: center;
font-size: var(--font-20);
font-style: normal;
font-weight: 600;
line-height: 140%; /* 28px */
}
.bu01_new02_top_in .box .txt p{
	color: #666;
text-align: center;
font-size: var(--font-18);
font-style: normal;
font-weight: 400;
line-height: 140%; /* 25.2px */
}


.bu01_new02_top_in .box .thum{
	padding: 16px;
}

.bu01_new02_top_in .box .thum img{display: block; max-width: 100%; margin: 0 auto}

.bu01_new02_top_in .next{width: 40px; position: relative;
    display: flex;
    justify-content: center;
    align-items: center;}
.bu01_new02_top_in .next p {
    color: #1C7C6C;
    font-size: var(--font-18);
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    position: absolute;
    top: -30px;
    width: max-content;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
}

.bu01_new02_top_in .next.eng p{top:-60px}

.bu01_new02_top_in .next.down{width: 100%}

.bu01_new02_top_in + .bu01_new02_top_in{margin-top: 25px}
.bu01_new02_top_in.mid{padding-top: 40px}
