@charset "UTF-8";
@import "../fonts/inter.css";
* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  line-height: 1.5;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
  width: 100vw;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  padding: 0px;
  margin: 0px;
  width: 100vw;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s all ease;
}

a:hover {
  text-decoration: underline;
  transition: 0.3s all ease;
}

a.btn {
  padding: 20px 32px;
  background: #E5E5E5;
  border: 1px solid #D4D4D4;
  border-radius: 3px;
  text-decoration: none;
  word-break: keep-all;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

h1 {
  font-weight: 600;
  font-size: 30px;
  line-height: 36px;
}

h1, p {
  color: #53565A;
}

/* mark {
    color: #44D62C;
    background-color: transparent;
}
*/
h3, h4 {
  margin: 0;
  padding: 0;
}

a.green, span.green {
  color: #44D62C;
  background-color: transparent;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

figure {
  margin: 0px;
}

img {
  max-width: 100%;
}

.circle img {
  width: 100%;
  height: 100%;
  border-radius: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

button {
  cursor: pointer;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

ul.square, .article_body .article_content ul {
  list-style: none;
  padding-left: 30px;
}

ul.square li, .article_body .article_content ul li {
  list-style: none;
  position: relative;
}

ul.square li::before, ul.square ul ul li::before,
.article_body .article_content ul li::before, .article_body .article_content ul ul ul li::before {
  content: "";
  position: absolute;
  top: 4px;
  left: -30px;
  width: 20px;
  height: 20px;
  background-image: url("/images/list-style.svg");
}

ul.square ul, .article_body .article_content ul ul {
  padding-left: 30px;
}

ul.square ul li,
.article_body .article_content ul li {
  position: relative;
}

ul.square ul li::before,
.article_body .article_content ul ul li::before {
  content: "";
  position: absolute;
  top: 0px;
  left: -30px;
  width: 20px;
  height: 20px;
  background-image: url("/images/list-style-outline.svg");
}

.policy .square li::before {
  top: 0px;
}

span.underline {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-color: #44D62C;
          text-decoration-color: #44D62C;
  text-decoration-thickness: 0.2em;
  text-underline-offset: -0.05em;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

body.en span.underline {
  text-underline-offset: 0em;
  text-transform: capitalize;
}

img.fullwidth {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.main {
  min-height: calc(100vh - 504px);
}

.narrow {
  width: 100%;
  max-width: 720px;
  padding: 60px 10px 60px;
  margin: auto;
}

.container {
  width: 100%;
  max-width: 1160px;
  margin: auto;
}

.container.numbers {
  width: 952px;
}

b.line-block {
  display: inline-block;
  font-weight: inherit;
}

.bg-gray {
  background: rgb(245, 245, 245);
}

.mobile-break {
  display: none;
}

.hero {
  height: 100vh;
  min-height: 42vw;
  display: flex;
  align-items: center;
  background-image: url("/images/home_bg.png");
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero .container {
  max-width: 1440px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 120px;
}

.hero h1 {
  font-weight: 600;
  font-size: 48px;
  line-height: 1.25;
  color: rgb(0, 0, 0);
  margin: 0px;
  position: relative;
}

body.en .hero h1 {
  letter-spacing: -0.025em;
}

.hero span:not(.green):not(.underline) {
  font-weight: 400;
  font-size: 20px;
  line-height: 28px;
  color: rgb(107, 114, 128);
  margin-top: 12px;
  width: 100%;
  position: relative;
}

.value {
  background: rgb(15, 23, 42);
  background-image: url(../images/ellipse2.png);
  background-repeat: no-repeat;
  background-position: bottom right;
}

.value .container {
  max-width: 1030px;
  width: 100%;
}

.value:not(.job) .content {
  width: 100%;
}

.value .content .column {
  width: 100%;
  display: flex;
  flex-direction: row;
  margin-bottom: 30px;
  gap: 20px;
  padding: 0 20px;
}
.value .content .column .item {
  width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-height: 500px;
}
.value .content .column .green {
  margin: 0;
  margin-left: -0.05em;
}

.value .content .column:nth-child(2n) {
  flex-direction: row-reverse;
}
.value .content .column:nth-child(2n) h2 {
  text-align: right;
}
.value .content .column:nth-child(2n) .green {
  margin: 0;
  margin-right: -0.05em;
}

.value .content .column p {
  font-weight: normal;
  font-size: 18px;
  line-height: 28px;
  color: #D1D5DB;
}

.value .top-slogon {
  text-align: center;
  padding: 120px 0px;
}

.value .top-slogon h1 {
  line-height: 1.3;
  font-weight: 600;
  font-size: 48px;
  color: #fff;
  letter-spacing: -0.025em;
}

.value .top-slogon h1 .green {
  background: linear-gradient(90deg, #339F29 0%, #37FF21 100%);
  background-clip: text;
  text-fill-color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.value:not(.job) .item {
  padding: 90px;
  display: flex;
  flex-direction: column;
  align-items: left;
  justify-content: space-between;
}
.value:not(.job) .item.slogan {
  padding: 0;
  align-items: center;
  justify-content: center;
}

.value .shadow {
  background: rgba(55, 65, 81, 0.5);
  box-shadow: rgba(255, 255, 255, 0.3) -1px -1px 1px;
  border-radius: 3px;
}

.value h2 {
  color: rgb(255, 255, 255);
  font-weight: 600;
  font-size: 30px;
  line-height: 1.75;
  word-break: keep-all;
  margin: 0px;
}

.value h2 span {
  display: block;
}

.value h2 span.green {
  font-weight: 400;
  font-size: 72px; /* 因為第一句太長所以縮小 */
  line-height: 1.3;
  letter-spacing: 0.025em;
}

body.en .value h2 span.green {
  letter-spacing: -0.025em;
}

.value p {
  color: rgb(209, 213, 219);
  /* margin: 0px 0px 128px; */
  margin-bottom: 40px;
}

.value .forward {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 12px 20px 12px 24px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  font-weight: normal;
  font-size: 18px;
  line-height: 28px;
  color: rgb(255, 255, 255);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.value .forward:hover {
  opacity: 0.9;
}

.value .forward:active {
  opacity: 1;
}

.value .info {
  max-width: 500px;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  text-align: center;
  color: rgb(209, 213, 219);
  margin: auto;
  padding-top: 150px;
  padding-bottom: 280px;
}

.value .info p {
  margin-bottom: 90px;
}

.research {
  text-align: center;
  padding-bottom: 80px;
  padding-top: 60px;
  background: rgb(245, 245, 244);
}

.research h3 {
  font-weight: 600;
  font-size: 48px;
  line-height: 58px;
  color: #53565A;
}

.research p {
  margin-top: 12px;
}

.research ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.research ul li {
  text-align: center;
}

.research ul li .big-numbers {
  color: #44D62C;
  font-weight: 300;
  font-size: 72px;
  display: flex;
  justify-content: center;
  align-items: baseline;
  line-height: 1;
  letter-spacing: -0.04em;
}

.research ul li span.big-numbers sub {
  font-size: 32px;
  font-weight: 700;
}

.research .code li span {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  display: inline-block;
  color: #53565A;
}

.code {
  width: 1669px;
  position: relative;
  margin: 0;
  margin-top: 80px;
  left: 50%;
  transform: translate(-50%, 0px);
}

.code ul {
  list-style: none;
  margin: 0px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0px;
  border-top: 1px solid rgb(212, 212, 212);
  border-bottom: 1px solid rgb(212, 212, 212);
}

.code ul li {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  padding: 20px 0px;
  color: rgb(64, 64, 64);
}

.code::before {
  content: "";
  width: 50%;
  height: 110px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  background-color: red;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgb(245, 245, 244));
}

.code::after {
  content: "";
  width: 50%;
  height: 110px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: red;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0), rgb(245, 245, 244));
}

.topics {
  padding: 90px 0px 120px;
  background: rgb(245, 245, 244);
  text-align: left;
  width: 1669px;
  position: relative;
  margin: 0;
  left: 50%;
  transform: translate(-50%, 0px);
}

.topics .mask {
  display: flex;
  justify-content: space-around;
  max-height: 300px;
  overflow: hidden;
}

.topics::before {
  content: "";
  width: 50%;
  height: 576px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  background-color: red;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgb(245, 245, 244));
}

.topics::after {
  content: "";
  width: 50%;
  height: 576px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: red;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0), rgb(245, 245, 244));
}

.topics .mask::after {
  content: "";
  width: 100%;
  height: 250px;
  position: absolute;
  left: 0;
  bottom: 150px;
  z-index: 0;
  background-color: red;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(245, 245, 244));
}

.topics article {
  padding: 10px;
}

.topics article h3 {
  color: rgb(64, 64, 64);
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
}

.topics article p {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #A3A3A3;
}

.topics .topics_more {
  background: rgb(229, 229, 229);
  border: 1px solid rgb(212, 212, 212);
  border-radius: 3px;
  position: relative;
  bottom: -20px;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  align-items: center;
  z-index: 1;
  text-decoration: none;
}

/* 特殊排序邏輯 */
.topics .mask article:nth-child(1) {
  order: 3;
}

.topics .mask article:nth-child(2) {
  order: 2;
}

.topics .mask article:nth-child(3) {
  order: 5;
}

.topics .mask article:nth-child(4) {
  order: 1;
}

.topics .mask article:nth-child(5) {
  order: 5;
}

.service {
  background: #FFFFFF;
  text-align: center;
  padding: 60px 0px;
  color: #53565A;
}

.service .narrow {
  padding-bottom: 9px;
}

.service h2 {
  font-weight: 600;
  font-size: 48px;
  line-height: 58px;
  color: #53565A;
  margin: 0px;
}

.service p {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 0px;
}

.service figure {
  background: rgba(55, 65, 81, 0.5);
  box-shadow: rgba(255, 255, 255, 0.3) -1px -1px 1px;
  border-radius: 3px;
}

.service figure ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-top: 18px;
}

.service figure ul li {
  border-bottom: 1px solid #D4D4D4;
  padding: 8px 0;
}

.service figure a.btn, .service figure a.btn:active {
  text-decoration: none;
  border: 1px solid #D4D4D4;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.05);
  border: navajowhite;
  justify-content: center;
  padding: 12px;
  width: 100%;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  border: 1px solid #D4D4D4;
}

.service figure a.btn:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid #D4D4D4;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.service .serviceItem {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.service .serviceItem .item {
  height: 230px;
  width: calc((100% - 60px) / 3);
  padding: 30px;
  display: flex;
  background-size: contain;
  background-repeat: no-repeat;
  background-position-y: -12px;
  position: relative;
  z-index: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-height: 639px;
  background-color: #f5f5f5;
  border-radius: 20px;
  flex-direction: column;
}

.service .serviceItem .item h4 {
  font-weight: 600;
  font-size: 20px;
  line-height: 30px;
  margin: 0px;
  position: relative;
  z-index: 1;
  color: #000000;
  text-align: center;
  margin-bottom: 250px;
}

.service .serviceItem .item h4 .green {
  font-size: 24px;
  line-height: 43.2px;
}

.service .serviceItem .item:nth-child(1) {
  width: 100%;
  height: 607px;
  position: relative;
  background-color: transparent;
  flex-wrap: wrap;
  flex-direction: column;
  padding: 60px;
  z-index: 0;
  margin-bottom: 30px;
}

.service .serviceItem .item:nth-child(1)::before {
  content: "";
  background-color: #f5f5f5;
  width: 100%;
  height: calc(100% - 51px);
  position: absolute;
  z-index: -2;
  border-radius: 20px;
  left: 0;
  box-shadow: -1px -1px 1px rgba(255, 255, 255, 0.3);
  bottom: 0;
}

.service .serviceItem .item:nth-child(1)::after {
  content: "";
  background-image: url("/images/service-01bg.png");
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -2;
  border-radius: 20px;
  box-shadow: -1px -1px 1px rgba(255, 255, 255, 0.3);
}

.service .serviceItem .item:nth-child(1) h4 {
  font-weight: 600;
  font-size: 44px;
  line-height: 126%;
  margin-top: 60px;
  text-align: left;
  margin-bottom: 29px;
}

.service .serviceItem .item:nth-child(1) h4 .green {
  font-size: inherit;
  line-height: inherit;
}

.service .serviceItem .item:nth-child(1) a.btn {
  position: absolute;
  bottom: 60px;
  width: 484px;
}

.service .serviceItem .item:nth-child(1) ul {
  margin-top: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
}

.service .serviceItem .item:nth-child(1) ul li {
  border-bottom: none;
  padding: 0;
  margin-bottom: 12px;
}

.service .serviceItem .item:nth-child(2) {
  background-image: url("/images/service-02bg-m.png");
  background-size: cover;
}

.service .serviceItem .item:nth-child(3) {
  background-image: url("/images/service-03bg-m.png");
  background-size: cover;
}

.service .serviceItem .item:nth-child(4) {
  background-image: url("/images/service-04bg-m.png");
  background-size: cover;
}

.header {
  height: 88px;
  width: 100%;
  position: relative;
  z-index: 3;
}

html.menu-on-cover .header {
  position: absolute;
  width: 100vw;
}

.header .container {
  display: flex;
  align-items: center;
  padding: 32px;
  max-width: 1440px;
}

.header .logo {
  width: 138.48px;
  height: 19.32px;
  position: relative;
  overflow: visible;
}

.header .logo img {
  width: 140px;
  height: 30px;
  position: relative;
  top: -10px;
}

.header .nav {
  height: 30px;
  display: flex;
  align-items: center;
}

.header .nav-m {
  display: none;
}

.header ul.menu {
  list-style: none;
  padding: 0px;
  margin: 0px 0px 0px 66px;
  display: flex;
}

.header ul.menu li {
  margin-right: 28px;
  position: relative;
}

.header ul.menu li:last-child,
.header ul.menu li:nth-last-child(2) {
  margin-right: 0px;
  display: flex;
  align-items: center;
}

.header ul.menu li:nth-last-child(2) {
  margin-right: 34px;
}

.header ul.menu li > a, .header ul.menu li .menuItem > a {
  border: 2px solid transparent;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
  color: #53565A;
  text-decoration: none;
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: -4px;
}

.header ul.menu li a:last-child {
  margin-bottom: 0px;
}

.header ul.menu .menuLable {
  border: 2px solid transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  color: #53565A;
  font-weight: 600;
}

.header ul.menu .menuLable span {
  display: inline-flex;
  align-items: center;
  border: 2px solid transparent;
  border-radius: 10px;
  padding: 2px 0 2px 3px;
}

.header ul.menu .menuLable.active span {
  border: 2px solid #44D62C;
  border-radius: 10px;
  transition: 0.3s all ease;
}

.header ul.menu .menuLable.active span i {
  transform: rotate(180deg);
}

.header .menu .menuItem {
  display: none;
}

.header ul.menu .dropdown .menuLable.active .menuItem {
  display: block;
  padding: 14px;
  position: absolute;
  left: -158px;
  top: 38px;
  width: 384px;
  background: #ffffff;
  border: 1px solid rgb(229, 231, 235);
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px;
  border-radius: 16px;
  z-index: 1;
}

.header .menu .menuItem .item {
  padding: 12px 10px;
  cursor: pointer;
  width: 100%;
}

.header .menu .menuItem .item a:hover {
  text-decoration: none;
}

.header .menu .menuItem .item .nav-sub-menu a {
  color: #44D62C;
  font-weight: 400;
}
.header .menu .menuItem .item .nav-sub-menu a:hover {
  text-decoration: underline;
}

.header .menu .menuItem .item i {
  margin-right: 12px;
  width: 24px;
  height: 24px;
  background-size: 22px;
}

.header .menu .menuItem .item h2 {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  display: flex;
  align-items: center;
  margin: 0;
  margin-bottom: 4px;
}

.header .menu .menuItem .item p {
  margin: 0px;
  padding-left: 36px;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: rgb(107, 114, 128);
}

.header ul.menu li.dropdown .menuItem a::after {
  content: none;
}

.header ul.menu li .item {
  transition: 0.3s all ease;
}

.header ul.menu li .item:hover {
  background: rgb(245, 245, 245);
  border-radius: 0.5rem;
}

.sub-nav {
  position: relative;
  width: 100%;
  height: 140px;
  z-index: 2;
}

.sub-nav h1 {
  font-weight: 600;
  font-size: 30px;
  line-height: 36px;
  color: #53565A;
  margin: 0px;
  position: relative;
  bottom: -40px;
}

.sub-nav .tab {
  list-style: none;
  margin: 0px;
  padding: 0px;
  display: flex;
  position: absolute;
  bottom: 0px;
}

.sub-nav .tab li {
  height: 44px;
  display: flex;
  align-items: center;
  margin-right: 24px;
  position: relative;
}

.sub-nav .tab li a {
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #53565A;
  height: 44px;
  line-height: 44px;
}

.sub-nav .tab li a:hover {
  color: #44D62C;
}

.sub-nav .tab li a.active {
  font-weight: inherit;
  font-size: 14px;
  color: #44D62C;
}

.sub-nav .tab li a.active::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 0;
  background-color: #44D62C;
}

