/* 字級大小 */

.fontSize_86px {
    font-size: 86px;
}

.fontSize_72px {
    font-size: 72px;
}

.fontSize_60px {
    font-size: 60px;
}

.fontSize_48px {
    font-size: 48px;
}

.fontSize_36px {
    font-size: 36px;
}

.fontSize_30px {
    font-size: 30px;
}

.fontSize_24px {
    font-size: 24px;
}

.fontSize_20px {
    font-size: 20px;
}

.fontSize_18px {
    font-size: 18px;
}

.fontSize_16px {
    font-size: 16px;
}

.fontSize_14px {
    font-size: 14px !important;
}

.fontSize_12px {
    font-size: 12px;
}

@media screen and (max-width: 1250px) {
    .fontSize_86px {
        font-size: 6.4vw;
    }
    .fontSize_72px {
        font-size: 5.6vw;
    }
    .fontSize_60px {
        font-size: 4.6vw;
    }
    .fontSize_48px {
        font-size: 3.8vw;
    }
    .fontSize_36px {
        font-size: 2.8vw;
    }
    .fontSize_30px {
        font-size: 2.4vw;
    }
    .fontSize_24px {
        font-size: 1.8vw;
    }
    .fontSize_20px {
        font-size: 1.62vw;
    }
    .fontSize_18px {
        font-size: 1.6vw;
    }
    .fontSize_16px {
        font-size: 1.4vw;
    }
    .fontSize_14px {
        font-size: 1.2vw !important;
    }
}

@media screen and (max-width: 761px) {
    .fontSize_86px {
        font-size: 9.6vw;
    }
    .fontSize_72px {
        font-size: 9vw;
    }
    .fontSize_60px {
        font-size: 7.8vw;
    }
    .fontSize_48px {
        font-size: 6.4vw;
    }
    .fontSize_36px {
        font-size: 4.6vw;
    }
    .fontSize_30px {
        font-size: 4vw;
    }
    .fontSize_24px {
        font-size: 3.2vw;
    }
    .fontSize_20px {
        font-size: 2.4vw;
    }
    .fontSize_18px {
        font-size: 2.2vw;
    }
    .fontSize_16px {
        font-size: 2vw;
    }
    .fontSize_14px {
        font-size: 1.8vw !important;
    }
    .fontSize_12px {
        font-size: 1.6vw;
    }
}


/* 字重 */

.fw-900 {
    font-weight: 900 !important;
}

.fw-800 {
    font-weight: 800 !important;
}

.fw-700 {
    font-weight: 700 !important;
}

.fw-600 {
    font-weight: 600 !important;
}

.fw-500 {
    font-weight: 500 !important;
}

.fw-400 {
    font-weight: 400 !important;
}

.fw-300 {
    font-weight: 300 !important;
}

.fw-200 {
    font-weight: 200 !important;
}

.fw-100 {
    font-weight: 100 !important;
}

.fw-bold {
    font-weight: bold !important;
}

.fw-bolder {
    font-weight: bolder !important;
}

.fw-normal {
    font-weight: normal !important;
}

.fw-lighter {
    font-weight: lighter !important;
}

.fst-italic {
    font-style: italic !important;
}

.fst-normal {
    font-style: normal !important;
}


/* 文字對齊 */

