@charset "UTF-8";
/*-------------------------------------------*\
	index.scss
\*-------------------------------------------*/
@import url(https://fonts.googleapis.com/earlyaccess/notosanstc.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;400;500;700&family=Open+Sans:ital,wght@0,500;1,800&display=swap");
/*-------------------------------------------*\
  iehack.scss

  Use
  @include hack($IE-ver),目前使用IE10以上
\*-------------------------------------------*/
/*-------------------------------------------*\
	ivisit.scss

	Index
	- 1.Layout
  - 2.item1
  - 3.social
  - 4.data
  - 5.行動版隱藏
\*-------------------------------------------*/
.ivisit_wrap {
  min-height: 300px;
  background: #202020 url(../../images/ivisit_bg.png) no-repeat top right;
}
.ivisit_wrap > .container {
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 992px) {
  .ivisit_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .ivisit_container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.ivisit_col {
  color: #b7b4b4;
  line-height: 1.5;
  font-family: sans-serif, "Noto Sans TC";
  padding: 1.5rem;
}
.ivisit_col:nth-child(1) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.ivisit_col:nth-child(1) .ibtn_primary {
  max-width: inherit !important;
}
@media (min-width: 992px) {
  .ivisit_col {
    width: 50%;
  }
}
@media (min-width: 1200px) {
  .ivisit_col {
    padding: 3.5rem 1.5rem;
  }
  .ivisit_col:nth-child(1) {
    width: auto;
  }
}
@media (min-width: 1400px) {
  .ivisit_col {
    margin-left: calc(40px + 1rem);
  }
}

.ivisit_tit {
  color: white;
  font-size: 2.5em;
  font-family: sans-serif, "Noto Sans TC";
}

.isocial {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 280px;
  margin-top: 2rem;
}
.isocial a {
  position: relative;
  z-index: 0;
  display: block;
  width: 26px;
  height: 24px;
}
.isocial a:before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  z-index: -1;
  background-color: #b7b4b4;
}
.isocial a:hover:before {
  background-color: white;
}
.isocial a img {
  vertical-align: top;
}

.ivisit_data {
  padding-left: calc(40px + 1rem);
  background-repeat: no-repeat;
  background-size: 40px 40px;
}
.ivisit_data li:not(:first-of-type) {
  margin-top: 0.25rem;
}
@media (min-width: 576px) {
  .ivisit_data li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.ivisit_data span:nth-child(1) {
  padding-right: 0.5rem;
}
@media (max-width: 575px) {
  .ivisit_data span {
    display: block;
  }
  .ivisit_data span:nth-child(1) {
    color: white;
  }
}
@media (min-width: 576px) {
  .ivisit_data span {
    display: inline-block;
  }
}
.ivisit_ic01 {
  background-image: url(../../images/ivisit_ic01.svg);
}
@media (min-width: 576px) {
  .ivisit_ic01 span:nth-child(1) {
    width: 8rem;
  }
  .ivisit_ic01 span:nth-child(2) {
    width: calc(100% - 8rem);
  }
}
.ivisit_ic02 {
  background-image: url(../../images/ivisit_ic02.svg);
}
@media (min-width: 576px) {
  .ivisit_ic02 span:nth-child(1) {
    width: 14rem;
  }
  .ivisit_ic02 span:nth-child(2) {
    width: calc(100% - 14rem);
  }
}
.ivisit_data-tit {
  color: white;
  font-size: 1.25em;
  line-height: 40px;
}
@media (min-width: 576px) {
  .ivisit_data-tit {
    margin-bottom: 1rem;
  }
}
@media (min-width: 576px) {
  .ivisit_fare {
    padding-left: 3rem;
  }
}
.ivisit_more {
  margin-left: -1.25rem;
  padding-top: 1rem;
}

@media (max-width: 991px) {
  .ivisit_col:first-of-type p,
.ivisit_ic01 li:not([class^=ivisit]),
.ivisit_ic02 li:not([class^=ivisit]) {
    display: none;
  }
}
@media (min-width: 992px) {
  .ivisit_ic02 .ivisit_more {
    display: none;
  }
}
/*-------------------------------------------*\
	icalendar.scss

  Index
  - 1.ievents
	- 2.layout
	- 3.icon
	- 4.title
	- 5.month
  - 6.ic_control
  - 7.ic_calendar
  - 8.th & day
  - 9.explain
  - 10.more
\*-------------------------------------------*/
@media (min-width: 1200px) {
  .ievents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .ievents-three_quarter {
    min-width: calc(100% - 380px);
  }
}

.ievents-quarter {
  display: none;
}
@media (min-width: 813px) {
  .ievents-quarter {
    display: block;
    max-width: 380px;
    margin: 0 auto;
    padding: 4rem 0;
  }
}
@media (min-width: 813px) and (max-width: 1199px) {
  .ievents-quarter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 4rem 0;
    max-width: 100%;
  }
}
@media (min-width: 1200px) {
  .ievents-quarter {
    padding: 2rem 0;
    -webkit-box-shadow: 0.5rem 0.5rem 4rem rgba(0, 0, 0, 0.15);
            box-shadow: 0.5rem 0.5rem 4rem rgba(0, 0, 0, 0.15);
  }
}

.ic_col {
  padding: 2rem 1rem;
}
.ic_col + .ic_col {
  padding-top: 1.5rem;
  text-align: center;
}
@media (min-width: 813px) and (max-width: 1199px) {
  .ic_col + .ic_col {
    padding-top: 9rem;
  }
}
@media (min-width: 992px) {
  .ic_col {
    padding: 2rem;
  }
}

.ic_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.ic_icon {
  width: 60px;
  height: 60px;
  margin-right: 1rem;
  padding-top: 1rem;
  text-align: center;
  background-color: #7d0000;
  border-radius: 0.5rem;
}
.ic_icon img {
  width: 30px;
}
@media (min-width: 813px) {
  .ic_icon {
    width: 100px;
    height: 100px;
    padding-top: 1.5rem;
    margin-right: 2rem;
  }
  .ic_icon img {
    width: 52px;
  }
}

.ic_tit {
  color: #484646;
  font-size: 2.125em;
}
.ic_tit-center {
  text-align: center;
}
.ic_tit_time {
  margin-top: 0.125rem;
  font-size: 1.5em;
  font-weight: bold;
}
@media (min-width: 813px) {
  .ic_tit_time {
    margin-top: 1rem;
  }
}

.ic_month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 2.5rem 0;
}
.ic_month_txt {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
  font-size: 1.875em;
  color: rgba(0, 0, 0, 0.8);
}