.sub-nav::before {
  content: "";
  display: block;
  width: 100%;
  height: 228px;
  position: absolute;
  top: -88px;
  background-color: rgb(245, 245, 245);
  z-index: -1;
}

.sub-nav .container {
  position: relative;
  height: 140px;
  max-width: 1224px;
  padding-left: 32px;
  padding-right: 32px;
}

.sub-nav .container::before {
  content: "";
  display: block;
  margin: auto;
  max-width: 1462px;
  width: calc(100% + 260px);
  height: 228px;
  position: absolute;
  background-image: url("/images/sub_bg.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 748px;
  right: 0px;
  top: -88px;
  z-index: 0;
  left: 50%;
  transform: translate(-50%, 0px);
}

.sub-nav.fixed .tab {
  position: fixed;
  top: 0px;
  z-index: 2;
  height: 44px;
}

.sub-nav.fixed .tab::before {
  content: "";
  display: block;
  width: 250vw;
  position: fixed;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  height: 44px;
  top: 0px;
  z-index: -1;
  left: 0%;
  transform: translate(-50%, 0px);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.05);
}

.sub-nav.fixed .tab.none {
  display: none;
}

/* .cover {
   background: center bottom / 100vw no-repeat rgb(245, 245, 245);
   text-align: center;
   padding: 40px;
   height: calc( 100vh - 88px);
   overflow: hidden;
   position: relative;
   background-size: 1160px;
}
*/
.cover {
  padding: 128px 40px 0;
  min-height: 900px;
  height: 100vh;
  max-width: 1280px;
  max-height: 1440px;
  margin: 0 auto;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

.cover h1 {
  color: #000;
  font-weight: 600;
  font-size: 44px;
  line-height: 126%;
  margin-bottom: 24px;
  margin-top: 0;
}

.cover p {
  width: 100%;
  max-width: 600px;
  margin: auto;
}

.forward {
  background: rgba(15, 23, 42, 0.95);
  padding: 20px;
}

.forward h2 {
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  text-align: center;
  margin: 0px 0px 40px;
}

ul.hyphen {
  color: rgb(255, 255, 255);
  margin: 0px;
  list-style: none;
  padding-left: 50px;
}

ul.hyphen li {
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 40px;
  position: relative;
}

ul.hyphen li::before {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 10px;
  background: rgb(51, 65, 85);
  left: -50px;
  top: 8px;
}

ul.hyphen li:last-child {
  margin-bottom: 0px;
}

.target {
  padding: 80px 20px;
}

.target .container {
  padding: 60px 10px;
  max-width: 912px;
}

.target h2 {
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  text-align: center;
  display: block;
  margin-bottom: 40px;
  margin-top: 0;
}

.target .strong {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin: 0px;
  padding: 0px;
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  color: #53565A;
}
.target .strong .row {
  display: flex;
  flex-flow: column;
  justify-content: center;
  width: 46%;
}
.target .strong .item {
  text-transform: capitalize;
  text-align: start;
  list-style: none;
  padding: 40px 0;
  border-bottom: 1px solid #d4d4d4;
}
.target .strong .item.item:nth-child(3),
.target .strong .item:last-child {
  border: none;
}

body.en .target .strong .row .item {
  font-weight: 700;
  padding: 30px 0;
  font-size: 30px;
  line-height: 1.2;
}

.definition {
  background: rgb(245, 245, 245);
  padding: 20px;
}

.definition p, .company p.key-point {
  margin: 0px;
  font-weight: 600;
  font-size: 36px;
  letter-spacing: -0.025rem;
  line-height: 1.25;
}

.detail {
  padding: 20px 20px;
}

.detail .content .desc {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 40px;
  margin-top: 16px;
}

.detail h3 {
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  color: #53565A;
}

.detail .content {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  color: #53565A;
  margin-top: 40px;
  margin-bottom: -20px;
}

.detail .content .item {
  width: calc((100% - 36px) / 2);
  margin-right: 36px;
  margin-bottom: 40px;
}

.detail .content .item:nth-child(even) {
  margin-right: 0px;
}

.detail .content .item i {
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 8px;
}

.detail .content .item h4 {
  text-align: left;
  margin: 0;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  display: inline-block;
}

.detail .content .item p {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin: 8px 0px 0px;
}

.detail hr {
  border: 1px solid rgb(245, 245, 245);
  margin: 80px 0px;
}

.detail h4 {
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  text-align: center;
  margin-bottom: 40px;
}

.detail h3.title {
  margin-bottom: 12px;
}

.detail h4.title {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  color: #53565A;
  margin: 0 0 8px 0;
  text-align: left;
}

.detail p.phase {
  margin: 0 0 40px 0;
}

.detail .note p {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin: 0;
  color: #53565A;
  opacity: 0.5;
}

.detail strong {
  display: block;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  color: #53565A;
  margin-top: 40px;
}

.choose {
  background: rgb(245, 245, 245);
  padding: 20px 20px 0;
  color: #53565A;
}

.choose h3 {
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  margin: 0px 0px 12px;
}

.choose h4 {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  margin: 0px 0px 12px;
}

.choose p {
  margin: 0px 0px 40px;
}

.jobs {
  color: #53565A;
}

.faqs h3 {
  font-size: 24px;
}

.faqs p, .jobs p {
  margin: 0;
  padding: 0;
}
.faqs p + p, .jobs p + p {
  margin-top: 1em;
}

.faqs ul, .jobs .job-list {
  list-style: none;
  margin: 0px;
  padding: 0px;
  color: #53565A;
}

.faqs ul li, .jobs .job-list .job-list-item {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  padding: 24px 0px;
  border-bottom: 2px solid rgb(245, 245, 245);
  position: relative;
  cursor: pointer;
}

.faqs ul li:last-child, .jobs .job-list .job-list-item:last-child {
  border: none;
}

.faqs ul li::after, .jobs .job-list .job-list-item::after {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  right: 0px;
  background-image: url("/images/faqs/plus-sm.svg");
  background-repeat: no-repeat;
  top: 28px;
}

.faqs ul li h4, .jobs .job-list .job-list-item h4 {
  width: calc(100% - 30px);
  display: inline-block;
  margin: 0;
}

.faqs ul li.active::after, .jobs .job-list .job-list-item.active::after {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  right: 0px;
  background-image: url("/images/faqs/minus-sm.svg");
}

.faqs ul li .content {
  margin-top: 20px;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

.faqs ul li .slider, .jobs .slider {
  display: none;
}

.jobs .content {
  padding-bottom: 20px;
  margin-top: 20px;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

.jobs .content ul, .jobs .content ol {
  margin-top: 4px;
}

.jobs .content ol {
  padding-left: 30px;
}

.jobs .content ul li, .jobs .content ol li {
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 4px;
}

.job-list-item .content ul li, .job-list-item .content ol li, .job-list-item .content p {
  font-size: 16px;
  line-height: 24px;
}

.job-list-item .content ul li::before {
  top: 2px;
}

.job-list-item .content li li::before {
  top: -2px;
}

.jobs h5, .jobs p {
  font-size: 18px;
  line-height: 28px;
}

.jobs .content h5 {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
}

.jobs .content p {
  font-weight: 400;
  padding-bottom: 10px;
}

.cta {
  background: rgb(245, 245, 245);
  padding: 80px;
}

.cta h2 {
  font-weight: 400;
  font-size: 36px;
  line-height: 40px;
  margin: 0px;
}

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

.btn {
  padding: 20px 32px;
  border: 1px solid rgb(212, 212, 212);
  border-radius: 3px;
  font-weight: 600;
  font-size: 18px;
  line-height: 26px;
  color: #53565A;
  display: flex;
  align-items: center;
  word-break: keep-all;
}

.btn i {
  margin-left: 6px;
}

.red-team {
  background-image: url("/images/new_bg/red-team_bg.png");
}

.security-training {
  background-image: url("/images/new_bg/security-training_bg.png");
}

.security-consulting {
  background-image: url("/images/new_bg/security-consulting_bg.png");
}

.penetration-test {
  background-image: url("/images/new_bg/penetration-test_bg.png");
}

.intro {
  padding: 80px 0 0;
  text-align: center;
}

.intro h1 {
  font-weight: 600;
  font-size: 42px;
  line-height: 126%;
  margin: 0px;
  color: rgb(0, 0, 0);
}

.intro p {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  padding: 20px;
}

.intro .scroller {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 23px;
  height: 300px;
}

.intro .content {
  display: flex;
  padding: 20px 0;
  scroll-padding-left: 20px;
  scroll-padding-right: 20px;
  gap: 32px;
  justify-content: start;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}

.intro .content .item {
  min-width: 360px;
  scroll-snap-align: center;
  padding: 32px 24px;
  background: #f5f5f5;
  border-radius: 16px;
  scroll-snap-stop: always;
}

.intro .content h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  margin: 0px 0px 8px;
}

.intro .content p {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  padding: 0px;
  text-align: left;
  margin-bottom: 0;
}

.intro.overview {
  padding: 80px 0 0;
}

.articles-list.overview {
  margin-top: 60px;
}

.members h2 {
  text-align: center;
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  margin: 0px 0px 40px;
}

.members .member_list {
  padding: 0px 0px 40px;
  gap: 40px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-evenly;
}

.members .member_info {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}

.members .member_info .circle {
  margin: auto;
  width: 96px;
  height: 96px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.members .member_info .circle img {
  border-radius: 0%;
}

.members .member_info span {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
  color: #44D62C;
  display: block;
}

.members .member_info h3 {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  display: block;
  margin-top: 12px;
  color: #53565A;
}

.quicklink {
  text-align: center;
  margin-top: 20px;
}

.more {
  text-align: center;
}

.more p {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  margin: 0px 0px 20px;
}

.more .btn {
  margin: auto;
}

.quicklink ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}

.quicklink a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0px;
  border-bottom: 2px solid rgb(233, 233, 233);
}
.quicklink a span, .quicklink a i {
  transition: 0.3s all ease;
}

.quicklink a:first-child {
  border-top: 2px solid rgb(233, 233, 233);
}

.quicklink a:hover span {
  color: #44D62C;
}

.quicklink a:hover i {
  background-image: url("/images/arrow-right-green.svg");
}

.quicklink a span {
  text-align: left;
}

.list a:hover {
  text-decoration: none;
}

.list a:hover .speech-title, .list a:hover .bug-desc {
  text-decoration: none;
  color: #44D62C;
  opacity: 1;
}

.speech .list a:hover .name {
  text-decoration: none;
}

.speech .list a:hover p.content {
  color: #44D62C;
}

.list a {
  transition: 0.3s all ease;
}
.list a .link-title, .list a .cve-name, .list a .cve-number, .list a .award-place {
  transition: 0.3s all ease;
}

.list a:hover .link-title, .list a:hover .cve-name, .list a:hover .cve-number, .list a:hover .award-place {
  text-decoration: none;
  color: #44D62C;
  opacity: 1;
}

.list .item {
  color: #53565A;
  padding: 6px 4px;
  border-bottom: 1px solid rgb(212, 212, 212);
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  display: flex;
  flex-wrap: nowrap;
}

.criticle-item {
  background-color: rgba(179, 80, 166, 0.0509803922);
}
.criticle-item .product-name {
  font-weight: 600;
}

.list .year {
  color: #A3A3A3;
  width: 70px;
}

.list ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
  color: #53565A;
  flex-grow: 1;
}

.list ul li span:not(.green) {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-right: 12px;
}

.list .name {
  color: #53565A;
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  transition: 0.3s all ease;
  gap: 4px;
}
.list .name .icon {
  width: 16px;
  height: 16px;
}

.speech .list .item {
  flex-direction: column;
}

.speech-title {
  max-width: 700px;
  padding-left: 90px;
  font-size: 12px;
  font-weight: 400;
  color: #53565A;
  opacity: 0.7;
  transition: 0.3s all ease;
}

.list p {
  margin: 8px 0px 0px;
}

.list p.content {
  display: flex;
  align-items: center;
  width: 100%;
  transition: 0.3s all ease;
}

.list p.content .prod {
  width: calc(100% - 200px);
}

.list p.content .degree {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  width: 86px;
  margin-right: 40px;
}

.list p.content .degree em {
  margin-left: 8px;
  font-style: inherit;
}

.list p.content .finder {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  width: 120px;
  text-align: right;
}

.list p.content .finder abbr {
  margin-left: 8px;
}

.research-list.container {
  padding: 60px 0px;
}

.research-item-head, .research-item-desc, .cve-name, .cve-desc {
  display: flex;
}

.bug-company {
  width: 160px;
  color: #44D62C;
}

.award-place {
  width: 160px;
  color: #44D62C;
}

.research-item-desc, .cve-name {
  flex-grow: 1;
  gap: 20px;
}

.bug-desc {
  flex-grow: 1;
  transition: 0.3s all ease;
}

