@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('root.css');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+SC:wght@100..900&family=Noto+Sans+TC:wght@100..900&display=swap');

*, ::after, ::before { margin: 0; padding: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
*:focus { outline: none; }

body { overflow-x: hidden; overflow-y: overlay; margin: 0; min-height: 100vh; }
body::-webkit-scrollbar { width: 13px; }
body::-webkit-scrollbar-track { background: none; }
body::-webkit-scrollbar-thumb { border-radius: 8px; border: 4px solid transparent; background-clip: content-box; background-color: var(--g_200); }
body::-webkit-scrollbar-thumb:hover { background-color: var(--g_300); }

header, footer, div, nav, article, hr, p, form, label, input, button, select, 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: 1.7; border-width: 0; font-family: var(--font-family), sans-serif; font-size: 16px; color: var(--info); }

h1, h2, h3, h4, h5, h6 { word-wrap: break-word; word-break: break-word; line-height: 1.7; font-family: var(--font-family), sans-serif; color: var(--info); }
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * { font-size: inherit; }
h1, .h1 { font-weight: 500; font-size: 2em; }
h2, .h2 { font-weight: 500; font-size: 1.5em; }
h3, .h3 { font-weight: 500; font-size: 1.17em; }
h4, .h4 { font-weight: 500; font-size: 1em; }
h5, .h5 { font-weight: 500; font-size: .83em; }
h6, .h6 { font-weight: 500; font-size: .67em; }

ul, ol { list-style: none; }

