html {
  font-size: 16px;
}

body {
  font-family: "Tahoma", "Noto Sans TC", sans-serif;
  overflow-x: hidden;
  color: #031624;
}

a {
  color: inherit;
}

.pattern {
  background: radial-gradient(circle, #fff 3px, transparent 4px) -3px -3px repeat;
  background-size: 28px 28px;
}

.sec_wrap {
  margin: 0 auto;
  padding: 3rem 0;
}

@media screen and (min-width: 1440px) {
  .sec_wrap {
    max-width: 1440px;
  }
}
.fix_aside {
  position: fixed;
  z-index: 99;
  right: 16px;
  bottom: 16px;
  -webkit-transform: translateX(150%);
          transform: translateX(150%);
  -webkit-transition: -webkit-transform 600ms;
  transition: -webkit-transform 600ms;
  transition: transform 600ms;
  transition: transform 600ms, -webkit-transform 600ms;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.fix_aside.is_active {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}
.fix_aside .fx_item {
  position: relative;
  display: block;
  border-radius: 0.5em;
  width: 4em;
  height: 4em;
  background: #fff linear-gradient(120deg, #fff, #ddd);
  font-size: 0.95rem;
  cursor: pointer;
  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.19);
          box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.19);
  -webkit-transition: -webkit-transform 240ms, -webkit-box-shadow 240ms;
  transition: -webkit-transform 240ms, -webkit-box-shadow 240ms;
  transition: transform 240ms, box-shadow 240ms;
  transition: transform 240ms, box-shadow 240ms, -webkit-transform 240ms, -webkit-box-shadow 240ms;
}
.fix_aside .fx_item:nth-child(n+2) {
  margin-top: 10px;
}
.fix_aside .fx_item.is_primary {
  background-image: linear-gradient(135deg, #fec400, #f8981a);
  color: #002d33;
}
.fix_aside .fx_item:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  -webkit-box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.19);
          box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.19);
}
.fix_aside .fx_item .in_wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.fix_aside .fx_item .in_wrap.txt {
  text-align: center;
  line-height: 1.3;
}
.fix_aside .fx_item .in_wrap.ic {
  width: 100%;
  height: 100%;
  padding: 0.6em;
}
.fix_aside .fx_item .in_wrap .ic_top {
  width: 100%;
  padding-top: 100%;
  background: url("img/ui/arrow_top.png") center/contain no-repeat;
}

@-webkit-keyframes roundAni {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1;
  }
  15% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    opacity: 0;
  }
  45% {
    -webkit-transform: rotate(-240deg);
            transform: rotate(-240deg);
    opacity: 0;
  }
  90% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
    opacity: 1;
  }
}

