﻿main{background: linear-gradient(to bottom, #fff 0% , #edf4ff 30%, #fff 50%);}

/*---------------------------------
best-wrap
----------------------------------------*/
.best-wrap{  width: 100%; margin:0 auto; padding:20px 0px; background: linear-gradient(to bottom, #eeede9 , #f5f6f6);}
.best-wrap .product-item {height: auto;}
.best-wrap .product-item li { width: calc( 100% - 20px); margin:30px 10px; padding:0px;   }
.best-wrap .product-item .slick-prev,.best-wrap .product-item .slick-next,.best-wrap .news-list .slick-prev,.best-wrap .news-list .slick-next{top:-88px;}
.best-wrap .product-item .slick-prev,.best-wrap .news-list .slick-prev{ left:calc(100% - 100px);}   
.best-wrap .product-item .slick-next,.best-wrap .news-list .slick-next{right: 0px;}
@media (max-width:480px) {
.best-wrap .product-item li { margin:20px 10px; padding:0px;}
}

/*cms-btn-more =================================*/ 
.more-txt { font-size: 16px; font-weight: 400; line-height: 1.5;  color: #fff;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
@media (max-width:767px) {
.more-txt { font-size: 14px; line-height: normal; letter-spacing: normal }
}
@media (max-width:768px) {
a.btn-view{ font-size: 0.875rem;}
}
  


/*----------------------------------------/
自訂編輯區塊
----------------------------------------*/
.edit{width: 100%; max-width: 1160px; padding:30px 40px; margin: auto;}
@media (max-width:767.98px) {
.edit{ padding:30px 20px; }
}

.spec-list{ width: 100%;  display: flex;  flex-wrap: wrap; margin:0px;padding: 0px; position: relative; }
.spec-list li{ width: 100%;  padding: 2px 5px 2px 14px; margin:0px 30px 0px 0px;font-size:1rem;font-size: min(max(3.5vw, .95rem), 1rem);line-height: 1.5rem; font-weight: 400; color:#444; position: relative ; list-style: none; }
.spec-list li:before{ content: ''; width:6px; height:6px; background-color:#004098; border-radius: 99rem; position: absolute; top: 14px; left: 0px;  transition: all 0.5s ease 0s;}
.spec-list.half li{ width: calc(100%/2 - 30px);}
@media (max-width:767.98px) {
 .spec-list.half li{ width:100%;}   
}
 

.specbox { width: 100%; margin: 15px auto; padding: 0px;display: -webkit-box; display: -ms-flexbox;  display: flex; -ms-flex-wrap: wrap;  flex-wrap: wrap;  }
.specbox li{ width: calc(100%/3 - 30px); margin: 10px 15px ; padding:10px;  list-style: none; background-image: linear-gradient(125deg, #d6e8f3 0%, #fff 100%);  border: solid 1px #fff; border-radius:10px; box-shadow: -2px 2px 6px rgba(0,0,0,.1) }
.specbox li .item{display: -webkit-box; display: -ms-flexbox;  display: flex; -ms-flex-wrap: wrap;  flex-wrap: wrap;  -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
.specbox .name { margin-bottom: 10px; padding-bottom:5px; border-bottom: 1px solid #c5dae3;  color:#004297; font-weight:700; font-size:1.125rem;  }
.specbox .spec-txt {font-size:1rem;font-size: min(max(3.5vw, .9rem), 1rem);line-height: 1.5rem;  color:#464646;}
@media (max-width:840px) {
.specbox li{ width: calc(100%/2 - 15px); margin: 10px 15px 10px 0px; }
}

@media (max-width:767.98px) {
.specbox { margin: 10px auto auto auto;}	
.specbox li{ width: 100%; margin: 10px auto; }
}

/*table css*/
 
.table-wrapper { width: 100%; height: auto;  margin: 30px auto;  overflow: auto; }
  @media (max-width:767.98px) {
.table-wrapper { margin:0px auto 30px auto;  overflow: auto; }
 }


.datatable { width: 100%; border-spacing: 0; margin: auto;background-color:#fff;  box-shadow: 0px 0px 13px 0px #dbdee0;}
@media (max-width: 991.98px) {
.datatable { width: 100%;}
}

.datatable thead {  letter-spacing: 0.05em;  text-transform: uppercase;}
.datatable tbody { font-size: .9rem ;border: 2px solid var(--borderColor); }
.datatable th { font-size:1rem; font-weight: 700; color:#000d3e;  padding:10px; text-align: center; white-space: nowrap; border-right: 1px solid var(--borderColor); border-top: 2px solid var(--borderColor);  border-bottom: 2px solid var(--borderColor); background-color:#f0f0f0;}
.datatable td { font-size:1rem; font-weight: 400;padding: 10px; white-space: nowrap; border: 1px solid var(--borderColor);   }
.datatable thead td{ color: #000;  font-weight: 700; }
/*.datatable tr:nth-child(even) {background-color:#ededed; }*/
.datatable tr.sticky {color: #000; font-weight: 700; position: sticky;  top: 0;  z-index: 1;  background: #fff;box-shadow: 0 0 6px rgba(0,0,0,0.25);}
.datatable th.sticky,.datatable td.sticky {  color: #000; font-weight: 700;  position: sticky; left: 0; background: var(--stickyBackground);}
.datatable th.sticky::after,.datatable td.sticky::after {content: ""; position: absolute; right: -6px; top: 0; bottom: -1px;  width: 5px; border-left: 1px solid var(--borderColor); background: linear-gradient(90deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0) 100%);}
.datatable th.sticky::before,.datatable td.sticky::before { content: ""; position: absolute; left: -6px; top: 0; bottom: -1px;  width: 5px; border-right: 1px solid var(--borderColor); background: linear-gradient(90deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,0.08) 100%);}
.datatable td .wrap { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center}
.datatable span.txt-r{ display: flex; flex-wrap: wrap;text-align: right}
.datatable span.txt-name{ display: flex; flex-wrap: wrap;flex-direction: column;  }



@media (max-width:320px) {
.datatable tr.sticky {   position: relative;  }
.datatable th.sticky,.datatable td.sticky {  position: relative; }
}
.table-box{display: none}
 @media (max-width:767.98px) {
.table-box{display: block; background-color: #fff;}
.table-box .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center}
.table-box .wrap span{margin: auto 0; }
.table-box .txt-r{width: 30%;justify-content: flex-end; text-align: right}
.table-box .txt-name{width:70% }
.table-box .txt-center{text-align: center}

/*  Responsive2
------------------------------- */
.table-box{width: 100%; margin:auto ; padding:0px;}
.table-box .dl-row{ display: inline;}
.table-box dl{ display: flex; flex-wrap:wrap;align-items: center;position: relative; width: 100%; border-bottom: 1px solid #555; margin: 0; padding:3px 0;  letter-spacing: 1px;}
.table-box dl.noline{ border-bottom: none;}
.table-box dl.bottom-line{  border-bottom:2px solid #000; background-color:#eaeaea }
.table-box dl.mark img{ margin: 5px;}
.table-box dl.act dd{ color: #ce0000;}
.table-box dl dt{ width:65%; font-size: 0.875rem; font-weight:400;color:#575757;  padding: 1px 5px; }
.table-box dl dd{ width: calc(100% - 65%); font-size: 0.875rem; font-weight:700; text-align: center;}
.table-box .col.item {flex: 1 0 0; }
.table-box .full{ flex: 1 0 100%;}
.table-box .column{margin: auto 0; width: 100%;flex-direction: column}
.table-box .col {  padding: 0px 2px 0px 0px ;word-wrap: normal; word-break: keep-all; word-spacing: normal}
.table-box .item-half{margin: auto 0; width:50%;}
}





.w-list{ width: 100%; margin: auto; padding: 0px 20px; list-style: none}
.w-list li{ display: block; padding-left: 20px;  margin-bottom: 20px; font-size: 1.15rem;   font-size: min(max(3.5vw, .9rem), 1.15rem);font-weight:400; line-height: 1.5; letter-spacing: normal; color: #000;  position: relative; }
.w-list li:before { width: 10px; height:10px; content: "";  left:0px; top:10px;position: absolute; background-color:#49b232; border-radius: 2px;}
.w-list li p{font-size: 1rem;   font-size: min(max(3.5vw, .875rem), 1rem);}
 @media (max-width:767.98px) {
 .w-list{  padding: 0px; }    
}
 
.spec-box{position: relative}
.spec-box .title-left{  width: 100%!important;  display: block; margin: 0; padding:20px 0px 10px 0px;   cursor: pointer; position: relative; }
.spec-box .title-left::before {position: absolute;  right:0px; top:30px; margin-right: 10px; content: ""; display: inline-block; vertical-align: middle; margin-top:10px; width:16px; height:16px; background-color:transparent;  border-top: 4px solid #e60012; border-right: 4px solid #e60012; -moz-transform: rotate(135deg); -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); -webkit-transition: transform .5s; transition: transform .5s; }


.spec-box .spec-table {   height: auto; }
.spec-box.active .title-3::before { -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.spec-box.active .spec-table { max-height: 0; overflow: hidden; padding:0px; }
 



/* ==== 底圖 === */
.bg-light{padding:50px 0px; background:linear-gradient(to bottom, rgba(196,196,196,1), rgba(232,232,232,1)); overflow: hidden; position: relative}
.bg-solution { width:50%; background-image: attr(src url); background-repeat: no-repeat; background-size: 100% auto; background-position:left top; position: absolute;z-index: 0; top:-17vw; left: -10%; right:0; bottom: 0; line-height: 0;}
 
.solution {width:90%; margin:auto;  padding: 0px;list-style: none; display:flex; flex-wrap: wrap; align-items: center;align-content: center;  justify-content: center; position: relative }
 .solution li {width:calc(100%/4 - 100px);  margin:50px; cursor: pointer; position: relative;  }
.solution li:after{ content: ""; width: 100%; height:30px; position: absolute;z-index: -1; right:-40%; top:12vh; background: url("../images/index/arrow-r.svg") no-repeat right center; }
.solution li:nth-child(4):after,.solution li:last-child:after{display: none;}
.solution li .item { width: 100%; padding: 10px;display:flex; flex-wrap: wrap; align-items: center;  justify-content: center; margin: auto; border-radius:25px;border:solid 2px #e8334a;background: #fff ;box-shadow: 1px 1px  8px 3px rgba(233, 51 ,74,.3); }
 
.solution li figure{  width:120px;height:120px;  margin: auto; padding: 10px;   }
.solution li span{  width:100%;min-height: 46px; font-size: clamp(.9rem, 2.3vw, 1.125rem); color:#000e3d;font-weight: 700; line-height: 1.275rem;text-align: center;  }
 
  
/*hover*/
.solution li .item:hover, .solution li .item:focus { background-color:rgba(233, 51 ,74,1);   animation: pulse 1s; box-shadow: 0 0 0 2em transparent;}
.solution li .item:hover figure img{ filter:invert(100%) brightness(5) grayscale(1) }
.solution li .item:hover span{color: #fff;}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(146, 148, 248, 0.4);  }
}



 


/*solution*/
.list-item{ display: flex;  flex-wrap: wrap;  list-style: none; margin:auto; padding: 0px;}
@media all and (min-width: 768px) {
.list-item{  margin:60px  auto; padding: 20px 0px;}
}
.list-item li {  position: relative; background-image: linear-gradient(to right, #e8f3f8, #f4f5f6); overflow: hidden; width:100%; padding: 32px;  border-radius: 10px; margin:30px auto;transition: all 0.3s linear 0s; }

@media all and (min-width: 768px) {
.list-item li { width:calc(100% - 30px); margin:30px 15px; }	
}


@media all and (min-width: 1025px) {
.list-item li { width:calc(100%/2 - 30px); padding: 32px 56px;   }
}

@media all and (min-width: 768px) {
.list-item li::before {  grid-column: 1/2; grid-row: 1/3;  min-width: 32px; font-size: 2rem  }
}
.list-item li::after { content: "";  position: absolute; bottom: calc(100vw/ 1440 * -30);  right: calc(100vw/ 1440 * -30);  width: calc(100vw/ 1440 * 60); aspect-ratio: 1/1; background-color: #f2cd00; filter: blur(calc(100vw / 1440 * 20))}
@media all and (min-width: 768px) {
.list-item li::after {  bottom: -30px;  right: -30px;  width: 80px; filter: blur(20px) }
}
 
 
.list-item li a{ color: #333;}
.list-item li:hover a{ color: #fff;}
.list-item-name {  margin-bottom:15px;  font-size: 1.5rem; font-weight: 500; line-height: 1.5}
@media all and (min-width: 1025px) {
.list-item-name {  margin-bottom: 8px; font-size: 1.75rem  }
}
.list-item-text { min-height:72px;font-size: 1rem; font-size: min(max(3.5vw, 0.9rem), 1rem);font-weight:400;  line-height: 1.75rem; letter-spacing: 0.75px; margin:5px 0px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow-wrap: break-word; word-break:normal;}
@media all and (min-width: 1025px) {
.list-item-text { font-size: 1.125rem;  }
}

.list-accent{ color: #0055b8;}

.list-item li .moreBox { position: absolute; top: -1px;  right: -1px; background-color: #083078; border-radius: 0px 15px 0px 15px; width: 50px;  height: 50px; display: -webkit-box; display: -ms-flexbox; display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center; justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;}
.list-item li .moreBox .more{ position: relative; -webkit-transform: translate(0); transform: translate(0);  transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86); }
.list-item li .moreBox .more::before {content:""; width: 30px; height: 30px; background: url("../images/icon/arrow-right-w.svg"); background-position: center;position: absolute; left:-15px; top:-15px; right:auto; bottom:auto;transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);}


/*:hover*/
.list-item li:hover { transform: scale(1.01); color: #fff; background-image: linear-gradient(250deg, #33aedc 0%, rgba(79, 128, 202, 0) 100%); background-color: #0075af; border-color: transparent; box-shadow: -5px 10px 30px 2px rgba(255, 255, 255, 0.3) inset, 0 5px 15px 0 rgba(41, 120, 245, 0.2);  filter: drop-shadow(0px 10px 12.5px rgba(0, 117, 175, 0.2));}
.list-item li:hover  .more::before { transform: translateX(5px);}
.list-item li:hover .moreBox{background-color:#55b4e7 } 




.why{position: relative; padding: 80px 0px;}
 .why:after {  content: '';  display: block;  width: 100%;  height: 100%;  background: url("../images/index/mask-blue.svg") no-repeat center top;  background-size: 100% auto;  position: absolute; left: 0;  top: 0px;  z-index: -10;  transition: 1.2s ease-in-out;  filter: hue-rotate(5.5deg) brightness(100%); }
 .why:before {  content: '';  display: block;  width: 100%;  height:50%;  background:#eaf2f4;  position: absolute; left: 0;  bottom: 0px;  z-index: -10;  transition: 1.2s ease-in-out;  filter: hue-rotate(5.5deg) brightness(100%); }
@media all and (max-width: 1280px) {
 .why:before {     height:70%;   left: 0;  bottom: 0px;   }
}
@media all and (max-width:840px) {
 .why:before {   height:80%;  }
}
@media all and (max-width:767.98px) {
 .why:before {   height:90%;  }
}
@media all and (max-width:320px) {
 .why:before {   height:100%;  }
}

.c-title-icon { display: flex; flex-direction: column;  align-items: flex-start;}
.c-symbol {  position: relative; width: 10px; height: 10px;margin-left: 10px; border-radius: 50%;  font-size: 0;  color: rgba(0, 0, 0, 0); background-color: #f2cd00;}
.c-symbol::before { content: ""; position: absolute; left:-10px; width: 10px; height: 10px; background-image: linear-gradient(to right, #004198, #00a0df); border-radius: 50%;}

.why-box{width: 100%; margin:10% auto;}
.why-title {  margin-bottom:15px;   font-size:1.5rem; font-size: min(max(3.5vw, 1.15rem), 1.5rem); font-weight: 500; line-height: 1.5; color:#004198 }

.why-list{ display: flex; flex-wrap: wrap;  justify-content: space-between;width: min(100%, 1160px); margin: auto; padding: 0px; list-style: none;}
.why-list li { width: 50%; margin-bottom: 20px;  }
.why-list li:nth-child(2n) { margin-left: auto; padding-left: 200px; }
.why-list li:nth-child(2n-1) { padding-right: 200px;  }
.why-list li p {  font-size: 1rem; font-size: min(max(3.5vw, 0.875rem), 1rem);font-weight:400; line-height: 1.8}
.why-image { position: absolute;  top:60%; left: 50%; z-index: 0;  transform: translate(-50%, -70%);  width: 348px;  height: 348px;  }

.image-circle{position: relative;z-index: 1}
.image-circle::after { content: ""; top: 0; left: 0; position: absolute;z-index: -9; width: 100%;  height: 100%;  border-radius: 50%;  background-color:#fff;filter: blur(10px);}


@media all and (max-width:840px) {
.why-list li {  width: 100%; margin-bottom: 20px;  }
.why-list li:nth-child(2n) {  padding-left: 0px; }
.why-list li:nth-child(2n-1) { padding-right: 0px;  }
.why-image { position: relative;  top:auto; left: auto;  transform: translate(0%, 0%);  }
 }
@media all and (max-width:420px) {
.why-list{   padding: 0px 20px 0px 0px; }	
.why-image { width: 80%;height: auto; margin: auto }	
}

/*-------------------*/
/***** case *****/
/*------------------*/
.case-list { width: 100%; margin:40px auto auto auto;padding: 0px;  position: relative;  z-index: 0; }
.case-list li { width: calc(100%  - 40px);height: auto;  margin:0px 20px 50px 20px; padding:0px; list-style: none; background-color: #fff;  transition: all 0.3s linear 0s; }
.case-list .item {  display: flex; flex-wrap: wrap; flex-direction: column;  padding:0px; ; transition: all 0.3s linear 0s;  }
.case-list .photo { width: 100%;padding: 0 ; overflow: hidden }
 
.case-list .inner { width: 100%;padding: 20px 0px; position: relative;  display: flex;flex-wrap: wrap; }
.case-list figure  {width: 100%; padding-bottom: 62.5%; height: 0; overflow: hidden;   border-radius:0px; position: relative;  z-index: 1; transition: all 0.5s ease-in-out; }
.case-list figure img { max-width:100%; height: auto; object-fit: cover; margin: auto; display: block; background-color: #004098;border-radius:0px;   transition: all 0.5s ease-in-out;}
.case-list .inner .time {  width: 60px; margin:0px;  display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center;  -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: flex-start;}
.case-list .inner .time .date { width: 60px; display: flex; flex-wrap: wrap; align-items: center; flex-direction: column-reverse }
.case-list .inner .time .date-box{ display: flex; flex-direction: column  }
.case-list .inner .time .date-box .top,.case-list .inner .time .date-box .bom { font-size: 0.9rem;font-weight: 700; line-height: 1; color: #083078; }
.case-list .inner .time .date .day {padding-left: 10px; font-size: 2.375rem;line-height: 1; font-weight: 700;  color: #083078; }
.case-list .inner h3  { margin-bottom: 12px; font-weight: 500; font-size:1.175rem; font-size: min(max(3.5vw, 0.875rem), 1.175rem); letter-spacing: 1px; color: #333; white-space: wrap;overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; word-break:normal; overflow-wrap: break-word;  }
.case-list .inner p {min-height:72px;font-size: 1rem; font-size: min(max(3.5vw, 0.875rem), 1rem);color:#687ca1; line-height: 1.5rem; letter-spacing: 0.75px;   margin:5px 0px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow-wrap: break-word; word-break:normal;}
.case-list .inner .news-inner {width: calc(100% - 60px);  padding: 10px;   }
.case-list .inner .new-tag  { width: auto; margin: 2px auto; padding:2px  10px; background-color:#6b83ae;line-height: 1;  }
.case-list .inner .new-tag  a{ color:#fff;font-size: 12px;   }
/*hover*/
.case-list li:hover .item{ transform: scale3d(1.01, 1.01, 1.01);  }
.case-list li:hover .item  h3  ,.case-list li:hover .item  p ,.case-list li:hover .inner .time .date-box .top,.case-list li:hover .inner .time .date-box .bom,.case-list li:hover .inner .time .date .day  {color:#29b2e1;}
.case-list li:hover figure img { transform: scale(1.05);opacity: 1;}
.case-list li:hover .new-tag{background-color:#29b2e1;}

.case-list li .photo:before { content: ""; display: block; width: 0px; height: 80%; top: 0%;  left: 0%; opacity: 0;  background: #fff; box-shadow: 0px 0px 60px 100px #fff;  position: absolute;z-index: 999; -webkit-transform: skewX(-20deg); -moz-transform: skewX(-20deg); -ms-transform: skewX(-20deg); -o-transform: skewX(-20deg); transform: skewX(-20deg);}
.case-list li:hover .photo:before  { -webkit-animation: shine 0.5s 0s linear; -moz-animation: shine 0.5s 0s linear; animation: shine 0.5s 0s linear;}
.case-list .slick-dots{bottom:-30px;}
.case-list .slick-dots li{ width: 16px; height: 16px; min-width: 16px; min-height: 16px;}
 @media (min-width:1600px) {
.case-list { margin: 30px auto 0px auto;padding: 40px 60px 0px 60px;  }	
}
@media (max-width:1200px) {
 .case-list li { width:100%;height: auto; margin:0px 10px 50px 10px; }	
 }
 @media (max-width:840px) {
 .case-list li.slick-current.slick-active { transform: scale(1); }
.case-list .inner .time {  width:40px; }	
.case-list .inner .news-inner {width: calc(100% - 40px);  }	 
.case-list .inner .time .date .day { font-size: 1.375rem; }
.case-list .inner .time .date-box .top,.case-list .inner .time .date-box .bom { font-size: 0.75rem;  }
.case-list .inner { padding: 0px; }	 
}
.best-wrap{  width: 100%; margin:0 auto; padding:50px 0px; }
.best-wrap.case{background: linear-gradient(to bottom, #e8f3f8 , #fff);}


/*  page-editor -----------------------*/
.page-editor {  margin: 0 auto;padding:20px 20px 20px 0px;  letter-spacing: 0.02rem; margin-bottom: 70px;  color: #333}
.page-editor .titlebox{margin:30px auto 50px auto; }
.page-editor p{ font-size: clamp(.9rem, 2.3vw, 1rem); font-weight: 400;line-height: 1.75rem;  }
.page-editor blockquote{ width: 80%; margin: auto; font-size: clamp(1rem, 2.3vw, 1.75rem); font-weight: 600;line-height: 2.375rem; color: #000 }
 @media only screen and (max-width:840px) {
.page-editor { margin-bottom: 20px;}
.page-editor blockquote{ width: 100%; line-height: 1.5rem;  }
}

/*capability.html css*/
.capability{ width: 100%; margin-bottom: 60px;  }

 .border-style{ border-radius:15px;background-image: linear-gradient(to right, #fff, #f4f5f6);  border:1px solid rgba(0, 81, 150, .1);}
.capability .titlebox{margin: 30px 0px;}
.c-pic{ width: 40%; padding:0px 20px;  }
.c-pic img{ border-radius:15px; overflow: hidden}
.c-txt{ width: 60%; padding:0px 20px;}
 
.capability h3{ font-size: clamp(1rem, 2.3vw, 1.375rem); font-weight: 500;line-height:1.875rem; letter-spacing: 2px; }
.capability h4{ font-size: clamp(.9rem, 2.3vw, 1.125rem); font-weight: 400;line-height:1.5rem;  }
@media only screen and (max-width:767.98px) {
.capability h3{ line-height:1.5rem; }
}
.v-center{align-items: center}
 
.steps { width: 100%; position: relative; padding: 0 30px; margin: 2rem 0 0; list-style: none;}
.steps ul{list-style: none; margin:50px auto;}
.steps-item { position: relative;  min-height:60px; counter-increment: list; padding-left: 0.5rem; margin-bottom: 5px;font-size: clamp(.9rem, 2.3vw, 1rem); }
.steps-item:before { content: ""; position: absolute; left: -1.5rem; top:38px;  height: 50%;  width: 2px;  border-left: 2px solid #004198;}
.steps-item:after { content: counter(list); position: absolute; top:2px; left: -2.5rem; width:36px; height: 36px; border-radius: 50%; background: transparent; color: #004198; font-weight: 400; font-size: 13px; line-height: 2rem; text-align: center; border: 1px solid #004198;}
.steps-item:last-child:before { border: none;}
.steps-item.steps-item--completed { opacity: 1; }
.steps-item.steps-item--completed:after {  content: "\2713"; font-weight: 700;  background: #004198;  color: #fff;}
.steps-item.steps-item--active:after { background: #004198;  color: #fff;}


.steps-title { padding: 0.5rem 0 0.5rem; margin: 0; font-size: clamp(.875rem, 2.3vw, 1rem); font-weight: 500; line-height: 1.375rem; }
.steps-info { font-size: 13px;}

.step-box { width: 100%;  padding:0;  margin:50px  auto;list-style: none; display: flex; flex-wrap: wrap; }
.step-box li { width: calc(100%/4 - 25px); height: auto;  margin:5px 25px 35px  0px; counter-increment: step; position: relative }  
.step-box li:before { line-height: 40px;  font-weight: 700; text-align: center; color: #fff;background:#0075af;  content: counter(step); position: absolute; z-index: 1; left:2px;top:2px;  border-radius: 100%;  width: 40px; height: 40px; }
.step-box li:after {content: ""; position: absolute;z-index: 0; left:-3px;top:-3px;  border-radius: 100%;  width: 50px; height: 50px; background-image: linear-gradient(to right, #e1eeff, #f4f5f6); box-shadow: -5px 10px 30px 2px rgba(119, 196, 255,.5) ;}

@media only screen and (max-width:767.98px) {
 .border-style{ padding: 0px 10px; }	
.steps { padding: 0px; }	
 .step-box li { width: calc(100%/2 - 25px);  }  
}


.step-box li .inner { padding: 0.2rem 0 0.5rem; margin: 0; font-size: clamp(.875rem, 2.3vw, 1rem); font-weight: 400;line-height: 1.65rem;  }

.step-box.w3 li { width: calc(100%/3 - 70px); height: auto;  margin:5px 70px 35px  0px; counter-increment: step; position: relative }  
.step-box.w3 li :after {content: ""; position: absolute;z-index: 3; left:auto; top:40px; right: -50px; width: 80px; height: 80px; background: url("../images/index/arrow-1.svg")  no-repeat right top; }
.step-box.w3 li:last-child :after { display: none }
.step-box.w3 li.half {width: calc(100%/4 - 70px);}
.step-box.w3 li.half:before {display: none }
.step-box.w3 li.half:after {display: none }
@media only screen and (max-width:768px) {
.step-box.w3 li.half {width: calc(100%/2 - 70px);}

}

@media only screen and (max-width:767.98px) {
.step-box.w3 li,.step-box.w3 li.half { width: calc(100%  - 70px);   margin:5px auto 70px  auto;  }  
.step-box.w3 li:last-child,.step-box.w3 li.half:last-child {   margin:5px auto auto  auto;  }  	
.step-box.w3 li :after,.step-box.w3 li.half:after { transform: rotate(90deg);left:auto; top:auto; right: 50%;bottom: -70px; }	
}


.steps .item { display: flex; flex-wrap: wrap; justify-content: flex-start; }
.steps-item-pic{ width: 100%; padding:0px;}
.steps-item-pic img{ border-radius:15px; overflow: hidden}
.steps-item-inner{width: 100%;}


.steps-item-pic-half{ width:40%;}
.steps-item-pic-half img{  overflow: hidden}
@media only screen and (max-width:767.98px) {
	.steps-item-pic-half{ width:100%; margin-bottom: 60px;}
}

.step-box-2 { width: 100%;padding:0; margin:0px 0px 10px 0; }
.step-box-2 ul { width: calc(100% - 20px); padding:10px 20px; margin:0px 0px 0px 20px; display: flex; flex-wrap: wrap; list-style: none}
.step-box-2 li { width: calc(100%/3); padding:0px;margin:5px 0;  font-size: .875rem; font-weight: 500;line-height: 1.375rem;   list-style:disc}  
.step-box-2 li .inner { padding: 0.2rem 0; margin: 0; font-size: clamp(.875rem, 2.3vw, 1rem); font-weight: 500;line-height: 1.65rem;  }

.bg-box-light{background:rgb(29,153, 210,10%);   backdrop-filter: blur(15px); border: 4px solid rgba(255, 255, 255, 0.18);  border-radius:5px;}
 .inner-number { width: auto;  margin:0px 0px 0px 20px; padding: 5px 20px;   font-size: clamp(.875rem, 2.3vw, 1rem); font-weight: 500;line-height: 1.65rem; color:#004198; background-color:#edf1f5; position: relative;}
/*  .inner-number::before { content: "";  width: 100%; height: 100%; background-color:#004198; position: absolute; left:0px; bottom:0px;  }
*/ 
@media (max-width: 767.98px) {
.step-box-2 li { width: calc(100%/2); padding:0px;margin:5px 0;  font-size: .9rem; font-weight: 500;line-height: 1.375rem;  }  
}
@media (max-width: 420px) {
.step-box-2 li { width:100%;  }  
}


.step-list { width: 100%;  margin:3% auto; padding: 0px;  list-style: none; display: flex; flex-wrap: wrap;  justify-content: flex-start; align-items: stretch; position: relative}
.step-list li{  width: calc(100% - 20px); margin: 10px;  background:rgb(29,153, 210,10%);;  backdrop-filter: blur(15px); border: 4px solid rgba(255, 255, 255, 0.18);  overflow: hidden; border-radius:15px; z-index: 1; position: relative}
.step-list li::after {  content: ""; position: absolute;  bottom: calc(100vw / 1440 * -30);  right: calc(100vw / 1440 * -30); width: calc(100vw / 1440 * 60);  aspect-ratio: 1 / 1;  background-color: #f2cd00; filter: blur(calc(100vw / 1440 * 20));}
.step-list.w2 li{  width: calc(100%/2 - 20px); margin: 10px; border-radius:15px;background-image: linear-gradient(to right,#e1eeff, #f4f5f6);  border: 2px solid rgba(0,81,150,.2);  z-index: 1; position: relative}
.step-list.w3 li{  width: calc(100%/3 - 20px); margin: 10px; border-radius:15px;background-image: linear-gradient(to right,#e1eeff, #f4f5f6);  border: 2px solid rgba(0,81,150,.2);  z-index: 1; position: relative}

.step-list .inner{  padding:30px 20px;  font-size: clamp(.875rem, 2.3vw, 1.275rem); font-weight: 500;line-height: 1.65rem; word-break:normal; word-wrap: normal}
@media only screen and (max-width:767.98px) {
.step-list.w2 li{  width: 100%; margin: 10px auto;  }	
.step-list.w3 li{width: calc(100%/2 - 20px);   }

}


.step-2{position: relative}
.step-2 .circle{  opacity: .5;filter: blur(15px); position: absolute; width: 300px; height: 300px; transform: translate(-5rem, -15rem); z-index: -1; border-radius: 50%; background: linear-gradient(to right,  #0062a3, #29ABE2);  }
.step-2 .circle:nth-child(2){  filter: blur(35px);width: 200px; height: 200px; background: linear-gradient(to right, #F15, #F15A2A); transform: translate(55rem, -45rem);}
@media (max-width: 1112px) {
.step-list .inner{ padding:30px 10px; font-size: clamp(.875rem, 2.3vw, 1.175rem); }	
}
@media (max-width: 840px) {
.step-list li{ width: calc(100%/2 - 20px);}
}
@media (max-width: 767.98px) {
.capability{  margin-bottom:10px;  }
.step-list li{ width: 100%; margin:10px auto}
.c-txt{ width: 100%; padding:0px;}
.c-pic{ width: 100%; padding:0px;  }
}

/*table css*/
:root { --stickyBackground: #eee; --borderColor:#1c8ecd;}
.table-wrapper { width: 100%; height: auto;  margin: 30px auto;  overflow: auto; }
  @media (max-width:767.98px) {
.table-wrapper { margin:0px auto 30px auto;  overflow: auto; }
 }


.datatable { width: 100%; border-spacing: 0; margin: auto;background-color:#fff;  box-shadow: 0px 0px 13px 0px #dbdee0;}
@media (max-width: 991.98px) {
.datatable { width: 100%;}
}

.datatable thead {  letter-spacing: 0.05em;  text-transform: uppercase;}
.datatable tbody { font-size: .9rem ;border: 2px solid var(--borderColor); }
.datatable th { font-size:1rem; font-weight: 600; color:#004298;  padding:10px; text-align: left; white-space: nowrap; border-right: 1px solid var(--borderColor); border-top: 2px solid var(--borderColor);  border-bottom: 2px solid var(--borderColor); background-color:#e4f1ff;}
.datatable td { font-size:1rem; font-weight: 400;padding: 10px; white-space: nowrap; border: 1px solid var(--borderColor);   }
.datatable thead td{ color: #000;  font-weight: 700; }
/*.datatable tr:nth-child(even) {background-color:#ededed; }*/
.datatable tr.sticky {color: #000; font-weight: 700; position: sticky;  top: 0;  z-index: 1;  background: #fff;box-shadow: 0 0 6px rgba(0,0,0,0.25);}
.datatable th.sticky,.datatable td.sticky {  color: #000; font-weight: 700;  position: sticky; left: 0; background: var(--stickyBackground);}
.datatable th.sticky::after,.datatable td.sticky::after {content: ""; position: absolute; right: -6px; top: 0; bottom: -1px;  width: 5px; border-left: 1px solid var(--borderColor); background: linear-gradient(90deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0) 100%);}
.datatable th.sticky::before,.datatable td.sticky::before { content: ""; position: absolute; left: -6px; top: 0; bottom: -1px;  width: 5px; border-right: 1px solid var(--borderColor); background: linear-gradient(90deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,0.08) 100%);}
.datatable td .wrap { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center}
.datatable span.txt-r{ display: flex; flex-wrap: wrap;text-align: right}
.datatable span.txt-name{ display: flex; flex-wrap: wrap;flex-direction: column;  }



@media (max-width:320px) {
.datatable tr.sticky {   position: relative;  }
.datatable th.sticky,.datatable td.sticky {  position: relative; }
}
.table-box{display: none}
 @media (max-width:767.98px) {
.table-box{display: block; background-color: #fff;}
.table-box .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center}
.table-box .wrap span{margin: auto 0; }
.table-box .txt-r{width: 30%;justify-content: flex-end; text-align: right}
.table-box .txt-name{width:70% }
.table-box .txt-center{text-align: center}

/*  Responsive2
------------------------------- */
.table-box{width: 100%; margin:auto ; padding:0px;}
.table-box .dl-row{ display: inline;}
.table-box dl{ display: flex; flex-wrap:wrap;align-items: center;position: relative; width: 100%; border-bottom: 1px solid #555; margin: 0; padding:3px 0;  letter-spacing: 1px;}
.table-box dl.noline{ border-bottom: none;}
.table-box dl.bottom-line{  border-bottom:2px solid #000; background-color:#eaeaea }
.table-box dl.mark img{ margin: 5px;}
.table-box dl.act dd{ color: #ce0000;}
.table-box dl dt{ width:65%; font-size: 0.875rem; font-weight:400;color:#575757;  padding: 1px 5px; }
.table-box dl dd{ width: calc(100% - 65%); font-size: 0.875rem; font-weight:700; text-align: center;}
.table-box .col.item {flex: 1 0 0; }
.table-box .full{ flex: 1 0 100%;}
.table-box .column{margin: auto 0; width: 100%;flex-direction: column}
.table-box .col {  padding: 0px 2px 0px 0px ;word-wrap: normal; word-break: keep-all; word-spacing: normal}
.table-box .item-half{margin: auto 0; width:50%;}
}


.faq{  width: 100%;margin: auto; list-style: none; padding:50px 20px;background-color: transparent;}
.faq li { margin:0px auto 20px auto;  padding: 0px ; display: flex; flex-wrap: wrap; border: solid 1px #d5dee3; border-radius:8px;  background:#fff;   position: relative;}
.faq li::before { content:"Q"; font-size: 1.5rem; text-align: center;  font-weight: 700; color: #fff;; min-width: 40px; margin: 0px auto 0px 5px;  z-index: 3;}
.faq li::after{content: ""; position: absolute; left:5px; top:8px; width: 40px; height:40px; background:#005196; border-radius:50%;}

.faq li.active .answer {display: block; max-height:100%;  transition: max-height 0.5s ease, padding-bottom 0.5s ease;}
.faq li.active h3.question { color:#000; transition: color 0.5s ease;}
.faq li.active { background-color:#fff; }

.faq h3.question {position: relative; width: calc(100% - 50px); padding:0px 50px 0px 20px; cursor: pointer;font-size: 1.125rem;font-weight:500; color:#0075af;  transition: color 0.5s ease;}
.faq li .answer { display: none;color: #495057; font-size: 16px; line-height: 24px;width: 100%; max-height: 0; padding:15px 15px 25px 70px; overflow: hidden;  transition: max-height 0.5s ease, padding-bottom 0.5s ease;}
.faq li .answer a{ color:#0ea997; text-decoration: underline!important; }
.faq li .answer a:hover{ color:#70a84a;}

.faq .plus-minus-toggle { position: absolute;bottom:-5px; right: 10px;  z-index: 1;cursor: pointer; width:40px; height: 40px; border-radius:50%; transition: background-color .3s ease, transform .3s ease;}
.faq .plus-minus-toggle.collapsed { background:#d5dee3; }
 
.faq .plus-minus-toggle:before,.faq .plus-minus-toggle:after { content: '';width: 21px;height:2px; right:26%; top: 48%; position: absolute; transition: transform 500ms ease;}
.faq .plus-minus-toggle:after{transform: rotate(-45deg);  background:#000; }
.faq .plus-minus-toggle:before{ transform: rotate(45deg);  background:#000; }  
.faq .plus-minus-toggle.collapsed:after {transform: rotate(90deg); background:#0075af;}
.faq .plus-minus-toggle.collapsed:before {transform: rotate(180deg);background:#0075af;  }
.faq li.active .answer:before{ -ms-transform: translateY(-50%) scaleX(1); transform: translateY(-50%) scaleX(1);}
.faq li.active .answer:before { position: absolute; top: 50%; left: 0;  -ms-transform-origin: left; transform-origin: left; -ms-transform: translateY(-50%) scaleX(0); transform: translateY(-50%) scaleX(0); width: 3%;  height: 2px; background-color: #fff; transition: transform .3s ease;}


/*hover*/
.faq li:hover{border-color:#0075af;  }
.faq li:hover h3.question {color:#0075af; }
.faq li:hover .plus-minus-toggle.collapsed { background:#005196; }
.faq li:hover .plus-minus-toggle.collapsed:after {  background:#fff;}
.faq li:hover .plus-minus-toggle.collapsed:before { background:#fff;  }
 
 
 

@media (max-width:767.98px) {
.faq{max-width: 100%;  padding:30px 0px;}   
.faq li::before { min-width: 30px; font-size: 1.25rem; } 
.faq li::after{ left:5px; top:8px; width: 30px; height:30px;  }	
.faq .plus-minus-toggle { width:30px; height: 30px;  top:10px; right:5px;  bottom: auto; }  
.faq .plus-minus-toggle:before,.faq .plus-minus-toggle:after { width: 20px;height:2px; right:20%; top: 48%; position: absolute; transition: transform 500ms ease;}
.faq li .answer {padding:15px 15px 25px 60px;font-size: .875rem}
.faq li .answer  p{font-size: .875rem}
.faq h3.question {margin: 0px; padding: 10px 40px 10px 0px;font-size: .9375rem;line-height: 1.5rem;}
 }
 