@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900&family=Montserrat:ital,wght@0,600;0,700;0,800;1,700;1,800&family=Lato:wght@300;400;700&display=swap");
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: auto;
}

body {
  margin: 0;
  font-family: "Noto Sans TC", "Lato", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  background-color: #e7f6ff;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

a:hover {
  text-decoration: none;
}

ul,
ol {
  padding-left: 1.5em;
}

.container {
  max-width: 71.25rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.wrapper {
  overflow-x: hidden;
}

.tit {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3;
  color: #0083bf;
  color: #565656;
  font-weight: 500;
  margin-bottom: 1.5rem;
}

.bttn_inner {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.7em 2em;
  border-radius: 0.5rem;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s, background 0.3s;
}
.bttn_inner:hover {
  text-decoration: none;
  transform: translateY(-2px);
}
.bttn_inner.xs_size {
  padding: 0.35em 1em;
  font-size: 0.875em;
}
.bttn_inner.main_b {
  background: #fff;
  color: #00a0e9;
  border: 6px solid #00a0e9;
}
.bttn_inner.main_b:hover {
  box-shadow: 0 0.25rem 1.25rem rgba(0, 160, 233, 0.35);
}

.arrow-ani {
  display: inline-block;
  animation: arrow-ani 1.25s ease-in-out infinite;
}

.fix_aside {
  position: fixed;
  z-index: 99;
  right: calc(1rem + var(--scrollbar-w, 0px));
  bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  transform: translateX(calc(100% + 2rem));
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.fix_aside.is_active {
  transform: translateX(0);
}
.fix_aside .btn_calendar,
.fix_aside .btn_boothConnect,
.fix_aside .btn_expert,
.fix_aside .btn_reg,
.fix_aside .btn_top {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.7em 2em;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  transition: transform 0.25s, box-shadow 0.25s;
  box-shadow: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.4);
}
.fix_aside .btn_calendar:hover,
.fix_aside .btn_boothConnect:hover,
.fix_aside .btn_expert:hover,
.fix_aside .btn_reg:hover,
.fix_aside .btn_top:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.375rem 1.125rem rgba(0, 0, 0, 0.5);
}
.fix_aside .btn_calendar img,
.fix_aside .btn_boothConnect img,
.fix_aside .btn_expert img,
.fix_aside .btn_reg img,
.fix_aside .btn_top img {
  width: 1.75rem;
}
.fix_aside .btn_calendar,
.fix_aside .btn_boothConnect {
  background: transparent;
  box-shadow: none;
  padding: 0;
}
.fix_aside .btn_calendar img,
.fix_aside .btn_boothConnect img {
  width: 100%;
}
.fix_aside .btn_calendar {
  overflow: visible;
}
.fix_aside .btn_expert {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  padding: 0.3em 0.2em;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  font-weight: 500;
  white-space: normal;
  word-break: normal;
  text-align: center;
  color: #00a0e9;
  background: #fff;
  border: 2px solid #00a0e9;
}
.fix_aside .btn_expert:hover {
  text-decoration: none;
  color: #00a0e9;
  box-shadow: 0 0.375rem 1.25rem rgba(0, 160, 233, 0.35);
}
.fix_aside .btn_reg {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  padding: 0.3em 0.2em;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  font-weight: 500;
  white-space: normal;
  word-break: normal;
  text-align: center;
  color: #fff;
  background: #00a0e9;
  border: none;
}
.fix_aside .btn_reg:hover {
  background: rgb(18.8, 180.9974248927, 255);
  box-shadow: 0 0.375rem 1.25rem rgba(0, 160, 233, 0.45);
}
.fix_aside .btn_top {
  padding: 0;
  background: white;
}
.fix_aside .btn_top img {
  width: 80%;
}

.g_header {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100% - var(--scrollbar-w, 0px));
  z-index: 98;
  background: linear-gradient(180deg, rgba(0, 131, 191, 0.6), rgba(0, 131, 191, 0));
  transition: transform 0.4s ease, background 0.4s, box-shadow 0.4s;
}
.g_header.is_active {
  background: rgba(0, 160, 233, 0.96);
  box-shadow: 0 2px 18px rgba(0, 131, 191, 0.28);
}
.g_header .container {
  max-width: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.6rem 1.5rem;
}
.g_header .hd_logo {
  margin-right: 0.5rem;
}
.g_header .hd_logo img {
  height: 2.2rem;
  width: auto;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.g_header.logo-visible .hd_logo img {
  opacity: 0;
}
.g_header .hd_nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: auto;
}
.g_header .hd_nav > a:not(.bttn_inner) {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.6;
  color: #fff;
  text-align: left;
  padding: 0.5rem 0.8rem;
  border-radius: 0.35rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  transition: color 0.2s, background 0.2s;
}
.g_header .hd_nav > a:not(.bttn_inner):hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
}
.g_header .hd_nav a.bttn_inner.main_b {
  margin-left: 0.5rem;
  padding: 0.5em 1.4em;
  background: #fff;
  color: #00a0e9;
  border: none;
  font-weight: 500;
}
.g_header .hd_nav a.bttn_inner.main_b:hover {
  transform: translateY(-2px);
  background: #fff;
  color: #0083bf;
  box-shadow: 0 0.25rem 1rem rgba(0, 131, 191, 0.4);
}
.g_header .hd_sns {
  display: flex;
  align-items: center;
  margin-left: 0.5rem;
  padding-left: 0.75rem;
  border-left: 1px solid rgba(255, 255, 255, 0.35);
}
.g_header .hd_sns .sns-wrap {
  position: relative;
}
.g_header .hd_sns .sns-wrap::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 0.5rem;
}
.g_header .hd_sns .sns-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  cursor: pointer;
}
.g_header .hd_sns .sns-trigger img {
  width: 1.875rem;
  height: 1.875rem;
}
.g_header .hd_sns .sns-links {
  display: none;
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  flex-direction: column;
  gap: 2px;
  z-index: 10;
}
.g_header .hd_sns .sns-wrap:hover .sns-links {
  display: flex;
  gap: 0.5rem;
}
.g_header .hd_sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.g_header .hd_sns a img {
  width: 1.875rem;
  height: 1.875rem;
}

.layout--logo-right .g_header .hd_logo {
  order: 2;
  margin-left: 0.5rem;
  margin-right: 0;
}
.layout--logo-right .g_header .hd_nav {
  order: 1;
  margin-left: 0;
  margin-right: auto;
}
.layout--logo-right .g_header .js-nav-toggle {
  order: 1;
  margin-left: 0;
  margin-right: auto;
}

.js-nav-toggle {
  display: none;
  flex-direction: column;
  gap: 0.375rem;
  background: none;
  border: none;
  padding: 0.375rem 0.25rem;
  cursor: pointer;
}
.js-nav-toggle span {
  display: block;
  width: 1.5rem;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transform-origin: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.js-nav-toggle.is-open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.js-nav-toggle.is-open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.js-nav-toggle.is-open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.g_kv {
  margin-top: 0;
}

.g_kv {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 20rem;
  overflow: hidden;
}

.hero {
  position: absolute;
  inset: 0;
}
.hero__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 20%;
     object-position: center 20%;
  display: block;
}
.hero__logo {
  position: absolute;
  top: 3.9%;
  left: 2.5%;
  width: 13.6%;
}
.hero__logo img {
  width: 100%;
  height: auto;
  display: block;
}
.hero__bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 30vw;
  max-height: 58vh;
  overflow: hidden;
}
.hero__bar-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  display: block;
}
.hero__hint {
  position: absolute;
  right: 3.6%;
  bottom: 9.6vw;
  width: 17vw;
  display: block;
  z-index: 2;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.25));
}
.hero__hint img {
  width: 100%;
  height: auto;
  display: block;
}
.hero__hint::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 42%, rgba(255, 255, 255, 0.6) 50%, transparent 58%);
  background-size: 260% 100%;
  background-repeat: no-repeat;
  background-position: 140% 0;
  -webkit-mask: url("../images/kv/cta.png") center/contain no-repeat;
  mask: url("../images/kv/cta.png") center/contain no-repeat;
  animation: cta-shine-sweep 4.5s ease-in-out infinite;
  pointer-events: none;
}
.hero__title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.6vw;
  margin: 0;
  padding: 0 1.5rem;
  text-align: center;
  color: #fff;
  font-weight: 500;
  font-size: clamp(1.2rem, 5vw, 4.2rem);
  line-height: 1.15;
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
}