.ic_control {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
  display: block;
  width: 20px;
  height: 31px;
  background: url(../../images/icalendar_arrow.svg) no-repeat;
}
.ic_control.ic_control-next {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.ic_control:hover, .ic_control:focus {
  background: url(../../images/icalendar_arrow-hover.svg) no-repeat;
}

.ic_calendar table {
  width: 100%;
}
.ic_calendar table td {
  padding: 0.25rem 0;
  text-align: center;
  font-size: 0.875em;
}
.ic_calendar table a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 24px;
  height: 24px;
  margin: 0 auto;
  color: #454545;
  font-weight: bold;
  border-radius: 50%;
}
.ic_calendar table a:hover, .ic_calendar table a:focus {
  color: #c01c27;
}
@media (min-width: 576px) {
  .ic_calendar table td {
    padding: 0.5rem;
  }
  .ic_calendar table a {
    width: 30px;
    height: 30px;
  }
}

.ic_th {
  padding: 0.75rem 0.25rem !important;
  color: rgba(0, 0, 0, 0.7);
  font-weight: bold;
}
.ic_today {
  color: black !important;
  border: 1px solid white;
  -webkit-box-shadow: 0px 0px 0px 5px #7d0000;
          box-shadow: 0px 0px 0px 5px #7d0000;
}
.ic_closed {
  color: white !important;
  background-color: #202020;
}
.ic_activity {
  color: white !important;
  background-color: #975f14;
}
.ic_free {
  color: white !important;
  background-color: #5f7700;
}
.ic_special {
  color: white !important;
  background-color: #6e447f;
}
.ic_other {
  /* color: rgba(117, 117, 117, 0.5) !important; */
  color: #757575 !important;
}
.ic_other.ic_activity {
  background-color: #f6efe5;
}

.ic_explain li {
  padding: 0.5rem;
}
.ic_explain li:before {
  content: "●";
  margin-right: 0.5rem;
  font-size: 1.125em;
}
.ic_explain li:nth-child(1):before {
  content: "○";
  color: #7d0000;
  font-weight: bold;
}
.ic_explain li:nth-child(2):before {
  color: #202020;
}
.ic_explain li:nth-child(3):before {
  color: #975f14;
}
.ic_explain li:nth-child(4):before {
  color: #5f7700;
}
.ic_explain li:nth-child(5):before {
  color: #6e447f;
}

.ic_more {
  padding: 2.5rem 0;
}
.ic_more .ibtn {
  width: 250px;
  margin: 0 auto;
  padding: 1.25rem 0;
  text-align: center;
  border: 2px solid #afacac;
}
@media (min-width: 992px) {
  .ic_more {
    display: none;
  }
}

