@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+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&family=Frank+Ruhl+Libre:wght@300;400;500;700;900&family=Quicksand:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200..900&display=swap');

* { margin: 0; padding: 0; }
*:focus { outline: none; }

body { margin: 0; }
body ::selection { background: var(--primary); text-shadow: none; color: var(--white); }
body::-webkit-scrollbar { width: 5px; }
body::-webkit-scrollbar-track { background: rgba(var(--gray-rgb), .4); }
body::-webkit-scrollbar-thumb { background: var(--info); }

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: var(--font-family), sans-serif; font-size: 16px; color: var(--info); }

ul, ol { list-style: none; }

fieldset { border: 0; }

input, button, select, textarea { padding: 5px 15px; width: calc(100% - 32px); border: 0; border-radius: 0; background: rgba(var(--gray-rgb), .2); box-shadow: none; outline: none; font-size: 16px; color: var(--black); -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select { padding: 10px 15px; width: 100%; }
input#Checknum {margin-right: 15px;width: 150px;max-width: calc(100% - 97px);}

/* img */
img { max-width: 100%; }
.img_cover { object-fit: cover; }
.img_contain { object-fit: contain; }

a, a:link, a:visited, a:hover {text-decoration: none;white-space: initial;}

/* general class set */
.txt_clamp { overflow: hidden; height: 27px; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.d_inblock.txt_clamp { display: -webkit-inline-box; }
.atag_item { width: 100%; height: 100%; top: 0; left: 0; }
.bg_box{background-size:cover;background-position: 50% 50%;background-repeat: no-repeat;}
.bg_box:before { content: ""; position: absolute; width: 100%; height: 100%; background: rgb(255, 255, 255); background: linear-gradient(to bottom, rgb(255, 255, 255), rgba(255, 255, 255, 0), rgb(255, 255, 255)); background: linear-gradient(to bottom, rgb(255, 255, 255), rgba(255, 255, 255, 0), rgb(255, 255, 255)); }
.nowrap_box { font-size: 0; }
.txt_num { font-family: 'Quicksand', sans-serif; }
.svg_clip { width: 0; height: 0; }

/* btn */
.btn, .btn_outline { padding: 2px 10px; }
.more_btn {padding: 18px 60px;border-radius: 40px;}
.more_btn:hover{background:var(--triadic1)}

/* 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 { font-size: inherit; color: currentcolor; vertical-align: initial; }

/* webBox */
.webBox { overflow: hidden; position: relative; width: 100%; }
.webBox * , .webBox :before , .webBox :after { transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; }
.webBox .pageh1 { position: absolute; top: 0; z-index: 1; }
.webBox .wrapper { position: relative; background: #fff; z-index: 2; }
.webBox .slick-slider { margin-bottom: 0; }
.webBox .img_scale img { transform: scale(1); -webkit-transform: scale(1); }
span { vertical-align: initial; }

/* workframe */
.workframe { margin: 0 auto; width: 90%; }


/* more_btn */
section .more_btn {display: inline-flex!important;align-items: center;justify-content: space-between;gap: 34px;margin-top: 22px;min-width: 160px;padding: 14px 18px 14px 32px!important;border-radius: 999px!important;background: linear-gradient(135deg,#614292 0%,#a78fcf 100%);background-size: 200% 200%;background-position: left center;box-shadow: 0 12px 28px rgba(117,86,166,.20);font-weight: 500;letter-spacing: .05em;transition: transform .35s ease,box-shadow .35s ease,background-position .45s ease;overflow: hidden;}
section .more_btn:before{content:"";position:absolute;top:0;left: -80%;width:65%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .65s ease;}
section .more_btn:hover:before{left: 110%;}
section .more_btn:hover {transform: translateY(-3px);background-position: right center;box-shadow: 0 18px 36px rgb(125 125 125 / 30%);}
section .more_btn .about_more_arrow { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: #7459a5; transition: transform .35s cubic-bezier(.22,1,.36,1),background .35s ease,color .35s ease; }
section .more_btn:hover .about_more_arrow { transform: translateX(10px) rotate(0deg); background: #f6f1fb; color: #6f4fa1; }
section .more_btn {padding: 18px 60px;border-radius: 40px;}
section .more_btn:hover{background: linear-gradient(135deg, var(--secondary) 0%, #78aa6d 100%);}
section .more_arrow { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--primary); font-size: 22px; line-height: 1; }
section .more_btn  svg { width: 20px; fill: var(--primary); }
section .more_btn:hover svg{
    fill: var(--green-500);
}

/* header */
header {padding: 0 6.2%;width: 100%;z-index: 1000;top: 0;display: flex;align-items: center;justify-content: space-between;box-sizing: border-box;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;}
header #cis { z-index: 1000; flex: 0 0 auto; width: auto; }
header #cis a { display: flex; align-items: center; }
header #cis img {height: 80px;width: auto;max-width: 260px;object-fit: contain;}
header #webmenu nav>ul>li>p a { padding: 10px 5px; font-size: 17px; position: relative; font-weight: 500; }
header #webmenu nav ul li b { position: absolute; padding: 0 5px 0 15px; width: 23px; height: 41px; display: inline-block; text-align: center; line-height: 41px; top: calc((100% - 41px)/2); right: 0; }
header #webmenu nav>ul>li .subOption li>div a { padding: 7px 10px; display: block; }
header #header_bar { display: flex; align-items: center; gap: 14px; width: auto; flex: 0 0 auto; }
header #header_bar>a { padding: 0 5px; line-height: 100%; }
header #header_bar svg { width: 25px; height: 25px; }
header .header_booking {min-width: 150px;height: 48px;padding: 0 20px;box-sizing: border-box;display: inline-flex;align-items: center;justify-content: center;gap: 8px;border-radius: 24px;background: linear-gradient(135deg,#8062b2 0%,#6f4fa1 100%);box-shadow: 0 8px 20px rgba(117,86,166,.16);}
header .header_booking span {font-size: 16px;font-weight: 500;letter-spacing: .06em;color: #fff;line-height: 1;}
header .header_booking svg { width: 16px; height: 16px; fill: none; stroke: #fff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
header .header_booking:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(117,86,166,.25); }
header #menubtn { z-index: 1000; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: rgba(117,86,166,.1); cursor: pointer; display: flex; align-items: center; justify-content: center; }
header #menubtn a { margin: auto; width: 24px; height: 18px; }
header #menubtn a span { position: absolute; width: 100%; height: 2px; display: block; top: 0; right: 0; background: var(--primary); }
header #menubtn[data-type="1"] a 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 #menubtn[data-type="1"] a span:nth-child(2) { top: calc(50% - .5px); }
header #menubtn[data-type="1"] a span:nth-child(3) { top: calc(100% - 1px); }
header #menubtn[data-type="2"] a span { transition: .4s cubic-bezier(.645,.045,.355,1); }
header #menubtn[data-type="2"] a span:nth-child(1),header #menubtn[data-type="2"] a span:nth-child(3) { top: 50%; transform: rotate(45deg); -webkit-transform: rotate(45deg); }
header #menubtn[data-type="2"] a span:nth-child(2) { opacity: 0; }
header #menubtn[data-type="2"] a span:nth-child(3) { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
header.scroll {align-items: center;justify-content: space-between;background: rgba(255, 253, 250, .78);box-shadow: 0 8px 28px rgba(70,54,89,.08);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);}
header.scroll #cis img { -webkit-filter: none; filter: none; }
header.scroll #webmenu nav>ul>li>p a { color: #4d4754; }
.mobile_menu_cta { display: none; }
.header_booking_mobile { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; border-radius: 999px; background: linear-gradient(135deg,#8062b2 0%,#6f4fa1 100%); box-shadow: 0 12px 24px rgba(117,86,166,.18); }
.header_booking_mobile span { font-size: 16px; font-weight: 700; letter-spacing: .08em; color: #fff; }
#menubg { width: 100vw; height: 100vh; display: none; position: fixed; inset: 0; z-index: 500; border: 0; background: rgba(76,66,89,.18); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
#menubg[data-type="1"] { background: rgba(var(--black-rgb),0); z-index: -998; }
#menubg[data-type="2"] { background: rgba(76,66,89,.22); z-index: 500; display: block; }

/* hSearch */
#hSearch { width: 100%; height: 0; top: 64px; z-index: 998; }
#hSearch[data-type="2"] { height: 142px; }
#hSearch>div { margin: 50px auto; width: 700px; }
#hSearch>div input { margin-right: 15px; width: calc(100% - 89px); background: none; border-bottom: 1px rgba(var(--black-rgb), .3) solid; }
#hSearch>div a { border-radius: 50%; }
#hSearch>div a svg { margin: 10px; width: 22px; height: 22px; }

/* menubg */
#menubg {width: 100vw;height: 100vh;display: none;position: fixed;inset: 0;z-index: 840;border: 0;background: rgba(43, 38, 49, .34);backdrop-filter: blur(2px);}
#menubg[data-type="1"] { background: rgba(var(--black-rgb), 0); z-index: -998; }
#menubg[data-type="2"] {background: rgba(var(--black-rgb), .5);z-index: 500;display: block;}

/* parallax_box */
.parallax_bg { margin-bottom: 3vw; min-height: 600px; background: no-repeat 50% / cover; background-attachment: fixed; }
.parallax_svg { --parallax_wave: #fff; height: 64px; left: 0; z-index: 2; background-color: var(--parallax_wave); -webkit-mask-repeat: no-repeat; -webkit-mask-size: 2000px 64px; mask-repeat: no-repeat; mask-size: 2000px 64px; -webkit-animation: parallax_top 5s linear infinite; animation: parallax_top 5s linear infinite; }
.parallax_svg.top { top: 0; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M0 0v47.33c90-24.285 138.35-6.45 203.49 2.259 59.67 7.998 119.29-10.198 179.14-5.869 78.82 5.09 135.28 41.99 217.6 1.58C642.18 29.403 664 21.125 721.67 25.674c164.07 15.317 329.57-33.862 490.92-5.169C1289.4 32.143 1360.67 72.834 1440 47.38V0H0z' fill='black'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M0 0v47.33c90-24.285 138.35-6.45 203.49 2.259 59.67 7.998 119.29-10.198 179.14-5.869 78.82 5.09 135.28 41.99 217.6 1.58C642.18 29.403 664 21.125 721.67 25.674c164.07 15.317 329.57-33.862 490.92-5.169C1289.4 32.143 1360.67 72.834 1440 47.38V0H0z' fill='black'/%3E%3C/svg%3E"); }
.parallax_svg.bottom { bottom: 0; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M1440 64V16.67c-90 24.285-138.35 6.45-203.49-2.259-59.67-7.998-119.29 10.198-179.14 5.869-78.82-5.09-135.28-41.99-217.6-1.58C797.82 34.596 776 42.875 718.33 38.326c-164.07-15.317-329.57 33.862-490.92 5.169C150.6 31.857 79.33-8.834 0 16.62V64h1440z' fill='black'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M1440 64V16.67c-90 24.285-138.35 6.45-203.49-2.259-59.67-7.998-119.29 10.198-179.14 5.869-78.82-5.09-135.28-41.99-217.6-1.58C797.82 34.596 776 42.875 718.33 38.326c-164.07-15.317-329.57 33.862-490.92 5.169C150.6 31.857 79.33-8.834 0 16.62V64h1440z' fill='black'/%3E%3C/svg%3E"); -webkit-mask-position: 100% 0; mask-position: 100% 0; -webkit-animation: parallax_bottom 5s linear infinite; animation: parallax_bottom 5s linear infinite; }

@-webkit-keyframes parallax_top { 0%, 100% { -webkit-mask-position: 0 0; } 50% { -webkit-mask-position: -80px 0; } }
@keyframes parallax_top { 0%, 100% { mask-position: 0 0; } 50% { mask-position: -80px 0; } }
@-webkit-keyframes parallax_bottom { 0%, 100% { -webkit-mask-position: 100% 0; } 50% { -webkit-mask-position: calc(100% + 80px) 0; } }
@keyframes parallax_bottom { 0%, 100% { mask-position: 100% 0; } 50% { mask-position: calc(100% + 80px) 0; } }

/* contact */
#contacttArea {position: relative;padding: 0;overflow: hidden;}
#contacttArea .workframe {width: 100%;margin: 0 auto;position: relative;display: grid;grid-template-columns: 1fr 1fr;overflow: visible;}
#contacttArea .cta-panel {position: relative;min-height: 320px;overflow: hidden;display: flex;align-items: center;}
#contacttArea .cta-panel.consult {}
#contacttArea .cta-panel.recruit {}
#contacttArea .cta-panel>img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
#contacttArea .cta-panel.consult>img {object-position: 50% 50%;}
#contacttArea .cta-panel.recruit>img {object-position: 50% 30%;}
#contacttArea .cta-overlay { position: absolute; inset: 0; z-index: 2; }
#contacttArea .consult .cta-overlay {background: linear-gradient(90deg, rgb(255 255 255 / 23%) 30%, rgb(255 255 255 / 10%) 38%, rgb(255 255 255 / 0%) 72%, rgb(255 255 255 / 0%) 100%);}
#contacttArea .recruit .cta-overlay {/* background: linear-gradient(90deg,rgba(95,139,78,.92) 0%,rgba(111,156,94,.82) 40%,rgba(95,139,78,.28) 72%,rgba(95,139,78,.06) 100%); */}
#contacttArea .cta-content {position: relative;z-index: 4;width: 58%;padding: 120px 40px 120px 90px;color: #fff;}
#contacttArea .cta-en {display: block;margin-bottom: 6px;color: rgb(0 0 0 / 72%);font-size: 14px;font-weight: 500;letter-spacing: .16em;font-family: "Arimo", sans-serif;}
#contacttArea .cta-content h2 {margin: 0 0 20px;color: #fff;font-family: "Noto Serif TC",serif;font-size: 36px;font-weight: 700;line-height: 1.35;letter-spacing: .04em;}
#contacttArea .consult .cta-content h2{
    color: var(--primary);
}
#contacttArea .recruit .cta-content h2{
    color: #818b55;
}
#contacttArea .cta-content p {margin: 0 0 22px;color: rgb(0 0 0 / 90%);font-size: 18px;line-height: 1.8;opacity: .8;letter-spacing: 1px;}
#contacttArea .cta-content .btn { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 0 20px 0 24px; border-radius: 999px; background: #fff; color: #5c5362; font-size: 14px; font-weight: 600; box-shadow: 0 8px 20px rgba(43,38,49,.12); transition: all .35s ease; }
#contacttArea .cta-content .btn b { color: #6f9b63; font-size: 17px; transition: transform .35s ease; }
#contacttArea .consult .cta-content .btn b { color: #7556a6; }
#contacttArea .cta-content .btn:hover { transform: translateY(-3px); box-shadow: 0 13px 28px rgba(43,38,49,.18); }
#contacttArea .cta-content .btn:hover b { transform: translateX(4px); }
#contacttArea .cta-logo {position: absolute;left: 50%;top: 50%;z-index: 10;display: flex;align-items: center;justify-content: center;width: 70px;height: 70px;padding: 16px;border: 8px solid rgba(255,255,255,.96);border-radius: 50%;background: #fff;box-shadow: 0 14px 34px rgba(75,64,95,.16);transform: translate(-50%,-50%);}
#contacttArea .cta-logo:before {content: "";position: absolute;inset: 0px;border: 1px solid rgba(117,86,166,.22);border-radius: 50%;}
#contacttArea .cta-logo img { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: contain; }

#contacttArea .cta-panel{transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s ease;}
#contacttArea .cta-panel>img{transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .8s ease;}
#contacttArea .cta-overlay{transition:opacity .6s ease,background .6s ease;}
#contacttArea .cta-content{transition:transform .55s cubic-bezier(.22,1,.36,1);}
#contacttArea .cta-content .cta-en{transition:transform .45s ease,opacity .45s ease;}
#contacttArea .cta-content h2{transition:transform .5s cubic-bezier(.22,1,.36,1);}
#contacttArea .cta-content p{transition:transform .55s cubic-bezier(.22,1,.36,1);}
#contacttArea .cta-panel:hover{}
#contacttArea .cta-panel:hover>img{transform:scale(1.045);}
#contacttArea .cta-panel:hover .cta-content{transform:translateY(-4px);}
#contacttArea .cta-panel:hover .cta-en{transform:translateX(4px);opacity:1;}
#contacttArea .cta-panel:hover .cta-content h2{transform:translateX(4px);}

#contacttArea .cta-panel:hover .cta-content p{transform:translateX(3px);}
#contacttArea .cta-content .btn{position:relative;overflow:hidden;}
#contacttArea .cta-content .btn:before{content:"";position:absolute;top:0;left:-120%;width:65%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .65s ease;}
#contacttArea .cta-content .btn:hover:before{left:140%;}
#contacttArea .cta-content .btn b{transition:transform .35s cubic-bezier(.22,1,.36,1);}
#contacttArea .cta-content .btn:hover b{transform:translateX(5px);}
#contacttArea .cta-logo{animation: contactLogoFloat 2.8s ease-in-out infinite;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease;}
#contacttArea .cta-logo:hover{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 20px 42px rgba(75,64,95,.2);}
@keyframes contactLogoFloat{0%,100%{margin-top:0;}50%{margin-top:-8px;}}
@media screen and (max-width:768px){#contacttArea .cta-panel:hover{transform:none;}#contacttArea .cta-panel:hover>img{transform:scale(1.02);}#contacttArea .cta-logo{animation:none;}}
@media (prefers-reduced-motion:reduce){#contacttArea .cta-panel,#contacttArea .cta-panel>img,#contacttArea .cta-content,#contacttArea .cta-content *{transition:none!important;animation:none!important;transform:none!important;}}

#contacttArea .cta-panel{will-change:transform;transform-origin:center center;}
#contacttArea .cta-panel>img{will-change:transform;transform:scale(1.12);}
#contacttArea .cta-logo{will-change:transform;transform-origin:center center;}
#contacttArea .cta-pair{perspective:1200px;}
#contacttArea .more_btn{
    background: #7767a5;
    color: #ffffff;
}
#contacttArea .recruit .more_btn{
    background: #8d9a57;
    color: #ffffff;
}
#contacttArea .more_arrow{background: var(--white);}
#contacttArea .more_btn:hover svg{
    fill: var(--primary);
}


#contacttArea .recruit .more_btn svg{
    fill: #8d9a57;
}

/* footer */
footer {position: relative;background: #ffffff;border-top: 1px solid rgba(15,90,53,.08);}
footer .footer_box { padding: 0; }
footer .workframe {position: relative;width: min(1366px, 86%);}
footer .footer_top { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 25px 0; }
footer .footer_menu {display: flex;align-items: center;gap: 0;flex-wrap: wrap;gap: 6px 12px;}
footer .footer_menu a { position: relative; padding: 7px 34px; color: var(--ink); letter-spacing: .08em; white-space: nowrap; transition: color .35s ease; }
footer .footer_menu a:first-child { padding-left: 0; }
footer .footer_contact_btn { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-width: 130px; height: 48px; padding: 0 24px; border-radius: 999px; background: var(--green-900); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .06em; transition: all .4s var(--ease); }
footer .footer_contact_btn span { color: #fff; font-weight: 500; font-size: 16px; }
footer .footer_contact_btn span.footer_contact_icon { font-size: 11px; }
footer .footer_contact_btn:hover { background: var(--green-500); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(11,67,41,.18); }
footer .footer_contact_icon { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-size: 12px; }
footer .footer_main {display: grid;grid-template-columns: .9fr 2fr .9fr;gap: 5%;padding: 70px 0;}
footer .footer_brand { display: flex; flex-direction: column; align-items: flex-start; }
footer #flogo { margin: 0 0 20px; }
footer #flogo a { display: block; }
footer #flogo img { width: 270px; height: auto; max-height: 90px; object-fit: contain; filter: none; }
footer .footer_brand_text {margin: 0;color: var(--muted);line-height: 1.9;letter-spacing: .04em;}
footer .footer_info_title {position: relative;margin: 0 0 24px;padding-bottom: 12px;letter-spacing: .1em;font-weight: 500;font-size: 17px;}
footer .footer_info_title::after { content: ""; position: absolute; width: 28px; height: 1px; left: 0; bottom: 0; background: var(--green-500); }
footer #f_info {display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 10px;width: 100%;padding: 0;margin: 0;border: 0;}
footer .footer_info_item {display: grid;grid-template-columns: 60px minmax(0,1fr);align-items: center;gap: 5px;}
footer .footer_info_item:last-child{
    grid-column: 1 / -1;
}
footer .footer_info_name {position: relative;font-weight: 500;letter-spacing: .08em;}
footer .footer_info_value,footer .footer_info_value * { color: var(--ink); line-height: 1.7; }
footer .footer_info_value a:hover { color: var(--green-700); }
footer .footer_service .footer_menu a {position: relative;margin: 0;padding: 2px 0 2px 15px;color: var(--muted);letter-spacing: .04em;}
footer .footer_service .footer_menu a::before { content: ""; position: absolute; width: 4px; height: 4px; left: 0; top: 16px; border-radius: 50%; background: var(--green-500); }
footer #webCopy {display: flex;align-items: center;justify-content: space-between;gap: 20px;padding: 10px 0;margin: 0;border-top: 1px solid rgba(15,90,53,.1);}
footer #webCopy .other_txt,footer #webCopy .other_txt * {font-size: 13px;line-height: 1.6;color: rgba(255,255,255,.82);}
footer #web_footer { text-align: right; }
footer .footer-bottom { background: var(--purple-700); font-size: 12px; }

/* webSeo */
#webSeo { padding: 5px 0; white-space: nowrap; box-sizing: border-box; }
#webSeo .seo { padding-left: 100%; font-weight: 100; font-size: 13px; opacity: .3; -webkit-animation: marquee 200s linear infinite; animation: marquee 200s linear infinite; }
@-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); } }

/* footer_btn */
#footer_btn { position: fixed; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 999; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 10px 10px; border-radius: 140px; background: rgba(248,250,244,.88); box-shadow: 0 12px 30px rgba(75,64,95,.10); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
#footer_btn .circ,#gotop { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 65px; height: 90px; gap: 10px; padding: 12px 10px; border: 0; border-radius: 100px; text-decoration: none; cursor: pointer; transition: transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,filter .35s ease; }
#gotop { width: 55px; height: 55px; }
#footer_btn .circ svg,#gotop svg { width: 35px; height: 35px; }
#footer_btn .circ span,#gotop span { display: block; font-size: 13px; font-weight: 400; line-height: 1.25; letter-spacing: .02em; color: var(--white); }
#footer_btn .line { background: linear-gradient(180deg,#67b74f 0%,#4f9f3d 100%); color: #fff; box-shadow: 0 10px 20px rgba(82,157,63,.22); }
#footer_btn .phone { background: linear-gradient(180deg,#8b6cc0 0%,#7354a5 100%); color: #fff; box-shadow: 0 10px 20px rgba(117,86,166,.22); }
#gotop { color: #6b6172; box-shadow: 0 8px 18px rgba(75,64,95,.10); }
#footer_btn .circ:hover,#gotop:hover { transform: translateY(-4px) scale(1.04); filter: brightness(1.03); }
#footer_btn .line:hover { box-shadow: 0 14px 26px rgba(82,157,63,.30); }
#footer_btn .phone:hover { box-shadow: 0 14px 26px rgba(117,86,166,.30); }
#gotop:hover { color: #7556a6; box-shadow: 0 14px 26px rgba(75,64,95,.16); }
#gotop { opacity: 0; visibility: hidden; transform: translateY(10px); pointer-events: none; transition: opacity .35s ease,visibility .35s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease; }
#gotop.show,#gotop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
@media screen and (max-width:768px) {
  #footer_btn { top: auto; right: 0; bottom: 0; transform: none; display: flex; border-radius: 0; width: 100%; justify-content: center; gap: 0; padding: 0; flex-direction: row; }
  #footer_btn .circ,#gotop { width: 100%; height: 20px; border-radius: 0; display: flex; flex-direction: row; align-items: center; }
  #footer_btn .circ svg,#gotop svg { width: 21px; height: 21px; }
  #footer_btn .circ span,#gotop span { font-size: 14px; }
}


#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); }

/* gotop */
#gotop {position: fixed;z-index: 850;right: 25px;bottom: 70px;width: 50px;height: 50px;display: grid;place-items: center;padding: 0;border: 1px solid var(--info);border-radius: 50%;color: var(--info);background: var(--info);cursor: pointer;opacity: 0;visibility: hidden;transform: translateY(12px);transition: opacity var(--fast),visibility var(--fast),transform var(--fast),background var(--fast);}
#gotop.show { opacity: 1; visibility: visible; transform: none; }
#gotop:hover {color: #fff;background: var(--primary);}
#gotop svg { width: 28px; height: 28px; fill: var(--white); color: var(--white); }
[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity var(--duration) var(--ease),transform var(--duration) var(--ease); }
[data-reveal="image"] { position: relative; opacity: 1; transform: none; }
[data-reveal="image"]::after { content: ""; position: absolute; z-index: 8; inset: 0; background: #fff; transform: scaleX(1); transform-origin: right; transition: transform 1000ms var(--ease); pointer-events: none; }
[data-reveal].is-visible { opacity: 1; transform: none; }
[data-reveal="image"].is-visible::after { transform: scaleX(0); }


@media screen and (min-width:1441px) {
	.workframe {width: min(1440px,90%);}
}
@media screen and (min-width:1281px) {
	header {height: 100px;}
	header #menubtn,#menubg,.mobile_menu_cta { display: none; }
	header #webmenu {position: relative;flex: 1;width: auto;top: auto;right: auto;margin-right: 110px;}
	header #webmenu nav>ul {display: flex;align-items: center;justify-content: flex-end;gap: clamp(14px,3.4vw,40px);}
	header #webmenu nav ul li b { display: none; }
	header #webmenu nav ul li { position: relative; }
	header #webmenu nav ul li .bo { position: relative; background: var(--white); z-index: 1; }
	header #webmenu nav>ul>li>p a {padding: 30px 0 24px;display: flex;justify-content: center;font-size: 19px;color: #4d4754;white-space: nowrap;}
	header #webmenu nav>ul>li>p a:after { content: ''; position: absolute; left: 50%; bottom: 15px; width: 0; height: 2px; border-radius: 2px; background: var(--primary); transform: translateX(-50%); }
	header #webmenu nav>ul>li:hover>p a:after { width: 100%; }
	header #webmenu li .menu_body { transform: translate(0,30px); -webkit-transform: translate(0,30px); }
	header #webmenu li .menu_body,header #webmenu li .subOption ul { position: absolute; width: 170px; right: calc(50% - 85px); z-index: -1; opacity: 0; }
	header #webmenu li .menu_body ul { background: var(--white); box-shadow: 0 0 10px rgba(var(--black-rgb),.3); }
	header #webmenu li .subOption li { overflow: hidden; }
	header #webmenu li .subOption li>div a { padding: 6px 15px; border-bottom: 1px rgba(var(--black-rgb),.1) solid; line-height: 150%; font-weight: 300; }
	header #webmenu li .subOption li>div a:hover { color: var(--primary); }
	header #webmenu li .subOption .sub2Option,header #webmenu li .subOption .sub3Option { top: 0; right: -170px; transform: translate(-30px,0); -webkit-transform: translate(-30px,0); }
	header #webmenu nav>ul>li:hover,header #webmenu li .subOption li:hover { overflow: visible; }
	header #webmenu nav>ul>li:hover .menu_body,header #webmenu li .subOption li:hover>ul { z-index: 2; opacity: 1; }
	header #webmenu li:hover .menu_body { transform: translate(0,0); -webkit-transform: translate(0,0); }
	header #webmenu li .menu_body .subOption li:hover .sub2Option,header #webmenu li .menu_body .subOption li .sub2Option li:hover .sub3Option { transform: translate(0,0); -webkit-transform: translate(0,0); }
	header #webmenu li:last-child .subOption .sub2Option,header #webmenu li:last-child .subOption .sub3Option { right: auto; left: -170px; transform: translate(30px,0); -webkit-transform: translate(30px,0); }
	header #webmenu li:last-child .menu_body .subOption li:hover .sub2Option,header #webmenu li:last-child .menu_body .subOption li .sub2Option li:hover .sub3Option { transform: translate(0,0); -webkit-transform: translate(0,0); }
}
@media screen and (max-width:1440px) {
	header #webmenu nav>ul>li>p a { padding: 30px 10px; }
}
@media screen and (max-width:1280px) {
	header { height: 78px; padding: 10px 2.5%; position: fixed; background: rgba(255,253,250,.78); box-shadow: 0 8px 28px rgba(70,54,89,.08); }
	header #cis img { height: 56px; max-width: 220px; }
	header #webmenu { position: fixed; top: 78px; right: calc(-1 * var(--width-xs)); z-index: 999; display: flex; flex-direction: column; align-items: stretch; width: min(390px,52vw); height: calc(100vh - 78px); padding: 28px 28px 34px; background: rgba(255,253,250,.96); box-shadow: -20px 30px 50px rgba(43,38,49,.14); overflow-y: auto; box-sizing: border-box; transition: right .4s cubic-bezier(.215,.61,.355,1); }
	header #webmenu nav { overflow: visible; margin-top: 0; padding: 0; height: auto; }
	header #webmenu nav>ul { padding-bottom: 0; }
	header #webmenu nav>ul>li { display: block; }
	header #webmenu nav>ul>li>p { padding: 0; }
	header #webmenu nav>ul>li>p a { display: block; padding: 18px 6px; font-size: 18px; font-weight: 500; color: #3f3b45; border-bottom: 1px solid rgba(72,63,83,.14); }
	header #webmenu li .menu_body,header #webmenu li .menu_body .subOption li ul { position: relative; display: none; transition: none; -webkit-transition: none; }
	header #webmenu li .menu_body ul { margin-bottom: 10px; margin-left: 1.2em; }
	header #webmenu li .menu_body .subOption .bo { position: relative; }
	header #webmenu li .menu_body .subOption a { padding: 8px 45px 8px 0; color: var(--primary); }
	header #webmenu li .menu_body .sub2Option a { padding: 6px 45px 6px 0; font-weight: 300; color: var(--triadic1); }
	header #webmenu li .menu_body .sub3Option a { padding-right: 5px; color: var(--triadic2); }
	header #webmenu nav ul li b { top: 9px; right: 0; height: 48px; line-height: 48px; }
	.mobile_menu_cta { display: block; margin-top: 24px; }
	header .header_booking { display: none; }
	#menubtn>a span { transition: top .3s ease,transform .3s ease,opacity .25s ease!important; }
	#menubtn.active>a span:nth-child(1) { top: 50%!important; transform: translateY(-50%) rotate(45deg)!important; }
	#menubtn.active>a span:nth-child(2) { opacity: 0!important; transform: scaleX(0)!important; }
	#menubtn.active>a span:nth-child(3) { top: 50%!important; transform: translateY(-50%) rotate(-45deg)!important; }
}
@media(max-width:1100px) {
	footer .footer_top { align-items: flex-start; }
	footer .footer_menu a { padding: 7px 20px; }
	footer .footer_main { grid-template-columns: 1fr 1.6fr; gap: 50px; }
	footer .footer_service { grid-column: 1/-1; display: flex; align-items: center; gap: 18px; padding-top: 22px; border-top: 1px solid rgba(15,90,53,.1); }
	footer .footer_service .footer_info_title { margin: 0 12px 0 0; padding: 0; }
	footer .footer_service .footer_info_title::after { display: none; }
}
@media screen and (max-width:980px) {
	.parallax_bg { min-height: 400px; }
	#hSearch>div { width: 90%; }
	footer .footer_top { display: block; padding: 24px 0; }
	footer .footer_menu { gap: 0; }
	footer .footer_menu a { width: 50%; box-sizing: border-box; padding: 9px 12px 9px 0; }
	footer .footer_menu a::after { display: none; }
	footer .footer_contact_btn { margin-top: 20px; }
	footer .footer_main { display: block; padding: 30px 0 35px; }
	footer .footer_brand { margin-bottom: 38px; }
	footer .footer_info_wrap { margin-bottom: 35px; }
	footer #f_info { grid-template-columns: 1fr; }
	footer .footer_service { display: flex; flex-wrap: wrap; gap: 5px 18px; padding-top: 0; border-top: 0px solid rgba(15,90,53,.1); }
	footer .footer_service .footer_info_title { width: 100%; margin-bottom: 10px; }
	footer #webCopy {/* display: block; */padding-bottom: 60px;}
	footer #webCopy .other_txt { margin: 4px 0; text-align: left; }
	footer .footer_menu a { border-bottom: 1px solid rgba(15,90,53,.07); }
	.parallax_bg { min-height: 400px; }
	#contacttArea .cta-panel { min-height: 290px; }
	#contacttArea .cta-content { width: 65%; padding: 34px 30px; }
	#contacttArea .cta-content h2 { font-size: 28px; }
	#contacttArea .cta-logo { width: 100px; height: 100px; padding: 14px; }
}
@media screen and (max-width:768px) {
	#gotop { bottom: 120px; right: 20px; }
	#contacttAreaCta { padding: 6vw 0 }
	#contacttAreaCta .contactCta_info * { text-align: center; }
	#hSearch>div { width: 90%; }
	#contacttAreaCta .contactCta_inner { grid-template-columns: 1fr; gap: 20px; }
	header #webmenu { width: min(360px,56vw); }
	#contacttArea .cta-pair { grid-template-columns: 1fr; gap: 14px; }
	#contacttArea .cta-panel.consult,#contacttArea .cta-panel.recruit {   }
	#contacttArea .cta-logo { display: none; }
	#contacttArea .cta-panel { min-height: 300px; }
	#contacttArea .cta-content { width: 70%; }
	#contacttArea .workframe { grid-template-columns: 1fr; }
}
@media screen and (max-width:640px) {
	#contacttAreaCta { padding: 50px 0; }
	#contacttAreaCta .contactCta_title { font-size: 24px; line-height: 1.65; }
	#contacttAreaCta .contactCta_desc { margin-top: 12px; font-size: 13px; }
	#contacttAreaCta .contactCta_bottom { grid-template-columns: 1fr; }
	#contacttAreaCta .contactCta_btn { min-height: 58px; }
	.parallax_bg { min-height: 80vw; background-attachment: initial; }
	#webSeo { margin-top: 30px; }
	header { height: 74px; padding: 8px 5%; }
	header #cis img { height: 42px; max-width: 190px; }
	header #webmenu { top: 74px; right: calc(-1 * var(--width-xs)); width: 50vw; height: calc(100vh - 74px); padding: 24px 24px 30px; }
	header #webmenu nav>ul>li>p a { padding: 17px 4px; font-size: 17px; }
}
@media screen and (max-width:550px) {
	header #webmenu { width: 100%; top: 74px; right: calc(-1 * var(--width-xs)); height: calc(100vh - 74px); }
	footer #flogo img { width: 210px; }
}
@media screen and (max-width:480px) {
	#contacttArea {}
	#contacttArea .container { width: calc(100% - 30px); }
	#contacttArea .cta-panel { min-height: 320px; align-items: flex-end; }
	#contacttArea .cta-content { width: 100%; padding: 28px 24px; }
	#contacttArea .cta-content h2 { font-size: 26px; }
}
@media screen and (max-width:350px) {
	header #menubtn { width: 42px; height: 42px; }
	header #header_bar svg { width: 20px; height: 20px; }
	header #menubtn a { width: 20px; height: 15px; }
}
