@charset "UTF-8";
/* 基礎 ======================================= */
html {
  --embed-header-height: 46px;
  font-size: 15px;
}

html, body {
  width: 100%;
  overflow-x: hidden;
  color: #202020;
  font-family: "Noto Serif TC", serif;
  font-weight: 600;
  letter-spacing: 0.02rem;
  line-height: 1.5;
}

body {
  background: url(../images/bg.webp) center top no-repeat;
  background-size: 100% auto;
}

html.is-loading {
  background: #1c140f;
}

html.is-loading,
html.is-loading body {
  overflow: hidden;
}

html.is-pending-scroll body {
  visibility: hidden;
}

html.is-pending-scroll .page_loading {
  visibility: visible;
}

html.is-page-enter body {
  visibility: visible;
}

html.is-page-enter .wrapper > *:not(.page_menu):not(.header) {
  animation: pageEnter var(--page-enter-duration, 1.5s) cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

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

button {
  font: inherit;
  cursor: pointer;
}

.ff_name {
  white-space: nowrap;
  letter-spacing: normal;
}

.pc_none {
  display: none;
}

.wrapper {
  --header-height: calc(100vh - var(--embed-header-height));
}

.l__footer {
  background: transparent;
}

/* 頁面 loading ======================================= */
.page_loading {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  background: #fff;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.55s ease, visibility 0.55s ease;
}
.page_loading.is-out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.page_loading_stage {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1vw;
}
.page_loading_logo {
  width: auto;
  max-width: min(21vw, 180px);
  max-height: min(14vw, 100px);
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  animation: loadingFloat 3.2s ease-in-out infinite;
}
.page_loading_txt {
  margin: 0;
  color: #9a7a5c;
  font-size: clamp(14px, 1.35vw, 22px);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: lowercase;
}
.page_loading_txt span {
  display: inline-block;
  animation: loadingBounce 0.7s ease-in-out infinite;
}
.page_loading_txt span:nth-child(2) {
  animation-delay: 0.08s;
}
.page_loading_txt span:nth-child(3) {
  animation-delay: 0.16s;
}
.page_loading_txt span:nth-child(4) {
  animation-delay: 0.24s;
}
.page_loading_txt span:nth-child(5) {
  animation-delay: 0.32s;
}
.page_loading_txt span:nth-child(6) {
  animation-delay: 0.4s;
}
.page_loading_txt span:nth-child(7) {
  animation-delay: 0.48s;
}

@media (prefers-reduced-motion: reduce) {
  .page_loading {
    transition-duration: 0.2s;
  }
  .page_loading_txt span {
    animation: none;
  }
  .page_loading_logo {
    animation: none;
  }
}
/* 漢堡選單 ======================================= */
.page_menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  pointer-events: none;
}
.page_menu.is-visible .page_menu_toggle {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.page_menu.is-menu-open {
  pointer-events: auto;
}
.page_menu.is-menu-open::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(14, 10, 6, 0.4);
  z-index: 101;
}
.page_menu.is-menu-open .page_menu_list {
  transform: translateX(0);
  pointer-events: auto;
}
.page_menu.is-menu-open .page_menu_toggle {
  width: 4.68vw;
  height: 4.68vw;
  top: 2vw;
  right: 2vw;
}
.page_menu.is-menu-open .page_menu_toggle p {
  opacity: 0;
}
.page_menu.is-menu-open .page_menu_toggle span {
  opacity: 1;
}
.page_menu.is-menu-open .page_menu_toggle span:nth-of-type(1), .page_menu.is-menu-open .page_menu_toggle span:nth-of-type(2) {
  width: 1.6vw;
}
.page_menu.is-menu-open .page_menu_toggle span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(0) rotate(45deg);
}
.page_menu.is-menu-open .page_menu_toggle span:nth-of-type(2) {
  transform: translate(-50%, -50%) translateY(0) rotate(-45deg);
}
.page_menu .page_menu_toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 6.25vw;
  height: 6.25vw;
  min-width: 48px;
  min-height: 48px;
  position: fixed;
  top: 1.2vw;
  right: 1.2vw;
  z-index: 103;
  opacity: 0;
  visibility: hidden;
  padding: 0;
  border: 0;
  background: linear-gradient(to bottom, #a28163 0%, #846345 63%);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  cursor: pointer;
  transition: width 0.25s ease, height 0.25s ease, top 0.25s ease, right 0.25s ease, filter 0.25s ease;
  aspect-ratio: 1;
}
.page_menu .page_menu_toggle::before, .page_menu .page_menu_toggle::after {
  content: "";
  position: absolute;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  pointer-events: none;
}
.page_menu .page_menu_toggle::before {
  inset: 4px;
  background: rgba(243, 234, 220, 0.9);
}
.page_menu .page_menu_toggle::after {
  inset: 5.5px;
  background: linear-gradient(to bottom, #a28163 0%, #846345 63%);
}
.page_menu .page_menu_toggle p {
  position: relative;
  z-index: 1;
  margin: 0.5vw 0 0.7vw;
  font-size: 1vw;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  color: #ffffff;
  transition: opacity 0.2s ease;
}
.page_menu .page_menu_toggle span {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  display: block;
  height: 2px;
  background: #f8f3f6;
  opacity: 0.5;
  transition: transform 0.25s ease, width 0.25s ease, opacity 0.2s ease;
}
.page_menu .page_menu_toggle span:nth-of-type(1) {
  width: 1.3vw;
  transform: translate(-50%, -50%) translateY(1vw) rotate(0deg);
}
.page_menu .page_menu_toggle span:nth-of-type(2) {
  width: 0.67vw;
  transform: translate(-50%, -50%) translateY(1.35vw) rotate(0deg);
}
.page_menu .page_menu_toggle:hover {
  filter: brightness(1.1);
}
.page_menu .page_menu_list {
  position: fixed;
  top: 0;
  right: 0;
  width: 18vw;
  height: 100vh;
  margin: 0;
  padding: 9vw 0 0 0.78vw;
  gap: 1.7vw;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
  flex-wrap: nowrap;
  background: url(../images/menu_bg.webp) center repeat-x;
  background-size: auto 100%;
  transform: translateX(100%);
  transition: transform 0.35s ease;
  z-index: 102;
  pointer-events: none;
  overflow-y: auto;
}
.page_menu .page_menu_list::before {
  content: "";
  display: block;
  width: 1px;
  height: 100vh;
  background: #5f4834;
  position: absolute;
  top: 0;
}
.page_menu .page_menu_list::after {
  content: "";
  display: block;
  aspect-ratio: 38/107;
  width: 0.98vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/menu_shape.webp) center no-repeat;
  background-size: 100% auto;
  left: 0.3vw;
}
.page_menu .page_menu_list a {
  transition: all 0.3s;
}
.page_menu .page_menu_list a:hover {
  color: #bca48d;
}
.page_menu .page_menu_list a.active {
  color: #2b1b0d;
  background: linear-gradient(to right, #a8896b 0%, #bca48d 52%, #a8896b 100%);
}
.page_menu .page_menu_list a.active:hover {
  color: #2b1b0d;
}
.page_menu .page_menu_list > a,
.page_menu .page_menu_list > .menu_item > .page3_btn {
  display: block;
  width: 100%;
  font-size: 1.25vw;
  line-height: 2;
  cursor: pointer;
  color: #fff;
  padding-left: 2.6vw;
}
.page_menu .page_menu_list > a.comingsoon,
.page_menu .page_menu_list > .menu_item > .page3_btn.comingsoon {
  cursor: default;
  opacity: 0.3;
}
.page_menu .page_menu_list > a.active,
.page_menu .page_menu_list > .menu_item > .page3_btn.active {
  color: #2b1b0d;
  background: linear-gradient(to right, #a8896b 0%, #bca48d 52%, #a8896b 100%);
}
.page_menu .page_menu_list > a.active:hover,
.page_menu .page_menu_list > .menu_item > .page3_btn.active:hover {
  color: #2b1b0d;
}
.page_menu .page_menu_list > .menu_item {
  width: 100%;
}
.page_menu .page_menu_list > .menu_item .page3_btn {
  width: 100%;
}
.page_menu .page_menu_list > .menu_item .sub_menu {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  padding: 0 0 0 12px;
  transition: max-height 0.4s ease, opacity 0.28s ease, padding 0.35s ease;
}
.page_menu .page_menu_list > .menu_item .sub_menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 1vw 1vw 0;
  color: #fff;
  font-size: 0.98vw;
  font-weight: 700;
  white-space: nowrap;
}
.page_menu .page_menu_list > .menu_item .sub_menu a::before {
  content: "";
  width: 0.6vw;
  aspect-ratio: 10/10;
  background: url(../images/sub_menu_icon.png) center no-repeat;
  background-size: 100% auto;
  margin: 0 0.4vw 0 0.8vw;
}
.page_menu .page_menu_list > .menu_item .sub_menu a:hover, .page_menu .page_menu_list > .menu_item .sub_menu a.active {
  color: #bca48d;
}
.page_menu .page_menu_list > .menu_item .sub_menu a.active {
  color: #bca48d;
  background: none;
}
.page_menu .page_menu_list > .menu_item .sub_menu a.active:hover {
  color: #bca48d;
}
.page_menu .page_menu_list > .menu_item.is-open .sub_menu {
  max-height: 200px;
  opacity: 1;
  pointer-events: auto;
  padding: 0 0 8px 12px;
}

body.is-page-menu-open {
  overflow: hidden;
}

/* KV / 第一幕 ======================================= */
.header {
  width: 100%;
  height: calc(100vh - var(--embed-header-height));
  position: relative;
  perspective: 1600px;
}
.header .logo_1st {
  position: absolute;
  width: 18.5vw;
  bottom: 2vw;
  left: 4vw;
  z-index: 2;
}
.header .kv_con {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  transform-style: preserve-3d;
}
.header .kv_con img {
  width: 81.4vw;
  max-width: 90%;
  max-height: 92%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
  left: auto;
  margin-left: 10vw;
  top: auto;
  transform-origin: center center;
  will-change: transform;
  backface-visibility: hidden;
}
.header .header_menu {
  position: absolute;
  top: 1.5vw;
  right: 0;
  z-index: 4;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1vw;
  width: auto;
  min-width: 14.5vw;
  text-align: center;
}
.header .header_menu > a,
.header .header_menu > .menu_item {
  width: 100%;
  text-align: center;
}
.header .header_menu > a,
.header .header_menu > .menu_item > .page3_btn {
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  box-sizing: border-box;
  color: #5a4e44;
  font-size: 1.15vw;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
  padding: 0.5vw 0;
  padding-left: 1vw;
}
.header .header_menu > a::before,
.header .header_menu > .menu_item > .page3_btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgb(168, 137, 108) 30%, rgb(165, 133, 103) 31%);
  transform: scaleX(0);
  transform-origin: right center;
  opacity: 0;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
  pointer-events: none;
}
.header .header_menu > a:hover, .header .header_menu > a.active,
.header .header_menu > .menu_item > .page3_btn:hover,
.header .header_menu > .menu_item > .page3_btn.active {
  color: #fff;
}
.header .header_menu > a:hover::before, .header .header_menu > a.active::before,
.header .header_menu > .menu_item > .page3_btn:hover::before,
.header .header_menu > .menu_item > .page3_btn.active::before {
  transform: scaleX(1);
  opacity: 1;
}
.header .header_menu > a.comingsoon,
.header .header_menu > .menu_item > .page3_btn.comingsoon {
  cursor: default;
  opacity: 0.55;
}
.header .header_menu > a.comingsoon:hover,
.header .header_menu > .menu_item > .page3_btn.comingsoon:hover {
  color: #5a4e44;
}
.header .header_menu > a.comingsoon::before,
.header .header_menu > .menu_item > .page3_btn.comingsoon::before {
  display: none;
}
.header .header_menu > .menu_item {
  position: relative;
}
.header .header_menu > .menu_item:hover > .page3_btn:not(.comingsoon), .header .header_menu > .menu_item.is-open > .page3_btn:not(.comingsoon) {
  color: #fff;
}
.header .header_menu > .menu_item:hover > .page3_btn:not(.comingsoon)::before, .header .header_menu > .menu_item.is-open > .page3_btn:not(.comingsoon)::before {
  transform: scaleX(1);
  opacity: 1;
}
.header .header_menu > .menu_item .sub_menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  padding: 0;
  transition: max-height 0.4s ease, opacity 0.28s ease, padding 0.35s ease;
}
.header .header_menu > .menu_item .sub_menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 1vw 1vw 0;
  color: #997452;
  font-size: 0.98vw;
  font-weight: 700;
  white-space: nowrap;
  position: relative;
}
.header .header_menu > .menu_item .sub_menu a::before {
  content: "";
  width: 0.6vw;
  aspect-ratio: 10/10;
  background: url(../images/sub_menu_icon.png) center no-repeat;
  background-size: 100% auto;
  margin: 0 0.4vw 0 0.8vw;
}
.header .header_menu > .menu_item .sub_menu a:hover, .header .header_menu > .menu_item .sub_menu a.active {
  color: #be8753;
}
.header .header_menu > .menu_item.is-open .sub_menu {
  max-height: 200px;
  opacity: 1;
  pointer-events: auto;
  padding: 0.15vw 0 0.35vw;
}

@media (hover: hover) and (pointer: fine) {
  .header .header_menu > .menu_item:hover .sub_menu,
  .page_menu .page_menu_list > .menu_item:hover .sub_menu {
    max-height: 200px;
    opacity: 1;
    pointer-events: auto;
  }
  .header .header_menu > .menu_item:hover .sub_menu {
    padding: 0.15vw 0 0.35vw;
  }
  .page_menu .page_menu_list > .menu_item:hover .sub_menu {
    padding: 0 0 8px 12px;
  }
}
.kv_line {
  width: 92%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  height: 2.18vw;
  margin-top: 1vw;
}
.kv_line::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #ccb9a9;
}
.kv_line::after {
  content: "";
  display: block;
  width: 5.98vw;
  aspect-ratio: 229/81;
  background: url(../images/kv_line.png) center no-repeat;
  background-size: 100% auto;
  position: absolute;
}

/* 區塊共用 ======================================= */
section {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
  position: relative;
}

.title_con {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.title_con img {
  width: auto;
  height: 3.6vw;
}

.char_con {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.char_con img {
  position: absolute;
}

[data-parallax] {
  will-change: transform;
}

/* 活動總覽 ======================================= */
.index_con {
  width: 100%;
  margin-bottom: -1px;
  background: url(../images/index/bo_bg.webp) bottom center no-repeat;
  background-size: 100% auto;
}
.index_con .title_con img {
  height: 6.45vw;
}
.index_con .info_con {
  width: 100%;
  padding: 4vw 0 5vw;
  overflow: visible;
}

.event_slider {
  position: relative;
  width: 100%;
  padding-top: 6.5vw;
  --event-slide: 62%;
}

.event_swiper {
  width: 100%;
  overflow: visible;
  position: relative;
}
.event_swiper .swiper-wrapper {
  align-items: center;
  overflow: visible;
}
.event_swiper.swiper,
.event_swiper .swiper-slide {
  overflow: visible;
}

.event.swiper-slide {
  height: auto;
  overflow: visible;
  box-sizing: border-box;
  cursor: pointer;
  transform: scale(0.82);
  transform-origin: center center;
  transition: transform 0.45s ease;
}
.event.swiper-slide.swiper-slide-prev {
  transform: translateX(5%) scale(0.82);
}
.event.swiper-slide.swiper-slide-next {
  transform: translateX(-5%) scale(0.82);
}
.event.swiper-slide .event_info_btn {
  pointer-events: none;
}
.event.swiper-slide.swiper-slide-active {
  cursor: default;
  z-index: 2;
  transform: scale(1) translateX(0);
}
.event.swiper-slide.swiper-slide-active .event_info_btn {
  pointer-events: auto;
}
.event.swiper-slide.swiper-slide-active .event_info_btn.comingsoon {
  pointer-events: none;
}
.event.swiper-slide .event_card {
  position: relative;
  overflow: visible;
}
.event.swiper-slide .event_card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background: #f3efe8;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s ease;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.event.swiper-slide .event_card .event_frame {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  aspect-ratio: 1149/449;
  overflow: hidden;
}
.event.swiper-slide .event_card .event_body {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 15;
  width: 52%;
  height: 100%;
  padding-left: 5vw;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1.2vw;
}
.event.swiper-slide .event_card .event_body h3 {
  font-size: 2.1vw;
  font-weight: 700;
  color: #846345;
  line-height: 1.25;
  margin-bottom: 0.15vw;
}
.event.swiper-slide .event_card .event_body h5 {
  font-size: 1.2vw;
  font-weight: 600;
  color: #846345;
}
.event.swiper-slide .event_card .event_body p {
  font-size: 0.94vw;
  color: #202020;
  line-height: 1.7;
}
.event.swiper-slide .event_card .event_body .event_info_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-width: 7.05vw;
  height: 2.3vw;
  margin-top: 0.2vw;
  padding: 0 0.7vw;
  line-height: 1.01;
  background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 8%, #b39070 8%, #967352 90%);
  background-repeat: no-repeat;
  background-position: left center, left center;
  background-size: 0 100%, 100% 100%;
  transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  border: 1px solid #fff;
  outline: 1px solid #967352;
  color: #fff;
  font-size: 1vw;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.event.swiper-slide .event_card .event_body .event_info_btn:hover {
  background-size: 100% 100%, 100% 100%;
}
.event.swiper-slide .event_card .event_char {
  position: absolute;
  right: 0.46vw;
  bottom: 0.46vw;
  z-index: 6;
  pointer-events: none;
}
.event.swiper-slide .event_card .event_char::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #f3efe8;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s ease;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center bottom;
  mask-position: center bottom;
}
.event.swiper-slide .event_card .event_char img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 0;
}
.event.swiper-slide:not(.swiper-slide-active) .event_card::after,
.event.swiper-slide:not(.swiper-slide-active) .event_char::after {
  opacity: 0.5;
}
.event.swiper-slide:not(.swiper-slide-active) .event_frame,
.event.swiper-slide:not(.swiper-slide-active) .event_char,
.event.swiper-slide:not(.swiper-slide-active) .event_body {
  filter: brightness(1.15) grayscale(0.1);
}
.event.swiper-slide.event01 .event_card::after {
  -webkit-mask-image: url(../images/index/event_bg_01.webp);
  mask-image: url(../images/index/event_bg_01.webp);
}
.event.swiper-slide.event01 .event_card .event_frame {
  background: url(../images/index/event_bg_01.webp) center no-repeat;
  background-size: 100% auto;
}
.event.swiper-slide.event01 .event_card .event_char {
  width: 27.65vw;
}
.event.swiper-slide.event01 .event_card .event_char::after {
  -webkit-mask-image: url(../images/index/event_char_01.webp);
  mask-image: url(../images/index/event_char_01.webp);
}
.event.swiper-slide.event02 .event_card::after {
  -webkit-mask-image: url(../images/index/event_bg_02.webp);
  mask-image: url(../images/index/event_bg_02.webp);
}
.event.swiper-slide.event02 .event_card .event_frame {
  background: url(../images/index/event_bg_02.webp) center no-repeat;
  background-size: 100% auto;
}
.event.swiper-slide.event02 .event_card .event_char {
  width: 36vw;
  right: -3.8vw;
}
.event.swiper-slide.event02 .event_card .event_char::after {
  -webkit-mask-image: url(../images/index/event_char_02.webp);
  mask-image: url(../images/index/event_char_02.webp);
}
.event.swiper-slide.event03 .event_card::after {
  -webkit-mask-image: url(../images/index/event_bg_03.webp);
  mask-image: url(../images/index/event_bg_03.webp);
}
.event.swiper-slide.event03 .event_card .event_frame {
  background: url(../images/index/event_bg_03.webp) center no-repeat;
  background-size: 100% auto;
}
.event.swiper-slide.event03 .event_card .event_char {
  width: 34.15vw;
}
.event.swiper-slide.event03 .event_card .event_char::after {
  -webkit-mask-image: url(../images/index/event_char_03.webp);
  mask-image: url(../images/index/event_char_03.webp);
}
.event.swiper-slide.event04 .event_card::after {
  -webkit-mask-image: url(../images/index/event_bg_04.webp);
  mask-image: url(../images/index/event_bg_04.webp);
}
.event.swiper-slide.event04 .event_card .event_frame {
  background: url(../images/index/event_bg_04.webp) center no-repeat;
  background-size: 100% auto;
}
.event.swiper-slide.event04 .event_card .event_char {
  width: 28vw;
}
.event.swiper-slide.event04 .event_card .event_char::after {
  -webkit-mask-image: url(../images/index/event_char_04.webp);
  mask-image: url(../images/index/event_char_04.webp);
}
.event.swiper-slide.event05 .event_card::after {
  -webkit-mask-image: url(../images/index/event_bg_05.webp);
  mask-image: url(../images/index/event_bg_05.webp);
}
.event.swiper-slide.event05 .event_card .event_frame {
  background: url(../images/index/event_bg_05.webp) center no-repeat;
  background-size: 100% auto;
}
.event.swiper-slide.event05 .event_card .event_char {
  width: 36.8vw;
  right: 1.04vw;
}
.event.swiper-slide.event05 .event_card .event_char::after {
  -webkit-mask-image: url(../images/index/event_char_05.webp);
  mask-image: url(../images/index/event_char_05.webp);
}

@media (min-width: 641px) {
  .event.swiper-slide .event_card::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/index/event_frame_pad.webp) center no-repeat;
    background-size: 100% auto;
    position: absolute;
    inset: 0;
    z-index: 10;
  }
}
@media (min-width: 1001px) {
  .event.swiper-slide .event_card::before {
    background-image: url(../images/index/event_frame.webp);
  }
}

