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-weight: 400;
    line-height: 1.5;
}

body {
    line-height: 1.5;
    font-size: 0.9375rem;
    color: var(--basic-txt);
    background: var(--bg-color);
}

@media screen and (min-width:768px) {
    body {
        font-size: 1rem;
    } 
}

@media screen and (min-width:992px) {
    body {
        font-size: 1.125rem;
    } 
}

@media screen and (min-width:1200px) {
    body {
        font-size: 1.25rem;
    } 
}

.h1, h1 {
    font-size: min(calc(1.375rem + 1.5vw), 2.5rem);
}

.h2, h2 {
    font-size: min(calc(1.325rem + .9vw), 2rem);
}

.h3, h3 {
    font-size: min(calc(1.3rem + .6vw), 1.75rem);
}

.h4, h4 {
    font-size: min(calc(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: 1.5rem;
    position: relative;
    display: inline-block;
    text-align: left;
}

@media screen and (max-width: 767px) {
    ul {
        padding-inline-start: 1.5rem;
    }
}

li {
    list-style: none;
}

strong {
    font-weight: 600 !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 10px var(--content-p);
}

.contentbox {
    /* container */
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.contentbox_main {
    position: relative;
    padding: 0 10px var(--content-p);
    text-align: center;
    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: max(min(calc(1vw + 2px), 15px), 8px);
    padding-left: max(min(calc(1vw + 2px), 15px), 8px);
}