*, body, header, footer, div, p, input, button, a, strong, td, li, i, h1, h2, h3, h4, h5, h6, strong, button, span, .btn, select, option{font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"メイリオ",Meiryo,Verdana,Arial,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;}
header{position: fixed; z-index: 900; width:100%; left:0; top:0; background:rgba(255,255,255,0.9);}
header:before, header:after{content:''; position:absolute; display: inline-block; border-bottom:1px var(--ci2) solid; top:1.77rem;}
header:before{width:calc(50% - 510px); left:0;}
header:after{width:calc(50% + 200px); right:0;}
header .tools{text-align: right;}
header .tools div{float: left; margin:0.2rem 0 0 calc(30% + 10px);}
header .tools div, header .tools div *{font-size:0.8rem;}
header .tools a, header .tools a *{font-size:0.8rem;}
header .tools a{display: inline-block; margin-left:1rem;}
header .tools a i{color:var(--ci2);}
header .phone{position: absolute; right: 0; bottom:-4rem;}
header .phone a, header .phone a *, header .phone div{text-shadow:0.5px 0.5px 0px rgba(255,255,255,1);}
header .phone a{font-size:1.4rem; line-height:1; font-weight:900; color:var(--ci3);}
header .phone a .fas{color:var(--ci2); font-size:1.2rem; line-height: 1;}
header .phone div{margin-left:2rem;}
header .contact{position:absolute; left:3rem; top:8rem;}
nav{position:absolute; right:0; bottom:1rem;}
nav ul{margin:0 -0.5rem 0 0;}
nav ul li{list-style: none; display: inline-block;}
nav ul li a{font-size:1rem; display: inline-block; padding:0 0.5rem; font-weight:400; color:var(--ci2); text-shadow:0.5px 0.5px 1px rgba(0,0,0,0.2); line-height:1;}
nav ul li:hover a, nav ul li.active > a, nav ul li.active a *{color:var(--ci3);}
#logo{width:30%; display: inline-block; transform:translateY(-1rem); position: relative;}
#logo img{width:100%;}
main{margin-top:105px;}
footer section{padding:0.5rem;}
#footer_nav{background: var(--ci2); text-align: right;}
#footer_nav a{color:var(--white);}
.footer_contact_info{width:50%; margin-bottom:1rem;}
#indexAd{width:100%; height:100vh; position: relative; overflow: hidden;}
#indexAd .img{width:100%; height: 100vh; background: no-repeat center; background-size: cover; opacity: 0; position: absolute; left:0; top:0; background-attachment: fixed;}
#indexAd .img.active{opacity: 1;}
#countUpBox{position: absolute; width:calc(100% - 100px); max-width:980px; left:50%; bottom:20%; transform: translateX(-50%); padding:32px; border-radius: 16px; background: rgba(255,255,255,0.8); box-shadow: 1px 1px 5px rgba(0,0,0,0.2);}
#countUpBox .item{width:calc(33% - 1px); text-align: center; color: #000; font-weight: 700; font-size: 1.3rem;}
#countUpBox .item .num{font-size: 3rem; font-weight: 900; max-width: none;  color: var(--ci2); display: block;}
#countUpBox .item .num:after{content: '+';  color: var(--ci2);}
body#home header .tools{background:rgba(255,255,255,0.4);}
body#home header nav{bottom:0; background:rgba(255,255,255,0.9); border-radius:8px 8px 0 0; padding:5px 10px;}
body#home main{margin-top: 0;}
.area_title{color:var(--ci2); margin:1.5rem 0 2rem 0; position: relative; display: block;}
.area_title:after{content:''; width:5rem; display: inline-block; border-bottom:2px var(--ci2) solid; position: absolute; left:0; bottom:-2px;}
#index_news{border:1px var(--gray3) solid; box-shadow:1px 1px 10px rgba(142,143,145,0.6); padding:1rem; width: calc(100% - 2rem);}
#index_news .title{border-bottom:2px var(--gray3) solid; transform:translateY(-0.5rem);}
#index_news ul{margin:0;}
#index_news li{list-style: none; border-bottom:1px var(--gray3) dotted; margin-bottom:5px; padding:0 10px; font-size:0.7rem;}
#index_news li a{float: right; font-size:0.7rem; color:var(--ci2);}
.links{margin:0 0 0 -1.5rem;}
.links li{list-style: none; display: inline-block; width:calc(25% - 1.5rem); float: left; margin:0 0 0.5rem 1.5rem;}
.links li a{overflow: hidden; text-overflow: ellipsis; display: -webkit-box; width:100%;}
.links li a i{color:var(--ci2);}
.a{background: #d9d0d0; padding:0.5rem; max-width:700px; margin:1rem auto; text-align: justify;}
.a br{height: 0;}
.a, .a .title{font-size:0.7rem; line-height:1.2;}
.a .title{margin-bottom:0.5rem; font-size:0.8rem;}
body#contactUs form{width:620px; min-height:760px; margin:1rem auto 5rem auto; position: relative;}
body#contactUs form table{width:96%; margin:1rem auto;}
body#contactUs form table tr{border-bottom:1px var(--gray1) dashed;}
body#contactUs form table tr td{text-align: left; font-size:0.8rem; padding-top:10px; position: relative;}
body#contactUs form table tr td label{font-size:0.8rem;}
body#contactUs form table tr td.must:before{content:'必填'; display: inline-block; background:var(--white); color:var(--ci3); padding:2px 5px; line-height: 1; position: absolute; right:-5px; top:1px; font-size:0.7rem; letter-spacing:1px; z-index: 1;}
label.mrt{width:20%; line-height:1.5;}
label.mrt div{font-size:0.7rem; margin-left:1.4rem; color:var(--white);}
label.mrt.td{width:25%;}
.table2{width:100%;}
.table2 tr td{padding:5px 10px; border-bottom:1px var(--white) solid;}
.table2 tr td:nth-child(1){width:150px; background: var(--ci1); color:var(--white); vertical-align: top;}
.linksImg{margin:1rem 0 1rem -1rem;}
.linksImg li{list-style: none; float: left; margin:0 0 1rem 1rem; padding:10px; width:calc(10% - 1rem - 22px); display: inline-block; border:1px var(--gray1) solid;}
.linksImg li .img{display: block; padding-bottom:38%; background: no-repeat center; background-size: contain;}

@media screen and (max-width:766px) {
    header .tools div{display: none;}
    header .tools a span{display: none;}
    header:after{width:calc(40%)}
    header .phone{top:4rem;}
    header .tools a *{text-shadow: 0 0 3px #fff;}
    header .tools a, header .tools a *{font-size:0.9rem;}
    #logo{width:60%;}
    #navation{font-size: 0.9rem; color:var(--ci1); text-shadow:0 0 3px #fff;}
    nav, body#home header nav{width:160px; background: var(--ci1); position: fixed; bottom:auto; top:1.8rem; padding:0 15px 1.5rem 15px; border-radius: unset;}
    nav ul li{display: block; margin-top:1.5rem;}
    nav ul li:last-child(1){margin-bottom:0;}
    nav ul li a{color:var(--white);}
    .footer_contact_info, .footer_contact_map{width:100%;}
    body#home header > section{height:160px;}
    body#home main{margin-top:187px;}
    body#contactUs form{background:#eee; width:96%; height: auto; padding:1rem;}
    body#contactUs form{border:none;}
    body#contactUs form:after{display: none;}
    #countUpBox > .d-flex{gap:30px;}
    #countUpBox .item{width:100%; line-height: 1; display: flex; flex-direction: column-reverse; text-align: left;}
    #countUpBox .item .num{text-align: center; line-height: 1;}
    #index_news{margin-top:1rem;}
    label.mrt{width:41%;}
    .linksImg li{width:calc(33.3333% - 1rem - 22px);}
}