@charset "utf-8";

/* ========= 基本排版 ========= */
.user_agreement main .title_name h1 {
    font-size: clamp(1.6rem,calc(var(--option-width) * 0.07),2.45rem) !important;
}
.user_agreement main article a{
    text-decoration: underline;
    color: var(--basic-gold);
}
.user_agreement main article .notice{
    color: var(--red);
}
.user_agreement main h1,
.user_agreement main h2,
.user_agreement main h3,
.user_agreement main h4,
.user_agreement main h5,
.user_agreement main h6 {
    line-height: 1.3;
    margin: 0 0 calc(var(--block-margins-s) * .6);
}

.user_agreement main h1.title {
    color: var(--basic-gold);
    font-size: calc(var(--normal-txt-size) * 1.5);
    font-weight: 500;
    margin-bottom:var(--block-margins-m);
    width: 100%;
}
.user_agreement main h1.title>span{
    width: fit-content; margin: 0 auto;
        justify-content: center;
        text-align: left;
}
.user_agreement main .title>span {
    display: inline-flex;
    flex-wrap: wrap;
}
.user_agreement main .rider h1.title{
    text-align: left;
    justify-content:flex-start;
}
.user_agreement main .rider h1.title >span{
     text-align: left;
    justify-content:flex-start;
}
.user_agreement main .title_name .title_icon svg{
    mask-image: url(../images/svg/agreement.svg);
    mask-size: 100% 100%;
}
.user_agreement main .rider h3{
    font-size: calc(var(--normal-txt-size) * 1.1); 
    font-weight: 500;
}
.user_agreement main article strong {
    font-weight: 500;
    background-color: #dfdfdfdb;
    padding: 0.1rem  0.4rem 0.3rem 0.4rem;
    margin-right: 0.5rem;
    margin-left: 0.4rem;
    line-height: 2.5;
}
 .user_agreement main article h4 {
    font-size: var(--normal-txt-size);
    margin-bottom: 0.1rem;
    font-weight: 500;
    padding-top: 0;
}

.user_agreement main .title>span>span {
    display: block;
}

.user_agreement main h2 {
    color: var(--basic-gold);
    font-size: calc(var(--normal-txt-size) * 1.2);
    font-weight: 500;
}

.user_agreement main p {
    margin: 0 0 1em;
}

.user_agreement main article {
    width: 100%; vertical-align: center; font-size: var(--normal-txt-size); 
    margin: 0 auto var(--block-margins-s);
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
    border: 1px solid var(--gray04);
    padding: clamp(calc(var(--block-margins-s) * 1.8), 5vw, calc(var(--block-margins-m) * 1.5));
    text-align: justify;
        line-height: 2;
  text-justify: inter-ideograph;        /* 讓中文字之間平均分配（Chrome 88+ / Safari 15+ 支援） */
  overflow-wrap: break-word;            /* 英文過長時自動斷行（舊名 word-wrap） */
  hyphens: auto;                        /* 英文單字自動加連字號斷行（支援度：Safari / Firefox / Chrome 88+） */
}
.user_agreement main article hr{
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--gray04);
    margin: 1.2rem auto;
}
main .alingn_left{
    text-align: left;
}

main .left{
    margin-left: 0 !important;
}
.user_agreement main .padding{
    padding-right: 0.5rem;
}
/* ========= 條列符號 ========= */
.agreement {
    counter-reset: section;
}

.user_agreement main article ol{
    margin: 0.5rem auto;
}
/* .user_agreement main ol            { margin: 0; padding-left: 1.8em; } */
/* 一、二、三… */
.user_agreement main ol.lvl-1 {
    list-style: none;
}

.user_agreement main ol.lvl-1>li {
    counter-increment: section;
    margin: .4em 0;
}

.user_agreement main .agreement ol.lvl-1>li::before {
    content: counter(section, cjk-ideographic) '、 ';
    font-weight: 700;
}

/* 第二層：(1) (2) … (10)… */
.user_agreement main ol.lvl-2 {
    counter-reset: subitem;
    list-style: none;
}

/* ▶︎ 固定寬度 + 文字置中 */
.user_agreement main ol.lvl-2>li {
    counter-increment: subitem;
    margin: .3em 0;
    padding-left: 2.2rem;
    /* ← 框寬 4ch＋一點間隔，2 位數也夠用 */
    position: relative;
}

/* .user_agreement main .rider ol.lvl-2{ 
      padding-left: 0;
} */

.user_agreement main ol.lvl-2>li::before {
    content: "(" counter(subitem) ")";
    position: absolute;
    left: -0.5rem;
    width: 4ch;
    text-align: center;
    font-variant-numeric: tabular-nums;
    /* top: 0.25rem; */
}
.user_agreement main ol.lvl-2 li:has(strong)::before {
    top: 0.2rem;
}
/* 第三層：1. 2. … */
.user_agreement main .agreement ol.lvl-3 {
    list-style: decimal;
    padding-left: 1.2em;
}

.user_agreement main .agreement ol.lvl-3>li {
    margin: .2em 0;
}

/* 第四層：方塊或自訂圖示 */

