@charset "UTF-8";
@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以上
\*-------------------------------------------*/
/*-------------------------------------------*\
  Spacing.scss

	Index
	- 1.inews_wrap
	- 2.list
	- 3.item
\*-------------------------------------------*/
.mg_x-nuit {
  margin: 1rem 0;
}
.mg_t-nuit {
  margin-top: 1rem;
}
.mg_t-xl {
  margin-top: 3.25rem;
}
.mg_b-nuit {
  margin-bottom: 1rem;
}
.mg_b-xs {
  margin-bottom: 0.5rem;
}
.mg_b-lg {
  margin-bottom: 2rem;
}

/*-------------------------------------------*\
	badge .scss

	Index
	- 1.badge
	- 2.-
	- 3.-
\*-------------------------------------------*/
.badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
}
.badge-lg {
  padding: 0.5rem 1rem;
}
.badge-primary {
  color: #7d0000;
  border: 1px solid #7d0000;
}
.badge-secondary {
  color: #975f14;
  border: 1px solid #975f14;
}

/*-------------------------------------------*\
	activityList .scss

	Index
	- 1.inews_wrap
	- 2.list
	- 3.item
\*-------------------------------------------*/
.activity_list .kf_imglist {
  padding: 0;
}
.activity_list .kf_imglist a {
  padding: 1rem;
  border-bottom: 1px solid #b7b4b4;
  background-color: #fafafa;
}
.activity_list .kf_imglist a:hover, .activity_list .kf_imglist a:focus {
  background-color: white;
  -webkit-box-shadow: 0 0 2rem -0.25rem rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 2rem -0.25rem rgba(0, 0, 0, 0.2);
}
.activity_list .kf_imglist a:focus {
  outline: 2px dotted #bfa6ff;
}
@media (min-width: 576px) {
  .activity_list .kf_imglist {
    margin: 0;
  }
  .activity_list .kf_imglist a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 992px) {
  .activity_list .kf_imglist a {
    padding: 1.75rem 1rem;
  }
}
.activity_list .kf_imglist_tit {
  font-weight: bold;
  margin: 0.75rem 0;
  white-space: normal;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .activity_list .kf_imglist_tit {
    height: 60px;
  }
}
.activity_list .kf_imglist_time {
  display: block;
  font-size: 1.125em;
  color: #202020;
}
.activity_list .kf_imglist_time i {
  font-weight: bold;
  margin-right: 1rem;
}
.activity_list .kf_imglist_time + p {
  height: 43px;
  margin-top: 0.5rem;
  font-size: 1.125em;
}
@media (min-width: 992px) {
  .activity_list .kf_imglist_time + p {
    margin: 1.25rem 0 0 0;
    height: 54px;
    line-height: 1.5;
  }
}
@media (min-width: 576px) {
  .activity_list .kf_img_wrap {
    min-width: 220px;
    margin-right: 1rem;
  }
  .activity_list .kf_img_wrap + .kf_imglist_group {
    width: calc(100% - (220px + 1rem));
  }
}
@media (min-width: 992px) {
  .activity_list .kf_img_wrap {
    min-width: 425px;
    margin-right: 3.75rem;
  }
  .activity_list .kf_img_wrap + .kf_imglist_group {
    width: calc(100% - (425px + 3.75rem));
  }
}
@media (min-width: 576px) {
  .activity_list .kf_img_inner {
    margin-bottom: 0;
    padding-bottom: 157px;
  }
}
@media (min-width: 992px) {
  .activity_list .kf_img_inner {
    padding-bottom: 240px;
  }
}
.activity_list .kf_imglist_group {
  min-width: 0;
}
@media (min-width: 992px) {
  .activity_list .kf_imglist_group {
    padding-top: 2rem;
  }
}

.imglist_top {
  margin-bottom: 0.35rem;
}
.imglist_top::after {
  content: "";
  display: table;
  clear: both;
}
.imglist_top + .kf_imglist_time {
  display: inline-block;
  margin-right: 0.25rem;
  padding-bottom: 0.125rem !important;
}