.kv_cover {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: #e7f6ff;
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0s linear 0.5s;
  animation: kv-cover-safety 0.6s ease 5s forwards;
}

.kv-ready .kv_cover {
  opacity: 0;
  visibility: hidden;
}

.kv_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.kv_bg__track {
  position: absolute;
  inset: 0;
  background: url("../images/kv/bg.png") center center/cover no-repeat;
  animation: kv-bg-scale 12s ease-in-out infinite, kv-enter-fade 1s ease-out both;
}
.kv_bg__light {
  position: absolute;
  inset: -8%;
  background: url("../images/kv/light.png") center center/cover no-repeat;
  mix-blend-mode: screen;
  pointer-events: none;
  will-change: transform, filter;
  transform-origin: 58% 42%;
  animation: kv-enter-fade 1.4s ease-out 0.2s both, kv-light-orbit 12s ease-in-out infinite, kv-light-glow 4s ease-in-out infinite;
}

.kv_stage {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(10, 1fr);
  box-sizing: border-box;
}

.kv_cell {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 0;
}
.kv_cell img {
  width: 100%;
  height: auto;
  display: block;
}
.kv_cell--logo {
  grid-column: 1/3;
  grid-row: 1/3;
  align-self: start;
}
.kv_cell--t1 {
  grid-column: 2/7;
  grid-row: 5/6;
  align-items: flex-end;
  transform: translate(3rem, 0rem);
}
.kv_cell--t2 {
  grid-column: 2/6;
  grid-row: 7/8;
  align-items: flex-end;
  transform: translate(3rem, 0rem);
}
.kv_cell--timer {
  grid-column: 2/6;
  grid-row: 9/10;
  align-items: flex-end;
  align-self: end;
  transform: translate(-3.125rem);
}
.kv_cell--t3 {
  grid-column: 9/13;
  grid-row: 7/10;
  align-items: flex-end;
}
.kv_cell--t4 {
  grid-column: 1/4;
  grid-row: 1/4;
  align-items: flex-start;
}
.kv_cell--t5 {
  grid-column: 5/9;
  grid-row: 8/11;
  align-items: flex-end;
}
.kv_cell--t6 {
  grid-column: 1/13;
  grid-row: 1/11;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.kv_enter {
  width: 100%;
  opacity: 0;
}

.timer {
  display: flex;
  gap: 0.75rem;
  color: #fff;
  text-align: center;
}
.timer .tb {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(231, 246, 255, 0.75);
  border: 1px solid rgba(0, 160, 233, 0.3);
  backdrop-filter: blur(0px);
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  padding: 0;
  overflow: hidden;
}
.timer .tb .num {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3;
  color: #0083bf;
  line-height: 1;
  letter-spacing: -1px;
  color: #00a0e9;
}
.timer .tb .unit {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 2px;
  color: #fff;
}

.kv_fx--float {
  animation: kv-float 5s ease-in-out infinite;
  will-change: transform;
}

.kv_fx--pulse-scale {
  animation: kv-pulse-scale 4s ease-in-out infinite;
  will-change: transform;
}

.kv_fx--shine {
  position: relative;
  overflow: hidden;
}
.kv_fx--shine::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, 0.3) 50%, transparent 75%);
  animation: kv-shine-sweep 4.5s ease-in-out 1.5s infinite;
  pointer-events: none;
}

.g_main {
  position: relative;
  z-index: 1;
  background: #e7f6ff;
}

.main_sc {
  padding: 3.5rem 0;
}

.g_main > section {
  position: relative;
  z-index: 1;
  background: #ffffff;
}

.g_main > section.sc_agenda,
.g_main > section.sc_gift {
  background: #dff5ff;
}

.g_main > section.sc_highlights {
  z-index: 2;
}

.sc_intro .intro_header {
  text-align: center;
  margin-bottom: 2.5rem;
}
.sc_intro .intro_header .intro_sub_title {
  color: #00a0e9;
  font-weight: 500;
  font-size: 1.5rem;
}
.sc_intro .intro_main_title {
  font-size: clamp(1.75rem, 4vw, 2rem);
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 0 0;
  color: transparent;
  background: linear-gradient(270deg, #fff, #00a0e9, rgb(3.5, 176.2038626609, 255));
  background-size: 300%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradient-shift 8s ease-in-out infinite;
}
.sc_intro .intro_sub_title {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  color: #0289c7;
  text-align: center;
  font-size: 1.25rem;
  margin: 0;
  letter-spacing: 0.03em;
}
.sc_intro .intro_body {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  margin: 0 auto 2rem;
  line-height: 1.9;
  text-align: center;
  max-width: 52rem;
}
.sc_intro .intro_body li {
  text-align: left;
}
.sc_intro .intro_body p,
.sc_intro .intro_body .intro_block {
  margin-bottom: 3rem;
}
.sc_intro .intro_body .intro_sub_title {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3;
  color: #00a0e9;
  text-align: center;
  margin-bottom: 1rem;
}
.sc_intro > .container > .intro_block {
  max-width: 50rem;
  margin: 0 auto 3rem;
}
.sc_intro > .container > .intro_block ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.sc_intro > .container > .intro_block li {
  padding: 0.875rem 1.25rem;
  border-left: 3px solid #00a0e9;
  background: rgba(0, 160, 233, 0.08);
  border-radius: 0 0.5rem 0.5rem 0;
  line-height: 1.7;
}
.sc_intro > .container > .intro_block li span {
  font-weight: 500;
  color: #00a0e9;
}
.sc_intro > .intro_body .intro_sub_title {
  padding: 1.5rem 0;
}
.sc_intro > .intro_body .intro_sub_title::before, .sc_intro > .intro_body .intro_sub_title::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2px;
  background: #00a0e9;
  margin: 0.75rem auto;
  opacity: 0.5;
}
.sc_intro > .sc_cta {
  margin: 0;
  padding: 4rem 0;
}
.sc_intro > .sc_cta .container {
  position: relative;
  z-index: 1;
}
.sc_intro > .sc_cta .cta_date {
  color: transparent;
  background: linear-gradient(135deg, #0083bf 0%, #00a0e9 45%, #0fe9f8 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: none;
  margin-bottom: 2rem;
}
.sc_intro > .sc_cta .cta_btn .bttn_inner {
  position: relative;
  overflow: hidden;
  color: #fff;
  border: none;
  border-radius: 6.25rem;
  background: linear-gradient(135deg, #00a0e9 0%, #7fe3ff 50%, #00a0e9 100%);
  background-size: 200% auto;
  background-position: 0 0;
  box-shadow: 0 0 0 1px rgba(15, 233, 248, 0.45), 0 0.4rem 1.25rem rgba(0, 160, 233, 0.5), 0 0 2.5rem rgba(0, 160, 233, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-position 0.6s ease, letter-spacing 0.3s ease;
}
.sc_intro > .sc_cta .cta_btn .bttn_inner::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-120%) skewX(-12deg);
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, 0.5) 50%, transparent 70%);
  pointer-events: none;
  animation: cta-shine 5s ease-in-out infinite;
}
.sc_intro > .sc_cta .cta_btn .bttn_inner::after {
  content: "→";
  position: static;
  display: inline-block;
  width: auto;
  height: auto;
  left: auto;
  top: auto;
  background: none;
  margin-left: 0.5em;
  animation: arrow-ani 1.25s ease-in-out infinite;
}
.sc_intro > .sc_cta .cta_btn .bttn_inner:hover {
  background-position: 100% 0;
  transform: translateY(-3px);
  letter-spacing: 0.06em;
  box-shadow: 0 0 0 1px rgba(15, 233, 248, 0.7), 0 0.6rem 1.75rem rgba(0, 160, 233, 0.7), 0 0 3.5rem rgba(0, 160, 233, 0.55);
}
.sc_intro .feature_items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem 3rem;
  margin: 0 auto 3rem;
}
.sc_intro .feature_item {
  flex: 1 1 12.5rem;
  max-width: 18rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.sc_intro .feature_item--icon .feature_visual {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  flex-shrink: 0;
}
.sc_intro .feature_item--icon .feature_visual img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.sc_intro .feature_item--img .feature_visual {
  border-radius: 0;
  background: rgba(0, 160, 233, 0.04);
  border: 1px solid rgba(0, 160, 233, 0.18);
  overflow: hidden;
  width: 100%;
  margin-bottom: 1rem;
}
.sc_intro .feature_item--img .feature_visual img {
  width: 100%;
  display: block;
}
.sc_intro .feature_item .feature_title {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3;
  color: #00a0e9;
  text-align: center;
  margin: 0 0 0.5rem;
}
.sc_intro .feature_item .feature_text {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  color: #0289c7;
  text-align: center;
  margin: 0;
}
.sc_intro .feature_item .feature_list {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  color: #0289c7;
  text-align: center;
  list-style: disc;
  margin: 0.4rem 0 0;
  padding-left: 1.25em;
  text-align: left;
}
.sc_intro .feature_item .feature_list li {
  margin: 0.15rem 0;
}
.sc_intro .feature_cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin: 0 auto 3rem;
  perspective: 1000px;
}
.sc_intro .feature_card {
  border-radius: 0;
  background: rgba(0, 160, 233, 0.04);
  border: 1px solid rgba(0, 160, 233, 0.18);
  overflow: hidden;
  flex: 0 1 calc((100% - 2rem) / 3);
  min-width: 11rem;
  max-width: 17rem;
  height: 16rem;
  display: flex;
  flex-direction: column;
  backface-visibility: hidden;
}
.sc_intro .feature_card__media {
  flex: 0 0 11rem;
  overflow: hidden;
}
.sc_intro .feature_card__media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sc_intro .feature_card .feature_title {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3;
  color: #00a0e9;
  text-align: center;
  flex: 0 0 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.35;
}