.user_agreement main .agreement ul.lvl-4,
.user_agreement main .ul_dimond {
    padding-left: 1.3em;
}
.user_agreement main .ul_dimond       { list-style: none; margin: 0; padding-left: 1em; margin: 0.8rem auto; }
.user_agreement main .ul_dimond > li  { position: relative; }
.user_agreement main .ul_dimond > li::before {
  content: "♦";           /* 或換成 ◇ U+25C7 WHITE DIAMOND */
  position: absolute;
  top: 0.7rem;
  left: -1.3rem;                /* 也可用 -1.2em 依排版調整 */
  font-size: 0.9em;       /* 略小於文字 */
  line-height: 1;
}

/* 聯絡資訊 <ul> */
/* .user_agreement main ul.signatory-info {
    list-style: square;
    padding-left: 1.2em;
} */

/* 章節間距 */
.user_agreement main section+section {
    margin-top: 2.5em;
}

/*退款政策與協議區塊*/
/* .user_agreement main li{
    margin: 1% 0;   
} */
.user_agreement main .rider.b ol.lvl-5 li{
    margin: 1rem auto;
}
.user_agreement main .rider.b ol.lvl-6 li{
    margin: 0.3rem auto;
}
.user_agreement main .rider.b ol.lvl-5 > li.special::before {
    top: 0;
}
.rider.b ol.lvl-5 > li.special{
    padding-left: 3.2rem; 
}
/* (a) (b) (c) … ── 針對 <ol class="lvl-6"> */
.user_agreement main .rider ol.lvl-6 {           /* 1. 先關掉預設符號並歸零計數器 */
  list-style: none;
  counter-reset: alpha;
}

.user_agreement main .rider ol.lvl-6 > li {      /* 2. 每個 <li> 增 1，留左邊空間 */
  counter-increment: alpha;
  padding-left: 3.6ch;      /* 框寬 3ch + 0.6 間距 */
  position: relative;
}

.user_agreement main .rider ol.lvl-6 > li::before {   /* 3. 輸出 (a)、(b)… */
  content: "(" counter(alpha, lower-alpha) ") ";
  position: absolute;
  left: 0;
  width: 3ch;                 /* 固定欄寬，(a) 與 (k) 對齊 */
  text-align: center;
  font-variant-numeric: tabular-nums;  /* 雖用字母，保留對齊慣例 */
}

/* ① 整份附約先把章號（section）歸零 */
.rider.b { counter-reset: section; }

/* 讓每次遇到 .reset-sec 先把章號(section) 歸 0，再由 .ra-sec 自動 +1 */
.rider.b .reset-sec { counter-reset: section; }

/* 只有真正要編號的章節 (.ra-sec) 才遞增章號 */
.rider.b .ra-sec    { counter-increment: section; }

/* ③ 內層條文清單：重設 item 計數器 */
.rider.b ol.lvl-5            { list-style: none; counter-reset: item; margin: 0; }
.rider.b ol.lvl-5 > li       {
  counter-increment: item;               /* item = 1, 2, 3… */
  padding-left: 4.2ch;                   /* 左邊留空給「1.1」 */
  position: relative;
  text-indent: -0.5rem;
}
.rider.b ol.lvl-5 > li::before {
  content: counter(section) "." counter(item) " ";  /* → 1.1 / 2.3 / 5.12… */
  position: absolute; left: 0; width: 3ch;          /* 固定寬度讓 1.1 與 10.1 對齊 */
  text-align: right; top:0.3rem;
  font-variant-numeric: tabular-nums;               /* 0–9 等寬，更整齊 */
}



/* (A) (B) (C) …  ── 用於 <ol class="lvl-8"> */
.rider ol.lvl-8            { list-style: none; counter-reset: alpha; margin: 0; }
.rider ol.lvl-8 > li       {
  counter-increment: alpha;
  padding-left: 4.2ch;          /* 留空給 (A) */
  position: relative;
}
.rider ol.lvl-8 > li::before {
  content: "(" counter(alpha, upper-alpha) ") ";
  position: absolute; left: 0;
  width: 4ch;                  /* 固定欄寬，(A) 與 (M) 對齊 */
  text-align: center;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  top:0.25rem;
}

.user_agreement main article.rider.c strong {
    margin-left: 0; 
}
.user_agreement main article.rider.c li{
    margin: 0.05% 0;
}
.user_agreement main article.rider ol{
    margin-bottom: 1.5rem;
}

@media(max-width: 650px) {
.user_agreement main .all .content .header {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    padding-bottom: 1rem;
    margin-bottom: clamp(0.8rem, 1vw, 1.8rem);
}
.user_agreement main .all .content .header h1 {
    align-self: flex-start;
    margin-bottom: 3%;
}
.user_agreement main .title_name h1 {
    font-size: clamp(1.25rem,2vw,1.5rem) !important;
}
}
@media(max-width: 450px) {
    

    article {
    text-align:left;
}

}

@media(max-width: 350px) {
    article {
   padding: 5vw;
}
.user_agreement main ol.lvl-2>li::before {
    width: 3ch;
    left: -1%;
}
.user_agreement main ol.lvl-2>li {
    padding-left: 1.6rem;
}
}

@media(max-width: 320px) {
    .user_agreement main .title_name {
    padding-left: calc(var(--block-margins-s)) !important;
    padding-right: calc(var(--block-margins-s)) !important;
}
    .user_agreement main .title_name h1.title>span{
       display: inline; 
    }
    .user_agreement main .title_name h1.title>span>span {
    display: inline;
}
}

@media(max-width: 270px) {
.user_agreement main .title_name h1 {
    text-align: left; letter-spacing: normal;
}
}