/*-------------------------------------------*\
	CardList.scss

	Index
	- 1.inews_wrap
	- 2.list
	- 3.item
  - 4.tab
\*-------------------------------------------*/
.card_wrap {
  margin: 0 -1rem;
}
.card_wrap .kf_img {
  z-index: 1;
}
.card_wrap .kf_img: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;
  color: white;
  font-size: 1.125em;
  opacity: 0;
}
.card_wrap .kf_imglist {
  padding: 0 1rem;
}
.card_wrap .kf_imglist a {
  padding: 1rem 0;
  border-bottom: 1px solid #bbb9b9;
}
.card_wrap .kf_imglist a:hover .kf_img:after, .card_wrap .kf_imglist a:focus .kf_img:after {
  z-index: 99;
  opacity: 0.6;
}
.card_wrap .kf_imglist_time {
  font-size: 1.125em;
  letter-spacing: 1px;
  color: black;
}
.card_wrap .kf_imglist_time span:first-of-type:after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 5px;
  margin-left: 0.5rem;
  border-top: 1px solid black;
}
.card_wrap .kf_imglist_tit2 {
  font-size: 1.5em;
  line-height: 1.2;
  font-weight: bold;
  color: black;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .card_wrap .kf_imglist_tit2 {
    height: 58px;
  }
}
@media (min-width: 576px) {
  .card_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 3rem;
  }
  .card_wrap .kf_imglist {
    width: 50%;
    margin-bottom: 1rem;
    padding: 0;
  }
  .card_wrap .kf_imglist a {
    padding: 1rem;
    border-bottom: none;
  }
}
@media (min-width: 813px) {
  .card_wrap {
    margin: 0 -1rem;
  }
  .card_wrap .kf_img_inner {
    /* padding-bottom: 240px; */
    padding-bottom: 56%;
  }
}
@media (min-width: 992px) {
  .card_wrap .kf_imglist {
    width: 33.3%;
  }
}

.remarks {
  margin-top: 0.5rem;
  color: #484646;
}
.remarks_ic-map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.remarks_ic-map:after {
  content: "";
  display: inline-block;
  width: 17px;
  height: 24px;
  margin-left: 0.5rem;
  background-image: url(../../images/ic_location.svg);
}

.collection .kf_img_inner {
  padding-bottom: 100%;
}
@media (max-width: 575px) {
  .collection .kf_imglist a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .collection .kf_img_wrap {
    min-width: 100px;
    margin-right: 1rem;
  }
  .collection .kf_img_wrap_inner {
    margin-bottom: 0;
  }
}
@media (min-width: 813px) {
  .collection .kf_imglist {
    width: 33.3%;
  }
}
@media (min-width: 992px) {
  .collection .kf_imglist {
    width: 25%;
  }
}

