@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap');

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    font-family: "DFHeiStd7", 'Noto Sans TC', "Font Awesome 6 Pro", "Font Awesome 5 Free", sans-serif !important;
}

a {
    cursor: pointer;
}

a,
a:hover {
    text-decoration: none !important;
}

ul,
li {
    list-style-type: none;
    padding: 0px;
}

p {
    margin: 0px !important;
    padding: 0px !important;
}


body {
    --box-width: 85%;
}

@media all and (max-width:768px) {
    body {
        --box-width: 90%;
    }
}

.maxline {
    padding: 2em 0em;
    max-width: 1000px;
    margin: 0 auto;
}

/*--------------header---------------*/
.bg_banner {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    background: url(../img/header-1.jpg) center bottom/cover no-repeat;
}


.bg_banner .headerimg {
    width: 40%;
}

@media all and (max-width:1200px) {
    .bg_banner .headerimg {
        width: 70%;
    }
}

@media all and (max-width:768px) {}

@media all and (max-width:576px) {
    .bg_banner .headerimg {
        width: 90%;
    }
}


/*--------------#header---------------*/

/* --------------網頁版-頂部導覽列nav------------------ */

.menu {
    position: fixed;
    top: 0;
    background-color: #6120f0;
    z-index: 888;
}

.menu .maxline {
    padding: .5em !important;
}

.menu .nav {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.menu .logo {
    width: 270px;
}

.navbut {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
       -moz-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.menu .nav-item {
    position: relative;
    width: -webkit-calc((90% - 4em)/4);
    width: -moz-calc((90% - 4em)/4);
    width: calc((90% - 4em)/4);
    margin: 0em;
    border-right: 1px dashed #fff;
}

/* .menu .nav-item::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 90%;
    height: 60px;
    background: url(../img/nav-2.png) center/100% no-repeat;
}

.menu .nav-item:hover::before {
    transform: translate(-50%, -50%) scale(1);
    transition: all .2s ease-in-out;
} */

.menu .nav-item:last-child {
    border: none;
}

.menu .nav-item:hover a,
.menu .nav-link.active {
    background: #3e10a5;
    -webkit-transform: scale(.9);
       -moz-transform: scale(.9);
        -ms-transform: scale(.9);
         -o-transform: scale(.9);
            transform: scale(.9);
    -webkit-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    -moz-transition: all .15s ease-out;
    transition: all .15s ease-out;
}

/* .menu .nav-item a {} */

.menu .nav-item p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto !important;
    color: #ffe100;
    line-height: 1.1;
    font-family: "MStiffHeiHK" !important;
    -moz-text-align-last: justify;
         text-align-last: justify;
}

.menu .nav-item span {
    font-family: "MStiffHeiHK" !important;
    display: block;
    color: #fff;
}

.menu .icon {
    display: none;
}

.menu .icon:focus,
.menu .icon:active {
    outline: 0 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
}

@media screen and (max-width: 768px) {

    .menu .nav-item {
        display: none;
    }

    .menu a.icon {
        float: right;
        display: block;
        color: #fff;
        font-size: 1.5em;
    }
}

@media screen and (max-width: 575px) {
    /*     .menu .nav-item p:after {
        content: '';
        width: 100%;
        display: inline-block;
    } */
}

/* --------------#網頁版-頂部導覽列nav------------------ */

/* --------------手機版-彈出左視窗下拉式------------------ */
.menubox .offcanvas-header {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    color: #fff;
}

.menubox .offcanvas {
    background: #6120f0;
}

.menubox .offcanvas-start {
    width: 60%;
    max-width: 254px;
}

/* ----------------------------------------- */
.main-1 {
    position: relative;
    padding: .5em;
    display: block;
    cursor: pointer;
    border-bottom: 1px dashed #fff;
}

.mainNav:last-child .main-1 {
    border-bottom: unset;
}

/* .main-1::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0em;
    transform: translateY(-50%);
    width: 30px;
    height: 34px;
    background: url(../img/gotop.png) center/100% no-repeat;
}

.mainNav:hover .main-1::before {
    background: url(../img/gotop2.png) center/100% no-repeat;
    transition: all .15s ease-in-out;
} */

.mainNav:hover .main-1 {
    color: #fff;
    background: #3e10a5;
}

.mainNav:hover p {
    -webkit-transform: scale(.9);
       -moz-transform: scale(.9);
        -ms-transform: scale(.9);
         -o-transform: scale(.9);
            transform: scale(.9);
    -webkit-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    -moz-transition: all .15s ease-out;
    transition: all .15s ease-out;
}

.main-1 p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto !important;
    font-family: 'MStiffHeiHK' !important;
    color: #ffe100;
}