.sc_agenda .tit {
  text-align: center;
}

.agd_cnt {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: none;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 1rem;
}
.agd_cnt .tr {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid rgba(0, 160, 233, 0.5);
  overflow: hidden;
  transition: background 0.25s, border-color 0.25s;
}
.agd_cnt .tr.tr_light {
  border-bottom: 1px solid rgba(0, 160, 233, 0.5);
  background: linear-gradient(90deg, #00a0e9, #0fe9f8 90%, rgba(0, 160, 233, 0.8));
  color: #fff;
}
.agd_cnt .tr.tr_light .td_title span,
.agd_cnt .tr.tr_light .td_time span,
.agd_cnt .tr.tr_light .td_speaker span {
  color: #fff;
}
.agd_cnt .td {
  padding: 1rem 1.25rem;
}
.agd_cnt .td_time {
  flex: 0 0 10rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: start;
  text-align: center;
  color: #000;
  letter-spacing: 0.5px;
  font-size: 1rem;
}
.agd_cnt .td_title {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1em;
  flex-wrap: nowrap;
  min-width: 0;
}
.agd_cnt .td_title span {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  font-weight: 500;
  color: #000;
  min-width: 0;
}
.agd_cnt .td_title .topic_toggle {
  margin-left: auto;
  flex: 0 0 auto;
}
.agd_cnt .td_speaker {
  flex: 0 0 20rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  display: flex;
  color: #000;
  padding: 0.8em 1.2em;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: start;
}
.agd_cnt .td_speaker span {
  display: block;
  line-height: 1.5;
}
.agd_cnt .td_speaker .spk {
  display: flex;
  flex-direction: column;
  gap: 0.1em;
}
.agd_cnt .td_speaker .spk .spk_name {
  font-weight: 500;
}
.agd_cnt .td_speaker--grouped {
  flex-direction: column;
  gap: 0.75rem;
}
.agd_cnt .td_speaker--grouped .spk_group {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.agd_cnt .td_speaker--grouped .spk_group__label {
  font-weight: 500;
  font-size: 0.875rem;
  color: #00a0e9;
  line-height: 1.4;
}
.agd_cnt .td_speaker--grouped .spk_group__members {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.topic_toggle {
  display: flex;
  align-items: center;
}
.topic_toggle .bttn_inner {
  border: 1px solid rgba(0, 160, 233, 0.5);
  background: rgba(0, 160, 233, 0.1);
  color: #00a0e9;
  white-space: nowrap;
}
.topic_toggle .bttn_inner:hover {
  background: rgba(0, 160, 233, 0.2);
  border-color: #00a0e9;
  box-shadow: none;
  transform: translateY(-1px);
}

.tr_light .topic_toggle .bttn_inner {
  border-color: rgba(255, 255, 255, 0.75);
  background: rgba(231, 246, 255, 0.28);
  color: #fff;
}
.tr_light .topic_toggle .bttn_inner:hover {
  background: rgba(231, 246, 255, 0.42);
  border-color: #fff;
}

.sc_speaker .tit {
  text-align: center;
}

.speaker_items {
  --cols: 4;
  --gap: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}
.speaker_items .item {
  flex: 1 1 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
  max-width: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
  margin-bottom: 0;
  text-align: center;
  cursor: default;
}
.speaker_items .item[data-modal-open] {
  cursor: pointer;
}
.speaker_items .item .item_img {
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  width: 100%;
  padding-top: 100%;
  margin-bottom: 0.75rem;
  background: rgba(0, 160, 233, 0.08);
  box-shadow: 0 0 0 0.125rem rgba(0, 160, 233, 0.2);
  transition: box-shadow 0.35s;
}
.speaker_items .item .item_img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.35s;
}
.speaker_items .item .item_info .name {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3;
  color: #00a0e9;
  text-align: center;
  margin-bottom: 0.2em;
}
.speaker_items .item .item_info .job {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  color: #0289c7;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.4;
}

.sc_sponsor .tit {
  text-align: center;
}

.sort_btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.sort_btn .item_link {
  font-size: 1rem;
  font-weight: 500;
  padding: 0.5em 1.4em;
  border-radius: 6.25rem;
  display: inline-block;
  border: 1px solid rgba(0, 160, 233, 0.3);
  background: rgba(0, 160, 233, 0.06);
  color: #fff;
  cursor: pointer;
  transition: all 0.25s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.sort_btn .item_link:hover {
  background: rgba(0, 160, 233, 0.15);
  border-color: rgba(0, 160, 233, 0.6);
  color: #00a0e9;
}
.sort_btn .item_link.is_active {
  background: rgba(0, 160, 233, 0.2);
  border-color: #00a0e9;
  color: #00a0e9;
  box-shadow: 0 0 0.75rem rgba(0, 160, 233, 0.25);
}

.spr_items {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.5rem;
  justify-content: center;
}
.spr_items .spr_item {
  flex: 0 0 20%;
  padding: 0.5rem;
}
.spr_items .spr_item a {
  border-radius: 0;
  background: rgba(0, 160, 233, 0.04);
  border: 1px solid rgba(0, 160, 233, 0.18);
  overflow: hidden;
  display: block;
  background: #fff;
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
}
.spr_items .spr_item a:hover {
  box-shadow: 0 0 1rem rgba(0, 160, 233, 0.2);
  transform: translateY(-2px);
  border-color: rgba(0, 160, 233, 0.4);
}
.spr_items .spr_item a img {
  width: 100%;
  height: auto;
  display: block;
}

.sc_agenda .agd-warning {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  text-align: center;
  margin: 1.5rem 0 0;
  padding: 0 1rem;
}

.sc_expert .expert_card {
  display: flex;
  gap: 4rem;
  justify-content: center;
  align-items: center;
  max-width: 56rem;
  margin: 0 auto;
  padding: 0;
}
.sc_expert .expert_card__icon {
  flex: 0 0 8rem;
}
.sc_expert .expert_card__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.sc_expert .expert_card__body {
  flex: 0 1 auto;
  min-width: 0;
}
.sc_expert .expert_card__title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3;
  color: #0083bf;
  font-size: 1.75rem;
  margin: 0 0 1.75rem;
}
.sc_expert .expert_card__info {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  row-gap: 1rem;
  margin: 0;
}
.sc_expert .expert_card__label {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  font-weight: 500;
  color: #00a0e9;
  margin: 0;
  white-space: nowrap;
}
.sc_expert .expert_card__value {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  color: #0289c7;
  margin: 0;
  word-break: break-word;
}
.sc_expert .expert_card__link {
  color: #00a0e9;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.sc_expert .expert_card__link:hover {
  color: #0083bf;
}

.sc_gift .tit {
  text-align: center;
}
.sc_gift .gift_cnt {
  --cols: 4;
  --gap: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  margin-top: 0.5rem;
}
.sc_gift .gift_cnt .gift-col {
  flex: 1 1 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
  max-width: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
}
.sc_gift .gift-col {
  display: flex;
  flex-direction: column;
}
.sc_gift .gift-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 0;
  border: 2px solid #0fe9f8;
  background-color: rgba(231, 246, 255, 0.8);
}
.sc_gift .gift-type {
  display: block;
  text-align: center;
  padding: 0.3rem 0;
  margin: 0 0 0.75rem;
  border-radius: 0;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #00a0e9;
}
.sc_gift .gift-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: start;
  padding: 2rem;
  width: 100%;
}
.sc_gift .gift-item img {
  width: 100%;
  margin: 0 auto 0.75rem;
  border-radius: 0;
}
.sc_gift .gift-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
}
.sc_gift .gift-name {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.3;
  color: #00a0e9;
  margin: 0.4rem 0 0.4rem;
}
.sc_gift .gift-text {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  color: #0289c7;
  text-align: center;
  margin: 0 0 0.5rem;
  flex: 1;
}
.sc_gift .gift-num {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  color: #0289c7;
  text-align: center;
  font-weight: 500;
  margin: 0;
}
.sc_gift .gift-warning {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  text-align: center;
  margin: 0 0 3rem;
  padding: 0 1rem;
  color: #919191 !important;
}

