@charset "utf-8";

body {
    font-family: 'Noto Sans TC', sans-serif;
    overflow-x: hidden;
}


.container {
    max-width: 1200px;
    margin: 0 auto;
}

/* .wrap {
    margin-top: 71px;
    background-color: #f5f5f5;
} */

.text-e4e4e4 {
    color: #e4e4e4;
}

.bg-e4e4e4 {
    background-color: #e4e4e4;
}

.border-e4e4e4 {
    border-color: #e4e4e4;
}

.text-47bac2 {
    color: #47bac2;
}

.bg-47bac2 {
    background-color: #47bac2;
}

.border-47bac2 {
    border-color: #47bac2;
}

.text-183838 {
    color: #183838;
}

.bg-183838 {
    background-color: #183838;
}

.border-183838 {
    border-color: #183838;
}

.text-3e3a39 {
    color: #3e3a39;
}

.bg-3e3a39 {
    background-color: #3e3a39;
}

.border-3e3a39 {
    border-color: #3e3a39;
}

.text-828282 {
    color: #828282;
}

.bg-828282 {
    background-color: #828282;
}

.border-828282 {
    border-color: #828282;
}


ul:after,
section:after,
div:after,
li:after {
    content: '';
    display: block;
    clear: both;
}

/*headroom*/
.headerbox {
    background-color: #ffffff9f;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    z-index: 10;
    box-shadow: 0 3px 10px 1px rgb(0 0 0 / 0.2);
}

.headroom--unpinned,
.headroom--pinned {
    background-color: #ffffff;
    /* box-shadow: 0 3px 10px 1px rgb(0 0 0 / 0.2); */
}

.headroom--top {
    background-color: #ffffff9f;
}

.headroom--unpinned .dropdown-content,
.headroom--pinned .dropdown-content {
    background-color: #ffffff;
}

.headroom--top .dropdown-content {
    background-color: #ffffff;
}

.menu {
    display: flex;
}

.menubtn {
    display: none;
}

.rwdmenu {
    display: none;
}

.rwdmenulist {
    display: none;
}

.menu li {
    position: relative;

    padding: 5px 0;
    /* width: 6rem;
    height: 2rem; */
}

.menu a,
.menu .menuwrd {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu>li>a {
    border-color: transparent;
    border-radius: 25px;
    border-width: 2px;
}

.rwdmenulist li {
    position: relative;
    /* width: 16.4rem;
    padding-left: 10px; */
}


.rwdmenubtn {
    display: none;
}

.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #ffffff;
    width: 130px;
    top: 28px;
    /* margin: 4px 0px; */
    padding: 10px 0;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
    left: calc((100% - 130px) / 2);
}

.dropdown-content a {
    color: #47bcc4;
    padding: 8px 0px;
    text-decoration: none;
    display: block;
    /* font-size: 14px; */
}

.dropdown-content a:hover::before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    border-bottom-width: 1px;
    border-color: #47bcc4;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.wrdwidth {
    letter-spacing: 0.3rem;
}

/*index*/
.main.index {
    height: calc(100vh - 214px);
}

.aboutwrd {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
}

.indexblock {
    position: relative;
    width: 100%;
    margin-top: -300px;
    /* top: 54%; */
    left: 0;
}

.middleblock {
    background-color: #fff;
    border-bottom-left-radius: 35px;
    border-bottom-right-radius: 35px;
    border-top-left-radius: 35px;
    box-shadow: 0px 3px 36px -14px rgb(0 0 0 / 0.75);
}


.servicebox {
    position: absolute;
    top: 35%;
    left: 0;
    width: 100%;
}

:hover.serviceblock {
    box-shadow: 0px 23px 20px -24px rgb(0 0 0 / 0.75);
}


.bannerbox {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}


