@import url('/css/fontawesome-all.css');
@import url('/css/font-awesome.min.css');
@import url('/css/fontawesome.min.css');
@import url('/css/all.min.css');
@import url('/css/SeoJump.css');
@import url('/css/contentBuilder.css');
@import url('root.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

* { margin: 0; padding: 0; }
*:focus { outline: none; }
body { margin: 0; }
body::selection { background: rgba(var(--black-rgb),.1); text-shadow: none; color: var(--info); }
body::-webkit-scrollbar { width: 5px; }
body::-webkit-scrollbar-track { background: rgba(var(--info-rgb),.3); }
body::-webkit-scrollbar-thumb { background: var(--primary); }
header,footer,div,nav,article,h2,h3,h4,h5,h6,hr,p,form,label,input,textarea,ul,li,img,svg,span,font,strong,b,a,i { text-align: left; vertical-align: middle; word-wrap: break-word; word-break: break-word; line-height: 170%; border-width: 0; font-family: "Noto Sans TC",sans-serif; font-size: 16px; color: var(--info); }
ul,ol { list-style: none; }
*,::after,::before { margin: 0; padding: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -webkit-transition: all .5s linear; -moz-transition: all .5s linear; transition: all .5s linear; }
*:focus { outline: none; }
fieldset { border: 0; }
input,button,select,textarea { padding: 5px 15px; width: calc(100% - 30px); border: 0; background: none; box-shadow: none; outline: none; font-size: 16px; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select { padding: 10px 15px; width: 100%; color: var(--info); }
button { width: auto; padding: 0; }

/* img */
img { max-width: 100%; }
.img_cover { width: 100%; object-fit: cover; }
.img_contain { width: 100%; object-fit: contain; }
a,a:link,a:visited,a:hover { text-decoration: none; }

/* general class set */
.txt_clamp { overflow: hidden; height: 27px; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; letter-spacing: .5px; }
.d_inblock.txt_clamp { display: -webkit-inline-box; }
.atag_item { width: 100%; height: 100%; top: 0; left: 0; z-index: 10; }
.nowrap_box { font-size: 0; }

/* btn */
.btn,.btn_outline { padding: 2px 10px; background-color: transparent; border: 1px solid transparent; border-radius: 2px; text-align: center; color: var(--info); }

/* badge  */
.badge { padding: 2px 10px; box-shadow: none; }
.badge_lighten { padding: 0 4px; min-width: 22px; border-radius: 3px; font-weight: 400; text-align: center; font-size: 12px; vertical-align: text-bottom; }

/* photo,bgBox */
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; }
.fancybox-infobar__body span { color: var(--white); }

/* webBox */
.webBox {position: relative;width: 100%;}
.webBox .wrapper {position: relative;z-index: 2;overflow: visible;}
.webBox .slick-slider { margin-bottom: 0; }
.webBox .wrapper_lines { width: 100vw; height: 100vh; top: 0; left: 0; z-index: -1; display: none; }
.webBox .wrapper_lines .center_box { height: 100vh; border: rgba(var(--info-rgb),.1) solid; border-width: 0 1px; }

/* .slick-dots */
.webBox .slick-dots { position: relative; margin-top: 45px; bottom: 0; }
.webBox .slick-dots li { width: 10px; height: 10px; display: inline-flex; margin: 0; }
.webBox .slick-dots li:before { margin: auto; display: block; border: 1px rgba(var(--white-rgb),.2) solid; content: ""; }
.webBox .slick-dots li.slick-active:before { border-color: var(--primary); }

/* workframe */
.workframe { margin: 0 auto; width: 90%; }

/*loading*/
.loadingArea { width: 100%; height: 100vh; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background-color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; pointer-events: none; position: fixed; left: 0; top: 0; z-index: 9999 }
.loadingArea .loadLogo { width: 260px }
.loadingArea .loadLogo img { scale: 1 1; opacity: 0; width: 100%; height: auto; display: block; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform-origin: center; transform-origin: center }
.loadingArea.show { opacity: 1; pointer-events: auto; -webkit-transition: 2s cubic-bezier(0.43,0.05,0.17,1); transition: 2s cubic-bezier(0.43,0.05,0.17,1) }
.loadingArea.show img { -webkit-animation: loadingAni 10s forwards linear; animation: loadingAni 10s forwards linear }
.loadingArea.hide { opacity: 0 }
.loadingArea.hide .loadLogo { -webkit-filter: blur(5px); filter: blur(5px); opacity: 0; -webkit-transition: 1s cubic-bezier(0.43,0.05,0.17,1); transition: 1s cubic-bezier(0.43,0.05,0.17,1) }
@-webkit-keyframes loadingAni {
  0% { scale: 1 1; opacity: 0; -webkit-filter: blur(5px); filter: blur(5px) }
  15% { opacity: 1; -webkit-filter: blur(0px); filter: blur(0px) }
  100% { scale: 1.4 1.4 }
}
@keyframes loadingAni {
  0% { scale: 1 1; opacity: 0; -webkit-filter: blur(5px); filter: blur(5px) }
  15% { opacity: 1; -webkit-filter: blur(0px); filter: blur(0px) }
  100% { scale: 1.4 1.4 }
}

/* header */
header { position: relative; position: fixed; top: 0; left: 0; z-index: 2000; opacity: 0; align-items: center; margin: 0 auto; width: 100%; padding: 10px 0; }
body.is-ready header { opacity: 1; }
header:before { position: absolute; width: 100%; height: 0; display: block; top: 0; left: 0; z-index: -1; content: ""; transition: 0.6s; background: var(--white); height: 100%; }
header.scroll:before { background: var(--white); transform: translate(0,10px); -webkit-transform: translate(0,0px); opacity: 1; height: 100%; }
header.scroll { padding: 0 }
header.scroll .barBox .wrap { -webkit-transform: translateY(0px); transform: translateY(0px); }
header .barBox { display: flex; flex-direction: column; justify-content: center; align-items: center; margin: auto; }
header .barBox .wrap {display: grid;grid-template-columns: 300px 1fr 220px;gap: 50px;width: 96%;z-index: 50;align-items: baseline;padding: 0;margin: 10px 0;justify-items: center;justify-content: center;}
header #slideMenumenu { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
header .sideMenuBox { display: flex; justify-content: space-evenly; flex-direction: row; flex-wrap: nowrap; -webkit-transition: all 0.9s 0.5s ease-in-out; transition: all 0.9s 0.5s ease-in-out; align-items: center; gap: 24px; }
header .sideMenuBox .booking-btn { color: var(--white); background: linear-gradient(135deg,var(--primary),var(--triadic2)); box-shadow: 0 5px 10px rgba(var(--primary-rgb),.25); padding: 10px 27px; letter-spacing: 1px; border-radius: 9px; position: relative; }
header .sideMenuBox .booking-btn::before { content: ''; position: absolute; left: -40%; top: 0; width: 40%; height: 100%; background: linear-gradient(90deg,transparent,rgba(var(--white-rgb),.38),transparent); transform: skewX(-20deg); transition: .55s ease; }
header .sideMenuBox .booking-btn:hover::before { left: 120%; }
header .sideMenuBox a svg { fill: var(--info); width: 17px; height: 17px; }
header .sideMenuBox a font { font-size: 18px; color: #122338 }
header .sideMenuBox .buttons { display: flex; position: relative; flex-direction: row; align-items: center; gap: 23px; }
header .sideMenuBox .buttons >div { display: flex; text-align: center; justify-content: center; align-items: center; }
header .sideMenuBox .buttons >div a { display: flex; flex-direction: row; align-items: center; gap: 5px }
header .sideMenuBox .buttons >div a p { color: var(--white) }
header .sideMenuBox .buttons .langBox a {   }
header .sideMenuBox .buttons .langBox a svg { width: 19px; height: 19px; }
header #cis { z-index: 999; }
header #cis a {}
header.scroll #cis { -webkit-filter: initial; filter: initial; }
header #cis { align-items: center; gap: 18px; color: var(--primary); transition: .35s ease; display: flex; }
header #cis:hover { transform: translateY(-2px); opacity: .86; }
header #cis .logo_mark {}
header #cis .logo_mark img {width: 100%;height: 100%;object-fit: contain;}
header #cis .logo_txt strong,header #cis .logo_txt em { display: block; font-size: 18px; line-height: 1.35; letter-spacing: .14em; font-weight: 700; font-style: normal; }
header #cis .logo_txt small { display: block; margin-top: 4px; font-size: 11px; font-family: Arial,sans-serif; line-height: 14px; }
header #webmenu { z-index: 99; display: flex; align-items: center; gap: 20px; justify-content: center; }
header #webmenu ul { display: flex; align-items: center; justify-content: flex-end; }
header #webmenu li { position: relative }
header #webmenu li a {color: var(--info);padding: 15px 30px;text-align: center;position: relative;font-size: 17px;font-weight: 500;letter-spacing: .08em;transition: .3s ease;}
header.open .navbox ul { display: none }
header #searchBox button svg { width: 22px; height: 22px; fill: var(--info); }
header #searchBox form { position: absolute; background: rgb(0 0 0/.7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 0; right: -500px; top: 87px; }
header #searchBox form input { padding: 5px 10px; width: 150px; background: none; display: inline-block; color: #fff; vertical-align: middle; }
header #searchBox form a { padding: 5px 10px; display: inline-block; vertical-align: middle; color: #fff; }
header #searchBox form a i { font-size: 15px; }
header #toolbar a { display: inline-block; }
header #menuIcon a { transition: none; display: flex; justify-content: center; width: 160px; height: 60px; flex-direction: column; align-items: center; gap: 10px; }
header #menuIcon a p,header #slideMenumenu a p { color: #fff; }
header #menuIcon a font.btn,header #slideMenumenu a font.btn { position: relative; width: 30px; height: 11px; display: flex; border: 0; }
header #menuIcon a font.btn span,header #slideMenumenu a font.btn span { position: absolute; width: 100%; height: 1px; background: var(--info); display: block; top: 0; right: 0; }
header.scroll #menuIcon a font.btn span,header.scroll #slideMenumenu a font.btn span { background: var(--info); }
header #menuIcon a[data-type="1"] font.btn span:nth-child(2),header #slideMenumenu a[data-type="1"] font.btn span:nth-child(2) { top: calc(50% - 1px); width: 100%; right: auto; left: 0; display: none; }
header #menuIcon a[data-type="1"] font.btn span:nth-child(3),header #slideMenumenu a[data-type="1"] font.btn span:nth-child(3) { top: calc(100% - 1px); width: 60%; right: auto; left: 0; }
header #menuIcon a[data-type="1"] font.btn span,header #slideMenumenu a[data-type="1"] font.btn span { transition: transform .4s cubic-bezier(.215,.61,.355,1),opacity .4s cubic-bezier(.215,.61,.355,1),-webkit-transform .4s cubic-bezier(.215,.61,.355,1); }
header #menuIcon a[data-type="2"] font.btn span,header #slideMenumenu a[data-type="2"] font.btn span { transition: .4s cubic-bezier(.645,.045,.355,1); }
header #menuIcon a[data-type="2"] font.btn span:nth-child(1),header #slideMenumenu a[data-type="2"] font.btn span:nth-child(1) { top: 50%; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
header #menuIcon a[data-type="2"] font.btn span:nth-child(2),header #slideMenumenu a[data-type="2"] font.btn span:nth-child(2) { opacity: 0; }
header #menuIcon a[data-type="2"] font.btn span:nth-child(3),header #slideMenumenu a[data-type="2"] font.btn span:nth-child(3) { top: 50%; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
header.headerfixed #menuIcon a font.btn span,header.headerfixed #slideMenumenu a font.btn span { background: #1f1f1f; }
header #menuBox {overflow: hidden;position: fixed;padding: 12vh 7vw 8vh;width: 16vw;height: 100vh;background: #ffffff;right: -800px;top: 0;opacity: 0;-webkit-transform: translate(0%,0);transform: translate(0%,0);z-index: 30;-webkit-transition: all 0.8s ease-in-out;transition: all 0.8s ease-in-out;}
header #menuBox[data-type="2"] { opacity: 1; }
header #menuBox[data-type="2"] .box { -webkit-animation: slideLeftAnimation 0.5s 0.9s ease-in-out both; animation: slideLeftAnimation 0.5s 0.5s ease-in-out both }
	@keyframes slideLeftAnimation {
	0% { opacity: 0; -webkit-transform: translateY(10px); transform: translateY(10px) }
	100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0) }
	}