.event_nav {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 3.3vw;
  height: 3.3vw;
  transform: translateY(-50%);
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(to right, #b39070 8%, #b39070 8%, #967352 90%);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0;
  transition: all 0.3s;
}
.event_nav::before {
  content: "";
  display: block;
  aspect-ratio: 35/57;
  background: url(../images/index/arrow.png) center no-repeat;
  background-size: 100% auto;
  width: 0.93vw;
}
.event_nav:hover {
  filter: brightness(1.1);
}

.event_nav_prev {
  left: 15%;
}
.event_nav_prev::before {
  transform: rotate(-180deg);
}

.event_nav_next {
  right: 15%;
}

.event_dots {
  position: relative;
  bottom: auto;
  left: auto;
  width: 100%;
  z-index: 6;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.2vw;
  margin-top: 2.2vw;
}
.event_dots .swiper-pagination-bullet {
  cursor: pointer;
  width: 0.78vw;
  height: 0.78vw;
  margin: 0;
  border-radius: 0;
  background: #a78b7f;
  transform: rotate(45deg);
}
.event_dots .swiper-pagination-bullet-active {
  background: linear-gradient(to bottom, #b39070 8%, #b39070 8%, #967352 90%);
}

/* 交通切換共用 ======================================= */
.transit_con {
  width: 72.4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 2vw;
  margin-top: 3.5vw;
}
.transit_con .transit_switch {
  margin: 1vw 0 7vw;
  width: 100%;
  position: relative;
}
.transit_con .transit_switch .transit_tabs {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 2.6vw;
  margin-bottom: 1.56vw;
}
.transit_con .transit_switch .transit_tabs .transit_tab {
  position: relative;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1.2vw;
  height: 9.68vw;
  margin: 0;
  border: 1px solid #9c7b54;
  background-color: #fcfcfb;
  background-image: linear-gradient(to right, #967352 5%, #b39070 91%);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0 100%;
  overflow: hidden;
  min-width: 0;
  font-size: 1.32vw;
  line-height: 1.01vw;
  cursor: pointer;
  letter-spacing: 0.4vw;
  transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.25s ease;
}
.transit_con .transit_switch .transit_tabs .transit_tab.lss {
  letter-spacing: 0.1vw;
}
.transit_con .transit_switch .transit_tabs .transit_tab .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 4vw;
  height: 4vw;
  transition: filter 0.25s ease;
}
.transit_con .transit_switch .transit_tabs .transit_tab .icon img {
  width: 90%;
  height: 90%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.transit_con .transit_switch .transit_tabs .transit_tab::before, .transit_con .transit_switch .transit_tabs .transit_tab::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 1;
}
.transit_con .transit_switch .transit_tabs .transit_tab::before {
  inset: 0.45vw;
  background-image: linear-gradient(#fff, #fff), linear-gradient(#fff, #fff), linear-gradient(#fff, #fff), linear-gradient(#fff, #fff);
  background-repeat: no-repeat;
  background-position: left top, right bottom, left top, right bottom;
  background-size: 0 1px, 0 1px, 1px 0, 1px 0;
  transition: background-size 0.45s ease;
}
.transit_con .transit_switch .transit_tabs .transit_tab::after {
  inset: 0.25vw;
  opacity: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6'%3E%3Cpath fill='%23fff' d='M3 0L6 3L3 6L0 3z'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6'%3E%3Cpath fill='%23fff' d='M3 0L6 3L3 6L0 3z'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6'%3E%3Cpath fill='%23fff' d='M3 0L6 3L3 6L0 3z'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6'%3E%3Cpath fill='%23fff' d='M3 0L6 3L3 6L0 3z'/%3E%3C/svg%3E");
  background-size: 0.55vw 0.55vw;
  background-repeat: no-repeat;
  background-position: top left, top right, bottom left, bottom right;
  transition: opacity 0.8s ease;
}
.transit_con .transit_switch .transit_tabs .transit_tab.is-active, .transit_con .transit_switch .transit_tabs .transit_tab:hover {
  background-size: 100% 100%;
  color: #fff;
}
.transit_con .transit_switch .transit_tabs .transit_tab.is-active .icon, .transit_con .transit_switch .transit_tabs .transit_tab:hover .icon {
  filter: brightness(10);
}
.transit_con .transit_switch .transit_tabs .transit_tab.is-active::before {
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px 100%;
}
.transit_con .transit_switch .transit_tabs .transit_tab.is-active::after {
  opacity: 1;
}
.transit_con .transit_switch .transit_panels {
  width: 100%;
  border: 2.34vw solid transparent;
  border-image-source: url("../images/page1/transit_frame.png");
  border-image-slice: 60;
  border-image-repeat: stretch;
  border-image-width: 2.5vw;
  border-image-outset: 0;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae {
  background: #f5f5f5;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel {
  display: none;
  font-size: 1.15vw;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel.is-active {
  display: block;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li, .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel > p {
  padding: 1vw 2.5vw;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li + li, .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel > p + li {
  border-top: 2px solid rgba(177, 145, 116, 0.5);
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li span, .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel > p span {
  color: #977453;
  font-weight: 700;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li small, .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel > p small {
  font-size: 1vw;
  display: block;
  font-weight: 400;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel > p {
  line-height: 2;
  padding: 2vw 2.5vw;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li.bus {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li.bus h6 {
  margin-left: 0.7vw;
}
.transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li.bus h6 + h6 {
  border-top: 2px dotted rgba(177, 145, 116, 0.5);
  padding-top: 0.5vw;
  margin-top: 0.5vw;
}
.transit_con .transit_switch .transit_map_btn {
  position: absolute;
  right: 3.12vw;
  bottom: -1vw;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.8vw;
  width: 7.7vw;
  height: 2.5vw;
  overflow: hidden;
  background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 10%, #967352 91%);
  background-repeat: no-repeat;
  background-position: left center, left center;
  background-size: 0 100%, 100% 100%;
  transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer;
  color: #fff;
  font-size: 1.25vw;
}
.transit_con .transit_switch .transit_map_btn img {
  width: 14.8%;
  position: relative;
  z-index: 1;
  transition: all 0.45s;
}
.transit_con .transit_switch .transit_map_btn span {
  position: relative;
  z-index: 1;
}
.transit_con .transit_switch .transit_map_btn:hover {
  background-size: 100% 100%, 100% 100%;
}
.transit_con .transit_switch .transit_map_btn:hover img {
  filter: brightness(10);
}

/* 文字資訊共用 ======================================= */
.info_txt {
  width: 67.7vw;
  margin: 4.1vw 0 3vw;
}
.info_txt .item {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 1vw 0;
}
.info_txt .item h6 {
  flex-shrink: 0;
  font-size: 1.3vw;
  min-width: 9vw;
  margin-right: 2vw;
  letter-spacing: 0.1vw;
  text-align: right;
}
.info_txt .item p, .info_txt .item li {
  min-width: 0;
  font-size: 1.3vw;
  letter-spacing: 0.1vw;
}
.info_txt .item p small, .info_txt .item li small {
  color: #b19174;
  display: block;
  font-size: 0.95vw;
}
.info_txt .item + .item {
  border-top: 2px solid rgba(177, 145, 116, 0.3);
}

.register_btn, .register_btn2, .register_btn3 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
  width: 17vw;
  height: 4.53vw;
  background-image: linear-gradient(#6d0009, #6d0009), linear-gradient(to right, #a7323c 0%, #861a23 100%);
  background-repeat: no-repeat;
  background-position: left center, left center;
  background-size: 0 100%, 100% 100%;
  transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  border: 2px solid #fff;
  outline: 1px solid #881f28;
  color: #fff;
  font-size: 1.67vw;
  letter-spacing: 0.18vw;
  font-weight: 700;
}
.register_btn:hover, .register_btn2:hover, .register_btn3:hover {
  background-size: 100% 100%, 100% 100%;
}
.register_btn.disabled, .register_btn2.disabled, .register_btn3.disabled {
  filter: grayscale(100);
  opacity: 0.6;
}

.register_btn2 {
  background-image: linear-gradient(#502424, #502424), linear-gradient(to right, #703332 0%, #a24644 100%);
}

.register_btn3 {
  border: 2px solid #20140f;
}

/* 週年展 ======================================= */
.page1 {
  padding-top: 4vw;
  width: 100%;
  background: url(../images/page1/s1_bg.webp) center top no-repeat;
  background-size: 100% auto;
}
.page1 .page1_s1 {
  position: relative;
  z-index: 2;
}
.page1 .page1_s1 .top_info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
}
.page1 .page1_s1 .top_info .char_con img {
  width: 25.1vw;
  right: -6.77vw;
  top: -1vw;
}
.page1 .page1_s2 {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 1.1vw;
}
.page1 .page1_s2 h4 {
  text-align: center;
  color: #8b6a4c;
  margin-top: 2.1vw;
  font-size: 0.9vw;
}
.page1 .page1_s2 .gift_con {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4.68vw;
  margin: 0.93vw 0;
}
.page1 .page1_s2 .gift_con .gift_frame {
  width: 33.8vw;
}
.page1 .page1_s2 .gift_con .gift_frame::after {
  content: "";
  display: block;
  background: url(../images/page1/s3_frame_03.webp) center bottom repeat-y;
  background-size: 100% auto;
  aspect-ratio: 1014/38;
}
.page1 .page1_s2 .gift_con .gift_frame h5 {
  background: url(../images/page1/s3_frame_01.webp) center top repeat-y;
  background-size: 100% auto;
  padding-top: 2.8vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 1.5vw;
  color: #b19174;
  font-weight: 700;
  letter-spacing: 0.4vw;
  padding-left: 0.8vw;
}
.page1 .page1_s2 .gift_con .gift_frame .gift_item {
  background: url(../images/page1/s3_frame_02.webp) center repeat-y;
  background-size: 100% auto;
  padding-top: 1vw;
  min-height: 17vw;
}
.page1 .page1_s2 .gift_con .gift_frame .gift_item::before {
  content: "";
  display: block;
  aspect-ratio: 553/22;
  background: url(../images/page1/s3_line.webp) center no-repeat;
  background-size: 100% auto;
  width: 28.8vw;
  margin: 0 auto;
  margin-bottom: 0.5vw;
}
.page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.15vw;
}
.page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit .pic_con {
  width: 4.5vw;
}
.page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit h4 {
  font-size: 2vw;
  color: #8b6a4c;
  font-weight: 700;
  letter-spacing: 0.15vw;
}
.page1 .page1_s2 .gift_con .gift_frame .gift_item > p {
  font-family: "Noto Sans TC", sans-serif;
  padding-top: 1.56vw;
  font-weight: 500;
  width: 74%;
  margin: 0 auto;
  font-size: 1.05vw;
  line-height: 1.8;
  color: #3b3b3b;
}
.page1 .page1_s3 {
  width: 100%;
  min-height: 136.45vw;
  height: auto;
  background: url(../images/page1/s2_bg.webp) center no-repeat;
  background-size: 100% 100%;
  padding-top: 24vw;
  padding-bottom: 5vw;
  margin-top: -18vw;
}
.page1 .page1_s3 .s3_top_con {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
}
.page1 .page1_s3 .s3_top_con .txt_con {
  color: #fff;
  font-weight: 500;
  font-size: 1.25vw;
  text-align: center;
  line-height: 1.8;
  margin: 3.3vw 0;
  text-align: center;
}
.page1 .page1_s3 .s3_top_con .sale_con {
  width: 72.34vw;
  gap: 1.7vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  border: 2.34vw solid transparent;
  border-image-source: url(../images/page1/s3_frame.webp);
  border-image-slice: 60;
  border-image-repeat: stretch;
  border-image-width: 2.5vw;
  border-image-outset: 0;
  background: url(../images/page1/s3_top_bg.jpg) repeat;
  margin-bottom: 2.86vw;
}
.page1 .page1_s3 .s3_top_con .sale_con .list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.5vw;
  width: 100%;
}
.page1 .page1_s3 .s3_top_con .sale_con .list + .list {
  border-top: 1px solid #b19174;
  padding-top: 1.7vw;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_tt {
  width: 13vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_tt h6 {
  color: #ebdfd5;
  font-size: 1.67vw;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_tt p {
  color: #ab8b6f;
  font-size: 0.94vw;
  margin-top: 0.5vw;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_word {
  font-family: "Noto Sans TC", sans-serif;
  width: 32vw;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_word p {
  color: rgb(224, 202, 182);
  font-size: 1.24vw;
  font-weight: 400;
  line-height: 1.7;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_word p span {
  display: block;
  margin-top: 0.6vw;
  color: rgba(224, 202, 182, 0.7);
  font-size: 0.94vw;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming {
  width: 12.65vw;
  height: 5.36vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.6vw;
  background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 10%, #967352 91%);
  background-repeat: no-repeat;
  background-position: left center, left center;
  background-size: 0 100%, 100% 100%;
  transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer;
  position: relative;
  font-family: "Noto Sans TC", sans-serif;
  color: #1d120e;
  transition: all 0.45s;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn p, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming p {
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 1.24vw;
  transition: all 0.45s;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn img, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming img {
  position: relative;
  z-index: 1;
  transition: all 0.45s;
  width: 1.82vw;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn small, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming small {
  position: absolute;
  z-index: 2;
  bottom: -0.8vw;
  color: #e2cbb7;
  font-size: 0.8vw;
  background: #836244;
  border-radius: 100px;
  padding: 0.15vw 1vw;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn:hover, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming:hover {
  background-size: 100% 100%, 100% 100%;
  color: #fff;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn:hover img, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming:hover img {
  filter: brightness(10);
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming {
  filter: grayscale(10);
  cursor: default;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming:hover {
  background-size: 0 100%, 100% 100%;
  color: #1d120e;
}
.page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming:hover img {
  filter: brightness(1);
}
.page1 .page1_s3 .s3_top_con .register_btn3 {
  position: relative;
  overflow: visible;
  width: 23vw;
  height: 7.5vw;
  margin-top: 1vw;
}
.page1 .page1_s3 .s3_top_con .register_btn3 img {
  width: 7.8vw;
  position: absolute;
  top: -2.1vw;
  left: 1.4vw;
  animation: fly 2.5s infinite alternate-reverse;
}
.page1 .page1_s3 .s3_top_con .register_btn3 p {
  font-size: 2.3vw;
  line-height: 1.1;
  margin-left: 5vw;
}
.page1 .page1_s3 .s3_top_con .register_btn3 p span {
  display: block;
  font-size: 1.8vw;
  margin-top: 0.4vw;
}
.page1 .page1_s3 .s3_bottom_con {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  margin-top: 8.5vw;
}
.page1 .page1_s3 .s3_bottom_con .char_con .s2_pic01 {
  width: 16.87vw;
  top: 21.87vw;
  left: 74.89vw;
}
.page1 .page1_s3 .s3_bottom_con .char_con .s2_pic02 {
  width: 17.7vw;
  top: 3.95vw;
  left: 9.89vw;
}
.page1 .page1_s3 .s3_bottom_con .char_con .s2_pic03 {
  width: 11.77vw;
  top: 28vw;
  left: 14.89vw;
}
.page1 .page1_s3 .s3_bottom_con .char_con .s2_pic04 {
  width: 13.48vw;
  top: 7.6vw;
  left: 74.2vw;
}
.page1 .page1_s3 .s3_bottom_con .txt_con {
  color: #fff;
  font-weight: 500;
  font-size: 1.25vw;
  text-align: center;
  line-height: 1.8;
  margin: 3.3vw 0;
  text-align: center;
}
.page1 .page1_s3 .s3_bottom_con .card_con h5 {
  text-align: center;
  color: #a78362;
  font-size: 1.56vw;
  font-weight: 700;
  letter-spacing: 0.18vw;
  margin-bottom: 1.5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.83vw;
}
.page1 .page1_s3 .s3_bottom_con .card_con h5::before, .page1 .page1_s3 .s3_bottom_con .card_con h5::after {
  content: "";
  display: block;
  aspect-ratio: 10/10;
  width: 0.72vw;
  background: url(../images/page1/card_tt_icon.png) center;
  background-size: 100% auto;
}
.page1 .page1_s3 .s3_bottom_con .card_con .coming_txt {
  color: #4c341e;
  font-size: 3.65vw;
  font-weight: 700;
  letter-spacing: 0.2vw;
}
.page1 .page1_s3 .s3_bottom_con .card_con .card_slide .card_slide_main {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.8vw;
}
.page1 .page1_s3 .s3_bottom_con .card_con .card_slide .card_item {
  width: 16.35vw;
}
.page1 .page1_s3.coming {
  background: url(../images/page1/s2_bg_coming.webp) center no-repeat;
  background-size: 100% 100%;
  min-height: 128vw;
}
.page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic01 {
  width: 16.87vw;
  top: 15.62vw;
  left: 74.89vw;
}
.page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic02 {
  width: 17.7vw;
  top: -2.7vw;
  left: 9.89vw;
}
.page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic03 {
  width: 11.77vw;
  top: 21.61vw;
  left: 16.25vw;
}
.page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic04 {
  width: 13.48vw;
  top: -2vw;
  left: 73.69vw;
}
.page1 .page1_s5 {
  margin-top: 1.5vw;
  width: 100%;
  position: relative;
  z-index: 1;
  perspective: 1600px;
}
.page1 .page1_s5 .char_con img {
  width: 77.6vw;
  top: -1vw;
  left: 15.6vw;
}
.page1 .page1_s5 .main_map {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: column;
  flex-wrap: wrap;
  width: 73vw;
  margin: 4vw auto 2vw;
  z-index: 1;
  position: relative;
}
.page1 .page1_s5 .main_map .map_zoom_btn {
  display: none;
}
.page1 .page1_s5 .main_map small {
  color: #6d4b2c;
  font-size: 0.75vw;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  margin-top: 0.8vw;
}

/* 相遇阿爾法・音浪塔 ======================================= */
.page2 {
  padding-top: 4vw;
  position: relative;
  width: 100%;
  background: url(../images/page2/s1_bg.webp) center top no-repeat;
  background-size: 100% auto;
  z-index: 2;
}
.page2 .top_info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
}
.page2 .top_info .char_con img {
  width: 14.16vw;
  right: -3vw;
  top: -0.8vw;
}
.page2 .info_txt {
  margin-bottom: 0;
}
.page2 .page2_event01 {
  position: relative;
  z-index: 3;
  margin-top: 3vw;
}
.page2 .page2_event01 .title_con img {
  height: 7.7vw;
}
.page2 .page2_event01 .info_con {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  gap: 6.5vw;
  margin-top: 3.6vw;
  margin-left: 1.8vw;
}
.page2 .page2_event01 .info_con .pic_con {
  width: 16vw;
}
.page2 .page2_event01 .info_con .txt_con {
  width: 50vw;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.3vw;
}
.page2 .page2_event01 .info_con .txt_con::after {
  content: "";
  position: absolute;
  display: block;
  aspect-ratio: 37/774;
  background: url(../images/page2/s3_line.webp) center no-repeat;
  background-size: 100% auto;
  width: 1.3vw;
  left: -3.5vw;
  top: 0.15vw;
}
.page2 .page2_event01 .info_con .txt_con h6 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  color: #725132;
  font-size: 1.38vw;
  position: relative;
  padding-left: 7.6vw;
  font-weight: 700;
}
.page2 .page2_event01 .info_con .txt_con h6::before {
  content: "";
  display: block;
  width: 4.01vw;
  aspect-ratio: 241/240;
  background: url(../images/page2/qr_icon.webp) center no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 2.6vw;
}
.page2 .page2_event01 .info_con .txt_con ol {
  width: 45.31vw;
}
.page2 .page2_event01 .info_con .txt_con ol li {
  padding: 0.5vw 2.6vw;
  font-size: 1.1vw;
}
.page2 .page2_event01 .info_con .txt_con ol li span {
  color: #c27200;
  font-weight: 700;
}
.page2 .page2_event01 .info_con .txt_con ol li + li {
  border-top: 1px solid rgba(177, 145, 116, 0.3);
}
.page2 .page2_event01 .info_con .txt_con .notice_con {
  width: 100%;
  color: #977453;
  padding-left: 2.6vw;
  font-size: 0.83vw;
  line-height: 1.8;
}
.page2 .page2_event01 .info_con .txt_con .list_btn, .page2 .page2_event01 .info_con .txt_con .list_btn_coming {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 0.5vw;
  width: auto;
  height: auto;
  gap: 1vw;
  margin-left: 2.6vw;
  background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 10%, #967352 91%);
  background-repeat: no-repeat;
  background-position: left center, left center;
  background-size: 0 100%, 100% 100%;
  transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer;
  font-size: 1.5vw;
  color: #fff;
  padding: 1.1vw 2.5vw;
  position: relative;
  text-align: center;
}
.page2 .page2_event01 .info_con .txt_con .list_btn img, .page2 .page2_event01 .info_con .txt_con .list_btn_coming img {
  width: 1.6vw;
  filter: brightness(100);
}
.page2 .page2_event01 .info_con .txt_con .list_btn small, .page2 .page2_event01 .info_con .txt_con .list_btn_coming small {
  position: absolute;
  font-size: 0.6vw;
  bottom: -0.5vw;
  font-weight: 400;
  letter-spacing: 0.1vw;
  padding: 0.2vw 0.9vw;
  background: #8a735d;
  font-family: "Noto Sans TC", sans-serif;
  border-radius: 100px;
  color: rgba(255, 255, 255, 0.7);
}
.page2 .page2_event01 .info_con .txt_con .list_btn:hover, .page2 .page2_event01 .info_con .txt_con .list_btn_coming:hover {
  background-size: 100% 100%, 100% 100%;
}
.page2 .page2_event01 .info_con .txt_con .list_btn_coming {
  filter: grayscale(10);
  cursor: default;
}
.page2 .page2_event01 .info_con .txt_con .list_btn_coming:hover {
  background-size: 0 100%, 100% 100%;
}
.page2 .page2_event01 .list_con {
  width: 72.39vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
}
.page2 .page2_event01 .list_con .txt_con {
  padding: 1.5vw;
}
.page2 .page2_event01 .list_con .txt_con p {
  color: #5f4834;
  font-size: 1.25vw;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  letter-spacing: 0.1vw;
}
.page2 .page2_event01 .list_con .txt_con p::before, .page2 .page2_event01 .list_con .txt_con p::after {
  content: "";
  display: block;
  background: #a1866e;
  width: 0.57vw;
  aspect-ratio: 10/10;
  transform: rotate(45deg);
  margin: 0 0.6vw;
}
.page2 .page2_event01 .list_con .txt_con p span {
  color: #a02f38;
}
.page2 .page2_event01 .list_con .table {
  width: 100%;
}
.page2 .page2_event01 .list_con .table .table_title {
  aspect-ratio: 1389/72;
  width: 100%;
  background: url(../images/page2/event01_frame_01.webp) center bottom no-repeat;
  background-size: 100% auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  color: #fff;
}
.page2 .page2_event01 .list_con .table .table_title .area_title {
  width: 45%;
}
.page2 .page2_event01 .list_con .table .table_con {
  width: 100%;
  background: url(../images/page2/event01_frame_02.webp) center bottom no-repeat;
  background-size: 100% 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 0.3vw;
}
.page2 .page2_event01 .list_con .table .table_con::after {
  content: "";
  display: block;
  aspect-ratio: 1389/22;
  width: 100%;
  background: url(../images/page2/event01_frame_03.webp) center bottom no-repeat;
  background-size: 100% auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  position: absolute;
  bottom: 0;
}
.page2 .page2_event01 .list_con .table .table_con .area_con {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  font-size: 1.04vw;
  font-weight: 600;
}
.page2 .page2_event01 .list_con .table .table_con .area_con + .area_con {
  border-top: 3px solid #965a5f;
}
.page2 .page2_event01 .list_con .table .table_con .area_con .area_name {
  width: 29vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  border-right: 3px solid #965a5f;
  color: #a02f38;
  font-size: 1.25vw;
  font-weight: 700;
}
.page2 .page2_event01 .list_con .table .table_con .area_con ul {
  width: calc(100% - 29vw);
}
.page2 .page2_event01 .list_con .table .table_con .area_con ul li {
  padding: 0.4vw 1.16vw;
}
.page2 .page2_event01 .list_con .table .table_con .area_con ul li + li {
  border-top: 1px solid #965a5f;
}
.page2 .page2_event01 .list_con .table .table_con .area_con:last-child ul li:last-child {
  padding-bottom: 1.2vw;
}

.page2_black {
  width: 100%;
  height: 177.81vw;
  background: url(../images/page2/s2_bg.webp) center no-repeat;
  background-size: 100% 100%;
  padding-top: 17vw;
  position: relative;
  z-index: 1;
}
.page2_black .txt_con {
  color: #fff;
  font-weight: 500;
  font-size: 1.25vw;
  text-align: center;
  line-height: 1.8;
  margin: 3.3vw 0;
}
.page2_black .page2_event02 {
  width: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
}
.page2_black .page2_event02 .title_con img {
  height: 7.7vw;
}
.page2_black .page2_event02 .pic_con {
  width: 38.85vw;
}
.page2_black .page2_event02 .char_con img {
  width: 72.5vw;
  top: 0;
  left: 16.4vw;
}
.page2_black .shop_con {
  margin: 10vw 0;
}
.page2_black .shop_con .shop_list {
  width: 80vw;
}
.page2_black .shop_con .shop_list .list_tt {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  gap: 10px;
}
.page2_black .shop_con .shop_list .list_tt h5 {
  color: #a78362;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.6vw;
  font-size: 1.3vw;
  letter-spacing: 0.15vw;
  padding-left: 0.15vw;
}
.page2_black .shop_con .shop_list .list_tt h5::before, .page2_black .shop_con .shop_list .list_tt h5::after {
  display: block;
  content: "";
  background: url(../images/page2/shop_icon.png) center;
  background-size: 100% auto;
  width: 0.72vw;
  aspect-ratio: 10/10;
}
.page2_black .shop_con .shop_list .list_tt::before, .page2_black .shop_con .shop_list .list_tt::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(190, 165, 130, 0.45);
}
.page2_black .shop_con .shop_list .list_tt h2 {
  margin: 0;
  padding: 0 4px;
  white-space: nowrap;
  font-size: 20px;
  letter-spacing: 0.15em;
}
.page2_black .shop_con .shop_list .list_tt span {
  font-size: 10px;
}
.page2_black .shop_con .shop_list .item_all {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 3.125vw;
  margin-top: 2.3vw;
}
.page2_black .shop_con .shop_list .item_all .item {
  width: 16.6vw;
  padding: 2.3vw 0 1.5vw;
  border-image-source: url(../images/page2/shop_frame.webp);
  border-image-slice: 60;
  border-image-repeat: stretch;
  border-image-width: 1.8vw;
  border-image-outset: 0;
  background: url(../images/page2/shop_frame_bg.webp);
  background-size: 100% 100%;
  border-radius: 0.5vw;
  filter: drop-shadow(0.1vw);
  margin-top: 2.3vw;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.5vw;
  box-shadow: -2px -2px 10px rgba(0, 0, 0, 0.5);
  text-align: center;
}
.page2_black .shop_con .shop_list .item_all .item .pic_con {
  margin-top: -5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 10vw;
  height: 10vw;
  border-radius: 50%;
  background: #eae2da;
  border: 0.45vw solid #4c3629;
}
.page2_black .shop_con .shop_list .item_all .item .pic_con img {
  width: 65%;
  height: 65%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}
.page2_black .shop_con .shop_list .item_all .item .item_name {
  color: #fff;
  font-weight: 500;
  font-size: 1.15vw;
  letter-spacing: 0.06vw;
}
.page2_black .shop_con .shop_list .item_all .item .item_price {
  color: #cfb9ac;
  background: #301f16;
  border-radius: 100px;
  width: 80%;
  margin-top: 0.3vw;
  font-size: 1vw;
  padding: 0.15vw 0;
  box-shadow: inset 0px 2px 2px rgba(31, 18, 11, 0.5);
}
.page2_black .event_card {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
}
.page2_black .event_card .char_con .s2_pic01 {
  width: 12.34vw;
  top: 4.58vw;
  left: 78vw;
}
.page2_black .event_card .char_con .s2_pic02 {
  width: 19vw;
  top: 21.35vw;
  left: 66.92vw;
}
.page2_black .event_card .char_con .s2_pic03 {
  width: 18.17vw;
  top: 15.41vw;
  left: 16.14vw;
}
.page2_black .event_card .char_con .s2_pic04 {
  width: 11.66vw;
  top: 0vw;
  left: 10.2vw;
}
.page2_black .event_card .card_con {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
}
.page2_black .event_card .card_con h5 {
  text-align: center;
  color: #a78362;
  font-size: 1.9vw;
  font-weight: 700;
  letter-spacing: 0.18vw;
  margin-bottom: 2.3vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1vw;
}
.page2_black .event_card .card_con h5::before, .page2_black .event_card .card_con h5::after {
  content: "";
  display: block;
  aspect-ratio: 10/10;
  width: 0.65vw;
  background: url(../images/page1/card_tt_icon.png) center;
  background-size: 100% auto;
}
.page2_black .event_card .card_con .card_item {
  width: 16.35vw;
}
.page2_black.coming {
  height: 128.12vw;
  background: url(../images/page2/s2_bg_coming.webp) center no-repeat;
  background-size: 100% 100%;
}
.page2_black.coming .shop_con {
  margin: 8vw 0;
}
.page2_black.coming .shop_con .list_tt {
  margin-bottom: 2vw;
}
.page2_black.coming .coming_txt {
  color: #4c341e;
  font-size: 3.65vw;
  font-weight: 700;
  letter-spacing: 0.2vw;
  text-align: center;
}
.page2_black.coming .event_card .s2_pic01 {
  width: 12.34vw;
  top: -6vw;
  left: 79.3vw;
}
.page2_black.coming .event_card .s2_pic02 {
  width: 19vw;
  top: 12.5vw;
  left: 69.6vw;
}
.page2_black.coming .event_card .s2_pic03 {
  width: 18.17vw;
  top: 2.7vw;
  left: 9.89vw;
}
.page2_black.coming .event_card .s2_pic04 {
  width: 7.44vw;
  top: -11.97vw;
  left: 17vw;
}

/* 徵稿比賽活動辦法 ======================================= */
.page3 {
  padding-top: 4vw;
  padding-bottom: 1vw;
  position: relative;
  z-index: 2;
  width: 100%;
}
.page3 .main_word {
  background: rgba(241, 236, 226, 0.5);
  margin: 3.6vw 0 2vw;
  width: 72vw;
  padding: 2.1vw 0.2vw;
  position: relative;
  font-weight: 700;
}
.page3 .main_word .char_con img {
  width: 15.46vw;
  left: -1.875vw;
  top: -10.15vw;
}
.page3 .main_word h4 {
  font-size: 1.15vw;
  color: #856446;
  font-weight: 600;
  line-height: 1.8;
  padding-left: 15vw;
  padding-right: 2vw;
  margin-bottom: 0.9vw;
}
.page3 .main_word .time_con {
  border-top: 2px solid rgba(177, 145, 116, 0.2);
  padding-top: 1.3vw;
  margin-top: 1.3vw;
  padding-left: 15vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 1.2vw;
  line-height: 1.7;
  font-weight: 600;
  color: #202020;
  gap: 1.7vw;
}
.page3 .main_word .time_con p span {
  display: block;
  font-size: 1vw;
}
.page3 .event_txt_con {
  width: 80vw;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
}
.page3 .event_txt_con h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  color: #5f4834;
  font-size: 1.5vw;
  font-weight: 700;
  font-size: 1.86vw;
  letter-spacing: 0.3vw;
  gap: 1.05vw;
  margin-bottom: 2.08vw;
  width: 100%;
}
.page3 .event_txt_con h3::before, .page3 .event_txt_con h3::after {
  content: "";
  display: block;
  width: 0.52vw;
  aspect-ratio: 10/10;
  background: #a1866e;
  transform: rotate(45deg);
}
.page3 .event_txt_con .list_con, .page3 .event_txt_con > p {
  padding: 0 4vw;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  color: #5f4834;
  line-height: 1.8;
  font-size: 0.99vw;
}
.page3 .event_txt_con .list_con .red, .page3 .event_txt_con > p .red {
  color: #be0505;
}
.page3 .event_txt_con > p {
  padding: 0 6.65vw;
}
.page3 .event_txt_con .list_con .item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 0.78vw 1.45vw;
}
.page3 .event_txt_con .list_con .item .item_tt {
  flex: 0 0 7vw;
  width: 7vw;
  white-space: nowrap;
}
.page3 .event_txt_con .list_con .item .item_txt {
  flex: 1;
  min-width: 0;
}
.page3 .event_txt_con .list_con .item + .item {
  border-top: 2px solid rgba(177, 145, 116, 0.3);
}
.page3 .event_txt_con .list_con .table_con {
  width: 80%;
  margin: 1vw 0;
}
.page3 .event_txt_con .list_con .table_con > div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.page3 .event_txt_con .list_con .table_con > div span {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  border: 1px solid #a5886e;
  padding: 0.5vw 0;
}
.page3 .event_txt_con .list_con .table_con > div.table_tt {
  background: #a5886e;
  color: #fff;
}
.page3 .event_txt_con .list_con .table_con small {
  font-size: clamp(0.7rem, 0.84vw, 1rem);
  color: #a5886e;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 0.7vw;
}
.page3 .event_txt_con .list_con ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.page3 .event_txt_con .list_con ul li {
  margin-right: 0.8vw;
}
.page3 .event_txt_con .list_con ul li::before {
  content: "●";
  color: #c4ac96;
  font-size: 0.8vw;
  margin-right: 0.3vw;
}
.page3 .event_txt_con .list_con2 {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  color: #5f4834;
  line-height: 1.8;
  font-size: clamp(0.88rem, 0.94vw, 1.2rem);
  padding: 0 5.2vw;
}
.page3 .event_txt_con .list_con2 .item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0.78vw 1.45vw;
}
.page3 .event_txt_con .list_con2 .item .item_tt {
  flex: 0 0 9vw;
  width: 9vw;
  white-space: nowrap;
}
.page3 .event_txt_con .list_con2 .item .item_ul {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.page3 .event_txt_con .list_con2 .item .item_ul li {
  margin-right: 0.7vw;
  white-space: nowrap;
}
.page3 .event_txt_con .list_con2 .item .item_ul li::before {
  content: "●";
  color: #c4ac96;
  font-size: 0.8vw;
  margin-right: 0.3vw;
}
.page3 .event_txt_con .list_con2 .item p {
  flex: 0 0 100%;
  width: 100%;
  color: #be0505;
  margin-top: 0.9vw;
  padding-left: 9vw;
  box-sizing: border-box;
}
.page3 .event_txt_con .list_con2 .item p span {
  display: block;
}
.page3 .event_txt_con .gift_con {
  font-family: "Noto Sans TC", sans-serif;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.3vw;
  margin: 2vw auto 0;
}
.page3 .event_txt_con .gift_con .gift_tt {
  background: #a5886e;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  position: relative;
  padding: 0.6vw 0;
  font-size: 1.15vw;
  font-weight: 400;
  letter-spacing: 0.08vw;
}
.page3 .event_txt_con .gift_con .gift_tt span {
  position: absolute;
  right: 0.65vw;
  bottom: 0.4vw;
  font-size: clamp(0.7rem, 0.75vw, 0.9rem);
  letter-spacing: normal;
}
.page3 .event_txt_con .gift_con .gift_lef, .page3 .event_txt_con .gift_con .gift_right {
  background: #f7f4ef;
}
.page3 .event_txt_con .gift_con .gift_lef .item_list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.5vw;
  padding: 1.7vw 2.2vw;
}
.page3 .event_txt_con .gift_con .gift_lef .item_list .item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.625vw;
}
.page3 .event_txt_con .gift_con .gift_lef .item_list .item img {
  width: 7.39vw;
}
.page3 .event_txt_con .gift_con .gift_lef .item_list .item span {
  font-size: clamp(0.7rem, 0.85vw, 0.95rem);
  color: #5f4834;
}
.page3 .event_txt_con .gift_con .gift_right {
  min-width: 25.5vw;
}
.page3 .event_txt_con .gift_con .gift_right ul {
  padding: 1.5vw 2vw;
  color: #5f4834;
  font-size: 0.92vw;
}
.page3 .event_txt_con .gift_con .gift_right ul li {
  padding: 0.5vw 0;
}
.page3 .event_txt_con .gift_con .gift_right ul li::before {
  content: "●";
  color: #c4ac96;
  font-size: 0.8vw;
  margin-right: 0.3vw;
}
.page3 .event_txt_con .line_star {
  width: 100%;
  background: url(../images/page3/star_line.webp) center no-repeat;
  background-size: 100% auto;
  aspect-ratio: 2259/36;
  margin: 3.6vw 0;
}
.page3 .tab_con {
  width: 72.9vw;
  margin: 2.4vw auto 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  color: #5f4834;
  line-height: 1.8;
  font-size: clamp(0.88rem, 0.94vw, 1.2rem);
}
.page3 .tab_con .tab_btn {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 1.5vw;
}
.page3 .tab_con .tab_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  flex: 1;
  min-height: 2.7vw;
  padding: 1vw 0.4vw;
  border: 1px solid #a5886e;
  border-bottom: none;
  background: #fff;
  color: #a5886e;
  font-family: "Noto Serif TC", serif;
  font-size: 1.4vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
}
.page3 .tab_con .tab_btn a:hover {
  background: rgba(247, 244, 239, 0.6);
}
.page3 .tab_con .tab_btn a.is-active {
  background: linear-gradient(to bottom, rgb(181, 149, 121) 0%, rgb(165, 136, 110) 100%);
  border-color: #a5886e;
  color: #fff;
}
.page3 .tab_con .tab_panels {
  border: 1px solid #a5886e;
  background: #f7f4ef;
  padding: 2vw 2.4vw 2.2vw;
}
.page3 .tab_con .tab_panels .tab1_con,
.page3 .tab_con .tab_panels .tab2_con,
.page3 .tab_con .tab_panels .tab3_con,
.page3 .tab_con .tab_panels .tab4_con {
  display: none;
  color: #5f4834;
}
.page3 .tab_con .tab_panels .tab1_con.is-active,
.page3 .tab_con .tab_panels .tab2_con.is-active,
.page3 .tab_con .tab_panels .tab3_con.is-active,
.page3 .tab_con .tab_panels .tab4_con.is-active {
  display: block;
}
.page3 .tab_con .tab_panels .tab1_con ul,
.page3 .tab_con .tab_panels .tab2_con ul,
.page3 .tab_con .tab_panels .tab3_con ul,
.page3 .tab_con .tab_panels .tab4_con ul {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.47vw;
}
.page3 .tab_con .tab_panels .tab1_con .note,
.page3 .tab_con .tab_panels .tab2_con .note,
.page3 .tab_con .tab_panels .tab3_con .note,
.page3 .tab_con .tab_panels .tab4_con .note {
  color: #be0505;
  margin-top: 0.8vw;
}
.page3 .tab_con .tab_panels .tab1_con h6,
.page3 .tab_con .tab_panels .tab2_con h6,
.page3 .tab_con .tab_panels .tab3_con h6,
.page3 .tab_con .tab_panels .tab4_con h6 {
  font-size: 1.2vw;
  font-weight: 600;
  color: #3e362f;
  line-height: 2.5;
  margin-top: 0.7vw;
  text-indent: -0.7vw;
}
.page3 .tab_con .tab_panels .register_btn {
  flex-direction: column;
  flex-wrap: nowrap;
  width: 18vw;
  height: 5.6vw;
  margin: 1.8vw auto 0;
  gap: 0.3vw;
  line-height: 1.15;
  font-family: "Noto Serif TC", serif;
}
.page3 .tab_con .tab_panels .register_btn span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.35vw;
  font-size: 0.85vw;
  font-weight: 600;
  letter-spacing: 0.08em;
}
.page3 .tab_con .tab_panels .register_btn span::before, .page3 .tab_con .tab_panels .register_btn span::after {
  content: "◆";
  font-size: 0.55em;
}

/* 徵稿比賽得獎作品 ======================================= */
.page3_2 {
  padding-top: 4vw;
  padding-bottom: 6vw;
}
.page3_2 .gallery_con {
  width: 80vw;
  margin: 0 auto;
}
.page3_2 .tab_con {
  width: 100%;
  margin: 4vw auto 0;
}
.page3_2 .tab_con .tab_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.6vw;
}
.page3_2 .tab_con .tab_btn a {
  width: 15vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
  min-height: 4.1vw;
  padding: 1.2vw 0.4vw;
  border: 1px solid #a5886e;
  background-color: #fff;
  background-image: linear-gradient(to bottom, #b59579 0%, #a5886e 100%), linear-gradient(#fff, #fff);
  background-repeat: no-repeat;
  background-position: left center, left center;
  background-size: 0 100%, 100% 100%;
  color: #a5886e;
  font-size: 1.3vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  cursor: pointer;
  transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.3s ease;
}
.page3_2 .tab_con .tab_btn a:hover {
  background-size: 100% 100%, 100% 100%;
  color: #fff;
}
.page3_2 .tab_con .tab_btn a.is-active {
  background-size: 100% 100%, 100% 100%;
  border-color: #a5886e;
  color: #fff;
}
.page3_2 .tab_con > h5 {
  margin: 1.6vw 0 1vw;
  font-size: 1.85vw;
  font-weight: 700;
  color: #5f4834;
  letter-spacing: 0.2vw;
  padding-left: 0.2vw;
  margin: 3vw 0 2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1vw;
}
.page3_2 .tab_con > h5::before, .page3_2 .tab_con > h5::after {
  content: "";
  display: block;
  width: 0.55vw;
  aspect-ratio: 10/10;
  background: #a1866e;
  transform: rotate(45deg);
}
.page3_2 .tab_con .tab_panels .tab1_con,
.page3_2 .tab_con .tab_panels .tab2_con,
.page3_2 .tab_con .tab_panels .tab3_con,
.page3_2 .tab_con .tab_panels .tab4_con {
  display: none;
}
.page3_2 .tab_con .tab_panels .tab1_con.is-active,
.page3_2 .tab_con .tab_panels .tab2_con.is-active,
.page3_2 .tab_con .tab_panels .tab3_con.is-active,
.page3_2 .tab_con .tab_panels .tab4_con.is-active {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.3vw;
}
.page3_2 .tab_con .tab_panels .item {
  display: flex;
  flex-direction: column;
  background: url(../images/page3/item_bg.webp) center no-repeat;
  background-size: cover;
  overflow: hidden;
  cursor: pointer;
  border-radius: 10px;
  box-shadow: 2px 4px 9px rgba(192, 192, 192, 0.6);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.page3_2 .tab_con .tab_panels .item:hover {
  box-shadow: 2px 4px 22px rgb(177, 177, 177);
  transform: translateY(-4px);
}
.page3_2 .tab_con .tab_panels .item .pic_con {
  width: 100%;
  aspect-ratio: 16/9;
  background: #969696;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  overflow: hidden;
}
.page3_2 .tab_con .tab_panels .item .pic_con img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.page3_2 .tab_con .tab_panels .item .bottom_info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.8vw;
  padding: 0.7vw 1.25vw 0.85vw;
}
.page3_2 .tab_con .tab_panels .item .bottom_info .icon {
  flex: 0 0 auto;
  width: 4.6vw;
}
.page3_2 .tab_con .tab_panels .item .bottom_info .icon img {
  width: 100%;
  height: auto;
  display: block;
}
.page3_2 .tab_con .tab_panels .item .bottom_info .txt_con {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.3vw;
}
.page3_2 .tab_con .tab_panels .item .bottom_info .txt_con h6 {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1.15vw;
  font-weight: 500;
  color: #5f4834;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: wrap;
}
.page3_2 .tab_con .tab_panels .item .bottom_info .txt_con p {
  margin: 0.15vw 0 0;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 0.89vw;
  font-weight: 400;
  color: rgba(161, 134, 110, 0.8);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: wrap;
}

body.is-gallery-popup-open {
  overflow: hidden;
}

.gallery_popup {
  position: fixed;
  inset: 0;
  z-index: 3200;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.gallery_popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.gallery_popup_mask {
  position: absolute;
  inset: 0;
  background: rgba(14, 10, 6, 0.72);
  cursor: pointer;
}
.gallery_popup_box {
  position: relative;
  z-index: 1;
  width: min(62vw, 1180px);
  max-width: calc(100% - 8vw);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.gallery_popup_close {
  position: absolute;
  top: -3.1vw;
  right: 0;
  z-index: 3;
  width: 2vw;
  height: 2vw;
  background: transparent;
  background-image: linear-gradient(to bottom, #b39070 10%, #967352 91%);
  cursor: pointer;
  transform: rotate(45deg);
  transition: all 0.3s;
  border: 0.15vw solid rgba(255, 255, 255, 0.6);
  outline: 0.1vw solid #967352;
}
.gallery_popup_close span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1vw;
  height: 3px;
  margin: -1.5px 0 0 -0.5vw;
  background: currentColor;
  color: #fff;
}
.gallery_popup_close span:first-child {
  transform: rotate(90deg);
}
.gallery_popup_close span:last-child {
  transform: rotate(180deg);
}
.gallery_popup_close:hover {
  transform: rotate(45deg);
  filter: brightness(1.2);
}
.gallery_popup_close:hover span:first-child {
  transform: rotate(90deg);
}
.gallery_popup_close:hover span:last-child {
  transform: rotate(-180deg);
}
.gallery_popup_nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 2.4vw;
  height: 2.4vw;
  transform: translateY(-50%);
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(to right, #b39070 8%, #967352 90%);
  cursor: pointer;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  transition: filter 0.2s ease;
}
.gallery_popup_nav::before {
  content: "";
  display: block;
  aspect-ratio: 35/57;
  width: 0.6vw;
  background: url(../images/index/arrow.png) center no-repeat;
  background-size: 100% auto;
}
.gallery_popup_nav:hover {
  filter: brightness(1.12);
}
.gallery_popup_prev {
  left: -3.4vw;
}
.gallery_popup_prev::before {
  transform: rotate(180deg);
  margin-left: -0.2vw;
}
.gallery_popup_next {
  right: -3.4vw;
}
.gallery_popup_next::before {
  margin-left: 0.2vw;
}
.gallery_popup_card {
  width: 100%;
  border-radius: 15px;
  overflow: hidden;
}
.gallery_popup_card .pic_con {
  width: 100%;
  aspect-ratio: 16/9;
  background: #faf6f2;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  overflow: hidden;
}
.gallery_popup_card .pic_con img {
  max-width: 80%;
  max-height: 80%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.gallery_popup_card .bottom_info {
  gap: 1vw;
  padding: 1vw 1.3vw 1.2vw;
  background: #5f4834;
}
.gallery_popup_card .bottom_info .icon {
  flex: 0 0 auto;
  width: 4.4vw;
}
.gallery_popup_card .bottom_info .icon img {
  width: 100%;
  height: auto;
  display: block;
}
.gallery_popup_card .bottom_info .txt_con {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.gallery_popup_card .bottom_info .txt_con h6 {
  font-size: 1.25vw;
  font-weight: 500;
  color: #fff;
  line-height: 1.4;
  font-family: "Noto Sans TC", sans-serif;
}
.gallery_popup_card .bottom_info .txt_con p {
  font-weight: 400;
  color: #5f4834;
  font-weight: 500;
  font-size: 1.1vw;
  background: #ddc7b6;
  padding: 0.15vw 1.4vw;
  border-radius: 100px;
  font-family: "Noto Sans TC", sans-serif;
}

body.is-sale-item-popup-open {
  overflow: hidden;
}

.sale_item_popup {
  z-index: 3300;
}
.sale_item_popup .gallery_popup_card .pic_con {
  aspect-ratio: 1/1;
  max-height: 70vh;
}
.sale_item_popup .gallery_popup_card .bottom_info .txt_con h6 {
  white-space: normal;
}
.sale_item_popup .gallery_popup_card .bottom_info .txt_con h6 br {
  display: none;
}

/* 免費登入活動 ======================================= */
.page4 {
  padding-top: 4vw;
  position: relative;
  z-index: 2;
  width: 100%;
  background: url(../images/page4/s1_bg.webp) center top no-repeat;
  background-size: 100% auto;
}
.page4 .main_word {
  background: rgba(241, 236, 226, 0.5);
  margin: 3.6vw 0 2vw;
  width: 70vw;
  padding: 1.8vw 3.8vw;
  position: relative;
}
.page4 .main_word .char_con img {
  width: 31.6vw;
  right: -8vw;
  top: -8vw;
}
.page4 .main_word h4 {
  font-size: 1.4vw;
  color: #856446;
  font-weight: 700;
  line-height: 1.9;
  padding-right: 10vw;
  letter-spacing: 0.06vw;
}
.page4 .info_txt {
  margin: 0;
}
.page4 .info_txt .item {
  align-items: flex-start;
}
.page4 .info_txt .item p, .page4 .info_txt .item h6 {
  font-size: 1.2vw;
}
.page4 .info_txt .item ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.35vw;
  padding: 0.5vw 0;
  letter-spacing: 0;
  font-size: 1.2vw;
}
.page4 .info_txt .item ul li + li {
  border-top: 1px dotted #a1866e;
}
.page4 .info_txt .item ul li::before {
  content: "◆";
  flex: 0 0 auto;
  color: #a1866e;
  line-height: inherit;
  transform: scale(0.6);
}
.page4 .info_txt .item ul li small {
  flex: 0 0 100%;
  box-sizing: border-box;
  width: auto;
  margin: 0.3vw 0 0;
}
.page4 .info_txt .item ul li:last-child {
  flex-wrap: nowrap;
}

.register_notice.p4 {
  margin-top: -2.6vw;
}
.register_notice.p4 ul {
  width: 67.7vw;
}

/* 活動報名 ======================================= */
.register {
  padding-top: 4vw;
  width: 100%;
  background: url(../images/register/s1_bg.webp) center top no-repeat;
  background-size: 100% auto;
}
.register .info_con {
  position: relative;
  width: 67.7vw;
  margin: 3vw auto 0;
}
.register .info_con .txt_con {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  font-size: 1.25vw;
  line-height: 1.7;
}
.register .info_con .txt_con > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 1vw;
  gap: 3vw;
}
.register .info_con .txt_con > div + div {
  border-top: 2px solid rgba(177, 145, 116, 0.3);
}
.register .info_con .txt_con > div h6 {
  flex-shrink: 0;
}
.register .info_con .txt_con > div p {
  padding-right: 14vw;
}
.register .info_con .txt_con .register2_info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  font-size: 1.2vw;
  gap: 0;
  margin-bottom: 2vw;
}
.register .info_con .txt_con .register2_info .icon_pic {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  padding-right: 2.34vw;
  font-size: 1.4vw;
  color: #927153;
  font-weight: 700;
  gap: 0.93vw;
}
.register .info_con .txt_con .register2_info .icon_pic img {
  width: 3.48vw;
}
.register .info_con .txt_con .register2_info .icon_pic .check_icon {
  width: 5.78vw;
}
.register .info_con .txt_con .register2_info:last-child p {
  border-left: 2px solid rgba(177, 145, 116, 0.3);
  padding-top: 0.5vw;
  padding-bottom: 0.5vw;
  padding-left: 2.34vw;
}
.register .info_con .txt_con .register2_info:last-child p span {
  display: block;
  color: #927153;
  font-weight: 700;
  font-size: 1.5vw;
}
.register .info_con .txt_con .register4_info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  padding-left: 6vw;
  font-size: 1.2vw;
  gap: 0;
}
.register .info_con .txt_con .register4_info .icon_pic .check_icon {
  width: 5.78vw;
}
.register .info_con .txt_con .register4_info:last-child p {
  width: 84%;
  padding-top: 0.5vw;
  padding-bottom: 0.5vw;
  padding-left: 2.34vw;
  font-size: 1.1vw;
}
.register .info_con .txt_con .register4_info:last-child p span {
  display: block;
  color: #927153;
  font-weight: 700;
  font-size: 1.52vw;
}
.register .info_con .char_con img {
  width: 14.63vw;
  right: -3.5vw;
  top: -8.2vw;
}
.register .info_con .char_con img.register_char2 {
  width: 19vw;
  top: -1vw;
  right: -1.1vw;
  z-index: 5;
}
.register .item_con .item_info {
  width: 77.83vw;
  background: #f9f8f6;
  border: 1px solid #8f6e50;
}
.register .item_con .item_info .account_con {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  background: linear-gradient(to right, #977658 0%, #785638 100%);
  color: #fff;
  padding: 1.56vw 4vw;
  font-size: 1.25vw;
}
.register .item_con .item_frame {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 1.2vw 3.1vw;
}
.register .item_con .item_frame.form_fields {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 1.25vw;
  gap: 1.8vw;
  color: #484848;
  padding: 2.8vw 4vw;
}
.register .item_con .item_frame.form_fields .form_row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.2vw;
}
.register .item_con .item_frame.form_fields .form_row label {
  flex-shrink: 0;
}
.register .item_con .item_frame.form_fields .form_row input[type=text] {
  flex: 1;
  min-width: 0;
  min-height: 36px;
  border: 1px solid #cccccc;
  background: #ffffff;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  padding: 0.3vw 1vw;
}
.register .item_con .item_frame.form_fields .form_row input[type=text]::-moz-placeholder {
  color: #919191;
  opacity: 1;
  font-size: 1.15vw;
}
.register .item_con .item_frame.form_fields .form_row input[type=text]::placeholder {
  color: #919191;
  opacity: 1;
  font-size: 1.15vw;
}
.register .item_con .item_frame.form_fields .form_row:last-child {
  flex: 1;
  min-width: 0;
}
.register .item_con .item_frame .check_frame {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2vw;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-size: 1.1vw;
  color: #484848;
  line-height: 1.8;
  border-bottom: 0.23vw solid #c4ac96;
  padding-bottom: 1vw;
}
.register .item_con .item_frame .check_frame > div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0.3vw 0;
  padding-left: 1vw;
}
.register .item_con .item_frame .check_frame > div span {
  margin: 0 0.3vw;
}
.register .item_con .item_frame .check_frame > div::before {
  content: "";
  display: block;
  aspect-ratio: 42/39;
  width: 0.78vw;
  background: url(../images/register/list_icon.png) center no-repeat;
  background-size: 100% auto;
  margin-right: 0.5vw;
}
.register .list_wrap {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.register .list_frame {
  position: relative;
  padding: 1vw 1vw 1.2vw;
  border-bottom: 1px solid #c4ac96;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-size: 1.1vw;
  color: #484848;
  line-height: 1.8;
}
.register .list_frame .item_tit,
.register .list_frame .event_time {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.register .list_frame .item_tit::before,
.register .list_frame .event_time::before {
  content: "";
  display: block;
  aspect-ratio: 42/39;
  width: 0.78vw;
  background: url(../images/register/list_icon.png) center no-repeat;
  background-size: 100% auto;
  margin-right: 0.5vw;
  flex-shrink: 0;
}
.register .list_frame .item_tit span,
.register .list_frame .event_time span {
  padding: 0 0.3vw;
}
.register .list_frame::after {
  content: "";
  position: absolute;
  top: 22%;
  bottom: 22%;
  right: 0;
  border-right: 1px dashed #c4ac96;
}
.register .list_frame:nth-child(3n)::after, .register .list_frame:last-child::after {
  display: none;
}
.register .list_frame:nth-last-child(-n+3):nth-child(3n+1), .register .list_frame:nth-last-child(-n+2):nth-child(3n+2), .register .list_frame:nth-last-child(1):nth-child(3n) {
  border-bottom: none;
}
.register .sub_tit {
  padding: 2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.register .sub_tit::before, .register .sub_tit::after {
  content: "";
  display: block;
  aspect-ratio: 10/10;
  width: 0.57vw;
  background: #a1866e;
  transform: rotate(45deg);
  margin: 0.8vw;
}
.register .sub_tit h5 {
  font-size: 1.25vw;
  font-weight: 700;
  color: #5f4834;
}
.register .sub_tit h5 span {
  color: #a02f38;
}
.register .list_slider {
  --list-gap: 1.8vw;
  --list-slides: 3;
  position: relative;
  margin-bottom: 2.4vw;
  width: 77.08vw;
}
.register .list_slider .list_nav {
  display: none;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 36px;
  height: 36px;
  border: 1px solid #8f6e50;
  background: #fff;
  padding: 0;
  cursor: pointer;
}
.register .list_slider .list_nav::before {
  content: "";
  display: block;
  aspect-ratio: 35/57;
  background: url(../images/index/arrow.png) center no-repeat;
  background-size: 100% auto;
  width: 2vw;
}
.register .list_slider .list_nav.is-disabled {
  pointer-events: none;
  filter: grayscale(100) brightness(1.3);
}
.register .list_slider .list_nav_prev {
  left: -8px;
  transform: translateY(-50%) rotate(180deg);
}
.register .list_slider .list_nav_next {
  right: -8px;
  transform: translateY(-50%);
}
.register .list_slider .list_con {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--list-gap);
}
.register .list_slider .list_con .item {
  flex: 0 0 calc((100% - (var(--list-slides) - 1) * var(--list-gap)) / var(--list-slides));
  background: #f9f8f6;
  border: 1px solid #8f6e50;
  outline: 2px solid rgba(144, 111, 81, 0);
  cursor: pointer;
  padding-bottom: 1.4vw;
  font-size: 1.04vw;
  line-height: 2;
  transition: all 0.3s;
  letter-spacing: 0.08vw;
}
.register .list_slider .list_con .item .tt_con .sub_title {
  margin: -1px -1px 0;
  background: linear-gradient(to right, #977658 0%, #785638 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  color: #fff;
  padding: 0.2vw 0 0.7vw 0;
}
.register .list_slider .list_con .item .tt_con .sub_title h6 {
  font-size: 2vw;
  font-weight: 700;
  line-height: 1.1;
}
.register .list_slider .list_con .item .tt_con .sub_title h6 span {
  font-size: 3.8vw;
  margin: 0 0.3vw;
}
.register .list_slider .list_con .item .info_list {
  padding: 0 1.8vw;
}
.register .list_slider .list_con .item .info_list .info_list_frame {
  padding-top: 1.4vw;
}
.register .list_slider .list_con .item .info_list .info_list_frame > div {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.status_con {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  padding-bottom: 0;
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.status_con .status::before {
  content: "尚未報名";
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.status_con .status.registered::before {
  content: "已報名";
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.status_con .status.sold-out::before {
  content: "已額滿";
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.status_con .status.selected::before {
  content: "已中選";
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.status_con .status.not-selected::before {
  content: "未中選";
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.compliant p {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  line-height: 1;
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .valid::before {
  content: "符合";
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .valid::after {
  content: "🅥";
  font-size: 1.3vw;
  color: #33cd15;
  margin-left: 0.2vw;
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .invalid::before {
  content: "不符合";
}
.register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .invalid::after {
  content: "🅧";
  font-size: 1.3vw;
  color: #e61b1b;
  margin-left: 0.2vw;
}
.register .list_slider .list_con .item .info_list .info_list_frame > div h6 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.register .list_slider .list_con .item .info_list .info_list_frame > div h6::before {
  content: "";
  display: block;
  aspect-ratio: 42/39;
  width: 0.78vw;
  background: url(../images/register/list_icon.png) center no-repeat;
  background-size: 100% auto;
  margin-right: 0.5vw;
}
.register .list_slider .list_con .item:hover {
  background: #faf6ee;
}
.register .list_slider .list_con .item.is-active {
  outline: 2px solid #8f6e50;
  background: #faf6ee;
  box-shadow: 0px 0px 1.7vw rgba(126, 92, 62, 0.7);
}
.register .list_slider .list_con .item.is-disabled {
  filter: grayscale(100);
  opacity: 0.6;
  cursor: default;
}
.register .select_all {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.55vw;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 2.2vw;
  cursor: pointer;
}
.register .select_all input {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 1.25vw;
  height: 1.25vw;
  min-width: 16px;
  min-height: 16px;
  margin: 0;
  border: 1px solid #8f6e50;
  background: #fff;
  cursor: pointer;
}
.register .select_all input:checked {
  background: #967352;
  border-color: #785638;
}
.register .select_all input:focus-visible {
  outline: 2px solid #967352;
  outline-offset: 2px;
}
.register .select_all span {
  font-size: 1.15vw;
  font-family: "Noto Sans TC", sans-serif;
  color: #815f41;
}
.register .register2_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.34vw;
  margin: 3.4vw 0 4.8vw;
}
.register .agree_check {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.6vw;
  margin-top: 2vw;
  cursor: pointer;
}
.register .agree_check input {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 1.25vw;
  height: 1.25vw;
  min-width: 16px;
  min-height: 16px;
  margin: 0;
  border: 1px solid #8f6e50;
  background: #fff;
  cursor: pointer;
}
.register .agree_check input:checked {
  background: #967352;
  border-color: #785638;
}
.register .agree_check input:focus-visible {
  outline: 2px solid #967352;
  outline-offset: 2px;
}
.register .agree_check span {
  font-size: 1.1vw;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  color: #484848;
}
.register .end_con {
  width: 58vw;
  border: 2.34vw solid transparent;
  border-image-source: url(../images/register/end_frame.webp);
  border-image-slice: 60;
  border-image-repeat: stretch;
  border-image-width: 2.5vw;
  border-image-outset: 0;
  margin-left: -6vw;
  margin-bottom: 2.2vw;
  background: #faf6f1;
  padding: 0 6vw 0 0.6vw;
}

#register4 {
  padding-bottom: 5vw;
}
#register4 .register4_actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3vw;
}
#register4 .register4_actions .register_btn {
  margin: 0;
  box-sizing: border-box;
  padding: 0;
  font-family: inherit;
  cursor: pointer;
}
#register4 .register4_actions .next_btn {
  background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 8%, #b39070 8%, #967352 90%);
  outline-color: #967352;
}

.register_notice {
  background: url(../images/register/notice_bg.webp) center top no-repeat;
  background-size: 100% auto;
  color: rgba(246, 244, 242, 0.9);
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  padding-top: 17.18vw;
}
.register_notice .notice_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.2vw;
  margin: 4.3vw auto 0;
}
.register_notice .notice_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  min-width: 13vw;
  height: 3.9vw;
  border: 1px solid #b38c5f;
  background: transparent;
  color: #c4a07a;
  font-family: "Noto Serif TC", serif;
  font-size: 1.5vw;
  font-weight: 700;
  letter-spacing: 0.08em;
  cursor: pointer;
}
.register_notice .notice_btn a.is-active {
  background: linear-gradient(to right, #b39070 10%, #967352 91%);
  border-color: #b39070;
  color: #1d120e;
}
.register_notice .notice_list,
.register_notice .rule_list {
  display: none;
}
.register_notice .notice_list.is-active,
.register_notice .rule_list.is-active {
  display: block;
}
.register_notice ul {
  width: 72.9vw;
  padding: 2.4vw 0 6vw;
  margin: 0 auto;
  font-size: 1.05vw;
  line-height: 1.7;
}
.register_notice ul li {
  margin: 0.6vw 0;
  position: relative;
  padding-left: 1.5vw;
}
.register_notice ul li::before {
  content: "◆";
  color: #a1866e;
  padding-right: 0.5vw;
  position: absolute;
  left: 0;
  transform: scale(0.7);
}
.register_notice .list_small {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.25vw;
  margin-top: 0.45vw;
  padding-left: 0.2vw;
}
.register_notice .note_scroll {
  width: 72.9vw;
  max-height: 33vw;
  margin: 0 auto;
  margin-top: 4vw;
  padding: 0 1.5vw;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: #a1866e rgba(255, 255, 255, 0);
}
.register_notice .note_scroll::-webkit-scrollbar {
  width: 8px;
}
.register_notice .note_scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0);
}
.register_notice .note_scroll::-webkit-scrollbar-thumb {
  background: #a1866e;
}
.register_notice .note_scroll::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
.register_notice .note_scroll > p,
.register_notice .note_scroll p {
  margin: 0.4vw 0;
  font-size: 1.04vw;
  line-height: 1.8;
}
.register_notice .note_scroll > p {
  margin-left: 1.4vw;
}
.register_notice .note_scroll > p:first-child {
  margin-left: 0;
  margin-top: 0;
  margin-bottom: 1.2vw;
}
.register_notice .note_scroll h6 {
  margin: 1.5vw 0 0.7vw;
  font-size: 1.05vw;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.4vw;
}
.register_notice .note_scroll h6::before {
  transform: scale(0.6);
  content: "◆";
  color: rgba(255, 255, 255, 0.8);
}
.register_notice .note_scroll ul {
  width: auto;
  padding: 0 0 0.6vw 1.4vw;
  margin: 0;
}
.register_notice .note_scroll ul li::before {
  content: "●";
}
.register_notice .note_scroll ul, .register_notice .note_scroll p {
  font-size: 0.95vw;
  font-weight: 400;
}
.register_notice .note_scroll ul.yellow, .register_notice .note_scroll p.yellow {
  color: #ecb955;
}
.register_notice .note_scroll ul.yellow li::before, .register_notice .note_scroll p.yellow li::before {
  color: #ecb955;
}
.register_notice.p3 {
  margin-top: -20vw;
  padding-top: 25vw;
  background: url(../images/page3/page3_bg.webp) center top no-repeat;
  background-size: 100% auto;
  padding-bottom: 5vw;
}
.register_notice.p4 {
  background: url(../images/page4/notice_bg.webp) center top no-repeat;
  background-size: 100% auto;
}

/* 懸浮報名按鈕 ======================================= */
.floating-button {
  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.floating-button.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.floating-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 5.72vw;
  height: 13.07vw;
  position: relative;
  text-align: center;
  color: #fff;
  background: url(../images/page1/floating-button_bg.webp) center bottom no-repeat;
  background-size: 100% auto;
  transition: all 0.3s;
}
.floating-button a img {
  position: absolute;
  top: -5.9vw;
  animation: fly 2s infinite alternate-reverse;
}
.floating-button a p {
  padding-top: 0.6vw;
  font-size: 1.6vw;
  line-height: 1.3;
  letter-spacing: 0.2vw;
  writing-mode: vertical-rl;
}
.floating-button a p span {
  display: block;
  font-size: 1.24vw;
}
.floating-button a:hover {
  filter: brightness(1.05);
  transform: scale(1.04);
}
.floating-button a.page3_btn {
  width: 4.79vw;
  height: 8.9vw;
  background: url(../images/page3/page3_btn_bg.webp) center bottom no-repeat;
  background-size: 100% auto;
}
.floating-button a.page3_btn img {
  width: 5.78vw;
  top: -3vw;
}
.floating-button a.page3_btn p {
  padding-top: 0.4vw;
  font-size: 1.4vw;
  writing-mode: horizontal-tb;
  letter-spacing: 0;
}

/* popup ======================================= */
body.is-map-popup-open {
  overflow: hidden;
}

.transit_map_popup {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.transit_map_popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.transit_map_popup_mask {
  position: absolute;
  inset: 0;
  background: rgba(14, 10, 6, 0.7);
  cursor: pointer;
}
.transit_map_popup_box {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: 90vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: nowrap;
  box-sizing: border-box;
}
.transit_map_popup_head {
  width: 80%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  margin-bottom: 1.5vw;
}
.transit_map_popup_head.map {
  width: 70%;
}
.transit_map_popup_close {
  position: relative;
  width: 3.2vw;
  height: 3.2vw;
  background: transparent;
  flex-shrink: 0;
  background-image: linear-gradient(to bottom, #b39070 10%, #967352 91%);
  cursor: pointer;
  transform: rotate(45deg);
  transition: all 0.3s;
  border: 0.15vw solid rgba(255, 255, 255, 0.6);
  outline: 0.1vw solid #967352;
}
.transit_map_popup_close span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2vw;
  height: 3px;
  margin: -1.5px 0 0 -1vw;
  background: currentColor;
}
.transit_map_popup_close span:first-child {
  transform: rotate(90deg);
}
.transit_map_popup_close span:last-child {
  transform: rotate(180deg);
}
.transit_map_popup_close span {
  color: #fff;
}
.transit_map_popup_close:hover {
  transform: rotate(45deg);
  filter: brightness(1.2);
}
.transit_map_popup_close:hover span:first-child {
  transform: rotate(90deg);
}
.transit_map_popup_close:hover span:last-child {
  transform: rotate(-180deg);
}
.transit_map_popup_frame {
  width: 82%;
  max-height: calc(90vh - 64px);
  min-height: 0;
  overflow: auto;
}
.transit_map_popup_frame.map {
  width: 70%;
}
.transit_map_popup_img {
  display: block;
  width: 100%;
  height: auto;
}

#list_popup .transit_map_popup_frame {
  border: 2.34vw solid transparent;
  border-image-source: url(../images/page2/popup_bg.webp);
  border-image-slice: 75;
  border-image-repeat: stretch;
  border-image-width: 2.5vw;
  border-image-outset: 0;
  background: #fff;
  background-clip: padding-box;
  scrollbar-width: thin;
  scrollbar-color: #a1866e rgba(255, 255, 255, 0);
}
#list_popup .transit_map_popup_frame::-webkit-scrollbar {
  width: 8px;
}
#list_popup .transit_map_popup_frame::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0);
}
#list_popup .transit_map_popup_frame::-webkit-scrollbar-thumb {
  background: #a1866e;
}
#list_popup .transit_map_popup_frame::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}

.page2_alpha {
  padding: 2vw 2.4vw 2.6vw;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
}
.page2_alpha h4 {
  width: 80%;
}
.page2_alpha .alpha_table {
  margin-top: 2vw;
  width: 100%;
  border: 2px solid #ab8b6f;
}
.page2_alpha .alpha_table .table_tt, .page2_alpha .alpha_table .table_item {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
}
.page2_alpha .alpha_table .table_tt > div, .page2_alpha .alpha_table .table_item > div {
  width: 27%;
  padding: 0.3vw 1vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.page2_alpha .alpha_table .table_tt > div:last-child, .page2_alpha .alpha_table .table_item > div:last-child {
  width: 46%;
  justify-content: flex-start;
}
.page2_alpha .alpha_table .table_tt {
  background: #ab8b6f;
  color: #fff;
  font-size: 1.1vw;
  letter-spacing: 0.6vw;
}
.page2_alpha .alpha_table .table_list .table_item + .table_item {
  border-top: 2px solid #ab8b6f;
}
.page2_alpha .alpha_table .table_list .table_item .time {
  border-left: 2px solid #ab8b6f;
  border-right: 2px solid #ab8b6f;
  flex-direction: column;
  flex-wrap: nowrap;
}
.page2_alpha .alpha_table .table_list .table_item .time span {
  background: #bea186;
  color: #fff;
  border-radius: 100px;
  display: block;
  padding: 0 1vw;
  margin-top: 0.5vw;
  font-size: 1vw;
}
.page2_alpha .alpha_table .table_list .table_item .place, .page2_alpha .alpha_table .table_list .table_item .time {
  color: #714f30;
  font-size: 1.3vw;
  font-weight: 700;
}
.page2_alpha .alpha_table .table_list .table_item .txt {
  color: #593f28;
  font-size: 1vw;
  font-weight: 600;
  padding: 0;
}
.page2_alpha .alpha_table .table_list .table_item .txt ul {
  width: 100%;
  background: #f6f3f0;
}
.page2_alpha .alpha_table .table_list .table_item .txt ul li {
  padding: 0.3vw 1vw;
}
.page2_alpha .alpha_table .table_list .table_item .txt ul li:nth-child(odd) {
  background: #fff;
}
.page2_alpha .alpha_table .table_list .table_item .txt ul li + li {
  width: 100%;
  border-top: 1px solid #ab8b6f;
}

.page1_sale_list {
  padding: 2vw 1vw 2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
}
.page1_sale_list h4 img {
  height: 2.34vw;
}
.page1_sale_list .sale_list {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.25vw;
  margin-top: 2.5vw;
}
.page1_sale_list .sale_list .sale_item {
  position: relative;
  padding: 0.48vw 0 1.5vw;
  aspect-ratio: 404/439;
  background: url(../images/page1/sale_item_bg.webp) center no-repeat;
  background-size: 100% auto;
  width: 13.44vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  text-align: center;
}
.page1_sale_list .sale_list .sale_item .sale_item_zoom {
  position: absolute;
  top: 0.9vw;
  right: 0.9vw;
  z-index: 2;
  width: 1.7vw;
  height: 1.7vw;
  padding: 0;
  border: 0;
  background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 10%, #967352 91%);
  background-repeat: no-repeat;
  background-position: left center, left center;
  background-size: 0 100%, 100% 100%;
  border-radius: 0.5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  cursor: pointer;
}
.page1_sale_list .sale_list .sale_item .sale_item_zoom img {
  width: 50%;
  height: auto;
  display: block;
}
.page1_sale_list .sale_list .sale_item .sale_item_zoom:hover {
  filter: brightness(1.12);
}
.page1_sale_list .sale_list .sale_item .pic {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: row;
  flex-wrap: wrap;
  width: 8vw;
  height: 6.5vw;
}
.page1_sale_list .sale_list .sale_item .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center bottom;
  object-position: center bottom;
}
.page1_sale_list .sale_list .sale_item .name {
  color: #5e4232;
  font-weight: 700;
  font-size: 0.89vw;
}
.page1_sale_list .sale_list .sale_item .price {
  color: #ffffff;
  font-weight: 700;
  font-size: 0.78vw;
  background: #a38371;
  padding: 0.22vw;
  border-radius: 100px;
  width: 68%;
}
.page1_sale_list .sale_list.list1 .sale_item {
  padding: 1.5vw 0 1.5vw;
}
.page1_sale_list .sale_list.list1 .sale_item .pic {
  align-items: center;
  width: 8.2vw;
  height: 5.4vw;
}
.page1_sale_list .sale_list.list1 .sale_item .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center center;
  object-position: center center;
}
.page1_sale_list .notice_txt {
  width: 100%;
  text-align: right;
  font-family: "Noto Sans TC", sans-serif;
  font-size: clamp(0.7rem, 0.94vw, 1.2rem);
  color: #5e4232;
  padding: 1vw 1vw 0 0;
}

/* 報名確認彈窗 ======================================= */
body.is-agree-popup-open {
  overflow: hidden;
}

.agree_confirm_popup {
  position: fixed;
  inset: 0;
  z-index: 3100;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.agree_confirm_popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.agree_confirm_popup_mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.42);
}
.agree_confirm_popup_box {
  position: relative;
  z-index: 1;
  width: 34vw;
  box-sizing: border-box;
  padding: 2.4vw 3vw 2vw;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1.6vw;
}
.agree_confirm_popup p {
  margin: 0;
  font-size: 1.05vw;
  line-height: 1.9;
  color: #4a4a4a;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  text-align: justify;
  text-justify: inter-ideograph;
}
.agree_confirm_popup .agree_confirm_ok {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  min-width: 7.8vw;
  height: 2.5vw;
  padding: 0 1.4vw;
  border: 0;
  background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 10%, #967352 91%);
  background-repeat: no-repeat;
  background-position: left center, left center;
  background-size: 0 100%, 100%;
  color: #fff;
  font-size: 1.05vw;
  font-family: "Noto Serif TC", serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  cursor: pointer;
}
.agree_confirm_popup .agree_confirm_ok:hover {
  filter: brightness(1.08);
}

@media (max-width: 1400px) {
  /* 漢堡選單 ======================================= */
  .page_menu.is-menu-open .page_menu_toggle {
    width: 5vw;
    height: 5vw;
    top: 2vw;
    right: 2vw;
  }
  .page_menu .page_menu_toggle {
    width: 7vw;
    height: 7vw;
    top: 1vw;
    right: 1vw;
  }
  .page_menu .page_menu_toggle span:nth-of-type(1) {
    width: 1.4vw;
    transform: translate(-50%, -50%) translateY(1.12vw) rotate(0deg);
  }
  .page_menu .page_menu_toggle span:nth-of-type(2) {
    width: 0.77vw;
    transform: translate(-50%, -50%) translateY(1.55vw) rotate(0deg);
  }
  .page_menu .page_menu_toggle p {
    font-size: 1.2vw;
  }
  .page_menu .page_menu_list {
    width: 24vw;
  }
  .page_menu .page_menu_list > a,
  .page_menu .page_menu_list > .menu_item > .page3_btn {
    font-size: 1.5vw;
  }
  .page_menu .page_menu_list > .menu_item .sub_menu a {
    font-size: 1.35vw;
  }
  /* KV / 第一幕 ======================================= */
  .header .logo_1st {
    width: 21vw;
    bottom: 2vw;
    left: 4vw;
  }
  .header .kv_con img {
    width: 87.5vw;
  }
  .header .header_menu {
    top: 1.5vw;
    min-width: 17vw;
  }
  .header .header_menu > a,
  .header .header_menu > .menu_item > .page3_btn {
    font-size: 1.55vw;
  }
  .header .header_menu > .menu_item {
    position: relative;
  }
  .header .header_menu > .menu_item:hover > .page3_btn:not(.comingsoon), .header .header_menu > .menu_item.is-open > .page3_btn:not(.comingsoon) {
    color: #fff;
  }
  .header .header_menu > .menu_item:hover > .page3_btn:not(.comingsoon)::before, .header .header_menu > .menu_item.is-open > .page3_btn:not(.comingsoon)::before {
    transform: scaleX(1);
    opacity: 1;
  }
  .header .header_menu > .menu_item .sub_menu a {
    font-size: 1.4vw;
  }
  .header .header_menu > .menu_item .sub_menu a::before {
    width: 0.8vw;
    margin: 0 0.4vw 0 0.8vw;
  }
  /* 區塊共用 ======================================= */
  .title_con img {
    height: 4.05vw;
  }
  /* 活動總覽 ======================================= */
  .index_con {
    background-size: 115% auto;
  }
  .index_con .title_con img {
    height: 7.29vw;
  }
  .index_con .info_con {
    padding: 4vw 0 5vw;
  }
  .event_slider {
    padding-top: 6.5vw;
    --event-slide: 62%;
  }
  .event_slider {
    --event-slide: 67.5%;
  }
  .event.swiper-slide .event_card .event_body {
    width: 52%;
  }
  .event.swiper-slide .event_card .event_body h3 {
    font-size: 2.7vw;
  }
  .event.swiper-slide .event_card .event_body h5 {
    font-size: 1.6vw;
  }
  .event.swiper-slide .event_card .event_body p {
    font-size: 1.22vw;
    line-height: 1.6;
  }
  .event.swiper-slide .event_card .event_body .event_info_btn {
    min-width: 9vw;
    height: 3vw;
    padding: 0 0.7vw;
    font-size: 1.4vw;
  }
  .event.swiper-slide .event_card .event_char {
    right: 0.46vw;
    bottom: 0.46vw;
  }
  .event.swiper-slide.event01 .event_card .event_char {
    width: 31.17vw;
  }
  .event.swiper-slide.event02 .event_card .event_char {
    width: 43.7vw;
    right: -4.65vw;
  }
  .event.swiper-slide.event03 .event_card .event_char {
    width: 41.4vw;
  }
  .event.swiper-slide.event04 .event_card .event_char {
    width: 33.34vw;
    right: 1.9vw;
  }
  .event.swiper-slide.event05 .event_card .event_char {
    width: 43vw;
  }
  .event_nav {
    width: 4vw;
    height: 4vw;
    border: 0.3vw solid #ffffff;
  }
  .event_nav::before {
    width: 1.2vw;
  }
  .event_nav:hover {
    filter: brightness(1.1);
  }
  .event_nav_prev {
    left: 8.5%;
  }
  .event_nav_next {
    right: 8.5%;
  }
  .event_dots {
    margin-top: 3vw;
  }
  .event_dots .swiper-pagination-bullet {
    width: 0.9vw;
    height: 0.9vw;
  }
  /* 交通切換共用 ======================================= */
  .transit_con {
    width: 82vw;
  }
  .transit_con .transit_switch .transit_tabs {
    gap: 3vw;
    margin-bottom: 1.56vw;
  }
  .transit_con .transit_switch .transit_tabs .transit_tab {
    height: 10.82vw;
    font-size: 1.5vw;
  }
  .transit_con .transit_switch .transit_tabs .transit_tab .icon {
    width: 4.7vw;
    height: 4.7vw;
  }
  .transit_con .transit_switch .transit_panels {
    border-image-slice: 50;
  }
  .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel {
    font-size: 1.35vw;
  }
  .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li small, .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel > p small {
    font-size: 1.15vw;
  }
  .transit_con .transit_switch .transit_map_btn {
    bottom: -1.5vw;
    width: 8.7vw;
    height: 2.8vw;
    font-size: 1.4vw;
  }
  /* 文字資訊共用 ======================================= */
  .info_txt {
    width: 75.29vw;
  }
  .info_txt .item h6 {
    font-size: 1.5vw;
  }
  .info_txt .item p, .info_txt .item li {
    font-size: 1.5vw;
  }
  .info_txt .item p small, .info_txt .item li small {
    font-size: 1.3vw;
  }
  .register_btn, .register_btn2, .register_btn3 {
    width: 18.94vw;
    height: 5.29vw;
    font-size: 2vw;
  }
  /* 週年展 ======================================= */
  .page1 {
    padding-top: 6vw;
  }
  .page1 .page1_s1 .top_info .char_con img {
    top: 0vw;
  }
  .page1 .page1_s2 h4 {
    font-size: 1.2vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame {
    width: 38.2vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame h5 {
    padding-top: 2.6vw;
    font-size: 1.6vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item {
    min-height: 19vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item::before {
    width: 28.8vw;
    margin-bottom: 0.5vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit {
    gap: 1.2vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit .pic_con {
    width: 5vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit h4 {
    font-size: 2.13vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item > p {
    width: 76%;
    font-size: 1.25vw;
  }
  .page1 .page1_s3 {
    min-height: 153vw;
    padding-top: 27vw;
    padding-bottom: 5vw;
    margin-top: -20vw;
  }
  .page1 .page1_s3 .s3_top_con .txt_con {
    font-size: 1.5vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con {
    width: 82vw;
    gap: 2.2vw;
    border-image-slice: 50;
    margin-bottom: 3.5vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt {
    width: 16vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt h6 {
    font-size: 2vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt p {
    font-size: 1.14vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word {
    width: 37.5vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word p {
    font-size: 1.45vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word p span {
    font-size: 1.16vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming {
    width: 15vw;
    height: 6.5vw;
    gap: 1vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn p, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming p {
    font-size: 1.48vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn img, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming img {
    width: 1.82vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 {
    width: 26.35vw;
    height: 8.52vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 img {
    width: 8.5vw;
    top: -2.5vw;
    left: 1.8vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 p {
    font-size: 2.55vw;
    margin-left: 6vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 p span {
    font-size: 2vw;
    margin-top: 0.4vw;
  }
  .page1 .page1_s3 .s3_bottom_con {
    margin-top: 8vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con .s2_pic01 {
    width: 19vw;
    top: 24.7vw;
    left: 77.64vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con .s2_pic02 {
    width: 20vw;
    top: 4.12vw;
    left: 4.7vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con .s2_pic03 {
    width: 13.29vw;
    top: 31.41vw;
    left: 10.29vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con .s2_pic04 {
    width: 15.23vw;
    top: 8.35vw;
    left: 77.64vw;
  }
  .page1 .page1_s3 .s3_bottom_con .txt_con {
    font-size: 1.5vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con h5 {
    font-size: 1.8vw;
    gap: 1.2vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con h5::before, .page1 .page1_s3 .s3_bottom_con .card_con h5::after {
    width: 0.9vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .coming_txt {
    font-size: 4vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .card_slide .card_slide_main {
    gap: 2.8vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .card_slide .card_item {
    width: 18.47vw;
  }
  .page1 .page1_s3.coming {
    min-height: 136vw;
  }
  .page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic01 {
    width: 19vw;
    top: 17.64vw;
    left: 77.64vw;
  }
  .page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic02 {
    width: 20vw;
    top: -8vw;
    left: 4.7vw;
  }
  .page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic03 {
    width: 13.29vw;
    top: 17vw;
    left: 10.35vw;
  }
  .page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic04 {
    width: 15.23vw;
    top: -3.23vw;
    left: 77.17vw;
  }
  .page1 .page1_s5 .char_con img {
    width: 87.64vw;
    left: 11.17vw;
  }
  .page1 .page1_s5 .main_map {
    width: 79.74vw;
  }
  .page1 .page1_s5 .main_map small {
    font-size: 1vw;
  }
  /* 相遇阿爾法・音浪塔 ======================================= */
  .page2 {
    padding-top: 6vw;
  }
  .page2 .top_info .char_con img {
    width: 16vw;
    right: -5vw;
  }
  .page2 .page2_event01 .title_con img {
    height: 8.7vw;
  }
  .page2 .page2_event01 .info_con {
    gap: 6.5vw;
  }
  .page2 .page2_event01 .info_con .pic_con {
    width: 18vw;
    top: -1.5vw;
  }
  .page2 .page2_event01 .info_con .txt_con {
    gap: 1.15vw;
  }
  .page2 .page2_event01 .info_con .txt_con::after {
    width: 1.5vw;
    left: -3.5vw;
    top: 0;
  }
  .page2 .page2_event01 .info_con .txt_con h6 {
    font-size: 1.65vw;
    padding-left: 8.5vw;
  }
  .page2 .page2_event01 .info_con .txt_con h6::before {
    width: 4.52vw;
  }
  .page2 .page2_event01 .info_con .txt_con ol {
    width: 48vw;
  }
  .page2 .page2_event01 .info_con .txt_con ol li {
    font-size: 1.35vw;
  }
  .page2 .page2_event01 .info_con .txt_con .notice_con {
    font-size: 1.15vw;
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn, .page2 .page2_event01 .info_con .txt_con .list_btn_coming {
    font-size: 1.7vw;
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn img, .page2 .page2_event01 .info_con .txt_con .list_btn_coming img {
    width: 1.9vw;
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn small, .page2 .page2_event01 .info_con .txt_con .list_btn_coming small {
    font-size: 0.9vw;
    bottom: -0.5vw;
    letter-spacing: 0.1vw;
    padding: 0.2vw 1.2vw;
  }
  .page2_black {
    height: 190vw;
    padding-top: 16vw;
  }
  .page2_black .txt_con {
    font-size: 1.5vw;
  }
  .page2_black .page2_event02 .title_con img {
    height: 8.7vw;
  }
  .page2_black .page2_event02 .pic_con {
    width: 44vw;
  }
  .page2_black .page2_event02 .char_con img {
    width: 81.88vw;
    top: 0;
    left: 12.23vw;
  }
  .page2_black .shop_con .shop_list {
    width: 88vw;
  }
  .page2_black .shop_con .shop_list .list_tt {
    gap: 10px;
  }
  .page2_black .shop_con .shop_list .list_tt h5 {
    gap: 1vw;
    font-size: 1.55vw;
  }
  .page2_black .shop_con .shop_list .list_tt h5::before, .page2_black .shop_con .shop_list .list_tt h5::after {
    width: 0.8vw;
  }
  .page2_black .shop_con .shop_list .item_all {
    gap: 3.5vw;
    margin-top: 3vw;
  }
  .page2_black .shop_con .shop_list .item_all .item {
    width: 18.82vw;
    border-image-slice: 50;
  }
  .page2_black .shop_con .shop_list .item_all .item .pic_con {
    margin-top: -6vw;
    width: 11vw;
    height: 11vw;
    border: 0.65vw solid #4c3629;
  }
  .page2_black .shop_con .shop_list .item_all .item .item_name {
    font-size: 1.3vw;
    font-weight: 500;
  }
  .page2_black .shop_con .shop_list .item_all .item .item_price {
    font-size: 1.2vw;
    padding: 0.2vw 0;
  }
  .page2_black .event_card .char_con .s2_pic01 {
    width: 13.94vw;
    left: 81.76vw;
  }
  .page2_black .event_card .char_con .s2_pic02 {
    width: 21.47vw;
    top: 30vw;
    left: 69.71vw;
  }
  .page2_black .event_card .char_con .s2_pic03 {
    width: 20.53vw;
    left: 11.64vw;
  }
  .page2_black .event_card .char_con .s2_pic04 {
    width: 13.17vw;
    left: 5.1vw;
  }
  .page2_black .event_card .card_con h5 {
    font-size: 1.9vw;
    margin-bottom: 3vw;
  }
  .page2_black .event_card .card_con h5::before, .page2_black .event_card .card_con h5::after {
    width: 0.9vw;
  }
  .page2_black .event_card .card_con .card_item {
    width: 18.47vw;
  }
  .page2_black.coming {
    height: 138vw;
  }
  .page2_black.coming .coming_txt {
    font-size: 4vw;
  }
  .page2_black.coming .event_card .s2_pic01 {
    width: 13.94vw;
    top: -6.58vw;
    left: 83.05vw;
  }
  .page2_black.coming .event_card .s2_pic02 {
    width: 21.47vw;
    top: 14.23vw;
    left: 72.11vw;
  }
  .page2_black.coming .event_card .s2_pic03 {
    width: 20.52vw;
    top: 3.05vw;
    left: 4.58vw;
  }
  .page2_black.coming .event_card .s2_pic04 {
    width: 10vw;
    top: -13.52vw;
    left: 12.17vw;
  }
  /* 徵稿比賽活動辦法 ======================================= */
  .page3 {
    padding-top: 6vw;
  }
  .page3 .main_word {
    margin: 4vw 0 2.5vw;
    width: 80vw;
    padding: 2.6vw 0.2vw;
  }
  .page3 .main_word .char_con img {
    width: 17.47vw;
    top: -12.5vw;
  }
  .page3 .main_word h4 {
    font-size: 1.36vw;
    padding-left: 16.5vw;
  }
  .page3 .main_word .time_con {
    padding-left: 16.5vw;
    font-size: 1.4vw;
  }
  .page3 .main_word .time_con p span {
    font-size: 1.25vw;
  }
  .page3 .event_txt_con {
    width: 82vw;
  }
  .page3 .event_txt_con h3 {
    font-size: 2.2vw;
  }
  .page3 .event_txt_con .list_con, .page3 .event_txt_con > p {
    font-size: 1.3vw;
  }
  .page3 .event_txt_con > p {
    padding: 0 4vw;
    font-size: 1.3vw;
  }
  .page3 .event_txt_con .list_con {
    padding: 0 2.8vw;
  }
  .page3 .event_txt_con .list_con .item .item_tt {
    flex: 0 0 10vw;
    width: 10vw;
  }
  .page3 .event_txt_con .list_con .table_con {
    width: 94%;
  }
  .page3 .event_txt_con .list_con .table_con small {
    font-size: 1.25vw;
  }
  .page3 .event_txt_con .list_con ul li::before {
    font-size: 1.1vw;
    margin-right: 0.5vw;
  }
  .page3 .event_txt_con .list_con2 {
    font-size: 1.3vw;
    padding: 0 2.6vw;
  }
  .page3 .event_txt_con .list_con2 .item .item_tt {
    flex: 0 0 12vw;
    width: 12vw;
  }
  .page3 .event_txt_con .list_con2 .item .item_ul li::before {
    font-size: 1.1vw;
    margin-right: 0.5vw;
  }
  .page3 .event_txt_con .list_con2 .item p {
    padding-left: 12vw;
  }
  .page3 .event_txt_con .gift_con .gift_tt {
    padding: 1vw 0;
    font-size: 1.6vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list {
    gap: 1.6vw;
    padding: 3vw 2.5vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item {
    gap: 1vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item img {
    width: 8vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item span {
    font-size: 1.2vw;
  }
  .page3 .event_txt_con .gift_con .gift_right {
    min-width: 23.5vw;
  }
  .page3 .event_txt_con .gift_con .gift_right ul {
    padding: 2vw 2vw;
  }
  .page3 .event_txt_con .gift_con .gift_right ul li {
    padding: 0.5vw 0;
    font-size: 1.2vw;
  }
  .page3 .event_txt_con .gift_con .gift_right ul li::before {
    font-size: 1.1vw;
    margin-right: 0.5vw;
  }
  .page3 .tab_con {
    width: 80vw;
    font-size: 1.3vw;
  }
  .page3 .tab_con .tab_btn a {
    min-height: 3.5vw;
    font-size: 1.6vw;
  }
  .page3 .tab_con .tab_panels .register_btn {
    width: 19vw;
    height: 6.5vw;
    margin: 2.2vw auto 1vw;
    gap: 0.3vw;
    font-size: 2vw;
  }
  .page3 .tab_con .tab_panels .register_btn span {
    gap: 0.6vw;
    font-size: 1.1vw;
  }
  .page3 .tab_con .tab_panels .register_btn span::before, .page3 .tab_con .tab_panels .register_btn span::after {
    content: "◆";
    font-size: 0.6vw;
  }
  .page3 .tab_con .tab_panels .tab1_con h6,
  .page3 .tab_con .tab_panels .tab2_con h6,
  .page3 .tab_con .tab_panels .tab3_con h6,
  .page3 .tab_con .tab_panels .tab4_con h6 {
    font-size: 1.55vw;
  }
  .page3_2 .gallery_con {
    width: 88vw;
  }
  .page3_2 .tab_con {
    font-size: 1.3vw;
  }
  .page3_2 .tab_con .tab_btn a {
    min-height: 3.5vw;
    font-size: 1.55vw;
    width: 17vw;
  }
  .page3_2 .tab_con > h5 {
    font-size: 2vw;
  }
  .page3_2 .tab_con .tab_panels .tab1_con.is-active,
  .page3_2 .tab_con .tab_panels .tab2_con.is-active,
  .page3_2 .tab_con .tab_panels .tab3_con.is-active,
  .page3_2 .tab_con .tab_panels .tab4_con.is-active {
    gap: 3vw;
  }
  .page3_2 .tab_con .tab_panels .item {
    border-radius: 0.8vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info {
    gap: 0.9vw;
    padding: 1.1vw 1.25vw 1.2vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .icon {
    width: 5.6vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .txt_con h6 {
    font-size: 1.4vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .txt_con p {
    font-size: 1.2vw;
  }
  .gallery_popup_box {
    width: min(82vw, 1100px);
  }
  .gallery_popup_close {
    top: -4.8vw;
    width: 3.2vw;
    height: 3.2vw;
    border: 0.2vw solid rgba(255, 255, 255, 0.6);
    outline: 0.15vw solid #967352;
  }
  .gallery_popup_close span {
    width: 2vw;
    margin: -1.5px 0 0 -1vw;
  }
  .gallery_popup_nav {
    width: 4vw;
    height: 4vw;
  }
  .gallery_popup_nav::before {
    width: 1.1vw;
  }
  .gallery_popup_prev {
    left: -5vw;
  }
  .gallery_popup_next {
    right: -5vw;
  }
  .gallery_popup_card .bottom_info {
    padding: 1.3vw 1.8vw 1.5vw;
    gap: 1.5vw;
  }
  .gallery_popup_card .bottom_info .icon {
    width: 6vw;
  }
  .gallery_popup_card .bottom_info .txt_con h6 {
    font-size: 1.6vw;
  }
  .gallery_popup_card .bottom_info .txt_con p {
    font-size: 1.5vw;
  }
  /* 免費登入活動 ======================================= */
  .page4 {
    padding-top: 6vw;
  }
  .page4 .main_word {
    width: 77vw;
    padding: 1.3vw 4vw;
  }
  .page4 .main_word .char_con img {
    width: 35.4vw;
    right: -9.5vw;
    top: -10.2vw;
  }
  .page4 .main_word h4 {
    font-size: 1.6vw;
  }
  .page4 .info_txt .item p, .page4 .info_txt .item h6 {
    font-size: 1.5vw;
  }
  .page4 .info_txt .item ul li {
    font-size: 1.5vw;
  }
  .register_notice.p4 ul {
    width: 74vw;
  }
  /* 活動報名 ======================================= */
  .register {
    padding-top: 6vw;
  }
  .register .info_con {
    width: 76vw;
  }
  .register .info_con .txt_con {
    font-size: 1.5vw;
  }
  .register .info_con .txt_con > div p {
    padding-right: 11vw;
  }
  .register .info_con .txt_con .register2_info {
    font-size: 1.5vw;
    margin-bottom: 4vw;
  }
  .register .info_con .txt_con .register2_info .icon_pic {
    padding-right: 2.34vw;
    font-size: 1.75vw;
  }
  .register .info_con .txt_con .register2_info .icon_pic img {
    width: 4vw;
  }
  .register .info_con .txt_con .register2_info .icon_pic .check_icon {
    width: 6.5vw;
  }
  .register .info_con .txt_con .register2_info:last-child p span {
    font-size: 1.75vw;
  }
  .register .info_con .txt_con .register4_info {
    padding-left: 6vw;
    font-size: 1.6vw;
  }
  .register .info_con .txt_con .register4_info .icon_pic .check_icon {
    width: 7vw;
  }
  .register .info_con .txt_con .register4_info:last-child p {
    width: 86%;
    font-size: 1.4vw;
  }
  .register .info_con .txt_con .register4_info:last-child p span {
    font-size: 1.8vw;
  }
  .register .info_con .char_con img {
    width: 16.5vw;
    right: -5.2vw;
  }
  .register .info_con .char_con img.register_char2 {
    width: 21.76vw;
    right: -7vw;
  }
  .register .item_con .item_info {
    width: 87vw;
  }
  .register .item_con .item_info .account_con {
    font-size: 1.55vw;
  }
  .register .item_con .item_frame.form_fields {
    font-size: 1.5vw;
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text]::-moz-placeholder {
    font-size: 1.4vw;
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text]::placeholder {
    font-size: 1.4vw;
  }
  .register .item_con .item_frame .check_frame {
    gap: 2vw;
    font-size: 1.4vw;
    border-bottom: 0.3vw solid #c4ac96;
  }
  .register .item_con .item_frame .check_frame > div {
    padding-left: 1.5vw;
  }
  .register .item_con .item_frame .check_frame > div span {
    margin: 0 0.3vw;
  }
  .register .item_con .item_frame .check_frame > div::before {
    width: 0.78vw;
    background: url(../images/register/list_icon.png) center no-repeat;
    background-size: 100% auto;
    margin-right: 0.5vw;
  }
  .register .item_con .list_frame {
    padding: 1.5vw 1.5vw 1.7vw;
    font-size: 1.4vw;
  }
  .register .sub_tit {
    padding: 3vw;
  }
  .register .sub_tit h5 {
    font-size: 1.7vw;
  }
  .register .list_frame {
    font-size: 1.4vw;
  }
  .register .list_slider {
    --list-gap: 2.3vw;
    width: 87vw;
  }
  .register .list_slider .list_con .item {
    font-size: 1.35vw;
    line-height: 1.9;
  }
  .register .list_slider .list_con .item .tt_con .sub_title h6 {
    font-size: 2.5vw;
  }
  .register .list_slider .list_con .item .tt_con .sub_title h6 span {
    font-size: 5vw;
    margin: 0 0.8vw;
  }
  .register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .valid::after {
    font-size: 1.75vw;
    margin-left: 0.7vw;
  }
  .register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .invalid::after {
    font-size: 1.75vw;
    margin-left: 0.7vw;
  }
  .register .select_all input {
    width: 1.7vw;
    height: 1.7vw;
  }
  .register .select_all span {
    font-size: 1.55vw;
  }
  .register .register2_btn {
    gap: 3.5vw;
    margin: 3.8vw 0 6vw;
  }
  .register .agree_check {
    gap: 1vw;
    margin-top: 2.5vw;
  }
  .register .agree_check input {
    width: 1.7vw;
    height: 1.7vw;
    min-width: 16px;
  }
  .register .agree_check span {
    font-size: 1.55vw;
  }
  .register .end_con {
    width: 72vw;
    border-image-slice: 50;
    margin-left: -4vw;
  }
  #register4 {
    padding-bottom: 5vw;
  }
  .register_notice .notice_btn {
    gap: 1.8vw;
    margin: 5vw auto 0;
  }
  .register_notice .notice_btn a {
    min-width: 15vw;
    height: 4.2vw;
    font-size: 1.9vw;
  }
  .register_notice ul {
    width: 78vw;
    font-size: 1.3vw;
  }
  .register_notice ul li {
    padding-left: 1.8vw;
  }
  .register_notice .note_scroll {
    width: 78vw;
    max-height: 36.5vw;
  }
  .register_notice .note_scroll > p,
  .register_notice .note_scroll p {
    font-size: 1.3vw;
  }
  .register_notice .note_scroll h6 {
    font-size: 1.4vw;
  }
  .register_notice .note_scroll ul, .register_notice .note_scroll p {
    font-size: 1.3vw;
  }
  .register_notice.p3 {
    padding-bottom: 5vw;
  }
  /* 懸浮報名按鈕 ======================================= */
  .floating-button {
    right: 0.8vw;
  }
  .floating-button a {
    width: 6.47vw;
    height: 14.76vw;
  }
  .floating-button a img {
    top: -6.3vw;
    width: 5.88vw;
  }
  .floating-button a p {
    padding-top: 0.2vw;
    font-size: 1.85vw;
  }
  .floating-button a p span {
    font-size: 1.45vw;
  }
  .floating-button a.page3_btn {
    width: 5.41vw;
    height: 10.05vw;
  }
  .floating-button a.page3_btn img {
    width: 6.53vw;
    top: -3.5vw;
  }
  .floating-button a.page3_btn p {
    padding-top: 0.4vw;
    font-size: 1.6vw;
  }
  /* popup ======================================= */
  .transit_map_popup_head {
    width: 90%;
  }
  .transit_map_popup_head.map {
    width: 90%;
  }
  .transit_map_popup_frame {
    width: 92%;
  }
  .transit_map_popup_frame.map {
    width: 90%;
  }
  #list_popup .transit_map_popup_frame {
    border-image-slice: 70;
    border-image-source: url(../images/page2/popup_bg_m.webp);
    border-image-width: 2.8vw;
  }
  .page2_alpha h4 {
    width: 95%;
    margin: 2vw 0 1vw;
  }
  .page2_alpha .alpha_table .table_tt > div:last-child, .page2_alpha .alpha_table .table_item > div:last-child {
    width: 46%;
  }
  .page2_alpha .alpha_table .table_tt {
    font-size: 1.5vw;
  }
  .page2_alpha .alpha_table .table_list .table_item .place, .page2_alpha .alpha_table .table_list .table_item .time {
    font-size: 1.52vw;
  }
  .page2_alpha .alpha_table .table_list .table_item .time span {
    font-size: 1.4vw;
  }
  .page2_alpha .alpha_table .table_list .table_item .txt {
    font-size: 1.3vw;
  }
  .page1_sale_list h4 img {
    height: 2.64vw;
  }
  .page1_sale_list .sale_list .sale_item {
    width: 15.17vw;
  }
  .page1_sale_list .sale_list .sale_item .sale_item_zoom {
    width: 2vw;
    height: 2vw;
    top: 1.1vw;
    right: 1.1vw;
  }
  .page1_sale_list .sale_list .sale_item .pic {
    width: 8vw;
    height: 6vw;
  }
  .page1_sale_list .sale_list .sale_item .name {
    font-size: 1.1vw;
  }
  .page1_sale_list .sale_list .sale_item .price {
    font-size: 1.05vw;
  }
  .page1_sale_list .sale_list.list1 .sale_item .pic {
    height: 5.5vw;
  }
  .page1_sale_list .notice_txt {
    font-size: clamp(0.7rem, 1.15vw, 1.2rem);
  }
  /* 報名確認彈窗 ======================================= */
  .agree_confirm_popup_box {
    width: 40vw;
    padding: 3vw 3.6vw 2.6vw;
    gap: 2.2vw;
  }
  .agree_confirm_popup p {
    font-size: 1.38vw;
  }
  .agree_confirm_popup .agree_confirm_ok {
    min-width: 10vw;
    height: 3.2vw;
    font-size: 1.55vw;
  }
}
@media (max-width: 1100px) {
  /* KV / 第一幕 ======================================= */
  .header {
    height: 48vw;
  }
  .header .logo_1st {
    width: 20vw;
  }
  .header .kv_con img {
    width: 81vw;
    margin-left: 12vw;
  }
  .header .header_menu {
    gap: 0.4vw;
  }
  .header .header_menu > a,
  .header .header_menu > .menu_item > .page3_btn {
    font-size: 1.5vw;
  }
}
@media (max-width: 1000px) {
  /* 漢堡選單 ======================================= */
  .page_menu.is-menu-open .page_menu_toggle {
    width: 6vw;
    height: 6vw;
  }
  .page_menu .page_menu_toggle {
    width: 8vw;
    height: 8vw;
  }
  .page_menu .page_menu_toggle span:nth-of-type(1) {
    width: 2.2vw;
    transform: translate(-50%, -50%) translateY(1.3vw) rotate(0deg);
  }
  .page_menu .page_menu_toggle span:nth-of-type(2) {
    width: 0.9vw;
    transform: translate(-50%, -50%) translateY(1.9vw) rotate(0deg);
  }
  .page_menu .page_menu_toggle::before {
    inset: 3px;
  }
  .page_menu .page_menu_toggle::after {
    inset: 4.5px;
  }
  .page_menu .page_menu_toggle p {
    font-size: 1.35vw;
  }
  .page_menu .page_menu_list {
    width: 32vw;
    gap: 2.5vw;
    padding: 12vw 0 0 0.78vw;
  }
  .page_menu .page_menu_list > a,
  .page_menu .page_menu_list > .menu_item > .page3_btn {
    font-size: clamp(1rem, 1.8vw, 1.1rem);
  }
  .page_menu .page_menu_list > .menu_item .sub_menu {
    margin-top: 1.5vw;
  }
  .page_menu .page_menu_list > .menu_item .sub_menu a {
    font-size: clamp(0.8rem, 1.6vw, 0.95rem);
    gap: 0.7vw;
  }
  .page_menu .page_menu_list > .menu_item .sub_menu a::before {
    width: 1vw;
  }
  /* KV / 第一幕 ======================================= */
  .header .logo_1st {
    width: 18vw;
  }
  .header .kv_con img {
    margin-left: 7vw;
  }
  .header .header_menu {
    gap: 0.86vw;
    min-width: 19vw;
  }
  .header .header_menu > a,
  .header .header_menu > .menu_item > .page3_btn {
    font-size: clamp(0.8rem, 1.65vw, 1.1rem);
  }
  .header .header_menu > .menu_item .sub_menu a {
    font-size: clamp(0.7rem, 1.45vw, 1rem);
  }
  /* 區塊共用 ======================================= */
  .title_con img {
    height: 4.5vw;
  }
  /* 活動總覽 ======================================= */
  .index_con {
    background-size: 145% auto;
  }
  .index_con .title_con img {
    height: 8vw;
  }
  .index_con .info_con {
    padding: 6vw 0 6vw;
  }
  .event_slider {
    padding-top: 6.5vw;
    --event-slide:90%;
  }
  .event_slider {
    --event-slide:90%;
  }
  .event.swiper-slide .event_card .event_body {
    width: 53.9%;
    gap: 1.8vw;
  }
  .event.swiper-slide .event_card .event_body h3 {
    font-size: 3.1vw;
    margin-bottom: 0.2vw;
  }
  .event.swiper-slide .event_card .event_body h5 {
    font-size: 1.9vw;
  }
  .event.swiper-slide .event_card .event_body p {
    font-size: clamp(0.65rem, 1.53vw, 1rem);
    line-height: 1.7;
    letter-spacing: normal;
  }
  .event.swiper-slide .event_card .event_body .event_info_btn {
    min-width: 12vw;
    height: 4vw;
    font-size: 1.8vw;
  }
  .event.swiper-slide .event_card .event_char {
    right: 0.46vw;
  }
  .event.swiper-slide .event_card .event_frame {
    aspect-ratio: 1149/509;
  }
  .event.swiper-slide.event01 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_01_pad.webp);
    mask-image: url(../images/index/event_bg_01_pad.webp);
  }
  .event.swiper-slide.event01 .event_card .event_frame {
    background: url(../images/index/event_bg_01_pad.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event01 .event_card .event_char {
    right: 0.7vw;
    width: 36vw;
  }
  .event.swiper-slide.event01 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_01_pad.webp);
    mask-image: url(../images/index/event_char_01_pad.webp);
  }
  .event.swiper-slide.event02 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_02_pad.webp);
    mask-image: url(../images/index/event_bg_02_pad.webp);
  }
  .event.swiper-slide.event02 .event_card .event_frame {
    background: url(../images/index/event_bg_02_pad.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event02 .event_card .event_char {
    width: 62%;
    right: -7.8vw;
  }
  .event.swiper-slide.event02 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_02_pad.webp);
    mask-image: url(../images/index/event_char_02_pad.webp);
  }
  .event.swiper-slide.event03 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_03_pad.webp);
    mask-image: url(../images/index/event_bg_03_pad.webp);
  }
  .event.swiper-slide.event03 .event_card .event_frame {
    background: url(../images/index/event_bg_03_pad.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event03 .event_card .event_char {
    width: 59.9%;
  }
  .event.swiper-slide.event03 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_03_pad.webp);
    mask-image: url(../images/index/event_char_03_pad.webp);
  }
  .event.swiper-slide.event04 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_04_pad.webp);
    mask-image: url(../images/index/event_bg_04_pad.webp);
  }
  .event.swiper-slide.event04 .event_card .event_frame {
    background: url(../images/index/event_bg_04_pad.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event04 .event_card .event_char {
    width: 48.3%;
    right: 0.46vw;
  }
  .event.swiper-slide.event04 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_04_pad.webp);
    mask-image: url(../images/index/event_char_04_pad.webp);
  }
  .event.swiper-slide.event05 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_05_pad.webp);
    mask-image: url(../images/index/event_bg_05_pad.webp);
  }
  .event.swiper-slide.event05 .event_card .event_frame {
    background: url(../images/index/event_bg_05_pad.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event05 .event_card .event_char {
    width: 61.5%;
    right: 2.3vw;
  }
  .event.swiper-slide.event05 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_05_pad.webp);
    mask-image: url(../images/index/event_char_05_pad.webp);
  }
  .event_nav {
    width: 5vw;
    height: 5vw;
    border: 0.45vw solid #ffffff;
  }
  .event_nav_prev {
    left: 2%;
  }
  .event_nav_next {
    right: 2%;
  }
  .event_dots {
    margin-top: 3vw;
  }
  .event_dots .swiper-pagination-bullet {
    width: 0.9vw;
    height: 0.9vw;
  }
  /* 交通切換共用 ======================================= */
  .transit_con .transit_switch {
    margin: 4vw 0 7vw;
  }
  .transit_con .transit_switch .transit_tabs .transit_tab {
    height: 13vw;
    font-size: 2vw;
  }
  .transit_con .transit_switch .transit_tabs .transit_tab .icon {
    width: 5.5vw;
    height: 5.5vw;
  }
  .transit_con .transit_switch .transit_panels {
    border-image-slice: 40;
  }
  .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel {
    font-size: 1.85vw;
  }
  .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li small, .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel > p small {
    font-size: 1.75vw;
  }
  .transit_con .transit_switch .transit_map_btn {
    bottom: -1.5vw;
    width: 10vw;
    height: 3.4vw;
    font-size: 1.7vw;
  }
  /* 文字資訊共用 ======================================= */
  .info_txt {
    width: 82vw;
  }
  .info_txt .item h6 {
    font-size: 2vw;
  }
  .info_txt .item p, .info_txt .item li {
    font-size: 2vw;
  }
  .info_txt .item p small, .info_txt .item li small {
    font-size: 1.8vw;
  }
  .register_btn, .register_btn2, .register_btn3 {
    width: 22vw;
    height: 6vw;
    font-size: 2.4vw;
  }
  /* 週年展 ======================================= */
  .page1 .page1_s2 h4 {
    font-size: 1.8vw;
  }
  .page1 .page1_s2 .gift_con {
    gap: 2vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame {
    width: 43.9vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame h5 {
    font-size: 2vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item {
    min-height: 24vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item::before {
    width: 34vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit .pic_con {
    width: 7vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit h4 {
    font-size: 2.7vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item > p {
    width: 82%;
    font-size: 1.75vw;
  }
  .page1 .page1_s3 {
    min-height: 192vw;
    background-size: auto 100%;
    padding-top: 31vw;
    margin-top: -25vw;
  }
  .page1 .page1_s3 .s3_top_con .txt_con {
    font-size: 2vw;
    margin: 4.5vw 0;
  }
  .page1 .page1_s3 .s3_top_con .sale_con {
    width: 90vw;
    gap: 2.8vw;
    border-image-slice: 40;
    margin-bottom: 5.5vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt {
    width: 23vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt h6 {
    font-size: 2.6vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt p {
    font-size: 1.7vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word {
    width: 38vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word p {
    font-size: 1.9vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word p span {
    font-size: 1.7vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming {
    width: 17.5vw;
    height: 9vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn p, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming p {
    font-size: 1.85vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn img, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming img {
    width: 2.5vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn small, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming small {
    bottom: -1.5vw;
    font-size: 1.3vw;
    padding: 0.3vw 1.5vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 {
    width: 32vw;
    height: 10.5vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 img {
    width: 11vw;
    top: -4.5vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 p {
    font-size: 3vw;
    margin-left: 8vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 p span {
    font-size: 2.4vw;
    margin-top: 0.5vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con .s2_pic01 {
    left: 75vw;
    top: 32vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con .s2_pic02 {
    top: 9vw;
    left: 2vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con .s2_pic03 {
    top: 37vw;
    left: 12vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con .s2_pic04 {
    left: 82vw;
  }
  .page1 .page1_s3 .s3_bottom_con .txt_con {
    font-size: 2vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con h5 {
    font-size: 2.3vw;
    margin-bottom: 3vw;
    margin-bottom: 5.2vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con h5::before, .page1 .page1_s3 .s3_bottom_con .card_con h5::after {
    width: 1.2vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .coming_txt {
    font-size: 5.5vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .card_slide .card_slide_main {
    gap: 2.8vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .card_slide .card_item {
    width: 22vw;
  }
  .page1 .page1_s3.coming {
    min-height: 171vw;
    background-size: auto 100%;
  }
  .page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic01 {
    left: 74vw;
  }
  .page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic02 {
    top: -13vw;
    left: 2vw;
  }
  .page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic03 {
    top: 20vw;
  }
  .page1 .page1_s3.coming .s3_bottom_con .char_con .s2_pic04 {
    left: 80vw;
  }
  .page1 .page1_s5 .main_map {
    width: 84vw;
  }
  .page1 .page1_s5 .main_map small {
    font-size: 1.5vw;
  }
  /* 相遇阿爾法・音浪塔 ======================================= */
  .page2 .top_info .char_con img {
    width: 20vw;
    right: -6vw;
    top: -3vw;
  }
  .page2 .page2_event01 {
    margin-top: 5vw;
  }
  .page2 .page2_event01 .title_con img {
    height: 9.8vw;
  }
  .page2 .page2_event01 .info_con {
    margin-top: 4.5vw;
  }
  .page2 .page2_event01 .info_con .pic_con {
    width: 21vw;
    top: -1.5vw;
  }
  .page2 .page2_event01 .info_con .txt_con {
    width: 59.5vw;
    gap: 1.45vw;
  }
  .page2 .page2_event01 .info_con .txt_con::after {
    width: 1.88vw;
  }
  .page2 .page2_event01 .info_con .txt_con h6 {
    font-size: 2.1vw;
    padding-left: 11vw;
  }
  .page2 .page2_event01 .info_con .txt_con h6::before {
    width: 5.6vw;
  }
  .page2 .page2_event01 .info_con .txt_con ol {
    width: 59.5vw;
  }
  .page2 .page2_event01 .info_con .txt_con ol li {
    font-size: 1.7vw;
  }
  .page2 .page2_event01 .info_con .txt_con .notice_con {
    font-size: 1.4vw;
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn, .page2 .page2_event01 .info_con .txt_con .list_btn_coming {
    font-size: 2.3vw;
    padding: 1.6vw 2.5vw;
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn img, .page2 .page2_event01 .info_con .txt_con .list_btn_coming img {
    width: 2.5vw;
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn small, .page2 .page2_event01 .info_con .txt_con .list_btn_coming small {
    font-size: 1.1vw;
    bottom: -1vw;
    padding: 0.3vw 1.8vw;
  }
  .page2_black {
    background-size: auto 100%;
    height: 234vw;
    padding-top: 20vw;
  }
  .page2_black .txt_con {
    font-size: 2vw;
    margin: 4.5vw 0;
  }
  .page2_black .page2_event02 .title_con img {
    height: 9.8vw;
  }
  .page2_black .page2_event02 .pic_con {
    width: 54vw;
  }
  .page2_black .shop_con .shop_list {
    width: 92vw;
  }
  .page2_black .shop_con .shop_list .list_tt h5 {
    font-size: 2.2vw;
  }
  .page2_black .shop_con .shop_list .list_tt h5::before, .page2_black .shop_con .shop_list .list_tt h5::after {
    width: 1vw;
  }
  .page2_black .shop_con .shop_list .item_all {
    gap: 2vw;
  }
  .page2_black .shop_con .shop_list .item_all .item {
    width: 21vw;
    border-image-slice: 35;
    margin-top: 5vw;
  }
  .page2_black .shop_con .shop_list .item_all .item .pic_con {
    margin-top: -7vw;
    width: 14vw;
    height: 14vw;
    border: 0.8vw solid #4c3629;
  }
  .page2_black .shop_con .shop_list .item_all .item .item_name {
    font-size: 1.55vw;
  }
  .page2_black .shop_con .shop_list .item_all .item .item_price {
    font-size: 1.5vw;
    padding: 0.3vw 0;
  }
  .page2_black .event_card .char_con .s2_pic01 {
    top: 8vw;
  }
  .page2_black .event_card .char_con .s2_pic02 {
    top: 34vw;
  }
  .page2_black .event_card .char_con .s2_pic03 {
    top: 28vw;
  }
  .page2_black .event_card .char_con .s2_pic04 {
    left: 2vw;
    top: 5vw;
  }
  .page2_black .event_card .card_con h5 {
    font-size: 2.2vw;
  }
  .page2_black .event_card .card_con h5::before, .page2_black .event_card .card_con h5::after {
    width: 1vw;
  }
  .page2_black .event_card .card_con .card_item {
    width: 22vw;
  }
  .page2_black.coming {
    height: 174vw;
    background-size: auto 100%;
  }
  .page2_black.coming .shop_con {
    margin: 10vw 0;
  }
  .page2_black.coming .coming_txt {
    font-size: 5.5vw;
  }
  .page2_black.coming .event_card .s2_pic01 {
    top: 2vw;
  }
  .page2_black.coming .event_card .s2_pic02 {
    top: 22vw;
  }
  .page2_black.coming .event_card .s2_pic03 {
    width: 18vw;
    top: 15vw;
    left: 2vw;
  }
  .page2_black.coming .event_card .s2_pic04 {
    top: -10vw;
    left: 12.17vw;
  }
  /* 徵稿比賽活動辦法 ======================================= */
  .page3 .main_word {
    margin: 5vw 0 4.5vw;
    width: 90vw;
    padding: 3vw 0.2vw;
  }
  .page3 .main_word .char_con img {
    width: 20vw;
    top: -10vw;
    left: -1.25vw;
  }
  .page3 .main_word h4 {
    font-size: 1.85vw;
    padding-left: 19.5vw;
    line-height: 1.6;
  }
  .page3 .main_word .time_con {
    padding-left: 19.5vw;
    font-size: 1.85vw;
  }
  .page3 .main_word .time_con p span {
    font-size: 1.65vw;
  }
  .page3 .event_txt_con {
    width: 90vw;
  }
  .page3 .event_txt_con h3 {
    font-size: 2.8vw;
  }
  .page3 .event_txt_con .list_con, .page3 .event_txt_con > p {
    font-size: 1.75vw;
  }
  .page3 .event_txt_con > p {
    font-size: 1.75vw;
  }
  .page3 .event_txt_con .list_con {
    padding: 0 3.5vw;
  }
  .page3 .event_txt_con .list_con .item .item_tt {
    flex: 0 0 13vw;
    width: 13vw;
  }
  .page3 .event_txt_con .list_con .table_con {
    width: 100%;
  }
  .page3 .event_txt_con .list_con .table_con small {
    font-size: 1.7vw;
  }
  .page3 .event_txt_con .list_con ul li::before {
    font-size: 1.55vw;
  }
  .page3 .event_txt_con .list_con2 {
    font-size: 1.7vw;
  }
  .page3 .event_txt_con .list_con2 .item .item_tt {
    flex: 0 0 15vw;
    width: 15vw;
  }
  .page3 .event_txt_con .list_con2 .item p {
    padding-left: 15vw;
  }
  .page3 .event_txt_con .gift_con {
    gap: 1.3vw;
  }
  .page3 .event_txt_con .gift_con .gift_tt {
    padding: 1.5vw 0;
    font-size: 2vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list {
    gap: 2vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item {
    gap: 1vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item img {
    width: 10vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item span {
    font-size: 1.4vw;
  }
  .page3 .event_txt_con .gift_con .gift_right ul li {
    font-size: 1.4vw;
  }
  .page3 .event_txt_con .gift_con .gift_right ul li::before {
    font-size: 1vw;
  }
  .page3 .tab_con {
    width: 88vw;
    font-size: 1.7vw;
  }
  .page3 .tab_con .tab_btn a {
    font-size: 2vw;
  }
  .page3 .tab_con .tab_panels .register_btn {
    width: 24vw;
    height: 8vw;
    font-size: 2.3vw;
    gap: 0.5vw;
  }
  .page3 .tab_con .tab_panels .register_btn span {
    font-size: 1.4vw;
  }
  .page3 .tab_con .tab_panels .register_btn span::before, .page3 .tab_con .tab_panels .register_btn span::after {
    font-size: 0.7vw;
  }
  .page3 .tab_con .tab_panels .tab1_con h6,
  .page3 .tab_con .tab_panels .tab2_con h6,
  .page3 .tab_con .tab_panels .tab3_con h6,
  .page3 .tab_con .tab_panels .tab4_con h6 {
    font-size: 1.85vw;
  }
  .page3_2 {
    padding-top: 6vw;
  }
  .page3_2 .gallery_con {
    width: 88vw;
  }
  .page3_2 .tab_con {
    margin: 5vw auto 0;
  }
  .page3_2 .tab_con .tab_btn a {
    font-size: 2vw;
    width: 20.8vw;
  }
  .page3_2 .tab_con > h5 {
    font-size: 2.6vw;
    margin: 4vw 0 3vw;
  }
  .page3_2 .tab_con .tab_panels .tab1_con.is-active,
  .page3_2 .tab_con .tab_panels .tab2_con.is-active,
  .page3_2 .tab_con .tab_panels .tab3_con.is-active,
  .page3_2 .tab_con .tab_panels .tab4_con.is-active {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.5vw;
  }
  .page3_2 .tab_con .tab_panels .item {
    border-radius: 1vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info {
    gap: 1.5vw;
    padding: 1.3vw 1.8vw 1.6vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .icon {
    width: 7.8vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .txt_con {
    gap: 0.75vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .txt_con h6 {
    font-size: 1.9vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .txt_con p {
    font-size: 1.6vw;
  }
  .gallery_popup_box {
    width: min(84vw, 820px);
  }
  .gallery_popup_close {
    width: 3.6vw;
    height: 3.6vw;
    border: 0.3vw solid rgba(255, 255, 255, 0.6);
    outline: 0.2vw solid #967352;
  }
  .gallery_popup_card {
    border-radius: 1vw;
  }
  .gallery_popup_card .bottom_info {
    gap: 1.4vw;
    padding: 2vw 3vw 2vw;
  }
  .gallery_popup_card .bottom_info .icon {
    width: 7vw;
  }
  .gallery_popup_card .bottom_info .txt_con h6 {
    font-size: 2.5vw;
  }
  .gallery_popup_card .bottom_info .txt_con p {
    font-size: 2.2vw;
  }
  /* 免費登入活動 ======================================= */
  .page4 .main_word {
    width: 82vw;
    padding: 1.8vw 4vw;
  }
  .page4 .main_word .char_con img {
    width: 37vw;
    right: -7vw;
    top: -10.2vw;
  }
  .page4 .main_word h4 {
    font-size: 2vw;
  }
  .page4 .info_txt .item h6 {
    min-width: 12vw;
  }
  .page4 .info_txt .item p, .page4 .info_txt .item h6 {
    font-size: 1.85vw;
  }
  .page4 .info_txt .item ul li {
    font-size: 1.85vw;
  }
  .register_notice.p4 ul {
    width: 82vw;
    padding: 4vw 0 7vw;
  }
  /* 活動報名 ======================================= */
  .register {
    padding-top: 6vw;
  }
  .register .info_con {
    width: 86vw;
    margin: 4vw auto 2vw;
  }
  .register .info_con .txt_con {
    font-size: 1.85vw;
  }
  .register .info_con .txt_con > div p {
    padding-right: 15vw;
  }
  .register .info_con .txt_con .register2_info {
    font-size: 1.85vw;
    margin-bottom: 2vw;
  }
  .register .info_con .txt_con .register2_info .icon_pic {
    padding-right: 2vw;
    font-size: 2vw;
  }
  .register .info_con .txt_con .register2_info .icon_pic img {
    width: 7vw;
  }
  .register .info_con .txt_con .register2_info .icon_pic .check_icon {
    width: 8.5vw;
  }
  .register .info_con .txt_con .register2_info:last-child p span {
    font-size: 2.4vw;
  }
  .register .info_con .txt_con .register4_info {
    padding-left: 6vw;
    font-size: 1.6vw;
  }
  .register .info_con .txt_con .register4_info .icon_pic .check_icon {
    width: 9.5vw;
  }
  .register .info_con .txt_con .register4_info:last-child p {
    width: 90%;
    font-size: 1.85vw;
  }
  .register .info_con .txt_con .register4_info:last-child p span {
    font-size: 2.4vw;
  }
  .register .info_con .char_con img {
    width: 19vw;
    right: -3vw;
  }
  .register .info_con .char_con img.register_char2 {
    width: 28vw;
    right: -4vw;
    top: 9vw;
  }
  .register .item_con .item_info {
    width: 87vw;
  }
  .register .item_con .item_info .account_con {
    font-size: 2.1vw;
  }
  .register .item_con .item_frame.form_fields {
    font-size: 2vw;
    padding: 2.8vw 4vw;
  }
  .register .item_con .item_frame.form_fields .form_row:first-child {
    flex: 0 0 auto;
  }
  .register .item_con .item_frame.form_fields .form_row:first-child input[type=text] {
    flex: none;
    width: 18vw;
    min-width: 9rem;
  }
  .register .item_con .item_frame.form_fields .form_row:last-child {
    flex: 1;
    min-width: 0;
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text]::-moz-placeholder {
    font-size: 1.7vw;
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text]::placeholder {
    font-size: 1.7vw;
  }
  .register .item_con .item_frame .check_frame {
    font-size: 1.8vw;
    border-bottom: 0.4vw solid #c4ac96;
  }
  .register .item_con .item_frame .check_frame > div::before {
    width: 1.1vw;
    margin-right: 1vw;
  }
  .register .item_con .list_frame {
    padding: 1.5vw 1.5vw 1.7vw;
    font-size: 1.8vw;
  }
  .register .sub_tit {
    padding: 3.5vw;
  }
  .register .sub_tit h5 {
    font-size: 2.6vw;
  }
  .register .list_wrap {
    grid-template-columns: repeat(2, 1fr);
  }
  .register .list_frame {
    font-size: 1.8vw;
  }
  .register .list_frame:nth-child(n):nth-last-child(n) {
    border-bottom: 1px solid #c4ac96;
  }
  .register .list_frame:nth-child(n)::after {
    display: block;
  }
  .register .list_frame:nth-child(2n)::after, .register .list_frame:last-child::after {
    display: none;
  }
  .register .list_frame:nth-last-child(-n+2):nth-child(2n+1), .register .list_frame:nth-last-child(1):nth-child(2n) {
    border-bottom: none;
  }
  .register .list_frame .item_tit::before,
  .register .list_frame .event_time::before {
    width: 1.1vw;
    margin-right: 1vw;
  }
  .register .list_slider {
    --list-gap: 4vw;
    --list-slides: 2;
    width: 82vw;
  }
  .register .list_slider .list_con .item {
    font-size: 1.8vw;
  }
  .register .list_slider .list_con .item .tt_con .sub_title h6 {
    font-size: 2.8vw;
  }
  .register .list_slider .list_con .item .tt_con .sub_title h6 span {
    font-size: 6vw;
    margin: 0 1.2vw;
  }
  .register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .valid::after {
    font-size: 2.6vw;
  }
  .register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .invalid::after {
    font-size: 2.6vw;
  }
  .register .select_all {
    gap: 1vw;
  }
  .register .select_all input {
    width: 2.2vw;
    height: 2.2vw;
  }
  .register .select_all span {
    font-size: 2.2vw;
  }
  .register .agree_check input {
    width: 2.2vw;
    height: 2.2vw;
  }
  .register .agree_check span {
    font-size: 2.1vw;
  }
  .register .end_con {
    width: 72vw;
    border-image-slice: 45;
    margin-left: -4vw;
    margin-bottom: 4vw;
  }
  #register4 {
    padding-bottom: 7vw;
  }
  .register_notice {
    background: url(../images/register/notice_bg_m_02.webp) center top repeat;
    background-size: 100% auto;
    position: relative;
    padding-top: 3vw;
    margin-top: 19.6614583333%;
  }
  .register_notice::before {
    content: "";
    aspect-ratio: 768/151;
    width: 100%;
    background: url(../images/register/notice_bg_m_01.webp) bottom center no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 0;
    right: 0;
    top: auto;
    bottom: 100%;
    z-index: -1;
  }
  .register_notice .notice_btn {
    gap: 1.8vw;
    margin: 5vw auto 0;
  }
  .register_notice .notice_btn a {
    min-width: 15vw;
    height: 4.2vw;
    font-size: 1.9vw;
  }
  .register_notice ul {
    width: 82vw;
    font-size: clamp(1.7vw, 1.7vw, 1rem);
  }
  .register_notice ul li {
    padding-left: 2.5vw;
  }
  .register_notice ul li::before {
    transform: scale(0.6);
  }
  .register_notice .note_scroll {
    width: 88vw;
    max-height: 41vw;
  }
  .register_notice .note_scroll > p,
  .register_notice .note_scroll p {
    font-size: 1.7vw;
  }
  .register_notice .note_scroll h6 {
    font-size: 1.9vw;
  }
  .register_notice .note_scroll ul, .register_notice .note_scroll p {
    font-size: 1.7vw;
    padding: 0 0 1vw 2vw;
  }
  .register_notice.p3 {
    padding-bottom: 8vw;
    padding-top: 17vw;
    margin-top: -10%;
    background: url(../images/register/notice_bg_m_02.webp) center top repeat;
    background-size: 100% auto;
  }
  .register_notice.p4 {
    background: url(../images/register/notice_bg_m_02.webp) center top repeat;
    background-size: 100% auto;
    margin-top: 17%;
  }
  /* 懸浮報名按鈕 ======================================= */
  .floating-button a {
    width: 8vw;
    height: 18vw;
  }
  .floating-button a img {
    top: -8vw;
    width: 7.5vw;
  }
  .floating-button a p {
    font-size: 2.25vw;
  }
  .floating-button a p span {
    font-size: 1.75vw;
  }
  .floating-button a.page3_btn {
    width: 8vw;
    height: 15vw;
  }
  .floating-button a.page3_btn img {
    width: 11vw;
    top: -4.5vw;
  }
  .floating-button a.page3_btn p {
    padding-top: 0.7vw;
    font-size: 2.2vw;
  }
  /* popup ======================================= */
  .transit_map_popup_head {
    width: 90%;
    margin-bottom: 3vw;
  }
  .transit_map_popup_head.map {
    width: 90%;
  }
  .transit_map_popup_frame {
    width: 92%;
  }
  .transit_map_popup_frame.map {
    width: 90%;
  }
  .transit_map_popup_close {
    width: 5vw;
    height: 5vw;
  }
  .transit_map_popup_close span {
    width: 3vw;
    height: 3px;
    margin: -1.5px 0 0 -1.5vw;
  }
  .page2_alpha .alpha_table .table_item {
    flex-direction: column;
  }
  .page2_alpha .alpha_table .table_item > div:last-child {
    width: 100%;
  }
  .page2_alpha .alpha_table .table_tt {
    display: none;
  }
  .page2_alpha .alpha_table .table_list .table_item .time {
    flex-direction: row;
  }
  .page2_alpha .alpha_table .table_list .table_item .time span {
    margin-top: 0;
    margin-left: 1vw;
    background: #755336;
    font-size: 1.8vw;
    padding: 0 1.5vw;
  }
  .page2_alpha .alpha_table .table_list .table_item .place, .page2_alpha .alpha_table .table_list .table_item .time {
    padding: 0.7vw 1vw;
    font-size: 1.85vw;
    width: 100%;
    color: #fff;
    border-left: none;
    border-right: none;
    border-top: 1px solid #755336;
    border-bottom: 1px solid #755336;
    background: #a17f5f;
  }
  .page2_alpha .alpha_table .table_list .table_item .place {
    background: #755336;
    font-size: 2.25vw;
    letter-spacing: 0.2vw;
    color: #fff;
  }
  .page2_alpha .alpha_table .table_list .table_item .txt {
    font-size: 1.8vw;
  }
  .page2_alpha .alpha_table .table_list .table_item .txt ul li {
    padding: 0.7vw 2vw;
  }
  .page1_sale_list {
    padding: 4vw 1vw 4vw;
  }
  .page1_sale_list h4 img {
    height: 3.8vw;
  }
  .page1_sale_list .sale_list {
    gap: 2.4vw;
    margin-top: 3.5vw;
  }
  .page1_sale_list .sale_list .sale_item {
    width: 24vw;
    padding: 0.9vw 0 2.8vw;
  }
  .page1_sale_list .sale_list .sale_item .sale_item_zoom {
    top: 1.6vw;
    right: 1.8vw;
    width: 2.8vw;
    height: 2.8vw;
  }
  .page1_sale_list .sale_list .sale_item .pic {
    width: 12vw;
    height: 11vw;
  }
  .page1_sale_list .sale_list .sale_item .name {
    font-size: 1.7vw;
  }
  .page1_sale_list .sale_list .sale_item .price {
    font-size: 1.6vw;
  }
  .page1_sale_list .sale_list.list1 .sale_item {
    padding: 2.8vw 0 2.8vw;
  }
  .page1_sale_list .sale_list.list1 .sale_item .pic {
    width: 15vw;
    height: 9.5vw;
  }
  .page1_sale_list .notice_txt {
    font-size: clamp(0.7rem, 1.6vw, 1.2rem);
    padding: 2vw 3vw 0 0;
  }
  /* 報名確認彈窗 ======================================= */
  .agree_confirm_popup_box {
    width: 60vw;
  }
  .agree_confirm_popup p {
    font-size: 1.85vw;
  }
  .agree_confirm_popup .agree_confirm_ok {
    min-width: 15vw;
    height: 5vw;
    font-size: 2.1vw;
  }
}
@media (max-width: 776px) {
  .register .item_con .item_frame.form_fields {
    font-size: 2vw;
    flex-direction: column;
    padding: 2.8vw 4vw;
    align-items: stretch;
  }
  .register .item_con .item_frame.form_fields .form_row {
    width: 100%;
  }
  .register .item_con .item_frame.form_fields .form_row:first-child input[type=text] {
    flex: 1;
    width: 80%;
    min-width: 0;
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text] {
    flex: 1;
    min-width: 0;
    width: auto;
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text]::-moz-placeholder {
    font-size: 1.8vw;
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text]::placeholder {
    font-size: 1.8vw;
  }
  .register .item_con .item_frame.form_fields .form_row label {
    width: 13vw;
    text-align: right;
    margin-right: 1vw;
  }
}
@media (max-width: 640px) {
  body {
    background: url(../images/bg_m.webp) center top no-repeat;
    background-size: 100% auto;
  }
}
@media (max-width: 640px) and (max-width: 315px) {
  .register .item_con .item_frame .check_frame {
    flex-direction: column;
    align-items: flex-start;
    gap: 0vw;
  }
}
@media (max-width: 640px) {
  /* KV / 第一幕 ======================================= */
  .header {
    height: auto;
    padding-bottom: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .header .logo_1st {
    position: relative;
    bottom: 0;
    left: 0;
    width: 45vw;
    margin: 8.5vw 0;
  }
  .header .kv_con {
    position: relative;
    width: 100%;
  }
  .header .kv_con img {
    width: 100%;
    margin-left: 0;
  }
  .header .header_menu {
    position: relative;
    gap: 3vw;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 6vw;
  }
  .header .header_menu > a, .header .header_menu .menu_item {
    font-size: 3.8vw;
    width: 44%;
  }
  .header .header_menu > .menu_item > .page3_btn {
    width: 100%;
    font-size: 3.6vw;
    padding: 0;
  }
  .header .header_menu > a, .header .header_menu > .menu_item > .page3_btn {
    border: 1px solid #a58567;
    padding: 2vw 0;
  }
  .header .header_menu > a::before, .header .header_menu > .menu_item > .page3_btn::before {
    transform-origin: left center;
    background: #a58567;
  }
  .header .header_menu > a.comingsoon, .header .header_menu > .menu_item > .page3_btn.comingsoon {
    border: 1px solid #aaaaaa;
  }
  .header .header_menu > .menu_item .sub_menu {
    position: static;
    min-width: 0;
    width: 100%;
    background: transparent;
    box-shadow: none;
    padding: 1vw 0 0;
    flex-direction: row;
    justify-content: center;
    gap: 3vw;
  }
  .header .header_menu > .menu_item .sub_menu a {
    font-size: 3.4vw;
    padding: 1.6vw 0;
    gap: 1vw;
  }
  .header .header_menu > .menu_item .sub_menu a::before {
    width: 1.8vw;
  }
  .header .header_menu > .menu_item .sub_menu a:hover, .header .header_menu > .menu_item .sub_menu a.active {
    background: transparent;
    color: #846345;
  }
  .kv_line {
    margin-bottom: 4vw;
  }
  .kv_line::after {
    width: 12vw;
  }
  /* 漢堡選單 ======================================= */
  .page_menu.is-menu-open .page_menu_toggle {
    width: 10vw;
    height: 10vw;
    top: 4.5vw;
    right: 4.5vw;
  }
  .page_menu.is-menu-open .page_menu_toggle span:nth-of-type(1), .page_menu.is-menu-open .page_menu_toggle span:nth-of-type(2) {
    width: 4vw;
  }
  .page_menu .page_menu_toggle {
    width: 15vw;
    height: 15vw;
    top: 2vw;
    right: 2vw;
  }
  .page_menu .page_menu_toggle span:nth-of-type(1) {
    width: 4.3vw;
    transform: translate(-50%, -50%) translateY(2.2vw) rotate(0deg);
  }
  .page_menu .page_menu_toggle span:nth-of-type(2) {
    width: 2.3vw;
    transform: translate(-50%, -50%) translateY(3.4vw) rotate(0deg);
  }
  .page_menu .page_menu_toggle p {
    font-size: 2.4vw;
  }
  .page_menu .page_menu_list {
    width: 100%;
    max-width: 240px;
    padding: 18vw 0 0 3vw;
    gap: 4vw;
  }
  .page_menu .page_menu_list > a,
  .page_menu .page_menu_list > .menu_item > .page3_btn {
    font-size: clamp(0.9rem, 3.5vw, 1.15rem);
    line-height: 2.5;
    padding-left: 4vw;
  }
  .page_menu .page_menu_list::after {
    width: 3vw;
    left: 1.3vw;
  }
  .page_menu .page_menu_list::before {
    left: 2.8vw;
  }
  .page_menu .page_menu_list > .menu_item .sub_menu {
    gap: 3vw;
    margin-top: 3vw;
  }
  .page_menu .page_menu_list > .menu_item .sub_menu a {
    font-size: clamp(0.7rem, 3.1vw, 1rem);
  }
  .page_menu .page_menu_list > .menu_item .sub_menu a::before {
    content: "";
    width: 1.2vw;
    margin: 0 1.1vw 0 0.8vw;
  }
  /* 區塊共用 ======================================= */
  .title_con img {
    height: 7vw;
  }
  .list_popup_content h4 {
    font-size: 4.4vw;
    margin-bottom: 3vw;
  }
  .list_popup_content h5 {
    font-size: 3.6vw;
  }
  .list_popup_content p {
    font-size: 3.2vw;
    margin-bottom: 3vw;
  }
  .list_popup_item {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 3vw;
    padding: 4vw 0;
  }
  .list_popup_item .pic {
    width: 100%;
  }
  .page2_event01 .info_con .txt_con .list_btn {
    font-size: 3.2vw;
    margin-left: 0;
  }
  .page2_event01 .info_con .txt_con .list_btn img {
    width: 4.2vw;
  }
  /* 活動總覽 ======================================= */
  .index_con {
    background-size: 300% auto;
  }
  .index_con .info_con {
    padding: 6vw 0 10vw;
  }
  .index_con .title_con img {
    height: 16vw;
  }
  .event_slider {
    padding-top: 18vw;
    --event-slide:82%;
  }
  .event_slider {
    --event-slide:82%;
  }
  .event.swiper-slide .event_card .event_body {
    width: 100%;
    padding: 0 7.2vw;
    padding-top: 48vw;
    gap: 3.5vw;
  }
  .event.swiper-slide .event_card .event_body h3 {
    font-size: clamp(4vw, 6.5vw, 2rem);
    margin-bottom: 0.6vw;
  }
  .event.swiper-slide .event_card .event_body h5 {
    font-size: clamp(2.4vw, 3.8vw, 1.2rem);
  }
  .event.swiper-slide .event_card .event_body p {
    font-size: clamp(2vw, 3.05vw, 1.1rem);
    line-height: 1.6;
  }
  .event.swiper-slide .event_card .event_body .event_info_btn {
    min-width: 28vw;
    height: clamp(3vw, 9vw, 3rem);
    font-size: clamp(2.2vw, 3.6vw, 1.25rem);
    margin: 0 auto;
    margin-top: 1vw;
  }
  .event.swiper-slide .event_card .event_frame {
    aspect-ratio: 665/968;
  }
  .event.swiper-slide.event01 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_01_m.webp);
    mask-image: url(../images/index/event_bg_01_m.webp);
  }
  .event.swiper-slide.event01 .event_card .event_frame {
    background: url(../images/index/event_bg_01_m.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event01 .event_card .event_char {
    width: 75vw;
    top: -11vw;
    left: 1.5vw;
  }
  .event.swiper-slide.event01 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_01_m.webp);
    mask-image: url(../images/index/event_char_01_m.webp);
  }
  .event.swiper-slide.event02 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_02_m.webp);
    mask-image: url(../images/index/event_bg_02_m.webp);
  }
  .event.swiper-slide.event02 .event_card .event_frame {
    background: url(../images/index/event_bg_02_m.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event02 .event_card .event_char {
    width: 107%;
    top: -11.5vw;
    left: 1vw;
  }
  .event.swiper-slide.event02 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_02_m.webp);
    mask-image: url(../images/index/event_char_02_m.webp);
  }
  .event.swiper-slide.event03 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_03_m.webp);
    mask-image: url(../images/index/event_bg_03_m.webp);
  }
  .event.swiper-slide.event03 .event_card .event_frame {
    background: url(../images/index/event_bg_03_m.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event03 .event_card .event_char {
    width: 97.7%;
    top: -9.5vw;
    left: 1vw;
  }
  .event.swiper-slide.event03 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_03_m.webp);
    mask-image: url(../images/index/event_char_03_m.webp);
  }
  .event.swiper-slide.event04 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_04_m.webp);
    mask-image: url(../images/index/event_bg_04_m.webp);
  }
  .event.swiper-slide.event04 .event_card .event_frame {
    background: url(../images/index/event_bg_04_m.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event04 .event_card .event_char {
    width: 92%;
    top: -6vw;
    left: 4vw;
  }
  .event.swiper-slide.event04 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_04_m.webp);
    mask-image: url(../images/index/event_char_04_m.webp);
  }
  .event.swiper-slide.event05 .event_card::after {
    -webkit-mask-image: url(../images/index/event_bg_05_m.webp);
    mask-image: url(../images/index/event_bg_05_m.webp);
  }
  .event.swiper-slide.event05 .event_card .event_frame {
    background: url(../images/index/event_bg_05_m.webp) center no-repeat;
    background-size: 100% auto;
  }
  .event.swiper-slide.event05 .event_card .event_char {
    width: 95.5%;
    top: -14vw;
    left: 1vw;
  }
  .event.swiper-slide.event05 .event_card .event_char::after {
    -webkit-mask-image: url(../images/index/event_char_05_m.webp);
    mask-image: url(../images/index/event_char_05_m.webp);
  }
  .event_nav {
    width: 10vw;
    height: 10vw;
    border: 0.8vw solid #ffffff;
  }
  .event_nav::before {
    width: 2vw;
  }
  .event_nav_prev {
    left: 2%;
  }
  .event_nav_next {
    right: 2%;
  }
  .event_dots {
    margin-top: 7vw;
    gap: 3.5vw;
  }
  .event_dots .swiper-pagination-bullet {
    width: 2vw;
    height: 2vw;
  }
  /* 交通切換共用 ======================================= */
  .transit_con {
    margin-top: 7vw;
    margin-bottom: 8vw;
  }
  .transit_con .transit_switch .transit_tabs {
    flex-wrap: wrap;
    justify-content: center;
  }
  .transit_con .transit_switch .transit_tabs .transit_tab {
    flex: none;
    flex-shrink: 0;
    width: 25.2vw;
    height: 19vw;
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
    gap: 2.6vw;
  }
  .transit_con .transit_switch .transit_tabs .transit_tab .icon {
    width: 8vw;
    height: 8vw;
  }
  .transit_con .transit_switch .transit_panels {
    border-image-slice: 20;
    margin-top: 3vw;
  }
  .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel {
    padding: 2vw;
    font-size: clamp(0.7rem, 3.3vw, 1rem);
  }
  .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel li small, .transit_con .transit_switch .transit_panels .transit_panel_frmae .transit_panel > p small {
    font-size: clamp(0.6rem, 2.8vw, 0.9rem);
  }
  .transit_con .transit_switch .transit_map_btn {
    width: 17vw;
    height: 6.2vw;
    font-size: 3.1vw;
    bottom: -2.5vw;
    right: 6vw;
    gap: 2vw;
  }
  /* 文字資訊共用 ======================================= */
  .info_txt {
    width: 82vw;
  }
  .info_txt .item {
    padding: 2vw 0;
  }
  .info_txt .item h6 {
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
  }
  .info_txt .item p, .info_txt .item li {
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
  }
  .info_txt .item p small, .info_txt .item li small {
    font-size: clamp(0.75rem, 3vw, 0.95rem);
    margin-top: 1vw;
  }
  .register_btn, .register_btn2 {
    width: 40vw;
    height: 12vw;
    font-size: 4vw;
  }
  /* 週年展 ======================================= */
  .page1 .page1_s1 .top_info .char_con {
    display: none;
  }
  .page1 .page1_s2 {
    padding-top: 6vw;
  }
  .page1 .page1_s2 h4 {
    font-size: 2.5vw;
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
  .page1 .page1_s2 .gift_con {
    flex-direction: column;
    gap: 5vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame {
    width: 78vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame h5 {
    padding-top: 4vw;
    font-size: 3.8vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item {
    padding-bottom: 3vw;
    padding-top: 3vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item::before {
    width: 70vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit {
    gap: 2vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit .pic_con {
    width: 9vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item .main_tit h4 {
    font-size: 5vw;
  }
  .page1 .page1_s2 .gift_con .gift_frame .gift_item > p {
    width: 82%;
    font-size: clamp(0.7rem, 3.4vw, 1rem);
  }
  .page1 .page1_s3 {
    min-height: auto;
    padding-top: 38vw;
    padding-bottom: 23vw;
    margin-top: -26vw;
    background: url(../images/page1/s2_bg_m.webp) center no-repeat;
    background-size: 100% 100%;
  }
  .page1 .page1_s3 .s3_top_con .txt_con {
    font-size: clamp(0.7rem, 3.4vw, 1rem);
    margin: 6vw 0;
    width: 86%;
  }
  .page1 .page1_s3 .s3_top_con .txt_con br {
    display: none;
  }
  .page1 .page1_s3 .s3_top_con .sale_con {
    width: 88vw;
    border-image-slice: 25;
    margin-bottom: 5vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list {
    flex-direction: column;
    padding-bottom: 6vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt {
    width: 100%;
    border-bottom: 1px dotted rgba(177, 145, 116, 0.3);
    flex-direction: column;
    padding-bottom: 3vw;
    padding-top: 4vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt h6 {
    font-size: clamp(1.25rem, 4.4vw, 1.45rem);
    margin-bottom: 1vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_tt p {
    font-size: clamp(0.7rem, 3.3vw, 1.1rem);
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word {
    width: 90%;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word p {
    font-size: clamp(0.9rem, 3.6vw, 1.2rem);
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_word p span {
    font-size: clamp(0.7rem, 3.4vw, 1rem);
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming {
    width: 65%;
    height: 11vw;
    gap: 1vw;
    margin-top: 2vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn p, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming p {
    font-size: clamp(3vw, 4.2vw, 1.5rem);
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn p br, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming p br {
    display: none;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn img, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming img {
    width: 4vw;
  }
  .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn small, .page1 .page1_s3 .s3_top_con .sale_con .list .list_btn_coming small {
    font-size: clamp(0.5rem, 2.4vw, 0.8rem);
    bottom: -2vw;
    padding: 0.3vw 3vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 {
    width: 60vw;
    height: 19vw;
    margin-top: 5vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 img {
    width: 20vw;
    top: -6.5vw;
    left: 3vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 p {
    font-size: 5.5vw;
    margin-left: 10vw;
  }
  .page1 .page1_s3 .s3_top_con .register_btn3 p span {
    font-size: 4.04vw;
    letter-spacing: 0.6vw;
    margin-top: 1vw;
  }
  .page1 .page1_s3 .s3_bottom_con {
    margin-top: 15vw;
  }
  .page1 .page1_s3 .s3_bottom_con .char_con {
    display: none;
  }
  .page1 .page1_s3 .s3_bottom_con .txt_con {
    font-size: clamp(0.7rem, 3.4vw, 1rem);
    width: 86%;
    margin: 6vw 0;
  }
  .page1 .page1_s3 .s3_bottom_con .txt_con br {
    display: none;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con h5 {
    font-size: clamp(1rem, 4.4vw, 1.38rem);
    gap: 2vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con h5::before, .page1 .page1_s3 .s3_bottom_con .card_con h5::after {
    width: 2vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .coming_txt {
    font-size: 6vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .card_slide .card_slide_main {
    gap: 4vw;
  }
  .page1 .page1_s3 .s3_bottom_con .card_con .card_slide .card_item {
    width: 32vw;
  }
  .page1 .page1_s3.coming {
    min-height: auto;
    padding-top: 42vw;
    margin-top: -30vw;
    padding-bottom: 24vw;
    background: url(../images/page1/s2_bg_coming_m.webp) center no-repeat;
    background-size: 100% 100%;
  }
  .page1 .page1_s5 {
    margin-top: 6vw;
    padding-bottom: 6vw;
  }
  .page1 .page1_s5 .char_con img {
    width: 120vw;
    left: 3vw;
  }
  .page1 .page1_s5 .main_map {
    width: 90vw;
    position: relative;
  }
  .page1 .page1_s5 .main_map .map_zoom_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 10%, #967352 91%);
    background-repeat: no-repeat;
    background-position: left center, left center;
    background-size: 0 100%, 100% 100%;
    transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    cursor: pointer;
    aspect-ratio: 10/10;
    width: 7vw;
    border-radius: 5px;
    position: absolute;
    left: 13.5vw;
    bottom: -4vw;
  }
  .page1 .page1_s5 .main_map .map_zoom_btn img {
    width: 45%;
  }
  .page1 .page1_s5 .main_map small {
    font-size: clamp(0.5rem, 2.8vw, 0.9rem);
    margin-top: 1.5vw;
  }
  /* 相遇阿爾法・音浪塔 ======================================= */
  .page2 {
    padding-top: 6vw;
  }
  .page2 .top_info .char_con img {
    width: 22vw;
    top: 3vw;
  }
  .page2 .page2_event01 {
    margin-top: 8vw;
    padding-bottom: 6vw;
  }
  .page2 .page2_event01 .title_con img {
    height: 14.5vw;
  }
  .page2 .page2_event01 .info_con {
    gap: 2vw;
  }
  .page2 .page2_event01 .info_con .pic_con {
    display: none;
  }
  .page2 .page2_event01 .info_con .txt_con {
    width: 90%;
    gap: 3vw;
  }
  .page2 .page2_event01 .info_con .txt_con::after {
    display: none;
  }
  .page2 .page2_event01 .info_con .txt_con h6 {
    font-size: clamp(1rem, 4.1vw, 1.4rem);
    padding-left: 15.6vw;
  }
  .page2 .page2_event01 .info_con .txt_con h6::before {
    width: 10vw;
  }
  .page2 .page2_event01 .info_con .txt_con ol {
    width: 100%;
  }
  .page2 .page2_event01 .info_con .txt_con ol li {
    font-size: clamp(0.8rem, 3.4vw, 1.1rem);
    line-height: 1.6;
    padding: 1.1vw 2.6vw;
  }
  .page2 .page2_event01 .info_con .txt_con ol li br {
    display: none;
  }
  .page2 .page2_event01 .info_con .txt_con .notice_con {
    font-size: clamp(0.7rem, 3.2vw, 1rem);
    line-height: 1.6;
  }
  .page2 .page2_event01 .info_con .txt_con .notice_con li span {
    display: block;
    padding-left: 3vw;
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn, .page2 .page2_event01 .info_con .txt_con .list_btn_coming {
    font-size: clamp(1rem, 4.5vw, 1.35rem);
    margin: 3vw auto;
    padding: 3vw 5vw;
    gap: 2vw;
    flex-wrap: nowrap;
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn img, .page2 .page2_event01 .info_con .txt_con .list_btn_coming img {
    width: clamp(1.1rem, 4vw, 1.4rem);
  }
  .page2 .page2_event01 .info_con .txt_con .list_btn small, .page2 .page2_event01 .info_con .txt_con .list_btn_coming small {
    font-size: clamp(0.5rem, 2.4vw, 0.7rem);
    bottom: -2vw;
    padding: 0.5vw 2.5vw;
  }
  .page2_black {
    height: auto;
    background: url(../images/page2/s2_bg_m.webp) center no-repeat;
    background-size: 100% 100%;
    padding-top: 28vw;
    padding-bottom: 20vw;
  }
  .page2_black .txt_con {
    font-size: clamp(0.7rem, 3.4vw, 1rem);
    margin: 6vw 0;
    width: 86%;
  }
  .page2_black .txt_con br {
    display: none;
  }
  .page2_black .page2_event02 .title_con img {
    height: 14.5vw;
  }
  .page2_black .page2_event02 .pic_con {
    width: 64vw;
  }
  .page2_black .page2_event02 .char_con img {
    width: 81.88vw;
    top: 0;
    left: 12.23vw;
  }
  .page2_black .shop_con {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
  }
  .page2_black .shop_con .shop_list {
    width: 90vw;
  }
  .page2_black .shop_con .shop_list .list_tt h5 {
    font-size: clamp(0.85rem, 4vw, 1.3rem);
    gap: 2vw;
  }
  .page2_black .shop_con .shop_list .list_tt h5::before, .page2_black .shop_con .shop_list .list_tt h5::after {
    width: 2vw;
  }
  .page2_black .shop_con .shop_list .item_all {
    gap: 3.5vw;
    margin-top: 3vw;
  }
  .page2_black .shop_con .shop_list .item_all .item {
    width: 41vw;
    border-image-slice: 18;
    gap: 2vw;
    margin-top: 5vw;
    padding: 5vw 0 3.5vw;
  }
  .page2_black .shop_con .shop_list .item_all .item .pic_con {
    margin-top: -10vw;
    width: 24vw;
    height: 24vw;
    border: 1.3vw solid #4c3629;
  }
  .page2_black .shop_con .shop_list .item_all .item .item_name {
    font-size: clamp(0.8rem, 3.3vw, 1.1rem);
  }
  .page2_black .shop_con .shop_list .item_all .item .item_price {
    font-size: clamp(0.7rem, 3.4vw, 1rem);
    padding: 0.5vw 0;
  }
  .page2_black .event_card .char_con {
    display: none;
  }
  .page2_black .event_card .card_con h5 {
    font-size: clamp(1rem, 4.4vw, 1.38rem);
    gap: 2vw;
    margin-bottom: 5.2vw;
  }
  .page2_black .event_card .card_con h5::before, .page2_black .event_card .card_con h5::after {
    width: 2vw;
  }
  .page2_black .event_card .card_con .card_item {
    width: 32vw;
  }
  .page2_black.coming {
    padding-top: 28vw;
    height: auto;
    padding-bottom: 25vw;
    background: url(../images/page2/s2_bg_coming_m.webp) center no-repeat;
    background-size: 100% 100%;
  }
  .page2_black.coming .coming_txt {
    font-size: 6vw;
  }
  .page2_black.coming .event_card .s2_pic01 {
    width: 13.94vw;
    top: -6.58vw;
    left: 83.05vw;
  }
  .page2_black.coming .event_card .s2_pic02 {
    width: 21.47vw;
    top: 14.23vw;
    left: 72.11vw;
  }
  .page2_black.coming .event_card .s2_pic03 {
    width: 20.52vw;
    top: 3.05vw;
    left: 4.58vw;
  }
  .page2_black.coming .event_card .s2_pic04 {
    width: 10vw;
    top: -13.52vw;
    left: 12.17vw;
  }
  .page2_black.coming .shop_con {
    margin: 14vw 0;
  }
  /* 徵稿比賽活動辦法 ======================================= */
  .page3 .main_word {
    margin: 7vw 0 5vw;
    padding: 4vw 3.8vw;
  }
  .page3 .main_word .char_con {
    display: none;
  }
  .page3 .main_word h4 {
    font-size: clamp(0.8rem, 3.3vw, 1.1rem);
    padding-left: 0;
    margin-bottom: 2vw;
  }
  .page3 .main_word .time_con {
    padding-left: 0;
    padding-right: 0;
    font-size: clamp(0.8rem, 3.3vw, 1.1rem);
    border-top: 0;
  }
  .page3 .main_word .time_con h6 {
    text-align: center;
    width: 100%;
    background: #a58567;
    color: #fff;
    padding: 1vw;
  }
  .page3 .main_word .time_con p span {
    font-size: clamp(0.65rem, 3vw, 0.9rem);
  }
  .page3 .event_txt_con {
    width: 94vw;
  }
  .page3 .event_txt_con .line_star {
    margin: 7vw 0;
  }
  .page3 .event_txt_con h3 {
    gap: 2vw;
    font-size: clamp(1.1rem, 4.9vw, 1.4rem);
    margin-bottom: 3vw;
  }
  .page3 .event_txt_con h3::before, .page3 .event_txt_con h3::after {
    width: 1.5vw;
  }
  .page3 .event_txt_con .list_con, .page3 .event_txt_con > p {
    font-size: clamp(0.8rem, 3.4vw, 1rem);
  }
  .page3 .event_txt_con > p {
    padding: 0 4vw;
    font-size: clamp(0.8rem, 3.4vw, 1rem);
  }
  .page3 .event_txt_con .list_con {
    padding: 0 2.8vw;
  }
  .page3 .event_txt_con .list_con .item {
    flex-direction: column;
  }
  .page3 .event_txt_con .list_con .item .item_tt {
    font-size: clamp(1rem, 3.6vw, 1.1rem);
    flex: 0 0 auto;
    width: 100%;
    border-bottom: 1px solid rgba(165, 133, 103, 0.5);
    padding: 1vw;
    font-weight: 700;
    margin: 2vw 0 1vw;
  }
  .page3 .event_txt_con .list_con .item + .item {
    border-top: 0;
  }
  .page3 .event_txt_con .list_con .table_con {
    width: 100%;
    margin: 4vw 0 2vw;
  }
  .page3 .event_txt_con .list_con .table_con .table_tt {
    padding: 1vw;
    line-height: 1.4;
    text-align: center;
  }
  .page3 .event_txt_con .list_con .table_con .table_tt span {
    flex-direction: column;
  }
  .page3 .event_txt_con .list_con .table_con .table_tt span b {
    display: block;
  }
  .page3 .event_txt_con .list_con .table_con .table_nb span {
    padding: 2vw 0;
  }
  .page3 .event_txt_con .list_con .table_con small {
    font-size: clamp(0.6rem, 3vw, 0.9rem);
  }
  .page3 .event_txt_con .list_con ul li::before {
    font-size: 2vw;
    margin-right: 1vw;
  }
  .page3 .event_txt_con .list_con2 {
    font-size: clamp(0.8rem, 3.4vw, 1rem);
    padding: 0 2.6vw;
  }
  .page3 .event_txt_con .list_con2 .item {
    flex-direction: column;
  }
  .page3 .event_txt_con .list_con2 .item .item_tt {
    font-size: clamp(1rem, 3.6vw, 1.1rem);
    flex: 0 0 auto;
    width: 100%;
    text-align: center;
    background: rgba(165, 133, 103, 0.05);
    padding: 1vw;
    font-weight: 700;
    margin: 3vw 0 2vw;
  }
  .page3 .event_txt_con .list_con2 .item .item_ul li::before {
    font-size: 2vw;
    margin-right: 1vw;
  }
  .page3 .event_txt_con .list_con2 .item p {
    padding-left: 0;
  }
  .page3 .event_txt_con .gift_con {
    flex-direction: column;
    width: 92%;
    gap: 3vw;
  }
  .page3 .event_txt_con .gift_con .gift_tt {
    padding: 1vw 0;
    font-size: clamp(0.8rem, 4vw, 1.1rem);
  }
  .page3 .event_txt_con .gift_con .gift_tt span {
    font-size: clamp(0.5rem, 2.7vw, 0.8rem);
    right: 1vw;
    bottom: 1vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef {
    width: 100%;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list {
    gap: 2vw;
    padding: 3vw 1vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item {
    gap: 1vw;
    width: 48%;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item img {
    width: 15vw;
  }
  .page3 .event_txt_con .gift_con .gift_lef .item_list .item span {
    font-size: clamp(0.7rem, 3.4vw, 1rem);
  }
  .page3 .event_txt_con .gift_con .gift_right {
    width: 100%;
  }
  .page3 .event_txt_con .gift_con .gift_right ul {
    padding: 3vw 5vw;
  }
  .page3 .event_txt_con .gift_con .gift_right ul li {
    padding: 1vw 0;
    font-size: clamp(0.7rem, 3.4vw, 1rem);
  }
  .page3 .event_txt_con .gift_con .gift_right ul li::before {
    font-size: clamp(0.7rem, 3.4vw, 1rem);
    margin-right: 1.5vw;
  }
  .page3 .tab_con {
    width: 84vw;
    font-size: clamp(0.8rem, 3.4vw, 1rem);
    margin: 3vw auto 0;
  }
  .page3 .tab_con .tab_btn {
    align-items: stretch;
  }
  .page3 .tab_con .tab_btn a {
    min-height: 12vw;
    padding: 2.3vw 0.8vw;
    font-size: clamp(0.7rem, 3.3vw, 1.1rem);
    line-height: 1.5;
  }
  .page3 .tab_con .tab_btn a span {
    display: block;
  }
  .page3 .tab_con .tab_panels {
    padding: 4vw 4vw 3vw;
  }
  .page3 .tab_con .tab_panels .tab4_con h6 {
    font-size: clamp(1rem, 3.8vw, 1.3rem);
  }
  .page3 .tab_con .tab_panels .register_btn {
    width: 48vw;
    height: auto;
    padding: 2.8vw 0;
    margin: 6vw auto 8vw;
    gap: 0.8vw;
    font-size: clamp(4vw, 5vw, 1.5rem);
  }
  .page3 .tab_con .tab_panels .register_btn span {
    gap: 1vw;
    font-size: clamp(2vw, 2.8vw, 0.9rem);
  }
  .page3 .tab_con .tab_panels .register_btn span::before, .page3 .tab_con .tab_panels .register_btn span::after {
    font-size: 1.1vw;
  }
  .page3_2 .gallery_con {
    width: 84vw;
  }
  .page3_2 .tab_con {
    width: 100%;
    font-size: clamp(0.8rem, 3.4vw, 1rem);
    margin: 8vw auto 0;
  }
  .page3_2 .tab_con .tab_btn {
    align-items: stretch;
    gap: 3vw;
  }
  .page3_2 .tab_con .tab_btn a {
    min-height: 9vw;
    font-size: clamp(0.9rem, 3.6vw, 1.2rem);
    line-height: 1.5;
    width: 38vw;
  }
  .page3_2 .tab_con > h5 {
    font-size: clamp(1.1rem, 4.5vw, 1.8rem);
    margin: 6vw 0 5vw;
    gap: 2.5vw;
  }
  .page3_2 .tab_con > h5::after, .page3_2 .tab_con > h5::before {
    width: 1.3vw;
  }
  .page3_2 .tab_con .tab_panels .tab1_con.is-active,
  .page3_2 .tab_con .tab_panels .tab2_con.is-active,
  .page3_2 .tab_con .tab_panels .tab3_con.is-active,
  .page3_2 .tab_con .tab_panels .tab4_con.is-active {
    grid-template-columns: 1fr;
    gap: 7vw;
  }
  .page3_2 .tab_con .tab_panels .item {
    border-radius: 2vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info {
    gap: 3vw;
    padding: 2.5vw 3vw 3vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .icon {
    width: 16vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .txt_con {
    gap: 1.7vw;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .txt_con h6 {
    font-size: clamp(0.95rem, 3.9vw, 1.45rem);
    white-space: normal;
  }
  .page3_2 .tab_con .tab_panels .item .bottom_info .txt_con p {
    font-size: clamp(0.8rem, 3.3vw, 1.1rem);
    white-space: normal;
  }
  .gallery_popup_box {
    width: 86vw;
    max-width: none;
  }
  .gallery_popup_close {
    top: -12vw;
    right: 0;
    width: 8vw;
    height: 8vw;
  }
  .gallery_popup_close span {
    width: 4vw;
    height: 3px;
    margin: -1.5px 0 0 -2vw;
  }
  .gallery_popup_nav {
    width: 9vw;
    height: 9vw;
    border-width: 2px;
  }
  .gallery_popup_nav::before {
    width: 2.4vw;
  }
  .gallery_popup_prev {
    left: -2vw;
  }
  .gallery_popup_next {
    right: -2vw;
  }
  .gallery_popup_card {
    border-radius: 2vw;
    flex-direction: column;
  }
  .gallery_popup_card .pic_con {
    aspect-ratio: 9/10;
  }
  .gallery_popup_card .bottom_info {
    gap: 3vw;
    padding: 3vw 3.5vw 3.5vw;
  }
  .gallery_popup_card .bottom_info .icon {
    width: 16vw;
  }
  .gallery_popup_card .bottom_info .txt_con {
    gap: 1.7vw;
  }
  .gallery_popup_card .bottom_info .txt_con h6 {
    font-size: clamp(0.9rem, 4.2vw, 1.3rem);
  }
  .gallery_popup_card .bottom_info .txt_con p {
    font-size: clamp(0.75rem, 3.6vw, 1.1rem);
    padding: 0.15vw 3vw;
  }
  /* 免費登入活動 ======================================= */
  .page4 {
    padding-bottom: 5vw;
  }
  .page4 .main_word {
    width: 86vw;
    margin: 7vw 0 0;
    padding: 4vw 4vw;
  }
  .page4 .main_word .char_con img {
    width: 47vw;
    right: -6vw;
    top: -2vw;
  }
  .page4 .main_word h4 {
    font-size: clamp(0.7rem, 3.4vw, 1.1rem);
    padding-right: 22vw;
    line-height: 1.7;
  }
  .page4 .info_txt {
    width: 82vw;
  }
  .page4 .info_txt .item {
    flex-direction: column;
  }
  .page4 .info_txt .item h6 {
    font-size: clamp(1rem, 3.6vw, 1.1rem);
    flex: 0 0 auto;
    width: 100%;
    border-bottom: 1px solid rgba(165, 133, 103, 0.5);
    padding: 1vw;
    font-weight: 700;
    margin: 2vw 0 2vw;
    text-align: left;
    font-size: clamp(1rem, 3.7vw, 1.3rem);
  }
  .page4 .info_txt .item p {
    width: 100%;
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
  }
  .page4 .info_txt .item + .item {
    border-top: 0;
  }
  .page4 .info_txt .item ul li {
    padding: 1.5vw 0;
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
    flex-wrap: nowrap;
  }
  .register_notice.p4 ul {
    padding: 5vw 0 8vw;
    width: 90vw;
  }
  /* 活動報名 ======================================= */
  .register .info_con {
    width: 86vw;
  }
  .register .info_con .txt_con {
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
  }
  .register .info_con .txt_con > div p {
    padding-right: 0;
  }
  .register .info_con .txt_con .register2_info {
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
    margin-bottom: 4vw;
  }
  .register .info_con .txt_con .register2_info .icon_pic {
    padding-right: 2.34vw;
    font-size: clamp(1rem, 3.8vw, 1.3rem);
  }
  .register .info_con .txt_con .register2_info .icon_pic img {
    width: 11vw;
  }
  .register .info_con .txt_con .register2_info .icon_pic .check_icon {
    width: 14vw;
  }
  .register .info_con .txt_con .register2_info:last-child p {
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
  }
  .register .info_con .txt_con .register2_info:last-child p span {
    font-size: 4.3vw;
  }
  .register .info_con .txt_con .register4_info {
    padding-left: 0vw;
  }
  .register .info_con .txt_con .register4_info .icon_pic {
    flex: 0 0 10vw;
  }
  .register .info_con .txt_con .register4_info .icon_pic .check_icon {
    width: 10vw;
  }
  .register .info_con .txt_con .register4_info:last-child p {
    width: 100%;
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
  }
  .register .info_con .txt_con .register4_info:last-child p span {
    font-size: clamp(0.6rem, 4.3vw, 1.3rem);
  }
  .register .info_con .char_con {
    display: none;
  }
  .register .item_con .item_info {
    width: 87vw;
  }
  .register .item_con .item_info .account_con {
    font-size: clamp(0.8rem, 3.4vw, 1rem);
    padding: 2.5vw 4.94vw;
  }
  .register .item_con .item_frame {
    padding-top: 3vw;
  }
  .register .item_con .item_frame.form_fields {
    padding: 4vw 4vw 4vw 3vw;
    gap: 3vw;
    font-size: 3.3vw;
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text]::-moz-placeholder {
    font-size: clamp(0.6rem, 2.8vw, 0.9rem);
  }
  .register .item_con .item_frame.form_fields .form_row input[type=text]::placeholder {
    font-size: clamp(0.6rem, 2.8vw, 0.9rem);
  }
  .register .item_con .item_frame.form_fields .form_row label {
    width: 21vw;
    margin-right: 0.5vw;
  }
  .register .item_con .item_frame .check_frame {
    font-size: clamp(0.8rem, 3.4vw, 1rem);
    border-bottom: 2px solid #c4ac96;
  }
  .register .item_con .item_frame .check_frame > div {
    padding-top: 0;
    padding-bottom: 0.5vw;
  }
  .register .item_con .item_frame .check_frame > div span {
    margin: 0 0.3vw;
  }
  .register .item_con .item_frame .check_frame > div::before {
    width: 2.4vw;
    margin-right: 1.4vw;
  }
  .register .item_con .list_frame {
    padding: 1.5vw 1.5vw 1.7vw;
    font-size: clamp(0.8rem, 3.4vw, 1rem);
  }
  .register .sub_tit {
    padding: 3vw;
  }
  .register .sub_tit::before, .register .sub_tit::after {
    width: 1.3vw;
    margin: 2vw;
  }
  .register .sub_tit h5 {
    font-size: clamp(0.9rem, 3.6vw, 1.2rem);
  }
  .register .list_wrap {
    grid-template-columns: 1fr;
  }
  .register .list_frame {
    font-size: clamp(0.8rem, 3.4vw, 1rem);
    padding: 2.4vw 0;
  }
  .register .list_frame:nth-child(n):nth-last-child(n) {
    border-bottom: 1px solid #c4ac96;
  }
  .register .list_frame::after, .register .list_frame:nth-child(n)::after {
    display: none;
  }
  .register .list_frame:nth-child(n):last-child {
    border-bottom: none;
  }
  .register .list_frame .item_tit::before,
  .register .list_frame .event_time::before {
    width: 2.4vw;
    margin-right: 1.4vw;
  }
  .register .list_slider {
    --list-gap: 5vw;
    width: 87vw;
    --list-slides: 1;
  }
  .register .list_slider .list_con {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow: hidden;
    width: 100%;
    padding: 2.2vw;
    box-sizing: border-box;
  }
  .register .list_slider .list_con .item {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-size: clamp(0.7rem, 3.4vw, 1rem);
  }
  .register .list_slider .list_con .item .tt_con .sub_title {
    padding: 1.5vw 0 2.5vw 0;
  }
  .register .list_slider .list_con .item .tt_con .sub_title h6 {
    font-size: clamp(1.5rem, 5vw, 1.8rem);
  }
  .register .list_slider .list_con .item .tt_con .sub_title h6 span {
    font-size: clamp(2rem, 10vw, 3rem);
    margin: 0 1.5vw;
  }
  .register .list_slider .list_con .item .info_list {
    padding: 2vw 7vw;
  }
  .register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .valid::after {
    font-size: clamp(1rem, 4vw, 1.5rem);
    margin-left: 1.2vw;
  }
  .register .list_slider .list_con .item .info_list .info_list_frame > div.compliant .invalid::after {
    font-size: clamp(1.2rem, 4.7vw, 1.8rem);
    margin-left: 1.2vw;
  }
  .register .list_slider .list_con .item .info_list .info_list_frame > div h6::before {
    width: 1.8vw;
    margin-right: 1.5vw;
  }
  .register .list_slider .list_nav {
    border: 0;
    display: flex;
    width: 8vw;
    height: 8vw;
    min-width: 32px;
    min-height: 32px;
    background-image: linear-gradient(to right, #765434 5%, #765434 91%), linear-gradient(to right, #b39070 10%, #967352 91%);
    background-repeat: no-repeat;
    background-position: left center, left center;
    background-size: 0 100%, 100% 100%;
    transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    cursor: pointer;
    border-radius: 50%;
    transform: translateY(-50%);
  }
  .register .list_slider .list_nav::before {
    width: 2.4vw;
  }
  .register .list_slider .list_nav_prev {
    left: -2vw;
    transform: translateY(-50%) rotate(180deg);
  }
  .register .list_slider .list_nav_next {
    right: -2vw;
    transform: translateY(-50%);
  }
  .register .select_all {
    gap: 2vw;
    margin: 0 auto 5vw;
  }
  .register .select_all input {
    width: 4vw;
    height: 4vw;
  }
  .register .select_all span {
    font-size: clamp(0.8rem, 4.2vw, 1.3rem);
  }
  .register .register2_btn {
    margin: 7vw 0 12vw;
  }
  .register .agree_check {
    gap: 1vw;
    margin-top: 4vw;
  }
  .register .agree_check input {
    width: 4vw;
    height: 4vw;
    min-width: 16px;
  }
  .register .agree_check span {
    font-size: clamp(0.75rem, 3.4vw, 1.3rem);
  }
  .register .end_con {
    width: 86vw;
    border-image-slice: 20;
    padding: 2vw 3vw;
    margin-left: 0vw;
    margin-bottom: 5vw;
  }
  #register4 {
    padding-bottom: 12vw;
  }
  .register_notice {
    padding-top: 10vw;
    margin-top: 19.6614583333%;
  }
  .register_notice .notice_btn {
    gap: 3vw;
    margin: 7vw auto 2vw;
  }
  .register_notice .notice_btn a {
    min-width: 27vw;
    height: 9vw;
    font-size: clamp(3.8vw, 3.8vw, 1.5rem);
  }
  .register_notice ul {
    width: 90vw;
    font-size: clamp(0.8rem, 3.2vw, 1rem);
  }
  .register_notice ul li {
    padding-left: 4vw;
    margin: 1.2vw 0;
  }
  .register_notice ul li::before {
    transform: scale(0.55);
  }
  .register_notice .note_scroll {
    width: 90vw;
    max-height: 88vw;
  }
  .register_notice .note_scroll > p,
  .register_notice .note_scroll p {
    font-size: clamp(0.7rem, 3.2vw, 1rem);
  }
  .register_notice .note_scroll h6 {
    font-size: clamp(0.9rem, 3.7vw, 1.3rem);
    padding-left: 1.4vw;
  }
  .register_notice .note_scroll ul, .register_notice .note_scroll p {
    font-size: clamp(0.8rem, 3.2vw, 1rem);
    padding: 0 0 2vw 4vw;
  }
  .register_notice.p3 {
    padding-bottom: 13vw;
    padding-top: 27vw;
    margin-top: -15%;
  }
  .register_notice.p4 {
    margin-top: 19.6614583333%;
  }
  /* 懸浮報名按鈕 ======================================= */
  .floating-button {
    right: 0.8vw;
  }
  .floating-button a {
    width: 12vw;
    height: 28vw;
  }
  .floating-button a img {
    top: -12.7vw;
    width: 12vw;
  }
  .floating-button a p {
    padding-top: 0.8vw;
    font-size: 3.5vw;
  }
  .floating-button a p span {
    font-size: 2.65vw;
  }
  .floating-button a.page3_btn {
    width: 12vw;
    height: 22vw;
  }
  .floating-button a.page3_btn img {
    width: 17vw;
    top: -7.2vw;
  }
  .floating-button a.page3_btn p {
    padding-top: 0.4vw;
    font-size: 3.4vw;
  }
  /* popup ======================================= */
  .transit_map_popup_head {
    width: 90%;
  }
  .transit_map_popup_head.map {
    width: 90%;
  }
  .transit_map_popup_frame {
    width: 92%;
  }
  .transit_map_popup_frame.map {
    width: 90%;
  }
  .transit_map_popup_close {
    width: 8vw;
    height: 8vw;
  }
  .transit_map_popup_close span {
    width: 4vw;
    height: 3px;
    margin: -1.5px 0 0 -2vw;
  }
  #list_popup .transit_map_popup_frame {
    border: 5.5vw solid transparent;
    border-image-slice: 75;
    border-image-source: url(../images/page2/popup_bg_m.webp);
    border-image-width: 5.6vw;
  }
  .page2_alpha h4 {
    width: 100%;
  }
  .page2_alpha .alpha_table .table_list .table_item .time span {
    margin-left: 2vw;
    font-size: clamp(0.65rem, 3vw, 0.95rem);
    padding: 0.2vw 2vw;
  }
  .page2_alpha .alpha_table .table_list .table_item .place, .page2_alpha .alpha_table .table_list .table_item .time {
    padding: 1.9vw 1vw;
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
  }
  .page2_alpha .alpha_table .table_list .table_item .place {
    font-size: clamp(0.8rem, 3.5vw, 1.1rem);
  }
  .page2_alpha .alpha_table .table_list .table_item .txt {
    font-size: clamp(0.7rem, 3.2vw, 1rem);
  }
  .page2_alpha .alpha_table .table_list .table_item .txt ul li {
    padding: 1.3vw 2vw;
  }
  .page1_sale_list {
    padding: 5vw 0 4vw;
  }
  .page1_sale_list h4 img {
    height: 5.5vw;
  }
  .page1_sale_list .sale_list {
    gap: 2.2vw;
    margin-top: 2vw;
  }
  .page1_sale_list .sale_list .sale_item {
    width: 48%;
    padding: 1vw 0 5vw;
    flex-wrap: nowrap;
  }
  .page1_sale_list .sale_list .sale_item .sale_item_zoom {
    top: 2.5vw;
    right: 3vw;
    width: 5vw;
    height: 5vw;
    border-radius: 1.5vw;
  }
  .page1_sale_list .sale_list .sale_item .pic {
    width: 18vw;
    height: 17vw;
  }
  .page1_sale_list .sale_list .sale_item .name {
    font-size: clamp(0.7rem, 3vw, 1rem);
  }
  .page1_sale_list .sale_list .sale_item .name span {
    display: block;
  }
  .page1_sale_list .sale_list .sale_item .price {
    font-size: clamp(0.7rem, 2.9vw, 1rem);
  }
  .page1_sale_list .sale_list.list1 .sale_item {
    padding: 5vw 0 5vw;
    background: url(../images/page1/sale_item_bg_m.webp) center no-repeat;
    background-size: 100% auto;
    aspect-ratio: 404/510;
  }
  .page1_sale_list .sale_list.list1 .sale_item .pic {
    width: 25vw;
    height: 16vw;
  }
  .page1_sale_list .notice_txt {
    font-size: clamp(0.7rem, 3vw, 1rem);
    padding: 2vw 3vw 0 0;
    text-align: center;
  }
  /* 報名確認彈窗 ======================================= */
  .agree_confirm_popup_box {
    width: 84vw;
    padding: 5vw;
    gap: 4vw;
  }
  .agree_confirm_popup p {
    font-size: clamp(0.7rem, 3.4vw, 1rem);
  }
  .agree_confirm_popup .agree_confirm_ok {
    min-width: 26vw;
    height: 9vw;
    font-size: 4.2vw;
  }
}
@media (max-width: 390px) {
  .page1_sale_list {
    padding: 5vw 0 4vw;
  }
  .page1_sale_list h4 img {
    height: 5.5vw;
  }
  .page1_sale_list .sale_list {
    gap: 2.2vw;
    margin-top: 2vw;
  }
  .page1_sale_list .sale_list .sale_item {
    width: 80%;
    padding: 1.5vw 0 7vw;
    background: url(../images/page1/sale_item_bg.webp) center no-repeat;
    background-size: 100% auto;
    aspect-ratio: 404/439;
  }
  .page1_sale_list .sale_list .sale_item .pic {
    width: 24vw;
    height: 28vw;
  }
  .page1_sale_list .sale_list .sale_item .name {
    font-size: 4vw;
  }
  .page1_sale_list .sale_list .sale_item .name .pc_none {
    display: inline;
  }
  .page1_sale_list .sale_list .sale_item .price {
    font-size: 4vw;
  }
  .page1_sale_list .sale_list.list1 .sale_item {
    padding: 6vw 0 7vw;
    background: url(../images/page1/sale_item_bg.webp) center no-repeat;
    background-size: 100% auto;
    aspect-ratio: 404/439;
  }
  .page1_sale_list .sale_list.list1 .sale_item .pic {
    width: 37vw;
    height: 28vw;
  }
  .page1_sale_list .sale_list .sale_item .sale_item_zoom {
    top: 4.2vw;
    right: 5vw;
    width: 7vw;
    height: 7vw;
    border-radius: 2vw;
  }
}
@media (max-width: 330px) {
  .event.swiper-slide .event_card .event_body {
    padding-top: 45vw;
  }
}
/* 得獎作品暫未開放 */
.header .header_menu > .menu_item .sub_menu a.award_works,
.page_menu .page_menu_list > .menu_item .sub_menu a.award_works {
  position: relative;
  padding-bottom: 1.4em;
  cursor: default;
  pointer-events: none;
  opacity: 0.65;
}

.header .header_menu > .menu_item .sub_menu a.award_works::after,
.page_menu .page_menu_list > .menu_item .sub_menu a.award_works::after {
  content: "敬請期待";
  margin-left: 0.25em;
  padding: 0.15em 0.25em;
  border: 1px solid currentColor;
  border-radius: 0.2em;
  font-size: 0.7em;
  line-height: 1.2;
  white-space: nowrap;
  display: block;
  font-family: "Noto Sans TC", sans-serif;
}

/* 小視窗子選單：符號與文字不換行，兩個選項對齊 */
@media (max-width: 640px) {
  .header .header_menu > .menu_item .sub_menu {
    align-items: flex-start;
    flex-wrap: nowrap;
  }
  .header .header_menu > .menu_item .sub_menu a,
  .header .header_menu > .menu_item .sub_menu a.award_works {
    position: relative;
    flex-wrap: nowrap;
    flex-shrink: 0;
    margin-top: 0;
    line-height: 1.5;
  }
  .header .header_menu > .menu_item .sub_menu a::before {
    flex-shrink: 0;
    margin: 0;
  }
  .header .header_menu > .menu_item .sub_menu a.award_works::after {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 0;
  }
}
.notice {
  width: 100%;
  text-align: right;
  color: #a58567;
  font-size: clamp(0.5rem, 3.2vw, 15px);
}/*# sourceMappingURL=layout.css.map */