@keyframes roundAni {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1;
  }
  15% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    opacity: 0;
  }
  45% {
    -webkit-transform: rotate(-240deg);
            transform: rotate(-240deg);
    opacity: 0;
  }
  90% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
    opacity: 1;
  }
}
.key_visual {
  background: -webkit-gradient(linear, left top, right top, from(#93ea20), to(#00b336));
  background: linear-gradient(90deg, #93ea20, #00b336);
  overflow: hidden;
}
.key_visual .kv__wrapper {
  position: relative;
  display: block;
  margin: 0 auto;
  background: url("img/kv/cover.png") center/cover;
  padding-top: min(46.875%, 1080px);
}
.key_visual .kv__logo {
  position: absolute;
  left: 11%;
  top: 0;
  z-index: 10;
  width: 15%;
}
.key_visual .kv__title {
  position: absolute;
  left: 12%;
  top: 0;
  z-index: 8;
  width: 72%;
  padding-top: 4vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  font-size: 1vw;
}
.key_visual .kv__title .t1 {
  font-size: min(4.4em, 128px);
  line-height: 1.3;
  color: #004550;
}
.key_visual .kv__title .t1 b {
  font-weight: 700;
}
.key_visual .kv__title .t2 {
  margin-top: 1.5vw;
  width: calc(100% - 4em);
  font-size: min(3.2em, 64px);
  font-weight: 700;
  line-height: 1.3;
  color: #004550;
}
.key_visual .kv__title .pic {
  position: absolute;
  right: 0;
  top: 52%;
  width: 38%;
}
.key_visual .kv__title .pic img {
  margin-top: -50%;
}
.key_visual .kv__title .date {
  margin-top: 3.2vw;
  -ms-flex-item-align: start;
      align-self: flex-start;
  background: linear-gradient(120deg, #00d1ff, #3e30a1 33%, #3e30a1 67%, #0071bc);
  color: #fff;
  -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.25);
  font-size: min(1.71875em, 33px);
  line-height: 1;
  padding: 0.8em 2em 0.9em;
  border-radius: 3em;
}

.g_main .sc_title {
  text-align: center;
  font-size: 2.25rem;
  margin-bottom: 20px;
}
.g_main .sc_title .tit {
  font-weight: 500;
  line-height: 1.3;
  color: #004550;
}

:root {
  --sc_pdd: 60px;
}

.sc_intro {
  padding-top: var(--sc_pdd);
  padding-bottom: var(--sc_pdd);
  background-color: #fff;
}
.sc_intro .sec_cnts {
  margin: 0 auto;
}
.sc_intro .parag {
  max-width: 46em;
  font-size: 1.375rem;
  margin: 0 auto;
}
.sc_intro .parag p {
  margin-bottom: 0;
  text-align: justify;
  line-height: 1.8;
}
.sc_intro .parag p b {
  color: #004550;
}
.sc_intro .parag p .gc {
  color: #16a939;
}
.sc_intro .parag p:nth-child(n+2) {
  margin-top: 1em;
}
.sc_intro .pic {
  margin: 0 auto;
  max-width: 80%;
}

.sc_part1 {
  padding-bottom: var(--sc_pdd);
}
.sc_part1 .sc_title strong {
  color: #00b336;
}
.sc_part1 .items {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.sc_part1 .item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  text-align: center;
  padding: 0 15px;
}
.sc_part1 .item .pic {
  position: relative;
  padding: 25% 10%;
  background: url(img/icons/dots2.png) center/contain no-repeat;
}
.sc_part1 .item .pic .icon {
  width: 40%;
}
.sc_part1 .item .txt {
  margin-top: 1em;
  font-size: 1.5em;
  line-height: 1.4;
}

.sc_speaker {
  padding-bottom: var(--sc_pdd);
}
.sc_speaker .items {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sc_speaker .spk_item {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 400px;
          flex: 0 1 400px;
}
.sc_speaker .spk_item:nth-child(1)::before {
  top: 0;
  left: -20px;
}
.sc_speaker .spk_item:nth-child(3)::before {
  top: 55px;
  right: -20px;
}
.sc_speaker .spk_item .photo {
  position: relative;
  z-index: 3;
  max-width: 320px;
  margin: 0 auto;
}
.sc_speaker .spk_item img {
  border-radius: 50%;
  width: 100%;
}
.sc_speaker .spk_item .job {
  position: absolute;
  right: 0;
  bottom: 0;
  text-align: center;
}
.sc_speaker .spk_item .job span {
  display: inline-block;
  font-size: 1.25em;
  padding: 0.4em 1em 0.5em;
  color: #fff;
  border-radius: 1.5em;
  background: -webkit-gradient(linear, left top, right top, from(#93ea20), to(#00b336));
  background: linear-gradient(90deg, #93ea20, #00b336);
}
.sc_speaker .spk_item .text {
  width: 100%;
  padding: 0.75em 0 0;
  text-align: center;
  font-size: 1.375em;
}
.sc_speaker .spk_item .name {
  line-height: 1;
  color: #3e30a1;
  font-size: 1.3em;
  font-weight: 700;
}
.sc_speaker .spk_item .name .en {
  padding-left: 0.5em;
}
.sc_speaker .spk_item .tit {
  margin-top: 0.5em;
  line-height: 1.4;
  height: 3.9em;
}

.sc_cta {
  margin-top: 30px;
  padding-top: var(--sc_pdd);
  padding-bottom: var(--sc_pdd);
  background: linear-gradient(120deg, #93ea20, #16a939 20%, #16a939 40%, #93ea20);
}
.sc_cta .cta {
  text-align: center;
}
.sc_cta .cta .bttn {
  position: relative;
  display: inline-block;
  margin: 0 1em;
  font-size: 1.75em;
}
.sc_cta .cta .bttn .bttn_inwrap {
  position: relative;
  z-index: 2;
  border-radius: 3em;
  padding: 1.2em 0.5em 1.3em;
  width: 15em;
  line-height: 1;
  -webkit-transition: -webkit-transform 300ms;
  transition: -webkit-transform 300ms;
  transition: transform 300ms;
  transition: transform 300ms, -webkit-transform 300ms;
}
.sc_cta .cta .bttn:hover {
  text-decoration: none;
}
.sc_cta .cta .bttn:hover .bttn_inwrap {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.sc_cta .cta .bttn.btn_main .bttn_inwrap {
  background: linear-gradient(120deg, #fec400, #f8981a);
  color: #002d33;
  font-weight: 700;
}
.sc_cta .cta .bttn.btn_sup .bttn_inwrap {
  background: linear-gradient(120deg, #3e30a1 33%, #0071bc);
  color: #fec400;
}

.sc_gift {
  position: relative;
  padding-top: var(--sc_pdd);
  padding-bottom: var(--sc_pdd);
  overflow: hidden;
}
.sc_gift .pattern {
  position: absolute;
}
.sc_gift .pattern.p2 {
  right: 20px;
  top: 0;
  width: 280px;
  height: 240px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background: radial-gradient(circle, #004550 3px, transparent 4px) -3px -3px repeat;
  background-size: 28px 28px;
}
.sc_gift .container {
  position: relative;
  z-index: 2;
  max-width: min(1440px, 100%);
}
.sc_gift .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.gft_item {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 33%;
          flex: 1 0 33%;
  padding: 0 10px;
}
.gft_item.gft2 .pic {
  padding-bottom: 40px;
}
.gft_item .wrapper {
  position: relative;
  height: 100%;
  overflow: hidden;
  border-radius: 20px;
  padding: 30px;
  background-color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-shadow: 0 6px 12px 0 rgba(0, 69, 80, 0.25);
          box-shadow: 0 6px 12px 0 rgba(0, 69, 80, 0.25);
}
.gft_item .categ {
  border-radius: 30px;
  padding: 15px 30px;
  background: -webkit-gradient(linear, left top, right top, from(#fec400), to(#f8981a));
  background: linear-gradient(90deg, #fec400, #f8981a);
  font-size: 20px;
  line-height: 1;
  color: #002d33;
}
.gft_item .categ span {
  display: inline-block;
  vertical-align: middle;
}
.gft_item .categ .c {
  margin-left: 0.8em;
  padding: 0.6em 1em;
  border-radius: 0.75em;
  line-height: 1;
  font-size: 0.75em;
  font-weight: 400;
  background-color: #3e30a1;
  color: #fff;
  margin-top: -0.2em;
}
.gft_item .text {
  position: relative;
  padding-top: 20px;
  font-size: 1.25em;
}
.gft_item .name {
  font-size: 1.35em;
  font-weight: 700;
  line-height: 1.2;
  height: 2.4em;
  color: #004550;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.gft_item .detail {
  margin-top: 0.8em;
  font-size: 0.875em;
  line-height: 1.4;
  text-align: justify;
}
.gft_item .pic {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  margin: 20px auto 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.gft_item .pic img {
  width: 100%;
}
.gft_item .tip {
  padding: 15px 0 0;
  line-height: 1.3;
  font-size: 0.875em;
  color: #004550;
  text-align: left;
}

.g_footer .sc_company {
  position: relative;
  background: linear-gradient(120deg, #002d33, #004550 33%, #004550 67%, #16a939);
  padding: 80px 0;
  overflow: hidden;
}
.g_footer .sc_company .pattern.p1 {
  position: absolute;
  left: -20px;
  bottom: -220px;
  width: 15%;
  height: 240px;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.g_footer .sc_company .container {
  position: relative;
  padding-left: 7%;
  padding-right: 7%;
}
.g_footer .sc_company .parag_wrap {
  position: relative;
  border-radius: 20px;
  border: 1px solid #fff;
  padding: 45px 60px;
  background: #004550;
}
.g_footer .sc_company .parag_wrap::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 8px;
  right: -8px;
  bottom: -8px;
  z-index: 1;
  border-radius: 12px 16px 24px 16px;
  border: 1px solid #93ea20;
}
.g_footer .sc_company .parag_wrap .parag {
  position: relative;
  z-index: 2;
  color: #fff;
}
.g_footer .sc_company .parag_wrap .parag a {
  color: #93ea20;
  text-decoration: underline;
}
.g_footer .sc_company .parag_wrap .parag a:hover {
  color: #f4e891;
}
.g_footer .sc_company .company_tit {
  position: absolute;
  left: 50%;
  top: 4px;
  z-index: 3;
  padding: 0 10px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #004550;
}
.g_footer .sc_company .company_tit .ti,
.g_footer .sc_company .company_tit .nam {
  display: inline-block;
  vertical-align: middle;
}
.g_footer .sc_company .company_tit .ti {
  border-radius: 20px;
  padding: 4px 12px;
  border: 1px solid #fff;
  color: #fff;
}
.g_footer .sc_company .company_tit .nam {
  margin-left: 6px;
  width: 200px;
}
.g_footer .sc_logos {
  position: relative;
  overflow: hidden;
  background-color: #f6f7f8;
}
.g_footer .sc_logos .logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.25em;
  text-align: center;
  padding: 3em 0;
}
.g_footer .sc_logos .item {
  display: block;
  height: 64px;
  -webkit-transition: all 300ms;
  transition: all 300ms;
}
.g_footer .sc_logos .item img {
  height: 100%;
}
.g_footer .sc_logos .item:hover {
  opacity: 0.7;
}
.g_footer .sc_logos .between {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  width: 1px;
  margin: 0 50px;
  background-color: #fff;
}

.modal-content {
  border-width: 0;
  -webkit-box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.19);
          box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.19);
}

.modal-header .modal_t {
  position: relative;
}
.modal-header button.close {
  font-size: 2rem;
  line-height: 1;
  color: #000;
  opacity: 1;
}

.modal-body {
  padding: 0 3rem 2rem;
  font-size: 1.125rem;
}

@media (max-width: 992px) {
  html {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  :root {
    --sc_pdd: 40px;
  }
  html {
    font-size: 16px;
  }
  .fix_aside {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .fix_aside .fx_item:nth-child(n+2) {
    margin-top: 0;
    margin-left: 10px;
  }
  .g_main .sc_title {
    font-size: 1.75em;
    margin-bottom: 30px;
  }
  .sc_intro {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .sc_intro .parag {
    padding: 0 1rem;
  }
  .sc_intro .parag p {
    font-size: 1.125rem;
    text-align: left;
  }
  .sc_intro .pic {
    max-width: 100%;
  }
  .sc_part1 .sc_title strong {
    display: block;
  }
  .sc_part1 .item {
    margin-bottom: 40px;
  }
  .sc_part1 .item:last-child {
    margin-bottom: 0;
  }
  .sc_part1 .item .pic {
    width: 100%;
    padding: 14%;
    margin: 0 auto;
  }
  .sc_part1 .item .pic .icon {
    width: 33%;
  }
  .sc_part1 .item .txt {
    margin-top: 15px;
    display: inline-block;
    max-width: 12em;
    font-size: 1.25em;
  }
  .sc_speaker {
    padding-top: var(--sc_pdd);
  }
  .sc_speaker .spk_item {
    max-width: 300px;
    margin: 0 auto 30px;
  }
  .sc_speaker .spk_item .photo {
    max-width: 240px;
  }
  .sc_speaker .spk_item .text {
    font-size: 1.2em;
  }
  .sc_speaker .spk_item .tit {
    height: auto;
  }
  .sc_speaker .spk_item:nth-child(2)::before {
    top: 35px;
  }
  .sc_cta {
    margin-top: 0;
    padding-left: 30px;
    padding-right: 30px;
  }
  .sc_cta .cta .bttn {
    display: block;
    margin: 0;
    font-size: 1.375em;
  }
  .sc_cta .cta .bttn .bttn_inwrap {
    width: 100%;
  }
  .sc_cta .cta .bttn:last-child {
    margin-top: 1em;
  }
  .sc_gift .pattern {
    position: absolute;
    -webkit-transform: scale(0.6);
            transform: scale(0.6);
  }
  .sc_gift .pattern.p1 {
    left: -36px;
    bottom: -36px;
    width: 50%;
    height: 160px;
  }
  .sc_gift .pattern.p2 {
    right: -40px;
    top: -70px;
    width: 40%;
    height: 200px;
  }
  .gft_item {
    margin-bottom: 20px;
  }
  .gft_item .categ {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
  }
  .gft_item .name {
    font-size: 1.2em;
    height: auto;
  }
  .g_footer .sc_company {
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 100px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, #004550), to(#16a939));
    background: linear-gradient(180deg, #004550 80%, #16a939);
  }
  .g_footer .sc_company .pattern.p1 {
    width: 55%;
    height: 140px;
    left: 0;
    bottom: 0;
    -webkit-transform: rotate(45deg) scale(0.6);
            transform: rotate(45deg) scale(0.6);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
  }
  .g_footer .sc_company .container {
    padding-left: 0;
    padding-right: 0;
  }
  .g_footer .sc_company .parag_wrap {
    padding: 45px 30px 30px;
  }
  .g_footer .sc_company .parag_wrap::after {
    left: 6px;
    top: 6px;
    right: 6px;
  }
  .g_footer .sc_company .company_tit {
    -webkit-transform: translate(-50%, -65%);
            transform: translate(-50%, -65%);
  }
  .g_footer .sc_company .company_tit .nam {
    margin-left: 0;
    margin-top: 10px;
  }
  .modal-header {
    padding-left: 1.5rem;
  }
  .modal-body {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}