@charset "UTF-8";
.font_verdana {
  font-family: "Verdana", "Asap", sans-serif;
}

.font_asap {
  font-family: "Asap", sans-serif;
}

.font_asap_c {
  font-family: "Asap Condensed", sans-serif;
}

.font_montserrat {
  font-family: "Montserrat", sans-serif;
}

html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans TC", "Microsoft Jhenghei", "微軟正黑", sans-serif;
}

a {
  color: inherit;
}

.all_wrap {
  background-color: #eee;
}

.fix_aside {
  position: fixed;
  z-index: 99;
  right: 1rem;
  bottom: 1rem;
  transform: translateX(150%);
  transition: transform 600ms;
}
.fix_aside.is_active {
  transform: translateX(0%);
}
.fix_aside .fx_item {
  position: relative;
  display: block;
  border-radius: 0.5em;
  margin: 0.5em 0;
  width: 4em;
  height: 4em;
  background: #fff linear-gradient(120deg, #fff, #ddd);
  font-size: 0.95rem;
  cursor: pointer;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.19);
  transition: transform 240ms, box-shadow 240ms;
}
.fix_aside .fx_item.is_primary {
  background: linear-gradient(45deg, #002856 20%, #004991 80%);
  color: #fff;
}
.fix_aside .fx_item:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.19);
}
.fix_aside .fx_item .in_wrap {
  position: absolute;
  left: 50%;
  top: 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;
}

.deep_bg {
  background: linear-gradient(30deg, #002856, #004991 80%, #0062b2);
  color: #fff;
}

.sc_title {
  padding-bottom: 2rem;
}
.sc_title .tit {
  display: inline-block;
  padding: 1.5rem 0.75rem 0.75rem;
  background-color: #002856;
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
}
.deep_bg .sc_title .tit {
  background-color: #80bc00;
}

.cta_btn {
  display: block;
  padding-left: 12px;
  background-color: #002856;
  font-size: 1.75rem;
}
.cta_btn .btn_in {
  position: relative;
  padding: 1rem 6rem 1rem 2rem;
  background-color: #80bc00;
  font-weight: 900;
  line-height: 1;
  color: #002856;
}
.cta_btn .arr {
  position: absolute;
  right: 2rem;
  top: 50%;
  width: 1em;
  height: 2px;
  color: #002856;
  background-color: currentColor;
  transform: translateY(-50%);
}
.cta_btn .arr::before, .cta_btn .arr::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
  width: 75%;
  height: 100%;
  transform-origin: right center;
  background-color: currentColor;
}
.cta_btn .arr::before {
  transform: rotate(-45deg);
}
.cta_btn .arr::after {
  transform: rotate(45deg);
}
.cta_btn:hover {
  text-decoration: none;
}
.cta_btn:hover .btn_in {
  background-color: #0062b2;
  color: #fff;
}
.cta_btn:hover .arr {
  color: #fff;
}

.g_header {
  background-color: #fff;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.19);
}
.g_header .header_wrap {
  position: relative;
  padding: 0.5rem 1rem;
  display: flex;
}
.g_header .logo_wrap {
  flex: 0 0 400px;
  display: inline-flex;
  align-items: center;
}
.g_header .logo_wrap .logo:first-child {
  flex: 0 1 202px;
  padding-right: 20px;
}
.g_header .logo_wrap .logo:last-child {
  border-left: 1px solid #000;
  flex: 0 1 197px;
  padding-left: 16px;
}
.g_header .menu_btn {
  position: relative;
  width: 48px;
  height: 48px;
  text-align: center;
  border-radius: 6px;
  border: 1px solid #fff;
}
.g_header .menu_btn .icon {
  display: inline-block;
  position: absolute;
  left: 20%;
  top: 50%;
  width: 60%;
  height: 4px;
  margin-top: -2px;
  background-color: #fff;
}
.g_header .menu_btn .icon::before, .g_header .menu_btn .icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.g_header .menu_btn .icon::before {
  top: -200%;
}
.g_header .menu_btn .icon::after {
  bottom: -200%;
}
.g_header .menu_btn.sty_white {
  border-color: #fff;
}
.g_header .menu_btn.sty_white .icon, .g_header .menu_btn.sty_white .icon::before, .g_header .menu_btn.sty_white .icon::after {
  background-color: #fff;
}
.g_header .nav_area {
  position: relative;
  z-index: 3;
  flex: 1 1 100%;
}
.g_header .nav_cnt {
  display: flex;
  justify-content: flex-end;
}
.g_header .nav_item {
  padding: 0.75rem 1rem;
  font-size: 1.125em;
  line-height: 1;
  font-weight: 700;
}
.g_header .nav_link {
  color: #002856;
}
.g_header .nav_link:hover {
  color: #00a8a8;
  text-decoration: none;
}

