html {
  font-family: PingFangSC, Microsoft JhengHei, sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden], template {
  display: none;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html input[type=button],
input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}

html, body {
  width: 100%;
  min-width: 320px;
  background-color: #111;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch;
}

body {
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
}

main {
  width: 90%;
  max-width: 1280px;
  position: relative;
  margin: 80px auto 0px;
  background: url(../img/bg-01.png) center top/100% auto no-repeat, #0e0f21 url(../img/bg-02.jpg) center bottom/100% auto no-repeat;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.9);
  animation: darkin 1.5s linear forwards;
}
main .logo {
  position: relative;
  top: -40px;
  width: 200px;
  display: block;
  margin: auto;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.9));
  animation: intro 0.5s linear forwards;
}
main > div {
  width: calc(100% - 100px);
  margin: auto;
}
main .tagline {
  min-height: 300px;
  padding-right: 50%;
  box-sizing: border-box;
  animation: intro 1s 0.5s ease forwards;
  opacity: 0;
}
main .tagline .logo-tktech {
  width: 150px;
  margin-bottom: 30px;
}
main .tagline h1 {
  font-size: 55px;
  line-height: 1.2;
  margin: 5px 0 10px;
}
main .tagline h2 {
  font-size: 18px;
  line-height: 1.2;
  margin: 25px 0 5px;
}
main .ftr,
main .spc {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 50px;
  margin-bottom: 30px;
}
main .ftr + .ftr,
main .spc + .ftr {
  padding-top: 0px;
}
main .ftr .m-ftr-img,
main .spc .m-ftr-img {
  display: none;
}
main .ftr .ftr-item,
main .ftr .spc-item,
main .spc .ftr-item,
main .spc .spc-item {
  flex: 0 0 30%;
  position: relative;
  font-size: 13px;
  line-height: 1.4;
}
main .ftr .ftr-item img,
main .ftr .spc-item img,
main .spc .ftr-item img,
main .spc .spc-item img {
  display: block;
  width: 60%;
  max-width: 300px;
  margin: auto;
}
main .ftr .ftr-item h2,
main .ftr .spc-item h2,
main .spc .ftr-item h2,
main .spc .spc-item h2 {
  font-size: 19px;
  margin: 5px 0;
}
main .ftr .spc-item,
main .spc .spc-item {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  background: #1b1f43;
  border-radius: 10px;
  transition: 0.3s ease;
}
main .ftr .spc-item:hover,
main .spc .spc-item:hover {
  transform: translateY(5px);
  filter: brightness(1.1);
}
main .ftr .spc-item:hover .spc-icon,
main .spc .spc-item:hover .spc-icon {
  transform: translateX(-50%) scale(1.05);
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7));
}
main .ftr .spc-item.si-01 h2,
main .spc .spc-item.si-01 h2 {
  color: #ff9d83;
}
main .ftr .spc-item.si-02 h2,
main .spc .spc-item.si-02 h2 {
  color: #b5aaff;
}
main .ftr .spc-item.si-03 h2,
main .spc .spc-item.si-03 h2 {
  color: #b7dfeb;
}
main .ftr .spc-item .spc-bg,
main .spc .spc-item .spc-bg {
  width: 100%;
  max-width: unset;
  display: block;
  border-radius: 10px;
  height: 300px;
}
main .ftr .spc-item .spc-icon,
main .spc .spc-item .spc-icon {
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.5s ease;
  animation: shine 5s linear infinite;
}
main .ftr .spc-item .spc-cont,
main .spc .spc-item .spc-cont {
  position: absolute;
  width: 80%;
  left: 10%;
  height: 60%;
  bottom: 10px;
  text-align: center;
}
main .ftr .spc-item .spc-cont .ftr-des,
main .spc .spc-item .spc-cont .ftr-des {
  font-size: 12px;
  line-height: 1.2;
}
main .about {
  text-align: center;
  margin-top: 80px;
}
main .about .logo-about {
  width: 20%;
  max-width: 150px;
  display: block;
  margin: 20px auto 10px;
}
main .about .about-des {
  padding-bottom: 45%;
}
main .cta {
  background: #4155a0;
  mix-blend-mode: exclusion;
  padding: 20px 50px;
  display: flex;
  color: #7cbbcb;
  font-size: 15px;
  line-height: 1.6;
  align-items: center;
  align-content: center;
}
main .cta .cta-btn {
  flex: 0 0 160px;
  width: 160px;
  height: 50px;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 0 0 2px #7cbbcb inset;
  margin-left: 20px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s ease;
}
main .cta .cta-btn:hover {
  transform: translateY(2px);
}