.ed_tab_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1rem 0 1.75rem;
}
.ed_tab_row .ed_tab_col {
  margin: 0 0.25rem;
}
.ed_tab_row .ed_tab_col a {
  position: relative;
  display: block;
  font-family: sans-serif, "Noto Sans TC";
  color: #202020;
  font-size: 1.125em;
  padding: 0.85rem 0.25rem;
}
.ed_tab_row .ed_tab_col a:after {
  position: absolute;
  left: 50%;
  bottom: 0;
  content: "";
  width: 0;
  height: 3px;
  background: transparent;
  border-radius: 3px;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.ed_tab_row .ed_tab_col a:hover, .ed_tab_row .ed_tab_col a:focus, .ed_tab_row .ed_tab_col a.active {
  color: #7d0000;
}
.ed_tab_row .ed_tab_col a:hover:after, .ed_tab_row .ed_tab_col a:focus:after, .ed_tab_row .ed_tab_col a.active:after {
  width: 100%;
  left: 0%;
  background: #941d27;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (min-width: 992px) {
  .ed_tab_row {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 1rem -1rem 1.75rem;
  }
  .ed_tab_row .ed_tab_col {
    margin: 0 1rem;
  }
  .ed_tab_row .ed_tab_col a {
    font-size: 1.25em;
  }
}

/*-------------------------------------------*\
	Detail .scss

	Index
	- 1.inews_wrap
	- 2.list
	- 3.item
\*-------------------------------------------*/
.ac_wrap {
  padding-bottom: 2rem;
}
.ac_article {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  .ac_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .ac_article {
    width: 70%;
    padding-right: 6rem;
  }
  .ac_aside {
    width: 30%;
  }
}

.ac_tit1, .ac_tit2, .ac_tit3, .ac_tit4 {
  color: #202020;
  line-height: 1.2;
  font-size: 1.875em;
  font-family: sans-serif, "Noto Sans TC";
}
.ac_tit1 {
  margin: 1.75rem 0;
  font-weight: bold;
}
.ac_tit2 {
  position: relative;
  padding: 0.5rem;
  padding-left: 1.25rem;
}
.ac_tit2:before {
  position: absolute;
  top: 0.5rem;
  left: 0;
  content: "";
  display: block;
  width: 0.45rem;
  height: 1em;
  background: #7d0000;
}
.ac_tit4 {
  font-size: 1.5em;
}
@media (min-width: 813px) {
  .ac_tit1 {
    font-size: 2.5em;
  }
}

.ac_list li {
  margin-top: 0.75rem;
  line-height: 1.2;
  color: #484646;
  word-break: break-all;
}
.ac_list a {
  display: block;
  padding: 0.25rem;
  color: #915c24;
  -webkit-transition: 0.25s;
  -o-transition: 0.25s;
  transition: 0.25s;
}
.ac_list a:hover, .ac_list a:focus {
  color: black;
  background-color: rgba(242, 201, 159, 0.25);
  text-decoration: underline;
}
.ac_list-icon {
  padding: 0;
  padding-left: 1rem;
}
.ac_list-icon li {
  position: relative;
  padding-left: 1.125rem;
}
.ac_list-icon li:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #7d0000;
  border-radius: 1rem;
}
.ac_list-data li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.ac_list-data li span {
  display: block;
}
.ac_list-data li>span:first-of-type {
  min-width: 3rem;
  margin-right: 0.5rem;
  color: black;
  font-weight: bold;
}
.ac_list-data li>span span{
  margin-bottom: 0.25rem;
}

.ac_list-data.ac_list-icon li:before {
  top: 6px;
}

.ac_aside-row {
  padding: 1.5rem 1rem;
  border-top: 5px solid #7d0000;
  background-color: whitesmoke;
}
.ac_aside-row + .ac_aside-row {
  margin-top: 1.5rem;
}
.ac_aside-row .ac_list {
  margin-top: 1.25rem;
}

.ac_notice {
  margin-top: 1.5rem !important;
  padding-top: 1rem;
  color: #7d0000 !important;
  font-weight: bold;
  border-top: 1px dashed #7d0000;
}

.ac_download:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: 0.5rem;
  background-repeat: no-repeat;
  background-position: center;
}

.ac_doc:after {
  background-image: url(../../images/module/kf_dload_doc.svg);
}

.ac_odf:after {
  background-image: url(../../images/module/kf_dload_odf.svg);
}

.ac_other:after {
  background-image: url(../../images/module/kf_dload_other.svg);
}

.ac_pdf:after {
  background-image: url(../../images/module/kf_dload_pdf.svg);
}

.ac_ppt:after {
  background-image: url(../../images/module/kf_dload_ppt.svg);
}

.ac_txt:after {
  background-image: url(../../images/module/kf_dload_txt.svg);
}

.ac_xlsx:after {
  background-image: url(../../images/module/kf_dload_xlsx.svg);
}

.ac_zip:after {
  background-image: url(../../images/module/kf_dload_zip.svg);
}

.ac_btn {
  position: relative;
  margin-top: 1.5rem;
}
.ac_btn a, .ac_btn input {
  width: 100%;
  padding: 1rem;
}
.ac_btn a:hover, .ac_btn a:focus, .ac_btn input:hover, .ac_btn input:focus {
  outline: 2px dotted #bfa6ff;
}
.ac_btn:before {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  left: calc(50% + 2.5em);
  width: 20px;
  height: 20px;
}

.ac_btn_ic01:before {
  background-image: url(../../images/module/acbtn_ic01.svg);
}

