@import"https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@100;200;300;400;500;600;700;800;900&display=swap";
@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;600;700;800;900&display=swap";
@import"https://fonts.googleapis.com/css2?family=Mulish:wght@200;300;500;600;700;900&display=swap";
@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Bitter:wght@300;500;700;900&display=swap";
@import"https://fonts.googleapis.com/css2?family=Arvo:ital,wght@0,400;0,700;1,400;1,700&display=swap";

:root {
    font-size: 16px
}

@media(max-width: 1600px) {
    :root {
        font-size: 14px
    }
}

@media(max-width: 768px) {
    :root {
        font-size: 12px
    }
}

@font-face {
    font-family: Mohave;
    src: url(../../assets/fonts/Mohave-VariableFont_wght.otf) format("otf"), url(../../assets/fonts/Mohave-VariableFont_wght.ttf) format("opentype"), url(../../assets/fonts/Mohave-VariableFont_wght.woff2) format("woff2"), url(../../assets/fonts/Mohave-VariableFont_wght.woff) format("woff")
}

@font-face {
    font-family: ESBuild;
    src: url(../../assets/fonts/ESBuild.otf) format("otf"), url(../../assets/fonts/ESBuild.ttf) format("opentype"), url(../../assets/fonts/ESBuild.woff2) format("woff2"), url(../../assets/fonts/ESBuild.woff) format("woff")
}

.wrapper {
    font-family: "Noto Sans TC", sans-serif
}

.container {
    position: relative;
    width: 100%;
    max-width: 1200px;
    padding: 0 15px;
    height: auto;
    margin: 0 auto;
    box-sizing: border-box
}

.btnRegistration {
    border-radius: 5px !important;
    overflow: hidden
}

.btnRegistration a {
    border-radius: 5px !important;
    overflow: hidden
}

main {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: #f1f1f1
}

.fix_aside {
    position: fixed;
    z-index: 99;
    right: 1rem;
    bottom: .5rem;
    transform: translateX(150%);
    transition: transform 600ms;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end
}

.fix_aside.is_active {
    transform: translateX(0%)
}

.fix_aside .fx_item {
    position: relative;
    display: block;
    border-radius: .5rem;
    margin: .5rem 0;
    width: 4rem;
    height: 4rem;
    background: #fff linear-gradient(120deg, #fff, #ddd);
    font-size: .95rem;
    cursor: pointer;
    box-shadow: 0 1px 3px 0 rgba(48, 48, 48, .19);
    transition: all .2s ease-out
}

.fix_aside .fx_item:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 5px 0 rgba(48, 48, 48, .19)
}

.fix_aside .fx_item .in_wrap {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    transform: translate(-50%, -50%)
}

.fix_aside .fx_item .in_wrap.ic {
    width: 100%;
    height: 100%;
    padding: .6em
}

.fix_aside .fx_item .in_wrap .ic_top {
    width: 100%;
    padding-top: 100%;
    background: url("../../assets/images/icons/arrow_top.png") center/contain no-repeat
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    background-color: #fff;
    z-index: 999;
    transition: all .2s ease-out
}

header.is_active .nav_sns .hover img {
    width: 30px
}

header.is_active .nav_area .logo {
    width: 120px
}

header.is_active .nav_area .mainNav {
    height: 50px
}

header.is_active .nav_area .mainNav li a {
    font-size: 1rem
}

header.is_active .nav_area .mainNav li.mt a {
    font-size: .8125rem
}

header.is_active .nav_sub {
    top: 50px
}

header .nav_mobile {
    display: none
}

header .nav_language {
    position: relative;
    cursor: pointer;
    padding: 0 10px 0 10px;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: center
}

header .nav_language .hover {
    display: inline-block;
    position: relative
}

header .nav_language .hover img {
    width: 30px;
    line-height: 0
}

header .nav_language .hover:hover .hover_menu {
    display: flex
}

header .nav_language .hover_holder {
    cursor: pointer
}

header .nav_language .hover_menu {
    position: absolute;
    top: auto;
    right: 0;
    padding: 10px 0;
    display: none;
    z-index: 10;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end
}

header .nav_language .hover_menu .hover_item {
    cursor: pointer;
    display: block;
    margin-top: 10px;
    text-decoration: none
}

header .nav_language .hover_menu .hover_item p {
    position: relative;
    box-sizing: border-box;
    padding: 5px 15px;
    width: 100px;
    text-align: center;
    white-space: nowrap;
    font-size: 1rem;
    box-shadow: 0 3px 5px rgba(0, 0, 0, .5);
    color: #000;
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 0 10px 0 10px;
    transition: all .3s ease-in-out
}

header .nav_language .hover_menu .hover_item p:hover {
    box-shadow: 0 0 0 rgba(0, 0, 0, .5);
    border: 1px solid #000
}

header .nav_language .hover_menu .hover_item p span {
    font-size: .75rem
}

header .nav_sns {
    position: relative;
    cursor: pointer;
    padding: 0 10px 0 10px;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: center
}

header .nav_sns .hover {
    display: inline-block;
    position: relative
}

header .nav_sns .hover img {
    width: 40px;
    line-height: 0;
    transition: all .2s ease-out
}

header .nav_sns .hover:hover .hover_menu {
    display: block
}

header .nav_sns .hover_holder {
    cursor: pointer
}

header .nav_sns .hover_menu {
    position: absolute;
    padding: .5em 0;
    display: none;
    z-index: 10
}

header .nav_sns .hover_menu .hover_item {
    cursor: pointer;
    display: block;
    margin-top: .5em
}

header .nav_area {
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    height: auto;
    background-color: #fff;
    z-index: 10
}

header .nav_area-inner {
    position: relative;
    width: 100%;
    max-width: 1200px;
    padding: 0;
    margin: 0 auto;
    height: auto;
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center
}

header .nav_area .logo {
    position: relative;
    width: 150px;
    height: auto;
    margin: 0 auto 0 0;
    padding: 0 15px;
    display: block;
    transition: all .2s ease-out
}

header .nav_area .logo img {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto
}

header .nav_area .mainNav {
    position: relative;
    width: auto;
    height: 70px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    transition: all .2s ease-out
}

header .nav_area .mainNav li {
    position: relative;
    width: auto;
    height: auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px
}

header .nav_area .mainNav li::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - 40px);
    height: 5px;
    transform: translateX(-50%);
    background: #f37229;
    opacity: 0;
    transition: opacity .2s ease-out
}

header .nav_area .mainNav li a {
    position: relative;
    width: auto;
    height: auto;
    box-sizing: border-box;
    padding: 3px;
    color: #373f41;
    font-size: 1.125rem;
    font-weight: 500;
    overflow: hidden;
    text-decoration: none;
    cursor: pointer;
    transition: all .2s ease-out
}

header .nav_area .mainNav li a.pc_nav {
    display: block
}

header .nav_area .mainNav li a.delay {
    color: rgba(0, 0, 0, .4);
    pointer-events: none
}

header .nav_area .mainNav li:hover::after {
    opacity: 1
}

header .nav_area .mainNav li.active a {
    color: #9e4a00
}

header .nav_area .mainNav li.open::after {
    opacity: 1
}

header .nav_area .mainNav li .mb_nav {
    display: none
}

header .nav_area .mainNav li .mb_nav a.delay {
    color: rgba(0, 0, 0, .4);
    pointer-events: none
}

header .nav_sub {
    position: absolute;
    top: -200px;
    left: 0;
    width: 100%;
    height: auto;
    padding: 40px 0;
    background-color: #ebebeb;
    opacity: 0;
    transition: all .2s ease-out;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .2)
}

header .nav_sub ul {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    list-style: none;
    display: none;
    flex-direction: row;
    justify-content: center;
    align-items: stretch
}

header .nav_sub ul li {
    position: relative;
    padding: 15px 40px
}

header .nav_sub ul li a {
    color: #000;
    font-size: 1.125rem;
    font-weight: normal;
    text-decoration: none;
    transition: color .2s ease-out
}

header .nav_sub ul li a:hover {
    color: #f37229
}

header .nav_sub ul li a.delay {
    color: rgba(0, 0, 0, .4);
    pointer-events: none
}

header .nav_sub ul li ol {
    position: relative;
    list-style: none;
    padding: 15px 0
}

header .nav_sub ul li ol li {
    padding: 15px 0
}

header .nav_sub ul li ol li a {
    color: #757575
}

header .nav_sub ul li ol li a.delay {
    color: rgba(0, 0, 0, .2);
    pointer-events: none
}

header .nav_sub ul.sub-about {
    display: none
}

header .nav_sub ul.sub-esg {
    display: none
}

header .nav_sub ul.sub-ir {
    display: none
}

footer {
    position: relative;
    width: 100%;
    padding: 1.875rem 0 !important;
    background-color: #303030
}

footer .container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center
}

footer .footer_info {
    position: relative;
    flex: 0 0 250px
}

footer .footer_info img {
    position: relative;
    width: 100%;
    max-width: 100px;
    height: auto;
    display: inline-block;
    margin: 0 5px 0 0
}

footer .footer_info {
    font-size: 1rem;
    color: #edf2f6
}

footer .footer_info span {
    font-size: .6875rem
}

footer ul {
    position: relative;
    width: 100%;
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch
}

footer ul.footer_medialink {
    width: auto;
    margin: 0;
    align-items: center
}

footer ul li {
    position: relative;
    color: #fff;
    font-size: 1rem;
    padding: 0 15px
}

footer ul li p {
    position: relative;
    margin: 0;
    padding: 15px 25px;
    border-bottom: 1px solid #fff;
    text-align: center
}

footer ul li a {
    position: relative;
    color: #fff;
    transition: color .2s ease-out
}

footer ul li a:hover {
    color: #f37229
}

footer ul li ol {
    position: relative;
    padding: 10px 25px;
    list-style: none
}

footer ul li ol li {
    padding: 10px 0;
    line-height: 1.6
}

.modal .modal-dialog {
    max-width: 800px
}

.modal .modal-content {
    padding: 20px 30px;
    border-radius: 20px
}

.modal .modal-header {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    border-bottom: 1px solid #ff8f00
}

.modal .modal-header .modal-title {
    font-size: 1.5rem;
    font-weight: bold;
    display: block
}

.modal .modal-header .sub {
    position: relative;
    margin: 5px 0 0 0;
    font-size: 1.25rem;
    line-height: 1.4;
    font-weight: 300;
    color: #373f41;
    display: block
}

.modal .modal-header .close {
    position: absolute;
    top: 25px;
    right: 30px;
    transform: rotate(0deg);
    transition: all .3s ease-in-out;
    cursor: pointer
}

.modal .modal-header .close:hover {
    transform: rotate(180deg)
}

.modal .modal-body {
    font-size: 1.25rem;
    font-weight: 300;
    color: #373f41;
    line-height: 1.6
}

.modal .modal-body span {
    font-weight: bold
}

.modal .modal-body .cnt {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 0;
    margin: 10px 0;
    font-size: 1.125rem;
    border: dashed rgba(255, 143, 0, .3);
    border-width: 1px 0 1px 0
}

.modal .modal-body .t {
    color: #2e8aff;
    display: block;
    cursor: pointer
}

.modal .modal-body .grp {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start
}

.modal .modal-body .grp ul {
    list-style-type: none;
    padding: 0
}

.modal .modal-body .grp ul li {
    margin: 0
}

.modal .modal-body ol {
    list-style: decimal;
    padding: 0 0 0 20px
}

.modal .modal-body ol li {
    margin: 5px 0
}

.modal .modal-body ul {
    list-style: disc;
    padding: 0 0 0 20px
}

.modal .modal-body ul li {
    margin: 5px 0
}

.modal .modal-footer {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 0
}

.modal .modal-footer .ps {
    position: relative;
    font-size: 1.5rem;
    font-weight: bold;
    color: #000;
    margin: 0 0 20px 0
}

.modal .modal-footer .btn {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    padding: 17px 40px;
    font-size: 1.5rem;
    font-weight: 800;
    border-radius: 10px;
    color: #fff;
    background-color: #ff8f00;
    border: 1px solid #ff8f00;
    transition: all .3s ease-in-out;
    text-decoration: none
}

.modal .modal-footer .btn:hover {
    color: #ff8f00;
    background-color: #fff
}

@media(max-width: 1600px) {
    header.is_active .nav_sns .hover img {
        width: 25px
    }

    header.is_active .nav_area .logo {
        width: 100px
    }

    header.is_active .nav_area .mainNav {
        height: 40px
    }

    header.is_active .nav_area .mainNav li a {
        font-size: .875rem
    }

    header.is_active .nav_area .mainNav li.btn a {
        padding: 3px 25px
    }

    header.is_active .nav_area .mainNav li.mt a {
        font-size: .75rem
    }

    header.is_active .nav_sub {
        top: 40px
    }

    header .nav_sns .hover img {
        width: 30px
    }

    header .nav_language {
        padding: 0 0 0 10px
    }

    header .nav_language .hover img {
        width: 25px
    }

    header .nav_area .mainNav {
        height: 50px;
        margin: 0 0 0 0
    }

    header .nav_area .mainNav li {
        padding: 0 10px
    }

    header .nav_area .mainNav li::after {
        width: calc(100% - 20px)
    }

    header .nav_area .mainNav li a {
        font-size: 1rem
    }

    header .nav_area .mainNav li.mt a {
        font-size: .875rem
    }

    header .nav_sub {
        top: 50px;
        padding: 20px 0
    }

    header .nav_sub ul li a {
        font-size: 1rem
    }
}