.gift_cnt[data-gift-count="1"] {
  justify-content: center;
}

.gift_cnt[data-gift-count="1"] .gift-col {
  flex: 0 1 auto;
  width: 100%;
  max-width: 46rem;
}

.gift_cnt[data-gift-count="1"] .gift-list {
  flex: 0 1 auto;
  width: 100%;
  max-width: 46rem;
  display: grid;
  grid-template-columns: 1fr minmax(0, 16rem);
  grid-template-areas: "type img" "body img";
  align-content: center;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  row-gap: 0.4rem;
  padding: 2rem;
  text-align: left;
}

.gift_cnt[data-gift-count="1"] .gift-item {
  display: contents;
}

.gift_cnt[data-gift-count="1"] .gift-type {
  grid-area: type;
  text-align: left;
  align-self: end;
  margin-bottom: 0;
}

.gift_cnt[data-gift-count="1"] .gift-item img {
  grid-area: img;
  width: 100%;
  margin: 0;
}

.gift_cnt[data-gift-count="1"] .gift-body {
  grid-area: body;
  align-self: start;
  text-align: left;
}

.gift_cnt[data-gift-count="1"] .gift-text,
.gift_cnt[data-gift-count="1"] .gift-num {
  text-align: left;
}

.gift_cnt[data-gift-count="2"] {
  justify-content: center;
  gap: 2.5rem;
}

.gift_cnt[data-gift-count="2"] .gift-col {
  flex: 0 1 22rem;
  max-width: 22rem;
}

.sc_location .tit {
  text-align: center;
}
.sc_location .loc_info {
  text-align: center;
  margin-bottom: 1.5rem;
}
.sc_location .loc_info .loc_name {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3;
  color: #00a0e9;
  text-align: center;
  margin: 0 0 0.25rem;
}
.sc_location .loc_info .loc_addr {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  color: #0289c7;
  text-align: center;
  margin: 0;
}
.sc_location .loc_map {
  border-radius: 0;
  background: rgba(0, 160, 233, 0.04);
  border: 1px solid rgba(0, 160, 233, 0.18);
  overflow: hidden;
  box-shadow: 0 0 1.875rem rgba(0, 160, 233, 0.08);
}
.sc_location .loc_map iframe {
  display: block;
  width: 100%;
  height: 26.25rem;
  border: none;
}

.sc_cta {
  position: relative;
  padding: 0;
  margin: 2rem 0;
  text-align: center;
  overflow: hidden;
}
.sc_cta .container {
  position: relative;
  z-index: 1;
}
.sc_cta .cta_date {
  font-size: 1.75rem;
  font-weight: 500;
  color: #00a0e9;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 0 0 2rem;
}
.sc_cta .cta_btn {
  display: flex;
  justify-content: center;
  padding: 0 0 1rem 0;
}
.sc_cta .cta_btn .bttn_inner {
  padding: 0.7em 3em;
  font-size: 2rem;
  background-position: 50%;
  transition: letter-spacing 0.3s ease-in-out;
}
.sc_cta .cta_btn .bttn_inner:hover {
  transform: translateY(-4px);
  letter-spacing: 20%;
}

.g_main > section.sc_cta {
  background: linear-gradient(160deg, rgba(15, 233, 248, 0.55) 0%, rgba(231, 246, 255, 0.98) 100%);
  border-top-color: rgba(0, 160, 233, 0.25);
}

.g_main > section.sc_cta:nth-child(even) {
  background: linear-gradient(160deg, rgba(15, 233, 248, 0.55) 0%, rgba(231, 246, 255, 0.98) 100%);
  border-top-color: rgba(0, 160, 233, 0.25);
}