@keyframes darkin {
  from {
    filter: brightness(0);
  }
  to {
    filter: brightness(1);
  }
}
@keyframes intro {
  from {
    transform: translateY(-10px);
    opacity: 0;
  }
  to {
    transform: translateY(0px);
    opacity: 1;
  }
}
@keyframes shine {
  0% {
    filter: brightness(1) drop-shadow(0 0 0 rgba(255, 255, 255, 0));
  }
  60% {
    filter: brightness(1.1) drop-shadow(0 0 5px rgba(255, 255, 255, 0.5));
  }
  90% {
    filter: brightness(1) drop-shadow(0 0 0 rgba(255, 255, 255, 0));
  }
}
@media screen and (max-width: 1000px) {
  main > div {
    width: calc(100% - 80px);
  }
  main .tagline {
    min-height: 300px;
    padding-right: 40%;
  }
  main .tagline .logo-tktech {
    width: 150px;
  }
  main .tagline h1 {
    font-size: 50px;
  }
  main .ftr .ftr-item img,
  main .ftr .spc-item img,
  main .spc .ftr-item img,
  main .spc .spc-item img {
    width: 80%;
  }
  main .ftr .spc-item .spc-cont,
  main .spc .spc-item .spc-cont {
    width: 80%;
    left: 10%;
    height: 75%;
    min-height: 100px;
    bottom: 10px;
    margin-top: -40px;
    text-align: center;
  }
  main .cta {
    padding: 20px 40px;
  }
}
@media screen and (max-width: 750px) {
  main {
    margin-top: 50px;
  }
  main .logo {
    top: -40px;
    width: 150px;
  }
  main > div {
    width: calc(100% - 50px);
  }
  main .tagline {
    min-height: unset;
    padding-right: 30%;
  }
  main .tagline .logo-tktech {
    margin-bottom: 20px;
  }
  main .tagline h1 {
    font-size: 50px;
  }
  main .ftr .ftr-item,
  main .ftr .spc-item,
  main .spc .ftr-item,
  main .spc .spc-item {
    flex: 0 0 31%;
    font-size: 12px;
  }
  main .ftr .ftr-item img,
  main .ftr .spc-item img,
  main .spc .ftr-item img,
  main .spc .spc-item img {
    width: 90%;
  }
  main .ftr .ftr-item h2,
  main .ftr .spc-item h2,
  main .spc .ftr-item h2,
  main .spc .spc-item h2 {
    font-size: 16px;
    margin: 5px 0 3px;
  }
  main .ftr .spc-item .spc-cont,
  main .spc .spc-item .spc-cont {
    height: 80%;
  }
  main .ftr .spc-item .spc-cont .ftr-des,
  main .spc .spc-item .spc-cont .ftr-des {
    font-size: 11px;
  }
  main .about {
    margin-top: 60px;
  }
  main .about .logo-about {
    width: 20%;
  }
  main .about .about-des {
    font-size: 12px;
  }
  main .cta {
    padding: 15px 25px;
    font-size: 12px;
    line-height: 1.6;
  }
  main .cta .cta-btn {
    flex: 0 0 130px;
    width: 130px;
    height: 45px;
    line-height: 45px;
    font-size: 13px;
  }
  .footer {
    font-size: 11px;
  }
  .footer .footer-logo {
    width: 50px;
  }
}
@media screen and (max-width: 568px) {
  main {
    margin-top: 30px;
  }
  main .logo {
    top: -20px;
    width: 80px;
  }
  main .tagline {
    min-height: unset;
    padding-right: 0%;
    font-size: 16px;
  }
  main .tagline .logo-tktech {
    width: 30%;
    margin-bottom: 10px;
  }
  main .tagline h1 {
    font-size: 32px;
  }
  main .ftr .ftr-item,
  main .ftr .spc-item,
  main .spc .ftr-item,
  main .spc .spc-item {
    flex: 0 0 100%;
    font-size: 14px;
    text-align: center;
    margin-bottom: 50px;
  }
  main .ftr .ftr-item img,
  main .ftr .spc-item img,
  main .spc .ftr-item img,
  main .spc .spc-item img {
    width: 80%;
  }
  main .ftr .ftr-item h2,
  main .ftr .spc-item h2,
  main .spc .ftr-item h2,
  main .spc .spc-item h2 {
    font-size: 19px;
    margin: 5px 0 3px;
  }
  main .ftr .spc-item,
  main .spc .spc-item {
    margin-bottom: 80px;
  }
  main .ftr .spc-item .spc-cont,
  main .spc .spc-item .spc-cont {
    position: relative;
    margin-top: -40%;
  }
  main .ftr .spc-item .spc-cont .ftr-des,
  main .spc .spc-item .spc-cont .ftr-des {
    font-size: 14px;
  }
  main .ftr .m-ftr-img {
    display: flex;
    width: 100%;
    position: relative;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
  }
  main .ftr .m-ftr-img img {
    display: block;
    width: 32%;
  }
  main .ftr .ftr-item img {
    display: none;
  }
  main .about {
    margin-top: 0px;
    padding-top: 0;
  }
  main .about .logo-about {
    width: 30%;
  }
  main .about .about-des {
    font-size: 13px;
  }
  main .cta {
    padding: 10px 25px;
    font-size: 13px;
    line-height: 1.2;
    flex-wrap: wrap;
    justify-content: center;
  }
  main .cta .cta-btn {
    flex: 0 0 100px;
    width: 100px;
    height: 35px;
    line-height: 35px;
    font-size: 12px;
    margin: 10px 0 0;
  }
  .footer {
    font-size: 11px;
  }
  .footer .footer-logo {
    width: 50px;
  }
}
.footer {
  font-size: 12px;
  text-align: center;
  padding: 20px 0;
  color: #838383;
}
.footer .footer-logo {
  width: 60px;
  display: block;
  margin: 5px auto;
}