.text-center {
    text-align: center !important;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-justify {
    text-align: justify;
}


/* 文字裝飾 */

.text-underline {
    text-decoration: underline;
}

.text-line-through {
    text-decoration: line-through;
}

.text-decoration-none {
    text-decoration: none;
}


/* 文字換行 */

.text-wrap {
    white-space: normal;
}

.text-nowrap {
    white-space: nowrap;
}


/* 行高 */

.lh-1 {
    line-height: 1!important;
}

.lh-11 {
    line-height: 1.1!important;
}

.lh-12 {
    line-height: 1.2!important;
}

.lh-13 {
    line-height: 1.3!important;
}

.lh-14 {
    line-height: 1.4!important;
}

.lh-15 {
    line-height: 1.5!important;
}

.lh-16 {
    line-height: 1.6!important;
}

.lh-17 {
    line-height: 1.7!important;
}

.lh-18 {
    line-height: 1.8!important;
}

.lh-19 {
    line-height: 1.9!important;
}

.lh-2 {
    line-height: 2!important;
}

@media screen and (max-width: 500px) {
    .lh-1 {
        line-height: 4.5vw!important;
    }
    .lh-11 {
        line-height: 4.6vw!important;
    }
    .lh-12 {
        line-height: 4.7vw!important;
    }
    .lh-13 {
        line-height: 4.8vw!important;
    }
    .lh-14 {
        line-height: 4.9vw!important;
    }
    .lh-15 {
        line-height: 5vw!important;
    }
    .lh-16 {
        line-height: 5.1vw!important;
    }
    .lh-17 {
        line-height: 5.2vw!important;
    }
    .lh-18 {
        line-height: 5.3vw!important;
    }
    .lh-19 {
        line-height: 5.4vw!important;
    }
    .lh-2 {
        line-height: 5.5vw !important;
    }
}


/* 字距 */

.ls-1 {
    letter-spacing: 1px!important;
}

.ls-2 {
    letter-spacing: 2px!important;
}

.ls-3 {
    letter-spacing: 3px!important;
}

.ls-4 {
    letter-spacing: 4px!important;
}

.ls-5 {
    letter-spacing: 5px!important;
}

.ls-6 {
    letter-spacing: 6px!important;
}

.ls-7 {
    letter-spacing: 7px!important;
}

.ls-8 {
    letter-spacing: 8px!important;
}

@media screen and (max-width: 500px) {
    .ls-1 {
        letter-spacing: 0.2vw!important;
    }
    .ls-2 {
        letter-spacing: 0.4vw!important;
    }
    .ls-3 {
        letter-spacing: 0.6vw!important;
    }
    .ls-4 {
        letter-spacing: 0.8vw!important;
    }
    .ls-5 {
        letter-spacing: 1vw!important;
    }
}


/* 文字陰影 */

.text-shadow01 {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.text-shadow02 {
    text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
}

.text-shadow03 {
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
}

.text-shadow-white {
    text-shadow: 0 0 4px #fff, 0 0 6px #fff, 0 0 8px #fff;
}

.sharp-shadow {
    text-shadow: 1.2px 1.2px 0 #fff, -1.2px 1.2px 0 #fff, 1.2px -1.2px 0 #fff, -1.2px -1.2px 0 #fff, 0px 0px 5px #fff;
    /* 四個方向都加強銳邊效果 */
}


/* 文字漸層+筆畫 */


/* 01 */

.gradient-stroke01 {
    position: relative;
    display: inline-block;
    color: transparent;
    background: linear-gradient(0deg, #ac4e22, #e28140, #ac4e22);
    background-clip: text;
    -webkit-background-clip: text;
}

.gradient-stroke01::before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-text-stroke: 7px #fff;
    text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
}

.gradient-stroke01.g-stroke01::before {
    top: 25px;
}

@media (max-width: 1250px) {
    .gradient-stroke01.g-stroke01::before {
        top: 1.9vw;
    }
}

@media (max-width: 1024px) {}

@media (min-width: 762px) {
    .gradient-stroke01::before {
        -webkit-text-stroke: 6px #fff;
    }
}

@media (max-width: 761px) {
    .gradient-stroke01.g-stroke01::before {
        top: 21px;
    }
}

@media (max-width: 550px) {
    .gradient-stroke01::before {
        -webkit-text-stroke: 5px #fff;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    }
    .gradient-stroke01.g-stroke01::before {
        top: 15px;
    }
}

@media (max-width: 430px) {
    .gradient-stroke01.g-stroke01::before {
        top: 2.7vw;
    }
}


/* 02 */

.gradient-stroke02 {
    position: relative;
    display: inline-block;
    color: transparent;
    background: linear-gradient(0deg, #4d1d08, #712b0c, #4d1d08);
    background-clip: text;
    -webkit-background-clip: text;
}

.gradient-stroke02::before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-text-stroke: 7px #fff;
    text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
}

@media (min-width: 762px) {
    .gradient-stroke02::before {
        -webkit-text-stroke: 6px #fff;
    }
}

@media (max-width: 550px) {
    .gradient-stroke02::before {
        -webkit-text-stroke: 5px #fff;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    }
}


/* 文字+筆畫 */

.text-stroke {
    position: relative;
    display: inline-block;
    font-weight: bold;
    color: #4d1d08;
    background-clip: text;
    -webkit-background-clip: text;
}

.text-stroke::before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    z-index: -1;
    -webkit-text-stroke: 5px #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5),
}

.text-stroke.t-stroke01::before {
    top: 6px;
}

@media (max-width: 761px) {
    .text-stroke.t-stroke01::before {
        top: 5px;
    }
}

@media (max-width: 550px) {
    .text-stroke::before {
        -webkit-text-stroke: 5px #fff;
    }
}

.bg-color01 {
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(167, 74, 32, 1) 50%, rgba(255, 255, 255, 0) 100%);
}

.bg-color02 {
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(241, 158, 128, 1) 50%, rgba(255, 255, 255, 0) 100%);
}

.bg-color03 {
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
}

.bg-color04 {
    background: linear-gradient(to right, rgba(250, 239, 217, 0) 19%, rgba(231, 205, 149, 0.52) 36%, rgba(218, 183, 121, 1) 52%, rgba(250, 239, 217, 0) 86%);
}


/* 文字顏色 */

.text-color01 {
    color: #7f2d00;
}

.text-color02 {
    color: #4d1d08;
}

.text-color03 {
    color: #ac4e22;
}


/* .text-color04 {
    color: #0a415e;
} */


/* .text-color05 {
    color: #000;
} */


/* 預設文字顏色 */

.text-black {
    color: #000;
}

.text-white {
    color: #fff;
}

.text-gray {
    color: #666;
}

.text-darkgray {
    color: #1b1b1b;
}

.text-red {
    color: #b40024;
}


/* M */


/* .m-0 {
    margin: 0 !important;
}
.m-1 {
    margin: 1% !important;
}
.m-2 {
    margin: 2% !important;
}
.m-3 {
    margin: 3% !important;
}
.m-4 {
    margin: 4% !important;
}
.m-5 {
    margin: 5% !important;
} */


/* MT */

.mt-0 {
    margin-top: 0 !important;
}

.mt-1 {
    margin-top: 1% !important;
}

.mt-2 {
    margin-top: 2% !important;
}

.mt-3 {
    margin-top: 3% !important;
}

.mt-4 {
    margin-top: 4% !important;
}

.mt-5 {
    margin-top: 5% !important;
}


/* MB */

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: 1% !important;
}

