@import url('/css/fontawesome-all.css');
@import url('/css/font-awesome.min.css');
@import url('/css/fontawesome.min.css');
@import url('/css/SeoJump.css');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800&family=Noto+Sans+SC:wght@100;300;400;500;700;900&family=Noto+Sans+TC:wght@100;300;400;500;700;900&family=Noto+Sans:wght@400;700&family=Noto+Serif+SC:wght@200;300;400;500;600&family=Noto+Serif+TC:wght@200;300;400;500;600&family=Noto+Serif:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600&display=swap');@font-face {
	font-family: "NexaLight";
	src: url('/fonts/NexaLight/NexaLight.ttf.woff') format('woff'),
		url('/fonts/NexaLight/NexaLight.ttf.svg#NexaLight') format('svg'),
		url('/fonts/NexaLight/NexaLight.ttf.eot'); 
	font-weight: normal;
	font-style: normal;
}

* { margin: 0; padding: 0; }
*:focus { outline: none; }

body { margin: 0; }
body ::selection { background: rgb(64 64 64 / 78%); color: #ffffff; }
body::-webkit-scrollbar { width: 5px; }
body::-webkit-scrollbar-track { background: #cfcfcf; }
body::-webkit-scrollbar-thumb { background: #522754; }
body::-webkit-scrollbar-thumb:hover { background: #441047; }

header, footer, div, nav, article, h2, h3, h4, h5, h6, hr, p, form, label, input, textarea, ul, li, img, span, font, strong, b, a, i{text-align: left;vertical-align: middle;margin: 0;padding: 0;line-height: 170%;border-width: 0;font-family: 'Noto Sans TC', 'Noto Sans SC', sans-serif;font-size: 16px;word-wrap: break-word;word-break: break-word;/* text-align: justify; */text-justify: inter-ideograph;-webkit-transition: all .3s ease-out;-moz-transition: all .3s ease-out;-ms-transition: all .3s ease-out;-o-transition: all .3s ease-out;transition: all .3s ease-out;}

:before , :after { -webkit-transition: all .3s ease-out; -moz-transition: all .3s ease-out; -ms-transition: all .3s ease-out; -o-transition: all .3s ease-out; transition: all .3s ease-out; }

ul , ol { list-style: none; }

fieldset { border: 0; }

input , button , select , textarea { border-radius: 0; box-shadow: none; outline: none; font-size: 16px; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select { background: url(/images/00/icon-triangle.png) no-repeat calc(100% - 10px) 50%; }

/* general class set */
.relat_box , .relat_box >* { position: relative; }
.fixed_box { position: fixed; }
.abso_box { position: absolute; }
.relat_box .abso_tag { position: absolute; width: 100%; height: 100%; z-index: 5; }
.nowrap_box { font-size: 0; }

/* img */
img { max-width: 100%; }
img.img_cover { width: 100%; object-fit: cover; }
img.img_contain { width: 100%; object-fit: contain; }

a , a:link , a:visited , a:hover { display: inline-block; line-height: 100%; text-decoration: none; white-space: pre-wrap;  }

.text-clamp , a.text-clamp { overflow: hidden; height: 27px; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }

/* a.photo */
a.photo , .bgBox { overflow: hidden; background: no-repeat 50% / cover; display: block; }

/* fancybox */
[class^="fancybox-"] , [class^="fancybox-"] * , .slick-track , .fa , .fas , .fa:before , .fas:before , .fa:after , .fas:after , .trans_none_box { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }

/* slick-slider */
.wrapper .slick-slider { margin-bottom: 0; }

/* webBox */
.webBox { position: relative; overflow: hidden; width: 100%; }
.webBox .pageh1 { position: absolute; top: 0; z-index: 1; }
.webBox .wrapper { position: relative; background: #fff; z-index: 2; }

/* wrap */
#wrap { position: relative; }
#wrap:before , #wrap:after {position: absolute;width: 0;height: 0;border-style: solid;border-width: 380px 0 0 380px;border-color: transparent transparent transparent #f7f7f7;bottom: 0;left: 0;z-index: 1;content: "";}
#wrap:after { border-width: 110px 0 0 110px; border-color: transparent transparent transparent #d5d5d5; z-index: 2; }

/* workframe */
.workframe {position: relative;margin: 0 auto;width: 1360px;font-size: 0;z-index: 1;}
#community{position: relative;margin: 0 auto;width: 1360px;font-size: 0;z-index: 1;}
/* Sitemap */
#Sitemap #jsonUL a { display: block; font-size: 20px; font-weight: 400; color: #2d2d2e; }
#Sitemap #jsonUL a * { display: inline-block; line-height: 170%; font-size: 16px; vertical-align: top; }

/* svg.logo */
svg.logo { width: 100%; height: 48px; fill: #fff; }

/* header */
header { position: fixed; padding: 10px 120px 10px 30px; width: calc(100% - 150px); top: 0; left: 0; z-index: 999; }
header #cis { width: 330px; display: inline-block; }
header #menu_top { position: relative; margin: 0 0 0 30px; padding-right: 60px; width: calc(100% - 420px); display: inline-block; }
header #menu_top nav ul li {margin-right: 20px;display: inline-block;overflow: hidden;position: relative;overflow: hidden;}
header #menu_top nav p a { padding: 5px 10px; }
header #menu_top nav p a , header #menu_top nav p a font { display: block; font-size: 18px; color: #fff; }
header #menu_top nav p a font.sub { font-family: 'Noto Serif SC', sans-serif; font-size: 13px; }

/* header menuIcon */
header #menuIcon {padding: 12px;width: 21px;height: 21px;border: 1px #fff solid;display: block;top: calc((100% - 47px) / 2);left: auto;z-index: 1001;right: 0;}
header #menuIcon:before , header #menuIcon:after { position: absolute; width: 30px; height: 0; background: #fff; display: block; top: 50%; right: calc((100% - 30px) / 2); content: ""; transition: .4s cubic-bezier(.645,.045,.355,1); }
header #menuIcon span { position: relative; margin: 0 auto 4px; width: 4px; height: 4px; background: #fff; display: block; }
header #menuIcon span:nth-child(3) { margin-bottom: 0; }
header #menuIcon span:before , header #menuIcon span:after { position: absolute; width: 4px; height: 4px; background: #fff; display: block; top: 0; left: -8px; content: ""; }
header #menuIcon span:after { left: auto; right: -8px; }
header #menuIcon[data-type="2"] { border-color: #ababab; transition-delay: .2s; }
header #menuIcon[data-type="2"]:before , header #menuIcon[data-type="2"]:after { height: 1px; background: #474646; -webkit-transform: rotate(45deg); transform: rotate(45deg); transition-delay: .2s; }
header #menuIcon[data-type="2"]:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
header #menuIcon[data-type="2"] span:nth-child(1) { transform: translateY(8px); opacity: 0; }
header #menuIcon[data-type="2"] span:nth-child(2) { opacity: 0; transition-delay: .1s; }
header #menuIcon[data-type="2"] span:nth-child(3) { transform: translateY(-8px); opacity: 0; }
header #menuIcon[data-type="2"] span:before , header #menuIcon[data-type="2"] span:after { left: 0; right: 0; opacity: 0; }

/* header menu_open */
header #menu_open {overflow: hidden;width: 100vw;height: 0;background: #fff;background-color: #fff;background-image: url(/images/00/menuBg.jpg);background-position: 50%;top: 0;left: 0;opacity: 0;z-index: 1000;}
header #menu_open[data-type="2"] { height: 100vh; opacity: 1; }
header #menu_open .list_box { position: relative; margin-top: 100px; }
header #menu_open .list_box li p { position: relative; }
header #menu_open .list_box li p a {display: block;line-height: 170%;position: relative;display: block;}
header #menu_open .list_box li p.lavel_1 a::before {content: '';position: absolute;left: 0;bottom: -20px;z-index: 1;width: 0;height: 2px;background-color: #6d256d;}
header #menu_open .list_box li p.lavel_1 a::before {width: 20px;-webkit-transition-delay: 1.3s;-o-transition-delay: 1.3s;transition-delay: 1.3s; } 
header #menu_open .list_box li p font { display: block; text-align: left; line-height: 140%; font-size: 14px; color: #444; }
header #menu_open .list_box li p font.sub { margin-top: 2px; line-height: 110%; font-family: 'Noto Serif SC', sans-serif; font-size: 12px; color: #717171; }
header #menu_open .list_box li p b { position: absolute; padding: 0 10px; top: 0; right: 0; }
header #menu_open .list_box li p b i { color: #3d3d3d; }
header #menu_open .list_box >li { vertical-align: top; }
header #menu_open .list_box li p.lavel_1 font:first-child { font-family: 'Noto Serif TC', serif; font-weight: 600; font-size: 19px; color: #6d256d; }
header #menu_open .list_box li p.lavel_1 font.sub { color: #5e3d5e; }
header #menu_open .list_box li p.lavel_2 font:first-child { font-family: 'Noto Serif TC', serif; font-weight: 600; font-size: 16px; color: #3d3d3d; }
/* menuInfoBox */
header #menu_open .menuInfoBox {display: -webkit-box;display: -ms-flexbox;display: flex;margin-top: 0vh;width: 1378px;padding-top: 7vh;padding-bottom: 2vh;margin-left: auto;margin-right: auto;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}

header #menu_open .menuInfoBox .leftBox {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between; }

header #menu_open .menuInfoBox .socialList button {width: 30px;height: 30px;border: none;border-radius: 50%; }
header #menu_open .menuInfoBox .languageBox .main, .menuInfoBox .onlineBookingBtn {width: 200px;height: 40px;border: 1px solid #e5e5e5;background-color: transparent; }

header #menu_open .menuInfoBox .languageBox {margin-left: auto;margin-right: auto;z-index: 2; }
header #menu_open .menuInfoBox .languageBox .main {width: 200px;height: 40px;border: 1px solid #e5e5e5;background-color: transparent; }
header #menu_open .menuInfoBox .onlineBookingBtn {width: 200px;height: 40px;margin: 15px auto 40px;font-size: 13px;color: #808080; }
header #menu_open .menuInfoBox .socialBox > h2, .menuContactBox > h2 {margin-bottom: 10px;font-size: 15px;font-family: "Cardo", "Noto Serif TC", serif;text-transform: uppercase; }
.menuContactBox ul li{ font-family: 'Noto Serif TC', serif; font-weight: 600; font-size: 15px; color: #3d3d3d; }
.menuCopyrightBox p,.menuContactBox ul li a{ margin-top: 0px; line-height: 160%; font-family: 'Noto Serif SC', sans-serif; font-size: 13px; color: #717171; }
header #menu_open .socialList {display: -webkit-box;display: -ms-flexbox;display: flex; }
header #menu_open .socialList a {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;width: 30px;height: 30px;font-size: 18px;color: #959595; }
header #menu_open .socialList .line svg {width: 17px;height: 16px;fill: #959595; }
header.headerfixed {background: rgb(78 4 80 / 82%);}

/* follow_box */
#follow_box { width: 6vw; top: calc((100% - 181px) / 2); right: 0; z-index: 998; }
#follow_box p { margin-bottom: 10px; text-align: center; color: #fff; }
#follow_box p.title { margin-bottom: 50px; font-size: 12px; transform: rotate(90deg); }
#follow_box p a i { font-size: 18px; color: #fff; }
#follow_box p[data-type="2"] , #follow_box p[data-type="2"] a i { color: #7f1084; }

/* footer */
footer { padding-top: 30px; background: #696969; }
footer .row { margin: 0 2% 0 0; width: 48%; display: inline-block; }
footer .web_contact #flogo { margin-bottom: 10px; }
footer .web_contact .text { margin-left: 30px; }
footer .web_contact .text p * , footer .web_contact .text p a { display: inline-block; line-height: 170%; font-weight: 300; font-size: 15px; color: #fff; }
footer .web_info { margin: 0 0 0 2%; }
footer .web_info .nowrap_box { text-align: right; }
footer .web_info #fnav a { padding: 5px 10px; font-weight: 100; color: #fff; }
footer .web_info #fnav a span { display: block; font-family: 'Noto Serif SC', sans-serif; font-size: 12px; }
footer .web_info .community { margin: 20px 0; }
footer .web_info .community a i { padding: 2px 10px; color: #fff; }
footer .web_info .copyright >div { display: inline-block; font-size: 13px; color: #acacac; }

/* gotop */
#gotop { position: fixed; right: 20px; bottom: 20px; opacity: 0; z-index: 99; }
#gotop a { width: 40px; height: 40px; border: 2px #c2c2c2 solid; border-radius: 50%; display: block; text-align: center; }
#gotop a svg { margin: 10px 0; width: 20px; height: 20px; fill: #c2c2c2; }
#gotop[data-type="2"] { opacity: 1; }



/* webSeo */
#webSeo { position: relative; overflow: hidden; padding: 10px 0; }
#webSeo .js-marquee-wrapper * , #webSeo .js-marquee * , #webSeo .seo * { font-size: 13px; color: #959595; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }

/* SeoStarRating */
#SeoStarRating font { margin-right: 5px; display: inline-block; vertical-align: bottom; }
#SeoStarRating font:first-child {line-height: 130%;font-weight: bold;font-size: 18px;color: #cacaca;}
#SeoStarRating font:nth-child(2) {font-size: 16px;color: #cacaca;}
#SeoStarRating font:last-child { color: #383838; }

@media screen and (max-width: 1360px){
	.workframe ,#community{width: 88%;}
}
@media screen and (min-width: 1281px){
	header #menu_open .list_box { position: relative; margin-top: 100px; padding: 0 2%; width: 96%; display: inline-flex; justify-content: center; align-items: flex-start; }
	header #menu_open .list_box:before { position: absolute; width: 100%; height: 1px; background: #dadada; display: block; top: 61px; left: 0; content: ""; }
	header #menu_open .list_box >li { min-width: 130px; display: inline-block; }
	header #menu_open .list_box li p { margin: 0 15px 15px 0; max-width: 130px; }
	header #menu_open .list_box li p b { display: none; }
	header #menu_open .list_box li p.lavel_1 { margin-bottom: 20px; padding-bottom: 20px; }
	header #menu_open .list_box li .list_2 { display: inline-flex; align-items: flex-start; }
	header #menu_open .list_box li .list_2 >li { max-width: 120px; display: inline-block; vertical-align: top; }
	header #menu_top nav >ul >li:hover, header #menu_top nav >ul >li .menu_body .subOption >li:hover, header #menu_top nav >ul >li .menu_body .sub2Option >li:hover{overflow: visible;}
	header #menu_top nav ul li b { display: none; }
	header #menu_top nav ul li .menu_body, header #menu_top nav ul li .menu_body .subOption ul li{position: absolute;width: 170px;background: rgb(0 0 0 / 55%);left: calc(50% - 55px);z-index: 1;opacity: 0;-webkit-transform: translateY(30px);transform: translateY(30px);}
    header #menu_top nav ul li .menu_body .subOption li{position: relative;overflow: hidden;display: contents;}
    header #menu_top nav ul li .menu_body .subOption li >div a{padding: 10px 15px;border-bottom: 1px rgb(214 214 214 / 23%) solid;display: block;color: #0f2942;}
	header #menu_top nav ul li .menu_body .subOption li >div a font{font-size: 14px;}
	header #menu_top nav ul li .menu_body .subOption li >div a font.sub{font-size: 12px;color: rgb(255 255 255 / 35%);font-weight: 100;}
	header #menu_top nav >ul >li:hover .menu_body {opacity: 1;transform: translateY(0px);}
	header #menu_top nav ul li .menu_body .subOption li ul { top: 0; left: 170px; -webkit-transform: translateY(0); -webkit-transform: translateX(30px); transform: translateY(0); transform: translateX(30px); }
	header #menu_top nav ul li:last-child .menu_body .subOption li ul { left: auto; right: 170px; }
	header #menu_top nav ul li .menu_body .subOption li:hover ul.sub2Option , header #menu_top nav ul li .menu_body .subOption li ul.sub2Option li:hover ul.sub3Option { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}
@media screen and (max-width: 1280px){
	header { padding: 10px 2%; width: 96%; }
	header #cis { width: calc(100% - 77px); }
	header #menu_top { padding-right: 0; width: 47px; min-height: 50px; }
	header #menu_top nav { display: none; }
	header #menu_open .list_box {overflow-y: scroll;height: calc(90vh - 160px);}
	header #menu_open .list_box::-webkit-scrollbar { width: 0; }
	header #menu_open .list_box >li { padding: 10px 2%; border-bottom: 1px #e9e9e9 solid; }
	header #menu_open .list_box >li:last-child { border-bottom: 0; }
	header #menu_open .list_box >li ul { margin: 10px 0 5px 20px; display: none; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
	header #menu_open .list_box >li .list_2 >li { margin-bottom: 5px; }
	header #menu_open .list_box >li .list_2 ul { margin: 5px 0 5px 15px; }
	header #menu_open .list_box li p font { margin-right: 15px; display: inline-block; vertical-align: baseline; }
	header #menu_open .list_box li p.lavel_1 font.sub { font-size: 14px; }
	#follow_box { width: 70px; }
	header #menu_open .menuInfoBox {width: 95%;padding-top: 0vh;}
	header #menu_open .list_box li p.lavel_1 a::before{display: none;}
	header #menu_open .menuInfoBox {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between; } 
}
@media screen and (max-width: 1160px){
	footer .web_info #fnav { text-align: left; }
	#wrap:before , #wrap:after {display: none;}
	#wrap:after {display: none;}
}
@media (min-width: 1181px) {
	header #menu_open .socialList a:hover {color: #6d256d;}
	header #menu_open .socialList a:hover svg {fill: #af8442; } 
}
@media (max-width: 960px) {
	header #menu_open .menuInfoBox {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;text-align: center; } 
	header #menu_open .menuInfoBox .leftBox{display: none;}
	header #menu_open .menuInfoBox .socialBox > h2 {display: none; }
	header #menu_open .menuInfoBox .socialBox .socialList {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;margin-bottom: 20px; }
	header #menu_open .menuInfoBox .socialBox .socialList li + li {margin-left: 10px; }
	header #menu_open .menuInfoBox .socialBox .socialList a {border-radius: 50%;background-color: #fff; }
	header #menu_open .list_box li p.lavel_1 font:first-child{ font-size: 15px; }
	header #menu_open .list_box {height: calc(90vh - 230px);}
 }
@media (min-width: 961px) {
	header #menu_open .menuInfoBox .socialList li:last-child {display: none; } 
	header #menu_open .menuInfoBox .languageBox, .menuInfoBox .onlineBookingBtn {display: none; }
}
@media screen and (max-width: 768px){
	#follow_box { padding: 0 10px; width: 140px; background: #7f1084; border-radius: 20px; box-shadow: 0 0 50px rgb(0 0 0 / .4); text-align: left; font-size: 0; top: auto; right: calc((100% - 160px) / 2); bottom: 20px; z-index: 1000; }
	#follow_box p { margin-bottom: 0; padding: 0 15px 5px; display: inline-block; }
	#follow_box p.title { display: none; }
	footer .row { margin: 0 0 30px; width: 100%; }
	footer .web_info { margin: 0 0 10px 30px; width: calc(100% - 30px); }
	footer .web_info #fnav { display: none; }
	footer .web_info .nowrap_box { text-align: left; }
	footer .web_info .community { margin: 0 0 15px; }
	header.headerfixed { background: rgb(91 12 95 / 80%); }
}