
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0');

@charset "UTF-8";


@font-face {
  font-family: "Didot";
  src: url("../font/Didot-Title.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}

/* Bold */
@font-face {
  font-family: "Didot";
  src: url("../font/Didot-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Canela";
  src: url("../font/Canela-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}

/* Regular Italic */
@font-face {
  font-family: "Canela";
  src: url("../font/Canela-RegularItalic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
}

/* Bold */
@font-face {
  font-family: "Canela";
  src: url("../font/Canela-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
}

/* Bold Italic */
@font-face {
  font-family: "Canela";
  src: url("../font/Canela-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
}


html,body{
    width: 100%;
    height: 100%;
    font-size: 10px; 
    font-family:Inter,'Noto Sans TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
    -webkit-text-size-adjust: 100%;color: #3E3A39;
        letter-spacing: .1em;
        line-height: 1.25em;
}

@media (max-width: 1919px){
    html,body{
        font-size: 0.5208vw;
    }
}
@media (max-width: 767px){
    html,body{
        font-size: 1.3333vw;
    }   
}

@media (max-width: 750px){
    html,body{
/*         font-size: 1.3333vw; */
    }   
}


a {
    -webkit-transition: .3s all ease;
    transition: .3s all ease;
}
img{max-width: 100%;height: auto;display: block;}
.swiper-wrapper img{width: 100%;}

.ff-serif{
    font-family:'Noto Serif TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
}
b{font-weight: bold;}
.btn{
    position: relative;
    background: #16110F;
    width: 41.3rem;
    height: 8.7rem;
    display: inline-block;
    font-weight: 400;
    border-radius: .9rem;    
    padding: 0rem 0 0 2em;
    font-size: 2.2rem;
    color: #fff;
    line-height: 1.5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out;
}


.btn i{
    position: relative;
    width: 9.3rem;
    height: 100%;
    border-left: 1px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}
.btn i::before{
    content: "";
    position: relative;
    display: block;
    width: 1.3rem;
    height: 1.3rem;
    background: url('../images/btn-arrow.svg');
    background-size: cover;
    -webkit-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out;
}
.btn.small{
    width: 26.2rem;
    height: 5.2rem;
}

.btn.small i{
    width: 6.1rem;
    border-left: none;
}



.btn:hover,.btn.active{
    background: #006A2C;
}
.btn:hover i::before{
/*     transform: translateX(50%); */
}
.text-con p{
    font-size: 2.2rem;
    line-height: 2em;
    margin-bottom: 1em;
}
.text-con .btn{
    margin-top: 4rem;
}
.container{
    position: relative;
    width: 100%;
    max-width: 165rem;
    margin: 0 auto;
    padding: 0px;
}
.sm-container{
    max-width: 145rem;
}
.full-container{
    max-width: 100%;
}
.row{
    display: flex;
    flex-wrap: wrap;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
}

.w50{
    width: 50%;
}
.w100{width: 100%;}
.w75{width: 75%;}
.wrap {
    width: 100%;
    height: auto;
}
.t-a-c{
    text-align: center;
}
.t-a-r{text-align: right;}
.f-bold{font-weight: bold;}
.mt{
    margin-top: 4rem;
}
.d-flex{
    display: flex;
}
.color-green{
    color: #006A2C;
}
header{
    position: fixed;
    z-index: 999;
    top: 0;left: 0;
    width: 100%;
    height: 10rem;
/*     background:#F0F0EC; */
    -webkit-transition: .4s all ease;
    transition: .4s all ease;
}
.header-h{height: 10rem;}
header .container{
    max-width: 100%;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: space-between; 
    align-items: center;
}
.logo{
    position: absolute;
    top: 3rem;
    left: 5.4rem;
    height: 52px;
    width: 125px;
    /*padding:5% 0;*/
    background: url(../images/logo.svg) center center no-repeat;
    background-size: contain;
    z-index: 1000;
    /*background-size: cover;*/
}

.logo a{width: 100%;height: 100%;position: relative;display: block;}
.logo img{height: 100%;width: auto;}


.header-row{display: flex;align-items: center;}

/*header nav{display: none;}*/
header::after{
    content: "";
    width: 100%;
    height: 100vh;
    -webkit-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
}
header.open::after{
    /*opacity: 1;*/
    /*visibility: visible;*/
}
.nav-btn-main{
    position: absolute;
    right: 0;
    top: 0;
/*     width: 245px; */
    height: 80px;
    background: #231815;
    display: flex;
    justify-content: center;
    align-items: center;
}
.nav-btn-txt{
    position: relative;
    color: #D1CFCE;
    font-size: 25px;
    padding: 0 3rem;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.nav-btn-main p{
    line-height: 100%;
}
.nav-btn {
    width: calc(24px + 60px);
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    cursor: pointer;
    margin-right: 0px;
    position: relative;
    
    z-index: 99;
}

.nav-btn span {
    position: absolute;
    display: block;
    width: 24px;
    height: 1px;
    background: #fff;
    top: calc(50% - 2px);
    left: calc(50% - 12px);
    border-radius: 0px;
    -webkit-transition: transform .3s ease;
    transition: transform .3s ease
}

header .nav-btn{height: 100%;}
header .nav-btn span{background:#fff; }
.nav-btn.open span{background: #fff;}
.nav-btn span:nth-child(1) {
    -webkit-transform: scale(1, 1) translate(0, -6px) rotate(0);
    transform: scale(1, 1) translate(0, -6px) rotate(0)
}

.nav-btn span:nth-child(2) {
    -webkit-transform: scale(1, 1) translate(0, 6px) rotate(0);
    transform: scale(1, 1) translate(0, 6px) rotate(0)
}

.nav-btn.open span:nth-child(1) {
    -webkit-transform: scale(2, 1) translate(0, 0) rotate(30deg);
    transform: scale(2, 1) translate(0, 0) rotate(30deg)
}


.nav-btn.open span:nth-child(2) {
    -webkit-transform: scale(2, 1) translate(0, 0) rotate(-30deg);
    transform: scale(2, 1) translate(0, 0) rotate(-30deg)
}
nav a.active{
    pointer-events: none;
}
nav{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em 0;
    font-size: 1.25rem;
    position: relative;
    z-index: 1;
    width: 100%;
}

.nav-box{
    display: block;
    width: 61.8rem;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 98;
    padding-top: 20px;
    background: rgb(35 24 21 / .8);
/*     font-family:Inter,'Noto Serif TC','微軟正黑體', 'Microsoft JhengHei', sans-serif; */
    height: calc(100vh);
    -webkit-transform: translateX(110%);
    transform: translateX(110%);
    -webkit-box-shadow: -10px 0 20px -10px rgb(0 0 0 / 10%);
    box-shadow: -10px 0 20px -10px rgb(0 0 0 / 10%);
    -webkit-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family:Minion Variable Concept,'Noto Serif TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
}



.nav-box .con{
    width: 41rem;
}
.group-title{
    color: #fff;
    display: block;
    padding: 1.8rem 0;
/*     font-size: 30px; */
    font-family:Minion Variable Concept,'Noto Serif TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
}
.group-title:hover{
    color: #fff;
}
.nav-box.open{
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
}
.nav-box .nav-btn{
    position: absolute;
    top: 0px;
    right: 35px;
}
.nav-box nav{
/*     flex-direction: column; */
    color: #000;
    text-align: left;
    align-items: flex-start;
    padding: 8rem 0;
}
.nav-search{width: 48.3rem;border-bottom: 1px solid #fff;display: flex;}
.nav-search a{width: 4.6rem;height: 4.6rem;display: block;margin:1rem;}
.nav-search input{background: transparent;border:none;font-size: 2.5rem;padding-left: .5em;border-left: 1px solid #fff;outline: none;color: #fff;}
.nav-search input::placeholder{
    color: rgb(255,255,255,.6);
}
.nav-footer{
    font-size: 2rem;
    color: #fff;
    line-height: 1.25em;
    display: flex;
    margin-top: 1em;
}
.nav-footer dl{margin-right: 2em;}
.nav-footer dt{margin-bottom: 1em;}
.nav-footer dd{color: #fff;}
nav > a,nav > div{
    padding: 0px;
    /*padding-left: 20px;*/
    font-size: 3rem;
    color: #fff;
    /*text-align: center;*/
    width: 100%;
    line-height: 1em;
    padding: 0rem 0em;
    position: relative;
    margin:0.5rem 0;
    margin: 2rem 0;
}
nav > div {
/*     z-index: 2; */
}
nav > div i{width: .5em;position: relative;top: 50%;display: inline-block;vertical-align: middle;}
nav > div i svg{vertical-align: middle;width: 100%;}
/*nav > a::before,nav > a:last-child:after{content: "";height: 1px;width: 2em;position: absolute;top: 0;background: #000;left: 50%;transform: translateX(-50%);}*/
/*nav > a:last-child:after{top: initial;bottom: 0;}*/
nav > div:hover,nav > a:hover{color: #fff;}
nav > div:hover,nav > div.active,nav > a:hover,nav > a.active{
    /*color: #5AB3A9;*/
    background: rgba(74, 33, 0, .4);
}
nav > div:hover,nav > div.active,nav > a:hover,nav > a.active{
    /*color: #5AB3A9;*/
    background: rgba(74, 33, 0, .4);
}
nav > div.level2{cursor: pointer;border:1px solid transparent;}
nav > div.level2:hover,nav > div.level2.active{
    background: transparent;
}
nav .group-content{
/*     width: fit-content; */
/*     position: absolute;
    right: 0;
    top: 0;
    height: 0;
    display: none; */
    padding-top: 6.6rem;
/*     z-index: 9; */
}
nav > div::after{
    content: "";
    display: block;
    width:0%;
    border-bottom: 1px solid #fff;
    -webkit-transition: .3s all ease;
    transition: .3s all ease;
}
nav > div:hover::after{
/*     width: 100%; */
/*     border-bottom: 1px solid #fff; */
}
nav > div:hover .group-content{
    height: auto;
    display: block;
}
nav > div .group-content a{
     font-size: 2.2rem;
    color: #fff;
    width: 100%;
    line-height: 1em;
    padding: .6em 0 .6em 0em;
    position: relative;
    display: block;
    margin:0.5rem 0;
}
nav > div .group-content li{position: relative;}
nav > div .group-content a i{margin-left: .5em;}
.group-content a:hover{
     background: #fff;
     color: #675e5c;
}


/* footer */
footer{
    background: #231815;
    /*height: 16rem;*/
    padding: 30px 0;
    color: #fff;
    font-family: "myriad-variable",'Noto Sans TC', sans-serif;
    font-variation-settings: "wdth" 90, "wght" 300;
    
}
footer p{
    text-align: center;
    font-size: 2rem;
    line-height: 1.5em;
}
footer .container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
footer .footer-social{
    display: flex;
}
footer .footer-social a{
    width: 36px;
    margin:0 5px;
}
footer p{font-weight: 300;}

.nav-logo{width: 8.4rem;position: relative;display: block;}
.nav-footer{
    flex-direction: column;
}
.nav-footer a{
    color: #fff;
}
.social-btns{
    margin-bottom: 3rem;
    display: flex;

}
.nav-footer p{
    margin-bottom: 1em;
}
.nav-footer p a {margin-right: 1em;}
.social-btns a{width: 2.9rem;margin-right: 1.5rem;}

@media (min-width: 768px){
    .nav-box nav{
        padding-top: 0;
        padding-bottom: 4rem;
    }
    .nav-box .con{
        
        width: 55.1rem;
    }
    .nav-box{
        width: 96.7rem;

    }

    nav{flex-wrap: wrap;}
    nav .group-content{
        padding-top: 0;
        position: relative;
    }
    nav hr{
        width: 100%;
        border: none;
        border-bottom: 1px solid #fff;
    }
    nav > div {
        margin: 1dvh 0;
    }
    nav > div.level2{
        width:16rem ;
        margin-right: 3rem;
        height: -webkit-fill-available;
    }
    nav .level2:nth-of-type(3),
    nav .level2:nth-of-type(6) {
      /* 你的樣式 */
      margin-right: 0rem;
    }
    .group-title{padding: 1dvh 0;}
    nav > div .group-content a {
        padding: 1dvh 0 1dvh 0em;

        margin: 0;
    }

    .nav-footer p{
        line-height: 1.5em;
        margin-bottom: .5dvh;
    }
    .nav-box{
        background: #493F3D;
        padding-right: 24.6rem;

    }
    .nav-box::after{
        background: url('../images/nav-bg.jpg') center bottom no-repeat;
        background-size: contain;
        content: "";
        width: 24.6rem;
        height: 100%;
        position: absolute;
        right: 0;
        bottom: 0;

    }


}

/*  */

section{
    position: relative;
    /*height: 100vh;*/
    overflow: hidden;
}

h1{
    font-weight: bold;
    font-size: 12rem;
    line-height: 1em;
    font-family:Didot,'Noto Sans TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
}


h2{
    font-weight: bold;
    font-size: 12rem;
    line-height: 1em;
    font-family:Didot,'Noto Sans TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
}
h3{
    font-size: 4.2rem;
    line-height: 1.5em;
}
p{
    font-size: 2.2rem;
    line-height: 2em;
}
h4{
    position: relative;
    font-family:Didot,'Noto Serif TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
    font-weight: 500;
    font-size: 4.5rem;
    line-height: 1.25em;
    margin-bottom: .75em;
}

.title-tip{
    font-family:Didot,'Noto Serif TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
    font-size:2.2rem ;
    line-height: 1.5em;
    font-weight: 500;
    margin-bottom: .5em;
    display: block;
}
/*page*/

.bubble-txt{
    font-family:Didot,'Noto Sans TC','微軟正黑體', 'Microsoft JhengHei', sans-serif;
    font-size: 1.7rem;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 9.2rem;
    text-align: center;
    height: 2.7rem;
    color: #fff;
    font-weight: 500;
    line-height: 2.7rem;
    padding: 0 .5em;
    border-radius:.3rem ;
    background: #C82D0F;
    left: 100%;
    bottom: 100%;
}
.bubble-txt::before{
    content: "";
    position: absolute;
    width: 1.1rem;
    height: 1.1rem;
    background:url('../images/bubble-arrow.png');
    background-size: cover;
    left: 0;
    bottom: -.6rem;
}

.pages-nav{
    text-align: center;
    margin-bottom: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.pages-nav ul{}
.pages-nav ul li{
    display: inline-block;
}
.pages-nav ul a{
    width: 32px;
    height: 32px;
    color: #3E3A39;
    display: inline-block;
    margin: 0 1rem;
    font-size: 16px;
    text-align: center;
    line-height: 32px;
}
.pages-nav ul a.active,.pages-nav ul a:hover{
    color: #fff;
    background:  #3E3A39;
}
.pages-nav .prev-btn{width: 16px;display: inline-block;transform: scaleX(-1);margin: 0 1rem;}
.pages-nav .next-btn{width: 16px;display: inline-block;margin: 0 1rem;}

@media (min-width: 1921px){

}
@media (min-width:1150px ){

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

}

@media (max-width:1440px ){

}
@media (max-width:1366px ){
    .pages-nav ul a{
        width: 28px;
        height: 28px;
        font-size: 14px;
        line-height: 28px;
    }
    .pages-nav .prev-btn,.pages-nav .next-btn{width: 14px;}
}
@media (max-width:1280px ){
   
}
.mb{display: none;}
@media (max-width: 1024px){
    
/*    .logo{
        width: calc(16.7rem * 1.5);
        height: calc(4.7rem * 1.5);
    }*/
    header,.header-h{height: 90px;}
    
    footer p span{display: block;}
    footer p br.mb{display: none;}
    

    .container {
        max-width: 100%;
        width: calc(100% - 22rem);
    }
    .full-container{width: 100%;max-width: 100%;}
   
}
@media (max-width: 1100px){
    footer p{text-align: center;font-size: 16px;}
}
@media (max-width: 767px){
    .pc{display: none;}
    .mb{display: block;}
    header,.header-h,.nav-box .nav-btn{
        height: 12rem;
    }
    .logo {
        height: calc(52 * .115rem);
        width: calc(125 * .115rem);
        z-index: 998;
    }
    header{width:50%;left:initial;right:0}
    header .container{padding: 0 24px;width: 100%;}

    h1,h2{font-size: 7.6rem;}
    h3{font-size: 3.3rem;}
    h4{font-size: 3rem;}
    p{font-size: 1.9rem;}
    
    .text-con p{font-size: 1.9rem;}
    .nav-btn-main{
        width: 6.4rem;
        height: 10.2rem;
        flex-direction: column;
    }
    .nav-btn-txt{font-size: 1.5rem;width: 100%;padding: 0;height: auto;position: absolute;top: 3.4rem;}
    header .nav-btn{height: 100%;font-size: 1.5rem;}
    .nav-btn-main p{font-size: 1.5rem;}
    .nav-box nav{
        flex-direction: column;
    }
    .nav-box{
        width: 100%;
        overflow-y: scroll;
            align-items: flex-start;
    }
    .nav-box .con{
        width: 100%;
        padding: 0 5rem;
    }
    .nav-btn span{
        width: 3.8rem;
        left: calc(50% - 1.9rem);
        top: calc(50% - 2px + 1em);
    }
    .nav-btn span:nth-child(1) {
        -webkit-transform: scale(1, 1) translate(0, -.5rem) rotate(0);
        transform: scale(1, 1) translate(0, -.5rem) rotate(0)
    }

    .nav-btn span:nth-child(2) {
        -webkit-transform: scale(1, 1) translate(0, .5rem) rotate(0);
        transform: scale(1, 1) translate(0, .5rem) rotate(0)
    }

    .nav-btn.open span:nth-child(1) {
        -webkit-transform: scale(1.25, 1) translate(0, 0) rotate(30deg);
        transform: scale(1.25, 1) translate(0, 0) rotate(30deg)
    }


    .nav-btn.open span:nth-child(2) {
        -webkit-transform: scale(1.25, 1) translate(0, 0) rotate(-30deg);
        transform: scale(1.25, 1) translate(0, 0) rotate(-30deg)
    }

    nav > a, nav > div{font-size: 4rem;}

    nav .level2{
        padding:0;
    }
    nav .level2 .group-title{
        padding: 0.6em 1rem;
    }
    
    nav .level2.active{background: none;}
    nav .level2.active .group-title{
        background: rgba(74, 33, 0, .4);
    }
    .group-content{display: none;}
    nav > div.active .group-content{
        position: relative;
        width: 100%;
        display: block;
        height: auto;
        left: 0;
        padding-top: 2rem;
    }
 
    .nav-footer dl{margin-right: 0;margin-bottom: 3rem;}
    .nav-footer dt{margin-bottom: .5em;}
    .nav-footer dl:first-child br{display: none;}

    .nav-footer{}
    .social-btns a{width: 5.8rem;margin-right: 3rem;}
    nav hr{display: none;}
    .nav-footer p,.nav-footer p a{
        font-size: 3.2rem;
    }
    nav > div .group-content a{
        font-size: 3.6rem;
        width: 100%;
        padding: 0.6em 1rem;
    }
    /*footer*/


    footer{
        line-height: 1.5em;
        padding: 3.5rem 3.5rem;
        height: auto;
    }
    footer .container{flex-direction: column-reverse;}
    footer .footer-social{margin-bottom: 2rem;}
    footer .footer-social a{width: 8rem;}
    footer p{text-align: center;font-size: 10px;}

    footer p br.mb{display: block;}



    .container{max-width: 100%;width: calc(100% - 11rem);}
    .row {
        margin-right: 0rem;
        margin-left: 0rem;
    }
    .full-container{width: 100%;}
    .m-w100{width: 100%;}
    .text-con{
        padding: 0;
    }
    .btn{
        width:26.4rem ;
        height: 5.6rem;
        font-size: 1.9rem;
        padding: 0 0 0 1.5em;
    }
    .btn i{width: 6rem;}
    .btn i::before{width: 2.1rem;height: 2.1rem;background-size: contain;}

    .bubble-txt{
        font-size: 1.4rem;
        width: 8.2rem;
        height: 2.7rem;
        line-height: 2.7rem;
        padding: 0 .5em;
        border-radius:.5rem ;
    }
    .bubble-txt::before{
        width: 1.1rem;
        height: 1.1rem;
        bottom: -.6rem;
    }

    .pages-nav ul a{
        width: 24px;
        height: 24px;
        font-size: 12px;
        line-height: 24px;
    }
    .pages-nav .prev-btn,.pages-nav .next-btn{width: 12px;}
}