.g_kv .desktop {
  position: relative;
}
.g_kv .desktop .tit {
  position: absolute;
  left: 42.5%;
  top: 24.3243243243%;
  width: 55%;
  line-height: 1;
  font-weight: 700;
  color: #fff;
}
.g_kv .desktop .tit::before, .g_kv .desktop .tit::after {
  content: "";
  position: absolute;
  top: 0.75em;
  left: -1em;
  height: 8vw;
  width: 2px;
  background-color: #002856;
}
.g_kv .desktop .tit::after {
  top: -0.75em;
  left: -1.75em;
}
.g_kv .desktop .tit .l1 {
  display: inline-block;
  padding: 0.125rem 0 0.25rem;
  background-color: #002856;
  color: #fff;
  font-weight: 500;
  font-size: 4.5vw;
}
.g_kv .desktop .tit .l1 span {
  margin-left: 0.2rem;
  font-size: 4.75vw;
}
.g_kv .desktop .tit .l2 {
  margin-top: 0.25rem;
  margin-left: -0.25rem;
  color: #002856;
  transform: skewX(-10deg);
  font-size: 5.5vw;
  font-weight: 900;
}
.g_kv .desktop .tit .l3 {
  margin-top: 2em;
  margin-left: 0.75em;
}
.g_kv .desktop .tit .l3 div {
  display: inline-block;
  padding: 0.75rem 6em 0.75rem 1rem;
  background: linear-gradient(90deg, rgba(0, 40, 86, 0.9) 50%, rgba(0, 40, 86, 0));
  font-size: 2.75vw;
  font-weight: 300;
}
.g_kv .desktop .tit .l4 {
  margin-top: 0.5em;
  margin-left: 0.5em;
  text-shadow: 0 0 10px rgba(0, 40, 86, 0.5);
}
.g_kv .desktop .tit .l4 .date,
.g_kv .desktop .tit .l4 .time {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.35em;
}
.g_kv .desktop .tit .l4 .date {
  font-size: 3.5vw;
  font-weight: 600;
}
.g_kv .desktop .tit .l4 .time {
  border: 1px solid #fff;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  font-size: 2.75vw;
  font-style: italic;
  font-weight: 300;
}
.g_kv .desktop .cta {
  position: absolute;
  right: 0;
  bottom: 0;
}

.main_content {
  position: relative;
  z-index: 2;
  box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.19);
}

.sc_intro {
  background-color: #eee;
  color: #343434;
}
.sc_intro .container_wrap {
  padding: 3rem 0;
  background-color: #fff;
}

.intro_wrap {
  max-width: calc(800px + 2rem);
  margin: 0 auto 1em;
  font-size: 1.25rem;
  color: #004991;
}
.intro_wrap ul {
  padding: 0;
  text-align: center;
  font-weight: 700;
}
.intro_wrap ul li {
  display: inline-block;
  margin: 0.25rem;
  padding: 0.5rem 1rem;
  line-height: 1;
  border: 1px solid currentColor;
  border-radius: 3rem;
}