.mb-2 {
    margin-bottom: 2% !important;
}

.mb-3 {
    margin-bottom: 3% !important;
}

.mb-4 {
    margin-bottom: 4% !important;
}

.mb-5 {
    margin-bottom: 5% !important;
}


/* ML */

.ml-0 {
    margin-left: 0 !important;
}

.ml-1 {
    margin-left: 1% !important;
}

.ml-2 {
    margin-left: 2% !important;
}

.ml-3 {
    margin-left: 3% !important;
}

.ml-4 {
    margin-left: 4% !important;
}

.ml-5 {
    margin-left: 5% !important;
}


/* MR */

.mr-0 {
    margin-right: 0!important;
}

.mr-1 {
    margin-right: 1%!important;
}

.mr-2 {
    margin-right: 2%!important;
}

.mr-3 {
    margin-right: 3%!important;
}

.mr-4 {
    margin-right: 4%!important;
}

.mr-5 {
    margin-right: 5%!important;
}


/* MX */

.mx-1 {
    margin-left: 1% !important;
    margin-right: 1%!important;
}

.mx-2 {
    margin-left: 2% !important;
    margin-right: 2%!important;
}

.mx-3 {
    margin-left: 3% !important;
    margin-right: 3%!important;
}

.mx-4 {
    margin-left: 4% !important;
    margin-right: 4%!important;
}