.ac_btn_ic02:before {
  background-image: url(../../images/module/acbtn_ic02.svg);
}

.ac_btn_ic03:before {
  background-image: url(../../images/module/acbtn_ic03.svg);
}

.ac_btn-vr:before {
  display: none;
}
.ac_btn-vr a.kf_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
.ac_btn-vr a.kf_btn::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 0.5rem;
  background-image: url(../../images/module/acbtn_ic01.svg);
}

/*-------------------------------------------*\
  related.scss

	Index
	- 1.info
	- 1-1.left
  - 1-2.right
	- 2.related-picture
	- 2-1.col
	- 2-2.rp_pic_fig
\*-------------------------------------------*/
.related_info {
  padding: 1rem;
  background-color: whitesmoke;
}
@media (min-width: 576px) {
  .related_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: whitesmoke url(../../images/related_info_bg.png) no-repeat top right;
  }
}

.rd_left .cm_pic {
  padding-bottom: 50%;
}
@media (min-width: 576px) {
  .rd_left {
    width: 50%;
    max-width: 416px;
  }
  .rd_left .cm_pic {
    padding-bottom: 200px;
  }
}

@media (max-width: 575px) {
  .rd_right {
    margin-top: 1rem;
  }
}
@media (min-width: 576px) {
  .rd_right {
    width: 50%;
    padding: 1.5rem 0;
    padding-left: 1.5rem;
  }
}
@media (min-width: 813px) {
  .rd_right {
    width: calc(100% - 146px);
    padding-left: 4rem;
  }
}
.rd_right .ac_tit4 {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .rd_right .ac_tit4 {
    height: 66px;
  }
}

.related_picture {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -0.5rem;
}
@media (min-width: 813px) {
  .related_picture {
    margin: 0 -0.75rem;
  }
}

.rp_col {
  width: 50%;
  padding: 0.5rem;
}
@media (min-width: 813px) {
  .rp_col {
    padding: 0.75rem;
  }
}
@media (min-width: 992px) {
  .rp_col {
    width: 33.33%;
  }
}

.rp_pic {
  display: block;
}
.rp_pic_fig {
  padding-bottom: 60% !important;
  background-color: whitesmoke;
}
.rp_pic:hover .rp_pic_fig img, .rp_pic:focus .rp_pic_fig img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}

/*-------------------------------------------*\
	btn_backlist.scss

  客製回列表按鈕，html不符合無障礙規範
\*-------------------------------------------*/
.backlist {
  position: fixed;
  right: 1.25rem;
  bottom: 12rem;
  z-index: 5;
}
.backlist:before {
  content: attr(data-text);
  display: block;
  position: absolute;
  bottom: calc(100% + 0.5rem);
  left: -0.85rem;
  width: 4rem;
  padding: 0.25rem;
  text-align: center;
  font-size: 0.875em;
  color: #7d0000;
}
@media (min-width: 813px) {
  .backlist {
    bottom: 8.75rem;
  }
}

.backlist_btn {
  position: relative;
  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: 48px;
  height: 48px;
  padding-top: 1rem;
  border-radius: 50%;
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
  background: #7d0000 url(../../images/backlist_ic.svg) no-repeat center/1rem;
}
.backlist_btn:hover, .backlist_btn:focus {
  background-color: #590c15;
}
.backlist_btn:focus {
  outline: none;
  border: 2px dotted #bfa6ff;
}

/*-------------------------------------------*\
	CardList.scss

	Index
	- 1.多筆底色設定
	- 2.layouy
  - 3.picture
  - 4.data
  - 5.data base
  - 6.link
\*-------------------------------------------*/
.collection_wrap .c8n_row:nth-child(odd) {
  background-color: rgba(225, 225, 224, 0.25);
}

.c8n_row {
  margin: 0 -1rem;
  padding: 2rem 1rem;
}
@media (min-width: 992px) {
  .c8n_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 3rem 2rem;
  }
  .c8n_row:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .c8n_row:nth-child(even) .c8n_data {
    padding-left: 0;
    padding-right: 3rem;
  }
}
.c8n_row .kf_det_gallery {
  margin: 0;
}
.c8n_row .kf_det_gallery_item {
  padding: 0;
  border: none;
}
.c8n_row .kf_det_gallery_item:hover, .c8n_row .kf_det_gallery_item:focus {
  border: none;
}