@media(max-width: 768px) {
    .fix_aside_index {
        left: -200px
    }

    .fix_aside_index.is_active {
        transform: translateX(215px)
    }

    .fix_aside_index .fx_item.is_img img {
        max-width: 100px
    }

    .fix_aside .fx_item.is_sp {
        width: 45px
    }

    header {
        height: 35px;
        background-color: rgba(0, 0, 0, 0)
    }

    header .nav_mobile {
        position: relative;
        display: block;
        z-index: 9999
    }

    header .nav_mobile-btn {
        position: absolute;
        top: 5px;
        right: 15px;
        width: 35px;
        height: 35px;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    header .nav_mobile-btn-line {
        position: relative;
        display: block;
        width: 25px;
        height: 2px;
        background: #f37229;
        border-radius: 4px;
        margin: 2.5px 0
    }

    header .nav_language {
        position: relative;
        cursor: pointer;
        padding: 0 12px;
        text-align: right;
        transform: translateY(0)
    }

    header .nav_language .hover {
        display: inline-flex;
        justify-content: flex-start;
        align-items: center
    }

    header .nav_language .hover img {
        width: 22px
    }

    header .nav_language .hover_menu {
        position: relative;
        top: auto;
        right: auto;
        padding: 10px 0;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        z-index: 10
    }

    header .nav_language .hover_menu .hover_item {
        cursor: pointer;
        display: block;
        margin: 0 0 0 15px;
        text-decoration: none
    }

    header .nav_sns {
        position: relative;
        cursor: pointer;
        padding: 0 12px;
        text-align: right;
        transform: translateY(0)
    }

    header .nav_sns .hover {
        display: inline-flex;
        justify-content: flex-start;
        align-items: center
    }

    header .nav_sns .hover_menu {
        position: relative;
        padding: .5em 0;
        display: inline-flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        z-index: 10
    }

    header .nav_sns .hover_menu .hover_item {
        cursor: pointer;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin: 0 0 0 15px
    }

    header .nav_area {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        padding: 0 0 80px;
        overflow: auto;
        overflow-x: hidden
    }

    header .nav_area-inner {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center
    }

    header .nav_area .logo {
        width: 130px;
        margin: 20px auto
    }

    header .nav_area .mainNav {
        width: calc(100% - 60px);
        height: auto;
        margin: 0;
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: flex-start
    }

    header .nav_area .mainNav li {
        width: 100%;
        height: auto;
        padding: 5px 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid #eaeaea
    }

    header .nav_area .mainNav li::after {
        bottom: 0;
        left: 0;
        width: 5px;
        height: 100%;
        transform: translateX(0)
    }

    header .nav_area .mainNav li a.pc_nav {
        display: none
    }

    header .nav_area .mainNav li .mb_nav {
        display: block;
        position: relative;
        width: 100%;
        padding: 5px 15px
    }

    header .nav_area .mainNav li .mb_nav .list {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center
    }

    header .nav_area .mainNav li .mb_nav .list a {
        position: relative;
        font-size: 1.125rem
    }

    header .nav_area .mainNav li .mb_nav .list img {
        position: relative;
        display: block;
        width: 100%;
        max-width: 20px;
        height: auto;
        transform: rotate(0deg);
        transition: transform .2s ease-out
    }

    header .nav_area .mainNav li .mb_nav .mbSub {
        position: relative;
        width: 100%;
        max-width: 1200px;
        margin: 20px auto;
        list-style: none;
        background-color: rgba(55, 63, 65, .1);
        display: none;
        flex-direction: column;
        justify-content: stretch;
        align-items: flex-start
    }

    header .nav_area .mainNav li .mb_nav .mbSub li {
        position: relative;
        padding: 15px 15px;
        align-items: flex-start;
        border-bottom: 1px solid #fff
    }

    header .nav_area .mainNav li .mb_nav .mbSub li a {
        width: 100%;
        color: #000;
        font-size: 1.125rem;
        font-weight: normal;
        text-decoration: none;
        transition: color .2s ease-out
    }

    header .nav_area .mainNav li .mb_nav .mbSub li a:hover {
        color: #f37229
    }

    header .nav_area .mainNav li .mb_nav .mbSub li a.delay {
        color: rgba(0, 0, 0, .4);
        pointer-events: none
    }

    header .nav_area .mainNav li .mb_nav .mbSub li ol {
        position: relative;
        width: 100%;
        list-style: none;
        padding: 15px 15px
    }

    header .nav_area .mainNav li .mb_nav .mbSub li ol li {
        padding: 15px 0;
        border: 0
    }

    header .nav_area .mainNav li .mb_nav .mbSub li ol li a {
        color: #757575
    }

    header .nav_area .mainNav li .mb_nav .mbSub li ol li a.delay {
        color: rgba(0, 0, 0, .2);
        pointer-events: none
    }

    header .nav_sub {
        display: none
    }

    footer {
        padding: 30px 0 !important
    }

    footer .container {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }

    footer .footer_info {
        flex: 0 0 auto;
        padding: 0 1.875rem
    }

    footer ul {
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: stretch
    }

    footer ul.footer_medialink {
        margin: 15px auto;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center
    }

    footer ul.footer_medialink li {
        padding: 15px
    }

    footer ul li {
        font-size: 1rem
    }

    footer ul li p {
        padding: 15px 25px;
        font-weight: bold
    }

    footer ul li a {
        position: relative;
        color: #fff;
        transition: color .2s ease-out
    }

    footer ul li a:hover {
        color: #f37229
    }

    footer ul li ol {
        padding: 10px 15px;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap
    }

    footer ul li ol li {
        padding: 10px 10px;
        line-height: 1.6
    }

    .modal .modal-dialog {
        max-width: 800px
    }

    .modal .modal-content {
        margin: 50px auto;
        padding: 10px 20px
    }

    .modal .modal-header .modal-title {
        font-size: 1.5rem
    }

    .modal .modal-header .sub {
        font-size: 1rem
    }

    .modal .modal-header .close {
        top: 20px;
        right: 20px
    }

    .modal .modal-body {
        font-size: 1rem;
        line-height: 1.5
    }

    .modal .modal-footer .ps {
        font-size: 1.125rem;
        margin: 0 0 20px 0;
        line-height: 1.3
    }

    .modal .modal-footer .btn {
        padding: 17px 40px;
        font-size: 1.5rem
    }
}

.controls {
    position: absolute;
    bottom: 10%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.sd_arrow {
    position: relative;
    width: 32px;
    height: 32px;
    background: center/contain no-repeat;
    cursor: pointer;
    filter: grayscale(1);
    transition: filter 300ms
}

.sd_arrow:hover {
    filter: grayscale(0)
}

.arr_prev {
    background-image: url("../../assets/images/icons/kv_arr_L.svg")
}

.arr_next {
    background-image: url("../../assets/images/icons/kv_arr_R.svg")
}

.sd_dots {
    flex: 0 0 auto;
    margin: 15px 6px;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center
}

.sd_dots li {
    margin: 0 6px;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #565656;
    line-height: 0;
    border-radius: 8px;
    height: 12px;
    width: 12px;
    overflow: hidden;
    transition: background 300ms, width 300ms
}

.sd_dots li:hover {
    background-color: rgba(86, 86, 86, .6)
}

.sd_dots li.slick-active {
    background-color: #565656;
    width: 24px
}

.sd_dots button {
    font-size: 0;
    opacity: 0
}

@media(max-width: 768px) {
    .controls {
        width: 90%
    }
}

@keyframes scaleInBounce {
    0% {
        -webkit-transform: matrix(1.1, 0, 0, 1.1, 0, 0);
        transform: matrix(1.1, 0, 0, 1.1, 0, 0)
    }

    3.4% {
        -webkit-transform: matrix(1.068, 0, 0, 1.059, 0, 0);
        transform: matrix(1.068, 0, 0, 1.059, 0, 0)
    }

    4.7% {
        -webkit-transform: matrix(1.055, 0, 0, 1.04, 0, 0);
        transform: matrix(1.055, 0, 0, 1.04, 0, 0)
    }

    6.81% {
        -webkit-transform: matrix(1.034, 0, 0, 1.011, 0, 0);
        transform: matrix(1.034, 0, 0, 1.011, 0, 0)
    }

    9.41% {
        -webkit-transform: matrix(1.012, 0, 0, 0.983, 0, 0);
        transform: matrix(1.012, 0, 0, 0.983, 0, 0)
    }

    10.21% {
        -webkit-transform: matrix(1.006, 0, 0, 0.977, 0, 0);
        transform: matrix(1.006, 0, 0, 0.977, 0, 0)
    }

    13.61% {
        -webkit-transform: matrix(0.988, 0, 0, 0.967, 0, 0);
        transform: matrix(0.988, 0, 0, 0.967, 0, 0)
    }

    14.11% {
        -webkit-transform: matrix(0.986, 0, 0, 0.967, 0, 0);
        transform: matrix(0.986, 0, 0, 0.967, 0, 0)
    }

    17.52% {
        -webkit-transform: matrix(0.979, 0, 0, 0.976, 0, 0);
        transform: matrix(0.979, 0, 0, 0.976, 0, 0)
    }

    18.72% {
        -webkit-transform: matrix(0.979, 0, 0, 0.981, 0, 0);
        transform: matrix(0.979, 0, 0, 0.981, 0, 0)
    }

    21.32% {
        -webkit-transform: matrix(0.98, 0, 0, 0.993, 0, 0);
        transform: matrix(0.98, 0, 0, 0.993, 0, 0)
    }

    24.32% {
        -webkit-transform: matrix(0.985, 0, 0, 1.004, 0, 0);
        transform: matrix(0.985, 0, 0, 1.004, 0, 0)
    }

    25.23% {
        -webkit-transform: matrix(0.987, 0, 0, 1.006, 0, 0);
        transform: matrix(0.987, 0, 0, 1.006, 0, 0)
    }

    29.03% {
        -webkit-transform: matrix(0.994, 0, 0, 1.01, 0, 0);
        transform: matrix(0.994, 0, 0, 1.01, 0, 0)
    }

    29.93% {
        -webkit-transform: matrix(0.995, 0, 0, 1.01, 0, 0);
        transform: matrix(0.995, 0, 0, 1.01, 0, 0)
    }

    35.54% {
        -webkit-transform: matrix(1.002, 0, 0, 1.004, 0, 0);
        transform: matrix(1.002, 0, 0, 1.004, 0, 0)
    }

    36.74% {
        -webkit-transform: matrix(1.003, 0, 0, 1.002, 0, 0);
        transform: matrix(1.003, 0, 0, 1.002, 0, 0)
    }

    41.04% {
        -webkit-transform: matrix(1.004, 0, 0, 0.998, 0, 0);
        transform: matrix(1.004, 0, 0, 0.998, 0, 0)
    }

    44.44% {
        -webkit-transform: matrix(1.003, 0, 0, 0.997, 0, 0);
        transform: matrix(1.003, 0, 0, 0.997, 0, 0)
    }

    52.15% {
        -webkit-transform: matrix(1.001, 0, 0, 0.999, 0, 0);
        transform: matrix(1.001, 0, 0, 0.999, 0, 0)
    }

    59.86% {
        -webkit-transform: matrix(0.999, 0, 0, 1.001, 0, 0);
        transform: matrix(0.999, 0, 0, 1.001, 0, 0)
    }

    63.26% {
        -webkit-transform: matrix(0.999, 0, 0, 1.001, 0, 0);
        transform: matrix(0.999, 0, 0, 1.001, 0, 0)
    }

    75.28% {
        -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
        transform: matrix(1, 0, 0, 1, 0, 0)
    }

    85.49% {
        -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
        transform: matrix(1, 0, 0, 1, 0, 0)
    }

    90.69% {
        -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
        transform: matrix(1, 0, 0, 1, 0, 0)
    }

    100% {
        -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
        transform: matrix(1, 0, 0, 1, 0, 0)
    }
}

@keyframes scaleOutBounce {
    0% {
        -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
        transform: matrix(1, 0, 0, 1, 0, 0)
    }

    3.4% {
        -webkit-transform: matrix(1.032, 0, 0, 1.041, 0, 0);
        transform: matrix(1.032, 0, 0, 1.041, 0, 0)
    }

    4.7% {
        -webkit-transform: matrix(1.045, 0, 0, 1.06, 0, 0);
        transform: matrix(1.045, 0, 0, 1.06, 0, 0)
    }

    6.81% {
        -webkit-transform: matrix(1.066, 0, 0, 1.089, 0, 0);
        transform: matrix(1.066, 0, 0, 1.089, 0, 0)
    }

    9.41% {
        -webkit-transform: matrix(1.088, 0, 0, 1.117, 0, 0);
        transform: matrix(1.088, 0, 0, 1.117, 0, 0)
    }

    10.21% {
        -webkit-transform: matrix(1.094, 0, 0, 1.123, 0, 0);
        transform: matrix(1.094, 0, 0, 1.123, 0, 0)
    }

    13.61% {
        -webkit-transform: matrix(1.112, 0, 0, 1.133, 0, 0);
        transform: matrix(1.112, 0, 0, 1.133, 0, 0)
    }

    14.11% {
        -webkit-transform: matrix(1.114, 0, 0, 1.133, 0, 0);
        transform: matrix(1.114, 0, 0, 1.133, 0, 0)
    }

    17.52% {
        -webkit-transform: matrix(1.121, 0, 0, 1.124, 0, 0);
        transform: matrix(1.121, 0, 0, 1.124, 0, 0)
    }

    18.72% {
        -webkit-transform: matrix(1.121, 0, 0, 1.119, 0, 0);
        transform: matrix(1.121, 0, 0, 1.119, 0, 0)
    }

    21.32% {
        -webkit-transform: matrix(1.12, 0, 0, 1.107, 0, 0);
        transform: matrix(1.12, 0, 0, 1.107, 0, 0)
    }

    24.32% {
        -webkit-transform: matrix(1.115, 0, 0, 1.096, 0, 0);
        transform: matrix(1.115, 0, 0, 1.096, 0, 0)
    }

    25.23% {
        -webkit-transform: matrix(1.113, 0, 0, 1.094, 0, 0);
        transform: matrix(1.113, 0, 0, 1.094, 0, 0)
    }

    29.03% {
        -webkit-transform: matrix(1.106, 0, 0, 1.09, 0, 0);
        transform: matrix(1.106, 0, 0, 1.09, 0, 0)
    }

    29.93% {
        -webkit-transform: matrix(1.105, 0, 0, 1.09, 0, 0);
        transform: matrix(1.105, 0, 0, 1.09, 0, 0)
    }

    35.54% {
        -webkit-transform: matrix(1.098, 0, 0, 1.096, 0, 0);
        transform: matrix(1.098, 0, 0, 1.096, 0, 0)
    }

    36.74% {
        -webkit-transform: matrix(1.097, 0, 0, 1.098, 0, 0);
        transform: matrix(1.097, 0, 0, 1.098, 0, 0)
    }

    41.04% {
        -webkit-transform: matrix(1.096, 0, 0, 1.102, 0, 0);
        transform: matrix(1.096, 0, 0, 1.102, 0, 0)
    }

    44.44% {
        -webkit-transform: matrix(1.097, 0, 0, 1.103, 0, 0);
        transform: matrix(1.097, 0, 0, 1.103, 0, 0)
    }

    52.15% {
        -webkit-transform: matrix(1.099, 0, 0, 1.101, 0, 0);
        transform: matrix(1.099, 0, 0, 1.101, 0, 0)
    }

    59.86% {
        -webkit-transform: matrix(1.101, 0, 0, 1.099, 0, 0);
        transform: matrix(1.101, 0, 0, 1.099, 0, 0)
    }

    63.26% {
        -webkit-transform: matrix(1.101, 0, 0, 1.099, 0, 0);
        transform: matrix(1.101, 0, 0, 1.099, 0, 0)
    }

    75.28% {
        -webkit-transform: matrix(1.1, 0, 0, 1.1, 0, 0);
        transform: matrix(1.1, 0, 0, 1.1, 0, 0)
    }

    85.49% {
        -webkit-transform: matrix(1.1, 0, 0, 1.1, 0, 0);
        transform: matrix(1.1, 0, 0, 1.1, 0, 0)
    }

    90.69% {
        -webkit-transform: matrix(1.1, 0, 0, 1.1, 0, 0);
        transform: matrix(1.1, 0, 0, 1.1, 0, 0)
    }

    100% {
        -webkit-transform: matrix(1.1, 0, 0, 1.1, 0, 0);
        transform: matrix(1.1, 0, 0, 1.1, 0, 0)
    }
}

@keyframes notbed {
    0% {
        opacity: .7
    }

    2.5% {
        opacity: 1
    }

    5% {
        opacity: .7
    }

    7.5% {
        opacity: .95
    }

    10% {
        opacity: .95
    }

    15% {
        opacity: .7
    }

    20% {
        opacity: 1
    }

    25% {
        opacity: .7
    }

    30% {
        opacity: 1
    }

    100% {
        opacity: .95
    }
}

.heehee {
    animation-name: notbed;
    animation-duration: 2s;
    animation-delay: 0;
    animation-iteration-count: infinite;
    animation-timing-function: steps(40);
    animation-direction: alternate;
    animation-play-state: running;
    white-space: nowrap;
    animation-fill-mode: both;
    z-index: 1
}

@keyframes timeLinePoint {
    0% {
        transform: scale(1);
        opacity: 0
    }

    50% {
        transform: scale(1.5);
        opacity: .8
    }

    100% {
        transform: scale(1);
        opacity: 0
    }
}

@keyframes float {
    0% {
        transform: scale(1) translate(0)
    }

    30% {
        transform: scale(1.05) translateY(15px)
    }

    80% {
        transform: scale(1) translate(0)
    }

    100% {
        transform: scale(1.05) translate(0)
    }
}

@keyframes awardBoxUD_1 {
    0% {
        transform: translateY(0px)
    }

    50% {
        transform: translateY(-50px)
    }

    100% {
        transform: translateY(0px)
    }
}

@keyframes awardBoxUD_2 {
    0% {
        transform: translateY(0px)
    }

    50% {
        transform: translateY(-20px)
    }

    100% {
        transform: translateY(0px)
    }
}

@keyframes awardCntBoxUD_1 {
    0% {
        transform: translateY(0px) scale(1) rotate(0deg)
    }

    50% {
        transform: translateY(-20px) scale(0.95) rotate(3deg)
    }

    100% {
        transform: translateY(0px) scale(1) rotate(0deg)
    }
}

@keyframes awardBoxRotating_1 {
    0% {
        transform: rotate3d(1, 2, 0, 0deg)
    }

    100% {
        transform: rotate3d(1, 2, 0, 360deg)
    }
}

@keyframes awardBoxRotating_2 {
    0% {
        transform: rotate3d(2, 1, 0, 0)
    }

    100% {
        transform: rotate3d(2, -1, -1, 1turn)
    }
}

@keyframes awardBoxRotating_3 {
    0% {
        transform: rotate3d(1, 1, 1, 0)
    }

    100% {
        transform: rotate3d(1, 1, 1, 1turn)
    }
}

@keyframes award_float {
    0% {
        transform: scale(1) translate(0)
    }

    50% {
        transform: scale(1.02) translate(0)
    }

    100% {
        transform: scale(1) translate(0)
    }
}

@keyframes award_flash {
    0% {
        transform: scale(1) translate(0);
        filter: brightness(100%)
    }

    50% {
        transform: scale(1.02) translate(0);
        filter: brightness(200%)
    }

    100% {
        transform: scale(1) translate(0);
        filter: brightness(100%)
    }
}

@keyframes award_float_3 {
    0% {
        transform: scale(1) translateY(0px) rotate(0deg)
    }

    50% {
        transform: scale(1) translateY(30px) rotate(-5deg)
    }

    100% {
        transform: scale(1) translateY(0px) rotate(0deg)
    }
}

@keyframes award_float_4 {
    0% {
        transform: scale(1) translateY(-30px) rotate(0deg)
    }

    50% {
        transform: scale(1) translateY(0px) rotate(5deg)
    }

    100% {
        transform: scale(1) translateY(-30px) rotate(0deg)
    }
}

@keyframes award_float_5 {
    0% {
        transform: scale(1) translateY(-100px) rotate(0deg)
    }

    50% {
        transform: scale(1) translateY(-120px) rotate(5deg)
    }

    100% {
        transform: scale(1) translateY(-100px) rotate(0deg)
    }
}

@keyframes video_float_1 {
    0% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.5)
    }

    100% {
        transform: scale(1)
    }
}

@keyframes video_flash {
    0% {
        transform: scale(1) translate(0);
        filter: brightness(100%)
    }

    50% {
        transform: scale(1.02) translate(0);
        filter: brightness(200%)
    }

    100% {
        transform: scale(1) translate(0);
        filter: brightness(100%)
    }
}

@keyframes video_float_2 {
    0% {
        transform: scale(1) translateY(0px) rotate(0deg)
    }

    50% {
        transform: scale(1) translateY(30px) rotate(-5deg)
    }

    100% {
        transform: scale(1) translateY(0px) rotate(0deg)
    }
}

@keyframes video_float_3 {
    0% {
        transform: scale(1) translateY(-30px) rotate(0deg)
    }

    50% {
        transform: scale(1) translateY(0px) rotate(5deg)
    }

    100% {
        transform: scale(1) translateY(-30px) rotate(0deg)
    }
}

@keyframes video_float_4 {
    0% {
        transform: scale(1) translateY(0px) rotate(0deg)
    }

    50% {
        transform: scale(1.03) translateY(0px) rotate(-3deg)
    }

    100% {
        transform: scale(1) translateY(0px) rotate(0deg)
    }
}

@keyframes giftFade {
    0% {
        transform: scale(1) translate(-50%, -50%) rotate(0deg);
        opacity: 1
    }

    20% {
        transform: scale(1) translate(60%, -50%) rotate(360deg);
        opacity: 1
    }

    60% {
        transform: scale(1) translate(60%, -50%) rotate(360deg);
        opacity: 1
    }

    80% {
        transform: scale(1) translate(-50%, -50%) rotate(0deg);
        opacity: 1
    }

    100% {
        transform: scale(1) translate(-50%, -50%) rotate(0deg);
        opacity: 1
    }
}

