/*--------------------------------------------------------------
# 文字設定
--------------------------------------------------------------*/
.text_white_700 {
  color: var(--white);
  font-weight: 700;
}

.text_italics {
  font-style: italic;
}

.text_required {
  font-size: 12px;
  color: var(--white);
  background-color: #eb3d3d;
  padding: 2px 8px;
  margin-left: 12px;
}

.text_13 {
  font-size: 13px;
  line-height: 28px;
}

.text_20 {
  font-size: 20px;
  line-height: 36px;
}

.text_20B {
  font-size: 20px;
  font-weight: 700;
  line-height: 36px;
}

.text_32 {
  line-height: 40px;
}

.text_32B {
  font-weight: 700;
  line-height: 40px;
}
.text_40 {
  font-size: 40px;
  font-weight: 400;
  line-height: 60px;
}
.text_40B {
  font-size: 40px;
  font-weight: 700;
}

.text_60 {
  font-size: 28px;
  font-weight: 400;
  line-height: 32px;
}

.text_60B {
  font-size: 28px;
  font-weight: 700;
  line-height: 32px;
}

.text_80 {
  font-weight: 400;
}

.text_80B {
  font-weight: 700;
  line-height: 96px;
}

.text_96B {
  font-size: 96px;
  font-weight: 700;
  line-height: 98px;
}

.text_150 {
  font-weight: 400;
  line-height: 160px;
}

.text_150B {
  font-weight: 700;
  line-height: 160px;
}

.text_200B {
  font-weight: 700;
}

.mt-28 {
  margin-top: 28px;
}
.mt-40 {
  margin-top: 40px;
}
.mt-60 {
  margin-top: 60px;
}

.mt-80 {
  margin-top: 80px;
}
.mb-24 {
  margin-bottom: 24px;
}
.mb-28 {
  margin-bottom: 28px;
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-48 {
  margin-bottom: 48px;
}

.mb-60 {
  margin-bottom: 60px;
}

.mb-96 {
  margin-bottom: 96px;
}
.pt-60 {
  padding-top: 60px;
}

.text_center {
  text-align: center;
}

.fram_with_line {
  color: var(--blue-green);
}

.border_bottom {
  border-bottom: solid 1px var(--gray-400);
}

/*--------------------------------------------------------------
# RWD
--------------------------------------------------------------*/
@media (min-width: 400px) {
  .text_60,
  .text_60B {
    font-size: 32px;
    line-height: 40px;
  }
}

@media (min-width: 0px) and (max-width: 399px) {
  .text_60,
  .text_60B {
    font-size: 40px;
    line-height: 60px;
  }
  .text_150B {
    font-size: 40px;
    line-height: 60px;
  }
  .text_150 {
    font-size: 40px;
    line-height: 60px;
  }
}

@media (min-width: 400px) and (max-width: 999px) {
  .text_150 {
    font-size: 100px;
    line-height: 80px;
  }

  .text_150B {
    font-size: 100px;
    line-height: 80px;
  }
}

@media (max-width: 699px) {
  .text_60B {
    font-size: 36px;
    line-height: 60px;
  }
  .text_80,
  .text_80B {
    font-size: 32px;
    line-height: 40px;
  }
}

@media (min-width: 700px) {
  .text_80,
  .text_80B {
    font-size: 40px;
    line-height: 60px;
  }

  .text_60B {
    font-size: 60px;
    line-height: 70px;
  }
}

@media (max-width: 899px) {
  .text_96B {
    font-size: 64px;
    line-height: 72px;
  }
}

@media (min-width: 900px) {
  .text_96B {
    font-size: 80px;
    line-height: 88px;
  }
  .text_150 {
    font-size: 100px;
    line-height: 80px;
  }
  .text_150B {
    font-size: 100px;
    line-height: 80px;
  }
}

@media (max-width: 999px) {
  .text_32B,
  .text_32 {
    font-size: 24px;
    line-height: 28px;
  }
  .text_40B {
    font-size: 32px;
    line-height: 40px;
  }
  .text_200B {
    font-size: 72px;
    line-height: 84px;
  }
}

@media (min-width: 1000px) {
  .text_200B {
    font-size: 150px;
    line-height: 160px;
  }
  .text_32B,
  .text_32 {
    font-size: 32px;
    line-height: 40px;
  }
  .text_40B {
    font-size: 40px;
    line-height: 60px;
  }

  .text_80,
  .text_80B {
    font-size: 80px;
    line-height: 96px;
  }

  .text_96B {
    font-size: 96px;
    line-height: 98px;
  }
  .text_150 {
    font-size: 120px;
    line-height: 110px;
  }
  .text_150B {
    font-size: 120px;
    line-height: 110px;
  }
}

@media (max-width: 1299px) {
  .mt-40-m {
    margin-top: 40px;
  }
}

@media (min-width: 1600px) {
  .text_150 {
    font-size: 150px;
    line-height: 160px;
  }
  .text_150B {
    font-size: 150px;
    line-height: 160px;
  }
  .text_200B {
    font-size: 200px;
    line-height: 210px;
  }
}

/*--------------------------------------------------------------
# 顏色
--------------------------------------------------------------*/
.color_primary {
  color: var(--primary);
  font-style: normal;
}

.color_white {
  color: var(--white);
}

.color_white a {
  color: var(--white);
}

.color_white:hover {
  color: var(--white);
}

.color_blue_green {
  color: var(--blue-green2);
}

.text_gray a {
  color: #666 !important;
  text-align: center;
  font-weight: 400;
  line-height: 28px;
}

.text_red {
  color: #ff0000;
}

.text_orange {
  color: #ff6b00;
}
.text_blue {
  color: var(--blue);
  word-break: break-all;
}
.text_blue a {
  color: var(--blue);
}
.color_blue_dark {
  color: var(--blue-dark);
}

.color_yellow {
  color: var(--yellow);
}

.contact_submit,
.book-a-table-btn,
.swiper-buttons i:hover,
.swiper-prev:hover,
.swiper-next:hover,
.swiper-prev.swiper-button-disabled,
.swiper-next.swiper-button-disabled,
.inside_menu_tab div:hover,
.small_title_w,
.Vision_text,
.experience p {
  color: var(--white);
}

.bg_primary {
  background-color: var(--primary);
}

.bg_white {
  background-color: var(--white);
}

.text-gray-200 {
  color: var(--gray-200) !important;
}

.text-gray-400 {
  color: var(--gray-400) !important;
}

.text-gray-500 {
  color: var(--gray-500) !important;
}

.text-gray-700 {
  color: var(--gray-700) !important;
}

.text-gray-700 a {
  color: var(--gray-700) !important;
}

.color_gray3 {
  color: var(--bg-gray3);
}

/*--------------------------------------------------------------
# 項目符號
--------------------------------------------------------------*/
.premium_bullet_list_text ul li::marker {
  content: "▶ ";
  color: var(--black);
  font-size: 12px;
}