.c8n_pic {
  display: block;
}
.c8n_pic:hover img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.c8n_pic_fig {
  padding-bottom: 60% !important;
}
@media (min-width: 992px) {
  .c8n_pic {
    width: 40%;
  }
  .c8n_pic_fig {
    padding-bottom: 75% !important;
  }
}
@media (min-width: 1200px) {
  .c8n_pic {
    width: 50%;
  }
}

.c8n_data {
  margin-top: 1.5rem;
}
@media (min-width: 992px) {
  .c8n_data {
    margin-top: 0;
    padding-left: 3rem;
    width: 60%;
  }
}
@media (min-width: 1200px) {
  .c8n_data {
    width: 50%;
  }
}

.c8n_tit {
  padding: 0.0625rem 0;
  color: #484646;
  line-height: 1.2;
}
.c8n_tit1 {
  font-size: 1.75em;
}
.c8n_tit2 {
  font-size: 1.875em;
}
.c8n_list {
  margin-top: 1rem;
  padding: 0 0.5rem;
  font-size: 1.125em;
  line-height: 1.5;
}
.c8n_txt {
  margin-top: 1rem;
  font-size: 1.125em;
  line-height: 1.5;
}

.c8n_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1rem;
}
.c8n_link:before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem 1rem;
  content: "\f08e";
  font-family: fontawesome;
  color: white;
  background-color: #7d0000;
}
.c8n_link a {
  display: block;
  width: calc(100% - 3rem);
  padding: 0.5rem;
  line-height: 1.2;
  color: #915c24;
  background-color: rgba(242, 201, 159, 0.4);
}
.c8n_link a:hover, .c8n_link a:focus {
  color: black;
  text-decoration: underline;
}

/*-------------------------------------------*\
	Reservation.scss

	Index
  - 1.step base
  - 2.number & title
\*-------------------------------------------*/
.explain {
  margin: 1.5rem 0;
}
.explain_txt {
  padding: 1rem 0;
  line-height: 1.5;
}

.confirm .kf_fm_row {
  margin: 0;
}
@media (min-width: 576px) {
  .confirm .kf_fm_row {
    margin-bottom: 0.25rem;
  }
}
.confirm .kf_fm_row .kf_fm_col:nth-child(1) {
  padding-left: 1rem;
  background-color: rgba(242, 201, 159, 0.5);
}
@media (min-width: 992px) {
  .confirm .kf_fm_row .kf_fm_col:nth-child(1) {
    width: 300px;
  }
}
.confirm .kf_fm_row .kf_fm_col:nth-child(2) {
  padding-left: 1rem;
}
@media (max-width: 812px) {
  .confirm .kf_fm_row .kf_fm_col:nth-child(2) {
    padding-top: 1rem;
  }
}

/*-------------------------------------------*\
	step.scss

	// Index
  // - 1.step base
  // - 2.number & title
\*-------------------------------------------*/
.step {
  padding: 0.5em 1em;
  font-size: 1.125em;
  line-height: 1.2;
  font-weight: bold;
}
@media (min-width: 813px) {
  .step {
    font-size: 1.5em;
  }
}
.step:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -1.085em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.085em;
  border-right-width: 0;
  border-color: transparent;
}

.step_wrap {
  position: relative;
}
.step_num {
  position: relative;
  width: 6.15em;
  font-family: sans-serif, "Noto Sans TC";
  letter-spacing: 2px;
  color: white;
  background-color: #941d27;
  text-transform: uppercase;
}
.step_num:after {
  border-left-color: #941d27 !important;
}
.step_tit {
  padding-left: 0 !important;
  color: #202020;
}
@media (max-width: 575px) {
  .step_tit:after {
    display: none !important;
  }
}
@media (min-width: 576px) {
  .step_tit {
    position: absolute;
    z-index: -1;
    top: 0;
    padding-left: 8em !important;
    background-color: rgba(225, 225, 224, 0.5);
  }
  .step_tit:after {
    border-left-color: rgba(225, 225, 224, 0.5) !important;
  }
}