.mx-5 {
    margin-left: 5% !important;
    margin-right: 5%!important;
}


/* MY */

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0!important;
}

.my-1 {
    margin-top: 1% !important;
    margin-bottom: 1%!important;
}

.my-2 {
    margin-top: 2% !important;
    margin-bottom: 2%!important;
}

.my-3 {
    margin-top: 3% !important;
    margin-bottom: 3%!important;
}

.my-4 {
    margin-top: 4% !important;
    margin-bottom: 4%!important;
}

.my-5 {
    margin-top: 5% !important;
    margin-bottom: 5%!important;
}


/**********/


/* P */


/* .p-0 {
    padding: 0 !important;
}
.p-1 {
    padding: 1% !important;
}
.p-2 {
    padding: 2% !important;
}
.p-3 {
    padding: 3% !important;
}
.p-4 {
    padding: 4% !important;
}
.p-5 {
    padding: 5% !important;
} */


/* PT */

.pt-0 {
    padding-top: 0 !important;
}

.pt-1 {
    padding-top: 1% !important;
}

.pt-2 {
    padding-top: 2% !important;
}

.pt-3 {
    padding-top: 3% !important;
}

.pt-4 {
    padding-top: 4% !important;
}

.pt-5 {
    padding-top: 5% !important;
}


/* PB */

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-1 {
    padding-bottom: 1% !important;
}

.pb-2 {
    padding-bottom: 2% !important;
}

.pb-3 {
    padding-bottom: 3% !important;
}

.pb-4 {
    padding-bottom: 4% !important;
}

.pb-5 {
    padding-bottom: 5% !important;
}


/* PL */

.pl-0 {
    padding-left: 0 !important;
}

.pl-1 {
    padding-left: 1% !important;
}

.pl-2 {
    padding-left: 2% !important;
}

.pl-3 {
    padding-left: 3% !important;
}

.pl-4 {
    padding-left: 4% !important;
}

.pl-5 {
    padding-left: 5% !important;
}


/* PR */

.pr-1 {
    padding-right: 1%!important;
}

.pr-2 {
    padding-right: 2%!important;
}

.pr-3 {
    padding-right: 3%!important;
}

.pr-4 {
    padding-right: 4%!important;
}

.pr-5 {
    padding-right: 5%!important;
}


/* PX */

.px-0 {
    padding-left: 0 !important;
    padding-right: 0!important;
}

.px-1 {
    padding-left: 1% !important;
    padding-right: 1%!important;
}

.px-2 {
    padding-left: 2% !important;
    padding-right: 2%!important;
}

.px-3 {
    padding-left: 3% !important;
    padding-right: 3%!important;
}

.px-4 {
    padding-left: 4% !important;
    padding-right: 4%!important;
}

.px-5 {
    padding-left: 5% !important;
    padding-right: 5%!important;
}


/* PY */

.py-1 {
    padding-top: 0 !important;
    padding-bottom: 0!important;
}

.py-1 {
    padding-top: 1% !important;
    padding-bottom: 1%!important;
}

.py-2 {
    padding-top: 2% !important;
    padding-bottom: 2%!important;
}

.py-3 {
    padding-top: 3% !important;
    padding-bottom: 3%!important;
}

.py-4 {
    padding-top: 4% !important;
    padding-bottom: 4%!important;
}

.py-5 {
    padding-top: 5% !important;
    padding-bottom: 5%!important;
}