.three_point_wrap {
  margin-top: 2rem;
  padding-right: 4rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.three_point_wrap .title {
  flex: 0 0 auto;
  padding-right: 2rem;
}
.three_point_wrap .title .tag {
  padding: 0.5rem 0.5rem 0.5rem 2rem;
  background-color: #002856;
}
.three_point_wrap .title .tag div {
  width: 1em;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
}
.three_point_wrap .item {
  flex: 1 1 100%;
  color: #002856;
}
.three_point_wrap .item .tit {
  border: 1px solid currentColor;
  margin: 0 auto;
  padding: 1rem;
  width: calc(100% - 1rem);
}
.three_point_wrap .item .tit span {
  font-size: 1.5rem;
  font-weight: 700;
}
.three_point_wrap .item .txt {
  margin: 0.5rem auto 0;
  width: calc(100% - 3rem);
  line-height: 1.4;
  font-size: 1.1rem;
}

.sc_agenda {
  padding-bottom: 4rem;
}
.sc_agenda .cta {
  text-align: right;
}
.sc_agenda .cta .cta_btn {
  display: inline-block;
  background-color: #002856;
}

.agenda_cnt .ag_item {
  position: relative;
  margin-bottom: 2rem;
  padding-left: 3rem;
  font-size: 1.5rem;
}
.agenda_cnt .ag_item::before {
  content: "";
  position: absolute;
  left: calc(1.2em - 6px);
  top: calc(.5em - 6px);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0062b2 50%, #80bc00 50.1%);
}
.agenda_cnt .ag_item .d_tit {
  line-height: 1;
  font-weight: 700;
}
.agenda_cnt .ag_item .d_spk .sp_unit {
  display: inline-block;
  margin-top: 0.5rem;
  padding-right: 1rem;
  font-size: 1rem;
}
.agenda_cnt .ag_item .d_spk .sp_unit .name {
  display: inline-block;
  vertical-align: middle;
  font-weight: 700;
  line-height: 1;
}
.agenda_cnt .ag_item .d_spk .sp_unit .com {
  display: inline-block;
  vertical-align: middle;
  color: rgba(255, 255, 255, 0.67);
  line-height: 1.2;
}
.agenda_cnt .ag_item .d_spk .sp_unit::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin: 0 0.25rem;
  width: 1px;
  height: 1rem;
  background-color: #fff;
  transform: rotate(20deg);
}

.w_track {
  border: 1px solid #fff;
}
.w_track .track_title {
  border-bottom: 1px solid #fff;
  padding: 0.75rem 1.5rem;
}
.w_track .track_title .tit {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  line-height: 1;
}
.w_track .track_title .spk span {
  display: inline-block;
}
.w_track .track_title .spk .t {
  border: 1px solid #fff;
  border-radius: 0.25rem;
  padding: 0.1rem 0.25rem;
}
.w_track .track_title .spk .n {
  font-weight: 700;
  margin-left: 0.5rem;
  padding: 0 0.25rem;
}
.w_track .track_title .spk .c {
  opacity: 0.8;
}
.w_track .tracks {
  display: flex;
}
.w_track .tracks .track {
  flex: 1 1 100%;
}
.w_track .tracks .track:first-child {
  border-right: 1px solid #fff;
}
.w_track .tracks .trk_tit {
  padding: 0.75rem 0;
  padding-left: 1rem;
}
.w_track .tracks .trk_tit .font_verdana {
  font-size: 1.25rem;
  font-style: italic;
  padding-left: 0.125rem;
}
.w_track .tracks .trk_tit strong {
  margin-left: 0.75rem;
  font-size: 1.5rem;
  padding: 0.125rem 0;
  background-color: #00a8a8;
}
.w_track .tracks .ag_item .d_spk .sp_unit {
  max-width: 100%;
}

.sc_speaker {
  padding-bottom: 3rem;
}