@keyframes train_bg_ani {
    0% {
        transform: scale(1);
        filter: contrast(100%) brightness(100%);
        opacity: 1
    }

    20% {
        transform: scale(1.03) rotate(2deg);
        filter: contrast(200%) brightness(200%);
        opacity: .5
    }

    100% {
        transform: scale(1);
        filter: contrast(100%) brightness(100%);
        opacity: .3
    }
}

@keyframes video_dot_rota {
    0% {
        transform: rotate(0deg) scale(1);
        filter: contrast(100%) brightness(100%)
    }

    33% {
        transform: rotate(-120deg) scale(1.2);
        filter: contrast(200%) brightness(200%)
    }

    66% {
        transform: rotate(-240deg) scale(0.8);
        filter: contrast(70%) brightness(70%)
    }

    100% {
        transform: rotate(-360deg) scale(1);
        filter: contrast(100%) brightness(100%)
    }
}

@keyframes video_ball_rota {
    0% {
        transform: rotate(0deg) scale(1);
        filter: contrast(100%) brightness(100%)
    }

    33% {
        transform: rotate(120deg) scale(1.2);
        filter: contrast(150%) brightness(150%)
    }

    66% {
        transform: rotate(240deg) scale(0.9);
        filter: contrast(70%) brightness(70%)
    }

    100% {
        transform: rotate(360deg) scale(1);
        filter: contrast(100%) brightness(100%)
    }
}

@keyframes video_ball_rota_2024 {
    0% {
        transform: rotate(0deg) scale(0.8);
        filter: contrast(100%) brightness(100%)
    }

    23% {
        transform: rotate(177deg) scale(0.8);
        filter: contrast(150%) brightness(150%)
    }

    25% {
        transform: rotate(180deg) scale(1.1);
        filter: contrast(150%) brightness(150%)
    }

    48% {
        transform: rotate(199deg) scale(1.1);
        filter: contrast(150%) brightness(150%)
    }

    50% {
        transform: rotate(200deg) scale(0.8);
        filter: contrast(100%) brightness(100%)
    }

    73% {
        transform: rotate(338deg) scale(0.8);
        filter: contrast(100%) brightness(100%)
    }

    75% {
        transform: rotate(340deg) scale(1.1);
        filter: contrast(150%) brightness(150%)
    }

    98% {
        transform: rotate(359deg) scale(1.1);
        filter: contrast(150%) brightness(150%)
    }

    100% {
        transform: rotate(360deg) scale(0.8);
        filter: contrast(100%) brightness(100%)
    }
}

@keyframes video_laser_rota {
    0% {
        transform: rotate(0deg) scale(1);
        filter: contrast(100%) brightness(100%);
        opacity: 0
    }

    20% {
        opacity: 0
    }

    25% {
        opacity: 1
    }

    33% {
        transform: rotate(120deg) scale(1.2);
        filter: contrast(150%) brightness(150%)
    }

    50% {
        opacity: 1
    }

    55% {
        opacity: 0
    }

    66% {
        transform: rotate(240deg) scale(0.9);
        filter: contrast(70%) brightness(70%)
    }

    70% {
        opacity: 0
    }

    75% {
        opacity: 1
    }

    90% {
        opacity: 1
    }

    100% {
        transform: rotate(360deg) scale(1);
        filter: contrast(100%) brightness(100%);
        opacity: 0
    }
}

@keyframes video_head_rota {
    0% {
        transform: rotate3d(0, 0, 0, 0deg) scaleY(1) translateY(0)
    }

    33% {
        transform: rotate3d(1, 0, 0, 20deg) scaleY(1.1) translateY(0)
    }

    66% {
        transform: rotate3d(1, 0, 0, 5deg) scaleY(1) translateY(0)
    }

    100% {
        transform: rotate3d(0, 0, 0, 0deg) scaleY(1) translateY(0)
    }
}

@keyframes kv_glow {
    0% {
        transform: rotate(0deg)
    }

    50% {
        transform: rotate(180deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes kv_cir_rota {
    0% {
        transform: rotate(0deg);
        filter: contrast(100%) brightness(100%)
    }

    100% {
        filter: contrast(200%) brightness(200%)
    }

    100% {
        transform: rotate(360deg);
        filter: contrast(100%) brightness(100%)
    }
}

@keyframes moveNum {
    0% {
        background-position: 0% 0%
    }

    100% {
        background-position: 100% 0%
    }
}

@keyframes moveLucturerNum {
    0% {
        background-position: 0% 0%
    }

    100% {
        background-position: 116% 0%
    }
}

@keyframes showBox {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes kv_btn {
    0% {
        transform: translateY(0)
    }

    10% {
        transform: translateY(-15px)
    }

    20% {
        transform: translateY(0)
    }

    28% {
        transform: translateY(-10px)
    }

    35% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(0)
    }
}

[data-aos=setEvent] {
    opacity: 1
}

[data-aos=setEvent].aos-animate {
    opacity: 1
}

@keyframes intro_rotate {
    0% {
        transform: translateY(-50%) rotate(0deg) scale(1.2)
    }

    0% {
        transform: translateY(-50%) rotate(-180deg) scale(1.5)
    }

    100% {
        transform: translateY(-50%) rotate(-360deg) scale(1.2)
    }
}

@keyframes light_rotate {
    0% {
        transform: translateY(-50%) rotate(0deg) scale(1)
    }

    0% {
        transform: translateY(-50%) rotate(180deg) scale(1.2)
    }

    100% {
        transform: translateY(-50%) rotate(360deg) scale(1)
    }
}

@keyframes kv_mask {
    0% {
        transform: scale(1) rotate(0deg);
        opacity: 1
    }

    25% {
        opacity: .5
    }

    50% {
        transform: scale(1.1) rotate(3deg);
        opacity: 1
    }

    75% {
        opacity: .5
    }

    100% {
        transform: scale(1) rotate(0deg);
        opacity: 1
    }
}

@keyframes kv_mask {
    0% {
        transform: scale(1) rotate(0deg);
        opacity: 1
    }

    25% {
        opacity: .5
    }

    50% {
        transform: scale(1.03) rotate(2deg);
        opacity: 1
    }

    75% {
        opacity: .5
    }

    100% {
        transform: scale(1) rotate(0deg);
        opacity: 1
    }
}

@keyframes kv_light_blink_BL {
    0% {
        transform: translateX(-20%) scale(1);
        opacity: 0
    }

    5% {
        opacity: 1
    }

    50% {
        transform: translateX(-20%) scale(1.3) rotate(5deg)
    }

    95% {
        opacity: 1
    }

    100% {
        transform: translateX(-20%) scale(1);
        opacity: 0
    }
}

@keyframes kv_light_blink_SL {
    0% {
        transform: translateX(-20%) scale(1);
        filter: brightness(100%);
        opacity: 0
    }

    25% {
        opacity: 1
    }

    50% {
        transform: translateX(-20%) scale(1.1);
        filter: brightness(50%)
    }

    95% {
        opacity: 1
    }

    100% {
        transform: translateX(-20%) scale(1);
        filter: brightness(100%);
        opacity: 0
    }
}

@keyframes kv_light_blink_1 {
    0% {
        transform: translateX(-20%) scale(1);
        filter: brightness(100%)
    }

    50% {
        transform: translateX(-20%) scale(1.1);
        filter: brightness(150%)
    }

    100% {
        transform: translateX(-20%) scale(1);
        filter: brightness(100%)
    }
}

@keyframes kv_light_blink_2 {
    0% {
        transform: translateX(-20%) scale(1);
        filter: brightness(100%)
    }

    50% {
        transform: translateX(-20%) scale(1.8);
        filter: brightness(150%)
    }

    100% {
        transform: translateX(-20%) scale(1);
        filter: brightness(100%)
    }
}

@keyframes kv_light_blink_3 {
    0% {
        transform: translateX(-20%) scale(1);
        filter: brightness(100%);
        opacity: 0
    }

    10% {
        opacity: 1
    }

    50% {
        transform: translateX(-20%) scale(1.8);
        filter: brightness(150%)
    }

    95% {
        opacity: 1
    }

    100% {
        transform: translateX(-20%) scale(1);
        filter: brightness(100%);
        opacity: 0
    }
}

@keyframes kv_line_mvoe {
    0% {
        transform: translateX(-20%) scale(1)
    }

    50% {
        transform: translateX(-20%) scale(1.3) rotate(-5deg)
    }

    100% {
        transform: translateX(-20%) scale(1)
    }
}

@keyframes kv_line_mvoe_r {
    0% {
        transform: translateX(-20%) scale(1)
    }

    50% {
        transform: translateX(-20%) scale(1.3) rotate(5deg)
    }

    100% {
        transform: translateX(-20%) scale(1)
    }
}

@keyframes kv_bg_s {
    0% {
        transform: translateX(-20%) scale(1)
    }

    40% {
        transform: translateX(-40%) scaleX(2)
    }

    70% {
        transform: translateX(-10%) scaleX(3)
    }

    100% {
        transform: translateX(-20%) scale(1)
    }
}

@keyframes kv_line_1 {
    0% {
        transform: translateX(-20%) scale(1)
    }

    50% {
        transform: translateX(-20%) scale(1.5) rotate(-5deg)
    }

    100% {
        transform: translateX(-20%) scale(1)
    }
}

@keyframes kv_line_2 {
    0% {
        transform: translateX(-20%) scale(1)
    }

    50% {
        transform: translateX(-20%) scale(1.1) rotate(0deg)
    }

    100% {
        transform: translateX(-20%) scale(1)
    }
}

@keyframes kv_line_goseBy {
    0% {
        transform: translate(-20%, 1%) scale(1.1);
        opacity: 0
    }

    10% {
        opacity: 1
    }

    95% {
        transform: translate(-20%, 40%) scale(4) rotate(0deg);
        opacity: 0
    }

    95.5% {
        transform: translate(-20%, 0%) scale(1) rotate(0deg);
        opacity: 0
    }

    100% {
        transform: translate(-20%, 1%) scale(1.1);
        opacity: 0
    }
}

@media(max-width: 768px) {
    @keyframes light_rotate {
        0% {
            transform: translateY(-50%) rotate(0deg) scale(1.2)
        }

        0% {
            transform: translateY(-50%) rotate(180deg) scale(1.4)
        }

        100% {
            transform: translateY(-50%) rotate(360deg) scale(1.2)
        }
    }
}

#home .kv {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: auto;
    background-color: #f1f1f1;
    overflow: hidden
}

#home .kv_slick {
    position: relative;
    width: 100%
}

#home .kv_slick .item img {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block
}

#home .kv_slick .item img.pc_kv {
    display: block
}

#home .kv_slick .item img.mb_kv {
    display: none
}

#home .kv .sd_dots {
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%)
}

#home .kv .controls {
    position: absolute;
    bottom: 22px;
    width: 160px;
    left: 50%;
    transform: translateX(-50%)
}

#home .kv .sd_arrow {
    width: 10px;
    height: 20px;
    background: center/100% 100% no-repeat
}

#home .kv .arr_prev {
    background-image: url("../../assets/images/icons/kv_arr_L.svg")
}

#home .kv .arr_next {
    background-image: url("../../assets/images/icons/kv_arr_R.svg")
}

#home .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#home .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#home .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #f37229
}

#home .news {
    position: relative;
    padding: 60px 0
}

#home .news_cnt {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 60px auto;
    background-color: #fefefe
}

#home .news_cnt .more_btn {
    position: absolute;
    top: -30px;
    right: 0;
    box-sizing: border-box;
    padding: 3px 5px;
    border-bottom: 1px solid #9e4a00;
    font-size: 1rem;
    font-weight: bold
}

#home .news_cnt .more_btn a {
    color: #9e4a00;
    text-decoration: none
}

#home .news_cnt .lists {
    position: relative;
    width: 100%;
    padding: 0 25px
}

#home .news_cnt .lists .list {
    position: relative;
    padding: 30px 0;
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 300;
    color: #000;
    border-bottom: 1px solid #e2e2e2;
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#home .news_cnt .lists .list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(241, 241, 241, 0), rgba(241, 241, 241, 0.5), rgba(241, 241, 241, 0));
    opacity: 0;
    transition: opacity .2s ease-out;
    z-index: 0
}

#home .news_cnt .lists .list div {
    position: relative;
    z-index: 1
}

#home .news_cnt .lists .list div.w {
    margin: 0 0 0 25px
}

#home .news_cnt .lists .list:last-child {
    border: 0
}

#home .news_cnt .lists .list:hover::before {
    opacity: 1
}

#home .shortcut_icon {
    position: relative;
    padding: 30px 0;
    background-color: #4a4a4a
}

#home .shortcut_icon .items {
    position: relative;
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0px
}

#home .shortcut_icon .items .item {
    position: relative;
    flex: 0 0 25%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center
}

#home .shortcut_icon .items .item .icon {
    position: relative;
    width: 100%;
    max-width: 130px;
    border-radius: 99%;
    background-color: #686868;
    padding: 20px;
    box-shadow: 0 0 0 rgba(0, 0, 0, .4);
    transition: box-shadow .2s ease-out
}

#home .shortcut_icon .items .item .icon img {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block
}

#home .shortcut_icon .items .item .w {
    position: relative;
    margin: 10px auto;
    font-size: 1rem;
    color: #fff;
    text-decoration: none;
    text-shadow: 0 0 0 hsla(0, 0%, 100%, .4);
    transition: text-shadow .2s ease-out
}

#home .shortcut_icon .items .item:hover .icon {
    box-shadow: 0 3px 10px rgba(0, 0, 0, .4)
}

#home .shortcut_icon .items .item:hover .w {
    text-shadow: 0 2px 5px hsla(0, 0%, 100%, .4)
}

#home .shortcut_card {
    position: relative;
    padding: 40px 0;
    background-color: #fafafa
}

#home .shortcut_card .cards {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 20px
}

#home .shortcut_card .cards .card {
    position: relative;
    flex: 0 0 25%;
    max-width: 270px;
    background-color: #dcdcdc;
    border: 0
}

#home .shortcut_card .cards .card .pic {
    position: relative;
    width: 100%
}

#home .shortcut_card .cards .card .pic img {
    position: relative;
    width: 100%;
    height: auto;
    display: block
}

#home .shortcut_card .cards .card .t {
    position: relative;
    width: 100%;
    padding: 20px 0 10px;
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold
}

#home .shortcut_card .cards .card .t::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 25px;
    height: 1px;
    background-color: #000
}

#home .shortcut_card .cards .card ul {
    position: relative;
    width: 100%;
    padding: 20px;
    list-style: none
}

#home .shortcut_card .cards .card ul li {
    position: relative;
    width: 100%;
    margin: 0 0 15px;
    text-align: center
}

#home .shortcut_card .cards .card ul li:last-child {
    margin: 0
}

#home .shortcut_card .cards .card ul li a {
    position: relative;
    font-size: 1.125rem;
    font-weight: 300;
    color: #000
}

#home .bottom_banner {
    position: relative;
    margin: 30px 0;
    width: 100vw;
    height: auto;
    background-color: #f1f1f1;
    overflow: hidden
}

#home .bottom_banner_slick {
    position: relative;
    width: 100%
}

#home .bottom_banner_slick .item img {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block
}

#home .bottom_banner .sd_dots {
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%)
}

#home .bottom_banner .controls {
    position: absolute;
    bottom: 22px;
    width: 160px;
    left: 50%;
    transform: translateX(-50%)
}

#home .bottom_banner .sd_arrow {
    width: 10px;
    height: 20px;
    background: center/100% 100% no-repeat
}

#home .bottom_banner .arr_prev {
    background-image: url("../../assets/images/icons/kv_arr_L.svg")
}

#home .bottom_banner .arr_next {
    background-image: url("../../assets/images/icons/kv_arr_R.svg")
}

#home .sc_logos {
    position: relative;
    padding: 40px 0
}

#home .sc_logos .logos {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 60px
}

#home .sc_logos .logos .logo {
    position: relative;
    padding: 10px 20px;
    border-radius: 10px;
    box-shadow: 0 0 0 rgba(0, 0, 0, .4);
    transition: all .2s ease-out
}

#home .sc_logos .logos .logo img {
    position: relative;
    width: auto;
    height: 25px;
    display: block
}

#home .sc_logos .logos .logo:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, .4)
}

@media(max-width: 1600px) {
    #home .kv {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #home .kv {
        margin: 0
    }

    #home .kv_slick .item img.pc_kv {
        display: none
    }

    #home .kv_slick .item img.mb_kv {
        display: block
    }

    #home .kv .sd_dots {
        bottom: 0px
    }

    #home .kv .controls {
        bottom: 10px;
        width: 160px
    }

    #home .kv .sd_arrow {
        width: 10px;
        height: 20px
    }

    #home .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #home .news {
        padding: 40px 0 20px
    }

    #home .news_cnt {
        margin: 30px auto
    }

    #home .news_cnt .lists {
        padding: 0 15px
    }

    #home .news_cnt .lists .list {
        padding: 20px 0;
        font-size: 1rem;
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    #home .news_cnt .lists .list div.w {
        margin: 0 0 0 15px
    }

    #home .shortcut_icon {
        padding: 30px 0
    }

    #home .shortcut_icon .items {
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 0px
    }

    #home .shortcut_icon .items .item {
        position: relative;
        flex: 0 0 50%;
        padding: 20px
    }

    #home .shortcut_icon .items .item .icon {
        max-width: 130px;
        padding: 20px
    }

    #home .shortcut_icon .items .item .w {
        margin: 10px auto;
        font-size: 1rem
    }

    #home .shortcut_card {
        padding: 40px 0 30px
    }

    #home .shortcut_card .cards {
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: center;
        gap: 20px
    }

    #home .shortcut_card .cards .card {
        flex: 0 0 25%;
        max-width: 270px
    }

    #home .shortcut_card .cards .card .t {
        padding: 20px 0 10px;
        font-size: 1.25rem
    }

    #home .shortcut_card .cards .card ul {
        padding: 20px
    }

    #home .shortcut_card .cards .card ul li {
        margin: 0 0 15px
    }

    #home .shortcut_card .cards .card ul li a {
        font-size: 1.125rem
    }

    #home .bottom_banner {
        margin: 30px 0;
        width: 100vw
    }

    #home .bottom_banner .sd_dots {
        bottom: 0px
    }

    #home .bottom_banner .controls {
        bottom: 10px;
        width: 160px
    }

    #home .bottom_banner .sd_arrow {
        width: 10px;
        height: 20px
    }

    #home .sc_logos {
        padding: 30px 0
    }

    #home .sc_logos .logos {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 25px
    }

    #home .sc_logos .logos .logo {
        padding: 5px 15px
    }

    #home .sc_logos .logos .logo img {
        height: 20px
    }
}