.main-1 span {
    font-family: 'MStiffHeiHK' !important;
    color: #fff;
}

/* 不管有沒有關閉選單視窗大於600ㄧ定隱藏 */
@media screen and (min-width: 769px) {
    .menubox .offcanvas.show {
        -webkit-transform: translateX(-100%);
           -moz-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
             -o-transform: translateX(-100%);
                transform: translateX(-100%);
    }
}

/* --------------#手機版-彈出左視窗下拉式------------------ */

/*--------------------------------------title-------------------------------------------------*/
.title1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 1em auto;
}

.titletext {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    text-align: center;
}

.titletext::before,
.titletext::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 100%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 45px;
    height: 50px;
    background: url(../img/title-1.png) center/100% no-repeat;
}

.titletext::after {
    right: unset;
    left: 100%;
    background: url(../img/title-2.png) center/100% no-repeat;
}

.titletext h2 {
    position: relative;
    margin: 0 .5em;
    padding: 0 5px;
    font-family: 'MStiffHeiHK' !important;
    color: #fff;
    -webkit-filter: drop-shadow(0px 2px 0px black);
            filter: drop-shadow(0px 2px 0px black);
    z-index: 0;
}

.titletext h2::before,
.titletext h2 span::before {
    content: attr(data-storke);
    position: absolute;
    top: 0;
    left: 0;
    /* transform: translate(-50%, -50%); */
    width: 100%;
    z-index: -1;
    -webkit-text-stroke: 7px #000;
    color: #000;
}

.titletext h2 span {
    font-family: "MStiffHeiHK" !important;
    position: relative;
    display: inline-block;
}

