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: 300;
    line-height: 1.6;
}

body {
    line-height: 1.5;
    font-size: 1rem;
    color: var(--basic-txt);
    background: #161064;
    scroll-behavior: smooth;
}

@media screen and (min-width:992px) {
    html {
        font-size: 1.125rem;
    } 
}

@media screen and (min-width:1200px) {
    html {
        font-size: 1.25rem;
    } 
}

.h1, h1 {
    font-size: min(1.375rem + 1.5vw, 2.5rem);
}

.h2, h2 {
    font-size: min(1.325rem + .9vw, 2rem);
}

.h3, h3 {
    font-size: min(1.3rem + .6vw, 1.75rem);
}

.h4, h4 {
    font-size: min(1.275rem + .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;
}

@media screen and (max-width: 767px) {
    ul {
        padding-inline-start: 1.5rem;
    }
}

li {
    list-style: none;
}

strong, b {
    font-weight: 700 !important;
}

.material-icons, .material-icons-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%;
    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;
    z-index: 10;
}

@media screen and (min-width: 576px) {
    .contentbox {
        max-width: 540px;
    }
}

@media screen and (min-width: 768px) {
    .contentbox {
        max-width: 720px;
    }
}

@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);
}