@charset "UTF-8";

* {
    font-family: "Noto Sans TC";
}


/*CSS RESET*/
img {
  border: 0;
}

a img {
  border: 0;
}

:focus {
  outline: 0;
}

a {
  text-decoration: none;
  outline: none;
  /* for Firefox Google Chrome  */
}

*{
    margin:0;
    padding:0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 0;   
    vertical-align: baseline;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
  border-style: none;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

ol, ul {
  list-style: none;
  margin-bottom: 0;
}
/*input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  會影響chexkbox/radio
}*/
/*input[type="date"] {
  -webkit-appearance: inherit !important;
  -moz-appearance: inherit !important;
  appearance: inherit !important;
}*/
input,
button,
textarea,
select,
option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

input[type="button"],
input[type="submit"],
button {
  cursor: pointer !important;
}
input[type="button"], input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="button"]:disabled,
input[type="submit"]:disabled,
button:disabled {
  cursor: not-allowed !important;
}

*:focus {
  outline: none;
}

/*ol,
ul {
  padding-left: 0;
}
*/
body,
button,
input,
select,
textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Microsoft JhengHei", "微軟正黑體", Arial, Helvetica, sans-serif;
}

/*end reset*/
select{ border: 1px solid #464646; }


body {
  font-size: 16px;
  color: #464646;
  
}



.hero {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/hero.webp);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    /* filter: blur(10px);   ★ 這裡調整模糊程度 */
    transform: scale(1.05);
    /* opacity: 0.5; */
    z-index: -1;
}

.hero-img{
    width: 50%;
}

.intro{
    position: relative;
    overflow: hidden;
}

.intro::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
    linear-gradient(
        rgba(0, 0, 0, 0.3),   /* 黑色透明度 0.25 */
        rgba(0, 0, 0, 0.3)
    ),
    url(../images/intro-2.webp);

    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;

    filter: blur(10px);
    transform: scale(1.05);
    z-index: -1;
}

.img-responsive{
    max-width: 100%;
    height: auto;
}


.IndexHero{
width: 100%;
position: relative;
height:100%;
}
.Hero_mainHead{
display: flex;
align-items: start;
/* padding-left: 20%; */
}

.Hero_Visual{
width: 100%;
position: relative;
height: 100%;
}

.Hero_VisualItem{
position: absolute;
width: 100%;
height: 100%;
transition: opacity 2.5s;
/* opacity: 0; */
overflow: hidden;
}

.newsCategory{
width: 200px;
}

.newsCategory_ttl{
display: flex;
flex-wrap: wrap;
align-items: start;
}

.newsCategory_ttl h3 .Chinese {
color: #FFF;
font-size: 25.62px;
font-weight: bold;
}


.newsCategory_ttl h3 .EN {
color: white;
opacity: .6;
font-size: 20px;
font-weight: 400;
}

.frame-showcase{
position: relative;
display: block;
}
.frame-showcase2{
position: relative;
padding-top: 30px;
padding-left: 30px;

}

.frame-showcase2::before{
position: absolute;
top: 0;
left: 0;
content: '';
background-color: #E098AE;
width: 45vw;
height: 500px;
z-index: -1;
}


.swiper-container {
width: 100%;
height: 100%;
z-index: 1;
background-color: transparent;
}
.swiper-slide {
height: 500px;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}


.article-link{
text-decoration: none;
color: black;
}

.article-link:hover{
color: #737f94;
}

.article-link:hover .card{
transform:scale(1.1,1.1);
}

.card-title{
overflow:hidden; 
text-overflow:ellipsis;
display:-webkit-box; 
-webkit-box-orient:vertical;
-webkit-line-clamp:1; 
font-weight: bold;
font-weight: 800;
}
.card-text{
overflow:hidden; 
text-overflow:ellipsis;
display:-webkit-box; 
-webkit-box-orient:vertical;
-webkit-line-clamp:2; 
font-family: 'GenRyuMin';
font-size: 16px;
font-weight: 400;
}




/*----flex setting-----*/
.j-d-flex{  
  display: flex;
}
.j-align-items-center{
  align-items: center;
}
.j-justify-content-space-between{
  justify-content: space-between;
}
.j-justify-content-center{
    justify-content: center;
}
.j-flex-wrap{
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}
.j-flex-column{
    flex-direction: column ;
}
.text-center{
    text-align: center !important;
}
/*--------*/
::selection{
    background: #0c3dac;
    color: #fff;
}
:root{
    --blue: #0c3dac;
    --red: #ae0000;
}
html{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: #fff;
    font-size: 20px;
    color: #000;
}
.main{ 
    flex: 1; 
    /*background: url(../images/bg.png) no-repeat center 145px;*/
    position: relative;
}

.wrapper{
    width: 1340px; margin: 0 auto; position: relative;
    
}
.header {
     /* background: #0c3dac; */
    display: flex;
    height: 100px;
    justify-content: center;
}