/*-------------------------------------------*\
	inews.scss

	Index
	- 1.inews_wrap
	- 2.list
	- 3.item
\*-------------------------------------------*/
.inews_wrap {
  position: relative;
  padding: 2rem 0;
  border-top: 1px solid #d4d3d3;
  border-bottom: 1px solid #d4d3d3;
}
.inews_wrap #tabC {
  left: 1rem;
}
.inews_wrap .ic_tit {
  padding: 1rem;
}
@media (min-width: 992px) {
  .inews_wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
  }
  .inews_wrap:before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0;
    width: 10px;
    height: calc(100% + 2px);
    background-color: #7d0000;
  }
}
.inews_wrap .ic_tit {
  padding: 1rem;
}
@media (min-width: 992px) {
  .inews_wrap .ic_tit {
    min-width: 200px;
  }
}
@media (min-width: 1400px) {
  .inews_wrap .ic_tit {
    min-width: 300px;
  }
}

.inews_list {
  max-width: 768px;
  height: 150px;
  margin: 1em auto;
  padding: 0em 1rem;
  overflow: hidden;
}
@media (min-width: 992px) {
  .inews_list {
    width: calc(100% - 420px);
  }
}
@media (min-width: 1400px) {
  .inews_list {
    width: calc(100% - 550px);
  }
}
.inews_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.5rem 0;
  color: #484646;
  font-size: 1.125em;
  line-height: 1.3;
}
.inews_item a:hover {
  color: #b21d23;
}
.inews_more {
  padding: 1rem 0;
  text-align: center;
}
.inews_more .ibtn {
  max-width: 300px;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .inews_more {
    min-width: 220px;
    padding: 4.5rem 0;
    border-left: 1px solid #d4d3d3;
  }
}
@media (min-width: 1400px) {
  .inews_more {
    min-width: 250px;
  }
}

.inews_time {
  min-width: 5rem;
  font-weight: bold;
  font-style: italic;
}
.inews_txt {
  height: 23px;
  overflow: hidden;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap;
}

/*-------------------------------------------*\
	exhibition.scss

	Index
  - 1.layout
  - 2.tabs
  - 3.tab
  - 4.content
  - 5.item
  - 6.en_head
  - 7.picture
  - 8.en_body
  - 9.more
  - 10.no-js
\*-------------------------------------------*/
.exhibition_wrap {
  padding: 1.5rem 1rem;
}
.exhibition_wrap .ic_tit {
  padding: 1rem;
}
@media (min-width: 1400px) {
  .exhibition_wrap .ic_tit {
    padding: 2rem 0;
  }
}

.en_tabs {
  position: relative;
  padding-top: 1rem;
}
.en_tabs > div:nth-child(1) {
  left: 0.5%;
}
.en_tabs > div:nth-child(3) {
  left: 33.5%;
}
.en_tabs > div:nth-child(5) {
  left: 66.5%;
}
@media (min-width: 576px) {
  .en_tabs > div:nth-child(1) {
    left: calc(50% - 228px);
  }
  .en_tabs > div:nth-child(3) {
    left: calc(50% - 228px + 152px);
  }
  .en_tabs > div:nth-child(5) {
    left: calc(50% - 228px + 304px);
  }
}
@media (min-width: 992px) {
  .en_tabs {
    padding-top: 4rem;
  }
}

.en_tab {
  display: none;
}
@media (min-width: 992px) {
  .en_tab {
    display: block;
    max-width: 152px;
    width: 33%;
    position: absolute;
    top: 0;
  }
}
.tablist{
  display: flex;
  justify-content: center;
}
.en_btn {
  display: block;
  width: 152px;
  padding: 1.25rem 0;
  color: #484646;
  text-align: center;
  font-size: 1.5em;
  background-color: transparent;
  border: none;
}
.en_btn:hover, .en_btn[aria-selected="true"]{
  color: #7d0000;
  border-bottom: 2px solid #941d27;
}

.en_content {
  max-height: 0;
  overflow: hidden;
}
.en_content.active {
  max-height: 786px;
}
@media (min-width: 813px) {
  .en_content.active {
    max-height: 1000px;
  }
}
.en_content .active + .active {
  border-left: 1px solid #d4d3d3;
}

.owl_en {
  border-top: 1px solid #d4d3d3;
  border-bottom: 1px solid #d4d3d3;
}
.owl_en .owl-controls {
  display: none;
}
.owl_en .owl-item {
  margin: 1rem 0;
}

.en_item {
  padding: 1rem;
}

.en_head {
  padding: 2rem 0 1rem;
}
.en_head div {
  margin-top: 0.75rem;
}
.en_num {
  font-size: 5em;
  font-family: sans-serif, "Noto Sans TC";
  font-weight: bold;
  color: #e1e1e0;
}
@media (max-width: 812px) {
  .en_num {
    display: none;
  }
}
.en_time {
  font-size: 1.125em;
}
.en_time span:first-of-type {
  position: relative;
  padding-right: 2.25rem;
  margin-right: 0.25rem;
}
.en_time span:first-of-type:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 2rem;
  height: 1px;
  background-color: black;
}
.en_tit {
  height: 50px;
  margin-bottom: 36px;
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.2;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.en_tit + .en_location {
  margin-top: -24px;
}
.en_location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #484646;
}
.en_location:after {
  content: "";
  display: block;
  width: 17px;
  height: 24px;
  margin-left: 0.5rem;
  background-image: url(../../images/ic_location.svg);
}