.spk_cnt .item {
  display: inline-flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.spk_cnt .item .img {
  flex: 0 0 45%;
  border: 1px solid #002856;
  border-radius: 50%;
  overflow: hidden;
}
.spk_cnt .item .img img {
  transform-origin: center top;
}
.spk_cnt .item .txt {
  flex: 0 0 55%;
  padding: 0.5rem;
  padding-left: 1rem;
}
.spk_cnt .item .txt .name {
  font-weight: 700;
  font-size: 1.125rem;
  color: #004991;
}
.spk_cnt .item .txt .com {
  line-height: 1.3;
}

.case_cnt {
  padding-bottom: 3rem;
}

.case_items .item {
  position: relative;
  display: block;
}
.case_items .item .pic {
  overflow: hidden;
  border: 1px solid #fff;
}
.case_items .item .pic img {
  transition: transform 300ms;
}
.case_items .item .txt {
  position: absolute;
  left: 0;
  bottom: -0.5rem;
  border: 1px solid #fff;
  width: 80%;
  padding: 0.5rem 1rem;
  background-color: #002856;
  height: 3.6rem;
  line-height: 1.2;
}
.case_items .item:hover img {
  transform: scale(1.01);
}
.case_items .item:hover .txt {
  text-decoration: none;
  color: #00a8a8;
}

.sc_gift {
  padding-bottom: 3rem;
  background-color: #fff;
}

.gift_cnt .item {
  display: inline-block;
}
.gift_cnt .item .img {
  display: inline-block;
  border: 1px solid #002856;
}

.sc_footer {
  padding: 2rem;
}

.modal-dialog {
  max-width: 36rem;
}

.modal-content {
  border-width: 0;
}

.modal-header {
  border-bottom-width: 0;
}
.modal-header button.close {
  font-size: 2rem;
  line-height: 1;
  color: #000;
  opacity: 1;
}

.modal-body {
  margin: 0.25em 0;
  padding: 2rem;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

@media (max-width: 767px) {
  .g_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
  .g_header .nav_cnt {
    left: -0.5rem;
    top: 100%;
    width: calc(100% + 1rem);
    display: block;
    margin-top: 0.5rem;
  }
  .g_header .nav_item {
    padding: 1rem 2rem;
  }

  .g_kv {
    margin-top: 66px;
  }

  .sc_title .tit {
    margin-left: 1rem;
  }

  .sc_intro {
    background-color: #fff;
  }

  .three_point_wrap {
    position: relative;
    display: block;
    padding-right: 0;
  }
  .three_point_wrap .title {
    position: absolute;
    left: -15px;
    top: 0;
    padding-right: 0;
  }
  .three_point_wrap .title .tag {
    display: inline-block;
  }
  .three_point_wrap .item {
    padding-left: 3.5rem;
    margin-bottom: 1rem;
  }

  .w_track .track_title .spk {
    margin-top: 0.5rem;
    position: relative;
  }
  .w_track .track_title .spk .t {
    position: absolute;
    left: 0;
    top: 0;
  }
  .w_track .track_title .spk .n,
.w_track .track_title .spk .c {
    display: block;
    padding-left: 4.5rem;
    margin: 0;
  }
  .w_track .track_title .spk .c {
    line-height: 1.2;
  }
  .w_track .tracks {
    display: block;
  }
  .w_track .tracks .track {
    padding-right: 1rem;
  }
  .w_track .tracks .track:first-child {
    border: 1px solid #fff;
    border-width: 0 0 1px 0;
  }

  .case_items .item {
    margin-bottom: 2rem;
  }

  .gift_cnt .item .img img {
    padding: 0 15px;
  }
  .gift_cnt .item .txt {
    padding-top: 0;
  }

  .fix_aside {
    right: 0.5rem;
    display: flex;
  }
  .fix_aside .fx_item {
    margin: 0 0.5em;
  }

  .sc_footer {
    padding: 1rem 2rem 6rem;
  }
}