fieldset { border: 0; }
input , select , textarea { padding: .3em 1em; width: 100%; background-color: white; background-clip: padding-box; border: 1px solid var(--g_200); border-radius: .2em; box-shadow: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select { background: url("data:image/svg+xml,%3Csvg viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 5l-6.5 7L1 5' stroke='%23002C62' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") white no-repeat calc(100% - .5em) 50% / auto 1em; }
button { background: none; border: 0; box-shadow: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; }
input::-webkit-outer-spin-button , input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
input[type=number] { -moz-appearance: textfield; }
input[type="password"] { font-family: auto; }
input[type="radio"] , input[type="checkbox"] { width: auto; -webkit-appearance: auto; -moz-appearance: auto; appearance: auto; }

/* img */
img { max-width: 100%; }
.img_cover { object-fit: cover; }
.img_contain { object-fit: contain; }

a, a:link, a:visited, a:hover { display: inline-block; text-decoration: none; white-space: pre-wrap; }

/* general class set */
.txt_clamp { overflow: hidden; height: 1.5em; 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; }

/* 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; transition: none; }
.fancybox-infobar__body span { font-size: inherit; color: currentcolor; vertical-align: initial; }

/* webBox */
.webBox { position: relative; width: 100vw; min-height: 100vh; }
.webBox .wrapper { overflow: hidden; position: relative; background: white; z-index: 2; }
.webBox .pageh1 { position: absolute; z-index: -1; opacity: 0; }

/* slick */
.webBox .slick-dotted.slick-slider { margin-bottom: 0; min-width: 100%; }
.webBox .slick-dotted .slick-track { min-width: 100%; }
.webBox .slick-dotted .slick-dots { bottom: 20px; }
.webBox .slick-dotted .slick-dots li { width: auto; height: auto; display: inline-flex; justify-content: center; align-items: center; }
.webBox .slick-dotted .slick-dots li button { width: 1em; height: 1em; background: var(--g_200); outline: 2px transparent solid; border-radius: 50%; }
.webBox .slick-dotted .slick-dots li.slick-active button { background: transparent; outline-color: var(--primary); }
.webBox .slick-dotted .slick-dots li button:before { content: ""; }

/* workframe */
[class*="workframe"] { --wrap_width: min(95vw, var(--width-xl)); margin: 0 auto; width: var(--wrap_width); }
.workframe_l { --wrap_width: 90vw; }

/* header */
header { position: fixed; padding: 2em 5vw; width: 100vw; display: flex; justify-content: space-between; align-items: center; top: 0; left: 0; z-index: 999; }
header [class*="header_"]>* { position: relative; z-index: 999; }
header .header_button { background: var(--primary); display: flex; align-items: stretch; }
header .header_button .member_btn { margin: 0 1.5em; display: flex; align-items: center; }
header .header_button .member_btn a { padding: 0 .8em; line-height: 1; font-size: .9em; color: white; }
header .header_button .member_btn a:last-child { border-left: 1px white solid; }

/* pop_menu */
#pop_menu { position: fixed; padding: 0 5vw; width: 100vw; height: 100vh; display: flex; align-items: center; top: 0; left: 0; opacity: 0; pointer-events: none; -webkit-transition: all .8s ease-in-out; transition: all .8s ease-in-out; z-index: 1000; }
#pop_menu .box { width: 50%; opacity: 0; -webkit-transition: all 1s ease-in-out; transition: all 1s ease-in-out; }
#pop_menu .menu_list { -webkit-transform: translateX(-50px); transform: translateX(-50px); }
#pop_menu .menu_list a { padding: .8em 0; display: block; font-size: 1.1em; color: white; letter-spacing: 1.5px; }
#pop_menu .quick_link .logo { margin-bottom: 2em; }
#pop_menu .quick_link .btn_item { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
#pop_menu .quick_link .btn_item a { margin: .5em 1em; display: flex; flex-direction: column; align-items: center; }
#pop_menu .quick_link .btn_item a img { width: 80px; aspect-ratio: 1/1; border-radius: 50%; outline: 3px var(--blue) solid; object-fit: cover; }
#pop_menu .quick_link .btn_item a font { margin-top: .5em; color: white; font-size: .9em; }

#pop_menu[data-action*="layout"] { justify-content: center; }
#pop_menu[data-action*="layout"] .menu_wrap { position: relative; width: min(90vw, 920px); display: flex; }
#pop_menu[data-action*="layout"] .menu_wrap:before { position: absolute; width: 1px; height: 100%; background: white; opacity: .2; top: 0; left: 50%; content: ""; }
#pop_menu[data-action*="layout"] .menu_list { padding-right: 90px; }
#pop_menu[data-action*="layout"] .menu_list li:not(:last-child) a { border-bottom: 1px rgb(255 255 255 / 20%) solid; }
#pop_menu[data-action*="layout"] .quick_link { display: flex; flex-direction: column; align-items: center; justify-content: center; -webkit-transform: translateX(50px); transform: translateX(50px); }

#pop_menu[data-action="index"] { padding: 10vh 0 0 5vw; width: auto; }
#pop_menu[data-action="index"] .box { width: auto; }
#pop_menu[data-action="index"] .menu_list { position: relative; }
#pop_menu[data-action="index"] .menu_list:before { position: absolute; width: 1px; height: 0; background: white; left: 0; opacity: .3; content: ""; }
#pop_menu[data-action="index"] .menu_list li { margin-bottom: 1.8em; padding-left: 1.3em; }
#pop_menu[data-action="index"] .menu_list a { padding: 0; text-shadow: 0 0 .8em rgb(0 0 0 / 70%); line-height: 1; }
#pop_menu[data-action="index"] .quick_link { display: none; }

#pop_menu[data-type="2"] { opacity: 1; pointer-events: auto; }
#pop_menu[data-type="2"] .box { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
#pop_menu[data-action*="layout"][data-type="2"] { background: var(--primary); }
#pop_menu[data-action*="layout"][data-type="2"] .box { -webkit-transition-delay: .9s; transition-delay: .9s; }
#pop_menu[data-action="index"][data-type="2"] .menu_list:before { height: 100vh; -webkit-transition: all 1s ease-in-out; transition: all 1s ease-in-out; -webkit-transition-delay: .9s; transition-delay: .9s; }

header.scroll { padding: .5em 5vw; }

/* menu_btn */
#menu_btn { width: 65px; height: 65px; border-left: 1px #1165a4 solid; display: block; z-index: 1001; }
#menu_btn:before, #menu_btn:after { position: absolute; margin-top: -4px; width: 45%; height: 1px; background-color: white; top: 50%; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); content: ""; }
#menu_btn:after { margin-top: 4px; }
#menu_btn[data-action*="layout"][data-type="2"] { border-left-color: transparent; }
#menu_btn[data-type="2"]:before, #menu_btn[data-type="2"]:after { margin-top: -0.5px; }
#menu_btn[data-type="2"]:before { -webkit-transform: translateX(-50%) rotate(45deg); transform: translateX(-50%) rotate(45deg); }
#menu_btn[data-type="2"]:after { -webkit-transform: translateX(-50%) rotate(-45deg); transform: translateX(-50%) rotate(-45deg); }

/* footer */
footer * { color: white; }
footer .webName_box { padding: 2em 5vw 2.5em; background: var(--primary); text-align: center; font-weight: 500; letter-spacing: .1em; font-size: 1.5em; }
footer .business_info { padding: 0 0 .5em; background: url(/images/00/img_footer_bg.webp) var(--g_charcoal) no-repeat right 0; }
footer #f_adbox { display: grid; grid-template-columns: repeat(2, 1fr); -webkit-transform: translateY(-1.5em); transform: translateY(-1.5em); }
footer #f_adbox>div { background: url(/images/00/img_footer_btn01.webp) no-repeat 50% 0; padding: 3.5em 0; }
footer #f_adbox>div:nth-child(2) { background-image: url(/images/00/img_footer_btn02.webp); }
footer #f_adbox .footerNav{
    position: relative;
}
footer #f_adbox .footerNav a.fmore{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 10;
}
footer #f_adbox p { text-align: center; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; font-size: 2em; }
footer #f_adbox font { margin: auto; width: 65%; display: flex; align-items: center; }
footer #f_adbox font:before, footer #f_adbox font:after { width: 1%; height: 1px; background: white; display: block; flex: 1 1 auto; content: ""; }
footer #f_adbox font span { padding: 0 3em; min-width: 5em; display: block; font-size: 1.2em; }
footer #office_info { margin: 1em auto 3em; width: 90%; display: flex; justify-content: space-between; }
footer #office_info ul { margin-top: 1em; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1em 3em; }
footer #office_info ul li { display: flex; align-items: center; }
footer #office_info ul li * { color: var(--g_300); font-size: .9em; width: calc(100% - 25px); }
footer #office_info ul li svg { margin-right: 1em; width: 20px; height: 20px; aspect-ratio: 1/1; fill: var(--g_600); }
footer #bottom_info { padding: 1.5em 5% 1em; border-top: 1px var(--g_800) solid; display: flex; justify-content: space-between; align-items: center; }
footer #bottom_info .service_phone { display: flex; align-items: center; }
footer #bottom_info .service_phone a { margin-left: 1em; font-size: 1.7em; }
footer #bottom_info .community_box { display: flex; justify-content: flex-end; }
footer #bottom_info .community_box a { margin: 0 0 .5em .8em; width: 1.4em; aspect-ratio: 1/1; display: flex; justify-content: center; align-items: center; }
footer #bottom_info .community_box a svg { position: relative; width: 100%; aspect-ratio: 1/1; fill: white; }
footer #bottom_info .community_box a.fb svg { width: 90%; }
footer #f_other { margin: .5em 0; padding: .3em 1em; display: flex; justify-content: center; align-items: center; }
footer #f_other * { line-height: 1; font-size: .85em; color: var(--g_400); }
footer #f_other>div { margin: 0 .5em; }