.sc_detail .tit {
  text-align: center;
}
.sc_detail .detail_list {
  padding-left: 1.75em;
}
.sc_detail .detail_list li {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  line-height: 1.75;
}
.sc_detail .detail_list li a {
  color: #00a0e9;
  text-decoration: underline;
}
.sc_detail .detail_list li a:hover {
  color: #fff;
}
.sc_detail .detail_sublist {
  list-style: disc;
  padding-left: 1.5em;
  margin: 0.35rem 0 0.5rem;
}
.sc_detail .detail_sublist li {
  line-height: 1.6;
}
.sc_detail .policy_btn {
  width: 15.625rem;
  display: block;
  margin: auto;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: transparent;
  border: 1px solid #fff;
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.sc_detail .policy_btn a {
  display: block;
  margin: auto;
  text-align: center;
}
.sc_detail .policy_btn:hover {
  color: #fff;
  background-color: #00a0e9;
  border-color: #00a0e9;
}

.u-txt-gradient {
  color: transparent;
  background: linear-gradient(135deg, #0083bf 0%, #00a0e9 45%, #0fe9f8 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.u-txt-glow {
  color: #00a0e9;
  text-shadow: 0 0 0.75rem rgba(0, 160, 233, 0.55), 0 0 2.25rem rgba(0, 160, 233, 0.2);
}

.u-txt-emphasis {
  color: #00a0e9;
  font-weight: 500;
}

.u-txt-mark {
  background: linear-gradient(transparent 55%, rgba(0, 160, 233, 0.3) 55%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 0.1em;
}

.u-label {
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  color: #00a0e9;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-top: 2px solid #00a0e9;
  padding-top: 0.3em;
}

.u-badge {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  padding: 0.2em 0.85em;
  border-radius: 6.25rem;
  vertical-align: middle;
}
.u-badge--primary {
  color: #0c3b56;
  background: linear-gradient(135deg, #00a0e9, #0fe9f8);
}
.u-badge--outline {
  color: #00a0e9;
  border: 1px solid rgba(0, 160, 233, 0.5);
  background: rgba(0, 160, 233, 0.06);
}
.u-badge--muted {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.06);
}
.u-badge--emphasis {
  color: #e7f6ff;
  background: #00a0e9;
}

.g_footer {
  background: black;
  border-top: 1px solid rgba(0, 160, 233, 0.12);
  padding: 1.5rem 0;
  position: relative;
  z-index: 1;
}
.g_footer .container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.g_footer .container img {
  max-width: 18.75rem;
}
.g_footer p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  margin: 0;
}
.g_footer a {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0289c7;
  text-decoration: underline;
}
.g_footer a:hover {
  color: #00a0e9;
}

.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  align-items: center;
  justify-content: center;
}
.modal.is-open {
  display: flex;
}
.modal.is-open > .modal__backdrop {
  animation: modal-backdrop-in 0.25s ease forwards;
}
.modal.is-open > .modal__dialog {
  animation: modal-dialog-in 0.3s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}
.modal.is-closing {
  display: flex;
}
.modal.is-closing > .modal__backdrop {
  animation: modal-backdrop-out 0.2s ease forwards;
}
.modal.is-closing > .modal__dialog {
  animation: modal-dialog-out 0.2s ease forwards;
}
.modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  cursor: pointer;
}
.modal__dialog {
  border-radius: 1rem;
  border: 1px solid rgba(0, 160, 233, 0.18);
  position: relative;
  z-index: 1;
  background: #ffffff;
  width: 90%;
  max-width: 40rem;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0.5rem 2.5rem rgba(0, 0, 0, 0.6), 0 0 2.5rem rgba(0, 160, 233, 0.06);
}
.modal__header {
  display: flex;
  align-items: center;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(0, 160, 233, 0.18);
  background: rgba(0, 160, 233, 0.04);
  border-radius: 1rem 1rem 0 0;
  flex-shrink: 0;
}
.modal__title {
  flex: 1;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  font-weight: 500;
  color: #00a0e9;
}
.modal__close {
  background: none;
  border: none;
  outline: none;
  font-size: 1.5rem;
  line-height: 1;
  color: #00a0e9;
  cursor: pointer;
  padding: 0 0 0 0.75rem;
  opacity: 0.7;
  transition: opacity 0.2s, color 0.2s;
}
.modal__close:hover {
  opacity: 1;
  color: #00a0e9;
}
.modal__body {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  padding: 1.25rem;
  overflow-y: auto;
  flex: 1;
  line-height: 1.7;
}
.modal__footer {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid rgba(0, 160, 233, 0.18);
  background: rgba(0, 160, 233, 0.04);
  border-radius: 0 0 1rem 1rem;
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}
.modal--speaker .modal__body {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.modal--speaker .spk_info {
  flex: 1;
}
.modal--speaker .spk_info .spk_name {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3;
  color: #00a0e9;
  text-align: center;
  margin-bottom: 0.25rem;
}
.modal--speaker .spk_info .spk_title {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  color: #0289c7;
  text-align: center;
  font-size: 1.125rem;
  margin-bottom: 0.75rem;
}
.modal--speaker .spk_info .spk_bio {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  line-height: 1.7;
  white-space: pre-line;
}
.modal--reg .modal__dialog {
  background: #fff;
  border: none;
  width: 92%;
  max-width: 56rem;
  /* 核心修復：這三行缺一不可！ */
  height: 85vh;
  /* 給予明確高度 */
  max-height: 85vh;
  display: flex;
  /* 開啟 Flex 布局 */
  flex-direction: column;
  position: relative;
  border-radius: 12px;
  /* 補回圓角，避免被切掉 */
  overflow: hidden;
  /* 確保內容不會溢出彈窗的圓角 */
}
.modal--reg .modal__close {
  position: absolute;
  top: 0.6rem;
  right: 0.9rem;
  z-index: 2;
  padding: 0;
  font-size: 1.9rem;
  color: #666;
}
.modal--reg .modal__close:hover {
  color: #222;
}
.modal--reg .modal__body {
  padding: 2.75rem clamp(1.25rem, 4vw, 3rem);
  color: #333;
  min-height: 8rem;
  /* 核心修復：解決 Flexbox 子元素滾動失效的怪病 */
  flex: 1;
  /* 吃滿 dialog 扣掉 padding 後的剩餘高度 */
  min-height: 0;
  /* ⚠️ 關鍵！沒有這行 Flex 子元素不會出現內部滾動條 */
  overflow-y: auto;
  /* 關鍵！告訴瀏覽器這區域的滾動是獨立的，阻斷滾動事件向外冒泡 */
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
}
.modal--reg .modal__body .form_wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.modal--reg .modal__body .form_wrap p {
  margin: 0;
}
.modal--reg .modal__body .form_wrap .form_tit {
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  color: #0083bf;
  line-height: 1.6;
}
.modal--reg .modal__body .form_wrap .form_tit .tip {
  position: relative;
  margin: 0.9375rem 0 0;
  font-size: 0.875rem;
  font-weight: normal;
  color: #ff0000;
}
.modal--reg .modal__body .form_wrap form {
  position: relative;
  margin: 35px auto;
}
.modal--reg .modal__body .form_wrap .digitimes_poc {
  position: relative;
  margin: 35px auto;
  width: 100%;
  border-radius: 0.3125rem;
  background-color: #0083bf;
  border: 1px solid #0083bf;
}
.modal--reg .modal__body .form_wrap .digitimes_poc .t {
  position: relative;
  padding: 5px 35px;
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.1875rem;
  text-align: center;
  color: #fff;
  background-color: #0083bf;
}
.modal--reg .modal__body .form_wrap .digitimes_poc .w {
  position: relative;
  height: 0;
  padding: 0;
  display: none;
  font-size: 0.875rem;
  font-weight: 300;
  letter-spacing: 0.0625rem;
  text-align: left;
  color: #000;
  background-color: #fff;
  border-radius: 0.3125rem;
}
.modal--reg .modal__body .form_wrap .digitimes_poc:hover .w {
  height: auto;
  padding: 0.9375rem;
  display: block;
}
.modal--reg .modal__body .form_wrap .form-check {
  display: flex;
  align-items: center;
}
.modal--reg .modal__body .form_wrap .form-check input {
  width: 20px;
  height: 20px;
}
.modal--reg .modal__body .form_wrap .form-check label {
  padding: 0 0 0 5px;
  font-size: 0.875rem;
}
.modal--reg .modal__body .form_wrap .main_button {
  position: relative;
  display: inline-block;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.3125rem;
  color: #fff;
  background-color: #0083bf;
  padding: 0.625rem 3.125rem;
  border-radius: 2.1875rem;
  margin: 1.5625rem 0 0;
  cursor: pointer;
  transition: all 0.2s ease-out;
}
.modal--reg .modal__body .form_wrap .main_button:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
  transform: scale(1.1);
}

body.modal-open {
  overflow: hidden;
}

.sc_boothConnect {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8));
  position: relative;
  z-index: 1;
  padding: 4.25rem 0;
}
.sc_boothConnect .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2.75rem;
}
.sc_boothConnect .bg_inner {
  position: absolute;
  z-index: -1;
  width: 1000px;
  height: 100%;
}
.sc_boothConnect .bg_inner .circle {
  position: absolute;
  z-index: 2;
  top: 25%;
  left: 75%;
  width: 220px;
  height: 220px;
  border-radius: 100%;
  background: #f1f1f1;
  box-shadow: -35px 40px 40px -25px rgba(0, 0, 0, 0.1);
}
.sc_boothConnect .bg_inner .circle.circle2 {
  box-shadow: 35px -30px 20px -28px rgb(255, 255, 255);
}
.sc_boothConnect .bg_inner .circle.purple, .sc_boothConnect .bg_inner .circle.blue, .sc_boothConnect .bg_inner .circle.blue2, .sc_boothConnect .bg_inner .circle.sky {
  filter: blur(40px);
  mix-blend-mode: multiply;
}
.sc_boothConnect .bg_inner .circle.purple {
  background: #ea95fe;
  animation: rotate-reverse 1.8s linear infinite;
  transform-origin: 44% 44%;
}
.sc_boothConnect .bg_inner .circle.blue {
  background: #adc0ff;
  animation: rotate 1.8s linear infinite;
  transform-origin: 56% 44%;
}
.sc_boothConnect .bg_inner .circle.blue2 {
  background: #adc0ff;
  animation: rotate 1.8s linear infinite;
  transform-origin: 44% 56%;
}
.sc_boothConnect .bg_inner .circle.sky {
  background: #a7faff;
  animation: rotate 1.8s linear infinite;
  transform-origin: 56% 56%;
}
.sc_boothConnect-cnt {
  width: 65%;
}
.sc_boothConnect .boothConnect_tit {
  position: relative;
  margin-bottom: 1.75rem;
  color: #0fe9f8;
  text-align: left;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.08rem;
}
.sc_boothConnect .boothConnect_tit span {
  position: absolute;
  top: 50%;
  left: 82%;
  transform: translateY(-40%);
  font-size: 1rem;
  font-weight: 400;
}
.sc_boothConnect .boothConnect_tit span.zh {
  animation: shine-ani 1s steps(1) infinite;
}
.sc_boothConnect .text {
  margin-bottom: 1rem;
}
.sc_boothConnect .text p {
  text-align: justify;
}
.sc_boothConnect .text p:first-child {
  margin-bottom: 0.5rem;
  font-weight: 500;
}
.sc_boothConnect .bttn {
  display: inline-flex;
  align-items: center;
  padding: 0.75rem 1.5rem;
  border-radius: 100px;
  background-color: #0fe9f8;
  color: #000;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 3px;
  transition: all 0.3s ease-in-out;
}
.sc_boothConnect .bttn img {
  width: 8%;
  margin: 0.2rem 0 0 0.5rem;
  animation: arrow-ani 1.25s ease-in-out infinite;
}
.sc_boothConnect .bttn:hover {
  text-decoration: none;
  box-shadow: 0 0 8px 4px rgba(15, 233, 248, 0.25);
}