/*-------------------------------------------*\
	ReservationSearch.scss

	// Index
  // - 1.step base
  // - 2.number & title
\*-------------------------------------------*/
.step_wrap + .rsh_row, .step_wrap + .rsh2 {
  margin-top: 1rem;
}
@media (min-width: 813px) {
  .step_wrap + .rsh_row, .step_wrap + .rsh2 {
    margin-top: 2rem;
  }
}

.rsh_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.rsh_row select {
  margin-bottom: 0;
}
.rsh_row input {
  min-width: 90px;
}
@media (min-width: 813px) {
  .rsh_row {
    margin-right: 25%;
  }
}
@media (min-width: 1200px) {
  .rsh_row {
    margin-right: 50%;
  }
}

.rsh1 select {
  width: calc(100% - (90px + 1rem));
  margin-right: 1rem;
}

.rsh_label {
  display: block;
  padding-bottom: 1rem;
  color: #484646;
  font-weight: bold;
}

.rsh_time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc((100% - (90px + 0.25rem)) / 2);
}
.rsh_time label {
  padding: 0.25rem;
}
.rsh_time + .rsh_time {
  margin-right: 0.25rem;
}

/*-------------------------------------------*\
  calendar.scss

  Index
  - 1.table
  - 2.button
  - 3.mobile
\*-------------------------------------------*/
.calendar_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 3rem 0;
}
.calendar_table td {
  vertical-align: top;
  text-align: center;
  background: rgba(225, 225, 224, 0.25);
  border: 1px solid white;
}
.calendar_table td p {
  height: 36px;
  padding: 0.5rem;
  color: #484646;
  background: rgba(242, 201, 159, 0.2);
}
.calendar_table tr td:first-child p, .calendar_table tr td:last-child p {
  color: #c01c27;
}
.calendar_table td.other_month {
  background: rgba(225, 225, 224, 0.6);
}
.calendar_table td.other_month p {
  color: #bbb9b9 !important;
  background: rgba(242, 201, 159, 0.15);
}
.calendar_table td.cd_th {
  padding: 0.75rem;
  color: white;
  background: #7d0000;
}

.reservation_wrap {
  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;
  min-height: 74px;
  padding: 1em 0;
}

.reservation {
  display: block;
  width: 90%;
  max-width: 100px;
  margin: 0.5rem auto;
  padding: 0.25rem 0.5rem;
  color: rgba(255, 255, 255, 0.8);
  background: #975f14;
  border-top: 1px solid #c7c6c6;
  word-break: break-all;
  border-radius: 4px;
  border: none;
}
.reservation:hover {
  color: white;
  background: #6a430e;
}
.reservation:focus {
  outline: 2px dotted #bfa6ff;
}
.reservation.room_off {
  background-color: #484646 !important;
  opacity: 1 !important;
}

.disabled:disabled {
  opacity: 0.6;
  color: rgba(255, 255, 255, 0.75);
}

@media (max-width: 812px) {
  .calendar_table {
    display: block;
    border-top: 0.25rem solid #7d0000;
  }
  .calendar_table thead, .calendar_table tbody, .calendar_table th, .calendar_table td, .calendar_table tr {
    display: block;
  }
  .calendar_table td {
    position: relative;
    height: auto;
    border: none;
    border-bottom: 1px solid #e1e1e0;
    text-align: left;
  }
  .calendar_table td p {
    position: relative;
    height: 50px;
    line-height: 30px;
    padding-left: 2rem;
    background: white;
  }
  .calendar_table td p:before {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    content: attr(data-column);
    color: #7d0000;
  }
  .calendar_table tr td:first-child, .calendar_table tr td:last-child {
    border-bottom: 1px solid white;
  }
  .calendar_table tr td:first-child p, .calendar_table tr td:last-child p {
    background: #fadfe7;
  }
  .calendar_table td.cd_th,
.calendar_table td.other_month {
    display: none;
  }

  .reservation_wrap {
    position: absolute;
    top: 0;
    width: calc(100% - 60px);
    height: 50px;
    min-height: auto;
    margin-left: 60px;
    padding: 0.65rem 0.25rem;
  }
}
/*-------------------------------------------*\
	floor.scss

	Index
  - 1.step base
  - 2.number & title
\*-------------------------------------------*/
@media (min-width: 992px) {
  .fr_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .fr_article {
    width: 65%;
    margin: 4rem 0;
    padding-right: 3rem;
  }
  .fr_aside {
    width: 35%;
  }
}
@media (min-width: 1200px) {
  .fr_article {
    width: calc(100% - 400px);
  }
  .fr_aside {
    width: 400px;
  }
}