#ir .TP {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: 150px;
    background: url(../../assets/images/layout/title_bg.jpg) center/cover no-repeat;
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#ir .TP_w {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    font-size: 2.25rem;
    font-weight: normal;
    color: #000;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#ir .TP_w .sq {
    position: relative;
    width: 45px;
    height: 20px;
    margin: 0 20px 0 0;
    clip-path: polygon(0 0, 100% 0, 75% 100%, 0% 100%);
    background-color: #ff8f00
}

#ir .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#ir .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#ir .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #f37229
}

#ir .intro {
    position: relative;
    width: 100%;
    padding: 60px 0;
    background-color: #fff
}

#ir .intro .w {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 30px auto;
    font-size: 1rem;
    color: #000;
    line-height: 1.6
}

#ir .table_area {
    position: relative;
    width: 100%;
    padding: 40px 0
}

#ir .table {
    position: relative;
    width: 100%;
    padding: 40px 0
}

#ir .table.stock .r {
    background: url(../../assets/images/layout/stock_bg.jpg) center/cover no-repeat
}

#ir .table.stock .r .c {
    justify-content: center
}

#ir .table.stock .r .c p {
    font-size: 1.125rem;
    font-weight: normal
}

#ir .table.stock .r .c:first-child {
    flex: 0 1 auto
}

#ir .table.stock .r .c:first-child p {
    padding: 50px 60px
}

#ir .table.stock .r .c:last-child {
    align-items: flex-end
}

#ir .table.stock .r .c:last-child .btn {
    margin: 0 60px 0 0
}

#ir .table.row_2 .r .c:first-child {
    flex: 0 1 auto
}

#ir .table.row_2 .r .c:first-child p {
    padding: 25px 35px
}

#ir .table.row_2 .r .c:last-child {
    align-items: flex-end
}

#ir .table.row_2 .r .c:last-child .download p {
    padding: 25px 35px 25px 0
}

#ir .table .m {
    position: relative;
    width: 100%;
    padding: 15px 0;
    display: flex;
    justify-content: space-between;
    align-items: center
}

#ir .table .m .tit {
    position: relative;
    padding: 5px 10px;
    font-size: 1.375rem;
    color: #000
}

#ir .table .m .chooseYear {
    position: relative;
    padding: 5px 50px 5px 10px;
    font-size: 1rem
}

#ir .table .table_cnt {
    position: relative;
    width: 100%
}

#ir .table .QA {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: stretch;
    background-color: #fff;
    font-size: 1rem;
    color: #000;
    line-height: 1.6
}

#ir .table .QA::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #ff8f00, 200px, #ff8f00, 200px, #888888);
    opacity: 0
}

#ir .table .QA:first-child::after {
    opacity: 1
}

#ir .table .QA:last-child .Q::after {
    opacity: 0
}

#ir .table .QA .Q {
    position: relative;
    width: 100%;
    padding: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer
}

#ir .table .QA .Q p {
    position: relative;
    flex: 1 0 0
}

#ir .table .QA .Q img {
    position: relative;
    width: 100%;
    margin: 0 0 0 15px;
    max-width: 15px;
    height: auto;
    display: block;
    transform: rotate(0deg);
    transition: all .2s ease-out
}

#ir .table .QA .Q::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    height: 1px;
    background-color: #e2e2e2
}

#ir .table .QA .A {
    position: relative;
    width: 100%;
    padding: 25px 80px 25px 25px;
    color: #757575;
    background-color: #fafafa;
    display: none
}

#ir .table .r {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: stretch;
    background-color: #fff
}

#ir .table .r::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - 40px);
    height: 1px;
    background-color: #e2e2e2;
    transform: translateX(-50%)
}

#ir .table .r:last-child::after {
    opacity: 0
}

#ir .table .r:first-child .c {
    border-top: 1px solid #888
}

#ir .table .r:first-child .c:first-child {
    border-top: 1px solid #ff8f00
}

#ir .table .r:first-child .c h4 {
    display: block
}

#ir .table .r .c {
    position: relative;
    flex: 1 0 0;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: normal;
    color: #000;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center
}

#ir .table .r .c h4 {
    position: relative;
    width: 100%;
    padding: 25px 15px;
    background-color: #e9e9e9;
    display: none
}

#ir .table .r .c p {
    position: relative;
    padding: 25px 15px;
    font-weight: 300
}

#ir .table .r .c .download {
    position: relative;
    display: flex;
    flex-direction: row;
    color: #000
}

#ir .table .r .c .download img {
    position: relative;
    width: 100%;
    max-width: 20px;
    height: auto;
    display: block;
    margin: 0 10px 0 0
}

#ir .table .r .c .download p {
    padding: 25px 0
}

#ir .table .r .c .btn {
    position: relative;
    padding: 0;
    border-radius: 35px;
    border: 1px solid #000;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: all .2s ease-out
}

#ir .table .r .c .btn p {
    padding: 5px 25px;
    transition: all .2s ease-out
}

#ir .table .r .c .btn:hover {
    background-color: #888
}

#ir .table .r .c .btn:hover p {
    color: #fff
}

#ir .contact {
    position: relative;
    width: 100%;
    padding: 40px 0;
    background-color: #fafafa
}

#ir .contact .tit {
    position: relative;
    padding: 15px 10px;
    font-size: 1.375rem;
    color: #000
}

#ir .contact_cnt {
    position: relative;
    width: 100%;
    padding: 20px 30px
}

#ir .contact_cnt::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #ff8f00, 200px, #ff8f00, 200px, #888888);
    opacity: 1
}

#ir .contact_cnt .items {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: stretch
}

#ir .contact_cnt .items .item {
    position: relative;
    flex: 0 1 33%;
    padding: 15px 25px;
    font-size: 1rem;
    font-weight: normal
}

#ir .contact_cnt .items .item .t {
    position: relative;
    width: 100%;
    font-size: 1.125rem;
    font-weight: normal;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#ir .contact_cnt .items .item .t .sq {
    position: relative;
    width: 25px;
    height: 12px;
    margin: 0 20px 0 0;
    clip-path: polygon(0 0, 100% 0, 75% 100%, 0% 100%);
    background-color: #ff8f00
}

#ir .contact_cnt .items .item .s {
    position: relative;
    margin: 35px 0 20px
}

#ir .contact_cnt .items .item .w {
    position: relative;
    margin: 0 0 15px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    font-weight: 300
}

#ir .contact_cnt .items .item .w a {
    color: #000
}

@media(max-width: 1600px) {
    #ir .TP {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #ir .TP {
        margin: 0;
        height: 150px;
        display: flex;
        justify-content: center;
        align-items: center
    }

    #ir .TP_w {
        padding: 0 25px;
        font-size: 2.25rem;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #ir .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #ir .intro {
        padding: 30px 0;
        background-color: #fff
    }

    #ir .intro .w {
        margin: 20px auto
    }

    #ir .table_area {
        padding: 20px 0
    }

    #ir .table {
        padding: 20px 0
    }

    #ir .table.stock .r .c p {
        font-size: 1.375rem
    }

    #ir .table.stock .r .c:first-child {
        flex: 0 1 auto
    }

    #ir .table.stock .r .c:first-child p {
        padding: 30px 15px
    }

    #ir .table.stock .r .c:last-child .btn {
        margin: 0 0 30px 0
    }

    #ir .table.stock .r .c:last-child .btn p {
        font-size: 1.25rem
    }

    #ir .table.row_2 .r {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch
    }

    #ir .table.row_2 .r .c:first-child {
        flex: 0 1 auto
    }

    #ir .table.row_2 .r .c:first-child p {
        padding: 15px 15px
    }

    #ir .table.row_2 .r .c:last-child {
        justify-content: flex-end
    }

    #ir .table.row_2 .r .c:last-child p {
        padding: 15px 15px 15px 0
    }

    #ir .table .m {
        padding: 5px 0;
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: flex-start
    }

    #ir .table .m .tit {
        width: 100%;
        padding: 10px 10px;
        font-size: 1.5rem;
        color: #000
    }

    #ir .table .m .chooseYear {
        width: 100%;
        padding: 5px 10px;
        font-size: 1.125rem
    }

    #ir .table .QA::after {
        background: linear-gradient(90deg, #ff8f00, 100px, #ff8f00, 100px, #888888)
    }

    #ir .table .QA .Q {
        padding: 15px
    }

    #ir .table .QA .A {
        padding: 15px 40px 15px 25px
    }

    #ir .table .r {
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: stretch;
        background-color: #fff
    }

    #ir .table .r::after {
        width: 100%;
        background-color: #969696
    }

    #ir .table .r:first-child .c {
        border-top: 0
    }

    #ir .table .r:first-child .c:first-child {
        border-top: 1px solid #ff8f00
    }

    #ir .table .r .c {
        font-size: 1.125rem;
        text-align: left;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #ir .table .r .c h4 {
        width: 40%;
        padding: 15px;
        background-color: #e9e9e9;
        display: block
    }

    #ir .table .r .c p {
        padding: 15px
    }

    #ir .table .r .c .download img {
        max-width: 20px;
        margin: 0 10px 0 15px
    }

    #ir .table .r .c .download p {
        padding: 15px 0
    }

    #ir .table .r .c .btn {
        border-radius: 35px
    }

    #ir .table .r .c .btn p {
        padding: 5px 25px
    }

    #ir .contact {
        padding: 20px 0
    }

    #ir .contact .tit {
        padding: 15px 10px;
        font-size: 1.375rem
    }

    #ir .contact_cnt {
        padding: 20px 15px
    }

    #ir .contact_cnt .items {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }

    #ir .contact_cnt .items .item {
        padding: 15px 25px;
        font-size: 1rem
    }

    #ir .contact_cnt .items .item .t {
        font-size: 1.125rem
    }

    #ir .contact_cnt .items .item .s {
        margin: 25px 0 15px
    }

    #ir .contact_cnt .items .item .w {
        margin: 0 0 10px
    }
}

#news {
    background-color: #fafafa
}

#news .TP {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: 500px;
    background: url(../../assets/images/layout/news_TP.jpg) center/cover no-repeat;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center
}

#news .TP_cnt {
    position: relative;
    width: 100%;
    max-width: 926px;
    height: 210px;
    background-color: #fff;
    border-bottom: 4px solid #ff8f00;
    box-sizing: border-box;
    padding: 0 0 0 460px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translateX(-60%)
}

#news .TP_cnt_w {
    position: relative;
    width: 100%;
    margin: 0 auto 25px;
    font-size: 2.25rem;
    font-weight: normal;
    color: #000;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#news .TP_cnt_w .sq {
    position: relative;
    width: 8px;
    height: 39px;
    margin: 5px 20px 0 0;
    border-radius: 0 0 5px 0;
    background: url(../../assets/images/layout/title_block.svg) center/cover no-repeat
}

#news .TP_cnt_s {
    position: relative;
    width: 100%;
    height: 70px;
    font-size: 1.375rem;
    line-height: 1.4;
    letter-spacing: .1875rem;
    font-family: "Noto Serif TC";
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#news .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#news .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#news .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #f37229
}

#news .sc_news {
    box-sizing: border-box;
    padding: 2.5rem 0 5rem
}

#news .sc_news-nav {
    position: relative;
    box-sizing: border-box;
    padding: 1.25rem;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#news .sc_news-nav .list_year {
    position: relative;
    box-sizing: border-box;
    padding: 5px 0;
    width: 120px;
    font-size: 1.125rem;
    letter-spacing: .0625rem;
    color: #000;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center
}

#news .sc_news-nav .searchBar {
    position: relative;
    width: 100%;
    max-width: 240px;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    border: 1px solid #c9c9c9;
    background-color: #fff;
    border-radius: 2.1875rem;
    overflow: hidden;
    padding: 5px 15px
}

#news .sc_news-nav .searchBar input {
    position: relative;
    flex: 1 0 0;
    box-sizing: border-box;
    padding: 5px;
    font-size: .875rem;
    color: #000;
    border: 0
}

#news .sc_news-nav .searchBar .search_icon {
    position: relative;
    width: 30px;
    height: 30px;
    background: url(../../assets/images/icons/search.svg) center/20px 20px no-repeat;
    cursor: pointer;
    background-color: #fff;
    transition: all .2s ease-out
}

#news .sc_news-nav .searchBar .search_icon:hover {
    background-color: #ddd
}

#news .sc_news_cnt {
    position: relative;
    width: 100%;
    display: grid;
    gap: 40px 24px;
    align-items: stretch;
    margin: 25px 0 60px;
    grid-template-columns: repeat(1, 1fr)
}

@media(min-width: 768px) {
    #news .sc_news_cnt {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width: 1024px) {
    #news .sc_news_cnt {
        grid-template-columns: repeat(3, 1fr)
    }
}

#news .sc_news .item {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    width: 100%;
    transition: transform .3s ease, box-shadow .3s ease
}

#news .sc_news .item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12)
}

#news .sc_news .item_info {
    display: flex;
    flex-direction: column;
    padding: 0 30px 20px;
    flex-grow: 1
}

#news .sc_news .item_info-d {
    position: relative;
    font-size: 14px;
    color: #8c8c8c;
    margin-bottom: 12px;
    letter-spacing: .5px
}

#news .sc_news .item_info-d span {
    position: relative;
    display: inline-block;
    padding: 15px 0 0 0;
    border-top: 6px solid #ff8f00
}

#news .sc_news .item_info-t {
    font-size: 18px;
    font-weight: bold;
    color: #1a1a1a;
    margin-bottom: 16px;
    line-height: 1.5;
    text-decoration: none;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    position: relative;
    flex-grow: 1
}

#news .sc_news .item_info-pic {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    margin-bottom: 16px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}

#news .sc_news .item_info-w {
    font-size: 15px;
    color: #333;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden
}

#news .sc_news .item_hashtag {
    padding: 16px 24px;
    border-top: 1px solid #e6e6e6;
    color: #ff8f00;
    text-align: right;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .0625rem
}

#news .sc_page {
    position: relative;
    box-sizing: border-box;
    padding: 140px 0 120px
}

#news .sc_page .container {
    max-width: 1060px
}

#news .sc_page_cnt {
    position: relative;
    width: 100%
}

#news .sc_page_cnt .title {
    font-size: 1.875rem;
    color: #000;
    font-weight: bold
}

#news .sc_page_cnt .date {
    font-size: 1rem;
    color: #000;
    font-weight: 300;
    margin: 15px 0 30px
}

#news .sc_page_cnt .news_img {
    position: relative;
    width: 100%;
    max-width: 700px;
    margin: 35px auto
}

#news .sc_page_cnt .news_img img {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto
}

#news .sc_page_cnt .content {
    position: relative;
    padding: 0 0 3.75rem;
    font-size: 1rem;
    font-weight: 400;
    color: #000;
    line-height: 1.5
}

#news .sc_page_cnt .hashtag {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px
}

#news .sc_page_cnt .hashtag .item {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: 10px 30px;
    font-size: .8125rem;
    letter-spacing: .0625rem;
    font-weight: 400;
    color: #565656;
    border: 1px solid #565656;
    text-decoration: none;
    cursor: pointer;
    transition: all .2s ease-out
}

#news .sc_page_cnt .hashtag .item:hover {
    color: #fff;
    background-color: #565656
}

@media(max-width: 1600px) {
    #news .TP {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #news .TP {
        margin: 0;
        width: 100vw;
        height: 70vw;
        background-position: center center
    }

    #news .TP_cnt {
        position: relative;
        width: 100%;
        max-width: 70%;
        height: 130px;
        background-color: #fff;
        border-bottom: 4px solid #ff8f00;
        box-sizing: border-box;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        transform: translateX(-22%)
    }

    #news .TP_cnt_w {
        position: relative;
        width: 100%;
        margin: 0;
        font-size: 2rem;
        font-weight: normal;
        color: #000;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #news .TP_cnt_w .sq {
        margin: 0 5px 0 0
    }

    #news .TP_cnt_s {
        position: relative;
        width: 100%;
        padding: 0 15px 0 25px;
        margin: 10px 0 0;
        height: auto;
        font-size: 1.125rem;
        line-height: 1.4;
        letter-spacing: .1875rem;
        font-family: "Noto Serif TC";
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    #news .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #news .sc_news {
        padding: 1.25rem 0 2.5rem
    }

    #news .sc_news-nav {
        padding: .625rem 0;
        display: flex;
        flex-direction: column-reverse;
        justify-content: flex-start;
        align-items: center;
        gap: 20px
    }

    #news .sc_news-nav .list_year {
        width: 120px;
        font-size: 1.125rem
    }

    #news .sc_news-nav .searchBar {
        max-width: 240px
    }

    #news .sc_page {
        padding: 2.5rem 0 7.5rem
    }

    #news .sc_page_cnt .title {
        font-size: 1.625rem;
        line-height: 1.4
    }

    #news .sc_page_cnt .date {
        font-size: 1rem;
        margin: 15px 0 30px
    }

    #news .sc_page_cnt .news_img {
        max-width: 700px;
        margin: 20px auto
    }

    #news .sc_page_cnt .content {
        padding: 0 0 3.75rem;
        font-size: 1rem
    }

    #news .sc_page_cnt .hashtag {
        gap: 15px
    }

    #news .sc_page_cnt .hashtag .item {
        padding: 10px 30px;
        font-size: .8125rem;
        letter-spacing: .0625rem
    }
}