@media (max-width: 1024px) {
  .speaker_items {
    --cols: 3;
  }
  .spr_items .spr_item {
    flex: 0 0 33.333%;
  }
}
@media (max-width: 768px) {
  body {
    background: #e7f6ff;
  }
  .g_header .container {
    padding: 0.5rem 1rem;
  }
  .g_header .js-nav-toggle {
    display: flex;
    margin-left: auto;
    position: relative;
    z-index: 100;
  }
  .g_header .hd_nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100dvh;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 4rem 1.5rem 2rem;
    margin-left: 0;
    background: rgba(231, 246, 255, 0.97);
    backdrop-filter: blur(0px);
    z-index: 99;
    overflow: hidden;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex !important;
  }
  .g_header .hd_nav.is-open {
    transform: translateX(0);
  }
  .g_header .hd_nav a {
    width: auto;
    padding: 0.85rem 2rem;
    border-radius: 0.5rem;
    border-bottom: none;
    font-size: 1.125rem;
    text-align: center;
    color: #fff;
  }
  .g_header .hd_nav a:hover {
    color: #00a0e9;
    background: rgba(0, 160, 233, 0.08);
  }
  .g_header .hd_logo img {
    max-height: 1.5rem;
  }
  .hd_nav .hd_sns {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 0;
    border-left: none;
  }
  .hd_nav .hd_sns .sns-trigger {
    display: none;
  }
  .hd_nav .hd_sns .sns-links {
    display: flex !important;
    position: static;
    flex-direction: row;
    gap: 0.75rem;
    background: none;
    border: none;
    padding: 0;
    backdrop-filter: none;
    box-shadow: none;
  }
  .hd_nav .hd_sns a img {
    width: 1.875rem;
    height: 1.875rem;
  }
  .nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 98;
  }
  .nav-backdrop.is-open {
    display: block;
  }
  .g_kv {
    height: 45svh;
    max-height: 45svh;
    min-height: 0;
  }
  .hero__title {
    white-space: normal;
    font-size: clamp(0.95rem, 4.7vw, 1.4rem);
    line-height: 1.2;
    bottom: 3vw;
    padding: 0 0.8rem;
  }
  .hero__hint {
    width: 24vw;
    bottom: 12vw;
  }
  .kv_stage {
    padding: 3% 3%;
  }
  .kv_bg__track,
  .kv_bg__light {
    background-size: 100% auto;
    background-position: top center;
  }
  .kv_cell--logo {
    grid-column: 1/4;
    grid-row: 1/2;
    transform: translate(0.2rem, 0rem);
  }
  .kv_cell--t1 {
    grid-column: 1/6;
    grid-row: 1/8;
    align-items: center;
    justify-content: center;
    transform: translate(1rem, 1rem);
  }
  .kv_cell--t2 {
    grid-column: 1/4;
    grid-row: 7/13;
    align-items: flex-start;
    transform: translate(1.1rem, 0.2rem);
  }
  .kv_cell--timer {
    grid-column: 2/9;
    grid-row: 7/9;
    transform: translateY(0.5rem);
  }
  .timer {
    gap: 0.5rem;
  }
  .timer .tb {
    min-width: 1rem;
    padding: 0.2rem 0.25rem;
    width: 2.25rem;
    height: 2.25rem;
  }
  .timer .tb .num {
    font-size: 0.75rem;
  }
  .timer .tb .unit {
    font-size: 0.5rem;
  }
  .main_sc {
    padding: 1rem 0;
  }
  .agd_cnt .tr {
    flex-direction: column;
  }
  .agd_cnt .td_time {
    flex: none;
    width: 100%;
    justify-content: flex-start;
    font-size: 0.875rem;
    padding: 0.55rem 1rem 0.25rem;
  }
  .agd_cnt .td_title {
    flex: none;
    width: 100%;
    padding: 0.4rem 1rem 0.5rem;
  }
  .agd_cnt .td_speaker {
    flex: none;
    width: 100%;
    border-left: none;
    padding: 0.5rem 1rem;
  }
  .sc_cta {
    padding: 3rem 0;
  }
  .sc_cta .cta_date {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    letter-spacing: 0.08em;
  }
  .sc_cta .cta_btn .bttn_inner {
    font-size: 1.125rem;
    padding: 0.8em 2.5em;
  }
  .speaker_items {
    --cols: 2;
  }
  .spr_items .spr_item {
    flex: 0 0 50%;
  }
  .sc_gift .gift_cnt {
    --cols: 2;
  }
  .sc_boothConnect {
    padding: 3rem 0;
  }
  .sc_boothConnect .container {
    flex-direction: column;
    padding: 0 1rem;
  }
  .sc_boothConnect .bg_inner {
    width: 100%;
    display: none;
  }
  .sc_boothConnect .bg_inner .circle {
    left: auto;
    right: -40px;
    width: 160px;
    height: 160px;
  }
  .sc_boothConnect-cnt {
    width: 100%;
  }
  .sc_boothConnect .boothConnect_tit {
    font-size: 1.5rem;
    text-align: center;
  }
  .sc_boothConnect .boothConnect_tit span {
    position: static;
    display: inline-block;
    transform: none;
    margin-left: 0.25rem;
  }
  .sc_boothConnect .text p {
    text-align: justify;
  }
  .sc_boothConnect .cta {
    text-align: center;
  }
  .sc_location .loc_map iframe {
    height: 17.5rem;
  }
  .modal--speaker .modal__body {
    flex-direction: column;
  }
  .fix_aside {
    right: 0.5rem;
    bottom: 0.75rem;
    gap: 0.4rem;
  }
  .fix_aside .btn_calendar,
  .fix_aside .btn_boothConnect,
  .fix_aside .btn_top {
    width: 4rem;
    height: 4rem;
  }
  .fix_aside .btn_expert,
  .fix_aside .btn_reg {
    width: 4rem;
    height: 4rem;
    font-size: 1rem;
  }
  .sc_expert .expert_card {
    flex-direction: column;
    text-align: center;
    gap: 1.75rem;
    padding: 0;
  }
  .sc_expert .expert_card__icon {
    flex: 0 0 auto;
    width: 8rem;
  }
  .sc_expert .expert_card__title {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 1.25rem;
  }
  .sc_expert .expert_card__info {
    grid-template-columns: auto minmax(0, 1fr);
    justify-content: center;
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
    row-gap: 0.85rem;
    text-align: left;
  }
  .sc_cta {
    padding: 2rem 0;
  }
  .sc_cta .cta_date {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    letter-spacing: 0.04em;
  }
  .sc_cta .cta_btn .bttn_inner {
    font-size: 1.5rem;
    padding: 0.7em 1.75em;
  }
  .speaker_items {
    --cols: 1;
  }
  .spr_items .spr_item {
    flex: 0 0 50%;
  }
  .sc_gift .gift_cnt {
    --cols: 1;
  }
  .gift_cnt[data-gift-count="1"] .gift-list {
    grid-template-columns: 1fr;
    grid-template-areas: "type" "img" "body";
    text-align: center;
  }
  .gift_cnt[data-gift-count="1"] .gift-type,
  .gift_cnt[data-gift-count="1"] .gift-body,
  .gift_cnt[data-gift-count="1"] .gift-text,
  .gift_cnt[data-gift-count="1"] .gift-num {
    text-align: center;
  }
  .gift_cnt[data-gift-count="1"] .gift-item img {
    max-width: none;
    margin: 0 auto 0.75rem;
  }
}
.session_tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.session_tab {
  font-size: 1rem;
  font-weight: 500;
  padding: 0.5em 1.4em;
  border-radius: 6.25rem;
  cursor: pointer;
  color: #00a0e9;
  background: rgba(0, 160, 233, 0.08);
  border: 1px solid rgba(0, 160, 233, 0.4);
  transition: background 0.2s, color 0.2s;
}
.session_tab:hover {
  background: rgba(0, 160, 233, 0.18);
}
.session_tab.is_active {
  background: #00a0e9;
  color: #e7f6ff;
}

.session_panel.is-hidden {
  display: none;
}

[v-cloak] {
  display: none;
}