.founder {
  flex-grow: 0;
  font-weight: 400;
  color: #53565A;
}

.cve .item, .cve-desc, .cve-name {
  gap: 20px;
  font-weight: 400;
}

.item .research-item-head .cve-number {
  color: #A3A3A3;
  width: 140px;
  font-weight: 600;
}

.brand-name {
  width: 140px;
  font-weight: 600;
}

.product-name {
  width: 100%;
  opacity: 0.7;
}

.cvss3 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 79px;
}
.cvss3 span {
  margin-left: 8px;
}

.cve-desc .founder {
  width: 150px;
  text-align: right;
}

.awards .list .item {
  flex-wrap: nowrap;
}

.company {
  padding: 20px 0px 0px;
  text-align: left;
}

.mainImg {
  width: 100vw;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 100vw;
}

/* .company.intro .mainImg{
   padding: 20px;
} */
/* .company .mainImg {
    height: 600px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
*/
.leaders .img, .leaders .job {
  width: calc((100% - 12px) / 2);
}

.leader {
  display: flex;
  margin-bottom: 20px;
  gap: 20px;
  align-items: center;
  padding: 0 20px;
}

.leader:nth-child(2n) {
  flex-direction: row-reverse;
}

.leader .img {
  margin-right: 12px;
}

.leader .img img {
  border-radius: 3px;
  width: 574px;
  height: 469px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.leader div:nth-child(n) {
  margin-right: 0;
}

.leader .job {
  color: #53565A;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.leader .job abbr {
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  display: block;
}

.leader .job .center {
  width: 80%;
  text-align: center;
}

.leader .job p {
  font-weight: 300;
  font-size: 16px;
  line-height: 1.5;
  margin-top: 20px;
  display: block;
  width: 100%;
  text-align: left;
}

ul.timeline {
  list-style: none;
  margin: 0px;
  padding: 0px;
  text-align: left;
  position: relative;
}

ul.timeline li {
  padding: 20px 0 20px 34px;
}

ul.timeline::after {
  content: "";
  display: block;
  height: 100%;
  width: 2px;
  position: absolute;
  background: #53565A;
  opacity: 0.1;
  top: 0px;
  left: 11px;
}

ul.timeline li div {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
}

ul.timeline li div.year {
  font-weight: 600;
  font-size: 16px;
  height: 24px;
  display: flex;
  align-items: center;
  position: relative;
  left: -34px;
}

ul.timeline li i {
  margin-right: 10px;
  background-color: rgb(255, 255, 255);
  z-index: 1;
}

ul.timeline li h3 {
  font-weight: 600;
  font-size: 16px;
  color: #53565A;
}

ul.timeline li p {
  padding: 0;
  margin: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

/* 
ul.timeline li strong {
}
ul.timeline li span {
}
 */
.team-members {
  padding: 80px 20px;
}

.team:first-child {
  padding-top: 20px;
}

.team h2 {
  text-align: left;
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  color: #53565A;
  margin: 0px 0px 40px;
}

.team .member_list {
  display: flex;
  flex-wrap: wrap;
}

.team .member_list .member_info {
  flex: 0 0 20%;
  text-align: center;
  margin-bottom: 40px;
}

.team .member_info .circle {
  width: 96px;
  height: 96px;
  background-position: center center;
  background-size: cover;
  border-radius: 0%;
  margin: auto auto 12px;
}
.team .member_info .circle img {
  border-radius: 0%;
}

.team .member_info h3 {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #53565A;
  display: block;
}

.team .member_info span:not(.green) {
  display: block;
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
  color: #44D62C;
}

/* .csr.intro {
   height: 832px;
   background-image: url("/images/csr.png");
   background-size: 1920px;
   background-position: center -138px;
   background-size: cover;
   background-position: center bottom;
}
*/
.csr.intro .mainImg {
  padding: 60px 0 0;
}

.csr.intro p {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #53565A;
}

.talent {
  padding: 40px;
  background: rgb(245, 245, 245);
  text-align: center;
  color: #53565A;
}

.talent h2 {
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  margin: 20px 0px;
}

.talent p {
  text-align: left;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  padding: 20px 10px;
}

.talent .content {
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
  padding: 20px 0px;
}

.talent .content .item {
  width: 33%;
}

.talent .content .item i {
  width: 40px;
  height: 40px;
}

.talent .content .item h3 {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
}

.expose {
  color: #53565A;
}

.expose .narrow {
  padding: 40px 10px 50px;
}

.expose h2 {
  margin: 20px 0px;
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  text-align: center;
}

.expose .content {
  display: flex;
  justify-content: space-around;
  padding: 20px 10px;
}

.expose .content .item {
  text-align: center;
}

.expose .content .item i {
  width: 40px;
  height: 40px;
}

.expose .content .item h3 {
  display: block;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
}

.expose p {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

.responsibility {
  background: rgb(245, 245, 245);
  color: #53565A;
}

.responsibility .narrow {
  padding: 40px 10px;
}

.responsibility h2 {
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  text-align: center;
  margin: 30px 0px;
}

.responsibility p {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin: 20px 0px;
}

.intro .narrow {
  text-align: start;
}

.job.intro .mainImg {
  display: flex;
  padding-top: 60px;
}

.empty {
  background: rgb(245, 245, 245);
}

.job.value {
  background-color: #F5F5F5;
  color: #53565A;
  padding: 20px 0px;
  background-image: none;
}

.job.value h2 {
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  color: #53565A;
  text-align: center;
  margin: 40px 0px;
}

.job.value p {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #53565A;
  margin-bottom: 45px;
}

.job.value .content {
  display: flex;
  justify-content: space-around;
  gap: 20px;
}

.job.value .content .row {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  gap: 20px;
}

.job.value .content .item {
  background-color: #efefef;
  display: flex;
  flex-direction: column;
  min-height: 210px;
  justify-content: center;
  padding: 10%;
  border-radius: 16px;
  mix-blend-mode: multiply;
}

.job.value .content .item h3 {
  text-align: center;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  margin-bottom: 8px;
}

.job.value .content .item p {
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 0px;
  text-align: center;
}

.policy {
  color: #53565A;
  padding: 40px 0px;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

.policy h2 {
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  text-align: center;
  margin: 20px 0 40px 0;
}

.policy h3 {
  margin: 0 0 8px 0;
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  display: inline-block;
}

.policy .content:last-child {
  margin-bottom: 0;
}

.policy .content p {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin: 0;
}

.policy .desc {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  padding: 20px 0px;
  margin-bottom: 60px;
}

.policy p.desc {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 40px;
  padding-top: 0;
  padding-bottom: 0;
}

.policy .content {
  margin-bottom: 80px;
}

.policy .content h4 {
  margin: 0;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  margin-top: 40px;
}

.welfare .content {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.welfare .content h4 {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  margin: 20px 0px 8px;
}

.welfare .content .item {
  width: calc((100% - 36px) / 2);
}

.welfare .content .item:nth-child(2n+1) {
  margin-right: 36px;
}

.welfare .content li {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 8px;
}

.enviroment {
  padding-top: 20px;
  background-color: #F5F5F5;
  padding-bottom: 100px;
}

.enviroment h2 {
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  text-align: center;
  margin: 40px 0;
}

.enviroment .desc {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
}

.enviroment .content {
  display: flex;
  flex-wrap: wrap;
}

.enviroment .content .item {
  width: calc((100% - 20px) / 2);
  margin-right: 20px;
  margin-bottom: 20px;
}

.enviroment .content .item:nth-child(2n) {
  margin-right: 0px;
}

div.title {
  display: flex;
  justify-content: space-between;
  padding: 20px 0px 40px;
}

div.title h1 {
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  margin: 0px;
  color: #53565A;
}

div.title .pageInfo {
  font-weight: 600;
  font-size: 16px;
  line-height: 32px;
  color: #A3A3A3;
}

.author_info {
  justify-content: center;
  padding: 80px 0 0 0;
  text-align: center;
}

.author_info .circle {
  width: 96px;
  height: 96px;
  background-position: center center;
  background-size: cover;
  border-radius: 100%;
  display: inline-block;
}

.author_info h3 {
  width: 100%;
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  color: #53565A;
  display: inline-block;
}

.author_info span:not(.green) {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #44D62C;
}

.author_info p {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #53565A;
  max-width: 500px;
  margin: 16px auto auto;
}

.article {
  display: flex;
  margin-bottom: 60px;
  justify-content: space-between;
}

.article .imgBlock {
  width: 160px;
  margin-left: 24px;
  flex: 0 0 160px;
}

.article .imgBlock img {
  width: 160px;
  height: 160px;
  -o-object-fit: cover;
     object-fit: cover;
}

.article .content .category, .article_body .content .category {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  display: block;
  color: #44D62C;
}

.article .content .tag, .article_body .content .tag {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #53565A;
  opacity: 0.5;
}

.article .content h2, .article_body .content h2 {
  font-weight: 600;
  font-size: 30px;
  line-height: 36px;
  color: #53565A;
  margin: 8px 0px;
}

.article .content .author, .article_body .content .author {
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #53565A;
  margin-right: 8px;
}

.article .content .author h3, .article_body .content .author h3 {
  display: inline;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
}

.article .content .date, .article_body .content .date {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #53565A;
  opacity: 0.5;
}

.article .content p, .article_body .content p {
  color: #53565A;
  word-break: break-word;
  margin-top: 8px;
}

.article_body .content h1 {
  font-weight: 600;
  font-size: 48px;
  line-height: 58px;
  color: #53565A;
  margin: 0px 0px 24px;
}

.article_body .content .author_detail {
  font-size: 18px;
  line-height: 28px;
  display: flex;
  align-items: center;
}

.article_body .avatar {
  margin-right: 8px;
  height: 36px;
}

.article_body .avatar a:hover {
  text-decoration: none;
}

.article_body .avatar .author a:hover {
  text-decoration: underline;
}

.article_body .avatar .circle {
  display: inline-block;
}

.article_body .avatar .circle i {
  width: 36px;
  height: 36px;
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  border-radius: 100%;
}

.article_body .avatar .circle.multi {
  width: 24px;
  position: relative;
}

.article_body .avatar .circle.multi i {
  position: relative;
  left: -12px;
  z-index: -1;
}

.article_body .article_img {
  margin-top: 24px;
  margin-bottom: 40px;
  text-align: center;
}

.article_content {
  color: #53565A;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  padding-top: 0;
}

.article_content .youtube {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}

.article_content a {
  color: #44D62C;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

.article_body .content h2 {
  margin-bottom: 24px;
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
}

.article_body .article_content p {
  margin-top: 24px;
  margin-bottom: 24px;
}

.article_body hr {
  margin: 24px 0;
  border: 1px solid #E5E5E5;
  border-top: none;
}

.article_content .bold {
  font-weight: 700;
}

.article_content .border {
  background: rgb(250, 250, 250);
  padding: 20px 16px;
  border: 1px solid rgb(212, 212, 212);
  border-radius: 5px;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

.article_content i {
  font-style: italic;
}

.article_content ol {
  margin-top: 10px;
}

.article_content ol li {
  margin-bottom: 12px;
}

.article_content ul {
  margin-top: 12px;
  list-style: none;
}

.article_content ul li {
  margin-bottom: 12px;
}

.article_content table {
  border-collapse: separate;
  border-spacing: 0px;
  width: 100%;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 24px;
}

.article_content table.fullwidth {
  width: calc(100vw - 40px);
  position: relative;
  left: calc((-100vw + 100% + 40px) / 2);
}

.article_content table tr {
  border: 1px solid rgb(212, 212, 212);
}

.article_content table th {
  border: 1px solid rgb(212, 212, 212);
  background-color: rgb(229, 229, 229);
  padding: 8px 16px;
  text-align: left;
}

.article_content table td {
  border: 1px solid rgb(212, 212, 212);
  padding: 8px 16px;
}

.article_content table tr:nth-child(2n+1) {
  background-color: rgb(242, 242, 242);
}

.article_content table th:first-child {
  border-top-left-radius: 5px;
}

.article_content table th:last-child {
  border-top-right-radius: 5px;
}

.article_content table tr:last-child td:first-child {
  border-bottom-left-radius: 5px;
}

.article_content table tr:last-child td:last-child {
  border-bottom-right-radius: 5px;
}

.article_content blockquote {
  margin: 0px 0px 24px 50px;
  border-left: 2px solid #44D62C;
  padding-left: 32px;
}

.article_content cite {
  display: block;
  margin-top: 12px;
  font-size: 14px;
  line-height: 20px;
}

.article_content q {
  color: #53565A;
  opacity: 0.5;
  font-size: 14px;
  line-height: 20px;
  display: block;
  padding: 2px 0px;
  margin-bottom: 24px;
  text-align: center;
}

.article_content span.top_bar {
  display: block;
  color: rgb(64, 64, 64);
  background: rgb(229, 229, 229);
  padding: 8px 16px;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  border-radius: 5px 5px 0px 0px;
  font-family: "monospace";
}

.article_content pre {
  background: rgb(250, 250, 250);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  padding: 20px;
  overflow-x: auto;
}

.article_content div {
  margin-top: 24px;
}

.article_content div video {
  width: 100%;
}

.article_footer {
  background: rgb(245, 245, 245);
  border-radius: 5px;
}

.article_footer .circle {
  width: 48px;
  height: 48px;
  margin-right: 12px;
  flex: 0 0 48px;
}

.article_footer .author_info {
  padding: 40px 0px;
  display: flex;
  text-align: left;
}

.article_footer .author_info h3 {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
}

.article_footer .author_info span:not(.green) {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  display: block;
}

.article_footer .author_info p {
  text-align: left;
  margin-top: 12px;
}

/* 多個作者 */
.article_footer.multi {
  display: flex;
  padding: 0 60px;
}

.article_footer.multi .author_info {
  width: calc(100% - 40px);
}

.article_footer.multi .author_info:nth-child(2n) {
  margin-left: 40px;
}

.article_footer.multi hr {
  display: none;
}

.articles-list {
  padding: 120px 0px;
}

.articles-list h2 {
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.articles-list h2 i {
  width: 32px;
  height: 32px;
  margin-right: 8px;
}

.articles-list .container {
  display: flex;
  align-items: flex-start;
}

.articles-list .article {
  width: calc((100% - 80px) / 3);
  display: inline-block;
  margin-right: 35px;
}

.articles-list .article:last-child {
  margin-right: 0px;
}

.articles-list .article .category {
  display: block;
  color: #44D62C;
  width: 100%;
  font-size: 14px;
  line-height: 20px;
}

.articles-list .article .author h3 {
  display: inline;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}

.articles-list .article .tag {
  font-size: 12px;
  line-height: 16px;
}

.articles-list .article h2 {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
}

.articles-list .article p {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

.recommand.articles-list {
  padding: 80px 0px;
}

.privacy-policy {
  color: #53565A;
  background-color: #F5F5F5;
}

.privacy-policy .narrow {
  padding-bottom: 100px;
}

.privacy-policy h1 {
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  margin-top: 60px;
  margin-bottom: 20px;
}

.privacy-policy h2 {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
}

.privacy-policy p {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  margin: 20px 0px;
}

.privacy-policy ul {
  padding-left: 24px;
}

.media {
  display: flex;
  flex-direction: column;
  padding: 20px 0px;
  color: #53565A;
}

.media .narrow {
  padding: 60px 10px;
  border-bottom: 1px solid #E5E5E5;
}

.media .narrow:last-child {
  border: none;
}

.media .narrow .img {
  width: 700px;
  margin: 20px 0;
}

.media .narrow .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.media h2 {
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  margin: 0px;
  margin-bottom: 20px;
}

.media h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 20px;
}

.media p {
  margin: 0;
  margin-bottom: 20px;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
}

.media p:last-child {
  margin-bottom: 0;
}

.media .narrow i {
  margin-right: 4px;
}

.album {
  margin: 60px 0px;
}

.album h2 {
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  margin: 0px;
}

.album h3 {
  font-size: 18px;
  margin-bottom: -10px;
}

.img-list {
  display: flex;
  flex-wrap: wrap;
}

.img-list .img {
  margin-right: 20px;
  width: calc((100% - 20px) / 2);
  margin-bottom: 40px;
}

.img-list .img:nth-child(2n) {
  margin-right: 0px;
}

.img-list .img img {
  width: 100%;
}

.download {
  display: flex;
  justify-content: start;
  align-items: center;
}

.download .btn {
  cursor: pointer;
  padding: 10px 20px 10px 24px;
  color: #53565A;
  font-weight: 600;
  font-size: 18px;
  line-height: 26px;
}

.download i {
  width: 20px;
  height: 20px;
}

.contact {
  padding: 60px 0px;
  color: #53565A;
}

.contact p {
  margin: 0px;
}

.base-form {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.form-group {
  width: calc((100% - 24px) / 2);
  margin-bottom: 24px;
}

.form-group:nth-child(2n) {
  margin-right: 0px;
}

.form-block {
  width: 100%;
  margin-bottom: 24px;
}

.form-block label, .form-group label {
  display: block;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

.form-block label h3, .form-group label h3 {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 8px;
}

.form-block input, .form-group input {
  width: 100%;
  padding: 10px 8px;
  background: rgb(255, 255, 255);
  border: 1px solid #53565A;
  border-radius: 5px;
}

.form-block input::-moz-placeholder, .form-group input::-moz-placeholder {
  color: #A3A3A3;
}

.form-block input:-ms-input-placeholder, .form-group input:-ms-input-placeholder {
  color: #A3A3A3;
}

.form-block input::placeholder, .form-group input::placeholder {
  color: #A3A3A3;
}

.form-group select {
  padding: 10px 8px;
  border: 1px solid #53565A;
  border-radius: 5px;
  width: 100%;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #53565A;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("/images/cheveron-down.svg");
  background-position: calc(100% - 10px) 50%;
  background-repeat: no-repeat;
}

.form-err {
  color: rgb(239, 68, 68);
  display: block;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-top: 8px;
}

.form-block textarea {
  width: 100%;
  padding: 10px 8px;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  border: 1px solid #53565A;
  border-radius: 5px;
}

.btn-group .btn {
  padding: 8px 24px;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  background: rgb(229, 229, 229);
}

.btn-group .btn i {
  width: 20px;
  height: 20px;
}

.btn:hover {
  opacity: 0.8;
  transition: 0.3s all ease;
}

.btn:active {
  opacity: 1;
}

.line-litmit-2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.line-litmit-3 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.pagination {
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}

.pagination ul {
  list-style: none;
  display: flex;
  margin: 0px;
  align-items: flex-start;
  padding-left: 0px;
}

.pagination ul li a {
  text-decoration: none;
  display: inline-block;
  padding: 2px 8px;
  font-weight: 400;
  font-size: 16px;
  color: #53565A;
}

.pagination ul li a:hover, .pagination ul li a.active {
  font-weight: 400;
  color: #44D62C;
}

.pagination i {
  margin-top: 2px;
}

footer {
  padding: 64px 0px;
  background-color: rgb(255, 255, 255);
}

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

.footer .logo {
  width: 320px;
  position: relative;
}

.footer .social {
  position: absolute;
  bottom: 0px;
}

.footer .column {
  width: calc((100% - 400px) / 4);
}

.footer .column h6 {
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  display: inline-block;
  margin: 0px 0px 12px;
}

.footer .column ul {
  list-style: none;
  padding: 0px;
  margin: 0px;
}

.footer .column ul li {
  padding-bottom: 12px;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
}

.footer .column a {
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  display: inline-block;
  color: #53565A;
}

.footer .column a:hover {
  text-decoration: none;
  color: #000;
}

.footer .divider {
  margin: 20px 0px;
  width: 100%;
  height: 1px;
  background-color: #53565A;
  opacity: 0.08;
}

.copyright {
  width: 100%;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #53565A;
  display: flex;
  justify-content: space-between;
}

.copyright span:not(.green) {
  margin-right: 24px;
}

.copyright select {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  display: inline-block;
  border: none;
}

.copyright .info {
  display: flex;
  align-items: center;
}

.copyright .lang {
  display: flex;
}

.lang a {
  margin: 0 7px;
}

.copyright a:hover {
  text-decoration: none;
  color: #000;
}

.icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.icon.foward {
  background-image: url("/images/arrow-sm-left.svg");
}

.icon.next {
  background-image: url("/images/arrow-sm-right.svg");
}

.icon.translate {
  background-image: url("/images/translate.svg");
}

.icon.facebook {
  background-image: url("/images/facebook.svg");
}

.icon.twitter {
  background-image: url("/images/twitter.svg");
}

.icon.facebook:hover, .icon.twitter:hover {
  opacity: 0.8;
  transition: 0.3s all ease;
}

.icon.arrow-right {
  background-image: url("/images/arrow-right.svg");
}

.icon.arrow-narrow-right {
  background-image: url("/images/arrow-narrow-right.svg");
}

/* red-team icons start */
.icon.path {
  background-image: url("/images/path.svg");
}

.icon.iso {
  background-image: url("/images/iso.svg");
}

.icon.patch {
  background-image: url("/images/patch.svg");
}

/* red-team icons end */
.icon.scholarship {
  background-image: url("/images/scholarship.svg");
}

.icon.intern {
  background-image: url("/images/intern.svg");
}

.icon.talent-project {
  background-image: url("/images/talent.svg");
}

.icon.excellence {
  background-image: url("/images/excellence.svg");
}

.icon.trophy {
  background-image: url("/images/trophy.svg");
}

.icon.cve {
  background-image: url("/images/cve.svg");
}

.icon.conference {
  background-image: url("/images/conference.svg");
}

.icon.bugbounty {
  background-image: url("/images/bugbounty.svg");
}

.icon.company {
  padding-top: 0;
  background-image: url("/images/company.svg");
}

.icon.milestone {
  background-image: url("/images/milestone.svg");
}

.icon.team {
  background-image: url("/images/team.svg");
  margin-bottom: 0;
}

.icon.doc {
  background-image: url("/images/doc.svg");
}

.icon.annotation {
  background-image: url("/images/annotation.svg");
}

.icon.shell {
  background-image: url("/images/shell.svg");
}

.icon.thumb-up {
  background-image: url("/images/thumb-up.svg");
}

.icon.clock {
  background-image: url("/images/clock.svg");
}

.icon.arrow-right-black {
  background-image: url("/images/arrow-right-black.svg");
}

.icon.newspaper {
  background-image: url("/images/newspaper.svg");
}

.icon.position {
  background-color: #53565A;
  -webkit-mask-image: url("/images/position.svg");
          mask-image: url("/images/position.svg");
}

.icon.star {
  background-image: url("/images/star.svg");
}

.icon.currency-dollar {
  background-image: url("/images/currency-dollar.svg");
}

.icon.speakerphone {
  background-image: url("/images/speakerphone.svg");
}

.icon.chip {
  background-image: url("/images/chip.svg");
}

.icon.user-group {
  background-image: url("/images/user-group.svg");
}

.icon.academic-cap {
  background-image: url("/images/academic-cap.svg");
}

.icon.fire {
  background-image: url("/images/fire.svg");
}

.icon.trending-up {
  background-image: url("/images/trending-up.svg");
}

.icon.arrow_down {
  background-image: url("/images/arrow_down.svg");
}

.icon.heart {
  background-image: url("/images/heart.svg");
}

.icon.lightning-bolt {
  background-image: url("/images/lightning-bolt.svg");
}

.icon.share {
  background-image: url("/images/share.svg");
}

.icon.switch-horizontal {
  background-image: url("/images/switch-horizontal.svg");
}

.icon.information-circle {
  background-image: url("/images/information-circle.svg");
}

.icon.plus-sm {
  background-image: url("/images/plus-sm.svg");
}

.icon.arrow-narrow-down {
  background-image: url("/images/arrow-narrow-down.svg");
}

.icon.view-grid-add {
  background-image: url("/images/view-grid-add.svg");
}

.icon.shield-check {
  background-image: url("/images/shield-check.svg");
}

.icon.cursor-click {
  background-image: url("/images/cursor-click.svg");
}

.icon.flag {
  background-image: url("/images/flag.svg");
}

.icon.x-outline {
  background-image: url("/images/x-outline.svg");
}

.icon.x {
  background-image: url("/images/x.svg");
}

.icon.chat-alt {
  background-color: #53565A;
  -webkit-mask: url("/images/chat-alt.svg");
          mask: url("/images/chat-alt.svg");
}

.icon.search {
  background-color: #53565A;
  -webkit-mask: url("/images/search.svg");
          mask: url("/images/search.svg");
}

.icon.penetration-test01 {
  background-image: url("/images/penetration-test01.svg");
}

.icon.penetration-test02 {
  background-image: url("/images/penetration-test02.svg");
}

.icon.penetration-test03 {
  background-image: url("/images/penetration-test03.svg");
}

.icon.penetration-test04 {
  background-image: url("/images/penetration-test04.svg");
}

.icon.penetration-test05 {
  background-image: url("/images/penetration-test05.svg");
}

/* menu */
.icon.service-red-team {
  background-color: #44D62C;
  -webkit-mask: url("/images/service-red-team.svg");
          mask: url("/images/service-red-team.svg");
}

.icon.service-penetration-test {
  background-color: #44D62C;
  -webkit-mask: url("/images/service-penetration-test.svg");
          mask: url("/images/service-penetration-test.svg");
}

.icon.service-security-consulting {
  background-color: #44D62C;
  -webkit-mask: url("/images/service-security-consulting.svg");
          mask: url("/images/service-security-consulting.svg");
}

.icon.service-security-training {
  background-color: #44D62C;
  -webkit-mask: url("/images/service-security-training.svg");
          mask: url("/images/service-security-training.svg");
}

.nav-m .icon {
  -webkit-mask-size: cover;
          mask-size: cover;
}

/* mobile icon hover*/
.nav-m a:hover .icon.service-red-team {
  background-color: #fff;
  transition: 0.3s all ease;
}

.nav-m a:hover .icon.service-penetration-test {
  background-color: #fff;
  transition: 0.3s all ease;
}

.nav-m a:hover .icon.service-security-consulting {
  background-color: #fff;
  transition: 0.3s all ease;
}

.nav-m a:hover .icon.service-security-training {
  background-color: #fff;
  transition: 0.3s all ease;
}

.nav-m a:hover .icon.chat-alt {
  background-image: url("/images/menu/chat-alt-hover.svg");
  transition: 0.3s all ease;
}

.nav-m a:hover .icon.search {
  background-image: url("/images/search-white.svg");
}

a:hover .icon.foward {
  background-image: url("/images/arrow-sm-left-green.svg");
  transition: 0.3s all ease;
}

a:hover .icon.next {
  background-image: url("/images/arrow-sm-right-green.svg");
  transition: 0.3s all ease;
}

/* menu icons */
.icon.menu.badge-check {
  background-image: url("/images/menu/badge-check.svg");
}

.icon.menu.briefcase {
  background-image: url("/images/menu/briefcase.svg");
}

.icon.menu.cursor-click {
  background-image: url("/images/menu/cursor-click.svg");
}

.icon.menu.download {
  background-image: url("/images/menu/download.svg");
}

.icon.menu.flag {
  background-image: url("/images/menu/flag.svg");
}

.icon.menu.globe {
  background-image: url("/images/menu/globe.svg");
}

.icon.menu.heart {
  background-image: url("/images/menu/heart.svg");
}

.icon.menu.information-circle {
  background-image: url("/images/menu/information-circle.svg");
}

.icon.menu.newspaper {
  background-image: url("/images/menu/newspaper.svg");
}

.icon.menu.puzzle {
  background-image: url("/images/menu/puzzle.svg");
}

.icon.menu.search-circle {
  background-image: url("/images/menu/search-circle.svg");
}

.icon.menu.shield-check {
  background-image: url("/images/menu/shield-check.svg");
}

.icon.menu.sm-view-grid-add {
  background-image: url("/images/menu/sm-view-grid-add.svg");
}

.icon.menu.view-list {
  background-image: url("/images/menu/view-list.svg");
}

.icon.menu.user-group {
  background-image: url("/images/menu/user-group.svg");
}

.icon.menu.cake {
  background-image: url("/images/menu/cake.svg");
}

.icon.mediadownload {
  background-image: url("/images/download.svg");
}

.icon.cash {
  background-image: url("/images/cash.svg");
}

.icon.history-flag {
  background-image: url("/images/history-flag.svg");
}

.critical {
  color: #C9533B;
}

.high {
  color: #B350A6;
}

.medium {
  color: #F0C166;
}

.low {
  color: #44D62C;
}

pre.prettyprint ol.linenums > li {
  list-style-type: decimal;
  padding-left: 10px;
  margin-bottom: 0;
  line-height: 22px;
}

pre.prettyprint {
  margin-top: 0;
  border: 1px solid #d4d4d4 !important;
  border-radius: 0 0 5px 5px;
  padding-bottom: 20px !important;
  padding-top: 20px !important;
}

pre.prettyprint ol li {
  background-color: transparent;
}

.message {
  background-color: #F5f5f5;
  display: flex;
}

.sub-nav.no-content .container:after {
  display: none;
}

body.en .hero h1, body.en .cover h1, body.en .intro h1 {
  font-size: 38px;
}

/* 螢幕尺寸樣式調整 */
/* 1440 以上 */
/* 子選單底圖超出調整 */
/* 1440 - 1024 */
@media screen and (max-width: 1200px) and (min-width: 960px) {
  .research-list.container {
    padding: 60px 32px;
  }
}
@media screen and (max-width: 1240px) {
  .service {
    padding-left: 20px;
    padding-right: 20px;
  }
  .recommand.articles-list {
    padding-left: 20px;
    padding-right: 20px;
  }
  .articles-list {
    padding-left: 20px;
    padding-right: 20px;
  }
  .intro .scroller {
    width: 100vw;
  }
  .members .container {
    padding-left: 20px;
    padding-right: 20px;
  }
  /* footer for PC To Mobile */
  .footer.container {
    padding: 0 20px;
  }
  .footer .logo {
    width: 20%;
  }
  .footer .column {
    width: calc((100% - 30px) / 5);
  }
}
/* 740 - 640 */
@media screen and (max-width: 720px) and (min-width: 640px) {
  .narrow {
    padding: 60px 20px;
  }
}
/* 1024 以下 */
@media screen and (max-width: 1024px) {
  .hero .container {
    padding-left: 32px;
    padding-right: 32px;
  }
  .service .narrow {
    padding-bottom: 20px;
  }
  .service .narrow p {
    margin-bottom: 40px;
  }
  .service .serviceItem .item {
    width: calc((100% - 30px) / 2);
    padding: 30px;
    background-size: auto;
    background-position-x: center;
  }
  .service .serviceItem .item:nth-child(1) {
    width: calc((100% - 30px) / 2);
    min-height: 639px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding: 26px;
    flex-wrap: nowrap;
  }
  .service .serviceItem .item:nth-child(1) a.btn {
    position: initial;
    width: 100%;
  }
  .service .serviceItem .item:nth-child(1) h4 {
    font-size: 20px;
    line-height: 30px;
    margin: 0px;
    position: relative;
    z-index: 1;
    color: #000000;
    text-align: center;
    margin-bottom: 250px;
  }
  .service .serviceItem .item:nth-child(1) h4 .green {
    font-size: 24px;
    line-height: 43.2px;
  }
  .service .serviceItem .item:nth-child(1)::before {
    height: 100%;
  }
  .service .serviceItem .item:nth-child(1)::after {
    background-image: url("/images/service-01bg-m.png");
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: initial;
  }
  .service .serviceItem .item:nth-child(1) ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    margin-top: 18px;
  }
  .service .serviceItem .item:nth-child(1) ul li {
    border-bottom: 1px solid #D4D4D4;
    padding: 8px 0;
    margin-bottom: 0;
  }
  /* footer */
  .footer {
    display: block;
  }
  .footer .logo {
    margin: 0;
    width: 100%;
    padding-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .footer .logo img {
    display: block;
  }
  .footer .social {
    position: relative;
    top: 10px;
  }
  .footer .column {
    width: 100%;
    border-top: 1px solid #D4D4D4;
  }
  .footer .column h6 {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 0;
    padding: 24px 0px;
    width: 100%;
    cursor: pointer;
    background-image: url("/images/plus-sm.svg");
    background-repeat: no-repeat;
    background-position: 100% 24px;
  }
  .footer .column h6.active {
    background-image: url("/images/minus-sm.svg");
  }
  .footer .column ul {
    display: none;
    padding-top: 0;
    padding-bottom: 20px;
  }
  .footer .column .active ~ ul {
    display: block;
  }
  .footer .column ul li:last-child {
    padding-bottom: 0;
  }
  .footer .divider {
    display: none;
  }
  .copyright {
    border-top: 1px solid #D4D4D4;
    display: flex;
    flex-direction: column-reverse;
  }
  .copyright span:first-child {
    display: block;
  }
  .copyright span {
    display: inline-block;
    margin-right: 0;
    margin-bottom: 12px;
    margin-right: 12px;
  }
  .copyright .info {
    width: 100%;
    display: block;
  }
  .copyright .lang {
    padding: 20px 0;
  }
}
/* 720以下 */
/* 960 以下 */
@media screen and (max-width: 960px) {
  /* header menu */
  .header {
    height: 72px;
    padding: 20px;
  }
  .header .container {
    padding: 0;
    justify-content: space-between;
    overflow: hidden;
  }
  .header .logo {
    width: 103.86px;
    height: 14.49px;
    z-index: 1;
  }
  .header .logo img {
    position: relative;
    top: -10px;
  }
  .header .nav {
    width: 68px;
    height: 32px;
    background: #F5F5F5;
    border: 1px solid #D4D4D4;
    border-radius: 3px;
    padding: 8px 6px;
    cursor: pointer;
    z-index: 1;
    transition: 0.3s all ease;
  }
  .header .nav:before {
    content: "選單";
    color: #53565A;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    background-image: url("/images/menu.svg");
    background-repeat: no-repeat;
    background-position: right;
    width: 54px;
    transition: 0.3s all ease;
  }
  .header .active.nav {
    width: 90px;
    transition: 0.3s all ease;
  }
  .header .active.nav:before {
    content: "關閉選單";
    color: #53565A;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    background-image: url("/images/x.svg");
    background-repeat: no-repeat;
    background-position: right;
    width: 90px;
    transition: 0.3s all ease;
  }
  body.en .header .nav {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  body.en .header .nav:before {
    content: "Menu";
    width: 58px;
  }
  body.en .header .active.nav:before {
    content: "Close";
    width: 58px;
  }
  .header .active.nav:active {
    background: #0F172A;
    transition: 0.3s all ease;
  }
  .header .active.nav:active:before {
    color: #fff;
    transition: 0.3s all ease;
  }
  .header .nav-m, .header ul.menu {
    display: none;
  }
  .header ul.menu li a:last-child {
    margin-bottom: 8px;
  }
  /* 手機板選單 */
  .header .nav-m.active {
    position: fixed;
    width: 100vw;
    height: calc(100vh - 72px);
    background-color: #fff;
    color: #53565A;
    display: block;
    left: 0;
    bottom: 0;
    z-index: 0;
    overflow-x: hidden;
    overflow-y: scroll;
    top: 72px;
  }
  .header .nav-m ul.menu {
    display: block;
    margin: 0;
    padding: 20px 20px 80px 20px;
    left: 0;
  }
  .header .nav-m ul.menu li {
    margin-right: 0;
    width: 100%;
  }
  .header .nav-m .menu .menuItem {
    display: flex;
    width: 100%;
    margin-bottom: 16px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .header .nav-m ul.menu .menuLable {
    display: block;
    padding: 0;
    width: 100%;
  }
  .header .nav-m .menu .menuItem .item {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    background: #F5F5F5;
    border-radius: 5px;
    padding: 8px;
  }
  .header .nav-m .menu .menuItem .item h2 {
    margin: 0;
    font-weight: 400;
  }
  .header .nav-m ul.menu .menuLable span {
    color: #53565A;
    /* display: block;
     */
    display: inline-flex;
    margin: 0;
    margin-bottom: 8px;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
  }
  .header .nav-m ul.menu li a {
    width: calc((100% - 8px) / 2);
    margin-bottom: 8px;
  }
  .header .nav-m ul.menu li a.fullwidth {
    width: 100%;
  }
  .header .nav-m ul.menu li .center {
    text-align: center;
    justify-content: center;
  }
  .header .nav-m .menu .menuItem .item i {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    transition: 0.3s all ease;
  }
  .header .nav-m ul.menu li a .item i {
    transition: 0.3s all ease;
  }
  .header .nav-m ul.menu li a:hover .item i, .header .nav-m ul.menu li a:active .item i {
    background-color: #fff;
  }
  .header .nav-m ul.menu li a:hover .item, .header .nav-m ul.menu li a:active .item {
    background: #0F172A;
    color: #FFFFFF;
  }
  .header .nav-m .menu .menuLable span {
    transition: 0.3s all ease;
  }
  .header .nav-m .menu .menuLable:hover span {
    border: 2px solid transparent;
  }
  .hero {
    height: 100vh;
    background-image: url("/images/home_bg_m.png");
  }
  /* Home value Block */
  .value .content .column {
    width: 500px;
    margin: auto;
    display: block;
  }
  .value .content .column:nth-child(2n) {
    flex-direction: column;
  }
  .value .content .column .item {
    width: 100%;
    margin-left: 0;
    margin-bottom: 30px;
  }
  .value .content .column .item.slogan {
    height: 300px;
  }
  .value .content .column .item.shadow {
    padding: 60px;
    gap: 30px;
    height: auto;
  }
  /* Home research Block */
  .research h3 {
    font-size: 30px;
    line-height: 36px;
  }
  .research ul {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-items: center;
    gap: 40px;
    width: 100%;
  }
  .research ul li .big-nimbers {
    font-weight: 300;
    font-size: 72px;
    line-height: 1;
  }
  .research {
    padding-bottom: 0;
  }
  .container.numbers {
    width: 100%;
  }
  .code {
    display: none;
  }
  .topics {
    padding: 20px;
    padding-bottom: 80px;
    width: 100%;
  }
  .topics:before, .topics:after {
    content: none;
  }
  .topics article {
    width: 100%;
  }
  .topics .mask {
    display: block;
    max-height: initial;
  }
  .topics article h3, .topics article p {
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .topics article h3 {
    margin-bottom: 0;
  }
  .topics article p {
    margin-top: 8px;
  }
  .topics .topics_more {
    bottom: 0;
  }
  .topics .mask article:nth-child(4), .topics .mask article:nth-child(5) {
    display: none;
  }
  .sub-nav h1 {
    font-size: 24px;
    line-height: 32px;
    bottom: -36px;
    margin-left: -12px;
  }
  .sub-nav .tab {
    z-index: 1;
  }
  .sub-nav .tab::-webkit-scrollbar {
    /*隐藏滚动条*/
    display: none;
  }
  .sub-nav .tab li:first-child {
    margin-left: -12px;
  }
  .sub-nav .container:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 44px;
    z-index: 0;
    left: 0;
    bottom: 0;
    background: rgba(245, 245, 245, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
  .sub-nav.no-conttent .container:after {
    display: none;
  }
  .intro .content {
    width: 100vw;
    padding: 20px 32px 32px;
  }
  .research-list.container {
    padding: 60px 20px;
  }
}
/* 815 - 641 */
@media screen and (max-width: 815px) and (min-width: 641px) {
  section.target .strong li, section.detail .strong li {
    font-size: 24px;
    line-height: 24px;
    margin-bottom: 32px;
  }
  .definition .narrow {
    max-width: 70%;
  }
  .definition p, .company p.key-point {
    font-size: 24px;
    line-height: 1.5;
  }
  .cve .item {
    gap: 0;
  }
  .cve .research-item-head {
    font-size: 12px;
    line-height: 18px;
  }
  .cve .research-item-desc {
    padding-left: 0;
  }
  .cve .research-item-desc .cve-name {
    gap: 0;
    flex-grow: 1;
    flex-direction: column;
  }
  .cve .research-item-desc .cve-desc {
    gap: 0;
    font-size: 12px;
    line-height: 20px;
    width: 70px;
    flex-direction: column;
  }
  .cve .research-item-desc .cve-desc .cvss3, .cve .research-item-desc .cve-desc .founder {
    width: 100%;
  }
  .cve .research-item-desc .cve-desc .founder {
    line-height: 18px;
  }
}
/* 640 以下 */
@media screen and (max-width: 640px) {
  .sub-nav .container::before {
    background-size: cover;
  }
  section.target .strong li, section.detail .strong li {
    margin-bottom: 28px;
  }
  .detail h4 {
    font-size: 16px;
  }
  .container {
    padding: 20px;
    width: 100%;
    max-width: 100%;
    /* overflow: scroll; */
  }
  .narrow {
    max-width: 100%;
    padding: 20px;
  }
  .narrow.intro {
    padding: 60px 20px;
  }
  .team-members {
    padding: 20px 0;
  }
  .main {
    width: 100vw;
    /* overflow: hidden;
     */
  }
  .mainImg {
    overflow: hidden;
  }
  .mainImg .fullwidth {
    width: 100vw;
    max-width: 100vw;
    margin-left: -20px;
  }
  .container.mainImg {
    width: 100vw;
    overflow: visible;
    padding: 0;
  }
  .mobile-break {
    display: block;
    border: none;
    margin: 0;
  }
  /* 首頁 hero*/
  .hero {
    display: block;
    height: calc(100vh - 72px);
    max-height: calc(150vw + 72px - (100vw - 320px) * 0.25);
    min-height: 568px;
  }
  .hero .container {
    padding: 20px;
    align-items: flex-start;
    margin-top: 72px;
  }
  .hero h1, body.en .hero h1 {
    font-size: 24px;
    line-height: 1.25;
  }
  .hero span:not(.green):not(.underline) {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
  }
  .hero a {
    text-decoration: underline;
  }
  .hero h1, .hero span:not(.green):not(.underline) {
    top: 0;
  }
  /* 首頁 value */
  .value .top-slogon {
    padding-bottom: 60px;
  }
  .value .top-slogon h1 {
    font-size: 13vw;
    font-size: min(13vw, 50px); /* 這樣寫不會error */
    margin: 0;
  }
  .value .col-6, .value .col-6:nth-child(2n) {
    width: 100%;
    margin: 0;
    padding: 20px 40px;
  }
  .value p {
    padding-bottom: 40px;
  }
  .value .content .column .item h2 {
    font-weight: 600;
    font-size: 30px;
    line-height: 36px;
    word-break: normal;
  }
  .value h2 span.green {
    font-size: 14vw;
  }
  body.en .value h2 span.green {
    font-size: 12vw;
  }
  .value .content .column {
    width: auto;
    margin: auto;
    padding: 0;
  }
  .value .content .column .item {
    width: auto;
    height: 320px;
    margin-left: 0;
    margin-bottom: 20px;
    padding: 20px;
  }
  .value .content .column .item.shadow {
    padding: 60px 40px;
  }
  .value .content .column .item p {
    padding-bottom: 0;
    margin-bottom: 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
  }
  .value .content .column .item .forward {
    display: inline-flex;
    margin-top: 20px;
  }
  .value .content .column .item h2 {
    font-weight: 600;
    font-size: 24px;
  }
  .value .content .column .item h2 mark {
    font-size: 48px;
    font-weight: 400;
    line-height: 65px;
  }
  .value .info h2 {
    font-weight: 600;
    font-size: 24px;
  }
  .value .info h2 mark {
    font-weight: 400;
    font-size: 48px;
    line-height: 72px;
  }
  .service .narrow {
    padding-bottom: 20px;
  }
  .service .narrow p {
    margin-bottom: 40px;
  }
  .service h2 {
    font-size: 30px;
    line-height: 36px;
  }
  .service .serviceItem {
    display: block;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .service .serviceItem .item:nth-child(1), .service .serviceItem .item {
    width: 100%;
    margin-bottom: 20px;
    min-height: auto;
  }
  /* Service底圖 */
  .red-team {
    background-image: url("../images/red-team_bg_m.png");
  }
  .red-team::before {
    content: none;
  }
  .security-training {
    background-image: url("../images/security-training_bg_m.png");
  }
  .security-training::before {
    content: none;
  }
  .security-consulting {
    background-image: url("../images/security-consulting_bg_m.png");
  }
  .security-consulting::before {
    content: none;
  }
  .penetration-test {
    background-image: url("../images/penetration-test_bg_m.png");
  }
  .penetration-test::before {
    content: none;
  }
  /* service forward */
  .forward h2 {
    font-size: 24px;
    line-height: 32px;
  }
  /* 選單下方Tab */
  .sub-nav .container {
    padding-left: 20px;
    padding-right: 20px;
    overflow: hidden;
    height: 208px;
    position: absolute;
    bottom: 0;
  }
  .sub-nav .container::before {
    top: 0;
    background-image: url("/images/sub_bg_m.png");
    width: 100%;
  }
  .sub-nav h1 {
    font-size: 24px;
    line-height: 32px;
    bottom: -84px;
    margin-left: 0;
  }
  .sub-nav .tab {
    display: block;
    width: 100vw;
    overflow-x: scroll;
    overflow-y: hidden;
    height: 44px;
    position: absolute;
    bottom: 0;
    left: 0;
    white-space: nowrap;
    z-index: 1;
    /* scroll-behavior: smooth; */
  }
  .sub-nav .container:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 44px;
    z-index: 0;
    left: 0;
    bottom: 0;
    background: rgba(245, 245, 245, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
  .sub-nav .tab li:first-child {
    margin-left: 20px;
  }
  .sub-nav .tab li {
    display: inline-flex;
    align-items: center;
  }
  /* 主標題 */
  div.title {
    padding: 20px 0 40px 0;
    display: block;
  }
  div.title h1 {
    font-size: 20px;
    line-height: 28px;
  }
  div.title .pageInfo {
    display: block;
    font-size: 14px;
    line-height: 20px;
  }
  .article .content {
    width: 100%;
  }
  .article .imgBlock {
    flex-basis: 100px;
  }
  .article .imgBlock img {
    width: 100px;
    height: 100px;
  }
  .article .content h3, .article_body .content h3 {
    font-size: 14px;
    line-height: 20px;
  }
  .article .content .tag, .article_body .content .tag {
    font-size: 12px;
    line-height: 16px;
  }
  .article .content h2, .article_body .content h2 {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
  }
  .article .content p, .article_body .content p {
    font-size: 16px;
  }
  .author_info {
    padding: 40px 0;
  }
  /* blog 文章內容 */
  .article_body .content h1 {
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 10px;
  }
  .article_body .article_img {
    margin-top: 10px;
    position: relative;
    width: 100vw;
    left: -20px;
  }
  .article_content table.fullwidth {
    width: 100vw;
    left: -20px;
    overflow-x: scroll;
  }
  .article_footer {
    margin: 20px;
    width: calc(100% - 40px);
  }
  .article_content table:not(.fullwidth) {
    width: 100%;
    overflow-x: scroll;
    display: block;
  }
  .article_content div video, .article_content div img {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: -20px;
  }
  .article_footer .circle {
    flex-basis: 48px;
    flex-shrink: 0;
  }
  .article_footer .author_info {
    padding: 0;
  }
  .article_footer .author_info p {
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
  }
  .article_footer.multi {
    padding: 0;
    flex-wrap: wrap;
  }
  .article_footer.multi .author_info {
    width: 100%;
    flex: 0 0 100%;
    padding: 20px;
  }
  .article_footer.multi .author_info:nth-child(2n) {
    margin-left: 0;
  }
  .article_footer.multi hr {
    display: block;
    border: none;
    border-bottom: 1px solid #E5E5E5;
    margin: 0 20px;
    display: block;
    width: 100%;
  }
  .recommand.articles-list {
    padding-top: 0;
    padding-bottom: 20px;
  }
  .articles-list .article {
    width: 100%;
    margin: 0;
    margin-bottom: 20px;
  }
  .articles-list .container {
    flex-wrap: wrap;
  }
  .recommand.articles-list .article .content p {
    display: -webkit-box;
    margin-bottom: 20px;
  }
  .overview.articles-list {
    padding: 40px 0;
    margin-top: 20px;
  }
  .overview.articles-list h2 {
    margin-bottom: 0;
  }
  .overview.articles-list .container {
    padding-bottom: 0;
  }
  .overview.articles-list .article h2 {
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    margin: 0 0 6px 0;
  }
  .overview.articles-list .article .content p {
    display: -webkit-box;
  }
  .detail .content .item {
    width: 100%;
    margin-right: 0;
  }
  .detail .content .item i {
    width: 24px;
    height: 24px;
    background-size: contain;
  }
  .detail {
    padding: 60px 0;
  }
  .detail h3 {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 40px;
  }
  .detail .content .item h4 {
    font-size: 16px;
    line-height: 24px;
  }
  .detail .content .item p {
    margin-top: 8px;
  }
  .detail p.phase:last-child {
    margin-bottom: 0;
  }
  .target {
    padding: 60px 20px 40px;
  }
  .target h2 {
    margin-top: 0;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 30px;
  }
  .target .strong {
    gap: 0;
    flex-direction: column;
  }
  .target .strong .row {
    width: 100%;
  }
  .target .strong .row .item {
    text-align: center;
    padding: 20px 0;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    width: 100%;
    border: none;
  }
  body.en .target .strong .row .item {
    font-size: 20px;
  }
  .forword {
    padding: 60px 20px 60px 0;
  }
  .forword h2 {
    font-size: 24px;
    line-height: 32px;
  }
  ul.hyphen li {
    font-size: 16px;
    line-height: 24px;
  }
  .definition {
    height: 640px;
    padding: 0;
    display: flex;
  }
  .definition p, .company p.key-point {
    font-size: 20px;
    line-height: 1.5;
  }
  .company {
    padding: 40px 0;
  }
  .company.intro p {
    margin-bottom: 24px;
  }
  .choose {
    padding: 60px 0 30px;
  }
  .faqs ul li h4 {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
  }
  .faqs ul li .content {
    font-size: 14px;
    line-height: 20px;
  }
  .faqs {
    padding: 60px 0;
  }
  .cta {
    padding: 60px 20px;
    text-align: center;
  }
  .cta h2 {
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 16px;
  }
  .cta .container {
    display: block;
  }
  .cta .btn {
    margin: auto;
  }
  .cover {
    background-size: cover;
    background-position: center bottom;
    padding: 72px 0 0;
    min-height: 640px;
    height: 100vh;
    max-height: calc(150vw + 72px - (100vw - 320px) * 0.25 + 72px);
  }
  .cover .container {
    height: 100%;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background: linear-gradient(180deg, rgba(245, 245, 245, 0) 50%, #F5F5F5 85%);
  }
  .cover h1 {
    font-size: 24px;
    line-height: 32px;
  }
  .cover p {
    max-width: 100%;
    text-align: left;
    position: absolute;
    width: calc(100% - 40px);
    bottom: 20px;
  }
  .leaders .container {
    padding: 20px 0;
  }
  .leader .img {
    width: 100vw;
    height: calc(50vh - 22px);
    padding-top: 0;
    border-radius: 0;
    margin-right: 0;
  }
  .leader .img img {
    border-radius: 0;
    width: 100vw;
    height: calc(50vh - 22px);
    -o-object-fit: cover;
       object-fit: cover;
  }
  .leader {
    flex-wrap: wrap;
    margin-bottom: 0;
    gap: 0;
    padding: 0;
  }
  .leader .job {
    width: 100vw;
    height: calc(50vh - 22px);
    padding: 30px 0;
  }
  .team .member_list .member_info {
    flex: 0 0 50%;
  }
  .intro h1 {
    font-weight: 600;
    font-size: 30px;
    line-height: 36px;
  }
  .overview.intro {
    padding: 40px 0 0;
  }
  .overview.intro h1 {
    font-size: 32px;
    line-height: 126%;
    margin-bottom: 20px;
  }
  .more {
    margin-bottom: 60px;
  }
  .overviewintro .content {
    flex-wrap: wrap;
  }
  .intro .content h3 {
    font-size: 20px;
    line-height: 28px;
  }
  .intro p {
    text-align: left;
    padding: 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
  }
  .intro .content .item {
    margin: 0;
    min-width: 80vw;
  }
  .members h2 {
    text-align: center;
  }
  .members .member_list {
    padding-bottom: 20px;
    flex-wrap: wrap;
  }
  .members .member_info {
    width: calc((100% - 40px) / 2);
  }
  /* 如果最後一行是3個元素 */
  .members .member_info:last-child:nth-child(4n-1) {
    margin-right: 25.3333333333%;
  }
  /* 如果最後一行是2個元素 */
  .members .member_info:last-child:nth-child(4n-2) {
    margin-right: 50.6666666667%;
  }
  ul.timeline {
    margin-top: 40px;
  }
  .csr.intro {
    padding: 60px 20px 0 20px;
  }
  .csr.intro .mainImg {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: -20px;
    padding: 0 20px;
    display: flex;
  }
  .csr.intro h1 {
    font-size: 30px;
    line-height: 36px;
    margin-bottom: 20px;
    margin-top: 0;
  }
  .csr.intro p {
    font-size: 16px;
    line-height: 24px;
    padding-bottom: 40px;
  }
  .talent {
    padding: 0;
    padding-top: 20px;
  }
  .talent p {
    padding: 0;
    margin-bottom: 40px;
  }
  .talent h2 {
    font-size: 24px;
    line-height: 32px;
  }
  .talent .content {
    flex-wrap: wrap;
    margin-top: 40px;
  }
  .talent .content .item {
    width: 100%;
    margin-bottom: 40px;
  }
  .expose h2 {
    font-size: 24px;
    line-height: 32px;
  }
  .expose .content {
    flex-wrap: wrap;
  }
  .expose .content .item {
    width: 100%;
    margin-bottom: 40px;
  }
  .expose p {
    margin: 0;
  }
  .expose .narrow {
    padding: 40px 20px 50px 20px;
  }
  .list p {
    margin: 4px 0 0 0;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
  }
  .list .item {
    font-size: 14px;
    line-height: 20px;
    flex-direction: column;
  }
  .awards .list .item {
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .awards .list .item .research-item-head {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .awards .list .item .research-item-desc {
    padding-left: 0px;
  }
  .list p.content {
    flex-wrap: wrap;
  }
  .list .name {
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
  }
  .list p.content .prod {
    width: 100%;
    flex-basis: 100%;
    flex-shrink: 0;
    margin-bottom: 4px;
  }
  .list p.content .degree {
    margin-right: 12px;
    min-width: 56px;
    width: auto;
    font-size: 12px;
    line-height: 16px;
  }
  .list p.content .degree em {
    margin-left: 8px;
  }
  .list p.content .finder {
    width: auto;
    font-size: 12px;
    line-height: 16px;
  }
  .list .year {
    width: 40px;
  }
  .list ul {
    display: inline-block;
    width: calc(100% - 70px);
  }
  .research-item-head, .research-item-desc {
    width: 100%;
    gap: 6px;
  }
  .research-item-desc {
    padding-left: 46px;
  }
  .bug-company {
    flex-grow: 1;
  }
  .award-place {
    flex-grow: 1;
  }
  .founder {
    width: 50px;
    font-size: 12px;
    line-height: 20px;
  }
  .speech-title {
    padding-left: 20px;
  }
  .cve .item {
    gap: 0;
  }
  .cve .research-item-head {
    font-size: 12px;
    line-height: 18px;
  }
  .cve .research-item-desc {
    padding-left: 0;
  }
  .cve .research-item-desc .cve-name {
    gap: 0;
    flex-grow: 1;
    flex-direction: column;
  }
  .cve .research-item-desc .cve-desc {
    gap: 0;
    font-size: 12px;
    line-height: 20px;
    width: 70px;
    flex-direction: column;
  }
  .cve .research-item-desc .cve-desc .cvss3, .cve .research-item-desc .cve-desc .founder {
    width: 100%;
  }
  .cve .research-item-desc .cve-desc .founder {
    line-height: 18px;
  }
  .quicklink {
    padding-bottom: 40px;
  }
  .media {
    padding: 20px;
  }
  .media .narrow {
    padding: 40px 0px 40px;
  }
  .media .narrow .img {
    width: 100vw;
    height: 56vw;
    margin-left: -20px;
  }
  .album {
    margin-top: 60px;
  }
  .img-list {
    display: block;
    position: relative;
  }
  .img-list .img {
    width: 100vw;
    position: relative;
    left: -20px;
    margin-bottom: 24px;
  }
  .contact {
    padding: 40px 0;
  }
  .form-group {
    width: 100%;
  }
  .jobs p, .jobs .content ul li, .jobs .content ol li {
    font-size: 14px;
    line-height: 20px;
  }
  .jobs ul.square li::before, .jobs ul.square ul ul li::before {
    left: -24px;
    top: 0;
  }
  .jobs ul.square ul li::before {
    top: -4px;
  }
  .job.value h2, .policy h2 {
    font-size: 28px;
    line-height: 36px;
  }
  .policy h3 {
    margin-top: 20px;
  }
  .jobs .job-list .job-list-item h4 {
    font-size: 16px;
    line-height: 30px;
  }
  .job.value .content .item {
    height: 175px;
  }
  .job.value .content .item p {
    padding-bottom: 0;
  }
  .policy {
    padding: 20px 0;
  }
  .policy p {
    margin-bottom: 40px;
    margin-top: 0;
  }
  .policy p.desc {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
  }
  .policy .desc {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 40px;
  }
  .policy .content h4 {
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    margin: 40px 0 8px 0;
  }
  .policy h3 {
    margin-bottom: 8px;
  }
  .policy .content {
    padding-bottom: 0;
    margin-bottom: 40px;
  }
  .welfare .content:last-child {
    padding-bottom: 0;
  }
  .welfare .content .item {
    width: 100%;
  }
  .welfare .content .item:nth-child(2n+1) {
    margin-right: 0;
  }
  .welfare .content .item ul.square {
    margin-top: 0;
    margin-bottom: 0;
  }
  .enviroment {
    padding-bottom: 30px;
  }
  .enviroment h2 {
    font-size: 24px;
    line-height: 32px;
    margin: 40px 0;
  }
  .enviroment .desc {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
  }
  .enviroment .content .item {
    width: 100vw;
    margin: 0;
    margin-bottom: 20px;
  }
  .enviroment .content .item img {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    left: -20px;
  }
  .job.intro {
    padding: 60px 20px 0;
  }
  .job.intro .more {
    margin: 40px 0 20px;
  }
  .job.intro h1 {
    font-size: 30px;
    line-height: 36px;
    margin-bottom: 20px;
    margin-top: 0;
  }
  .quicklink.jobs {
    color: #53565A;
  }
  .quicklink.jobs h2 {
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
  }
  .quicklink.jobs li {
    font-weight: 600;
  }
  .pagination ul li a {
    font-size: 18px;
    line-height: 28px;
  }
  .pagination a {
    height: 32px;
  }
  .pagination i {
    width: 32px;
    height: 32px;
    background-size: contain;
    margin-top: 0;
  }
  .intro .content {
    margin-left: -20px;
    gap: 16px;
    padding: 20px;
  }
  body.en .cover h1, body.en .overview.intro h1, body.en .intro h1, body.en .job.intro h1 {
    width: 100%;
    font-size: 24px;
    line-height: 1.25;
  }
  body.en .leader .job {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
[data-aos][data-aos][data-aos-duration="50"], body[data-aos-duration="50"] [data-aos] {
  transition-duration: 50ms;
}

[data-aos][data-aos][data-aos-delay="50"], body[data-aos-delay="50"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="50"].aos-animate, body[data-aos-delay="50"] [data-aos].aos-animate {
  transition-delay: 50ms;
}

[data-aos][data-aos][data-aos-duration="100"], body[data-aos-duration="100"] [data-aos] {
  transition-duration: 0.1s;
}

[data-aos][data-aos][data-aos-delay="100"], body[data-aos-delay="100"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="100"].aos-animate, body[data-aos-delay="100"] [data-aos].aos-animate {
  transition-delay: 0.1s;
}

[data-aos][data-aos][data-aos-duration="150"], body[data-aos-duration="150"] [data-aos] {
  transition-duration: 0.15s;
}

[data-aos][data-aos][data-aos-delay="150"], body[data-aos-delay="150"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="150"].aos-animate, body[data-aos-delay="150"] [data-aos].aos-animate {
  transition-delay: 0.15s;
}

[data-aos][data-aos][data-aos-duration="200"], body[data-aos-duration="200"] [data-aos] {
  transition-duration: 0.2s;
}

[data-aos][data-aos][data-aos-delay="200"], body[data-aos-delay="200"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="200"].aos-animate, body[data-aos-delay="200"] [data-aos].aos-animate {
  transition-delay: 0.2s;
}

[data-aos][data-aos][data-aos-duration="250"], body[data-aos-duration="250"] [data-aos] {
  transition-duration: 0.25s;
}

[data-aos][data-aos][data-aos-delay="250"], body[data-aos-delay="250"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="250"].aos-animate, body[data-aos-delay="250"] [data-aos].aos-animate {
  transition-delay: 0.25s;
}

[data-aos][data-aos][data-aos-duration="300"], body[data-aos-duration="300"] [data-aos] {
  transition-duration: 0.3s;
}

[data-aos][data-aos][data-aos-delay="300"], body[data-aos-delay="300"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="300"].aos-animate, body[data-aos-delay="300"] [data-aos].aos-animate {
  transition-delay: 0.3s;
}

[data-aos][data-aos][data-aos-duration="350"], body[data-aos-duration="350"] [data-aos] {
  transition-duration: 0.35s;
}

[data-aos][data-aos][data-aos-delay="350"], body[data-aos-delay="350"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="350"].aos-animate, body[data-aos-delay="350"] [data-aos].aos-animate {
  transition-delay: 0.35s;
}

[data-aos][data-aos][data-aos-duration="400"], body[data-aos-duration="400"] [data-aos] {
  transition-duration: 0.4s;
}

[data-aos][data-aos][data-aos-delay="400"], body[data-aos-delay="400"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="400"].aos-animate, body[data-aos-delay="400"] [data-aos].aos-animate {
  transition-delay: 0.4s;
}

[data-aos][data-aos][data-aos-duration="450"], body[data-aos-duration="450"] [data-aos] {
  transition-duration: 0.45s;
}

[data-aos][data-aos][data-aos-delay="450"], body[data-aos-delay="450"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="450"].aos-animate, body[data-aos-delay="450"] [data-aos].aos-animate {
  transition-delay: 0.45s;
}

[data-aos][data-aos][data-aos-duration="500"], body[data-aos-duration="500"] [data-aos] {
  transition-duration: 0.5s;
}

[data-aos][data-aos][data-aos-delay="500"], body[data-aos-delay="500"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="500"].aos-animate, body[data-aos-delay="500"] [data-aos].aos-animate {
  transition-delay: 0.5s;
}

[data-aos][data-aos][data-aos-duration="550"], body[data-aos-duration="550"] [data-aos] {
  transition-duration: 0.55s;
}

[data-aos][data-aos][data-aos-delay="550"], body[data-aos-delay="550"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="550"].aos-animate, body[data-aos-delay="550"] [data-aos].aos-animate {
  transition-delay: 0.55s;
}

[data-aos][data-aos][data-aos-duration="600"], body[data-aos-duration="600"] [data-aos] {
  transition-duration: 0.6s;
}

[data-aos][data-aos][data-aos-delay="600"], body[data-aos-delay="600"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="600"].aos-animate, body[data-aos-delay="600"] [data-aos].aos-animate {
  transition-delay: 0.6s;
}

[data-aos][data-aos][data-aos-duration="650"], body[data-aos-duration="650"] [data-aos] {
  transition-duration: 0.65s;
}

[data-aos][data-aos][data-aos-delay="650"], body[data-aos-delay="650"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="650"].aos-animate, body[data-aos-delay="650"] [data-aos].aos-animate {
  transition-delay: 0.65s;
}

[data-aos][data-aos][data-aos-duration="700"], body[data-aos-duration="700"] [data-aos] {
  transition-duration: 0.7s;
}

[data-aos][data-aos][data-aos-delay="700"], body[data-aos-delay="700"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="700"].aos-animate, body[data-aos-delay="700"] [data-aos].aos-animate {
  transition-delay: 0.7s;
}

[data-aos][data-aos][data-aos-duration="750"], body[data-aos-duration="750"] [data-aos] {
  transition-duration: 0.75s;
}

[data-aos][data-aos][data-aos-delay="750"], body[data-aos-delay="750"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="750"].aos-animate, body[data-aos-delay="750"] [data-aos].aos-animate {
  transition-delay: 0.75s;
}

[data-aos][data-aos][data-aos-duration="800"], body[data-aos-duration="800"] [data-aos] {
  transition-duration: 0.8s;
}

[data-aos][data-aos][data-aos-delay="800"], body[data-aos-delay="800"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="800"].aos-animate, body[data-aos-delay="800"] [data-aos].aos-animate {
  transition-delay: 0.8s;
}

[data-aos][data-aos][data-aos-duration="850"], body[data-aos-duration="850"] [data-aos] {
  transition-duration: 0.85s;
}

[data-aos][data-aos][data-aos-delay="850"], body[data-aos-delay="850"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="850"].aos-animate, body[data-aos-delay="850"] [data-aos].aos-animate {
  transition-delay: 0.85s;
}

[data-aos][data-aos][data-aos-duration="900"], body[data-aos-duration="900"] [data-aos] {
  transition-duration: 0.9s;
}

[data-aos][data-aos][data-aos-delay="900"], body[data-aos-delay="900"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="900"].aos-animate, body[data-aos-delay="900"] [data-aos].aos-animate {
  transition-delay: 0.9s;
}

[data-aos][data-aos][data-aos-duration="950"], body[data-aos-duration="950"] [data-aos] {
  transition-duration: 0.95s;
}

[data-aos][data-aos][data-aos-delay="950"], body[data-aos-delay="950"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="950"].aos-animate, body[data-aos-delay="950"] [data-aos].aos-animate {
  transition-delay: 0.95s;
}

[data-aos][data-aos][data-aos-duration="1000"], body[data-aos-duration="1000"] [data-aos] {
  transition-duration: 1s;
}

[data-aos][data-aos][data-aos-delay="1000"], body[data-aos-delay="1000"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1000"].aos-animate, body[data-aos-delay="1000"] [data-aos].aos-animate {
  transition-delay: 1s;
}

[data-aos][data-aos][data-aos-duration="1050"], body[data-aos-duration="1050"] [data-aos] {
  transition-duration: 1.05s;
}

[data-aos][data-aos][data-aos-delay="1050"], body[data-aos-delay="1050"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1050"].aos-animate, body[data-aos-delay="1050"] [data-aos].aos-animate {
  transition-delay: 1.05s;
}

[data-aos][data-aos][data-aos-duration="1100"], body[data-aos-duration="1100"] [data-aos] {
  transition-duration: 1.1s;
}

[data-aos][data-aos][data-aos-delay="1100"], body[data-aos-delay="1100"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1100"].aos-animate, body[data-aos-delay="1100"] [data-aos].aos-animate {
  transition-delay: 1.1s;
}

[data-aos][data-aos][data-aos-duration="1150"], body[data-aos-duration="1150"] [data-aos] {
  transition-duration: 1.15s;
}

[data-aos][data-aos][data-aos-delay="1150"], body[data-aos-delay="1150"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1150"].aos-animate, body[data-aos-delay="1150"] [data-aos].aos-animate {
  transition-delay: 1.15s;
}

[data-aos][data-aos][data-aos-duration="1200"], body[data-aos-duration="1200"] [data-aos] {
  transition-duration: 1.2s;
}

[data-aos][data-aos][data-aos-delay="1200"], body[data-aos-delay="1200"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1200"].aos-animate, body[data-aos-delay="1200"] [data-aos].aos-animate {
  transition-delay: 1.2s;
}

[data-aos][data-aos][data-aos-duration="1250"], body[data-aos-duration="1250"] [data-aos] {
  transition-duration: 1.25s;
}

[data-aos][data-aos][data-aos-delay="1250"], body[data-aos-delay="1250"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1250"].aos-animate, body[data-aos-delay="1250"] [data-aos].aos-animate {
  transition-delay: 1.25s;
}

[data-aos][data-aos][data-aos-duration="1300"], body[data-aos-duration="1300"] [data-aos] {
  transition-duration: 1.3s;
}

[data-aos][data-aos][data-aos-delay="1300"], body[data-aos-delay="1300"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1300"].aos-animate, body[data-aos-delay="1300"] [data-aos].aos-animate {
  transition-delay: 1.3s;
}

[data-aos][data-aos][data-aos-duration="1350"], body[data-aos-duration="1350"] [data-aos] {
  transition-duration: 1.35s;
}

[data-aos][data-aos][data-aos-delay="1350"], body[data-aos-delay="1350"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1350"].aos-animate, body[data-aos-delay="1350"] [data-aos].aos-animate {
  transition-delay: 1.35s;
}

[data-aos][data-aos][data-aos-duration="1400"], body[data-aos-duration="1400"] [data-aos] {
  transition-duration: 1.4s;
}

[data-aos][data-aos][data-aos-delay="1400"], body[data-aos-delay="1400"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1400"].aos-animate, body[data-aos-delay="1400"] [data-aos].aos-animate {
  transition-delay: 1.4s;
}

[data-aos][data-aos][data-aos-duration="1450"], body[data-aos-duration="1450"] [data-aos] {
  transition-duration: 1.45s;
}

[data-aos][data-aos][data-aos-delay="1450"], body[data-aos-delay="1450"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1450"].aos-animate, body[data-aos-delay="1450"] [data-aos].aos-animate {
  transition-delay: 1.45s;
}

[data-aos][data-aos][data-aos-duration="1500"], body[data-aos-duration="1500"] [data-aos] {
  transition-duration: 1.5s;
}

[data-aos][data-aos][data-aos-delay="1500"], body[data-aos-delay="1500"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1500"].aos-animate, body[data-aos-delay="1500"] [data-aos].aos-animate {
  transition-delay: 1.5s;
}

[data-aos][data-aos][data-aos-duration="1550"], body[data-aos-duration="1550"] [data-aos] {
  transition-duration: 1.55s;
}

[data-aos][data-aos][data-aos-delay="1550"], body[data-aos-delay="1550"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1550"].aos-animate, body[data-aos-delay="1550"] [data-aos].aos-animate {
  transition-delay: 1.55s;
}

[data-aos][data-aos][data-aos-duration="1600"], body[data-aos-duration="1600"] [data-aos] {
  transition-duration: 1.6s;
}

[data-aos][data-aos][data-aos-delay="1600"], body[data-aos-delay="1600"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1600"].aos-animate, body[data-aos-delay="1600"] [data-aos].aos-animate {
  transition-delay: 1.6s;
}

[data-aos][data-aos][data-aos-duration="1650"], body[data-aos-duration="1650"] [data-aos] {
  transition-duration: 1.65s;
}

[data-aos][data-aos][data-aos-delay="1650"], body[data-aos-delay="1650"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1650"].aos-animate, body[data-aos-delay="1650"] [data-aos].aos-animate {
  transition-delay: 1.65s;
}

[data-aos][data-aos][data-aos-duration="1700"], body[data-aos-duration="1700"] [data-aos] {
  transition-duration: 1.7s;
}

[data-aos][data-aos][data-aos-delay="1700"], body[data-aos-delay="1700"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1700"].aos-animate, body[data-aos-delay="1700"] [data-aos].aos-animate {
  transition-delay: 1.7s;
}

[data-aos][data-aos][data-aos-duration="1750"], body[data-aos-duration="1750"] [data-aos] {
  transition-duration: 1.75s;
}

[data-aos][data-aos][data-aos-delay="1750"], body[data-aos-delay="1750"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1750"].aos-animate, body[data-aos-delay="1750"] [data-aos].aos-animate {
  transition-delay: 1.75s;
}

[data-aos][data-aos][data-aos-duration="1800"], body[data-aos-duration="1800"] [data-aos] {
  transition-duration: 1.8s;
}

[data-aos][data-aos][data-aos-delay="1800"], body[data-aos-delay="1800"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1800"].aos-animate, body[data-aos-delay="1800"] [data-aos].aos-animate {
  transition-delay: 1.8s;
}

[data-aos][data-aos][data-aos-duration="1850"], body[data-aos-duration="1850"] [data-aos] {
  transition-duration: 1.85s;
}

[data-aos][data-aos][data-aos-delay="1850"], body[data-aos-delay="1850"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1850"].aos-animate, body[data-aos-delay="1850"] [data-aos].aos-animate {
  transition-delay: 1.85s;
}

[data-aos][data-aos][data-aos-duration="1900"], body[data-aos-duration="1900"] [data-aos] {
  transition-duration: 1.9s;
}

[data-aos][data-aos][data-aos-delay="1900"], body[data-aos-delay="1900"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1900"].aos-animate, body[data-aos-delay="1900"] [data-aos].aos-animate {
  transition-delay: 1.9s;
}

[data-aos][data-aos][data-aos-duration="1950"], body[data-aos-duration="1950"] [data-aos] {
  transition-duration: 1.95s;
}

[data-aos][data-aos][data-aos-delay="1950"], body[data-aos-delay="1950"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1950"].aos-animate, body[data-aos-delay="1950"] [data-aos].aos-animate {
  transition-delay: 1.95s;
}

[data-aos][data-aos][data-aos-duration="2000"], body[data-aos-duration="2000"] [data-aos] {
  transition-duration: 2s;
}

[data-aos][data-aos][data-aos-delay="2000"], body[data-aos-delay="2000"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2000"].aos-animate, body[data-aos-delay="2000"] [data-aos].aos-animate {
  transition-delay: 2s;
}

[data-aos][data-aos][data-aos-duration="2050"], body[data-aos-duration="2050"] [data-aos] {
  transition-duration: 2.05s;
}

[data-aos][data-aos][data-aos-delay="2050"], body[data-aos-delay="2050"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2050"].aos-animate, body[data-aos-delay="2050"] [data-aos].aos-animate {
  transition-delay: 2.05s;
}

[data-aos][data-aos][data-aos-duration="2100"], body[data-aos-duration="2100"] [data-aos] {
  transition-duration: 2.1s;
}

[data-aos][data-aos][data-aos-delay="2100"], body[data-aos-delay="2100"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2100"].aos-animate, body[data-aos-delay="2100"] [data-aos].aos-animate {
  transition-delay: 2.1s;
}

[data-aos][data-aos][data-aos-duration="2150"], body[data-aos-duration="2150"] [data-aos] {
  transition-duration: 2.15s;
}

[data-aos][data-aos][data-aos-delay="2150"], body[data-aos-delay="2150"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2150"].aos-animate, body[data-aos-delay="2150"] [data-aos].aos-animate {
  transition-delay: 2.15s;
}

[data-aos][data-aos][data-aos-duration="2200"], body[data-aos-duration="2200"] [data-aos] {
  transition-duration: 2.2s;
}

[data-aos][data-aos][data-aos-delay="2200"], body[data-aos-delay="2200"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2200"].aos-animate, body[data-aos-delay="2200"] [data-aos].aos-animate {
  transition-delay: 2.2s;
}

[data-aos][data-aos][data-aos-duration="2250"], body[data-aos-duration="2250"] [data-aos] {
  transition-duration: 2.25s;
}

[data-aos][data-aos][data-aos-delay="2250"], body[data-aos-delay="2250"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2250"].aos-animate, body[data-aos-delay="2250"] [data-aos].aos-animate {
  transition-delay: 2.25s;
}

[data-aos][data-aos][data-aos-duration="2300"], body[data-aos-duration="2300"] [data-aos] {
  transition-duration: 2.3s;
}

[data-aos][data-aos][data-aos-delay="2300"], body[data-aos-delay="2300"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2300"].aos-animate, body[data-aos-delay="2300"] [data-aos].aos-animate {
  transition-delay: 2.3s;
}

[data-aos][data-aos][data-aos-duration="2350"], body[data-aos-duration="2350"] [data-aos] {
  transition-duration: 2.35s;
}

[data-aos][data-aos][data-aos-delay="2350"], body[data-aos-delay="2350"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2350"].aos-animate, body[data-aos-delay="2350"] [data-aos].aos-animate {
  transition-delay: 2.35s;
}

[data-aos][data-aos][data-aos-duration="2400"], body[data-aos-duration="2400"] [data-aos] {
  transition-duration: 2.4s;
}

[data-aos][data-aos][data-aos-delay="2400"], body[data-aos-delay="2400"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2400"].aos-animate, body[data-aos-delay="2400"] [data-aos].aos-animate {
  transition-delay: 2.4s;
}

[data-aos][data-aos][data-aos-duration="2450"], body[data-aos-duration="2450"] [data-aos] {
  transition-duration: 2.45s;
}

[data-aos][data-aos][data-aos-delay="2450"], body[data-aos-delay="2450"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2450"].aos-animate, body[data-aos-delay="2450"] [data-aos].aos-animate {
  transition-delay: 2.45s;
}

[data-aos][data-aos][data-aos-duration="2500"], body[data-aos-duration="2500"] [data-aos] {
  transition-duration: 2.5s;
}

[data-aos][data-aos][data-aos-delay="2500"], body[data-aos-delay="2500"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2500"].aos-animate, body[data-aos-delay="2500"] [data-aos].aos-animate {
  transition-delay: 2.5s;
}

[data-aos][data-aos][data-aos-duration="2550"], body[data-aos-duration="2550"] [data-aos] {
  transition-duration: 2.55s;
}

[data-aos][data-aos][data-aos-delay="2550"], body[data-aos-delay="2550"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2550"].aos-animate, body[data-aos-delay="2550"] [data-aos].aos-animate {
  transition-delay: 2.55s;
}

[data-aos][data-aos][data-aos-duration="2600"], body[data-aos-duration="2600"] [data-aos] {
  transition-duration: 2.6s;
}

[data-aos][data-aos][data-aos-delay="2600"], body[data-aos-delay="2600"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2600"].aos-animate, body[data-aos-delay="2600"] [data-aos].aos-animate {
  transition-delay: 2.6s;
}

[data-aos][data-aos][data-aos-duration="2650"], body[data-aos-duration="2650"] [data-aos] {
  transition-duration: 2.65s;
}

[data-aos][data-aos][data-aos-delay="2650"], body[data-aos-delay="2650"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2650"].aos-animate, body[data-aos-delay="2650"] [data-aos].aos-animate {
  transition-delay: 2.65s;
}

[data-aos][data-aos][data-aos-duration="2700"], body[data-aos-duration="2700"] [data-aos] {
  transition-duration: 2.7s;
}

[data-aos][data-aos][data-aos-delay="2700"], body[data-aos-delay="2700"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2700"].aos-animate, body[data-aos-delay="2700"] [data-aos].aos-animate {
  transition-delay: 2.7s;
}

[data-aos][data-aos][data-aos-duration="2750"], body[data-aos-duration="2750"] [data-aos] {
  transition-duration: 2.75s;
}

[data-aos][data-aos][data-aos-delay="2750"], body[data-aos-delay="2750"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2750"].aos-animate, body[data-aos-delay="2750"] [data-aos].aos-animate {
  transition-delay: 2.75s;
}

[data-aos][data-aos][data-aos-duration="2800"], body[data-aos-duration="2800"] [data-aos] {
  transition-duration: 2.8s;
}

[data-aos][data-aos][data-aos-delay="2800"], body[data-aos-delay="2800"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2800"].aos-animate, body[data-aos-delay="2800"] [data-aos].aos-animate {
  transition-delay: 2.8s;
}

[data-aos][data-aos][data-aos-duration="2850"], body[data-aos-duration="2850"] [data-aos] {
  transition-duration: 2.85s;
}

[data-aos][data-aos][data-aos-delay="2850"], body[data-aos-delay="2850"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2850"].aos-animate, body[data-aos-delay="2850"] [data-aos].aos-animate {
  transition-delay: 2.85s;
}

[data-aos][data-aos][data-aos-duration="2900"], body[data-aos-duration="2900"] [data-aos] {
  transition-duration: 2.9s;
}

[data-aos][data-aos][data-aos-delay="2900"], body[data-aos-delay="2900"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2900"].aos-animate, body[data-aos-delay="2900"] [data-aos].aos-animate {
  transition-delay: 2.9s;
}

[data-aos][data-aos][data-aos-duration="2950"], body[data-aos-duration="2950"] [data-aos] {
  transition-duration: 2.95s;
}

[data-aos][data-aos][data-aos-delay="2950"], body[data-aos-delay="2950"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2950"].aos-animate, body[data-aos-delay="2950"] [data-aos].aos-animate {
  transition-delay: 2.95s;
}

[data-aos][data-aos][data-aos-duration="3000"], body[data-aos-duration="3000"] [data-aos] {
  transition-duration: 3s;
}

[data-aos][data-aos][data-aos-delay="3000"], body[data-aos-delay="3000"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="3000"].aos-animate, body[data-aos-delay="3000"] [data-aos].aos-animate {
  transition-delay: 3s;
}

[data-aos] {
  pointer-events: none;
}

[data-aos].aos-animate {
  pointer-events: auto;
}

[data-aos][data-aos][data-aos-easing=linear], body[data-aos-easing=linear] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}

[data-aos][data-aos][data-aos-easing=ease], body[data-aos-easing=ease] [data-aos] {
  transition-timing-function: ease;
}

[data-aos][data-aos][data-aos-easing=ease-in], body[data-aos-easing=ease-in] [data-aos] {
  transition-timing-function: ease-in;
}

[data-aos][data-aos][data-aos-easing=ease-out], body[data-aos-easing=ease-out] [data-aos] {
  transition-timing-function: ease-out;
}

[data-aos][data-aos][data-aos-easing=ease-in-out], body[data-aos-easing=ease-in-out] [data-aos] {
  transition-timing-function: ease-in-out;
}

[data-aos][data-aos][data-aos-easing=ease-in-back], body[data-aos-easing=ease-in-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

[data-aos][data-aos][data-aos-easing=ease-out-back], body[data-aos-easing=ease-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-back], body[data-aos-easing=ease-in-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

[data-aos][data-aos][data-aos-easing=ease-in-sine], body[data-aos-easing=ease-in-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

[data-aos][data-aos][data-aos-easing=ease-out-sine], body[data-aos-easing=ease-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-sine], body[data-aos-easing=ease-in-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

[data-aos][data-aos][data-aos-easing=ease-in-quad], body[data-aos-easing=ease-in-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-quad], body[data-aos-easing=ease-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quad], body[data-aos-easing=ease-in-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-aos][data-aos][data-aos-easing=ease-in-cubic], body[data-aos-easing=ease-in-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-cubic], body[data-aos-easing=ease-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-cubic], body[data-aos-easing=ease-in-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-aos][data-aos][data-aos-easing=ease-in-quart], body[data-aos-easing=ease-in-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-quart], body[data-aos-easing=ease-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quart], body[data-aos-easing=ease-in-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

@media screen {
  html:not(.no-js) [data-aos^=fade][data-aos^=fade] {
    opacity: 0;
    transition-property: opacity, transform;
  }
  html:not(.no-js) [data-aos^=fade][data-aos^=fade].aos-animate {
    opacity: 1;
    transform: none;
  }
  html:not(.no-js) [data-aos=fade-up] {
    transform: translate3d(0, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down] {
    transform: translate3d(0, -100px, 0);
  }
  html:not(.no-js) [data-aos=fade-right] {
    transform: translate3d(-100px, 0, 0);
  }
  html:not(.no-js) [data-aos=fade-left] {
    transform: translate3d(100px, 0, 0);
  }
  html:not(.no-js) [data-aos=fade-up-right] {
    transform: translate3d(-100px, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-up-left] {
    transform: translate3d(100px, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down-right] {
    transform: translate3d(-100px, -100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down-left] {
    transform: translate3d(100px, -100px, 0);
  }
  html:not(.no-js) [data-aos^=zoom][data-aos^=zoom] {
    opacity: 0;
    transition-property: opacity, transform;
  }
  html:not(.no-js) [data-aos^=zoom][data-aos^=zoom].aos-animate {
    opacity: 1;
    transform: translateZ(0) scale(1);
  }
  html:not(.no-js) [data-aos=zoom-in] {
    transform: scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-up] {
    transform: translate3d(0, 100px, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-down] {
    transform: translate3d(0, -100px, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-right] {
    transform: translate3d(-100px, 0, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-left] {
    transform: translate3d(100px, 0, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-out] {
    transform: scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-up] {
    transform: translate3d(0, 100px, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-down] {
    transform: translate3d(0, -100px, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-right] {
    transform: translate3d(-100px, 0, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-left] {
    transform: translate3d(100px, 0, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos^=slide][data-aos^=slide] {
    transition-property: transform;
    visibility: hidden;
  }
  html:not(.no-js) [data-aos^=slide][data-aos^=slide].aos-animate {
    visibility: visible;
    transform: translateZ(0);
  }
  html:not(.no-js) [data-aos=slide-up] {
    transform: translate3d(0, 100%, 0);
  }
  html:not(.no-js) [data-aos=slide-down] {
    transform: translate3d(0, -100%, 0);
  }
  html:not(.no-js) [data-aos=slide-right] {
    transform: translate3d(-100%, 0, 0);
  }
  html:not(.no-js) [data-aos=slide-left] {
    transform: translate3d(100%, 0, 0);
  }
  html:not(.no-js) [data-aos^=flip][data-aos^=flip] {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition-property: transform;
  }
  html:not(.no-js) [data-aos=flip-left] {
    transform: perspective(2500px) rotateY(-100deg);
  }
  html:not(.no-js) [data-aos=flip-left].aos-animate {
    transform: perspective(2500px) rotateY(0);
  }
  html:not(.no-js) [data-aos=flip-right] {
    transform: perspective(2500px) rotateY(100deg);
  }
  html:not(.no-js) [data-aos=flip-right].aos-animate {
    transform: perspective(2500px) rotateY(0);
  }
  html:not(.no-js) [data-aos=flip-up] {
    transform: perspective(2500px) rotateX(-100deg);
  }
  html:not(.no-js) [data-aos=flip-up].aos-animate {
    transform: perspective(2500px) rotateX(0);
  }
  html:not(.no-js) [data-aos=flip-down] {
    transform: perspective(2500px) rotateX(100deg);
  }
  html:not(.no-js) [data-aos=flip-down].aos-animate {
    transform: perspective(2500px) rotateX(0);
  }
} /* 開場先用 init 隱藏需要的東西 */
.aos-init *[class*=delay-] {
  opacity: 0;
  transition: opacity 0.3s;
}

/* 設定需要 delay 的物件 */
.forward-animation .delay-0 {
  transition-delay: 0s;
}

.forward-animation .delay-1 {
  transition-delay: 0.3s;
}

.forward-animation .delay-2 {
  transition-delay: 0.6s;
}

.forward-animation .delay-3 {
  transition-delay: 0.9s;
}

.forward-animation .delay-4 {
  transition-delay: 1.2s;
}

.forward-animation .delay-5 {
  transition-delay: 1.5s;
}

.forward-animation .delay-6 {
  transition-delay: 1.8s;
}

.forward-animation .delay-7 {
  transition-delay: 2.1s;
}

.forward-animation .delay-8 {
  transition-delay: 2.4s;
}

.forward-animation .delay-9 {
  transition-delay: 2.7s;
}

.forward-animation .delay-10 {
  transition-delay: 3s;
}

/* 設定加上 class 之後要動的東西 */
.forward-animation *[class*=delay-] {
  opacity: 1;
  transition-property: opacity;
  transition-duration: 1.5s;
  transition-timing-function: ease-out;
}

.inline-hidden-on-mobile {
  display: none;
}
@media (min-width: 641px) {
  .inline-hidden-on-mobile {
    display: inline;
  }
}

.inline-hidden-on-desktop {
  display: inline;
}
@media (min-width: 641px) {
  .inline-hidden-on-desktop {
    display: none;
  }
}

.inline-block-hidden-on-mobile {
  display: none;
}
@media (min-width: 641px) {
  .inline-block-hidden-on-mobile {
    display: inline-block;
  }
}

.inline-block-hidden-on-desktop {
  display: inline-block;
}
@media (min-width: 641px) {
  .inline-block-hidden-on-desktop {
    display: none;
  }
}

.block-hidden-on-mobile {
  display: none;
}
@media (min-width: 641px) {
  .block-hidden-on-mobile {
    display: block;
  }
}

.block-hidden-on-desktop {
  display: block;
}
@media (min-width: 641px) {
  .block-hidden-on-desktop {
    display: none;
  }
}

.no-break {
  white-space: nowrap;
}

.url {
  word-break: break-all;
}/*# sourceMappingURL=style.css.map */