#about .TP {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: 500px;
    background: url(../../assets/images/layout/esg_2_1_TP.jpg) center/cover no-repeat;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center
}

#about .TP_cnt {
    position: relative;
    width: 100%;
    max-width: 926px;
    height: 210px;
    background-color: #fff;
    border-bottom: 4px solid #ff8f00;
    box-sizing: border-box;
    padding: 0 0 0 460px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translateX(-60%)
}

#about .TP_cnt_w {
    position: relative;
    width: 100%;
    margin: 0 auto 25px;
    font-size: 2.25rem;
    font-weight: normal;
    color: #000;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#about .TP_cnt_w .sq {
    position: relative;
    width: 8px;
    height: 39px;
    margin: 5px 20px 0 0;
    border-radius: 0 0 5px 0;
    background: url(../../assets/images/layout/title_block.svg) center/cover no-repeat
}

#about .TP_cnt_s {
    position: relative;
    width: 100%;
    height: 70px;
    font-size: 1.375rem;
    line-height: 1.4;
    letter-spacing: .1875rem;
    font-family: "Noto Serif TC";
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#about .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#about .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#about .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #f37229
}

#about .intro {
    position: relative;
    width: 100%;
    padding: 40px 0;
    background-color: #fff
}

#about .intro .w {
    position: relative;
    width: 100%;
    max-width: 910px;
    margin: 30px auto;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .0938rem;
    color: #000;
    line-height: 1.6;
    text-align: center
}

#about .intro .w.L {
    text-align: left
}

#about .intro::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    width: 30px;
    height: 15px;
    margin-left: -15px;
    z-index: 10;
    background-color: #fff;
    clip-path: polygon(0 0, 50% 100%, 100% 0)
}

#about .intro_info {
    position: relative;
    width: 100%;
    padding: 2.5rem 0 12.5rem;
    background: url(../../assets/images/layout/about_intro_new.png) top center/auto 100% no-repeat
}

#about .intro_info img {
    position: relative;
    width: 100%;
    max-width: 800px;
    height: auto;
    display: block;
    margin: 0 auto 50px
}

#about .intro_info-gs {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 50px
}

#about .intro_info-gs .g {
    position: relative;
    flex: 0 1 calc(70% - 50px)
}

#about .intro_info .t {
    position: relative;
    width: 100%;
    margin: 30px 0
}

#about .intro_info .t_inner {
    position: relative;
    display: inline-block;
    padding: 3px 10px;
    border-left: 5px solid #ff8f00;
    font-size: 1.375rem;
    font-weight: normal;
    letter-spacing: .125rem;
    color: #000;
    line-height: 1.6
}

#about .intro_info .w {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 30px 0;
    padding: 0 15px;
    font-size: 1.25rem;
    text-align: center;
    font-weight: normal;
    letter-spacing: .0938rem;
    color: #000;
    line-height: 1.6
}

#about .intro_info .w span {
    position: relative;
    font-size: 1.125rem;
    font-weight: normal;
    display: block;
    margin: 5px 0
}

#about .intro_info .w span.en {
    letter-spacing: initial;
    margin: 10px 0;
    font-weight: normal;
}

#about .sc_team {
    box-sizing: border-box;
    padding: 3.75rem 0;
    background-color: rgba(0, 0, 0, 0)
}

#about .sc_team .container {
    max-width: 1000px
}

#about .sc_team .bosses {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 40px 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 60px
}

#about .sc_team .bosses .boss {
    position: relative;
    flex: 0 1 calc(50% - 30px);
    max-width: 500px;
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .15);
    overflow: hidden;
    box-sizing: border-box;
    transition: box-shadow .3s ease, transform .3s ease
}

#about .sc_team .bosses .boss:hover {
    box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
    transform: translateY(-3px)
}

#about .sc_team .bosses .boss:hover .boss_detail {
    max-height: 600px;
    opacity: 1;
    padding: 30px 40px 60px 40px
}

#about .sc_team .bosses .boss:hover .boss_card::after {
    opacity: 1
}

#about .sc_team .bosses .boss:hover .card_btn {
    transform: rotate(0deg)
}

#about .sc_team .bosses .boss::before {
    content: "";
    position: absolute;
    top: 0;
    left: 40px;
    width: 190px;
    height: 4px;
    background-color: #ff8f00;
    border-radius: 0 0 2px 2px;
    z-index: 2
}

#about .sc_team .bosses .boss_card {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    padding: 40px 40px 30px 40px;
    z-index: 1
}

#about .sc_team .bosses .boss_card::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(100% - 40px);
    height: 1px;
    background-color: #cbcbcb;
    opacity: 0;
    transition: opacity .3s ease
}

#about .sc_team .bosses .boss_card .pic {
    flex: 0 0 190px
}

#about .sc_team .bosses .boss_card .pic img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover
}

#about .sc_team .bosses .boss_card .info {
    flex: 1 1 auto;
    box-sizing: border-box;
    padding-left: 25px
}

#about .sc_team .bosses .boss_card .info .t {
    color: #666;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.4;
    margin-bottom: 8px
}

#about .sc_team .bosses .boss_card .info .n {
    color: #000;
    font-size: 1.375rem;
    font-weight: normal;
    letter-spacing: 2px;
    line-height: 1
}

#about .sc_team .bosses .boss_detail {
    position: relative;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 40px;
    transition: all .45s cubic-bezier(0.4, 0, 0.2, 1)
}

#about .sc_team .bosses .boss_detail p {
    margin: 0 0 24px 0;
    color: #222;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .5px
}

#about .sc_team .bosses .boss_detail ul {
    margin: 0;
    padding: 0;
}

#about .sc_team .bosses .boss_detail ul span {
    color: #999;
    font-size: .875rem;
    line-height: 1.4;
    display: inline-block;
    margin-bottom: 6px
}

#about .sc_team .bosses .boss_detail ul li {
    margin: 0 0 0 20px;
    color: #222;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .5px;
}

#about .sc_team .bosses .boss_detail p:last-child {
    margin-bottom: 0
}

#about .sc_team .bosses .boss_detail p span {
    color: #999;
    font-size: .875rem;
    line-height: 1.4;
    display: inline-block;
    margin-bottom: 6px
}

#about .sc_team .bosses .boss .card_btn {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 24px;
    height: 24px;
    transform: rotate(180deg);
    transition: transform .4s ease;
    z-index: 3
}

#about .sc_team .bosses .boss .card_btn img {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block
}

#about .sc_timeLine {
    box-sizing: border-box;
    padding: 3.75rem 0 5rem
}

#about .sc_timeLine .container {
    max-width: 1200px;
    box-sizing: border-box;
    padding: 50px 0 0
}

#about .sc_timeLine .banner {
    position: relative;
    width: 100%
}

#about .sc_timeLine .banner img {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto
}

#about .sc_timeLine .timeLine {
    position: relative;
    margin: 0 auto;
    padding: 60px 20px;
    box-sizing: border-box
}

#about .sc_timeLine .timeLine::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background-color: #dcdcdc
}

#about .sc_timeLine .timeLine .time {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
    width: 100%
}

#about .sc_timeLine .timeLine .time:last-child {
    margin-bottom: 0
}

#about .sc_timeLine .timeLine .time::before {
    content: "";
    position: absolute;
    top: .5625rem;
    left: 50%;
    transform: translateX(-51%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #f1f1f1;
    box-shadow: inset 2px 2px 3px rgba(0, 0, 0, .5);
    z-index: 2;
    box-sizing: border-box
}

#about .sc_timeLine .timeLine .time .y,
#about .sc_timeLine .timeLine .time .d {
    width: 50%;
    box-sizing: border-box
}

#about .sc_timeLine .timeLine .time .y {
    color: #ff8f00;
    font-size: 1rem;
    line-height: 1.8;
    font-weight: normal;
    letter-spacing: 1px
}

#about .sc_timeLine .timeLine .time .d {
    color: #222;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: .5px;
    text-align: justify
}

#about .sc_timeLine .timeLine .time:nth-child(odd) {
    flex-direction: row
}

#about .sc_timeLine .timeLine .time:nth-child(odd) .y {
    text-align: right;
    padding-right: 1.875rem
}

#about .sc_timeLine .timeLine .time:nth-child(odd) .d {
    text-align: left;
    padding-left: 1.875rem
}

#about .sc_timeLine .timeLine .time:nth-child(even) {
    flex-direction: row-reverse
}

#about .sc_timeLine .timeLine .time:nth-child(even) .y {
    text-align: left;
    padding-left: 40px
}

#about .sc_timeLine .timeLine .time:nth-child(even) .d {
    text-align: right;
    padding-right: 40px
}

@media(max-width: 1600px) {
    #about .TP {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #about .TP {
        margin: 0;
        width: 100vw;
        height: 70vw;
        background-position: center center
    }

    #about .TP_cnt {
        position: relative;
        width: 100%;
        max-width: 70%;
        height: 130px;
        background-color: #fff;
        border-bottom: 4px solid #ff8f00;
        box-sizing: border-box;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        transform: translateX(-22%)
    }

    #about .TP_cnt_w {
        position: relative;
        width: 100%;
        margin: 0;
        font-size: 2rem;
        font-weight: normal;
        color: #000;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #about .TP_cnt_s {
        position: relative;
        width: 100%;
        padding: 0 15px 0 25px;
        margin: 10px 0 0;
        height: auto;
        font-size: 1.125rem;
        line-height: 1.4;
        letter-spacing: .1875rem;
        font-family: "Noto Serif TC";
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    #about .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #about .intro {
        padding: 30px 0;
        background-color: #fff
    }

    #about .intro .w {
        margin: 20px auto
    }

    #about .intro_info {
        padding: 40px 0 30px
    }

    #about .intro_info img {
        margin: 0 auto 30px
    }

    #about .intro_info-gs {
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        gap: 20px
    }

    #about .intro_info-gs .g {
        flex: 0 1 auto
    }

    #about .intro_info .t {
        margin: 15px 0
    }

    #about .intro_info .w {
        margin: 15px 0;
        padding: 0 15px
    }

    #about .sc_team {
        padding: 2.5rem 0
    }

    #about .sc_team .bosses {
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 30px 10px;
        box-sizing: border-box;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px 10px
    }

    #about .sc_team .bosses .boss {
        flex: 0 1 calc(100% - 5px)
    }

    #about .sc_team .bosses .boss:hover .boss_detail {
        padding: 20px 20px 40px
    }

    #about .sc_team .bosses .boss_card {
        padding: 20px 20px
    }

    #about .sc_team .bosses .boss_card::after {
        width: calc(100% - 20px);
        opacity: 1
    }

    #about .sc_team .bosses .boss_card .pic {
        flex: 0 0 50%;
        max-width: 50%
    }

    #about .sc_team .bosses .boss_card .info {
        flex: 1 1 auto;
        box-sizing: border-box;
        padding-left: 25px
    }

    #about .sc_team .bosses .boss_card .info .t {
        font-size: 1rem;
        margin-bottom: 8px
    }

    #about .sc_team .bosses .boss_card .info .n {
        font-size: 1.375rem;
        letter-spacing: 2px
    }

    #about .sc_team .bosses .boss_detail {
        position: relative;
        max-height: 600px;
        opacity: 1;
        padding: 20px 20px 40px
    }

    #about .sc_team .bosses .boss_detail p {
        margin: 0 0 24px 0;
        font-size: 1rem
    }

    #about .sc_team .bosses .boss_detail p span {
        font-size: .875rem;
        margin-bottom: 6px
    }

    #about .sc_team .bosses .boss .card_btn {
        display: none
    }

    #about .sc_timeLine {
        padding: 2.5rem 0 1.25rem
    }

    #about .sc_timeLine .container {
        padding: 1.875rem 0 0
    }

    #about .sc_timeLine .timeLine {
        margin: 20px auto
    }

    #about .sc_timeLine .timeLine::before {
        left: 20px;
        transform: none
    }

    #about .sc_timeLine .timeLine .time {
        flex-direction: column !important;
        margin: 0 0 30px -20px
    }

    #about .sc_timeLine .timeLine .time::before {
        left: 20px;
        transform: translateX(-50%);
        top: 6px
    }

    #about .sc_timeLine .timeLine .time .y,
    #about .sc_timeLine .timeLine .time .d {
        width: 100%;
        text-align: left !important;
        padding-left: 50px !important;
        padding-right: 0 !important
    }

    #about .sc_timeLine .timeLine .time .y {
        margin-bottom: 8px
    }
}

#contact .TP {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: 500px;
    background: url(../../assets/images/layout/contact_TP.jpg) center/cover no-repeat;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center
}

#contact .TP_cnt {
    position: relative;
    width: 100%;
    max-width: 926px;
    height: 210px;
    background-color: #fff;
    border-bottom: 4px solid #ff8f00;
    box-sizing: border-box;
    padding: 0 0 0 460px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translateX(-60%)
}

#contact .TP_cnt_w {
    position: relative;
    width: 100%;
    margin: 0 auto 25px;
    font-size: 2.25rem;
    font-weight: normal;
    color: #000;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#contact .TP_cnt_w .sq {
    position: relative;
    width: 8px;
    height: 39px;
    margin: 5px 20px 0 0;
    border-radius: 0 0 5px 0;
    background: url(../../assets/images/layout/title_block.svg) center/cover no-repeat
}

#contact .TP_cnt_s {
    position: relative;
    width: 100%;
    height: 70px;
    font-size: 1.375rem;
    line-height: 1.4;
    letter-spacing: .1875rem;
    font-family: "Noto Serif TC";
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#contact .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#contact .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#contact .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #ff8f00
}

#contact .contact_box {
    position: relative;
    width: 100%;
    padding: 3.75rem 0 0;
    background-color: rgba(0, 0, 0, 0)
}

#contact .contact_box-cnt {
    position: relative;
    width: 100%;
    border-radius: 1.25rem;
    margin: 25px auto;
    box-sizing: border-box;
    padding: 50px 15px;
    background-color: #fafafa;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .4);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 30px 0
}

#contact .contact_box-cnt .grp {
    position: relative;
    flex: 0 1 33%;
    box-sizing: border-box;
    padding: 15px 30px;
    border: 1px solid rgba(55, 63, 65, .4);
    border-width: 0 1px 0 0
}

#contact .contact_box-cnt .grp:nth-child(3n) {
    border: 0
}

#contact .contact_box-cnt .grp:last-child {
    border: 0
}

#contact .contact_box-cnt .grp .tit {
    position: relative;
    display: inline-block;
    font-size: 1.5rem;
    padding: 0 .625rem .625rem 0;
    margin: 0 0 1.25rem;
    border-bottom: 3px solid #ff8f00
}

#contact .contact_box-cnt .grp .w {
    position: relative;
    font-size: 1.125rem;
    line-height: 1.4;
    color: #373f41
}

#contact .contact_box-cnt .grp .w a {
    color: #373f41
}

#contact .contact_map {
    position: relative;
    box-sizing: border-box;
    padding: 1.875rem 0 3.75rem
}

#contact .contact_map .maps {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 30px 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 60px
}

#contact .contact_map .maps .map {
    position: relative;
    flex: 0 1 calc(50% - 30px);
    display: flex
}

@media(max-width: 768px) {
    #contact .contact_map .maps .map {
        flex: 0 1 100%
    }
}

#contact .contact_map .maps .map_inner {
    position: relative;
    width: 100%;
    padding: 15px;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .4);
    overflow: hidden;
    border: none;
    display: flex;
    flex-direction: column-reverse
}

#contact .contact_map .maps .map_inner iframe {
    position: relative;
    width: 100%;
    height: 350px;
    border: 0;
    display: block
}

#contact .contact_map .maps .map_inner .info {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    background-color: #fff;
    border-bottom: 1px solid #cbcbcb;
    margin: 0 0 10px;
    padding: 0 0 10px
}

#contact .contact_map .maps .map_inner .info .n {
    position: relative;
    flex: 0 0 120px;
    box-sizing: border-box;
    padding: 25px 15px;
    margin: 0;
    background-color: #ff8f00;
    color: #fff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: normal;
    letter-spacing: 2px;
    border-radius: 15px 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center
}

#contact .contact_map .maps .map_inner .info ul {
    position: relative;
    flex: 1 1 auto;
    box-sizing: border-box;
    padding: 20px 25px;
    margin: 0;
    list-style: none;
    border-left: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px
}

#contact .contact_map .maps .map_inner .info ul li {
    position: relative;
    padding: 0;
    color: #333;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: .5px;
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#contact .contact_map .maps .map_inner .info ul li img {
    width: 18px;
    height: auto;
    margin: 0 12px 0 0
}

#contact .contact_map .maps .map_inner .info ul li a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none;
    color: #333;
    transition: color .3s
}

#contact .contact_map .maps .map_inner .info ul li a:hover {
    color: #f39800
}

