@charset "UTF-8";
.terms-wrapper {
  margin-top: 1em;
  position: relative;
}
.terms-wrapper .btn-scrollBottom {
  position: absolute;
  bottom: 2em;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
}
.terms-container {
  height: 50vh;
  overflow-y: auto;
  position: relative;
  padding: 1em;
  -webkit-overflow-scrolling: touch; /* iOS 惰性滾動 */
  -ms-scroll-chaining: none;
      overscroll-behavior: contain; /* 關鍵：阻止滾動穿透 */
  scroll-behavior: smooth;
  padding-right: 0.5rem;
}
.terms-container .wrapper {
  display: block !important;
  background: none;
}
.terms__title {
  line-height: 1.5 !important;
}

.table-container {
  width: 100%; /* 讓容器寬度等於頁面寬度 */
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch; /* iOS 惰性滑動 */
  overscroll-behavior-x: contain; /* 避免與頁面滾動連動 */
  -ms-touch-action: auto;
      touch-action: auto; /* 讓手勢優先水平捲動 */
  scrollbar-width: thin; /* Firefox 細滾動條（可省略） */
  position: relative;
}

.terms-content {
  font-size: 12px;
}
.terms-content table {
  border-collapse: collapse;
  border-spacing: 0;
  border-collapse: collapse;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; /* 依內容自然展開寬度 */
  min-width: 100%; /* 至少撐滿容器 */
  table-layout: auto; /* 有很多欄位時較自然 */
  max-width: 686px;
}
.getanumber .terms-content table {
  max-width: 574px;
}
.terms-content template {
  display: none;
}
.terms-content body {
  font-family: "微軟正黑體", "新細明體", Arial, Helvetica, sans-serif;
  line-height: 1.5em;
}
.terms-content .wrapper {
  padding: 10px;
  font-size: 15px;
}
.terms-content h1 {
  font-size: 14px;
  text-align: center;
  margin-bottom: 1em;
}
.terms-content table {
  border: 1px solid #cccccc;
}
.terms-content td {
  border: 1px solid #cccccc;
  padding: 5px;
}
.terms-content p {
  font-size: 12px !important;
  text-align: left !important;
}

.btn-scrollBottom {
  padding: 4px 12px;
  gap: 4px;
  background: #d00f24;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  border: none;
  border-radius: 100px;
  color: white;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  white-space: nowrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.chevron-icon {
  display: block;
  float: right;
  width: 20px;
  height: 20px;
  background: url(../images/ico_chevron-double-down.svg) no-repeat center;
  background-size: contain;
}

.terms__label {
  font-size: 16px !important;
}
.terms__label .link {
  display: inline !important;
}

.terms-list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: cjk roman;
}
.terms-list .item {
  position: relative;
  padding-left: 2rem;
  margin: 1.2rem 0;
  line-height: 1.7;
}

.item--cjk {
  counter-increment: cjk;
}
.item--cjk::before {
  content: counter(cjk, cjk-ideographic) "、";
  position: absolute;
  left: 0;
}

.item--roman {
  counter-increment: roman;
}
.item--roman::before {
  content: counter(roman, upper-roman) ".";
  position: absolute;
  left: 0;
}

.item--roman2 {
  counter-reset: subroman;
}
.item--roman2 > li {
  counter-increment: subroman;
}
.item--roman2 > li::before {
  content: "(" counter(subroman, lower-roman) ")";
  position: absolute;
  left: 0;
  top: 0;
  width: 2.6rem;
}

.item--cjk2 {
  counter-reset: subcjk;
}
.item--cjk2 > li {
  counter-increment: subcjk;
}
.item--cjk2 > li::before {
  content: "（" counter(subcjk, cjk-ideographic) "）";
  position: absolute;
  left: 0;
  top: 0;
  width: 2.6rem;
}

.terms-l2 {
  list-style: none;
  margin: 0.6rem 0 0;
  padding: 0;
}
.terms-l2 > li {
  position: relative;
  padding-left: 2rem;
  margin: 0.6rem 0;
  line-height: 1.7;
}
.terms-l2 > li::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 1.5rem;
  text-align: right;
  white-space: nowrap;
}

.terms-l2--cjk {
  counter-reset: subcjk;
}
.terms-l2--cjk > li {
  counter-increment: subcjk;
}
.terms-l2--cjk > li::before {
  content: "(" counter(subcjk, cjk-ideographic) ")";
}

.terms-l2--roman {
  counter-reset: subroman;
}
.terms-l2--roman > li {
  counter-increment: subroman;
}
.terms-l2--roman > li::before {
  content: "(" counter(subroman, lower-roman) ")";
}