@keyframes shine {
  0% {
    left: -75%;
  }
  50% {
    left: 125%;
  }
  100% {
    left: 125%;
  }
}
@keyframes arrow-ani {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(5px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes cta-shine {
  0% {
    transform: translateX(-120%) skewX(-12deg);
  }
  60%, 100% {
    transform: translateX(220%) skewX(-12deg);
  }
}
@keyframes btn-breathe {
  0%, 100% {
    scale: 1;
  }
  50% {
    scale: 1.035;
  }
}
@keyframes play-arrow {
  0%, 100% {
    transform: translateY(-50%) translateX(0);
  }
  50% {
    transform: translateY(-50%) translateX(5px);
  }
}
@keyframes num-pop {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.55);
  }
  20% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes cta-shine-sweep {
  0% {
    background-position: 140% 0;
  }
  55%, 100% {
    background-position: -40% 0;
  }
}
@keyframes diamond-spin {
  from {
    transform: rotate(45deg);
  }
  to {
    transform: rotate(405deg);
  }
}
@keyframes kv-cover-safety {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes kv-light-orbit {
  0%, 100% {
    transform: rotate(-2.5deg) translate(-0.4rem, 0) scale(1.04);
  }
  25% {
    transform: rotate(0deg) translate(0, 0.4rem) scale(1.05);
  }
  50% {
    transform: rotate(2.5deg) translate(0.4rem, 0) scale(1.06);
  }
  75% {
    transform: rotate(0deg) translate(0, -0.4rem) scale(1.05);
  }
}
@keyframes kv-light-glow {
  0%, 100% {
    filter: brightness(0) saturate(1.4) contrast(1.05);
  }
  50% {
    filter: brightness(0.8) saturate(1.5) contrast(1.05);
  }
}
@keyframes kv-bg-scale {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
@keyframes kv-enter-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes kv-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes kv-pulse-scale {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
@keyframes kv-shine-sweep {
  from {
    transform: translateX(-120%);
  }
  to {
    transform: translateX(220%);
  }
}
@keyframes gradient-shift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes modal-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-backdrop-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes modal-dialog-in {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes modal-dialog-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-12px);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotate-reverse {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}
@keyframes shine-ani {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}
.btn_watch {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.62em 2em 0.62em 2.8em;
  background: #00a0e9;
  color: #fff;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  cursor: pointer;
  clip-path: polygon(0.9em 0, 100% 0, calc(100% - 0.9em) 100%, 0 100%);
  transition: transform 0.25s, filter 0.25s;
  animation: btn-breathe 2.6s ease-in-out infinite;
}
.btn_watch::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2.5em;
  background: #abed3e;
  clip-path: polygon(0.9em 0, 100% 0, calc(100% - 0.9em) 100%, 0 100%);
}
.btn_watch:hover {
  transform: translateY(-2px);
  text-decoration: none;
  color: #fff;
  filter: drop-shadow(0 0.4rem 0.8rem rgba(0, 131, 191, 0.35));
}

.btn_watch--play {
  padding-left: 4.1em;
  animation: none;
}
.btn_watch--play::after {
  content: "";
  position: absolute;
  left: 2.85em;
  top: 50%;
  transform: translateY(-50%);
  border-left: 0.62em solid #fff;
  border-top: 0.42em solid transparent;
  border-bottom: 0.42em solid transparent;
  animation: play-arrow 1s ease-in-out infinite;
}

.sc_intro .intro_lead {
  max-width: 52rem;
  margin: 0 auto;
}
.sc_intro .intro_lead p {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: #0c3b56;
  text-align: left;
  position: relative;
  color: #0289c7;
  text-align: justify;
  line-height: 1.9;
  margin: 0 0 1.5rem;
  padding-left: 1.5em;
}
.sc_intro .intro_lead p::before {
  content: "";
  position: absolute;
  left: 0.35em;
  top: 0.72em;
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background: #0289c7;
}
.sc_intro .intro_cta {
  display: flex;
  justify-content: center;
  margin: 2rem 0 3rem;
}
.sc_intro .cra_timeline {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3rem;
  align-items: center;
  max-width: 60rem;
  margin: 0 auto;
}
.sc_intro .cra_timeline__head {
  position: relative;
  z-index: 1;
}
.sc_intro .cra_timeline__label {
  position: relative;
  color: #008ae4;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 0 0 1.1rem;
  padding-bottom: 0.9rem;
}
.sc_intro .cra_timeline__label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(100% + 3.5rem);
  height: 2px;
  background: #008ae4;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.85s ease;
}
.sc_intro .cra_timeline__label::before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: calc(100% + 3.5rem - 4px);
  width: 8px;
  height: 8px;
  background: #008ae4;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.3s ease 0.78s;
  animation: diamond-spin 4.5s linear infinite;
}
.sc_intro .cra_timeline.is-inview .cra_timeline__label::after {
  transform: scaleX(1);
}
.sc_intro .cra_timeline.is-inview .cra_timeline__label::before {
  opacity: 1;
}
.sc_intro .cra_timeline__title {
  margin: 0;
  color: #008ae4;
  font-weight: 500;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  line-height: 1.25;
}
.sc_intro .cra_timeline__title strong {
  display: block;
  color: #008ae4;
}
.sc_intro .cra_timeline__note {
  position: relative;
  z-index: 0;
  padding: 1.6rem 1.75rem;
  color: #0289c7;
  line-height: 1.85;
  text-align: justify;
}
.sc_intro .cra_timeline__note::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #d3f3f5;
  border-radius: 0;
  z-index: -1;
}

.sc_audience .tit {
  text-align: center;
}

.audience_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  max-width: 58rem;
  margin: 0 auto;
}

.aud_card {
  position: relative;
  background: #dbf4ff;
  border-radius: 0;
  padding: 1.6rem 1.5rem 1.4rem;
  overflow: hidden;
}
.aud_card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3.4rem;
  height: 0.55rem;
  border-radius: 0;
  background: #00a0e9;
}
.aud_card__role {
  color: #0083bf;
  font-weight: 500;
  font-size: 1.35rem;
  line-height: 1.3;
  margin: 0.5rem 0 0.45rem;
}
.aud_card__desc {
  color: #727272;
  margin: 0;
  line-height: 1.6;
}

.aud_card:nth-child(2) {
  background: #d8ffef;
}
.aud_card:nth-child(2)::before {
  background: #64e6b0;
}
.aud_card:nth-child(2) .aud_card__role {
  color: #108253;
}

.aud_card:nth-child(3) {
  background: #e9fbcc;
}
.aud_card:nth-child(3)::before {
  background: #abed3e;
}
.aud_card:nth-child(3) .aud_card__role {
  color: #477005;
}

.aud_card:nth-child(4) {
  background: #e3eeff;
}
.aud_card:nth-child(4)::before {
  background: #0051d0;
}
.aud_card:nth-child(4) .aud_card__role {
  color: #0051d0;
}

.sc_highlights {
  padding-bottom: 0;
}
.sc_highlights .tit {
  text-align: center;
}