.newsbg {
    background-image: url(/assets/img/index/block-0.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
}

.colorbox1 {
    position: absolute;
    bottom: 0;
    background-color: #47bac2;
    width: 60px;
    height: 50%;
    left: 0%;
    transform-origin: bottom;
    transform: skewX(45deg);
}

.colorbox2 {
    position: absolute;
    bottom: 0;
    background-color: #47bac2;
    width: 60px;
    height: 50%;
    left: 15%;
    transform-origin: bottom;
    transform: skewX(45deg);
}

.colorbox3 {
    position: absolute;
    bottom: 0;
    background-color: #47bac2;
    width: 60px;
    height: 50%;
    left: 30%;
    transform-origin: bottom;
    transform: skewX(45deg);
}

.rwdbannerbox {
    position: absolute;
    top: 50%;
    left: 0;
}

/*news*/
.topbox {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
}

.newstitle {
    overflow: hidden;
    /* height: 35px; */
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

:hover.newsli .newstitle,
:hover.newsli .newstime {
    color: #47bac2;
}

/*about*/
.aboutblock {
    background-color: #fff;
    border-bottom-left-radius: 35px;
    border-bottom-right-radius: 35px;
    border-top-left-radius: 35px;
    /* box-shadow: 0px 3px 36px -14px rgb(0 0 0 / 0.75); */
}

/*advantage*/
.blockheight {
    height: 17rem;
    width: 19rem;
}

/*record*/
.tableblock {
    position: absolute;
    clip-path: polygon(100% 0, 1% 0, 100% 100%);
    background-color: #e4e4e4;
    top: -1px;
    right: 0;
    width: 45px;
    height: 45px;
}

.tableblock1 {
    position: relative;
}

.tableblock1::before {
    content: "";
    position: absolute;
    background-color: #47bac2;
    height: 100%;
    width: 1px;
    top: 0;
    left: 50%;
}

/*introduce*/
.introducebg {
    background-color: #47bac223
}


/*solar*/
.solarblock {
    background-color: #47bac2;
    border-bottom-left-radius: 35px;
    border-bottom-right-radius: 35px;
    border-top-left-radius: 35px;
    /* box-shadow: 0px 3px 36px -14px rgb(0 0 0 / 0.75); */
}

.solarheight {
    height: 17rem;
    width: 16rem;
}

/*example*/
.casetitle {
    overflow: hidden;
    /* height: 35px; */
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

:hover.example img {
    box-shadow: 4px 4px 14px -5px rgb(0 0 0 / 0.85);
}

:hover.example .casetitle {
    color: #47bac2;
}

/*contact*/
:hover.inclinebtn {
    box-shadow: 0px 4px 14px -5px rgb(0 0 0 / 0.85);
}

/*footer*/
/* .footerbox {
    background-image: url(/assets/img/index/footbg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
} */

/*footer*/
.gotop {
    position: absolute;
    right: 15px;
    bottom: 0px;
    outline: none;
    z-index: 9;
}

/**
* input number 修飾
*/
@layer utilities {

    input[type='number']::-webkit-inner-spin-button,
    input[type='number']::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
}

/** 
* articlebox
*/
.articlebox {
    word-break: break-word;
}

.articlebox iframe {
    max-width: 100%;
}

.articlebox img {
    max-width: 100%;
    display: inline-block;
}

.articlebox .youtube-embed-wrapper {
    padding-top: 0 !important;
}

.articlebox iframe,
.articlebox object,
.articlebox embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/** 
* parsley
*/
input.parsley-error,
select.parsley-error,
textarea.parsley-error {
    border: 1px solid #b94a48;
}

.parsley-errors-list {
    /* position: absolute; */
    margin: 2px 0 3px;
    list-style-type: none;
    font-size: 0.9em;
    line-height: 0.9em;
    opacity: 0;
    color: #b94a48;
    transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    -webkit-transition: all 0.3s ease-in;
}

.parsley-errors-list.filled {
    opacity: 1;
}

/** 
* magnific-popup
*/
.white-popup {
    position: relative;
    background: #fff;
    padding: 40px;
    width: auto;
    max-width: 50%;
    margin: 20px auto;
    border-radius: 6px;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
    /* border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
    border-radius: var(--bs-modal-border-radius);
    outline: 0; */
}

/* .mfp-bg {
    background: #fff;
} */

/* overlay at start */
.mfp-fade.mfp-bg {
    opacity: 0;
    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.8;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;

    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out;
}

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}

/* vue */
[v-cloak] {
    display: none;
}


@media screen and (max-width: 1920px) {

    /*index*/

}

@media screen and (max-width: 1440px) {

    /*index*/


    .servicebox {
        top: 20%;
    }
}

@media screen and (max-width: 1366px) {

    /*index*/


    .aboutwrd {
        top: 38%;
    }

    .servicebox {
        top: 15%;
    }
}

@media screen and (max-width: 1024px) {

    /*index*/
    .aboutwrd {
        top: 30%;
    }

    .servicebox {
        top: 5%;
    }

    /*news*/
    .topblock {
        display: none;
    }
}

@media screen and (max-width: 820px) {

    /*header*/

    .wrap {
        margin-top: 90px;
    }

    .headroom--top {
        background-color: rgb(255, 255, 255);
    }

    .rwdmenubtn {
        display: block;
    }

    .menubtn {
        display: block;
        float: right;
        z-index: 999;
    }

    .menu {
        display: none;
    }

    .rwdmenulist {
        display: block;
    }

    .rwdmenu {
        display: block;
        background-color: #ffffff;
        top: 0;
        left: 0;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 990;
        transform: translate(0%, -150%);
        transition: all 1s ease;
        box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
            0 4px 6px -4px rgb(0 0 0 / 0.1);
    }

    .rwdmenu.active {
        transform: translate(0%, 0%);
    }

    .menubtn.active .close {
        display: block;
    }

    .menubtn.active .open {
        display: none;
    }

    /*index*/
    .mfp-inline-holder .mfp-content {
        width: 80%;
        cursor: auto;
    }

    /*index*/

    .aboutwrd {
        top: 50%;
    }

    .main.index {
        height: calc(100vh - 262px);
    }

    .servicebox {
        top: 30%;
    }

    /*introduce*/
    .blockheight {
        height: 21rem;
        width: 14rem;
    }

    /*solar*/
    .solarheight {
        height: 20rem;
        width: 13rem;
    }
}

@media screen and (max-width: 768px) {
    .indexblock {
        position: relative;
        width: 100%;
        top: 0;
        left: 0;
    }
}

@media screen and (max-width: 430px) {

    /*index*/
    .aboutwrd {
        top: 35%;
    }

    .indexblock {
        position: relative;
        width: 100%;
        margin-top: 0px;
        top: 0;
        left: 0;
    }

    .main.index {
        height: calc(100vh - 220px);
    }

    .servicebox {
        top: 10%;
    }

    .rwdbannerbox {
        position: relative;
        top: 0%;
        left: 0;
    }

    /*news*/
    .topbox {
        position: relative;
        top: 50%;
        left: 0;
        width: 100%;
        padding-top: 10px;
    }

    /*record*/
    .tableblock {
        position: absolute;
        clip-path: polygon(100% 0, 1% 0, 100% 100%);
        background-color: #e4e4e4;
        top: -1px;
        right: 0;
        width: 45px;
        height: 45px;
        display: none;
    }

    .tableblock1::before {
        content: "";
        position: absolute;
        background-color: #47bac2;
        height: 1px;
        width: 100%;
        top: 100%;
        left: 0;
        display: none;
    }

    .tableblock2 {
        position: relative;
    }

    .tableblock2::before {
        content: "";
        position: absolute;
        background-color: #47bac2;
        height: 1px;
        width: 100%;
        top: 100%;
        left: 0;
    }

    /*introduce*/
    .blockheight {
        height: 17rem;
        width: 18rem;
    }

    /*solar*/
    .solarheight {
        height: 16rem;
        width: 18rem;
    }
}

@media screen and (max-width: 425px) {}

@media screen and (max-width: 414px) {}

@media screen and (max-width: 390px) {}

@media screen and (max-width: 375px) {}

@media screen and (max-width: 320px) {

    /*index*/
    .aboutwrd {
        top: 23%;
    }

    .servicebox {
        top: 0%;
    }

    /*introduce*/
    .blockheight {
        height: 19rem;
        width: 15rem;
    }

    /*solar*/
    .solarheight {
        height: 19rem;
        width: 14rem;
    }
}