/* webSeo */
#webSeo { overflow: hidden; width: 100%; white-space: nowrap; box-sizing: border-box; }
#webSeo .seo { padding-left: 100%; font-weight: 100; line-height: 1; font-size: 13px; color: var(--g_400); -webkit-animation: marquee 100s linear infinite; animation: marquee 100s linear infinite; }

/* gotop */
#gotop { position: fixed; width: 45px; aspect-ratio: 1/1; background: var(--primary); box-shadow: 0 0 .5em rgb(0 0 0 / 30%); display: flex; justify-content: center; align-items: center; border-radius: 50%; right: 1vw; bottom: 5vh; opacity: 0; z-index: 9999; }
#gotop[data-type="1"] { opacity: 1; }
#gotop svg { width: 50%; aspect-ratio: 1/1; fill: white; }

/* animation */
@-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); } }

@media screen and (min-width: 1161px) {
	#gotop:hover { background: var(--primary); }
}
@media screen and (max-width: 1160px) {
	.header_logo { width: 160px; }
	#pop_menu[data-action="index"] { height: 70vh; }
	footer #f_adbox p { font-size: 1.4em; }
	footer #office_info ul { gap: .4em 1em; }
}
@media screen and (max-width: 768px) {
	.header_logo { width: 130px; }
	header .header_button .member_btn { margin: 0 .5em; }
	#pop_menu[data-action*="layout"] .menu_wrap { display: flex; flex-direction: column-reverse; }
	#pop_menu[data-action*="layout"] .menu_list { padding-right: 0; }
	#pop_menu .box { width: auto; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
	#pop_menu[data-action*="layout"][data-type="2"] .menu_list { margin: 30px 20px 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
	#pop_menu[data-action*="layout"] .menu_wrap:before { display: none; }
	footer #office_info { display: flex; flex-direction: column; margin: 1em auto 0em; width: 95%; }
	footer #office_info .item { margin-bottom: 30px; }
	footer #f_adbox { display: flex; flex-direction: column; }
	footer #bottom_info .service_phone { flex-direction: column; align-items: flex-start; }
	footer #bottom_info .service_phone a { margin-left: 0; font-size: 1.4em; }
	footer #f_other { padding: .3em 0.1em; }
	footer #bottom_info { padding: 1.5em 2% 1em; }
}