header #menuBox .box >ul { padding: 0 0 2vh 0; }
header #menuBox .box >ul >li { position: relative; }
header #menuBox .box >ul >li:last-child { border-bottom: 0; }
header #menuBox .box >ul >li >p,header #menuBox .box ul li .menu_body ul li .bo { position: relative; }
header #menuBox .box ul li .menu_body,header #menuBox .box ul li .menu_body >ul li .sub2Option,header #menuBox .box ul li .menu_body >ul li .sub3Option { display: none; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
header #menuBox .box >ul >li >p a { padding: 10px 0; display: block; font-size: 18px; border-bottom: 1px solid #cccccc; color: #000; }
header #menuBox .box ul li b {position: absolute;right: 30px;padding-left: calc(100% - 30px);width: 35px;height: 40px;display: inline-block;text-align: center;line-height: 40px;top: calc((100% - 41px) / 2);cursor: pointer;z-index: 50;}
header #menuBox .box ul li b i { color: var(--info); }
header #menuBox .box ul li b i:before,header #menuBox .box ul li b i:after { width: 15px; height: 1px; background: var(--info); display: block; content: ""; }
header #menuBox .box ul li b i:after { -webkit-transform: translateY(-1px) rotate(90deg); transform: translateY(-1px) rotate(90deg); -webkit-transition: all .2s linear; transition: all .2s linear; }
header #menuBox .box ul li.action b i:after { -webkit-transform: translateY(-1px) rotate(0deg); transform: translateY(-1px) rotate(0deg); }
#menuBox .box ul li .menu_body >ul li .sub2Option { margin: 5px 0 15px; padding: 5px 15px; background: #3a3a3a; }
header #menuBox .box ul li .menu_body >ul li a {padding: 5px 0px;display: block;font-size: 18px;color: #676767;cursor: pointer;z-index: 50;position: relative;}
header #menuBox .box ul li .menu_body .sub2Option a { color: #fff; }
header #menuBox .box ul li .menu_body .sub3Option a { color: #8b8b8b; }
header #menuBox .box ul li .menu_body .sub3Option a:before { content: "- "; }
header.headerfixed:before { background: var(--info); }
header.open a { color: #fff; }
header #menuBox .box >ul >li {   }
header #menuBox .box >ul >li:first-child { border-top: none; }
/* menubg */
#menubg { width: 100vw; height: 100vh; top: 0; left: 0; }
#menubg[data-type="1"] { background: rgba(var(--secondary-rgb),0); z-index: -998; }
#menubg[data-type="2"] { background: rgb(0 0 0/40%); z-index: 998; }
/* top_search */
#top_search { width: 100%; height: 100%; background: rgb(255 255 255/83%); z-index: 999; top: 0; left: 0; right: 0; }
#top_search form { margin: auto; padding: 60px 50px; width: 500px; box-shadow: 0 0 10px rgba(var(--black-rgb),.2); background: rgb(255 255 255/90%); backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.10); box-shadow: 0 8px 24px rgb(0 0 0/10%),inset 0 1px 0 rgba(255,255,255,0.12); background: rgb(236 235 237/69%); border-radius: 20px; overflow: hidden; }
#top_search #close_search { padding: 10px 15px 15px; top: 0; right: 0; }
#top_search #close_search font {margin: 5px auto;width: 30px;height: 30px;display: block;}
#top_search #close_search font:before,#top_search #close_search font:after { position: absolute; width: 100%; height: 1px; background: var(--primary); display: block; content: ""; top: calc((100% - 1px)/2); left: 0; }
#top_search #close_search font:after { width: 1px; height: 100%; top: 0; left: calc((100% - 1px)/2); }
#top_search #close_search span { color: #fff }
.webBox #top_search #close_search font { transform: rotate(45deg); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg) }
#top_search h3 {margin-bottom: 40px;font-weight: 400;font-size: 28px;color: var(--primary);text-align: center;}
#top_search p { border-radius: 40px; overflow: hidden; border: 1px solid #a6a6a6; }
#top_search p >input { padding: 5px 45px 5px 15px; width: calc(100% - 60px); background: none; border: 0; color: var(--black); background-color: var(--white); }
#top_search p >a { top: 4px; right: 20px; }
#top_search p >a svg { width: 20px; height: 25px; fill: #fff; }
#top_search .tags { display: flex; flex-wrap: wrap; gap: 12px }
#top_search .tag { padding: 4px 11px; border-radius: 36px; cursor: pointer; font-size: 15px; border: #e2e2e2 1px solid; color: white; }
#top_search .tag.active { background: hsl(0deg 0% 100%/60%); color: #333; }
#top_search .fadagan { display: flex; flex-direction: column; align-items: center; }
#top_search .fadagan svg { width: 28px; aspect-ratio: 1/1; fill: #0f0f0f; }
#top_search .tags { display: flex; justify-content: center; flex-wrap: wrap; width: 100%; margin-top: 15px; }

/* topicon */
#topicon { font-size: 25px; color: #fff; text-align: center; z-index: 998; position: fixed; bottom: 0; right: 5px; margin: auto 0 31vh 0; width: 45px; }
#topicon .floating-sidebar { position: fixed; opacity: 0; right: -20px; top: 50%; transform: translateY(-50%); z-index: 1000; display: flex; flex-direction: column; gap: 20px; align-items: flex-end; display: none; }
#topicon .floating-sidebar .sidebar-item { width: 90px; height: 90px; display: flex; align-items: center; justify-content: center; text-align: center; color: white; text-decoration: none; transition: all 0.8s cubic-bezier(0.4,0,0.2,1); cursor: pointer; border-radius: 20px; box-shadow: 0 8px 20px rgba(0,0,0,0.06); position: relative; overflow: hidden; will-change: transform,box-shadow; }
#topicon .floating-sidebar .item-registration { background: linear-gradient(135deg,#aed1cd 0%,#8ebfb9 100%); }
#topicon .floating-sidebar .item-international { background: linear-gradient(135deg,#f0b7a5 0%,#e8a08a 100%); }
#topicon .floating-sidebar .item-consultation { background: linear-gradient(135deg,#97bbdc 0%,#7da9d1 100%); }
#topicon .floating-sidebar .sidebar-item:hover { transform: translateX(-12px) scale(1.05); box-shadow: 0 12px 30px rgba(0,0,0,0.12); border-color: rgba(255,255,255,0.8); animation: heartbeat 1.5s ease-in-out infinite; }
#topicon .floating-sidebar .sidebar-item::before { content: '\2665'; position: absolute; bottom: -10px; right: -5px; font-size: 40px; opacity: 0.12; transform: rotate(-20deg); pointer-events: none; transition: opacity 0.3s ease; }
#topicon .floating-sidebar .sidebar-item:hover::before { opacity: 0.25; }
#topicon .floating-sidebar .sidebar-text { font-size: 1.1rem; font-weight: 600; line-height: 1.4; letter-spacing: 2px; z-index: 1; color: var(--white); }
@keyframes heartbeat {
  0% { transform: translateX(-12px) scale(1.05); }
  14% { transform: translateX(-12px) scale(1.1); }
  28% { transform: translateX(-12px) scale(1.05); }
  42% { transform: translateX(-12px) scale(1.1); }
  70% { transform: translateX(-12px) scale(1.05); }
}
body.is-ready #topicon .floating-sidebar { opacity: 1; right: 15px; }

/* footer */
#footer_area .workframe { width: min(1540px,calc(100% - 90px)); margin: 0 auto; }
#footer_area .nowrap_box { display: flex; }
#footer_area a { color: inherit; text-decoration: none; transition: .35s ease; }
#footer_area .footer_contact {position: relative;padding: 34px 0 28px;background: linear-gradient(135deg,var(--primary),var(--triadic2));color: var(--white);overflow: hidden;}
#footer_area .footer_contact .workframe { align-items: center; justify-content: space-between; gap: 42px; }
#footer_area .contact_title {flex: 0 0 auto;display: flex;align-items: baseline;gap: 30px;}
#footer_area .contact_title strong { display: block; font-size: 22px; line-height: 1.2; font-weight: 500; letter-spacing: .12em; color: var(--gray); }
#footer_area .contact_list { flex: 1; align-items: center; justify-content: space-between; gap: 48px; margin: 0; padding: 0; list-style: none; }
#footer_area .contact_list li { display: flex; align-items: flex-start; gap: 0px; color: rgba(var(--white-rgb),.94); font-size: 16px; line-height: 1.65; font-weight: 500; letter-spacing: .04em; flex-direction: column; }
#footer_area .contact_list li font { color: var(--gray); }
#footer_area .contact_list a:hover { color: var(--complement); transform: translateY(-2px); }

#footer_area { position: relative; color: var(--info); background: radial-gradient(circle at 12% 25%,rgba(var(--secondary-rgb),.08),transparent 30%),radial-gradient(circle at 88% 78%,rgba(var(--primary-rgb),.06),transparent 32%),linear-gradient(180deg,rgba(var(--complement-rgb),.24),var(--white)); }
#footer_area .workframe { width: min(1480px,calc(100% - 80px)); margin: 0 auto; }
#footer_area .nowrap_box { display: flex; }
#footer_area .img_cover { width: 100%; height: 100%; object-fit: cover; }
#footer_area .atag_item { inset: 0; z-index: 5; width: 100%; height: 100%; }
#footer_area a { color: inherit; text-decoration: none; transition: .35s ease; }
/* 原本上方聯絡列 */
#footer_area .footer_contact { position: relative; padding: 28px 0; background: linear-gradient(135deg,var(--primary),var(--triadic2)); color: var(--white); overflow: hidden; }
#footer_area .footer_contact .workframe { align-items: center; justify-content: space-between; gap: 42px; }
#footer_area .contact_title {   }
#footer_area .contact_title strong { display: block; font-size: 25px; line-height: 1.2; font-weight: 700; letter-spacing: .12em; }
#footer_area .contact_list { flex: 1; align-items: center; justify-content: space-between; gap: 44px; margin: 0; padding: 0; list-style: none; }
#footer_area .contact_list li { position: relative; display: flex; align-items: center; gap: 12px; color: rgba(var(--white-rgb),.94); font-size: 16px; line-height: 1.65; font-weight: 500; letter-spacing: .04em; }
#footer_area .contact_list li font { display: inline-block; color: inherit; font-size: inherit; }
#footer_area .contact_list li font:first-child { font-weight: 700; }
#footer_area .contact_list li:hover { color: var(--complement); transform: translateY(-2px); }
#footer_area .map_btn { display: inline-flex; width: 168px; height: 46px; flex: 0 0 auto; align-items: center; justify-content: center; gap: 12px; border: 1px solid rgba(var(--white-rgb),.58); border-radius: 4px; color: var(--white); font-size: 15px; font-weight: 700; letter-spacing: .08em; }
#footer_area .map_btn .map_icon { width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C12 21 18 15.4 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 15.4 12 21 12 21Z' stroke='white' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2.5' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
#footer_area .map_btn:hover { background: var(--white); color: var(--primary); transform: translateY(-3px); box-shadow: 0 16px 34px rgba(var(--black-rgb),.18); }
#footer_area .map_btn:hover .map_icon { background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C12 21 18 15.4 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 15.4 12 21 12 21Z' stroke='%2334206f' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2.5' stroke='%2334206f' stroke-width='2'/%3E%3C/svg%3E"); }
/* 新增地圖聯絡區 */
#footer_area .footer_map_area {position: relative;overflow: hidden;padding: 60px 0 40px;}
#footer_area .footer_map_wrap { align-items: center; gap: 58px; }
#footer_area .footer_map_box { width: 52%; height: 300px; overflow: hidden; border-radius: 8px; background: var(--complement); box-shadow: 0 10px 20px rgba(var(--primary-rgb),.12); transition: .45s ease; }
#footer_area .footer_map_box img { filter: saturate(.78) contrast(.92) brightness(1.04); transform: scale(1.02); transition: .75s ease; }
#footer_area .footer_map_box:hover { transform: translateY(-6px); }
#footer_area .footer_map_box:hover img { transform: scale(1.08); filter: saturate(.9) contrast(.98) brightness(1.02); }
#footer_area .footer_contact_info { width: 48%; }
#footer_area .footer_contact_info ul { margin: 0; padding: 0; list-style: none; }
#footer_area .footer_contact_info li { display: flex; align-items: center; gap: 24px; margin-bottom: 20px; color: var(--info); font-size: 18px; line-height: 1.7; letter-spacing: .04em; }
#footer_area .footer_contact_info li i { display: inline-block; width: 32px; height: 32px; flex: 0 0 auto; background-position: center; background-size: contain; background-repeat: no-repeat; transition: .35s ease; }
#footer_area .footer_contact_info li:hover i { transform: translateY(-3px) scale(1.08); filter: drop-shadow(0 8px 14px rgba(var(--primary-rgb),.18)); }
#footer_area .footer_contact_info a:hover { color: var(--secondary); }
#footer_area .footer_contact_info .address i { background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C12 21 18 15.4 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 15.4 12 21 12 21Z' stroke='%2334206f' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2.5' stroke='%2334206f' stroke-width='2'/%3E%3C/svg%3E"); }
#footer_area .footer_contact_info .phone i { background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.2 5.2L10.4 8.7C10.8 9.3 10.7 10 10.2 10.5L9.1 11.6C10.1 13.7 11.9 15.5 14.1 16.7L15.3 15.5C15.8 15 16.6 14.9 17.2 15.3L20.7 17.5C21.3 17.9 21.5 18.7 21.2 19.4C20.7 20.6 19.5 21.4 18.2 21.4C9.6 21.4 2.6 14.4 2.6 5.8C2.6 4.5 3.4 3.3 4.6 2.8C5.3 2.5 6.1 2.7 6.5 3.3L8.2 5.2Z' stroke='%2334206f' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E"); }
#footer_area .footer_contact_info .mail i { background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2' stroke='%2334206f' stroke-width='2'/%3E%3Cpath d='M4.5 7L12 12.5L19.5 7' stroke='%2334206f' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
#footer_area .footer_contact_info .time i { background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='8.5' stroke='%2334206f' stroke-width='2'/%3E%3Cpath d='M12 7.5V12.4L15.5 15' stroke='%2334206f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
#footer_area .footer_logo_group { align-items: center; gap: 42px; margin-top: 26px; padding-top: 24px; border-top: 1px solid rgba(var(--primary-rgb),.12); }
#footer_area .footer_logo_group a { display: block; transition: .35s ease; }
#footer_area .footer_logo_group img { display: block; width: auto; height: 62px; object-fit: contain; }
#footer_area .footer_logo_group a:hover { transform: translateY(-4px); opacity: .82; }

#footer_area .icon_box { position: relative; display: inline-flex; width: 42px; height: 42px; flex: 0 0 auto; align-items: center; justify-content: center; color: var(--white); }
#footer_area .icon_box::before { content: ''; display: block; width: 38px; height: 38px; background-position: center; background-size: contain; background-repeat: no-repeat; opacity: .95; }
#footer_area .icon_box.mail::before { background-image: url("data:image/svg+xml,%3Csvg width='42' height='42' viewBox='0 0 42 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='21' cy='21' r='19' stroke='white' stroke-width='1.4' opacity='.75'/%3E%3Cpath d='M11 15.5H31V27H11V15.5Z' stroke='white' stroke-width='1.6'/%3E%3Cpath d='M11.5 16L21 22.2L30.5 16' stroke='white' stroke-width='1.6'/%3E%3C/svg%3E"); }
#footer_area .icon_box.phone::before { background-image: url("data:image/svg+xml,%3Csvg width='42' height='42' viewBox='0 0 42 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.4 9.6C14.1 10.2 11.8 12 12.2 15.4C12.8 20.6 21.2 29 26.6 29.8C30 30.3 31.8 27.9 32.4 26.6L27.7 22.9L24.9 25.5C22.8 24.5 17.5 19.2 16.5 17.1L19.1 14.3L15.4 9.6Z' stroke='white' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E"); }
#footer_area .icon_box.map::before { background-image: url("data:image/svg+xml,%3Csvg width='42' height='42' viewBox='0 0 42 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 36C21 36 30 27.5 30 18.8C30 13.8 26 10 21 10C16 10 12 13.8 12 18.8C12 27.5 21 36 21 36Z' stroke='white' stroke-width='1.7'/%3E%3Ccircle cx='21' cy='19' r='3.4' stroke='white' stroke-width='1.7'/%3E%3C/svg%3E"); }
#footer_area .social_box a.map_btn {display: inline-flex;width: 168px;height: 46px;flex: 0 0 auto;align-items: center;justify-content: center;gap: 12px;border: 1px solid rgba(var(--white-rgb),.58);border-radius: 4px;color: var(--white);font-size: 15px;font-weight: 700;letter-spacing: .08em;}
#footer_area .social_box a.map_btn .map_icon { width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C12 21 18 15.4 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 15.4 12 21 12 21Z' stroke='white' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2.5' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
#footer_area .social_box a.map_btn font { color: var(--complement); font-weight: 500; }
#footer_area .social_box a.map_btn:hover { background: var(--white); color: var(--primary); transform: translateY(-3px); box-shadow: 0 16px 34px rgba(var(--black-rgb),.18); }
#footer_area .social_box a.map_btn:hover .map_icon { background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C12 21 18 15.4 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 15.4 12 21 12 21Z' stroke='%2334206f' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2.5' stroke='%2334206f' stroke-width='2'/%3E%3C/svg%3E"); }
#footer_area .social_box a.map_btn:hover font { color: var(--primary); }

/* footer_area */
#footer_area .footer_main {padding: 60px 0 30px;}
#footer_area .footer_main .workframe { align-items: flex-start; justify-content: space-between; gap: 80px; }
#footer_area .footer_logo {width: 470px;flex: 0 0 auto;padding-right: 58px;border-right: 1px solid rgba(var(--primary-rgb), .12);}
#footer_area .footer_logo #flogo img {width: 230px;height: auto;margin-bottom: 14px;}
#footer_area .logo_text strong { display: block; color: var(--primary); font-size: 24px; line-height: 1.3; letter-spacing: .22em; }
#footer_area .logo_text b { display: block; margin-top: 6px; color: var(--primary); font-size: 21px; line-height: 1.35; font-weight: 700; letter-spacing: .1em; margin-bottom: 20px; }
#footer_area .logo_text em { display: block; margin-top: 8px; color: var(--primary); font-size: 14px; line-height: 1.4; font-style: normal; letter-spacing: .02em; font-family: 'Inter','Noto Sans TC',sans-serif; }
#footer_area .social_box {gap: 15px;display: flex;justify-content: space-between;align-items: center;}
#footer_area .social_box a:hover { transform: translateY(-4px) rotate(6deg); }
#footer_area .social_box a svg {fill: var(--gray);width: 20px;height: 20px;}
#footer_area .footer_link { flex: 1; align-items: flex-start; gap: 170px; padding-top: 4px; display: grid; gap: 20px; grid-template-columns: repeat(2,1fr); }
#footer_area .link_group .titleBox { margin: 0 0 18px; color: var(--primary); font-size: 19px; line-height: 1.4; font-weight: 700; letter-spacing: .08em; }
#footer_area .link_group a { display: block; margin-bottom: 10px; color: rgba(var(--info-rgb),.78); font-size: 16px; line-height: 1.5; letter-spacing: .04em; }
#footer_area .link_group a:hover { color: var(--primary); transform: translateX(6px); }
#footer_area .link_group .lineT { display: grid; align-items: center; grid-template-columns: repeat(3,1fr); gap: 10px; }

/* bottom */
#footer_area .footer_bottom .workframe {min-height: 57px;align-items: center;justify-content: space-between;border-top: 1px solid rgba(var(--primary-rgb), .12);}
#footer_area .footer_bottom .workframe * { margin: 0; color: rgba(var(--info-rgb),.62); font-size: 14px; line-height: 1.6; letter-spacing: .04em; }
#footer_area .policy_link { align-items: center; gap: 20px; }
#footer_area .policy_link a { position: relative; color: rgba(var(--info-rgb),.62); font-size: 14px; line-height: 1.6; letter-spacing: .04em; }
#footer_area .policy_link a + a::before { content: ''; position: absolute; left: -10px; top: 50%; width: 1px; height: 14px; background: rgba(var(--primary-rgb),.28); transform: translateY(-50%); }
#footer_area .policy_link a:hover { color: var(--primary); }


/* footer_btn */
#footer_btn { right: 2%; bottom: 4%; z-index: 2000; background: var(--primary); display: inline-flex; flex-direction: column; gap: 10px; align-items: center; border-radius: 50%; }
#footer_btn a { width: 70px; border-radius: 50%; line-height: 40px; display: inline-flex; flex-direction: column; align-items: center; padding: 10px 0; justify-content: center; }
#footer_btn a span { color: white; text-align: center; font-size: 12px; font-weight: 300; }
#footer_btn a svg { margin: auto; width: 22px; height: 22px; fill: #fff; }
#footer_btn a.line { background: #12b508; }
#footer_btn a.gotop { background: var(--primary); aspect-ratio: 1/1; padding: 0; width: 45px; }
#footer_btn a.gotop:before { margin: 13px auto 0; width: 20%; height: 20%; border: var(--white) solid; border-width: 2px 0 0 2px; display: block; content: ""; transform: rotate(45deg) translate(-1px,-1px); -webkit-transform: rotate(45deg) translate(-1px,-1px); -webkit-animation: gotop 1s linear infinite; animation: gotop 1s linear infinite; }
	@-webkit-keyframes gotop {
	0%,100% { -webkit-transform: rotate(45deg) translate(-1px,-1px); }
	50% { -webkit-transform: rotate(45deg) translate(1px,1px); }
	}
	@keyframes gotop {
	0%,100% { transform: rotate(45deg) translate(-1px,-1px); }
	50% { transform: rotate(45deg) translate(1px,1px); }
	}

/* SeoStarRating */
#SeoStarRating font { margin-right: 5px; display: inline-block; line-height: 110%; vertical-align: text-bottom; color: #ffc107; }
#SeoStarRating font * { color: #ffc107; }
#SeoStarRating font:first-child { font-weight: bold; font-size: 18px; }
#SeoStarRating font:last-child { color: var(--complement); }

/* webSeo */
#webSeo { padding: 10px 0; white-space: nowrap; box-sizing: border-box; }
#webSeo .seo { padding-left: 100%; font-family: var(--font-family),sans-serif; font-weight: 100; font-size: 13px; color: var(--info); }

/* gotop */
#gotop { right: 27px; bottom: 20px; z-index: 2000; position: absolute; }
#gotop .goTop { position: absolute; top: 0; left: 0; height: 250px; width: 250px; -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: skewX(-33.1deg); transform: skewX(-33.1deg); z-index: -1 }
#gotop .goTop::before { content: ""; position: absolute; top: -180px; right: 190px; width: 100%; height: 100%; background-color: var(--secondary); -webkit-transition: all 0.4s ease; transition: all 0.4s ease }
@-webkit-keyframes marquee {
0% { -webkit-transform: translate(0,0); }
100% { -webkit-transform: translate(-100%,0); }
}
@keyframes marquee {
0% { transform: translate(0,0); }
100% { transform: translate(-100%,0); }
}
@-webkit-keyframes marquee {
0% { -webkit-transform: translate(0,0); }
100% { -webkit-transform: translate(-100%,0); }
}
@keyframes marquee {
0% { transform: translate(0,0); }
100% { transform: translate(-100%,0); }
}
#community .social { text-align: right; }
#community .social li { display: inline-block; }
#community .social li + li { margin-left: 20px; }
#community .social a { position: relative; display: block; font-size: 20px; text-align: center; border-radius: 50%; line-height: 25px; transition: ease .3s; width: 25px; }
#community .social b { font-size: 12px; transition: all .3s ease-out; display: none; }
#community .social svg { display: block; text-align: center; color: var(--white); width: 18px; height: 18px; fill: #fff; }


@media screen and (max-width:1640px) {
	header { padding: 10px 0; }
	header .barBox .wrap {gap: 30px;margin: 0 auto;width: 94%;}
}

@media screen and (min-width:1441px) {
	.workframe { width: min(1480px,90%); }
}

@media screen and (max-width:1440px) {
	#footer_area .link_group .lineT { grid-template-columns: 1fr 1fr }
	header #cis .logo_mark img { width: 240px; }
	header #webmenu li a { padding: 10px 16px; font-size: 1rem; }
	header .sideMenuBox .booking-btn { padding: 10px 15px; font-size: 14px; }
	header .sideMenuBox .buttons .langBox a svg { width: 20px; height: 20px; }
	header .sideMenuBox .buttons { gap: 16px; }
	#footer_area .footer_logo { width: 400px; }
}

@media screen and (max-width:1366px) {
	#footer_area .logo_text strong { font-size: 20px; }
	#footer_area .logo_text em { font-size: 12px; }
	#footer_area .logo_text b { font-size: 17px; }
	header #webmenu li a { padding: 22px 9px; font-size: .95rem; }
}

@media screen and (max-width:1280px) {
	#footer_area .footer_logo { width: 300px; }
	header #menuBox .box ul li b {/* padding: 0; */}
	#footer_area .workframe { width: calc(100% - 60px); }
	#footer_area .contact_list { gap: 28px; }
	#footer_area .footer_link { gap: 40px 30px; }
}

@media screen and (min-width:1281px) {
	.webBox .slick-dots li:hover:before { border-color: var(--primary) }
	.webBox header #webmenu li .menu_body { transform: translate(0,30px); -webkit-transform: translate(0,30px); -moz-transform: translate(0,30px); -ms-transform: translate(0,30px); -o-transform: translate(0,30px) }
	.webBox header #webmenu li .menu_body { transform: translate(0,30px); -webkit-transform: translate(0,30px); -moz-transform: translate(0,30px); -ms-transform: translate(0,30px); -o-transform: translate(0,30px) }
	.webBox header #webmenu li:hover .menu_body { transform: translate(0,0); -webkit-transform: translate(0,0); -moz-transform: translate(0,0); -ms-transform: translate(0,0); -o-transform: translate(0,0) }
	header #webmenu nav ul li b,header #menu_lineBox { display: none }
	header #webmenu nav ul li:hover { overflow: visible; }
	header #menuBox .box::-webkit-scrollbar { width: 0 }
	header #webmenu li a {   }
	header.scroll #webmenu li a,header.scroll .sideMenuBox #openform svg { color: var(--black); fill: var(--black); }
	header #webmenu nav ul li:hover a { color: var(--triadic2); }
	header .navbox li a:before { content: ""; display: block; border-radius: 10px; position: absolute; top: 4px; background-color: var(--triadic2); width: 9px; height: 9px; -webkit-transform: translate(0,-5px) scale(0); transform: translate(0,-5px) scale(0); opacity: 0; left: 0 }
	header .navbox li:hover a:before { -webkit-animation: mainLinkAni 0.8s forwards linear; animation: mainLinkAni 0.8s forwards linear }
	.webBox header #webmenu li .menu_body li a:before { display: none }
	@keyframes mainLinkAni {
		0% { opacity: 0; width: 5px; height: 5px; -webkit-transform: translate(0,-3px) scale(0); transform: translate(0,-3px) scale(0); left: 0 }
		15% { opacity: 1; width: 5px; height: 5px; left: 0; -webkit-transform: translate(0,-3px) scale(1); transform: translate(0,-3px) scale(1) }
		20% { opacity: 1; width: 5px; height: 5px; left: 0; -webkit-transform: translate(0,-3px) scale(1); transform: translate(0,-3px) scale(1) }
		22% { opacity: 1; width: 5px; height: 5px; left: 0; -webkit-transform: translate(0,-3px) scale(1); transform: translate(0,-3px) scale(1) }
		25% { opacity: 1; width: 1px; height: 1px; left: 5px; -webkit-transform: translate(0,0) scale(1); transform: translate(0,0) scale(1) }
		57% { opacity: 1; height: 1px; width: 100% }
		58% { opacity: 1; height: 1px; width: 100%; left: 5px }
		90% { opacity: 1; height: 1px; width: 1px; left: calc(100% + 5px) }
		95% { opacity: 1; height: 5px; width: 5px; left: calc(100% + 5px); -webkit-transform: translate(0,0); transform: translate(0,0) }
		100% { opacity: 1; height: 5px; width: 5px; left: calc(100% + 5px); -webkit-transform: translate(0,3px); transform: translate(0,3px) }
	}
	header #webmenu li .menu_body,header #webmenu li .menu_body .subOption li ul { width: 160px; left: calc(50% - 80px); z-index: 1; opacity: 0; transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; }
	header #webmenu li .menu_body ul { -webkit-box-shadow: 0 0 10px rgb(0 0 0/10%); box-shadow: 0 0 10px rgb(0 0 0/10%); text-align: left; }
	header #webmenu li .menu_body ul { display: block }
	header #webmenu li .menu_body ul li { background-color: rgb(255 255 255/88%); margin: 0; position: relative; border-bottom: 1px solid rgba(223,216,201,0.5); }
	header #webmenu li .menu_body .subOption li ul { position: absolute; top: 0; left: -170px }
	header #webmenu li .menu_body .subOption li >div a { padding: 8px 10px; font-size: 15px; color: var(--black); }
	header #webmenu li .menu_body .subOption li >div a:hover {background: var(--primary);color: white;}
	header #webmenu li .menu_body .subOption li >div a {display: block;padding: 9px 10px;background-color: rgb(255 255 255/88%);word-wrap: break-word}
	header #webmenu li .menu_body ul li:before { display: none; }
	header #webmenu li:hover .menu_body,header #webmenu li .menu_body .subOption li:hover >ul { z-index: 10; opacity: 1 }
	header #menuBox { top: 160px; bottom: 0; max-height: 625px; -webkit-transform: translateX(140px); transform: translateX(140px) }
	header.scroll #menuBox { opacity: 0; transform: translateX(-100%); pointer-events: none }
}
@media screen and (max-width:1280px) {
	header { background-color: #fff; padding: 0 }
	header .barBox .wrap:before { background: var(--white); transform: translate(0,0px); -webkit-transform: translate(0,0px); opacity: 1; height: 100%; }
	header .barBox #openform svg { fill: var(--info); }
	header .barBox a font { color: var(--triadic1) }
	header #webmenu .menu_box { display: none; }
	header .barBox .wrap { -webkit-transform: translateY(0px); transform: translateY(0px); padding: 5px 0; grid-template-columns: 400px 250px; display: grid; justify-content: space-between; align-items: center; justify-items: stretch; }
	header #cis { width: auto; }
	header #webmenu { justify-content: flex-end; border-bottom: 0px rgb(60 45 33/15%) solid; display: none; }
	header #menuBox { width: 30vw }
	header #menuBox[data-type="2"] { overflow-y: scroll }
	header #menuBox[data-type="2"]::-webkit-scrollbar { width: 0 }
	header.scroll:before { background: var(--white) }
	#topicon a i { font-size: 23px }
	#topicon a:hover { background-color: var(--white) }
}
@media screen and (max-width:1024px) {
	.webBox .wrapper_lines .center_box >div { border-width: 0 0 0 1px }
	#gotop { bottom: 10px; right: 11px }
	#gotop a img { width: 15px }
	#gotop .goTop { height: 280px; width: 250px }
	#footer_area .link_group .lineT { display: flex; flex-wrap: wrap; gap: 5px 10px; }
	#footer_area .link_group a { margin: 0 }
	#footer_area .footer_main .workframe { display: flex; flex-direction: column; gap: 30px; }
	#footer_area .footer_logo { width: 100%; padding: 0; border: 0; }
	#footer_area .footer_link { width: 100% }
	#footer_area .contact_list { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
	#footer_area .contact_list li { display: flex; flex-direction: row; align-items: center; }
	#footer_area .contact_list li * { vertical-align: baseline; }
}

@media screen and (max-width:980px) {
	header #menuBox .box ul.subOption { padding: 10px; }
	header #menuBox .box ul li .menu_body >ul li a {font-size: 16px;}
	header #menuBox .box >ul >li >p a { font-size: 17px; }
	header #menuBox:before { width: 100vw; height: 40vh; }
	header .buttons { display: flex; gap: 10px }
	header .barBox .buttons:before { left: 0 }
	header .sideMenuBox .buttons { gap: 10px; }
	header .sideMenuBox .booking-btn,header .social-icon { display: none; }
	header .barBox .wrap { grid-template-columns: 1fr 100px; gap: 10px; }
	#topicon { bottom: 0px }
	header #menuBox {width: 40vw;}
	#footer_area .footer_contact .workframe,#footer_area .footer_main .workframe,#footer_area .footer_bottom .workframe { flex-wrap: wrap; }
	#footer_area .footer_contact .workframe { display: flex; gap: 10px; flex-direction: column; align-items: flex-start; }
	#footer_area .contact_title,#footer_area .social_box {width: 100%;text-align: center;display: flex;flex-direction: row;align-items: baseline;justify-content: center;}
	#footer_area .contact_list { width: 100%; flex-wrap: wrap; gap: 20px; }
	#footer_area .map_btn { margin: 10px 0 0; }
	#footer_area .footer_logo { width: 100%; padding-right: 0; padding-bottom: 34px; border-right: 0; border-bottom: 1px solid rgba(var(--primary-rgb),.16); }
	#footer_area .footer_link { width: 100%; gap: 80px; }
	#footer_area .footer_bottom .workframe { display: block; padding: 18px 0; text-align: center; }
	#footer_area .policy_link { margin-top: 10px; }
	#footer_area .workframe { width: calc(100% - 50px); }
	#footer_area .footer_contact .workframe { flex-wrap: wrap; }
	#footer_area .contact_title { width: 100%; }
	#footer_area .contact_list { width: 100%; flex-wrap: wrap; gap: 20px; }
	#footer_area .contact_list li { width: calc(50% - 10px); }
	#footer_area .footer_map_wrap { display: block; }
	#footer_area .footer_map_box,#footer_area .footer_contact_info { width: 100%; }
	#footer_area .footer_contact_info { margin-top: 38px; }
}

@media screen and (max-width:640px) {
	#footer_btn a {position: fixed;bottom: 3%;right: 10px;}
	#footer_btn a.gotop:before { margin-top: 6px; }
	#footer_area .contact_list li * { font-size: 15px; }
	body.is-ready #topicon .floating-sidebar { right: 0; display: grid; align-items: center; justify-content: center; width: 100%; bottom: 0; top: unset; grid-template-columns: repeat(3,1fr); gap: 0; transform: unset; }
	#topicon { margin: 0; display: none; }
	#topicon .floating-sidebar .sidebar-item { width: 100%; height: auto; border-radius: 0; padding: 10px 0; background: linear-gradient(138deg,#82bdc3 0%,var(--primary) 50%,#6fa7ad 100%) right; }
	#topicon .floating-sidebar .sidebar-item:hover { animation: unset; transform: unset; }
	#topicon .floating-sidebar .sidebar-text { font-size: 14px; }
	header #cis a { grid-template-columns: 50px 1fr; gap: 10px; }
	header #cis .logo_txt strong,header #cis .logo_txt em { font-size: 15px; }
	header #cis .logo_txt small { font-size: 8px; line-height: 1; }
}
@media screen and (max-width:550px) {
	header #menuBox {width: 100vw;}
	#top_search form { padding: 10vw 5vw; width: 80vw }
	#footer_area .footer_main { padding: 40px 0 30px; }
	#footer_area .workframe { width: calc(100% - 36px); }
	#footer_area .footer_contact { padding: 30px 0; }
	#footer_area .contact_title strong { font-size: 22px; }
	#footer_area .contact_list li { width: 100%; font-size: 14px; display: block; }
	#footer_area .footer_logo img { width: 210px; }
	#footer_area .logo_text strong { font-size: 20px; }
	#footer_area .logo_text b { font-size: 23px; }
	#footer_area .logo_text em { font-size: 15px; }
	#footer_area .footer_link { display: block; }
	#footer_area .link_group { margin-bottom: 28px; }
	#footer_area .policy_link { flex-wrap: wrap; }
	#footer_area .policy_link a { margin-top: 6px; }
	#footer_area .workframe { width: calc(100% - 34px); }
	#footer_area .footer_contact { padding: 30px 0; }
	#footer_area .contact_title strong { font-size: 22px; }
	#footer_area .contact_list li { width: 100%; font-size: 14px; }
	#footer_area .footer_map_area { padding: 40px 0 10px; }
	#footer_area .footer_map_box { height: 260px; }
	#footer_area .map_label { left: 50%; width: 205px; padding: 16px 18px; transform: translate(-50%,-50%); }
	#footer_area .map_label::before { left: 50%; top: -42px; transform: translateX(-50%); }
	#footer_area .footer_map_box:hover .map_label { transform: translate(-50%,-55%); }
	#footer_area .footer_contact_info li { gap: 16px; font-size: 15px; align-items: flex-start; }
	#footer_area .footer_contact_info li i { width: 28px; height: 28px; }
	#footer_area .footer_logo_group { flex-wrap: wrap; gap: 20px; }
	#footer_area .footer_logo_group img { height: 48px; }
}
