#wrapper {
    overflow-x: hidden;  
    width: 100%;
    position: relative;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


body,
button,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
input,
select,
textarea {
    /* font-family: "Helvetica Neue", Helvetica, Arial, "微軟正黑體", "微软雅黑", "メイリオ", "맑은 고딕", sans-serif; */
    font-family: "Noto Sans TC", Arial, "微軟正黑體", "微软雅黑", "メイリオ", "맑은 고딕", sans-serif;
    font-weight: 400;
    text-align: center;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    margin-top: 0;
    margin-bottom: 0.25em;
    line-height: 1.3;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

body {
    font-size: 1rem;
    color: var(--basic-txt);
    background: #fff266;
    scroll-behavior: smooth;
}

@media screen and (min-width: 1200px) {
    html {
        font-size: 1.125rem;
        background: #fff266;
    }
}

@media screen and (max-width: 575px) {
    html {
        font-size: 0.9375rem;
    }
}

.h1,
h1 {
    font-size: min(1.375rem + 1.5vw, 2.5rem);
}

.h2,
h2 {
    font-size: min(1.325rem + 0.9vw, 2rem);
    font-weight: 700;
}

.h3,
h3 {
    font-size: min(1.3rem + 0.6vw, 1.75rem);
}

.h4,
h4 {
    font-size: min(1.275rem + 0.3vw, 1.5rem);
}

 h5,
.h5 {
    font-size: 1.125rem;
}

h6,
.h6 {
    font-size: 1rem;
}


ul {
    padding-inline-start: 0;
    position: relative;
    text-align: left;
}

li {
    list-style: none;
}

strong,
b {
    font-weight: 600;
}

.material-icons,
.material-icons-outlined,
.material-symbols-outlined {
    font-size: max(120%, 1.125rem);
    vertical-align: sub;
}

ion-icon {
    font-size: 120%;
    vertical-align: sub;
}

a, a:link, a:visited, a:hover, a:active {
    text-decoration: none;
}
a,
button,
[role="button"],
[type="button"],
[type="submit"],
label[for],
select {
    cursor: pointer;
}


.content-fluid {
    /* container-fluid */
    position: relative;
    width: 100%;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    padding: 0 0 var(--content-p);
    z-index: 50;
}

.contentbox {
    /* container */
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    z-index: 10;
}

.contentbox_main {
    position: relative;
    padding: 0 10px;
    z-index: 10;
}

@media screen and (min-width: 576px) {
    .contentbox {
        max-width: 540px;
    }
}

@media screen and (min-width: 768px) {
    .contentbox {
        max-width: 700px;
    }

    .contentbox_main {
        padding-right: 0;
        padding-left: 0;
    }
}

@media screen and (min-width: 992px) {
    .contentbox {
        max-width: 900px;
    }
}

@media screen and (min-width: 1200px) {
    .contentbox {
        max-width: 1140px;
    }
}

@media screen and (min-width: 1400px) {
    .contentbox {
        max-width: 1320px;
    }
}

.rowline {
    /* row */
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.rowline > [class^="col"] {
    flex-shrink: 0;
    max-width: 100%;
    padding-right: clamp(4px, 0.5vw + 1px, 8px);
    padding-left: clamp(4px, 0.5vw + 1px, 8px);
}


img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}



/*  ------------------ Grid 欄位系統 ------------------ */

[class^="col"] {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
}

/* 手機預設（全寬） */
.col-12 { width: 100%; }
.col-11 { width: 91.666%; }
.col-10 { width: 83.333%; }
.col-9  { width: 75%; }
.col-8  { width: 66.666%; }
.col-7  { width: 58.333%; }
.col-6  { width: 50%; }
.col-5  { width: 41.666%; }
.col-4  { width: 33.333%; }
.col-3  { width: 25%; }
.col-2  { width: 16.666%; }
.col-1  { width: 8.333%; }

/* md 以上（768px） */
@media (min-width: 768px) {
    .col-md-12 { width: 100%; }
    .col-md-11 { width: 91.666%; }
    .col-md-10 { width: 83.333%; }
    .col-md-9  { width: 75%; }
    .col-md-8  { width: 66.666%; }
    .col-md-7  { width: 58.333%; }
    .col-md-6  { width: 50%; }
    .col-md-5  { width: 41.666%; }
    .col-md-4  { width: 33.333%; }
    .col-md-3  { width: 25%; }
    .col-md-2  { width: 16.666%; }
    .col-md-1  { width: 8.333%; }
}

/* lg 以上（992px） */
@media (min-width: 992px) {
    .col-lg-12 { width: 100%; }
    .col-lg-11 { width: 91.666%; }
    .col-lg-10 { width: 83.333%; }
    .col-lg-9  { width: 75%; }
    .col-lg-8  { width: 66.666%; }
    .col-lg-7  { width: 58.333%; }
    .col-lg-6  { width: 50%; }
    .col-lg-5  { width: 41.666%; }
    .col-lg-4  { width: 33.333%; }
    .col-lg-3  { width: 25%; }
    .col-lg-2  { width: 16.666%; }
    .col-lg-1  { width: 8.333%; }
}

/* xl 以上（1200px） */
@media (min-width: 1200px) {
    .col-xl-12 { width: 100%; }
    .col-xl-11 { width: 91.666%; }
    .col-xl-10 { width: 83.333%; }
    .col-xl-9  { width: 75%; }
    .col-xl-8  { width: 66.666%; }
    .col-xl-7  { width: 58.333%; }
    .col-xl-6  { width: 50%; }
    .col-xl-5  { width: 41.666%; }
    .col-xl-4  { width: 33.333%; }
    .col-xl-3  { width: 25%; }
    .col-xl-2  { width: 16.666%; }
    .col-xl-1  { width: 8.333%; }
}

/*  justify-content 工具 class */
.justify-content-start   { justify-content: flex-start; }
.justify-content-center  { justify-content: center; }
.justify-content-end     { justify-content: flex-end; }
.justify-content-between { justify-content: space-between; }
.justify-content-around  { justify-content: space-around; }

/* 間距工具 class（mb = margin-bottom） */
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }