@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+TC&display=swap");
a {
  display: inline-block;
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

img {
  max-width: 100%; }

body {
  background: url("../images/main_bg.png");
  font-family: 'Noto Sans TC', sans-serif;
  color: #5B5B5B;
  font-size: 18px; }

.container {
  max-width: 1600px;
  width: 90%; }

.text-red {
  color: #B72961; }

.main-btn {
  color: #fff;
  background: #AB783E;
  border-radius: 5px;
  font-family: 'Noto Sans TC', sans-serif;
  letter-spacing: 2px; }
  .main-btn:hover {
    background: #fff;
    color: #AB783E; }
  .main-btn.btn-lg {
    letter-spacing: 5px; }
  .main-btn.brown_s {
    background: #fff;
    border: 1px solid #AB783E;
    color: #AB783E; }
    .main-btn.brown_s:hover {
      background: #AB783E;
      color: #fff; }
  .main-btn.pink_s {
    background: #fff;
    border: 1px solid #E18595;
    color: #E18595; }
    .main-btn.pink_s:hover {
      background: #E18595;
      color: #fff; }
  .main-btn.gray_s {
    background: #fff;
    border: 1px solid #5B5B5B;
    color: #5B5B5B; }
    .main-btn.gray_s:hover {
      background: #5B5B5B;
      color: #fff; }
  .main-btn.gray_bg {
    background: #5B5B5B;
    color: #fff; }
    .main-btn.gray_bg:hover {
      background: #fff;
      color: #5B5B5B; }

header {
  border-top: 8px solid #EAD1AA;
  position: relative;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25); }
  header::before {
    content: "";
    width: 20%;
    height: 33vh;
    background: url("../images/header_logo.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2; }
    @media (max-width: 767px) {
      header::before {
        width: 40%;
        height: 13vh; } }
  header .container {
    max-width: 1300px; }
  @media (max-width: 767px) {
    header .logo {
      margin-left: 20%;
      width: 50%;
      position: relative;
      z-index: 2; } }
  header .head_top {
    background: #fff;
    text-align: center;
    padding: 10px;
    position: relative; }
  header .navbar-toggler {
    background: transparent;
    margin-left: auto;
    position: absolute;
    top: 35%;
    right: 20px; }
  header .aside {
    background-image: linear-gradient(180deg, #B78D5D 0%, #9B6E47 80%); }
    header .aside .navbar-nav {
      width: 100%;
      justify-content: space-around; }
      header .aside .navbar-nav .nav-link {
        display: inline-block;
        padding: 10% 57%;
        font-size: 1.3rem;
        white-space: nowrap;
        color: #fff;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.16);
        position: relative;
        transition: all .5s; }
        @media (max-width: 1199px) {
          header .aside .navbar-nav .nav-link {
            padding: 5px 30px;
            text-align: center;
            white-space: nowrap;
            display: block; } }
        @media (max-width: 767px) {
          header .aside .navbar-nav .nav-link {
            padding: 10px 30px; } }
        header .aside .navbar-nav .nav-link:hover {
          background-image: linear-gradient(180deg, #FFEAC8 0%, #EAD1AA 80%);
          color: #AB783E; }
          header .aside .navbar-nav .nav-link:hover::before, header .aside .navbar-nav .nav-link:hover::after {
            opacity: 1;
            transition: all .5s; }
        header .aside .navbar-nav .nav-link::before {
          content: "";
          width: 1.5rem;
          height: 100%;
          position: absolute;
          left: 5%;
          top: 0;
          bottom: 0;
          margin: auto;
          background: center url("../images/decorate-before.png") no-repeat;
          opacity: 0;
          transition: all .5s; }
        header .aside .navbar-nav .nav-link::after {
          content: "";
          width: 1.5rem;
          height: 100%;
          position: absolute;
          right: 5%;
          top: 0;
          bottom: 0;
          margin: auto;
          background: center url("../images/decorate-after.png") no-repeat;
          opacity: 0;
          transition: all .5s; }

.content {
  padding: 2rem 0; }

.fixbtn {
  position: fixed;
  text-align: center;
  bottom: 10%;
  right: 5px;
  display: flex;
  flex-direction: column; }
  @media (max-width: 991px) {
    .fixbtn {
      bottom: 0;
      width: 100%;
      flex-direction: row;
      right: 0; } }
  .fixbtn .line_link {
    color: #5B5B5B;
    margin-bottom: 15px; }
    @media (max-width: 991px) {
      .fixbtn .line_link {
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50%;
        padding: 10px;
        margin-bottom: 0;
        box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.1); } }
    .fixbtn .line_link img {
      filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.4)); }
      @media (max-width: 991px) {
        .fixbtn .line_link img {
          filter: none;
          max-width: 40px;
          max-height: 30px;
          width: unset;
          margin-right: 0.5rem; } }
    .fixbtn .line_link span {
      margin-top: 10px;
      display: block;
      text-align: center;
      line-height: 1.1;
      font-size: 16px;
      width: 100px; }
      @media (max-width: 1199px) {
        .fixbtn .line_link span {
          font-size: 14px; } }
      @media (max-width: 991px) {
        .fixbtn .line_link span {
          font-size: 16px;
          width: auto;
          margin-top: 0; } }

footer {
  padding: 15px;
  color: #5B5B5B;
  border-top: 5px solid #EAD1AA;
  background: url("../images/footer-bg.png"), #E8E4D9; }
  @media (max-width: 991px) {
    footer {
      text-align: center;
      margin-bottom: 55px; } }
  footer .link {
    margin: 5px;
    border: 1px solid #AB783E;
    background: #EAD1AA;
    color: #AB783E;
    padding: .2rem 1.5rem;
    border-radius: 15px; }
    @media (max-width: 991px) {
      footer .link {
        margin: 10px; } }
    @media (max-width: 767px) {
      footer .link {
        margin: 5px; } }

@keyframes loading_block {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
.loading_block div {
  left: 94px;
  top: 48px;
  position: absolute;
  animation: loading_block linear 1s infinite;
  background: #ffb74d;
  width: 12px;
  height: 24px;
  border-radius: 6px / 12px;
  transform-origin: 6px 52px; }

.loading_block div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -0.9166666666666666s;
  background: #ffb74d; }

.loading_block div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -0.8333333333333334s;
  background: #ffb74d; }

.loading_block div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.75s;
  background: #ffb74d; }

.loading_block div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.6666666666666666s;
  background: #ffb74d; }

.loading_block div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.5833333333333334s;
  background: #ffb74d; }

.loading_block div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.5s;
  background: #ffb74d; }

.loading_block div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.4166666666666667s;
  background: #ffb74d; }

.loading_block div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.3333333333333333s;
  background: #ffb74d; }

.loading_block div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.25s;
  background: #ffb74d; }

.loading_block div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.16666666666666666s;
  background: #ffb74d; }

.loading_block div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.08333333333333333s;
  background: #ffb74d; }

.loading_block div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
  background: #ffb74d; }

.loading-spinner {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: #626261a8;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 5; }

.loading_block {
  width: 200px;
  height: 200px;
  position: relative;
  transform: translateZ(0) scale(1);
  backface-visibility: hidden;
  transform-origin: 0 0;
  /* see note above */ }

.loading_block div {
  box-sizing: content-box; }

.loading-spinner.d-none {
  display: none; }

/*# sourceMappingURL=custom.css.map */