@media(max-width: 1600px) {
    #contact .TP {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #contact .TP {
        margin: 0;
        width: 100vw;
        height: 70vw;
        background-position: center center
    }

    #contact .TP_cnt {
        position: relative;
        width: 100%;
        max-width: 70%;
        height: 130px;
        background-color: #fff;
        border-bottom: 4px solid #ff8f00;
        box-sizing: border-box;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        transform: translateX(-22%)
    }

    #contact .TP_cnt_w {
        position: relative;
        width: 100%;
        margin: 0;
        font-size: 2rem;
        font-weight: normal;
        color: #000;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #contact .TP_cnt_s {
        position: relative;
        width: 100%;
        padding: 0 15px 0 25px;
        margin: 10px 0 0;
        height: auto;
        font-size: 1.125rem;
        line-height: 1.4;
        letter-spacing: .1875rem;
        font-family: "Noto Serif TC";
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    #contact .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #contact .contact_box {
        padding: 30px 0
    }

    #contact .contact_box-cnt {
        margin: 0 auto;
        padding: 25px 15px;
        gap: 0
    }

    #contact .contact_box-cnt .grp {
        flex: 0 1 100%;
        padding: 20px 15px;
        border-width: 0 0 1px 0
    }

    #contact .contact_box-cnt .grp:nth-child(3n) {
        border: 1px solid rgba(55, 63, 65, .4);
        border-width: 0 0 1px 0
    }

    #contact .contact_map {
        padding: 2.5rem 0 1.25rem
    }

    #contact .contact_map .maps {
        padding: 15px 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    #contact .contact_map .maps .map_inner iframe {
        height: 250px
    }

    #contact .contact_map .maps .map_inner .info {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch
    }

    #contact .contact_map .maps .map_inner .info .n {
        flex: 0 0 60px;
        border-radius: 15px 15px 0 0
    }

    #contact .contact_map .maps .map_inner .info ul {
        padding: 15px 0 0;
        margin: 0
    }

    #contact .contact_map .maps .map_inner .info ul li {
        padding: 5px 15px;
        font-size: .875rem
    }
}

#esg .TP {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: 500px;
    background: url(../../assets/images/layout/esg_3_1_TP.jpg) center/cover no-repeat;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center
}

#esg .TP_cnt {
    position: relative;
    width: 100%;
    max-width: 926px;
    height: 210px;
    background-color: #fff;
    border-bottom: 4px solid #ff8f00;
    box-sizing: border-box;
    padding: 0 0 0 460px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translateX(-60%)
}

#esg .TP_cnt_w {
    position: relative;
    width: 100%;
    margin: 0 auto 25px;
    font-size: 2.25rem;
    font-weight: normal;
    color: #000;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#esg .TP_cnt_w .sq {
    position: relative;
    width: 45px;
    height: 20px;
    margin: 0 20px 0 0;
    clip-path: polygon(0 0, 100% 0, 75% 100%, 0% 100%);
    background-color: #ff8f00
}

#esg .TP_cnt_s {
    position: relative;
    width: 100%;
    height: 70px;
    font-size: 1.375rem;
    line-height: 1.4;
    letter-spacing: .1875rem;
    font-family: "Noto Serif TC";
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#esg .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#esg .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#esg .sc_title_inner.slg {
    font-size: 1.875rem;
    line-height: 1.6
}

#esg .sc_title_inner.slg::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -100px;
    width: 40px;
    height: 30px;
    transform: translateY(-50%);
    background: url(../../assets/images/layout/SR.png) center/cover no-repeat
}

#esg .sc_title_inner.slg::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -100px;
    width: 40px;
    height: 30px;
    transform: translateY(-50%);
    background: url(../../assets/images/layout/SL.png) center/cover no-repeat
}

#esg .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #f37229
}

#esg .intro {
    position: relative;
    width: 100%;
    padding: 60px 0;
    background-color: #fff
}

#esg .intro .w {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 50px auto;
    font-size: 1.25rem;
    font-weight: 300;
    color: #000;
    line-height: 1.9;
    text-align: center
}

@media(max-width: 1600px) {
    #esg .TP {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #esg .TP {
        margin: 0;
        width: 100vw;
        height: 70vw;
        background-position: center center
    }

    #esg .TP_cnt {
        position: relative;
        width: 100%;
        max-width: 70%;
        height: 130px;
        background-color: #fff;
        border-bottom: 4px solid #ff8f00;
        box-sizing: border-box;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        transform: translateX(-22%)
    }

    #esg .TP_cnt_w {
        position: relative;
        width: 100%;
        margin: 0;
        font-size: 2rem;
        font-weight: normal;
        color: #000;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #esg .TP_cnt_w .sq {
        position: relative;
        width: 20px;
        height: 20px;
        margin: 0 5px 0 0;
        clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
        background-color: #ff8f00
    }

    #esg .TP_cnt_s {
        position: relative;
        width: 100%;
        padding: 0 15px 0 25px;
        margin: 10px 0 0;
        height: auto;
        font-size: 1.125rem;
        line-height: 1.4;
        letter-spacing: .1875rem;
        font-family: "Noto Serif TC";
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    #esg .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #esg .intro {
        padding: 30px 0;
        background-color: #fff
    }

    #esg .intro .w {
        margin: 20px auto
    }
}

#esg.esg_3_2 {
    padding: 0 0 100px
}

#esg.esg_3_2 .TP {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: 500px;
    background: url(../../assets/images/layout/esg_3_2_TP.jpg) center/cover no-repeat;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center
}

#esg.esg_3_2 .TP_cnt {
    position: relative;
    width: 100%;
    max-width: 926px;
    height: 210px;
    background-color: #fff;
    border-bottom: 4px solid #ff8f00;
    box-sizing: border-box;
    padding: 0 0 0 460px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translateX(-60%)
}

#esg.esg_3_2 .TP_cnt_w {
    position: relative;
    width: 100%;
    margin: 0 auto 25px;
    font-size: 2.25rem;
    font-weight: normal;
    color: #000;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#esg.esg_3_2 .TP_cnt_w .sq {
    position: relative;
    width: 45px;
    height: 20px;
    margin: 0 20px 0 0;
    clip-path: polygon(0 0, 100% 0, 75% 100%, 0% 100%);
    background-color: #ff8f00
}

#esg.esg_3_2 .TP_cnt_s {
    position: relative;
    width: 100%;
    height: 70px;
    font-size: 1.375rem;
    letter-spacing: .1875rem;
    font-family: "Noto Serif TC";
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#esg.esg_3_2 .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#esg.esg_3_2 .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#esg.esg_3_2 .sc_title_inner.slg {
    font-size: 1.875rem
}

#esg.esg_3_2 .sc_title_inner.slg::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -100px;
    width: 40px;
    height: 30px;
    transform: translateY(-50%);
    background: url(../../assets/images/layout/SR.png) center/cover no-repeat
}

#esg.esg_3_2 .sc_title_inner.slg::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -100px;
    width: 40px;
    height: 30px;
    transform: translateY(-50%);
    background: url(../../assets/images/layout/SL.png) center/cover no-repeat
}

#esg.esg_3_2 .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #f37229
}

#esg.esg_3_2 .intro {
    position: relative;
    width: 100%;
    padding: 40px 0;
    background-color: #fff
}

#esg.esg_3_2 .intro .w {
    position: relative;
    width: 100%;
    max-width: 910px;
    margin: 30px auto;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .0938rem;
    color: #000;
    line-height: 1.6;
    text-align: center
}

#esg.esg_3_2 .intro .w.L {
    text-align: left
}

#esg.esg_3_2 .intro::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    width: 30px;
    height: 15px;
    margin-left: -15px;
    z-index: 10;
    background-color: #fff;
    clip-path: polygon(0 0, 50% 100%, 100% 0)
}

#esg.esg_3_2 .directors {
    position: relative;
    width: 100%;
    padding: 40px 0;
    background-color: #f1f1f1
}

#esg.esg_3_2 .directors .sc_group {
    position: relative;
    padding: 0 0 15px
}

#esg.esg_3_2 .directors .t {
    position: relative;
    width: 100%;
    margin: 30px 0
}

#esg.esg_3_2 .directors .t_inner {
    position: relative;
    display: inline-block;
    padding: 3px 10px;
    border-left: 5px solid #ff8f00;
    font-size: 1.375rem;
    font-weight: normal;
    letter-spacing: .125rem;
    color: #000;
    line-height: 1.6
}

#esg.esg_3_2 .directors .w {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 30px 0;
    padding: 0 15px;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .0938rem;
    color: #000;
    line-height: 1.6
}

#esg.esg_3_2 .directors .items {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 40px
}

#esg.esg_3_2 .directors .items .item {
    position: relative;
    flex: 0 1 calc(50% - 20px);
    padding: 0 25px;
    border-radius: 15px;
    background-color: #fff;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .4);
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    transition: box-shadow .3s ease
}

#esg.esg_3_2 .directors .items .item:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, .5)
}

#esg.esg_3_2 .directors .items .item .name {
    position: relative;
    height: 100%;
    flex: 0 0 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.6
}

#esg.esg_3_2 .directors .items .item .name span {
    font-size: 1.25rem;
    font-weight: normal
}

#esg.esg_3_2 .directors .items .item .name::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 110px;
    height: 6px;
    background-color: #ff8f00;
    transform: translateX(-50%)
}

#esg.esg_3_2 .directors .items .item .name::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 115px;
    background-color: #cbcbcb;
    transform: translateY(-50%)
}

#esg.esg_3_2 .directors .items .item .info {
    position: relative;
    flex: 1 1 auto;
    padding: 25px 40px;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .0938rem
}

#esg.esg_3_2 .directors .items .item .info span {
    color: #a6a6a6
}

#esg.esg_3_2 .directors .items .item .info .b {
    position: relative;
    padding: 5px 0
}

#esg.esg_3_2 .directors .member_chart {
    position: relative;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 60px 0 0;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .4)
}

#esg.esg_3_2 .directors .member_chart::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background-color: #ff8f00
}

#esg.esg_3_2 .directors .member_chart {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0
}

#esg.esg_3_2 .directors .member_chart .c {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: flex-start;
    gap: 0
}

#esg.esg_3_2 .directors .member_chart .c.pc_tit .r .L {
    display: block;
    padding: 0 0 0 60px
}

#esg.esg_3_2 .directors .member_chart .c.pc_tit .r:first-child .L {
    padding: 35px 0 0 60px
}

#esg.esg_3_2 .directors .member_chart .c.pc_tit .r:last-child .L {
    padding: 0 0 35px 60px
}

#esg.esg_3_2 .directors .member_chart .c.pc_tit .r:last-child .L span {
    border-bottom: 0
}

#esg.esg_3_2 .directors .member_chart .c.pc_tit::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 146px;
    height: 6px;
    background-color: #ff8f00;
    transform: translateX(-34%)
}

#esg.esg_3_2 .directors .member_chart .c:last-child .r .D {
    border-right: 0
}

#esg.esg_3_2 .directors .member_chart .c .r {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch
}

#esg.esg_3_2 .directors .member_chart .c .r:last-child .D {
    border-bottom: 0
}

#esg.esg_3_2 .directors .member_chart .c .r:first-child .D {
    margin: 35px 0 0
}

#esg.esg_3_2 .directors .member_chart .c .r .L {
    position: relative;
    background-color: #ddd;
    display: none
}

#esg.esg_3_2 .directors .member_chart .c .r .L span {
    position: relative;
    width: 180px;
    min-height: 75px;
    box-sizing: border-box;
    padding: 15px 25px;
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .0938rem;
    display: inline-block;
    border-bottom: 1px solid hsla(0, 0%, 100%, .5);
    display: flex;
    justify-content: flex-end;
    align-items: center
}

#esg.esg_3_2 .directors .member_chart .c .r .L b {
    display: inline-block
}

#esg.esg_3_2 .directors .member_chart .c .r .D {
    position: relative;
    width: 120px;
    min-height: 75px;
    padding: 15px;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .0938rem;
    background-color: rgba(0, 0, 0, 0);
    border-bottom: 1px solid #ddd;
    border-right: 1px dashed #ddd;
    display: flex;
    justify-content: center;
    align-items: center
}

#esg.esg_3_2 .directors .member_chart .c .r .D img {
    display: block
}

#esg.esg_3_2 .directors .table {
    position: relative;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 0 25px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .4)
}

#esg.esg_3_2 .directors .table::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background-color: #ff8f00
}

#esg.esg_3_2 .directors .table.row_2 {
    padding: 0
}

#esg.esg_3_2 .directors .table.row_2 .r .c {
    border-right: 0
}

#esg.esg_3_2 .directors .table.row_2 .r .c:first-child {
    flex: 0 1 auto
}

#esg.esg_3_2 .directors .table.row_2 .r .c:first-child p {
    padding: 25px 35px
}

#esg.esg_3_2 .directors .table.row_2 .r .c:last-child {
    align-items: flex-end
}

#esg.esg_3_2 .directors .table.row_2 .r .c:last-child .download p {
    padding: 25px 35px 25px 0
}

#esg.esg_3_2 .directors .table.row_2::after {
    display: none
}

#esg.esg_3_2 .directors .table .table_cnt {
    position: relative;
    width: 100%
}

#esg.esg_3_2 .directors .table .r {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: stretch;
    background-color: #fff;
    border-bottom: 1px solid rgba(221, 221, 221, .5)
}

#esg.esg_3_2 .directors .table .r:last-child {
    border-bottom: 0
}

#esg.esg_3_2 .directors .table .r:first-child .c h4 {
    display: block
}

#esg.esg_3_2 .directors .table .r .c {
    position: relative;
    flex: 1 0 0;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: normal;
    color: #000;
    text-align: center;
    border-right: 1px dashed #ddd;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center
}

#esg.esg_3_2 .directors .table .r .c:last-child {
    border-right: 0
}

#esg.esg_3_2 .directors .table .r .c h4 {
    position: relative;
    width: 100%;
    padding: 25px 15px;
    background-color: #e9e9e9;
    display: none
}

#esg.esg_3_2 .directors .table .r .c p {
    position: relative;
    padding: 25px 15px;
    font-weight: 300
}

#esg.esg_3_2 .directors .table .r .c .download {
    position: relative;
    display: flex;
    flex-direction: row;
    color: #000
}

#esg.esg_3_2 .directors .table .r .c .download img {
    position: relative;
    width: 100%;
    max-width: 20px;
    height: auto;
    display: block;
    margin: 0 10px 0 0
}

#esg.esg_3_2 .directors .table .r .c .download p {
    padding: 25px 0
}

#esg.esg_3_2 .directors .table .r .c .btn {
    position: relative;
    padding: 0;
    border-radius: 35px;
    border: 1px solid #000;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: all .2s ease-out
}

#esg.esg_3_2 .directors .table .r .c .btn p {
    padding: 5px 25px;
    transition: all .2s ease-out
}

#esg.esg_3_2 .directors .table .r .c .btn:hover {
    background-color: #888
}

#esg.esg_3_2 .directors .table .r .c .btn:hover p {
    color: #fff
}

#esg.esg_3_2 .sc_rule {
    position: relative;
    width: 100%;
    padding: 60px 0;
    background-color: #f1f1f1
}

#esg.esg_3_2 .sc_rule_box {
    position: relative;
    width: 100%;
    max-width: 624px;
    margin: 0 auto 0 360px;
    box-sizing: border-box;
    padding: 50px 50px 50px 90px;
    background-color: #fff;
    border-radius: 50px;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .0938rem;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .4)
}

#esg.esg_3_2 .sc_rule_box img {
    position: absolute;
    top: 50%;
    left: -220px;
    width: 300px;
    height: auto;
    transform: translateY(-50%);
    display: block
}

#esg.esg_3_2 .sc_rule_box::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - 140px);
    height: 5px;
    background-color: #ff8f00;
    transform: translateX(-47%)
}

