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: 500;
    line-height: 1.6;
}

body {
    line-height: 1.5;
    font-size: 1rem;
    color: var(--basic-txt);
    background: #000;
    scroll-behavior: smooth;
}

@media screen and (min-width: 1200px) {
    html {
        font-size: 1.125rem;
        background: #000;
    }
}

@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);
}

.h3,
h3 {
    font-size: min(1.3rem + 0.6vw, 1.75rem);
}

.h4,
h4 {
    font-size: min(1.275rem + 0.3vw, 1.5rem);
}

@media screen and (max-width: 991px) {
    h5,
    .h5 {
        font-size: 1.125rem;
    }

    h6,
    .h6 {
        font-size: 0.875rem;
    }
}

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;
} */

.content-fluid {
    /* container-fluid */
    position: relative;
    width: 100%;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    padding: 0 0 var(--content-p);
}

.contentbox {
    /* container */
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.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: 720px;
    }

    .contentbox_main {
        padding-right: 0;
        padding-left: 0;
    }
}

@media screen and (min-width: 992px) {
    .contentbox {
        max-width: 960px;
    }
}

@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(8px, 1vw + 2px, 15px);
    padding-left: clamp(8px, 1vw + 2px, 15px);
}