.titleh3 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    color: #60368b;
    font-family: 'MStiffHeiHK' !important;
    margin: .5em auto;
    padding: 0 .2em;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(40%, #fee089), color-stop(0%, transparent))bottom/100% 1.2em;
    background: -webkit-linear-gradient(bottom, #fee089 40%, transparent 0%)bottom/100% 1.2em;
    background: -moz-linear-gradient(bottom, #fee089 40%, transparent 0%)bottom/100% 1.2em;
    background: -o-linear-gradient(bottom, #fee089 40%, transparent 0%)bottom/100% 1.2em;
    background: linear-gradient(to top, #fee089 40%, transparent 0%)bottom/100% 1.2em;
}

@media all and (max-width:768px) {}

@media all and (max-width:576px) {

    .titletext::before,
    .titletext::after {
        width: 35px;
        height: 40px;
        right: 96%;
    }

    .titletext::after {
        left: 96%;
    }

    .titletext h2 {
        line-height: 1.5;
    }
}


/*--------------------------------------#title-------------------------------------------------*/

/*--------------------------------------pt1-------------------------------------------------*/
.pt1 {
    background-color: #6120f0;
    overflow: hidden;
    /* margin-top: -3em; */
}

.a01top {
    width: var(--box-width);
    margin: 2em auto;
}

.cls-1 {
    fill: #fff;
    stroke: #fccc27;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.27px;
}

.cls-2 {
    font-size: 31.75px;
    fill: #221714;
}

.cls-3,
.cls-9 {
    fill: #008ed8;
    font-size: 20px;
}

.cls-3 {
    font-size: 38.56px;
}

.cls-4 {
    font-size: 27.22px;
    fill: #b81c25;
}

.cls-5,
.cls-6,
.cls-8 {
    fill: none;
    stroke: #024a85;
    stroke-miterlimit: 10;
    stroke-width: 1.13px;
}

.cls-6 {
    stroke-dasharray: 5.93 5.93;
}

.cls-7 {
    fill: #024a85;
}

.cls-8 {
    stroke-dasharray: 6.04 6.04;
}

@media all and (max-width:768px) {}

@media all and (max-width:575px) {}

/* --------------a01------------------- */
.a01box {
    width: var(--box-width);
    margin: 2em auto;
}

.a01h4 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.a01h4 strong {
    background: #fff;
    padding: 10px .5em !important;
    border-radius: 10px;
    font-family: 'MStiffHeiHK' !important;
    color: #60368b;
    line-height: 1;
    font-weight: 500;
}

.a01h4 span {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
       -moz-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    border-bottom: 4px dotted #fff;
    margin-left: .5em;
}

.a01-1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.a01-a {
    width: -webkit-calc((100% - 3em)/3);
    width: -moz-calc((100% - 3em)/3);
    width: calc((100% - 3em)/3);
    margin: 1em 0.5em;
}

.a01-aT {
    background: #fff;
    border-radius: 50%;
    padding: 1.2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    margin-bottom: .5em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.a01-aI {
    width: 60%;
    margin: 0em auto;
}

.a01-aT h4 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0.2em auto;
    font-size: 2em;
    color: #e4007f;
    font-family: "MStiffHeiHK" !important;
}

.a01-aB {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 90%;
    margin: -1em auto 0;
    text-align: center;
    font-size: 1.3em;
    color: #231815;
    background: #fff;
    border-radius: 5px;
    border: 2px solid #e4007f;
}

@media all and (max-width:768px) {}

@media all and (max-width:576px) {

    .a01-a {
        width: -webkit-calc((100% - 3em)/2);
        width: -moz-calc((100% - 3em)/2);
        width: calc((100% - 3em)/2);
        margin: 1em 0.5em;
    }

    .a01-aT {
        padding: 1em 1.5em;
    }
}

@media all and (max-width:425px) {}

@media all and (max-width:375px) {}

/* ---------------------------- */
.a01-2 {
    position: relative;
    margin: 1em auto;
}

.a01-2 table {
    width: 100%;
    background: #fff;
    text-align: center;
    table-layout: fixed;
}

.a01-2 thead {
    background: #fee089;
}

.a01-2 td {
    border: 2px solid #fccc27;
}

.a01-2 td:nth-child(1) {
    width: 35%;
}

.a01-2 p {
    padding: 5px 0 !important;
}

.a01-2 p span {
    color: #008ed8;
    font-size: 1.2em;
}

.a01-2 p .strred {
    color: #c30d23;
}

.table-I {
    position: absolute;
    bottom: 1em;
    right: -.5em;
    width: 3em;
}

.tdarr p {
    position: relative;
    z-index: 0;
    color: #fff;
}

.tdarr p::before {
    content: '';
    /* ➧ */
    font-size: 6em;
    color: #e50012;
    position: absolute;
    top: 30%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
         -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -1;
    -webkit-filter: drop-shadow(2px 3px 0px black);
            filter: drop-shadow(2px 3px 0px black);
    background: url(../img/a01-6.png) center/100% no-repeat;
    width: 80px;
    height: 60px;
}

@media all and (max-width:768px) {}

@media all and (max-width:575px) {
    .table-I {
        bottom: 3em;
        right: -1.5em;
    }
}



/*--------------------------------------#pt1-------------------------------------------------*/



/*--------------------------------------pt2-------------------------------------------------*/
.pt2 {
    background-color: #ead1e4;
    overflow: hidden;
}

.b01box {
    width: var(--box-width);
    margin: 1em auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.b01-1 {
    position: relative;
    width: -webkit-calc((100% - 6em)/3);
    width: -moz-calc((100% - 6em)/3);
    width: calc((100% - 6em)/3);
    margin: 1em;
}

.b01-1::before {
    content: '+';
    position: absolute;
    top: 40%;
    left: 100%;
    padding: 0px 7px;
    background: #e4007f;
    border-radius: 50%;
    color: #fff;
    font-size: 2.5em;
    line-height: 1;
    font-family: sans-serif;
    border: 2px solid #fff;
}

.b01-1:nth-child(2):before {
    content: '=';
}

.b01-1:last-child:before {
    display: none;
}

.b01-I {
    width: 80%;
    margin: 0 auto;
}

.b01-1 h4 {
    position: relative;
    width: 90%;
    margin: -1em auto 0;
    padding: 5px 10px;
    background: #fff;
    border: 2px solid;
    border-radius: 10px;
    text-align: center;
    z-index: 1;
    color: #e4007f;
}

.b01-1:last-child h4 {
    background: #e4007f;
    color: #fff;
}

@media all and (max-width:575px) {
    .b01-1 {
        width: -webkit-calc((100% - 2em)/2);
        width: -moz-calc((100% - 2em)/2);
        width: calc((100% - 2em)/2);
        margin: .5em;
    }

    .b01-1 h4 {
        width: 100%;
    }

    .b01-1::before {
        display: none;
    }
}


/* --------------b01------------------- */
.b02box {
    position: relative;
    width: var(--box-width);
    margin: 1em auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
       -moz-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    z-index: 5;
}


.b02-1 {
    width: -webkit-calc((100% - 2em)/2);
    width: -moz-calc((100% - 2em)/2);
    width: calc((100% - 2em)/2);
    margin: .5em;
    background: #fff;
    border-radius: 20px;
    padding: 1em;
    -webkit-box-shadow: 3px 3px 7px #767474;
            box-shadow: 3px 3px 7px #767474;
}

.b02-1:nth-child(even) .b02-up {
    margin-left: auto;
}

.b02-up {
    width: 70%;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding-bottom: .3em;
    margin-bottom: .3em;
    border-bottom: 2px solid #008ed8;
}

.b02-img {
    width: 4em;
}

.b02-up>h4 {
    margin-bottom: 0px;
    color: #008ed8;
}

.b02-1 p {
    width: 70%;
    margin: 0 auto !important;
}


.b02-cent {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
         -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 30%;
}

@media all and (max-width:1024px) {}

@media all and (max-width:768px) {}

@media all and (max-width:576px) {
    .b02-1 {
        width: -webkit-calc((100% - 2em)/1);
        width: -moz-calc((100% - 2em)/1);
        width: calc((100% - 2em)/1);
    }
}


/* --------------------------------- */

.title2 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    color: #60368b;
}

.title2 h3 {
    font-family: 'MStiffHeiHK' !important;
}

.b02bot {
    position: relative;
    width: var(--box-width);
    margin: 2em auto;
    padding: 1em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    background: #fff;
    -webkit-box-shadow: 3px 3px 7px #767474;
            box-shadow: 3px 3px 7px #767474;
}

.b02bot-1 {
    width: -webkit-calc((100% - 4em)/4);
    width: -moz-calc((100% - 4em)/4);
    width: calc((100% - 4em)/4);
    margin: .5em;
}

.b02bot-1 h5 {
    text-align: center;
    color: #008ed8;
}

.b02bot-I {
    width: 100%;
}

.b02bot-1 p {
    text-align: center;
    line-height: 1.2;
    margin-top: .5em !important;
}

.b02bot>span {
    position: absolute;
    bottom: 98%;
    left: 2em;
    width: 1em;
    height: 10em;
    background: -webkit-gradient(linear, left top, right top, color-stop(35%, transparent), color-stop(35%, #fff), color-stop(65%, #fff), color-stop(65%, transparent));
    background: -webkit-linear-gradient(left, transparent 35%, #fff 35%, #fff 65%, transparent 65%);
    background: -moz-linear-gradient(left, transparent 35%, #fff 35%, #fff 65%, transparent 65%);
    background: -o-linear-gradient(left, transparent 35%, #fff 35%, #fff 65%, transparent 65%);
    background: linear-gradient(to right, transparent 35%, #fff 35%, #fff 65%, transparent 65%);
    border-bottom: 5px solid #c30d23;
}

.b02bot>span:nth-child(2) {
    left: unset;
    right: 2em;
}

@media all and (max-width:768px) {}

@media all and (max-width:575px) {
    .b02bot-1 {
        width: -webkit-calc((100% - 4em)/2);
        width: -moz-calc((100% - 4em)/2);
        width: calc((100% - 4em)/2);
        margin: .5em;
    }
}

/* --------------------------------- */
.b03top {
    width: var(--box-width);
    margin: 2em auto;
}

/* ------- */
.b03box {
    width: var(--box-width);
    margin: 2em auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.b03-1 {
    position: relative;
    width: -webkit-calc((100% - 4em)/2);
    width: -moz-calc((100% - 4em)/2);
    width: calc((100% - 4em)/2);
    margin: .5em 1em;
    background: #fffef0;
    padding: 1em 2em;
}

.b03-1::before {
    content: '';
    position: absolute;
    top: -.8em;
    left: -.8em;
    width: 100%;
    height: 102%;
    background: transparent;
    border: 2px solid #008ed8;
    -moz-border-image: -moz-linear-gradient(45deg, #008ed8 65%, transparent 65%, transparent 100%) 1;
      -o-border-image: -o-linear-gradient(45deg, #008ed8 65%, transparent 65%, transparent 100%) 1;
         border-image: -webkit-linear-gradient(45deg, #008ed8 65%, transparent 65%, transparent 100%) 1;
         border-image: linear-gradient(45deg, #008ed8 65%, transparent 65%, transparent 100%) 1;
}

.b03-1::after {
    content: '▲';
    position: absolute;
    bottom: 2px;
    right: .5em;
    -webkit-transform: rotate(-90deg);
       -moz-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
         -o-transform: rotate(-90deg);
            transform: rotate(-90deg);
    line-height: 1;
    color: #008ed8;
    font-size: 1.2em;
}

.b03-T {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.b03-L {
    width: 25%;
    margin-right: .5em;
    border-radius: 15px;
    overflow: hidden;
}

.b03-R {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
       -moz-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.b03-I {
    width: 24%;
}

.b03-R h4 {
    margin: 0;
    color: #008ed8;
}

/* .b03-R h3 {} */

.b03-B {
    margin-top: .5em !important;
    line-height: 1.3;
}

@media all and (max-width:768px) {}

@media all and (max-width:575px) {
    .b03-1 {
        width: -webkit-calc((100% - 2em)/1);
        width: -moz-calc((100% - 2em)/1);
        width: calc((100% - 2em)/1);
        margin: 1em;
        padding: 1em 1em;
    }
}

/* ---------------------------------- */
.b04box {
    width: var(--box-width);
    margin: 2em auto;
    padding: 1em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    background: #ddedf9;
}

.b04-L {
    width: 13%;
}

.b04-L img {
    width: 100%;
}

.b04box>h4,
.b04-L h5 {
    display: none;
}

.b04-R {
    width: 86%;
}

.b04-R h4 {
    color: #b81c25;
    border-bottom: 2px solid rgb(35 24 21 / 50%);
}

.b04-R h5 {
    color: #008ed8;
}

.b04-R h5 span {
    color: #fff000;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #b81c25), color-stop(100%, #b81c25), to(transparent));
    background: -webkit-linear-gradient(top, transparent 0%, #b81c25 0%, #b81c25 100%, transparent 100%);
    background: -moz-linear-gradient(top, transparent 0%, #b81c25 0%, #b81c25 100%, transparent 100%);
    background: -o-linear-gradient(top, transparent 0%, #b81c25 0%, #b81c25 100%, transparent 100%);
    background: linear-gradient(to bottom, transparent 0%, #b81c25 0%, #b81c25 100%, transparent 100%);
    padding: 4px 5px;
}

/* .b04-R>p {} */

@media all and (max-width:768px) {}

@media all and (max-width:576px) {
    .b04box {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
           -moz-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .b04box>h4 {
        display: block;
        color: #b81c25;
        font-size: 1.5em;
    }

    .b04-L {
        width: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
           -moz-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
           -moz-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }

    .b04-L img {
        width: 20%;
    }

    .b04-L h5 {
        display: block;
        width: 79%;
        color: #003f76;
        font-size: 1.4em;
    }

    .b04-L h5 span {
        display: inline-block;
        color: #fff000;
        background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #b81c25), color-stop(100%, #b81c25), to(transparent));
        background: -webkit-linear-gradient(top, transparent 0%, #b81c25 0%, #b81c25 100%, transparent 100%);
        background: -moz-linear-gradient(top, transparent 0%, #b81c25 0%, #b81c25 100%, transparent 100%);
        background: -o-linear-gradient(top, transparent 0%, #b81c25 0%, #b81c25 100%, transparent 100%);
        background: linear-gradient(to bottom, transparent 0%, #b81c25 0%, #b81c25 100%, transparent 100%);
        padding: 2px 5px;
    }

    .b04-R {
        width: 100%;
    }

    .b04-R h5,
    .b04-R h4 {
        display: none;
    }
}

/* ----------------------- */
.b05tit {
    width: 80%;
    margin: 0 auto;
}

.b05box {
    width: var(--box-width);
    margin: 1em auto 2em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.b05-1 {
    width: -webkit-calc((100% - 2.4em)/4);
    width: -moz-calc((100% - 2.4em)/4);
    width: calc((100% - 2.4em)/4);
    margin: .3em;
}

.b05-I {
    border: 2px solid #532d86;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    border-bottom: unset;
    background: #fff;
}

.b05-1 h4 {
    margin: 0;
    padding: 4px 0;
    background: #fff;
    text-align: center;
    border: 2px solid #40210f;
    border-radius: 0 0 10px 10px;
    color: #40210f;
}

.b05 .a02bot-L h4 {
    color: #008ed8;
}

@media all and (max-width:768px) {}

@media all and (max-width:575px) {
    .b05-1 {
        width: -webkit-calc((100% - 2.4em)/2);
        width: -moz-calc((100% - 2.4em)/2);
        width: calc((100% - 2.4em)/2);
    }

    .b05 .line-R h4 {
        margin-left: 30%;
        width: 70%;
    }
}

/*--------------------------------------#pt2-------------------------------------------------*/


/*--------------------------------------pt3-------------------------------------------------*/
.pt3 {
    background-color: #f5eaf3;
    overflow: hidden;
}

.c01box {
    width: var(--box-width);
    margin: 2em auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
       -moz-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.c01-1 {
    position: relative;
    width: -webkit-calc((100% - 2em)/2);
    width: -moz-calc((100% - 2em)/2);
    width: calc((100% - 2em)/2);
    margin: .5em;
    padding: 1em;
    background: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
       -moz-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    overflow: hidden;
    -webkit-box-shadow: 2px 2px 5px rgb(0 0 0 / 75%);
            box-shadow: 2px 2px 5px rgb(0 0 0 / 75%);
}

.c01-1::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 6em;
    height: 5em;
    background: url(../img/c01-1.png) center/100% no-repeat;
}

.c01-1:nth-child(2):before {
    bottom: 0;
    left: 0;
    background: url(../img/c01-2.png) center/100% no-repeat;
}

.c01-1:nth-child(3):before {
    bottom: 0em;
    left: -1em;
    height: 6em;
    background: url(../img/c01-3.png) center bottom/100% no-repeat;
}

.c01-1:nth-child(4):before {
    bottom: 0;
    right: 0;
    background: url(../img/c01-4.png) center/100% no-repeat;
}

.c01-1 h4 {
    width: 70%;
    margin: 0.3em auto;
    text-align: center;
    background: #60368b;
    color: #fff;
    border-radius: 40px;
}

.c01-1 p {
    width: 100%;
    text-align: center;
}

.spred {
    color: #c30d23;
    font-weight: 600;
}

@media all and (max-width:768px) {}

@media all and (max-width:575px) {
    .c01-1 {
        width: -webkit-calc((100% - 2em)/1);
        width: -moz-calc((100% - 2em)/1);
        width: calc((100% - 2em)/1);
    }

}

/* --------------------- */
.form {
    width: var(--box-width);
    margin: 0 auto;
    padding: 1em;
    background: #fff;
}

.form-h2 h2 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0px auto;
    text-align: center;
    font-size: 2.5em;
    color: #60368b;
    font-family: 'MStiffHeiHK' !important;
}

.form-bg .form-p {
    margin: 0 auto;
    color: #203b39;
    text-align: center;
}

.form-bg .form-p span {
    color: #d51518;
}

@media all and (max-width:425px) {
    .form-h2 h2 {
        font-size: 2em;
    }

    .form-bg .form-p {
        font-size: 1.3em;
    }
}

@media all and (max-width:375px) {
    .form-bg .form-p {
        font-size: 1em;
    }
}

/* iframe */
.iframe {
    position: relative;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    padding: 1vh 1vw;
    width: 100%;
    text-align: center;
}

.iframe iframe {
    height: 520px;
    background-color: white;
}

.iframe .ifr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.ifrimg {
    width: 50%;
}

.ifrinp {
    width: 50%;
}

.iframe .ifr img {
    width: 80%;
}

@media all and (max-width:768px) {}

@media all and (max-width:575px) {
    .iframe {
        width: 100%;
    }

    .ifrimg {
        width: 90%;
    }

    .ifrinp {
        width: 100%;
    }
}

/*--------------------------------------#pt3-------------------------------------------------*/



/*----------footerstyle----------*/
footer {
    padding: 1em 0;
    background: #6120f0;
    text-align: center;
}

.footbox h2 {
    color: #fff;
}


.footbuts {
    width: var(--box-width);
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
       -moz-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.footbuts li {
    width: -webkit-calc((100% - 60px)/6);
    width: -moz-calc((100% - 60px)/6);
    width: calc((100% - 60px)/6);
    margin: 5px;
    border-radius: 10px;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
       -moz-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    background: #fff;
    border: 3px solid #fff5b1;
}

.footbuts li h3 {
    width: 100%;
    margin-bottom: 0em;
    color: #6120f0;
    padding: 0.5vh 0vw;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
}

/* -----LINE/活動詳情------- */
.footbut {
    width: 100%;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
    background: #fff5b1;
    color: #221714;
}

.footbut:hover {
    background: #cfc688;
    color: #221714;
    -webkit-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    -moz-transition: all .15s ease-out;
    transition: all .15s ease-out;
}

.footbut2 {
    width: 100%;
    color: #e72b2c;
}

.footbut2:hover {
    background: #e72b2c;
    color: #fff;
    -webkit-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    -moz-transition: all .15s ease-out;
    transition: all .15s ease-out;
}

.footbuts li a:hover p {
    -webkit-transform: scale(.9);
       -moz-transform: scale(.9);
        -ms-transform: scale(.9);
         -o-transform: scale(.9);
            transform: scale(.9);
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.footbuts li .h3sm {
    font-size: 1.3em;
    padding: 0.8vh 0.5vw;
}

@media screen and (max-width: 768px) {

    /* .footbuts li {
        width: calc((100% - 50px)/5);
    }
 */
    .footbuts li .h3sm2 {
        font-size: 1.3em;
        padding: .3em 0;
    }

    .footbuts li .h3sm {
        font-size: 1.4em;
    }
}

@media screen and (max-width: 575px) {
    .footbox h2 {
        font-size: 1.8em;
    }

    .footbox h2 br {
        display: block;
    }

    .footbuts li {
        width: -webkit-calc((100% - 50px)/3);
        width: -moz-calc((100% - 50px)/3);
        width: calc((100% - 50px)/3);
        border-radius: 6px;
    }

    .footbuts li .h3sm2 {
        font-size: 1.3em;
        padding: .3em 0;
    }

    .footbuts li .h3sm {
        font-size: 1.4em;
    }
}

@media screen and (max-width: 425px) {
    .footbox h2 {
        font-size: 1.8em;
    }

    .footbuts li {
        width: -webkit-calc(100%/3.5);
        width: -moz-calc(100%/3.5);
        width: calc(100%/3.5);
    }
}

@media screen and (max-width: 375px) {}

/*----------end_footerstyle----------*/

/*-----------TOP按鈕------------------*/
#goTop {
    position: fixed;
    bottom: 1em;
    right: 1em;
    width: 3em;
    height: 3em;
    padding: 0.5em;
    z-index: 999;
    color: #fff;
    border-radius: 50%;
}

#goTop .fas {
    font-family: "Font Awesome 5 Free" !important;
}

@media all and (max-width: 575px) {}

/*-----------TOP按鈕------------------*/

/*---------------- BAR-social_address_浮動社群連結 --------------*/
.offcanvas-title {
    width: 100%;
    text-align: center;
    font-size: 2em;
}

.offcanvas-header {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.offcanvas-bottom {
    height: auto !important;
}

.btn-close {
    color: #fff !important;
}


.linebox {
    width: var(--box-width);
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-justify-content: flex-start;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.linebox>h4 {
    width: 100%;
}

.linebox>h4 br {
    display: none;
}

.linebox .linebox-a {
    width: -webkit-calc((100% - 60px)/6);
    width: -moz-calc((100% - 60px)/6);
    width: calc((100% - 60px)/6);
    margin: 5px;
}

.linebox a {
    width: 100%;
    margin-bottom: 5px;
    cursor: pointer;
    font-size: 1.3em;
    padding: .2em;
}

/*---------一個 浮動式按鈕 LINE 手機版-----------*/
@media all and (max-width:768px) {
    /*  .linebox {
        width: 100%;
    } */
}

@media all and (max-width: 575px) {

    .social-icon a {
        width: 100% !important;
    }

    .linebox>h4 br {
        display: block;
    }

    .linebox .linebox-a {
        width: -webkit-calc((100% - 30px)/3);
        width: -moz-calc((100% - 30px)/3);
        width: calc((100% - 30px)/3);
    }


    .social_btn {
        background-image: -webkit-gradient(linear, left bottom, left top, from(#22ac38), to(#92fb4b)) !important;
        background-image: -webkit-linear-gradient(bottom, #22ac38 0%, #92fb4b 100%) !important;
        background-image: -moz-linear-gradient(bottom, #22ac38 0%, #92fb4b 100%) !important;
        background-image: -o-linear-gradient(bottom, #22ac38 0%, #92fb4b 100%) !important;
        background-image: linear-gradient(to top, #22ac38 0%, #92fb4b 100%) !important;
    }
}

/*--------#-一個浮動式按鈕 LINE 手機版----------*/
/*---------------- BAR-social_address_浮動社群連結 --------------*/