.fr_btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 320px;
  margin: 0 auto 1.5rem;
}
@media (min-width: 992px) {
  .fr_btn_wrap {
    position: absolute;
    width: 320px;
    margin-left: 0;
    margin-right: auto;
  }
}
.fr_btn_wrap .kf_btn {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.fr_btn_wrap .kf_btn:not(:first-of-type) {
  border-left: none;
}

.floorplan {
  position: relative;
}
.floorplan img:not(:last-child) {
  position: absolute;
}
.floorplan img:nth-of-type(1) {
  z-index: 1;
  pointer-events: none;
}

.fp_hide {
  display: none;
}

.fp_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.fp_icon span:nth-child(2) {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 0.5rem;
}

.fp_txt {
  padding-left: 2.25rem;
}
@media (min-width: 576px) {
  .fp_txt {
    padding: 1rem;
  }
}

@media (min-width: 576px) {
  .fp_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.fp_col {
  padding: 0.5rem;
  color: #484646;
  line-height: 1.5;
  border: 1px solid #e1e1e0;
  border-bottom: none;
}

@media (min-width: 576px) {
  .fp_icon_wrap .fp_col:nth-child(odd) {
    min-width: 160px;
  }
  .fp_icon_wrap .fp_col:nth-child(even) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-left: none;
  }
}

.fp_icon_f1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.fp_icon_f1 .fp_col {
  min-width: 50%;
  font-size: 0.875em;
}
@media (max-width: 575px) {
  .fp_icon_f1 .fp_col:nth-child(even) {
    border-left: none;
  }
  .fp_icon_f1 .fp_col:nth-last-child(-n+2) {
    border-bottom: 1px solid #e1e1e0;
  }
  .fp_icon_f1 .fp_col:nth-child(3), .fp_icon_f1 .fp_col:nth-child(4) {
    width: 100%;
    border-left: 1px solid #e1e1e0;
  }
}
@media (min-width: 576px) {
  .fp_icon_f1 .fp_col {
    min-width: 25%;
  }
  .fp_icon_f1 .fp_col:nth-child(-n+4) {
    width: 50%;
  }
  .fp_icon_f1 .fp_col:nth-child(3) {
    border-left: 1px solid #e1e1e0 !important;
  }
  .fp_icon_f1 .fp_col:not(:nth-child(4n+1)) {
    border-left: none;
  }
  .fp_icon_f1 .fp_col:nth-last-child(-n+4) {
    border-bottom: 1px solid #e1e1e0;
  }
}

.floorplan_zoom {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 30px;
  padding-left: 2.5rem;
  color: #757575;
  background: url(../../images/floorplan/icon_zoom.svg) no-repeat left center;
  background-size: 30px;
}
.floorplan_zoom:hover {
  color: #915c24;
  font-weight: bold;
}
@media (min-width: 576px) {
  .floorplan_zoom {
    bottom: 10%;
  }
}

/*-------------------------------------------*\
	floorList.scss

	Index
  - 1.step base
  - 2.number & title
\*-------------------------------------------*/
.fr_list {
  padding-bottom: 3rem;
  border-top: 5px solid #7d0000;
}
@media (max-width: 991px) {
  .fr_list {
    margin-top: 2rem;
  }
}
.fr_list .kf_imglist {
  padding: 0;
}
.fr_list .kf_imglist:not(:last-child) {
  border-bottom: 1px solid #e1e1e0;
}
.fr_list .kf_imglist a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.75rem;
  background-color: #fafafa;
}
.fr_list .kf_imglist a:hover {
  text-decoration: none;
  background-color: white;
}
.fr_list .kf_imglist a:hover .kf_imglist_tit2 {
  color: #7d0000;
}
.fr_list .kf_img_wrap {
  min-width: 100px;
  margin-right: 1rem;
}
.fr_list .kf_img_inner {
  margin-bottom: 0;
  padding-bottom: 100%;
}
.fr_list .kf_imglist_time {
  margin-top: 0.25rem;
  padding: 0;
}
.fr_list .kf_imglist_tit2 {
  font-size: 1.25em;
  font-weight: bold;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .fr_list .kf_imglist_tit2 {
    height: 48px;
  }
}

