@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('/css/contentBuilder.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;}
*:focus { outline: none; }

body { margin: 0; }
body ::selection { background: #ad9c8f; text-shadow: none; color: #fff; }
body::-webkit-scrollbar { width: 5px; }
body::-webkit-scrollbar-track { background: #aaa; }
body::-webkit-scrollbar-thumb { background: #3b387e; }
body::-webkit-scrollbar-thumb:hover { background: #201e46; }

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: 'Playfair Display', 'Noto Sans TC', sans-serif; font-size: 16px; word-wrap: break-word; word-break: break-all; -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 { outline:none }

img { max-width: 100%; }

a , a:link , a:visited , a:hover { display: inline-block; text-decoration: none; vertical-align: initial; }

* html .clearfix { height: 1%; }

.clearfix { display: block; }

livedemo00.template-help:after, :before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.text-clamp { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; }

/* 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 { -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: #f5f7fa; z-index: 2; }

/* workframe */
.workframe { position: relative; margin: 0 auto; width: 1440px; font-size: 0; z-index: 1; }

/* Sitemap */
#Sitemap #jsonUL a { color: #000; }

/* headBan */
#headBan {position: relative;background: #f5f7fa;}

/* banner */
#banner {position: relative;padding-top: 0;z-index: 1;}
a.fmlink {display: flex;height: auto;width: 180px;background: unset;margin-top: 70px;border: #177484 1px solid;padding: 10px 5px;border-radius: 125px;justify-content: space-around;color: #177484;font-size: max(1.2 * (1vw + 1vh)/2,14px);font-weight: 500;}
a.fmlink:hover {background: #1085a0;border: #107a93 1px solid;color: white;}
a.fmlink svg {fill: #177484;width: 20px;aspect-ratio: 1/1;}
a.fmlink:hover svg{fill:white;}

a.masklink{position:absolute;width:100%;height:100%;z-index: 8;}
/* header */
header {position: fixed;width: 100%;font-size: 0;top: 0;z-index: 9999;padding: 10px 11vw;display: flex;align-items: center;justify-content: space-between;}
header .row { padding: 0 10px; display: inline-block; }
header #cis {width: 240px;height: 100px;line-height: 100px;text-align: center;}
header .mbMenu #menuIcon { position: absolute; width: 80px; height: 79px; display: block; top: 0; right: 80px; }
header .mbMenu #menuIcon:before , header .mbMenu #menuIcon:after { margin: 35px auto 0; width: 35px; height: 2px; background: #fff; display: block; right: 0; transition: all 0.3s; content: ""; }
header .mbMenu #menuIcon:after { margin: 10px auto 0; }
header .mbMenu .btnBox , header .mbMenu nav >ul { text-align: right; }
header .mbMenu .btnBox a { padding: 0 15px 0 5px; font-size: 14px; color: #87919b; }
header .mbMenu .btnBox a i { font-size: 14px; }
header .mbMenu nav >ul >li >p a {padding: 21px 13px;display: block;font-size: 18px;color: #303030;}
header .mbMenu nav >ul >li .menu_body .subOption li { position: relative; overflow: hidden; }
header .mbMenu nav >ul >li .menu_body .subOption li >div a { padding: 10px 15px; border-bottom: 1px #d6d6d6 solid; display: block; color: #0f2942; }
header .mbMenu nav >ul >li .menu_body .subOption li:last-child >div a { border-bottom: 0; }
header #linelink {}
header #linelink a {font-size: 13px;color: #fff;padding: 14px 15px;width: 130px;background: #1085a0;text-align: center;border-radius: 222px;display: flex;align-items: center;justify-content: space-around;}
header #linelink a svg{fill:white;width: 22px;aspect-ratio: 3/2;}
header form#hSearch { position: fixed; padding: 2px 10px; background: #fff; box-shadow: 0 0 20px rgba(0, 0, 0, .2); top: 40px; right: -100%; z-index: 100; }
header form#hSearch input { width: 250px; }
header form#hSearch a { color: #000; }
header.headerfixed #cis { height: 80px; line-height: 80px; }
header .mbMenu[data-type="2"] #menuIcon:before { -webkit-transform: translateY(6px) rotate(135deg); transform: translateY(6px) rotate(135deg); }
header .mbMenu[data-type="2"] #menuIcon:after { -webkit-transform: translateY(-6px) rotate(-135deg); transform: translateY(-6px) rotate(-135deg); }

/* footer */
footer { position: relative; background-color: #0f6a7a; color: #fff; padding: 150px 0 0px; margin-top: 0; font-family: 'Noto Sans TC',sans-serif; }
footer * { color: white; font-family: 'Noto Sans TC',sans-serif; }
.footer-deco { position: absolute; top: -52px; left: 0; width: 25%; min-width: 200px; height: 100px; background-color: #cbdbe3; clip-path: polygon(0 0,100% 0,91% 100%,0% 100%); z-index: 5; }
.footer-content { display: flex; justify-content: space-between; align-items: center; width: min(1440px,100%); margin: 0 auto; padding: 0 40px 40px 40px; flex-wrap: wrap; }
.f-logo-box { display: flex; flex-direction: column; align-items: center; margin-right: 50px; }
.f-logo-icon { width: 60px; height: 60px; border: 2px solid #fff; border-radius: 12px; margin-bottom: 10px; display: flex; align-items: center; justify-content: center; }
.f-logo-icon svg { width: 40px; height: 40px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }
.f-logo-text h3 { margin: 0; font-size: 24px; letter-spacing: 2px; font-weight: bold; }
.f-logo-text span { font-size: 12px; letter-spacing: 1px; display: block; text-align: center; opacity: 0.8; margin-top: 2px; }
.f-info { margin-right: 40px; flex: 1; max-width: 300px; }
.f-info h4 { font-size: 16px; margin: 0 0 5px 0; font-family: serif; letter-spacing: 1px; font-weight: normal; }
.f-info-line { width: 100%; height: 1px; background-color: rgba(255,255,255,0.4); margin-bottom: 12px; }
.f-info p { margin: 5px 0; font-size: 13px; letter-spacing: 0.5px; line-height: 1.6; }
.f-social { display: flex; gap: 15px; margin-right: 50px; }
.f-social a { padding: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 60px; height: 60px; }
.f-social-btn { width: 45px; height: 45px; background-color: #fff; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #0f6a7a; font-weight: bold; font-size: 18px; transition: transform 0.2s; }
.f-social-btn:hover { transform: translateY(-3px); background: #c5d9e4; }
.f-social-btn.line { font-size: 12px; font-weight: 900; }
.f-divider { width: 1px; height: 80px; background-color: rgba(255,255,255,0.3); margin-right: 50px; }
.f-actions { display: flex; flex-direction: column; align-items: flex-start; }
.f-booking-btn { display: inline-flex; align-items: center; background-color: #178090; padding: 8px 25px; border-radius: 20px; color: #fff; font-size: 14px; margin-bottom: 15px; transition: background 0.3s; letter-spacing: 1px; }
.f-booking-btn:hover { background-color: #2eb4c9; }
.f-booking-btn svg { width: 14px; height: 14px; margin-left: 8px; stroke-width: 2.5; }
.f-nav-links { display: flex; gap: 15px; font-size: 13px; color: rgba(255,255,255,0.8); }
.f-nav-links a:hover { color: #fff; text-decoration: underline; }
.f-copyright { background-color: #0b5360; text-align: center; padding: 5px 0; font-size: 12px; color: rgba(255,255,255,0.6); display: flex; justify-content: center; }
.f-copyright * { font-size: 12px; color: #e6e5e5; }


/* gotop */
#gotop { position: fixed; z-index: 99; right: 15px; bottom: 140px; -webkit-transform-origin: right bottom; -webkit-transform: rotate(-90deg); transform-origin: right bottom; transform: rotate(-90deg); }
#gotop a font { font-size: 14px; color: #ad9c8f; }
#gotop a:after { margin-left: 10px; width: 70px; height: 1px; background: #ad9c8f; display: inline-block; vertical-align: middle; content: ""; }

/* webSeo */
#webSeo {position: relative;overflow: hidden;margin-top: 40px;padding: 10px 0;background: #1d6e7c;}
#webSeo .js-marquee-wrapper * , #webSeo .js-marquee * , #webSeo .seo * {font-weight: 400;font-size: 13px;color: #e7e7e7;-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: #FF9800; }
#SeoStarRating font:nth-child(2) { font-size: 16px; color: #FF9800; }
#SeoStarRating font:last-child { color: #383838; }

@media screen and (max-width: 1440px){
	.workframe { width: 90%; }
	header .mbMenu nav >ul >li >p a { padding: 21px 10px; }
}
@media screen and (min-width: 1281px){
	header .mbMenu { padding: 0 20px; width: calc(100% - 380px); }
	header .mbMenu #menuIcon { display: none; }
	header .mbMenu nav >ul >li { position: relative; overflow: hidden; display: inline-block; }
	header .mbMenu nav >ul >li:hover , header .mbMenu nav >ul >li .menu_body .subOption >li:hover , header .mbMenu nav >ul >li .menu_body .sub2Option >li:hover { overflow: visible; }
	header .mbMenu nav ul li b { display: none; }
	header .mbMenu nav >ul >li .menu_body , header .mbMenu nav >ul >li .menu_body .subOption li ul { position: absolute; width: 170px; background: #fff; left: calc(50% - 85px); z-index: 1; opacity: 0; -webkit-transform: translateY(30px); transform: translateY(30px); }
	header .mbMenu nav >ul >li:hover .menu_body { opacity: 1; transform: translateY(0); }
	header .mbMenu 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 .mbMenu nav >ul >li:last-child .menu_body .subOption li ul { left: auto; right: 170px; }
	header .mbMenu nav >ul >li .menu_body .subOption li:hover ul.sub2Option , header .mbMenu nav >ul >li .menu_body .subOption li ul.sub2Option li:hover ul.sub3Option { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
	header.headerfixed .mbMenu nav >ul >li >p a { padding: 11px 15px; }
	header.headerfixed .menuBox .mbMenu nav >ul >li >p a { padding: 20px 10px; }
	header.headerfixed #linelink { padding: 11px 0; }

}
@media screen and (max-width: 1280px){
	header #cis { height: 79px; line-height: 79px; }
	header .mbMenu { position: absolute; padding: 0; width: 100%; right: 0; }
	header .mbMenu nav { position: fixed; overflow-y: scroll; padding: 0 30px; width: calc(100% - 60px); height: 0; background: #0f2942; top: 79px; right: 0; z-index: 100; }
	header .mbMenu nav >ul >li { border-bottom: 1px #1b3c5c solid; }
	header .mbMenu nav >ul >li >p { position: relative; }
	header .mbMenu nav >ul >li >p a { padding: 10px 50px 10px 20px; }
	header .mbMenu nav >ul >li >p b , header .mbMenu nav >ul >li .menu_body .subOption li .bo b { position: absolute; padding: 10px 0; width: 50px; display: block; text-align: center; color: #fff; top: 0; right: 0; }
	header .mbMenu nav >ul >li .menu_body , header .mbMenu nav >ul >li .menu_body .sub2Option , header .mbMenu nav >ul >li .menu_body .sub3Option { display: none; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
	header .mbMenu nav >ul >li .menu_body .subOption { padding-bottom: 20px; }
	header .mbMenu nav >ul >li .menu_body .subOption li .bo { position: relative; }
	header .mbMenu nav >ul >li .menu_body .subOption li >div a { padding: 2px 50px 2px 20px; border-bottom: 0; color: #5390cb; }
	header .mbMenu nav >ul >li .menu_body .subOption li .sub3Title a { color: #e2f0fe; }
	header .mbMenu nav >ul >li .menu_body .sub3Option li >div a { color: #ad9c8f; }
	header .mbMenu nav >ul >li .menu_body .subOption li .bo b { padding: 2px 0; }
	header .mbMenu[data-type="2"] nav { padding: 30px; height: calc(100vh - 139px); }
	header #linelink { float: right; padding: 11px 0 12px; width: 80px; }
	header #linelink a { font-size: 12px; }
	#banner { padding-top: 79px; }
	.f-divider { display: none; }
	.f-social { margin-right: 0; margin-bottom: 20px; }
	.footer-content { justify-content: space-between; }
	
}
@media screen and (max-width:1024px) {
  .footer-content { flex-direction: column; text-align: center; padding-top: 20px; }
  .f-logo-box,.f-info,.f-social,.f-actions { margin: 0 0 30px 0; width: 100%; align-items: center; max-width: 100%; }
  .f-info-line { width: 50%; margin: 10px auto; }
  .f-actions { align-items: center; }
  .f-nav-links { justify-content: center; flex-wrap: wrap; }
  .footer-deco { width: 50%; }
}
@media screen and (max-width: 500px){
	header #cis { width: calc(100% - 180px); }
}