@media(max-width: 1600px) {
    #esg.esg_3_2 .TP {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #esg.esg_3_2 .TP {
        margin: 0;
        width: 100vw;
        height: 70vw;
        background: url(../../assets/images/layout/esg_3_2_TP.jpg) center left/cover no-repeat
    }

    #esg.esg_3_2 .TP_cnt {
        position: relative;
        width: 100%;
        max-width: 70%;
        height: 130px;
        background-color: #fff;
        border-bottom: 4px solid #ff8f00;
        box-sizing: border-box;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        transform: translateX(-22%)
    }

    #esg.esg_3_2 .TP_cnt_w {
        position: relative;
        width: 100%;
        margin: 0;
        font-size: 2rem;
        font-weight: normal;
        color: #000;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #esg.esg_3_2 .TP_cnt_w .sq {
        position: relative;
        width: 20px;
        height: 20px;
        margin: 0 5px 0 0;
        clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
        background-color: #ff8f00
    }

    #esg.esg_3_2 .TP_cnt_s {
        position: relative;
        width: 100%;
        padding: 0 15px 0 25px;
        margin: 10px 0 0;
        height: auto;
        font-size: 1.125rem;
        line-height: 1.4;
        letter-spacing: .1875rem;
        font-family: "Noto Serif TC";
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    #esg.esg_3_2 .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #esg.esg_3_2 .intro {
        padding: 30px 0;
        background-color: #fff
    }

    #esg.esg_3_2 .intro .w {
        margin: 20px auto
    }

    #esg.esg_3_2 .directors .items {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 40px
    }

    #esg.esg_3_2 .directors .items .item {
        flex-direction: column;
        align-items: flex-start;
        padding: 0 25px 40px
    }

    #esg.esg_3_2 .directors .items .item .name {
        flex: 0 0 80px;
        width: 100%;
        height: auto
    }

    #esg.esg_3_2 .directors .items .item .name::after {
        display: none
    }

    #esg.esg_3_2 .directors .items .item .info {
        flex: none;
        width: 100%;
        padding: 0 20px
    }

    #esg.esg_3_2 .directors .member_chart {
        padding: 15px;
        border-radius: 5px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 25px 0
    }

    #esg.esg_3_2 .directors .member_chart .c {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: flex-start;
        gap: 0
    }

    #esg.esg_3_2 .directors .member_chart .c.pc_tit {
        display: none
    }

    #esg.esg_3_2 .directors .member_chart .c:last-child .r .D {
        border-right: 0
    }

    #esg.esg_3_2 .directors .member_chart .c .r {
        position: relative;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: stretch
    }

    #esg.esg_3_2 .directors .member_chart .c .r:last-child .D {
        border-bottom: 0
    }

    #esg.esg_3_2 .directors .member_chart .c .r:first-child .D {
        margin: 0
    }

    #esg.esg_3_2 .directors .member_chart .c .r .L {
        position: relative;
        background-color: #ddd;
        display: block
    }

    #esg.esg_3_2 .directors .member_chart .c .r .L span {
        width: 150px;
        min-height: 75px;
        padding: 15px 15px;
        white-space: nowrap;
        font-size: 1rem;
        line-height: 1.6;
        letter-spacing: .0938rem;
        display: inline-block;
        border-bottom: 1px solid hsla(0, 0%, 100%, .5);
        display: flex;
        justify-content: flex-end;
        align-items: center
    }

    #esg.esg_3_2 .directors .member_chart .c .r .L b {
        display: inline-block
    }

    #esg.esg_3_2 .directors .member_chart .c .r .D {
        width: 150px;
        min-height: 75px;
        padding: 15px;
        border-right: 0
    }

    #esg.esg_3_2 .directors .table {
        padding: 0
    }

    #esg.esg_3_2 .directors .table.row_2 .r {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch
    }

    #esg.esg_3_2 .directors .table.row_2 .r .c:first-child {
        flex: 0 1 auto
    }

    #esg.esg_3_2 .directors .table.row_2 .r .c:first-child p {
        padding: 15px 15px
    }

    #esg.esg_3_2 .directors .table.row_2 .r .c:last-child {
        justify-content: flex-end
    }

    #esg.esg_3_2 .directors .table.row_2 .r .c:last-child p {
        padding: 15px 15px 15px 0
    }

    #esg.esg_3_2 .directors .table .r {
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: stretch;
        background-color: #fff
    }

    #esg.esg_3_2 .directors .table .r .c {
        font-size: 1.125rem;
        text-align: left;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #esg.esg_3_2 .directors .table .r .c h4 {
        width: 50%;
        padding: 15px;
        background-color: #e9e9e9;
        display: block
    }

    #esg.esg_3_2 .directors .table .r .c p {
        padding: 15px
    }

    #esg.esg_3_2 .directors .table .r .c .download img {
        max-width: 20px;
        margin: 0 10px 0 15px
    }

    #esg.esg_3_2 .directors .table .r .c .download p {
        padding: 15px 0
    }

    #esg.esg_3_2 .directors .table .r .c .btn {
        border-radius: 35px
    }

    #esg.esg_3_2 .directors .table .r .c .btn p {
        padding: 5px 25px
    }

    #esg.esg_3_2 .sc_rule {
        padding: 30px 0
    }

    #esg.esg_3_2 .sc_rule_box {
        margin: 0 auto 0 auto;
        padding: 25px 20px 0;
        border-radius: 20px
    }

    #esg.esg_3_2 .sc_rule_box img {
        position: relative;
        top: auto;
        left: 0;
        transform: translateY(0);
        margin: 35px 0 0
    }

    #esg.esg_3_2 .sc_rule_box::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        width: calc(100% - 140px);
        height: 5px;
        background-color: #ff8f00;
        transform: translateX(-47%)
    }
}

#esg.esg_3_4 {
    padding: 0 0 100px
}

#esg.esg_3_4 .TP {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: 500px;
    background: url(../../assets/images/layout/esg_3_4_TP.jpg) center/cover no-repeat;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center
}

#esg.esg_3_4 .TP_cnt {
    position: relative;
    width: 100%;
    max-width: 926px;
    height: 210px;
    background-color: #fff;
    border-bottom: 4px solid #ff8f00;
    box-sizing: border-box;
    padding: 0 0 0 460px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translateX(-60%)
}

#esg.esg_3_4 .TP_cnt_w {
    position: relative;
    width: 100%;
    margin: 0 auto 25px;
    font-size: 2.25rem;
    font-weight: normal;
    color: #000;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#esg.esg_3_4 .TP_cnt_w .sq {
    position: relative;
    width: 8px;
    height: 39px;
    margin: 5px 20px 0 0;
    border-radius: 0 0 5px 0;
    background: url(../../assets/images/layout/title_block.svg) center/cover no-repeat
}

#esg.esg_3_4 .TP_cnt_s {
    position: relative;
    width: 100%;
    height: 70px;
    font-size: 1.375rem;
    line-height: 1.4;
    letter-spacing: .1875rem;
    font-family: "Noto Serif TC";
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#esg.esg_3_4 .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#esg.esg_3_4 .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#esg.esg_3_4 .sc_title_inner.slg {
    font-size: 1.875rem
}

#esg.esg_3_4 .sc_title_inner.slg::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -100px;
    width: 40px;
    height: 30px;
    transform: translateY(-50%);
    background: url(../../assets/images/layout/SR.png) center/cover no-repeat
}

#esg.esg_3_4 .sc_title_inner.slg::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -100px;
    width: 40px;
    height: 30px;
    transform: translateY(-50%);
    background: url(../../assets/images/layout/SL.png) center/cover no-repeat
}

#esg.esg_3_4 .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #f37229
}

#esg.esg_3_4 .intro {
    position: relative;
    width: 100%;
    padding: 40px 0;
    background-color: #fff
}

#esg.esg_3_4 .intro .w {
    position: relative;
    width: 100%;
    max-width: 910px;
    margin: 30px auto;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .0938rem;
    color: #000;
    line-height: 1.6;
    text-align: center
}

#esg.esg_3_4 .intro .w.L {
    text-align: left
}

#esg.esg_3_4 .intro::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    width: 30px;
    height: 15px;
    margin-left: -15px;
    z-index: 10;
    background-color: #fff;
    clip-path: polygon(0 0, 50% 100%, 100% 0)
}

#esg.esg_3_4 .attract {
    position: relative;
    width: 100%;
    padding: 40px 0;
    background-color: #f1f1f1
}

#esg.esg_3_4 .attract .sc_group {
    position: relative;
    padding: 0 0 15px
}

#esg.esg_3_4 .attract .sc_group.R2 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 60px
}

#esg.esg_3_4 .attract .sc_group.R2 .R2_g {
    position: relative;
    flex: 0 1 calc(50% - 30px)
}

#esg.esg_3_4 .attract .t {
    position: relative;
    width: 100%;
    margin: 30px 0
}

#esg.esg_3_4 .attract .t_inner {
    position: relative;
    display: inline-block;
    padding: 3px 10px;
    border-left: 5px solid #ff8f00;
    font-size: 1.375rem;
    font-weight: normal;
    letter-spacing: .125rem;
    color: #000;
    line-height: 1.6
}

#esg.esg_3_4 .attract .w {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 30px 0;
    padding: 0 15px;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: .0938rem;
    color: #000;
    line-height: 1.6
}

#esg.esg_3_4 .attract .w span {
    position: relative;
    font-size: 1.125rem;
    font-weight: normal;
    display: block;
    margin: 5px 0
}

#esg.esg_3_4 .attract .w.R {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch
}

#esg.esg_3_4 .attract .w.R .wR_1 {
    position: relative;
    flex: 0 1 400px;
    text-align: justify
}

#esg.esg_3_4 .attract .w.R .wR_2 {
    position: relative;
    margin: 0 0 0 50px
}

#esg.esg_3_4 .attract .w.R .wR_2 span {
    margin: 0 0 5px
}

#esg.esg_3_4 .attract .img_F {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center
}

#esg.esg_3_4 .attract .esg_3_4_pic_1 {
    position: relative;
    width: 100%;
    max-width: 310px;
    height: auto;
    margin: 0 0 0 60px;
    display: block
}

#esg.esg_3_4 .attract .esg_3_4_pic_2 {
    position: relative;
    width: 100%;
    max-width: 310px;
    height: auto;
    margin: 30px 60px 0;
    display: block
}

#esg.esg_3_4 .attract .esg_3_4_pic_6 {
    position: relative;
    width: 100%;
    max-width: 250px;
    height: auto;
    margin: 0 0 0 60px;
    display: block
}

#esg.esg_3_4 .attract .esg_3_4_pic_15 {
    position: relative;
    width: 100%;
    max-width: 280px;
    height: auto;
    margin: 25px auto;
    display: block
}

#esg.esg_3_4 .attract .esg_3_4_pic_16 {
    position: relative;
    width: 100%;
    max-width: 260px;
    height: auto;
    margin: 25px auto;
    display: block
}

#esg.esg_3_4 .attract .esg_3_4_pic_17 {
    position: relative;
    width: 100%;
    max-width: 270px;
    height: auto;
    margin: 25px auto;
    display: block
}

#esg.esg_3_4 .attract .items {
    position: relative;
    width: 100%;
    padding: 25px 0 50px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 40px
}

#esg.esg_3_4 .attract .items .item {
    position: relative;
    width: 100%;
    flex: 0 0 calc(33% - 40px);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .4);
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: stretch
}

#esg.esg_3_4 .attract .items .item .up {
    position: relative;
    padding: 20px 0;
    text-align: center;
    line-height: 1.4;
    font-size: 1.25rem;
    font-weight: normal;
    letter-spacing: .125rem;
    background-color: #e1e1e1;
    display: flex;
    justify-content: center;
    align-items: center
}

#esg.esg_3_4 .attract .items .item .down {
    position: relative;
    flex: 1;
    padding: 40px 0;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 300;
    letter-spacing: .125rem;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center
}

#esg.esg_3_4 .attract .items .item .down::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 55px;
    height: 5px;
    transform: translateX(-50%);
    background-color: #ff8f00
}

#esg.esg_3_4 .attract .items .item:nth-child(1) .down {
    background: url(../../assets/images/layout/esg_3_4_pic_3.png) bottom right/180px auto no-repeat
}

#esg.esg_3_4 .attract .items .item:nth-child(2) .down {
    background: url(../../assets/images/layout/esg_3_4_pic_4.png) bottom right/180px auto no-repeat
}

#esg.esg_3_4 .attract .items .item:nth-child(3) .down {
    background: url(../../assets/images/layout/esg_3_4_pic_5.png) bottom right/180px auto no-repeat
}

#esg.esg_3_4 .attract .lists {
    position: relative;
    width: 100%;
    padding: 30px 0 50px;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center;
    gap: 40px
}

#esg.esg_3_4 .attract .lists .list {
    position: relative;
    width: 100%;
    max-width: 950px;
    min-height: 160px;
    border-radius: 5px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .4);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch
}

#esg.esg_3_4 .attract .lists .list .left {
    position: relative;
    flex: 0 0 320px;
    box-sizing: border-box;
    padding: 20px;
    font-size: 1.125rem;
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: .125rem;
    display: flex;
    justify-content: center;
    align-items: center
}

#esg.esg_3_4 .attract .lists .list .left::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 250px;
    height: 3px;
    background-color: #ff8f00;
    transform: translateX(-50%)
}

#esg.esg_3_4 .attract .lists .list .left::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 70%;
    background-color: #cbcbcb;
    transform: translateY(-50%)
}

#esg.esg_3_4 .attract .lists .list:nth-child(1) .left {
    background: url(../../assets/images/layout/esg_3_4_pic_7.png) center left/140px auto no-repeat
}

#esg.esg_3_4 .attract .lists .list:nth-child(2) .left {
    background: url(../../assets/images/layout/esg_3_4_pic_8.png) center left/140px auto no-repeat
}

#esg.esg_3_4 .attract .lists .list:nth-child(3) .left {
    background: url(../../assets/images/layout/esg_3_4_pic_9.png) center left/140px auto no-repeat
}

#esg.esg_3_4 .attract .lists .list .right {
    position: relative;
    box-sizing: border-box;
    padding: 25px;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: .125rem;
    display: flex;
    justify-content: center;
    align-items: center
}

#esg.esg_3_4 .attract .prods {
    position: relative;
    width: 100%;
    padding: 25px 50px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 40px
}

#esg.esg_3_4 .attract .prods .prod {
    position: relative;
    flex: 0 1 calc(50% - 20px);
    padding: 0;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .4);
    overflow: hidden;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    transition: box-shadow .3s ease
}

#esg.esg_3_4 .attract .prods .prod:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, .5)
}

#esg.esg_3_4 .attract .prods .prod .name {
    position: relative;
    height: 100%;
    flex: 0 0 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1.25rem;
    font-weight: normal;
    line-height: 1.6
}

#esg.esg_3_4 .attract .prods .prod .name::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 100%;
    background-color: #ff8f00;
    transform: translateY(-50%)
}

#esg.esg_3_4 .attract .prods .prod .name::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 60%;
    background-color: #cbcbcb;
    transform: translateY(-50%)
}

#esg.esg_3_4 .attract .prods .prod .info {
    position: relative;
    flex: 1 1 auto;
    padding: 25px 40px;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .0938rem
}

#esg.esg_3_4 .attract .step_area {
    position: relative;
    width: 100%;
    max-width: 1100px
}

#esg.esg_3_4 .attract .step_area.a1 {
    height: 500px
}

#esg.esg_3_4 .attract .step_area.a1 .esg_3_4_pic_arr {
    width: 540px;
    height: auto;
    transform: translate(-65%, -24%)
}

#esg.esg_3_4 .attract .step_area.a1 .esg_3_4_pic_10 {
    width: 254px;
    height: auto;
    transform: translate(-188%, -127%)
}

#esg.esg_3_4 .attract .step_area.a1 .b1 {
    transform: translate(-165%, 10%)
}

#esg.esg_3_4 .attract .step_area.a1 .b2 {
    transform: translate(-50%, -50%)
}

#esg.esg_3_4 .attract .step_area.a1 .b3 {
    transform: translate(67%, -50%)
}

#esg.esg_3_4 .attract .step_area.a2 {
    height: 565px
}

#esg.esg_3_4 .attract .step_area.a2 .esg_3_4_pic_arr2 {
    width: 352px;
    height: auto;
    transform: translate(-36%, -50%)
}

#esg.esg_3_4 .attract .step_area.a2 .esg_3_4_pic_11 {
    width: 227px;
    height: auto;
    transform: translate(-105%, -128%)
}

#esg.esg_3_4 .attract .step_area.a2 .b1 {
    min-height: 255px;
    transform: translate(-91%, 3%)
}

#esg.esg_3_4 .attract .step_area.a2 .b2 {
    transform: translate(20%, -120%)
}

#esg.esg_3_4 .attract .step_area.a2 .b3 {
    min-height: 255px;
    transform: translate(20%, 3%)
}

#esg.esg_3_4 .attract .step_area img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block
}

#esg.esg_3_4 .attract .step_area-box {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    max-width: 305px;
    min-height: 215px;
    box-sizing: border-box;
    padding: 40px 15px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .4)
}

#esg.esg_3_4 .attract .step_area-box::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 55px;
    height: 5px;
    background-color: #ff8f00;
    transform: translateX(-50%)
}

#esg.esg_3_4 .attract .step_area-box .LV {
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 75px;
    font-size: 1.1875rem;
    font-weight: bold;
    color: #fff;
    background-color: #d9d9d9;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    box-sizing: border-box;
    padding: 10px
}

#esg.esg_3_4 .attract .step_area-box .tit {
    position: relative;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: .125rem;
    font-weight: normal;
    margin: 0 0 10px
}

#esg.esg_3_4 .attract .step_area-box .sub {
    position: relative;
    text-align: left;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .125rem;
    font-weight: 300
}

#esg.esg_3_4 .attract .step_area-box .line {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: #cbcbcb;
    margin: 30px auto
}

#esg.esg_3_4 .attract .friendly_box {
    position: relative;
    width: 100%;
    max-width: 726px;
    margin: 0 auto 0 100px;
    box-sizing: border-box;
    padding: 50px 130px 50px 55px;
    background-color: #fff;
    border-radius: 40px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .4)
}

#esg.esg_3_4 .attract .friendly_box ol li {
    position: relative;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: .125rem;
    margin: 10px 0
}

#esg.esg_3_4 .attract .friendly_box .esg_3_4_pic_12 {
    position: absolute;
    top: 50%;
    right: -200px;
    width: 100%;
    max-width: 300px;
    height: auto;
    display: block;
    transform: translateY(-50%)
}

#esg.esg_3_4 .attract .friendly_box::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 165px;
    background-color: #ff8f00;
    transform: translateY(-50%)
}

#esg.esg_3_4 .attract .friendly_box.esg_3_4_4 {
    max-width: 900px;
    margin: 0 35px 0 auto;
    padding: 50px 35px 50px 130px
}

#esg.esg_3_4 .attract .friendly_box.esg_3_4_4 .esg_3_4_pic_18 {
    position: absolute;
    top: 50%;
    left: -225px;
    width: 100%;
    max-width: 340px;
    height: auto;
    display: block;
    transform: translateY(-50%)
}

#esg.esg_3_4 .attract .friendly_box.esg_3_4_4 .w a {
    text-decoration: none;
    color: #ff8f00
}

#esg.esg_3_4 .attract .friendly_box.esg_3_4_4::after {
    left: auto;
    right: 0;
    width: 4px;
    height: 440px;
    background-color: #ff8f00;
    transform: translateY(-50%)
}

#esg.esg_3_4 .attract .photo_box {
    position: relative;
    width: 100%
}

#esg.esg_3_4 .attract .photo_box .text {
    position: relative;
    width: 100%;
    max-width: 760px;
    margin: 35px auto 0;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: .125rem
}

#esg.esg_3_4 .attract .photo_box .text span {
    position: relative;
    font-size: 1.125rem;
    font-weight: normal;
    display: block;
    margin: 0 0 5px
}

#esg.esg_3_4 .attract .photo_box .text.t2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(0%, -520%)
}

#esg.esg_3_4 .attract .photo_box .text.t3 {
    margin: -100px auto 0
}

#esg.esg_3_4 .attract .photo_box .esg_3_4_pic_13 {
    position: relative;
    width: 100%;
    max-width: 930px;
    height: auto;
    display: block;
    margin: 0 auto
}