/*-------------------------------------------*\
	today_guide.scss

  // - 1.
  // - 2.
\*-------------------------------------------*/
.tog_date_row {
  color: #7d0000;
  font-family: sans-serif, "Noto Sans TC";
  font-size: 1.875em;
  font-style: italic;
  font-weight: 600;
  text-align: center;
  margin-top: 1.5rem;
}
@media (min-width: 813px) {
  .tog_date_row {
    text-align: left;
  }
}
.tog_date_row .tog_today {
  font-size: 1.625em;
}
.tog_date_row .tog_today:after {
  content: ",";
}
.tog_date_row .tog_no {
  font-family: Arial;
  padding-right: 0.5rem;
}

.tog_wrap {
  margin: 1.5rem 0;
}

.tog_rest {
  font-family: sans-serif, "Noto Sans TC";
  font-size: 1.875em;
  color: #757575;
  text-align: center;
  padding: 1.5rem 0;
  margin-bottom: 2rem;
  background: whitesmoke;
}

.tog_open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -1rem;
}

.tog_open_col {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 3rem 1rem;
  padding: 1.5rem 2rem;
  background: whitesmoke;
}
.tog_open_col .tog_tit {
  position: absolute;
  color: white;
  font-size: 1.25em;
  line-height: 1.2;
  font-family: sans-serif, "Noto Sans TC";
  background: #7d0000;
  margin-top: -3rem;
  padding: 0.5rem 1.5rem;
  border: solid whitesmoke;
  border-width: 0 1.25px 1.25px 0;
  -webkit-box-shadow: 5px 5px 0px #e1ac67;
          box-shadow: 5px 5px 0px #e1ac67;
  border-radius: 10px 0 0 0;
}
.tog_open_col .tog_txt {
  line-height: 1.75;
  margin-top: 1rem;
}

/*-------------------------------------------*\
	// bus
\*-------------------------------------------*/
.bus_tool_label {
  display: block;
  margin-bottom: 1rem;
}
.bus_tool .kf_btn {
  width: 100%;
  margin-bottom: 0.5rem;
}
.bus_tool .kf_btn-c2 {
  background-color: #915c24;
}
.bus_table .kf_div_td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.2;
}
.bus_table .kf_div_td:before {
  content: attr(data-type) ":";
  min-width: 3rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-left: 2px solid #7d0000;
  padding-left: 0.5rem;
}
@media (min-width: 576px) {
  .bus_table .kf_div_td {
    display: table-cell;
  }
  .bus_table .kf_div_td:before {
    display: none;
  }
}
.bus_table .estimate {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 4.5rem;
  padding: 0 0.25rem;
  margin-left: 0.75rem;
  color: #7d0000;
  border: 1px solid #7d0000;
  border-radius: 3px;
}
@media (min-width: 576px) {
  .bus_table .estimate {
    padding: 0.25rem 0.5rem;
  }
}
.bus_table .active {
  background: #e1e1e0;
}
.bus_table .active .estimate {
  background: #7d0000;
  color: white;
  border: 1px solid #7d0000;
}

.bus_back .kf_div_head {
  color: #915c24;
  border-top: 1px solid #915c24;
  border-bottom: 1px solid #915c24;
}
.bus_back .kf_div_td:before {
  border-left: 2px solid #915c24;
}
.bus_back .estimate {
  color: #915c24;
  border: 1px solid #915c24;
}
.bus_back .active .estimate {
  background: #915c24;
  border: 1px solid #915c24;
}