.logo{
    display: flex;
    padding-left: 28px;
    align-items: center;
}
.menu{
    padding-left: 0px;
    padding-right: 32px;
    display: flex;
    width: 100%;
    justify-content: space-between;
    background-color: rgb(206, 206, 206,0.25); 
    backdrop-filter: blur(20px);
}
/* .menu:before{
    content: "";
    margin-left: -85px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 100px 48px 0px 0;
    border-color: transparent #fff transparent transparent;
} */
 .menu ul{
    display: flex;
    align-items: center;
    height: 100%;
 }
 .menu ul li{ height: 100%;}
 .menu ul li a{
    display: flex;
    position: relative;
    min-width: 87px;
    padding: 0 7px;
    margin: 0 8px;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #000;
    text-decoration: none;
 }
.menu ul li a:before{
    content:"";
    width: 0;
    position: absolute;
    top: 0;
    height: 8px;
    background: #ae0000;
    transition: all 0.3s ease;
}
.menu ul li a:hover:before{
    width: 100%;
}
.menu ul li a:hover{
    color: var(--red);
}

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





.img-rwd{
    width: 100%;
    height: auto;
}


.index-line{
    text-align: center;
    margin-top: -100px;
    margin-bottom: 30px;
}
.index-line a{
    transition: all 0.3s ease;
}
.index-line a:hover{
    filter: contrast(1.25) drop-shadow(0px 0px 10px #59a260);
   
}
.title{
    font-size: 40px;
    color: var(--blue);
}

.title:before{
    content: "［";
    margin-right: 50px;
}
.title:after{
    content: "］";
    margin-left: 50px;
}
.title-area h2 { 
    color: #def1ff; 
    margin-bottom: 10px;
    font-family: Georgia; 
    font-size: 44px; 
    transform: scaleX(0.9);
    letter-spacing: 1px;
}
/* .title-area h2.title{    
    font-family: -apple-system, BlinkMacSystemFont, "Microsoft JhengHei", "微軟正黑體", Arial, Helvetica, sans-serif;
} */
.ddd{    
    margin-bottom: 35px;
}
.ddd span{
    width: 12px; height: 12px;
    background: var(--blue);
    display: inline-block;
    transform: rotate(45deg);
    margin: 0 8px;
}
.ddd span:nth-child(2){
    background: var(--red);
}


.blue-text{
    color: var(--blue);
}
.unit-wrapper{ padding-top: 30px; }
.i-about-item{
    display: flex;
    margin-bottom: 20px;
    justify-content: space-between;
}

.i-about-item article{
    padding-top: 37px;
    width: 53%;
    line-height: 1.6;
}

.iai-photo{
    width: 45%;
}


.i-rule{
    background: url(../images/rule-bg.jpg) no-repeat center top;
    background-size: cover;
}

.i-rule-list{
    display: flex;
    flex-wrap: wrap;
    padding-top: 67px;
    justify-content: space-between;
    padding-left: 0px;
}
.i-rule-list li{    
    width: 48.5%;
    background: #fff;
    /* border: 1px solid var(--blue); */
    margin-bottom: 60px;
    position: relative;
}

.article-box{
    display: flex; 
    justify-content: center;
    align-items: center;
}


.ir-icon i{
    width: 60px;
    height: 60px;
    /* background: var(--blue); */
    display: inline-flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
}

.i-rule-list h2{
    display: flex;
    font-size: 42px;
    color: var(--blue);
    margin-bottom: 0px;
    text-align: center;
    align-items: center;
}
.i-rule-list article{
    line-height: 1.8;
}
.i-rule-list li{
    padding: 53px 25px 25px;    
}

.i-rule-list article.set-position{
    display: flex;
    align-items: center;
    justify-content: center;
}

.step{
    background: #2dc1f7;
    border-radius: 75px;
    padding: 2px 8px;
    margin-right: 4px;
}

.i-rule-list li.master-talk{
    border-color: var(--red);
}
.master-talk h2{
    color: var(--red);
}
.master-talk .ir-icon i{
    background: var(--red);
}
.master-list{
    width: 90%;
    margin: 0 auto;
    padding-left: 0;
}

.master-list li{    
    border:none;
    width: 100%;
    margin-bottom: 0;   
    padding: 0; 
}

.master-list li a{
    color:white;
    display: block;
    padding: 12px;
    padding-left: 32px;
    position: relative;
    border-bottom: 1px dashed var(--red);
}
.master-list li:last-child a{
    border-bottom: none;
}
.master-list li a:before{
    width: 12px;
    height: 12px;
    content: "";
    display: inline-block;
    background: var(--red);
    position: absolute;
    left:8px;
    top: 18px;
}
.master-list li a:hover{
    color: var(--red);
}

.i-service{
    background: url(../images/i-service-bg.jpg) no-repeat;
    background-size: cover;
    padding-top: 84px;
    padding-bottom: 150px;
}

.i-service .title{
    color: #eda260;
}

.i-service .ddd span{
    background: #eda260;
}


.i-service .ddd span:nth-child(2){
    background: var(--red);
}

.i-service h2{ color: #fff; }

.service-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-left: 0;
}
.service-list li{
    width: 25%;
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
}
.service-list li a{
    display: flex;
    flex-direction: column;
    max-width: 274px;
    transition: all 0.5s ease;
}

.s-photo{
    text-align: center;
    border:2px solid #005ad4;
    z-index: 1;
    overflow: hidden;
}

.s-text{
    text-align: center;
    color: #fff;    
    background: chocolate;
    /* border-radius: 40px 0 40px 0; */
    transform: skewX(-20deg); 
    padding: 12px 8px;    
    margin-top: -40px;
    z-index: 10;
    width: 214px;
    margin-left: auto;
    margin-right: auto;
}
.s-text h2{font-size: 30px; font-weight: normal; margin-top: 9px;}
.service-list li a:hover .s-photo{
    border-color: var(--red);
}
.s-photo img{
    transition: all 0.5s ease;
}
.service-list li a:hover .s-photo img{
    transform: scale(1.2);
}
.service-list li a:hover .s-text{

background: -moz-linear-gradient(-45deg,  #ec0000 0%, #a80000 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg,  #ec0000 0%,#a80000 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg,  #ec0000 0%,#a80000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

}


.good{
    margin-top: -88px; text-align: center;
}
.thumb{
    
}

.good-text{
    padding: 27px 16px;
    text-align: center;
    color: #fff;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#eda260+0,cd8e57+100 */
background: #eda260; /* Old browsers */
background: -moz-linear-gradient(top,  #eda260 0%, #cd8e57 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #eda260 0%,#cd8e57 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #eda260 0%,#cd8e57 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
border-bottom: 12px solid var(--red);
}

.recommend-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}
.recommend-list li{
    width: 25%; 
    padding: 0 10px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
}
.recommend-list li a{
    width: 100%;
    height: 128px;
    color: #fff;
    font-size: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.recommend-list li a:hover{    
    filter: contrast(1.55);
}


.r01{
    background: url(../images/member-bg01.jpg) no-repeat;
    background-size: cover;
}
.r02{
    background: url(../images/member-bg02.jpg) no-repeat;
    background-size: cover;
}
.r03{
    background: url(../images/member-bg03.jpg) no-repeat;
    background-size: cover;
}
.r04{
    background: url(../images/member-bg04.jpg) no-repeat;
    background-size: cover;
}

.i-recommend{
    padding-top: 70px;
    padding-bottom: 45px;
}

.tel-contact{
    background: url(../images/tel-bg.jpg) no-repeat center top;
    background-size: cover;
    padding-top: 56px;
    padding-bottom: 66px;
}
.call{
    display: flex;
    justify-content: space-between;
    margin: 30px 0;
    padding-left: 0px;
}
.call li{
    width: 49%;
}
.call li a{ 
    display: flex; 
    align-items:center; 
    justify-content: center; 
    font-size: 30px;
    color: #fff;
    height: 105px;
}
.call li a i{
    display: inline-block;  margin-right: 20px;  
}

.call li a p{
    margin-bottom: 0;
}

.btn-call01{
    transition: background 0.8s ease;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#d70000+0,a80000+100 */
background: #d70000; /* Old browsers */
background: -moz-linear-gradient(-45deg,  #d70000 0%, #a80000 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg,  #d70000 0%,#a80000 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg,  #d70000 0%,#a80000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.btn-addline{
    transition: all 0.3s ease;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#08d333+0,01ba56+100 */
background: #08d333; /* Old browsers */
background: -moz-linear-gradient(-45deg,  #08d333 0%, #01ba56 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg,  #08d333 0%,#01ba56 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg,  #08d333 0%,#01ba56 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

}


.btn-call01:hover{
    background: linear-gradient(135deg,  #a80000 0%,#d70000 100%);
}
.btn-addline:hover{
    background: linear-gradient(135deg,  #01ba56 0%,#08d333 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

}




.btn-call01 i{
    width: 58px;
    height: 58px;
    background: url(../images/icon-telephone.png) no-repeat center;
    background-size: contain ;
}
.btn-addline i{
    width: 77px;
    height: 70px;
    background: url(../images/icon-line.png) no-repeat center;
    background-size: contain ;
}
.tel-area{
    color: #fff;
    padding: 14px 10px;
    margin-bottom: 18px;
    font-size: 30px;
    background: #ac7a4e;
    text-align: center;
    font-weight: 400;
}


.tel-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-left: 0px;
}
.tel-list li{
    width: 33.3%;
    padding: 0 6px;
    margin-bottom: 14px;
}
.tel-list li a{
    background: #fff;
    border: 2px solid #ac7a4e;
    border-radius: 15px;
    padding: 12px 10px;
    display: block;
    color: #000;
    font-size: 24px;
    text-align: center;
}
.tel-list li a:hover{
    background: #e5dacf;
}

.logo2{ margin-bottom: 28px; }
.member{
    padding-top: 22px;
}
.member ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}
.member li{ 
    width: 20%; 
    text-align:center; 
    padding:0 10px;
    margin-bottom: 20px; 
}

.member li a:hover img{
    filter: contrast(1.5);
}


.footer-menu ul{
    display: flex;
    justify-content: center;
    padding: 20px 10px;
    flex-wrap: wrap;
}

.footer-menu ul li a{
    color: #000;
    padding: 10px 15px;
}
.footer-menu ul li a:hover{ color: var(--blue); }
.copyright{
    padding: 20px 10px;
    font-size: 16px;
    background: var(--blue);
    text-align: center;
    color: #fff;
}


.side-contact{
    position: fixed;
    right: 16px;
    bottom: 125px;
    z-index: 10;
}
.side-contact a{
    display: block;
    padding-top: 17px;
    text-align: center;
    margin-bottom: 22px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    color: #fff;
    font-size: 30px;
}

.call-line{   
    background: #06c64e;
}
.call-line:hover {
    background: #00ac41;
}
.side-contact a i{
    width: 100%;
    height: 70px;
}
.call-line i{    
    background: url(../images/icon-line.png) no-repeat center;
    background-size: contain;
    display: block;
}

.call-phone{   
    background: #ae0000;
}
.call-phone:hover{   
    background: #d00000;
}
.call-phone i{
    background: url(../images/icon-telephone.png) no-repeat center;
    background-size: contain;
    display: block;
}




/*
Back to top button 
*/
#back-top {
    position: fixed;
    bottom: 47px;
    right: 56px;
    z-index: 10;
}
#back-top a {
    width: 81px;
    height: 81px;
    display: block;
    background: url(../images/top.png) no-repeat center;
    background-size: contain;
    font-size: 0;
}
/*----內頁-----*/
.banner{
    height: 283px;
    align-items: center;
    display: flex;
    justify-content: center;
}


.banner-s01{
    background: url(../images/banner-s1.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;
}

.banner-s02{
    background: url(../images/banner-s2.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;    
}
.banner-s03{
    background: url(../images/banner-s3.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;       
}
.banner-s04{
    background: url(../images/banner-s4.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-s05{
    background: url(../images/banner-s5.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-s06{
    background: url(../images/banner-s6.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-s07{
    background: url(../images/banner-s7.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-s08{
    background: url(../images/banner-s8.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-s09{
    background: url(../images/banner-s9.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-s10{
    background: url(../images/banner-s10.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-s11{
    background: url(../images/banner-s11.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-s12{
    background: url(../images/banner-s12.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;        
}
.banner-knowledge{
    background: url(../images/banner-knowledge.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;
}
.banner-case{
    background: url(../images/banner-case.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;
}

.banner-notice{
    background: url(../images/banner-notice.jpg) no-repeat  70% 50%;
    background-size: cover;
    padding: 12% 0;
}
.banner-law{
    background: url(../images/banner-law.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;
}
.banner-sitemap{
    background: url(../images/banner-sitemap.jpg) no-repeat center top;
}
.banner-contact{
    background: url(../images/banner-contact.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;    
}
.banner-news{
    background: url(../images/banner-news.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;
}
.banner-say{
    background: url(../images/banner-say.jpg) no-repeat 70% 50%;
    background-size: cover;
    padding: 12% 0;    
}

.banner .title{
    color: var(--blue);
    transform: scaleX(1);
}
.banner .title-en{ color: #fff; margin-bottom: 0; }
.banner-title-service{
    font-size: 70px;
    letter-spacing: 34px;
    color: var(--blue);
    font-weight: 400;
    padding-left: 34px;
}

.path{
    font-size: 18px;
    color: #666;
    padding-top: 20px;
    padding-bottom: 27px;
}
.path a{ color: #666; }
.path a:hover{ color: #000; }
.path a:after{
    content: "/";
    padding-right: 8px;
    padding-left: 8px;
}
.service-title, .unit-title{ margin-bottom: 20px; }
.service-title h2{
    background: #c27d41;
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    padding: 10px 50px 10px 29px;
    border-radius: 40px 0 40px 0;
    display: inline-flex;
    align-items: center;
}

.service-title h2 img{
    margin-right: 8px;
}
.unit-title h2{
    background:cadetblue;
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    padding: 10px 30px 10px 30px;
    border-radius: 40px 0 40px 0;
    display: inline-flex;
    align-items: center;
}
.unit-title.red h2{
    background: var(--red);
}


.main-content{
    display: flex;
}


.service-article{
    width: 82%;
    padding-right: 6%;
    margin-bottom: 30px;
}
.service-article.w-100{
    width: 100%;
    padding-right: 0;   
}

/*--------*/
.side-service{
    width: 18%; margin-bottom: 20px;
}
.side-service ul{
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
}
.side-service li{ margin-bottom: 12px; width: 50%; padding:0 5px }
.side-service li a{
    text-align: center;
    color: #fff;
    background: #00adec;
    border-radius: 8px;
    padding: 8px;   
    display: block;    
    transition: all 0.3s ease;
}
.side-service li a img{ height: 30px; }
.side-service li a:hover{
    background: #eda260;
    background: -moz-linear-gradient(top, #eda260 0%, #cd8e57 100%);
    background: -webkit-linear-gradient(top, #eda260 0%,#cd8e57 100%);
    background: linear-gradient(to bottom, #eda260 0%,#cd8e57 100%);
}
.side-service li a h2{
    font-size: 18px;
    margin-top: 10px;
    letter-spacing: 2px;
}

.side-service02{
    width: 18%; margin-bottom: 20px;
}

.side-service02 li{ margin-bottom: 12px; }
.side-service02 li a{
    text-align: center;
    color: #fff;
    background: #00adec;
    border-radius: 40px 0 40px 0;
    padding: 8px;   
    display: block;    
    transition: all 0.3s ease;
}
.side-service02 li a img{ height: 30px; }
.side-service02 li a:hover{
    background: #eda260;
    background: -moz-linear-gradient(top, #eda260 0%, #cd8e57 100%);
    background: -webkit-linear-gradient(top, #eda260 0%,#cd8e57 100%);
    background: linear-gradient(to bottom, #eda260 0%,#cd8e57 100%);
}
.side-service02 li a h2{
    font-size: 18px;
    margin-top: 10px;
    letter-spacing: 2px;
}

.mobile-side-service ul{ display: flex; flex-wrap:wrap; margin-top: 0 !important; }
.mobile-side-service li{ margin-bottom: 12px; width: 33.3%; padding: 0 8px}
.mobile-side-service li a{
    text-align: center;
    color: #fff;
    background: brown;
    padding: 8px !important;   
    display: block;    
    transition: all 0.3s ease;
    border: none !important;
}
.mobile-side-service li a img{ height: 30px; }
.mobile-side-service li a:hover{
    background: #eda260;
    background: -moz-linear-gradient(top, #eda260 0%, #cd8e57 100%);
    background: -webkit-linear-gradient(top, #eda260 0%,#cd8e57 100%);
    background: linear-gradient(to bottom, #eda260 0%,#cd8e57 100%);
}
.mobile-side-service li a h2{
    font-size: 16px;
    margin-top: 5px;
    letter-spacing: 2px;
    font-weight: 400;
}








/*---------*/
.service-article h3{
    font-size: 30px;
    margin: 20px 0;
    margin-left: -12px;
}
.service-article p{ margin-bottom: 14px; line-height:1.6 }
.s-h4{
    color: #fff;
    background: var(--blue);
    padding: 12px 10px 12px 33px;
    transform: skew(-20deg);
    margin-left: 10px;
    margin-bottom: 14px;
}
.s-h4 strong{ transform: skew(20deg); display: inline-block; }
.item-list{ display: flex; flex-wrap: wrap;}
.item-list li{
    padding-left: 30px;
    background: url(../images/icon-have.png) no-repeat left center;
    width:20% ;
    margin-bottom: 14px;
}

.circle-list{
    display: flex; flex-wrap: wrap; margin-bottom: 10px;
}
.circle-list li{ width: 33%; margin-bottom: 10px;}
.circle-list li:before{
    content: "●"; color: #00adec; margin-right: 8px;
}
.circle-list.set-list-block li{ width: 100%; }

.circle-list li a{ color: #000; }
.circle-list li a:hover{ color: #00adec; }

.call-text{
    font-size: 34px;
    color: #da8a45;
    margin: 25px 0;
    font-weight: 700;
}
.text-left{ text-align:left !important }
.inner-line{ margin-top: 0; }


.inner-good{
    height: 350px;
    font-size: 0;
    background: url(../images/inner-good.jpg) no-repeat center top;
}

.twd-column{
    display: flex;
    flex-wrap: wrap;
    margin-bottom:30px;
    padding-left: 0;
}
.twd-column li{
    width: 50%;
}
.twd-column li a{ 
    display: block; 
    padding: 8px 10px;
    color: #000;
}
.twd-column li a:hover{
    color: #00adec;
}
.twd-column li a:before{
    content: "◆";
    margin-right: 5px;
    display: inline-block;
    color: cadetblue;
}
.twd-column li a:visited{
    color: #999;
}

.article-title{
    font-size: 32px;
    padding-bottom: 12px;
    border-bottom: 1px solid #000;
    margin-bottom: 20px;
}
.btn-back{
    padding: 8px 22px;
    background: var(--blue);
    color: #fff;
    margin-top: 25px;
    display: inline-block;
}


.btn-back:hover{ background: var(--red); }
.btn-service{ position: relative; }
.btn-service i:before{
    position: absolute;
    right:15px;
    content: "▼";
    font-style: normal;
}
.btn-service i.active:before{
    content: "▲";
}


.list{
    list-style-type: disc;
    padding-left: 2.5rem;
}

.list li{
    padding: 8px 0px;
}

.hero_title{
    display: inline-block;
    font-size: 120px;
    color: white;
    letter-spacing: 10px;
    font-family: "PMingLiU", "MingLiU", "SimSun", serif;
    /* transform: skewX(-20deg); ← 水平傾斜 */
}
/* .hero_title:before {
    content: attr(data-text);
    position: absolute;
    overflow: hidden;
    max-width: 7em;
    white-space: nowrap;
    color: red;
    animation: loading 5s linear;
    animation-iteration-count: infinite;
}
@keyframes loading {
    0% {
        max-width: 0;
    }
} */





.skw-pages {
  overflow: hidden;
  position: relative;
  height: 100vh;
}

.skw-page {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.skw-page__half {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100vh;
  transition: transform 1s;
}
.skw-page__half--left {
  left: 0;
  transform: translate3d(-32.4vh, 100%, 0);
}
.skw-page__half--right {
  left: 50%;
  transform: translate3d(32.4vh, -100%, 0);
}
.skw-page.active .skw-page__half {
  transform: translate3d(0, 0, 0);
}
.skw-page__skewed {
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 140%;
  height: 100%;
  transform: skewX(-18deg);
  background: #000;
}
.skw-page__half--left .skw-page__skewed {
  left: -40%;
}
.skw-page__half--right .skw-page__skewed {
  right: -40%;
}
.skw-page__content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column wrap;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 0 30%;
  color: #fff;
  transform: skewX(18deg);
  transition: transform 1s, opacity 1s;
  background-size: cover;
}
.skw-page__half--left .skw-page__content {
  padding-left: 30%;
  padding-right: 30%;
  transform-origin: 100% 0;
}
.skw-page__half--right .skw-page__content {
  padding-left: 30%;
  padding-right: 30%;
  transform-origin: 0 100%;
}
.skw-page.inactive .skw-page__content {
  opacity: 0.5;
  transform: skewX(18deg) scale(0.95);
}
.skw-page__heading {
  font-weight: bold;
  margin-bottom: 15px;
  text-transform: uppercase;
  font-size: 40px;
  text-align: center;
  letter-spacing: 2px;
}
.skw-page__description {
  font-size: 18px;
  text-align: center;
}
.skw-page__link {
  color: #FFA0A0;
  text-decoration: none;
}
.skw-page-1 .skw-page__half--left .skw-page__content {
  background-image: url("../images/hero-1.webp");
}
.skw-page-1 .skw-page__half--right .skw-page__content {
  background: #292929;
}
.skw-page-2 .skw-page__half--left .skw-page__content {
  background: #292929;
}
.skw-page-2 .skw-page__half--right .skw-page__content {
  background-image: url("../images/hero-2.webp");
}
.skw-page-3 .skw-page__half--left .skw-page__content {
  background-image: url("../images/hero-3.webp");
}
.skw-page-3 .skw-page__half--right .skw-page__content {
  background: #292929;
}
.skw-page-4 .skw-page__half--left .skw-page__content {
  background: #292929;
}
.skw-page-4 .skw-page__half--right .skw-page__content {
  background-image: url("../images/hero-4.webp");
}

.view-mobile{
    display: none;
}





/*--------RWD--------*/
.inner-good img{ display: none; }
.btn-mobile, .mobile-menu, .m-bottom-fixed, .mobile-side-service{ display: none; }
.i-banner .mobile{ display: none; }    
@media (max-width: 1600px) {
   .side-contact a{
        width: 80px; height: 80px;
        font-size: 18px;
        padding-top: 10px;
        border-radius: 20px;
   }
   .side-contact{ right: 10px;     bottom: 93px;}
   .side-contact a i{ height: 30px; }
   #back-top a {
     width: 50px;
     height: 50px;
   }
   #back-top{ right: 25px; }

}
@media (max-width: 1440px) {
    .logo{ width: 20%; padding-left: 16px; padding-right: 48px; }
    .logo img{ width: 100%; height: auto; }
}
@media (max-width: 1366px) {
    .member {
        padding-right: 50px;
    }
}

@media (max-width: 1365px) {
    .menu{ padding-right: 12px; font-size: 18px; }
    .menu ul li a{ min-width:auto;white-space: nowrap; }
    .wrapper{ width: 100%; padding-right:16px; padding-left: 16px; }
}


@media (max-width: 1200px) {
    
    .hero_title{
        display: inline-block;
        font-size: 80px;
    }

    .recommend-list{ margin: 0; }    
    
    .footer-menu ul li a {
        padding: 10px;
        font-size: 18px;
        white-space: nowrap;
    }
    .index-line{ margin-top: -78px; }
    .inner-line { margin-top: 0;}
    .service-list li{ padding: 0 8px }
    .service-list li a{ max-width:100%; }
    .s-text{ width: 80%; }
    .s-text h2 {    font-size: 22px;}
    .inner-good img{ display: block; }
    .inner-good{
        height: auto;
        background: none;
    }
    .inner-page .thumb{ display: none; }
    .inner-page.good{ margin-top: 0; }
    .inner-page .good-text {
        font-size: 16px;
        padding: 10px 16px;
    }
    .side-service{ width: 260px; }
    .side-service li a h2{ font-size: 16px; }
}

@media (max-width: 1100px) {
    .menu ul li a{ margin: 0; }
}


@media (max-width: 1024px) {

    .hero-img{
        width: 100%;
    }

    .index-line {
        width: 250px;
        margin-left: auto;
        margin-right: auto;
        margin-top: -48px;
    }
    .inner-line { margin-top: 0; margin-left: inherit;}
    .title, .title-area h2{ font-size: 30px; }
    .i-rule-list h2{font-size: 28px;}
    .ddd span {  width: 8px;    height: 8px;}

    .master-list { width: 100%;}
    .banner-title-service {
        font-size: 50px;
        letter-spacing: 12px;        
        padding-left: 12px;
    }
    .banner{
        background-position: right top;
        height: 220px;
    }
    

    .item-list li{ width: 33.3%; }
    .circle-list li { width: 50%;}
    .unit-title h2, .article-title{ font-size: 26px; }
    
    .banner-s01{
    background: url(../images/m-banner-s1.jpg) no-repeat right top;
}

.banner-s02{
    background: url(../images/m-banner-s2.jpg) no-repeat right top;
}
.banner-s03{
    background: url(../images/m-banner-s3.jpg) no-repeat right top;
}
.banner-s04{
    background: url(../images/m-banner-s4.jpg) no-repeat right top;
}
.banner-s05{
    background: url(../images/m-banner-s5.jpg) no-repeat right top;
}
.banner-s06{
    background: url(../images/m-banner-s6.jpg) no-repeat right top;
}
.banner-s07{
    background: url(../images/m-banner-s7.jpg) no-repeat right top;
}
.banner-s08{
    background: url(../images/m-banner-s8.jpg) no-repeat right top;
}
.banner-s09{
    background: url(../images/m-banner-s9.jpg) no-repeat right top;
}
.banner-s10{
    background: url(../images/m-banner-s10.jpg) no-repeat right top;
}
.banner-s11{
    background: url(../images/m-banner-s11.jpg) no-repeat right top;
}
.banner-s12{
    background: url(../images/m-banner-s12.jpg) no-repeat right top;
}
.banner-knowledge{
    background: url(../images/m-banner-knowledge.jpg) no-repeat right top;
}
.banner-case{
    background: url(../images/m-banner-case.jpg) no-repeat right top;
}

.banner-notice{
    background: url(../images/m-banner-notice.jpg) no-repeat right top;
}
.banner-law{
    background: url(../images/m-banner-law.jpg) no-repeat right top;
}
.banner-sitemap{
    background: url(../images/m-banner-sitemap.jpg) no-repeat right top;
}
.banner-contact{
    background: url(../images/m-banner-contact.jpg) no-repeat right top;
}
.banner-news{
    background: url(../images/m-banner-news.jpg) no-repeat right top;
}
.banner-say{
    background: url(../images/m-banner-say.jpg) no-repeat right top;
}
}



@media (max-width: 1023px) {
    .header{ height: 45px; position:fixed; width:100%; z-index: 1000; }
    .m-bottom-fixed{ 
        display:flex; 
        bottom: 0;
        left: 0;
        right: 0;
        position: fixed;
        height: 40px;
        font-size: 18px;
    }


    .m-bottom-fixed a{
        width: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        border-radius: 0;
        margin-bottom: 0;
        padding-top: 0;
        color: #fff;
    }
    .m-bottom-fixed a i{    
        width: 40px;
        height: 25px;
    }

    footer{ margin-bottom: 40px; }



    .side-contact{
        right: 62px;
        height: 45px;
        bottom: inherit;
        display: flex;
        top: 0;
        z-index: 1001;
    }
    .side-contact a{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        border-radius: 0;
        margin-bottom: 0;
        padding-top: 2px;
        font-size: 13px;
        flex-direction: column;
        transform: skew(-20deg);
    }
    .side-contact a i{ width: 15px; height: 20px; transform: skew(20deg);
    }
    .side-contact a span{ transform: skew(20deg); }

    .container{
        padding-top: 40px;
    }
    .btn-mobile{
        display: flex;
        width: 62px;
        align-items: center;
        justify-content: center;
        flex-direction: column;

    }

    .btn-mobile i{
        display: block;
        width: 30px;
        height: 1.5px;
        border-radius: 8px;
        background:brown;
        transform: skew(20deg);
    }
    .btn-mobile i+i{ margin-top: 8px;  }
    .menu{ 
        padding: 0; 
        /* transform: skew(-20deg);  */
        padding-right: 20px;
        /* margin-right: -20px; */
    }
    .menu ul,.mobile-menu{ display: none; }
    .mobile-menu{
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        background: brown;
        z-index: 1002;
        height: 100vh;
        overflow-y: auto;
    }
    .mobile-menu ul{
        width: 100%;
        text-align: center;
        margin-top: 45px;
        padding-left: 0;
    }
    .mobile-menu > ul > li{
        border-bottom: 1px solid #fff;
    }


    .mobile-menu > ul > li a{
        display: block; padding: 15px 10px;
        color: #fff;
        font-size: 18px;
    }

    .btn-close-menu{
        width: 45px; height: 45px;
        display: block;
        position: absolute;
        right: 10px;
        z-index: 100;
        margin-top: 10px;
    }
    .btn-close-menu i{
        background: #fff;
        border-radius: 5px; 
        display: block;
        position: absolute;
        height: 2px;
        width: 100%;
        top: 50%;
        left: 0;
        margin-top: -1px;
    }
    .btn-close-menu i:first-child{
        transform: rotate(45deg);
    }
    .btn-close-menu i:nth-child(2){
        transform: rotate(-45deg);
    }


    .menu:before {
        display: none;
    }
    .logo{ padding-right: 0; width: 100%; }
    .logo img {
        width: auto;
        height: 28px;
    }
    .recommend-list li a{ font-size: 24px; }
    .footer-menu ul li a {    
        width: 6em;
        display: inline-block;
        text-align: center;
    }
}




@media (max-width: 768px) {

    .hero_title{
    display: inline-block;
    font-size: 56px;
    }

    .ddd {
        margin-bottom: 15px;
    }
    .i-about-item{
        flex-wrap: wrap;
    }
    .iai-photo, .i-about-item article{ width: 100%; }
    .i-about-item.part2{ flex-direction:column-reverse; }
    .i-about-item article { padding-top: 20px;}

    .view-pc{
        display: none;
    }
    .phone{
        display: none;
    }

    .view-mobile{
        display: block;
    }

}

@media (max-width: 767px) {
    .i-rule-list li { width: 100%;}
    .service-list li {
        width: 50%;
        margin-bottom: 20px;
    }
    .thumb img{ width: 200px; }
    .call li a{ font-size: 24px; }
    .tel-area, .tel-list li a{ font-size: 20px; }
    .i-banner .pc{ display: none; }
    .i-banner .mobile{ display: block; }
    .index-line{ margin-top: 0; }
    .i-service {
        padding-top: 60px;
        padding-bottom: 120px;
    }
    .s-text h2 {
        font-size: 20px;
    }
    .i-recommend {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .recommend-list li { width: 50%;}
    .recommend-list li a{ height: 68px; }
    .title:before {
        margin-right: 20px;
    }
    .title:after {
        margin-left: 20px;
    }
    .call li {
        width: 100%;
    }
    .call{ flex-direction:column; }
    .btn-call01 i {
        width: 30px;
        height: 30px;
    }
    .call li + li{ margin-top: 15px; }
    .btn-addline i {
        width: 32px;
        height: 32px;
    }
    .call li a{ height: 85px; }
    .call{ margin: 15px 0; }
    .service-article {
        width: 100%;
        padding-right: 0;
    }
    .side-service, .side-service02{ display: none; }
    .call-text{ font-size: 24px; }
    .twd-column li {
        width: 100%;
        padding: 8px 0px;
    }

    .ir-icon i{
        background: var(--blue);
    }
    .master-list li a{
        color: black;
    }
}


@media (max-width: 620px) {
    .tel-list li{ width: 50%; }
    .item-list li {
        width: 50%;
    }

}

@media (max-width: 460px) {
    .tel-list li{ width: 100%; }
    .banner-title-service { font-size: 40px;}
    .banner {
        height: 260px;
    }
    .path {
        font-size: 12px;
        padding-top: 10px;
        padding-bottom: 15px;
    }
    .service-title h2{ font-size: 26px; }
    .circle-list li {
        width: 100%;
    }
    .service-article h3{ font-size: 24px; }
}



@media (max-width: 414px) {
    .s-text img{ width: 30px; }
    .s-text h2{ margin-top: 2px; }
    .good-text{ padding:16px; font-size: 18px; }

}

@media (max-width: 400px) {
    .logo img {    
        height: 50px;
    }

    .title:before {
        margin-right: 0;
    }
    .title:after {
        margin-left: 0;
    }

    .title, .title-area h2, .i-rule-list h2 {
        font-size: 24px;
    }
    .recommend-list li a {
        font-size: 20px;
    }
    .recommend-list li {
        padding: 0 5px;
        margin-bottom: 10px;
    }
    .wrapper {
        padding-right: 12px;
        padding-left: 12px;
    }
    .service-list{ margin: 0 -8px; }
    .logo{ padding-left: 8px; }
    .recommend-list{ margin: 0 -5px; }
    .logo2 img{ width: 200px; }
    .logo2 {
        margin-bottom: 18px;
    }
    .copyright{ font-size: 12px; }
    .i-rule-list li{
        padding-left: 15px;
        padding-right: 15px;
    }
    .master-list li{
        padding-left: 0;
        padding-right: 0;
    }
}


@media (max-width: 340px) {
    .hero_title{
        font-size: 45px;
    }

    .side-contact a{ font-size: 12px; width: 60px}
    .item-list li {
        width: 100%;
    }

} 