#esg.esg_3_4 .attract .photo_box .esg_3_4_pic_14 {
    position: relative;
    width: 100%;
    max-width: 820px;
    height: auto;
    display: block;
    margin: 0 auto
}

@media(max-width: 1600px) {
    #esg.esg_3_4 .TP {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #esg.esg_3_4 .TP {
        margin: 0;
        width: 100vw;
        height: 70vw;
        background: url(../../assets/images/layout/esg_3_4_TP.jpg) center left/cover no-repeat
    }

    #esg.esg_3_4 .TP_cnt {
        position: relative;
        width: 100%;
        max-width: 70%;
        height: 130px;
        background-color: #fff;
        border-bottom: 4px solid #ff8f00;
        box-sizing: border-box;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        transform: translateX(-22%)
    }

    #esg.esg_3_4 .TP_cnt_w {
        position: relative;
        width: 100%;
        margin: 0;
        font-size: 2rem;
        font-weight: normal;
        color: #000;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #esg.esg_3_4 .TP_cnt_s {
        position: relative;
        width: 100%;
        padding: 0 15px 0 25px;
        margin: 10px 0 0;
        height: auto;
        font-size: 1.125rem;
        line-height: 1.4;
        letter-spacing: .1875rem;
        font-family: "Noto Serif TC";
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    #esg.esg_3_4 .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #esg.esg_3_4 .intro {
        padding: 30px 0;
        background-color: #fff
    }

    #esg.esg_3_4 .intro .w {
        margin: 20px auto
    }

    #esg.esg_3_4 .attract {
        padding: 25px 0
    }

    #esg.esg_3_4 .attract .sc_group {
        padding: 0 0 15px
    }

    #esg.esg_3_4 .attract .sc_group.R2 {
        flex-direction: column;
        justify-content: stretch;
        align-items: center;
        gap: 0
    }

    #esg.esg_3_4 .attract .sc_group.R2 .R2_g {
        flex: 0 1 auto
    }

    #esg.esg_3_4 .attract .t {
        margin: 15px 0
    }

    #esg.esg_3_4 .attract .w {
        margin: 5px 0 30px;
        padding: 0 15px
    }

    #esg.esg_3_4 .attract .w.R {
        margin: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }

    #esg.esg_3_4 .attract .w.R .wR_1 {
        flex: 0 1 auto
    }

    #esg.esg_3_4 .attract .w.R .wR_2 {
        position: relative;
        margin: 15px 0 0 0
    }

    #esg.esg_3_4 .attract .w.R .wR_2 span {
        margin: 0 0 5px
    }

    #esg.esg_3_4 .attract .img_F {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    #esg.esg_3_4 .attract .esg_3_4_pic_1 {
        max-width: 80%;
        margin: 25px auto
    }

    #esg.esg_3_4 .attract .esg_3_4_pic_2 {
        max-width: 80%;
        margin: 25px auto
    }

    #esg.esg_3_4 .attract .esg_3_4_pic_6 {
        max-width: 80%;
        margin: 25px auto
    }

    #esg.esg_3_4 .attract .items {
        position: relative;
        padding: 25px 0 50px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 40px
    }

    #esg.esg_3_4 .attract .items .item {
        flex: 0 1 calc(100% - 40px);
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: stretch
    }

    #esg.esg_3_4 .attract .items .item .up {
        padding: 20px 0
    }

    #esg.esg_3_4 .attract .items .item .down {
        padding: 40px 0
    }

    #esg.esg_3_4 .attract .lists {
        padding: 20px 0 30px;
        display: flex;
        flex-direction: column;
        justify-content: stretch;
        align-items: center;
        gap: 40px
    }

    #esg.esg_3_4 .attract .lists .list {
        min-height: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: stretch
    }

    #esg.esg_3_4 .attract .lists .list .left {
        flex: 0 1 auto;
        padding: 30px 20px
    }

    #esg.esg_3_4 .attract .lists .list .left::after {
        top: auto;
        bottom: 0;
        right: 50%;
        width: 80%;
        height: 1px;
        transform: translate(50%, 0)
    }

    #esg.esg_3_4 .attract .prods {
        position: relative;
        width: 100%;
        padding: 25px;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 40px
    }

    #esg.esg_3_4 .attract .prods .prod {
        flex: 0 1 calc(100% - 20px);
        flex-direction: column;
        align-items: flex-start;
        padding: 0 25px 40px
    }

    #esg.esg_3_4 .attract .prods .prod .name {
        flex: 0 0 80px;
        width: 100%;
        height: auto
    }

    #esg.esg_3_4 .attract .prods .prod .name::before {
        display: none
    }

    #esg.esg_3_4 .attract .prods .prod .name::after {
        top: auto;
        bottom: 0;
        right: auto;
        left: 50%;
        width: 60%;
        height: 1px;
        transform: translate(-50%, 0)
    }

    #esg.esg_3_4 .attract .prods .prod .info {
        flex: none;
        width: 100%;
        padding: 20px 0 0
    }

    #esg.esg_3_4 .attract .step_area.a1 {
        height: auto
    }

    #esg.esg_3_4 .attract .step_area.a1 .esg_3_4_pic_arr {
        display: none
    }

    #esg.esg_3_4 .attract .step_area.a1 .esg_3_4_pic_10 {
        width: 254px;
        height: auto;
        transform: translate(0)
    }

    #esg.esg_3_4 .attract .step_area.a1 .b1 {
        transform: translate(0)
    }

    #esg.esg_3_4 .attract .step_area.a1 .b2 {
        transform: translate(0)
    }

    #esg.esg_3_4 .attract .step_area.a1 .b3 {
        transform: translate(0)
    }

    #esg.esg_3_4 .attract .step_area.a2 {
        height: auto
    }

    #esg.esg_3_4 .attract .step_area.a2 .esg_3_4_pic_arr2 {
        display: none
    }

    #esg.esg_3_4 .attract .step_area.a2 .esg_3_4_pic_11 {
        width: 227px;
        height: auto;
        transform: translate(0)
    }

    #esg.esg_3_4 .attract .step_area.a2 .b1 {
        min-height: auto;
        transform: translate(0)
    }

    #esg.esg_3_4 .attract .step_area.a2 .b2 {
        transform: translate(0)
    }

    #esg.esg_3_4 .attract .step_area.a2 .b3 {
        min-height: auto;
        transform: translate(0)
    }

    #esg.esg_3_4 .attract .step_area img {
        position: relative;
        top: auto;
        left: auto;
        display: block;
        margin: 0 auto 25px
    }

    #esg.esg_3_4 .attract .step_area-box {
        position: relative;
        top: auto;
        left: auto;
        min-height: auto;
        margin: 0 auto 25px;
        padding: 40px 15px
    }

    #esg.esg_3_4 .attract .friendly_box {
        max-width: 726px;
        margin: 0 auto;
        padding: 25px 50px
    }

    #esg.esg_3_4 .attract .friendly_box .esg_3_4_pic_12 {
        position: relative;
        top: auto;
        right: auto;
        margin: 35px 0 0;
        transform: translateY(0)
    }

    #esg.esg_3_4 .attract .friendly_box.esg_3_4_4 {
        max-width: 900px;
        margin: 0 auto;
        padding: 25px 25px
    }

    #esg.esg_3_4 .attract .friendly_box.esg_3_4_4 .esg_3_4_pic_18 {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        margin: 0 0 35px;
        transform: translateY(0)
    }

    #esg.esg_3_4 .attract .photo_box .text {
        max-width: 760px;
        margin: 5px 15px 15px
    }

    #esg.esg_3_4 .attract .photo_box .text.t2 {
        position: relative;
        top: auto;
        left: auto;
        transform: translate(0, 0)
    }

    #esg.esg_3_4 .attract .photo_box .text.t3 {
        margin: -30px auto 0
    }

    #esg.esg_3_4 .attract .photo_box .esg_3_4_pic_13 {
        max-width: 930px;
        margin: 0 auto
    }

    #esg.esg_3_4 .attract .photo_box .esg_3_4_pic_14 {
        max-width: 820px;
        margin: 0 auto
    }
}

#purduct .TP {
    position: relative;
    margin: 70px 0 0 0;
    width: 100vw;
    height: 500px;
    background: url(../../assets/images/layout/prd_TP.jpg) center/cover no-repeat;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center
}

#purduct .TP_cnt {
    position: relative;
    width: 100%;
    max-width: 926px;
    height: 210px;
    background-color: #fff;
    border-bottom: 4px solid #ff8f00;
    box-sizing: border-box;
    padding: 0 0 0 460px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translateX(-60%)
}

#purduct .TP_cnt_w {
    position: relative;
    width: 100%;
    margin: 0 auto 25px;
    font-size: 2.25rem;
    font-weight: normal;
    color: #000;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#purduct .TP_cnt_w .sq {
    position: relative;
    width: 45px;
    height: 20px;
    margin: 0 20px 0 0;
    clip-path: polygon(0 0, 100% 0, 75% 100%, 0% 100%);
    background-color: #ff8f00
}

#purduct .TP_cnt_s {
    position: relative;
    width: 100%;
    height: 70px;
    font-size: 1.375rem;
    line-height: 1.4;
    letter-spacing: .1875rem;
    font-family: "Noto Serif TC";
    display: flex;
    justify-content: flex-start;
    align-items: center
}

#purduct .sc_title {
    position: relative;
    width: 100%;
    text-align: center
}

#purduct .sc_title_inner {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    font-size: 1.625rem;
    font-weight: normal
}

#purduct .sc_title_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #f37229
}

#purduct .purduct_cnt {
    position: relative;
    width: 100%;
    padding: 60px 0
}

#purduct .purduct_cnt .logo {
    position: relative;
    text-align: center;
    box-sizing: border-box;
    padding: 30px 0
}

#purduct .purduct_cnt .logo img {
    position: relative;
    width: 100%;
    max-width: 250px;
    height: auto;
    display: inline-block
}

#purduct .purduct_cnt-area {
    position: relative;
    width: 100%;
    margin: 0 auto 55px;
    box-sizing: border-box;
    padding: 40px 70px;
    background-color: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .4)
}

#purduct .purduct_cnt-area-box {
    position: relative;
    width: 100%;
    margin: 35px auto;
    padding: 0 0 35px
}

#purduct .purduct_cnt-area-box:last-child {
    padding: 0
}

#purduct .purduct_cnt-area .slg {
    position: relative;
    text-align: left;
    font-size: 1.5rem;
    font-weight: bold;
    color: #f37229;
    line-height: 1.6
}

#purduct .purduct_cnt-area .prod_grp {
    position: relative;
    margin: 15px auto;
    padding: 10px 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center
}

#purduct .purduct_cnt-area .prod_grp .t {
    position: relative;
    display: inline-block;
    font-size: 1.25rem;
    font-weight: bold;
    padding: .9375rem 1.25rem;
    color: #fff;
    letter-spacing: 3px;
    background-color: #ff8f00
}

#purduct .purduct_cnt-area .prod_grp .links {
    position: relative;
    padding: 0 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center
}

#purduct .purduct_cnt-area .prod_grp .links a {
    position: relative;
    font-size: 1.125rem;
    font-weight: 300;
    color: #373f41;
    display: block;
    padding: .625rem 1.5625rem;
    text-decoration: none;
    transition: all .2s ease-out;
    border-right: 1px solid rgba(55, 63, 65, .4)
}

#purduct .purduct_cnt-area .prod_grp .links a:last-child {
    border: 0
}

#purduct .purduct_cnt-area .prod_grp .links a:hover {
    color: #ff8f00
}

#purduct .sc_social {
    box-sizing: border-box;
    padding: 3.75rem 0 3.75rem;
    margin: 0;
    background-color: #fff
}

#purduct .sc_social .items {
    position: relative;
    width: 100%;
    max-width: 860px;
    margin: 30px auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch
}

#purduct .sc_social .items .item {
    position: relative;
    flex: 0 1 20%;
    box-sizing: border-box;
    padding: 15px
}

#purduct .sc_social .items .item_inner {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center
}

#purduct .sc_social .items .item_inner .icon {
    position: relative;
    width: 100%;
    max-width: 40px
}

#purduct .sc_social .items .item_inner .icon img {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto
}

#purduct .sc_social .items .item_inner .btns {
    position: relative;
    width: 100%
}

#purduct .sc_social .items .item_inner .btns a {
    position: relative;
    display: block;
    box-sizing: border-box;
    padding: 8px 0;
    margin: 10px 0;
    border: 1px solid #000;
    color: #373f41;
    background-color: #fff;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .26px;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .2s ease-out
}

#purduct .sc_social .items .item_inner .btns a:hover {
    color: #fff;
    background-color: #ff8f00
}

#purduct .sc_social .items .item.withBtn {
    flex: 0 1 20%
}

@media(max-width: 1600px) {
    #purduct .TP {
        margin: 50px 0 0 0
    }
}

@media(max-width: 768px) {
    #purduct .TP {
        margin: 0;
        width: 100vw;
        height: 70vw;
        background-position: center center
    }

    #purduct .TP_cnt {
        position: relative;
        width: 100%;
        max-width: 70%;
        height: 130px;
        background-color: #fff;
        border-bottom: 4px solid #ff8f00;
        box-sizing: border-box;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        transform: translateX(-22%)
    }

    #purduct .TP_cnt_w {
        position: relative;
        width: 100%;
        margin: 0;
        font-size: 2rem;
        font-weight: normal;
        color: #000;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #purduct .TP_cnt_w .sq {
        position: relative;
        width: 20px;
        height: 20px;
        margin: 0 5px 0 0;
        clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
        background-color: #ff8f00
    }

    #purduct .TP_cnt_s {
        position: relative;
        width: 100%;
        padding: 0 15px 0 25px;
        margin: 10px 0 0;
        height: auto;
        font-size: 1.125rem;
        line-height: 1.4;
        letter-spacing: .1875rem;
        font-family: "Noto Serif TC";
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    #purduct .sc_title_inner {
        padding: 10px 0;
        font-size: 1.625rem
    }

    #purduct .purduct_cnt {
        padding: 30px 0
    }

    #purduct .purduct_cnt .logo {
        padding: 15px 0
    }

    #purduct .purduct_cnt .logo img {
        max-width: 200px
    }

    #purduct .purduct_cnt-area {
        margin: 0 auto 30px;
        padding: 15px 20px
    }

    #purduct .purduct_cnt-area-box {
        margin: 15px auto;
        padding: 0 0 15px
    }

    #purduct .purduct_cnt-area .slg {
        font-size: 1.5rem
    }

    #purduct .purduct_cnt-area .prod_grp {
        margin: 15px auto;
        padding: 10px 0 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }

    #purduct .purduct_cnt-area .prod_grp .t {
        font-size: 1.25rem;
        padding: .9375rem 1.25rem
    }

    #purduct .purduct_cnt-area .prod_grp .links {
        padding: 10px 0 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }

    #purduct .purduct_cnt-area .prod_grp .links a {
        font-size: 1.125rem;
        line-height: 1.4;
        padding: .625rem 1.5625rem;
        border-right: 0
    }

    #purduct .sc_social {
        padding: 2.5rem 0 .9375rem;
        margin: 0 0 50px
    }

    #purduct .sc_social .items {
        margin: 30px auto
    }

    #purduct .sc_social .items .item {
        flex: 0 1 20%;
        padding: 15px
    }

    #purduct .sc_social .items .item_inner .icon {
        max-width: 40px
    }

    #purduct .sc_social .items .item_inner .btns a {
        padding: 8px 0;
        margin: 10px 0;
        font-size: .8125rem
    }

    #purduct .sc_social .items .item.withBtn {
        flex: 0 1 50%
    }
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

.d-none {
    display: none !important
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

@media(min-width: 576px) {
    .d-sm-none {
        display: none !important
    }

    .d-sm-inline {
        display: inline !important
    }

    .d-sm-inline-block {
        display: inline-block !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-table {
        display: table !important
    }

    .d-sm-table-row {
        display: table-row !important
    }

    .d-sm-table-cell {
        display: table-cell !important
    }

    .d-sm-flex {
        display: flex !important
    }

    .d-sm-inline-flex {
        display: inline-flex !important
    }
}

@media(min-width: 768px) {
    .d-md-none {
        display: none !important
    }

    .d-md-inline {
        display: inline !important
    }

    .d-md-inline-block {
        display: inline-block !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-table {
        display: table !important
    }

    .d-md-table-row {
        display: table-row !important
    }

    .d-md-table-cell {
        display: table-cell !important
    }

    .d-md-flex {
        display: flex !important
    }

    .d-md-inline-flex {
        display: inline-flex !important
    }
}

@media(min-width: 992px) {
    .d-lg-none {
        display: none !important
    }

    .d-lg-inline {
        display: inline !important
    }

    .d-lg-inline-block {
        display: inline-block !important
    }

    .d-lg-block {
        display: block !important
    }

    .d-lg-table {
        display: table !important
    }

    .d-lg-table-row {
        display: table-row !important
    }

    .d-lg-table-cell {
        display: table-cell !important
    }

    .d-lg-flex {
        display: flex !important
    }

    .d-lg-inline-flex {
        display: inline-flex !important
    }
}

@media(min-width: 1200px) {
    .d-xl-none {
        display: none !important
    }

    .d-xl-inline {
        display: inline !important
    }

    .d-xl-inline-block {
        display: inline-block !important
    }

    .d-xl-block {
        display: block !important
    }

    .d-xl-table {
        display: table !important
    }

    .d-xl-table-row {
        display: table-row !important
    }

    .d-xl-table-cell {
        display: table-cell !important
    }

    .d-xl-flex {
        display: flex !important
    }

    .d-xl-inline-flex {
        display: inline-flex !important
    }
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,
.slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid rgba(0, 0, 0, 0)
}

.slick-arrow.slick-hidden {
    display: none
}

/*# sourceMappingURL=all.min.css.map */