.highlight_block {
  position: relative;
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  margin-top: 2.5rem;
  padding: clamp(2.25rem, 5vw, 3.5rem) 0;
  background: linear-gradient(120deg, #009ce3 0%, #0bcef0 100%);
}
.highlight_block::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 100%;
  width: 33%;
  max-width: 18rem;
  height: 0.5rem;
  background: linear-gradient(90deg, #abed3e 0 61%, #13dad9 61% 100%);
}
.highlight_block::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 42%;
  max-width: 22rem;
  height: 0.5rem;
  background: linear-gradient(90deg, #13dad9 0 38%, #abed3e 38% 100%);
}

.highlight_list {
  list-style: none;
  margin: 0 auto;
  max-width: 62rem;
  padding: 0 clamp(1.5rem, 5vw, 3rem);
}

.highlight {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.15rem 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}
.highlight:last-child {
  border-bottom: none;
}
.highlight__num {
  flex: 0 0 3.5rem;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-style: italic;
  font-weight: 500;
  font-size: 4rem;
  line-height: 1;
  color: #fff;
  animation: num-pop 5s ease-in-out infinite;
  animation-play-state: paused;
}
.highlight__text {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.55;
}

.highlight_list .highlight:nth-child(1) .highlight__num {
  animation-delay: 0s;
}

.highlight_list .highlight:nth-child(2) .highlight__num {
  animation-delay: 1s;
}

.highlight_list .highlight:nth-child(3) .highlight__num {
  animation-delay: 2s;
}

.highlight_list .highlight:nth-child(4) .highlight__num {
  animation-delay: 3s;
}

.highlight_list .highlight:nth-child(5) .highlight__num {
  animation-delay: 4s;
}

.highlight_list.is-inview .highlight__num {
  animation-play-state: running;
}

.sc_agenda .tit {
  text-align: center;
}

.agenda_acc {
  max-width: 62rem;
  margin: 0 auto;
}

.agd_card {
  --agd: #00a0e9;
  --agd-d: #0083bf;
  --agd-cta: #abed3e;
  position: relative;
  margin-bottom: 2.75rem;
}
.agd_card--c1 {
  --agd: #8ecb29;
  --agd-d: #5f9900;
  --agd-cta: #00a0e9;
}
.agd_card--c2 {
  --agd: #11c67b;
  --agd-d: #108253;
  --agd-cta: #0051d0;
}
.agd_card--c3 {
  --agd: #4a8cf4;
  --agd-d: #0051d0;
  --agd-cta: #abed3e;
}
.agd_card__tab {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
  margin-bottom: -4px;
  background: var(--agd);
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 0.04em;
  font-size: 1.4rem;
  line-height: 1.2;
  text-align: center;
  padding: 0.6em 2.4em 0.65em;
  clip-path: polygon(0.7em 0, 100% 0, calc(100% - 0.7em) 100%, 0 100%);
}
.agd_card__inner {
  display: grid;
  grid-template-columns: 13rem 1fr;
  gap: 2rem;
  background: #ffffff;
  border-top: 4px solid var(--agd);
  filter: drop-shadow(0 0.5rem 1.1rem rgba(0, 131, 191, 0.22));
  padding: 1.75rem;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5rem), calc(100% - 5rem) 100%, 0 100%);
}
.agd_card__aside {
  display: flex;
  flex-direction: column;
}
.agd_card__photo {
  position: relative;
  width: 100%;
  aspect-ratio: 207/243;
  background: #d9d9d9;
  overflow: hidden;
}
.agd_card__photo img,
.agd_card__photo video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.agd_card__video {
  pointer-events: none;
}
.agd_card__spk-group {
  margin-top: 0.9rem;
  padding-left: 0.7rem;
  border-left: 3px solid var(--agd);
}
.agd_card__spk-label {
  display: block;
  margin: 0 0 0.35rem;
  color: var(--agd);
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 0.08em;
  font-size: 1.05rem;
}
.agd_card__spk {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.agd_card__spk b {
  color: #4e4e4e;
  font-size: 1.35rem;
  font-weight: 500;
}
.agd_card__spk span {
  color: #7a7a7a;
  font-size: 1rem;
}
.agd_card__main {
  display: flex;
  flex-direction: column;
}
.agd_card__subject {
  margin: 0 0 0.5rem;
  color: var(--agd-d);
  font-weight: 500;
  font-size: clamp(1.35rem, 2.4vw, 1.6rem);
  line-height: 1.3;
}
.agd_card__subtitle {
  color: var(--agd);
  font-weight: 500;
  font-size: 1.125rem;
  margin: 0 0 0.9rem;
}
.agd_card__desc {
  color: #4e4e4e;
  line-height: 1.9;
  text-align: justify;
  margin: 0 0 1rem;
}
.agd_card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  margin: 0 0 1.25rem;
}
.agd_card__tags .tag {
  color: var(--agd);
  font-weight: 500;
  font-size: 1rem;
}
.agd_card__cta {
  display: flex;
  justify-content: flex-start;
  margin-top: auto;
}
.agd_card .btn_watch {
  background: var(--agd);
}
.agd_card .btn_watch::before {
  background: var(--agd-cta);
}

.sc_gift {
  position: relative;
}
.sc_gift::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 55%;
  background: linear-gradient(115deg, #009ce3 0%, #0bc4ef 100%);
  z-index: 0;
}
.sc_gift .container {
  position: relative;
  z-index: 1;
}
.sc_gift .gift_cnt {
  align-items: start;
}
.sc_gift .gift-list {
  border: none;
  background: #ffffff;
  border-radius: 0.6rem;
  box-shadow: 0 -1px 6px #afe6ff;
  overflow: visible;
  padding: 0.6rem 1.25rem 1.25rem;
}
.sc_gift .gift-type {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: -1.6rem auto 0.9rem;
  position: relative;
  z-index: 1;
  background: linear-gradient(100deg, #00a0e9 0 50%, #8de200 100%);
  color: #fff;
  padding: 0.4em 2.1em 0.45em;
  font-size: 1.5rem;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.04em;
  text-align: center;
  clip-path: polygon(0.7em 0, 100% 0, calc(100% - 0.7em) 100%, 0 100%);
}
.sc_gift .gift-item {
  padding: 0.5rem 0.75rem 0.5rem;
}
.sc_gift .gift-item img {
  width: auto;
  max-height: 11rem;
  margin: 0 auto 0.75rem;
  border-radius: 0;
}
.sc_gift .gift-brand {
  color: #979797;
  font-weight: 400;
  font-size: 0.95rem;
  line-height: 1.3;
  margin: 0 0 0.15rem;
}
.sc_gift .gift-name {
  color: #009ce4;
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1.45;
}
.sc_gift .gift-num {
  color: #009ce4;
  font-weight: 500;
  font-size: 1.1rem;
  margin-top: 0.3rem;
}
.sc_gift .gift-text {
  color: #fff;
  text-align: center;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 1.25rem;
}

.sc_detail .detail_list li a {
  color: #00a0e9;
}
.sc_detail .detail_list li a:hover {
  color: #0083bf;
}
.sc_detail .policy_btn {
  color: #0289c7;
  border-color: rgba(0, 160, 233, 0.5);
}
.sc_detail .policy_btn:hover {
  color: #fff;
  background-color: #00a0e9;
  border-color: #00a0e9;
}

.g_header.is_active .js-nav-toggle span {
  background: #fff;
}

@media (max-width: 768px) {
  .audience_grid {
    grid-template-columns: 1fr;
  }
  .highlight {
    gap: 1rem;
  }
  .highlight__num {
    flex-basis: 1.8rem;
    font-size: 2rem;
  }
  .highlight__text {
    font-size: 1rem;
  }
  .sc_intro .cra_timeline {
    display: block;
  }
  .sc_intro .cra_timeline__head {
    position: relative;
    padding-left: 1.15rem;
    margin-bottom: 1.4rem;
  }
  .sc_intro .cra_timeline__head::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em;
    bottom: 0.9rem;
    width: 3px;
    background: #008ae4;
    transform: scaleY(0);
    transform-origin: top center;
    transition: transform 0.85s ease;
  }
  .sc_intro .cra_timeline__head::after {
    content: "";
    position: absolute;
    left: -2.5px;
    bottom: 0.5rem;
    width: 8px;
    height: 8px;
    background: #008ae4;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.3s ease 0.78s;
    animation: diamond-spin 4.5s linear infinite;
  }
  .sc_intro .cra_timeline.is-inview .cra_timeline__head::before {
    transform: scaleY(1);
  }
  .sc_intro .cra_timeline.is-inview .cra_timeline__head::after {
    opacity: 1;
  }
  .sc_intro .cra_timeline__label {
    padding-bottom: 0;
  }
  .sc_intro .cra_timeline__label::after, .sc_intro .cra_timeline__label::before {
    display: none;
  }
  .agd_card__inner {
    grid-template-columns: 1fr;
    gap: 1rem;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
  }
  .agd_card__photo {
    max-width: 14rem;
    margin: 0 auto;
    aspect-ratio: 207/243;
  }
  .agd_card__aside {
    align-items: center;
    text-align: center;
  }
  .agd_card__cta {
    justify-content: center;
  }
  .sc_gift .gift_cnt[data-gift-count="2"] .gift-col {
    flex: 1 1 100%;
    max-width: 22rem;
  }
  .sc_gift::after {
    height: 100%;
  }
  .sc_gift .tit {
    color: #fff;
  }
  .g_header .hd_nav {
    background: rgba(0, 131, 191, 0.98);
  }
  .g_header .hd_nav a {
    color: #fff;
  }
  .g_header .hd_nav a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
  }
}/*# sourceMappingURL=style.css.map */