.en_pic {
  display: block;
  color: black;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s;
}
.en_pic_fig {
  padding-bottom: 56%;
}
.en_pic_fig:after {
  content: "查看內容";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  width: 100%;
  height: 100%;
  color: white;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
}
.en_pic:hover .en_pic_fig:after, .en_pic:focus .en_pic_fig:after {
  opacity: 1;
}
.en_pic:hover .en_pic_fig img, .en_pic:focus .en_pic_fig img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}
.en_pic:focus:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 2px dotted #bfa6ff;
}

.en_body {
  padding: 1rem 0;
}
.en_badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  color: #7d0000;
  border: 1px solid #7d0000;
}
.en_txt {
  height: 39px;
  margin: 1rem 0;
  color: #757575;
  line-height: 1.2;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.en_more {
  padding: 1.5rem 0;
  text-align: center;
}
.en_more .ibtn {
  max-width: 300px;
  margin: 0 auto;
}
@media (min-width: 813px) {
  .en_more {
    padding: 2.5rem 0 1.5rem;
  }
}

.no-js .en_tabs,
.no-js .en_tab {
  position: static;
}
.no-js .en_content {
  max-height: 100%;
  overflow: visible;
}
.no-js .owl_en {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.no-js .en_item {
  width: 100%;
}
@media (min-width: 576px) {
  .no-js .en_item {
    width: 50%;
  }
}
@media (min-width: 813px) {
  .no-js .en_item {
    width: 33.3%;
  }
}

/*-------------------------------------------*\
	navigation-mobile.scss

	Index
	- 1.layout
	- 2.title
  - 3.btn
  - 4.list
  - 5.nojs
\*-------------------------------------------*/
.navigation_wrap {
  padding: 3rem 2rem;
  background: url(../../images/navigation_bg.jpg) no-repeat center;
}
@media (min-width: 1200px) {
  .navigation_wrap {
    padding: 0;
  }
}
@media (min-width: 1200px) {
  .navigation_mobile {
    display: none;
  }
}

.navigation_tit {
  position: relative;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  color: white;
  text-align: center;
}
.navigation_tit-cn {
  font-size: 2.5em;
}
.navigation_tit-en {
  margin-top: 1rem;
  font-family: sans-serif, "Noto Sans TC";
  text-transform: uppercase;
}
.navigation_tit:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #c01c27;
}
@media (min-width: 813px) {
  .navigation_tit {
    text-align: left;
  }
}
@media (min-width: 1200px) {
  .navigation_tit {
    width: 46%;
    margin-left: auto;
    padding: 4rem 0 2rem 0;
  }
  .navigation_tit-cn, .navigation_tit-en {
    width: 300px;
    margin: 0 auto;
  }
  .navigation_tit-en {
    margin-top: 1rem;
  }
  .navigation_tit:after {
    left: 54px;
    width: 360px;
    -webkit-transform: skew(-20deg);
        -ms-transform: skew(-20deg);
            transform: skew(-20deg);
  }
}
@media (min-width: 1400px) {
  .navigation_tit {
    margin-bottom: 2rem;
  }
  .navigation_tit-cn, .navigation_tit-en {
    width: 352px;
  }
  .navigation_tit-cn {
    font-size: 3.75em;
  }
  .navigation_tit-en {
    font-size: 1.5em;
  }
  .navigation_tit:after {
    left: 76px;
    width: 410px;
  }
}
@media (min-width: 1600px) {
  .navigation_tit {
    padding: 7.5rem 0 2rem 0;
  }
  .navigation_tit:after {
    left: 128px;
    width: 474px;
  }
}

.navigation_btn {
  padding: 1rem 0;
}
@media (min-width: 576px) {
  .navigation_btn .ibtn {
    width: 290px;
  }
}

.mnav_list {
  display: none;
  margin-top: 1rem;
}
@media (min-width: 813px) {
  .mnav_list {
    display: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.mnav_list a {
  display: block;
  position: relative;
  padding: 0.5rem 0 0.5rem 1.75rem;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.2;
}
.mnav_list a:before, .mnav_list a:after {
  content: "";
  display: block;
  position: absolute;
}
.mnav_list a:before {
  top: 11px;
  left: 4px;
  width: 10px;
  height: 10px;
  border: 2px solid rgba(192, 28, 39, 0.65);
}
.mnav_list a:after {
  top: 16px;
  left: 9px;
  width: 4px;
  height: 4px;
  background-color: rgba(192, 28, 39, 0.65);
}
.mnav_list a:hover, .mnav_list a:focus {
  color: white;
}
.mnav_list a:hover:before, .mnav_list a:focus:before {
  border: 2px solid #c01c27;
}
.mnav_list a:hover:after, .mnav_list a:focus:after {
  background-color: #c01c27;
}
@media (min-width: 813px) {
  .mnav_list a {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .mnav_list a {
    width: 25%;
  }
}

.no-js .navigation_wrap {
  background: url(../../images/navigation_bg.jpg) repeat-y top center;
}
.no-js .navigation_tit {
  width: 100%;
}
.no-js .navigation_tit-cn, .no-js .navigation_tit-en {
  text-align: left;
  width: auto;
}
.no-js .navigation_tit:after {
  left: 0;
}

/*-------------------------------------------*\
	navigation-desktop.scss

	Index
	- 1.layout & blackground
	- 2.nd_content
  - 3.nd_tab position
  - 4.button
  - 5.keyframes
  - 6.nojs
\*-------------------------------------------*/
.navigation_desktop {
  position: relative;
  height: 660px;
  background: url(../../images/navigation_map.png) no-repeat;
  background-size: 850px;
  background-position: top 3rem left -160px;
}
@media (max-width: 1199px) {
  .navigation_desktop {
    display: none;
  }
}
@media (min-width: 1400px) {
  .navigation_desktop {
    height: 774px;
    background-size: 1000px;
    background-position: top 3.8rem left -140px;
  }
}
@media (min-width: 1600px) {
  .navigation_desktop {
    height: 932px;
    background-size: 1207px;
    background-position: top 3.8rem left -10rem;
  }
}

.nd_content {
  position: absolute;
  right: 0;
  width: 46%;
  text-align: center;
}
.nd_content_inner {
  width: 300px;
  max-height: 0;
  margin: 0 auto;
  text-align: left;
  overflow: hidden;
}
.nd_content.active .nd_content_inner {
  min-height: 440px;
}
.nd_content_tit {
  padding: 1.5rem 0;
  color: white;
  font-size: 1.875em;
}
.nd_content_pic {
  padding-bottom: 66%;
}
.nd_content_txt {
  height: 80px;
  margin: 1.25rem 0;
  color: white;
  line-height: 1.75;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
@media (min-width: 1400px) {
  .nd_content_inner {
    width: 352px;
  }
  .nd_content.active .nd_content_inner {
    min-height: 500px;
  }
  .nd_content_txt {
    height: 112px;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
  }
}

.nd_tab {
  position: absolute;
}
.nd_tab-01 {
  top: 60px;
  left: 288px;
}
.nd_tab-02 {
  top: 18px;
  left: 551px;
}
.nd_tab-03 {
  top: 168px;
  left: 124px;
}
.nd_tab-04 {
  top: 193px;
  left: 195px;
}
.nd_tab-05 {
  top: 149px;
  left: 569px;
}
.nd_tab-06 {
  top: 241px;
  left: 393px;
}
.nd_tab-07 {
  top: 301px;
  left: 249px;
}
.nd_tab-08 {
  top: 266px;
  left: 266px;
}
.nd_tab-09 {
  top: 317px;
  left: 330px;
}
.nd_tab-10 {
  top: 363px;
  left: 387px;
}
.nd_tab-11 {
  top: 376px;
  left: 278px;
}
.nd_tab-12 {
  top: 417px;
  left: 149px;
}
.nd_tab-13 {
  top: 427px;
  left: 374px;
}
.nd_tab-14 {
  top: 446px;
  left: 448px;
}
.nd_tab-15 {
  top: 453px;
  left: 105px;
}
.nd_tab-16 {
  top: 491px;
  left: 347px;
}
.nd_tab-17 {
  top: 538px;
  left: 121px;
}
.nd_tab-18 {
  top: 571px;
  left: 171px;
}
.nd_tab-19 {
  top: 562px;
  left: 233px;
}
.nd_tab-20 {
  top: 535px;
  left: 316px;
}
@media (min-width: 1400px) {
  .nd_tab-01 {
    top: 80px;
    left: 387px;
  }
  .nd_tab-02 {
    top: 24px;
    left: 692px;
  }
  .nd_tab-03 {
    top: 199px;
    left: 184px;
  }
  .nd_tab-04 {
    top: 223px;
    left: 290px;
  }
  .nd_tab-05 {
    top: 190px;
    left: 734px;
  }
  .nd_tab-06 {
    top: 289px;
    left: 515px;
  }
  .nd_tab-07 {
    top: 333px;
    left: 311px;
  }
  .nd_tab-08 {
    top: 343px;
    left: 414px;
  }
  .nd_tab-09 {
    top: 383px;
    left: 427px;
  }
  .nd_tab-10 {
    top: 432px;
    left: 509px;
  }
  .nd_tab-11 {
    top: 452px;
    left: 380px;
  }
  .nd_tab-12 {
    top: 497px;
    left: 218px;
  }
  .nd_tab-13 {
    top: 522px;
    left: 490px;
  }
  .nd_tab-14 {
    top: 536px;
    left: 579px;
  }
  .nd_tab-15 {
    top: 540px;
    left: 176px;
  }
  .nd_tab-16 {
    top: 586px;
    left: 464px;
  }
  .nd_tab-17 {
    top: 621px;
    left: 185px;
  }
  .nd_tab-18 {
    top: 689px;
    left: 275px;
  }
  .nd_tab-19 {
    top: 670px;
    left: 354px;
  }
  .nd_tab-20 {
    top: 635px;
    left: 418px;
  }
}
@media (min-width: 1600px) {
  .nd_tab-01 {
    top: 100px;
    left: 430px;
  }
  .nd_tab-02 {
    top: 31px;
    left: 849px;
  }
  .nd_tab-03 {
    top: 236px;
    left: 235px;
  }
  .nd_tab-04 {
    top: 265px;
    left: 355px;
  }
  .nd_tab-05 {
    top: 202px;
    left: 878px;
  }
  .nd_tab-06 {
    top: 342px;
    left: 631px;
  }
  .nd_tab-07 {
    top: 405px;
    left: 405px;
  }
  .nd_tab-08 {
    top: 405px;
    left: 511px;
  }
  .nd_tab-09 {
    top: 448px;
    left: 517px;
  }
  .nd_tab-10 {
    top: 509px;
    left: 625px;
  }
  .nd_tab-11 {
    top: 541px;
    left: 472px;
  }
  .nd_tab-12 {
    top: 593px;
    left: 257px;
  }
  .nd_tab-13 {
    top: 630px;
    left: 603px;
  }
  .nd_tab-14 {
    top: 636px;
    left: 711px;
  }
  .nd_tab-15 {
    top: 643px;
    left: 226px;
  }
  .nd_tab-16 {
    top: 702px;
    left: 564px;
  }
  .nd_tab-17 {
    top: 742px;
    left: 237px;
  }
  .nd_tab-18 {
    top: 805px;
    left: 320px;
  }
  .nd_tab-19 {
    top: 804px;
    left: 449px;
  }
  .nd_tab-20 {
    top: 761px;
    left: 509px;
  }
}

.nd_tab_btn {
  display: block;
  position: relative;
  padding: 0.5rem 1rem;
  padding-left: 2rem;
  color: white;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
.nd_tab_btn:before, .nd_tab_btn:after {
  position: absolute;
  content: "";
  display: block;
  border-radius: 50%;
}
.nd_tab_btn:before {
  top: calc(50% - 0.25rem);
  left: 1rem;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #b21d23;
}
.nd_tab_btn:hover, .nd_tab_btn.active {
  padding-left: 2.5rem;
}
.nd_tab_btn:hover:before, .nd_tab_btn.active:before {
  -webkit-animation: beforepoint 2s infinite;
          animation: beforepoint 2s infinite;
}
.nd_tab_btn:hover:after, .nd_tab_btn.active:after {
  top: calc(50% - 0.5rem - 2px);
  left: 0.65rem;
  width: 1rem;
  height: 1rem;
  border: 2px solid #b21d23;
  -webkit-animation: afterpoint 2s infinite 0.5s;
          animation: afterpoint 2s infinite 0.5s;
}

.ndtab_spot:before, .ndtab_spot:after {
  border-radius: 0;
}
.ndtab_spot:before {
  background-color: #c0853e;
}
.ndtab_spot:hover:after, .ndtab_spot.active:after {
  border: 2px solid #c0853e;
}

@-webkit-keyframes beforepoint {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale(5);
            transform: scale(5);
  }
  100% {
    opacity: 1;
  }
}

@keyframes beforepoint {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale(5);
            transform: scale(5);
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes afterpoint {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}
@keyframes afterpoint {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}
@media (min-width: 1200px) {
  .no-js .navigation_desktop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: auto;
    padding: 0 4rem;
    background: none;
  }
  .no-js .nd_content {
    position: static;
    width: calc(50% - 4rem);
  }
  .no-js .nd_content_inner {
    min-height: 500px;
  }
  .no-js .nd_tab {
    position: static;
    width: 4rem;
  }
}
@media (min-width: 1600px) {
  .no-js .nd_content {
    width: calc(33.3% - 4rem);
  }
}

/*-------------------------------------------*\
	Index
	- 1.collection_wrap
\*-------------------------------------------*/
.collection_wrap::after {
  content: "";
  display: table;
  clear: both;
}
.collection_title {
  padding: 2rem 0;
  background-color: #7d0000;
  color: white;
  text-align: center;
}
.collection_title_txt {
  margin: 0.75rem;
}
.collection_title span {
  display: block;
  font-size: 2.5em;
  padding: 0.5rem;
}
.collection_title span[lang=en] {
  font-size: 1.875em;
  font-family: sans-serif, "Noto Sans TC";
  text-transform: uppercase;
  letter-spacing: 0.125rem;
}
@media (min-width: 576px) {
  .collection_title .ibtn {
    width: 290px;
  }
}
@media (min-width: 1200px) {
  .collection_title .ibtn {
    display: none;
  }
}
.collection_item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.collection_item:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.collection_content {
  display: none;
}
@media (min-width: 1200px) {
  .collection_content {
    display: block;
  }
}
.collection_img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 50%;
}
.collection_img_fig {
  position: relative;
  padding-bottom: 100%;
}
.collection_inner {
  z-index: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1.5rem;
}
.collection_subtit {
  height: 35px;
  margin-bottom: 1.5rem;
  color: white;
  font-size: 1.5em;
  line-height: 1.75;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
@media (min-width: 1200px) {
  .collection_subtit {
    height: 80px;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}
.collection_txt {
  height: 60px;
  margin-bottom: 1.5rem;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.75;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media (min-width: 1200px) {
  .collection_txt {
    height: 112px;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
  }
}

@media (min-width: 1200px) {
  .collection_item {
    background: -webkit-gradient(linear, left top, left bottom, from(#686a6f), to(#aeacb2));
    background: -o-linear-gradient(top, #686a6f 0%, #aeacb2 100%);
    background: linear-gradient(to bottom, #686a6f 0%, #aeacb2 100%);
  }
  .collection_item_01 .collection_inner, .collection_item_02 .collection_inner {
    background: -webkit-gradient(linear, left top, right top, from(#363738), to(#aeacb2));
    background: -o-linear-gradient(left, #363738 0%, #aeacb2 100%);
    background: linear-gradient(to right, #363738 0%, #aeacb2 100%);
  }
  .collection_item_03 .collection_inner, .collection_item_04 .collection_inner {
    background: -webkit-gradient(linear, right top, left top, from(#363738), to(#aeacb2));
    background: -o-linear-gradient(right, #363738 0%, #aeacb2 100%);
    background: linear-gradient(to left, #363738 0%, #aeacb2 100%);
  }
  .collection_item_01:after, .collection_item_02:after {
    content: "";
    position: absolute;
    left: calc(50% - 15px);
    top: calc(50% - 15px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 15px 0;
    border-color: transparent #363738 transparent transparent;
  }
  .collection_item_03:after, .collection_item_04:after {
    content: "";
    position: absolute;
    right: calc(50% - 15px);
    top: calc(50% - 15px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 15px;
    border-color: transparent transparent transparent #363738;
  }
}
@media (min-width: 1200px) {
  .collection_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .collection_item {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .collection_item_01, .collection_item_02, .collection_item_03, .collection_item_04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
  .collection_item_01 .collection_img, .collection_item_01 .collection_inner, .collection_item_02 .collection_img, .collection_item_02 .collection_inner, .collection_item_03 .collection_img, .collection_item_03 .collection_inner, .collection_item_04 .collection_img, .collection_item_04 .collection_inner {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .collection_item_03, .collection_item_04 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .collection_item_box {
    width: 50%;
    background: #aeacb2;
  }
  .collection_item_box::after {
    content: "";
    display: table;
    clear: both;
  }
}
/*-------------------------------------------*\
	irecommend.scss

	Index
  - 1.latout
  - 2.google map
  - 3.ird_pic
  - 4.data
  - 4-1.head
  - 4-2.ird_body
  - 4-3.ird_data_btn
  - 5.mobile
\*-------------------------------------------*/
@media (min-width: 813px) {
  .irecommend_wrap {
    position: relative;
  }
}
@media (min-width: 1400px) {
  .irecommend_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 1400px) {
  .ird_col:nth-child(1) {
    width: 55%;
  }
  .ird_col:nth-child(2) {
    min-width: 45%;
  }
}
.ird_gmap {
  height: 240px;
}
@media (min-width: 576px) {
  .ird_gmap {
    height: 300px;
  }
}
@media (min-width: 813px) {
  .ird_gmap {
    height: 360px;
  }
}
@media (min-width: 1400px) {
  .ird_gmap {
    height: 592px;
  }
}
.ird_btn {
  width: 100%;
  padding: 1.5rem 0;
  background-color: black;
}

.ird_pic_fig {
  padding-bottom: 60%;
}
@media (min-width: 813px) {
  .ird_pic {
    width: 50%;
    margin-left: auto;
  }
  .ird_pic_fig {
    padding-bottom: 451px;
  }
}
@media (min-width: 1400px) {
  .ird_pic {
    margin: 0;
  }
  .ird_pic_fig {
    padding-bottom: 690px;
  }
}

.ird_data {
  padding: 2.5rem 0 2.5rem 4rem;
  background-color: white;
}
@media (min-width: 813px) {
  .ird_data {
    position: absolute;
    bottom: 0;
    width: 50%;
  }
}
@media (min-width: 1400px) {
  .ird_data {
    top: calc(50% - 274.5px);
    right: calc(45% - (245px - 3rem));
    bottom: auto;
    width: 490px;
    height: 451px;
  }
}

.ird_badge {
  color: #7d0000;
  font-size: 1.125em;
}
.ird_tit {
  position: relative;
  height: 70px;
  margin: 1rem 1.5rem 1rem 0;
  font-size: 1.75em;
  line-height: 1.2;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.ird_tit:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.25rem;
  width: 4rem;
  height: 0.25rem;
  background-color: #7d0000;
}

.ird_body {
  padding-top: 1.5rem;
  padding-right: 2rem;
  border-top: 1px solid #afacac;
}
.ird_body_badge {
  color: #969291;
}
.ird_schdule {
  height: 54px;
  margin: 1.25rem 0;
  font-size: 1.125em;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.ird_schdule li {
  display: inline-block;
  line-height: 1.5;
}
.ird_schdule li:after {
  content: ">";
  margin-left: 0.25rem;
}
.ird_txt {
  height: 46px;
  color: #484646;
  line-height: 1.5;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.ird_data_btn {
  margin-top: 1.5rem;
}
@media (min-width: 813px) {
  .ird_data_btn {
    margin-left: 6rem;
    margin-right: -6rem;
  }
}
.ird_data_btn .ibtn {
  padding: 1rem 2rem;
  text-align: right;
  background-color: #202020;
}

@media (max-width: 1199px) {
  .ird_col, .ird_data {
    display: none;
  }
}
.ird_mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2rem 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1200px) {
  .ird_mobile {
    display: none;
  }
}

.irdm_tit {
  margin: 0 auto 1.5rem;
  text-align: center;
}
.irdm_tit + .ibtn_border {
  border: solid 1px #afacac;
}
@media (min-width: 576px) {
  .irdm_tit {
    margin: 0 1.5rem 1.5rem;
  }
  .irdm_tit + .ibtn {
    width: 290px;
  }
}
.irdm_tit-cn {
  font-size: 2.5em;
  letter-spacing: 0.75rem;
}
.irdm_tit-en {
  font-family: sans-serif, "Noto Sans TC";
  text-transform: uppercase;
  letter-spacing: 0.125rem;
}
@media (min-width: 992px) {
  .irdm_tit-en {
    font-size: 1.875em;
  }
}
.irdm_tit p {
  padding-top: 1rem;
}
/* 2025 新增行事曆列表 */
.schedule-item{
  display: block;
  padding-block: 0.75rem;
  text-align: start;
  color: #000000;
  border-bottom: 1px dashed #bdbdbd;
  &:hover{
    .schedule-tit{
      color: #000000;
    }
  }
}
.schedule-tit{
  margin-block: .75rem;
  font-size: 1.25em;
  font-weight: bold;
  color:#c01c27;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.schedule-date{
  font-size: 0.875rem;
}
.schedule-date span:nth-child(1){
  margin-right: 0.25rem;
}
@media (min-width: 813px) {
  .schedule-scroll{
    height: 436px;
    overflow-y: scroll;
  }
}
@media (min-width: 1200px) {
  .schedule-scroll{
    height: 327px;
  }
}
/* 2025 無障礙調整 */
.iban_item{
  display: block;
}
.iban_item:focus,
.iban_item:focus-visible{
  border: 2px solid #bfa6ff;
}
.iban_item:not(:focus-visible){
  border: none;
}

.banner_wrap{
  position: relative;
  z-index: 0;
}
.marquee-toggle-button,
.owl-toggle-button{
  position: absolute;
  z-index: 2;
  bottom: 1rem;
  right: 1rem;
  width: 44px;
  height: 44px;
  background-color: #202020;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  border: none;

  &:hover{
    background-color: #7d0000;
  }
  &:focus-visible,
  &:focus{
    outline: 2px dotted #bfa6ff;
  }
  &:not(:focus-visible){outline: 0;}
}
.marquee-toggle-button.stop,
.owl-toggle-button.stop{
  background-image: url(../../images/sp-news-pause.svg);
}
.marquee-toggle-button.play,
.owl-toggle-button.play{
  background-image: url(../../images/sp-news-play.svg);
}

.marquee-toggle-button{
  position: static;
  flex-shrink: 0;
  margin: 0 auto;
}
.marquee-toggle{
  text-align: center;
}
@media (min-width: 1200px) {
  .owl-toggle-button{
    bottom: 3.5rem;
    right: 5rem;
  }
}