@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');

* { margin: 0; padding: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box }
*:focus { outline: none }
body { margin: 0 }
body::selection { background: var(--gray); 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(--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: 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: 1px rgba(var(--black-rgb),.15) solid; border-radius: 0; background: none; box-shadow: none; outline: none; font-size: 16px; color: var(--gray); -webkit-appearance: none; -moz-appearance: none; appearance: none }
select { padding: 10px 15px; width: 100% }

.menu_body.menu_body_empty{display:none!important;}



/* #Checknum */
input#Checknum { margin-right: 15px; width: 70px; max-width: calc(100% - 97px) }
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder { font-weight: 400; color: rgba(var(--black-rgb),.6) }
input::-moz-placeholder,textarea::-moz-placeholder { font-weight: 400; color: rgba(var(--black-rgb),.6) }
input:-ms-input-placeholder,textarea:-ms-input-placeholder { font-weight: 400; color: rgba(var(--black-rgb),.6) }
input:-moz-placeholder,textarea:-moz-placeholder { font-weight: 400; color: rgba(var(--black-rgb),.6) }
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; white-space: pre-wrap }
.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 }
.nowrap_box { font-size: 0 }
.txt_num { font-family: 'Quicksand',sans-serif }
.btn,.btn_outline { padding: 2px 10px }
.more_btn { padding: 10px 35px; text-transform: capitalize }
.more_btn:before { position: absolute; width: 100%; height: 100%; background: var(--white); top: 0; left: 0; opacity: .3; z-index: 9; content: ""; -webkit-transition: -webkit-transform .6s; transition: -webkit-transform .6s; transition: transform .6s; transition: transform .6s,-webkit-transform .6s; -webkit-transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,180deg) translate3d(0,100%,0); transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,180deg) translate3d(0,100%,0) }
.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 }
a.photo,.bgBox { overflow: hidden; background: no-repeat 50%/cover; display: block }
[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 }
[class^="fancybox-"],[class^="fancybox-"] * { font-family: inherit; color: currentColor }
.webBox { overflow: hidden; position: relative; width: 100% }
.webBox .pageh1 { position: absolute; top: 0; z-index: 1 }
.webBox .wrapper { position: relative; background: var(--white); z-index: 2 }
.webBox .slick-slider { margin-bottom: 0 }
.workframe { margin: 0 auto; width: 90% }
.sun_section { position: relative; width: 100%; padding: 85px 0 95px; overflow: hidden }
.sun_container { position: relative; width: calc(100% - 80px); max-width: 1480px; margin: 0 auto }
.sun_section_head { position: relative; width: 100%; margin: 0 auto 42px; text-align: center }
.sun_section_kicker { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 16px; color: #275782; font-family: Arial,sans-serif; font-size: 15px; font-weight: 800; letter-spacing: .28em; line-height: 1.6 }
.sun_section_kicker:before,.sun_section_kicker:after { content: ""; width: 49px; height: 3px; background: #ff921f; border-radius: 3px }
.sun_section_title { position: relative; display: inline-block; margin: 0; color: #143d66; font-size: clamp(34px,3.1vw,56px); font-weight: 900; letter-spacing: .04em; line-height: 1.4 }
.sun_section_desc { margin: 19px auto 0; color: #4e6b87; font-size: 19px; font-weight: 600; line-height: 1.85; letter-spacing: .045em; text-align: center }
.sun_btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 60px; padding: 12px 35px; border: 0; border-radius: 80px; color: #fff; font-size: 19px; font-weight: 800; letter-spacing: .04em; line-height: 1.4; text-decoration: none; cursor: pointer; transition: transform .3s,box-shadow .3s,background .3s }
.sun_btn:hover { color: #fff; transform: translateY(-4px) }
.sun_btn:focus-visible { outline: 3px solid #ff921f; outline-offset: 5px }
.sun_btn_arrow { display: inline-flex; align-items: center; justify-content: center; font-family: Arial,sans-serif; font-size: 27px; font-weight: 400; line-height: 1; transition: transform .3s }
.sun_btn:hover .sun_btn_arrow { transform: translateX(5px) }
.sun_btn_blue { background: linear-gradient(120deg,#0c5c96,#073e6e); box-shadow: 0 8px 20px rgba(6,72,120,.18) }
.sun_btn_blue:hover { background: linear-gradient(120deg,#1175ad,#064576); box-shadow: 0 13px 25px rgba(6,72,120,.27) }
.sun_btn_blue * { color: white }
.sun_btn_line { position: relative; color: #fff; background: linear-gradient(180deg,#5dea00 0%,#32c800 100%); border: 3px solid #fff; box-shadow: 0 4px 0 #268e08,0 7px 18px rgba(0,40,20,.2); animation: sunLineGlow 3s ease-in-out infinite }
.sun_btn_line:after { content: ""; position: absolute; inset: -8px; border: 2px solid rgba(72,218,15,.6); border-radius: inherit; pointer-events: none; animation: sunLineRipple 3s ease-out infinite }
.sun_btn_line:hover { color: #fff; background: linear-gradient(180deg,#69f309,#2fbc00); box-shadow: 0 6px 0 #268e08,0 12px 22px rgba(0,40,20,.25); animation-play-state: paused }
.sun_btn_line:hover:after { animation: none; opacity: 0 }
.sun_btn_line:active { transform: translateY(1px) }
.sun_btn_line>span:not(.offer_line_icon) { position: relative; z-index: 1; color: #fff }
.offer_line_icon { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; background: #fff; border-radius: 50%; box-shadow: 0 2px 5px rgba(0,80,0,.12); transition: transform .3s }
.offer_line_icon .svg_primary_1 { display: block; width: 37px; height: 40px; flex: none; margin: 0; color: #34c80b; fill: #34c80b }
.sun_btn_line:hover .offer_line_icon { transform: scale(1.1) rotate(-5deg) }
.offer_action .sun_btn{min-width:310px;min-height:67px;padding:10px 30px;font-size:28px;letter-spacing:.05em;}
.offer_action .sun_btn span{color:white;}
.offer_action .sun_btn span.offer_line_icon { color: #36ce03; }
.offer_line_icon{display:inline-flex;align-items:center;justify-content:center;flex: 0 0 50px;width: 50px;height: 50px;background:#fff;border-radius:50%;color:#36ce03;font-family:Arial,sans-serif;font-size:11px;font-weight:900;letter-spacing:-.05em;}


@keyframes sunLineGlow {
  0%,100% { box-shadow: 0 4px 0 #268e08,0 7px 18px rgba(0,40,20,.2),0 0 0 0 rgba(69,228,20,0) }
  50% { box-shadow: 0 4px 0 #268e08,0 11px 27px rgba(0,80,25,.33),0 0 20px 4px rgba(69,228,20,.24) }
}
@keyframes sunLineRipple {
  0% { opacity: 0; transform: scale(1) }
  20% { opacity: .75 }
  70% { opacity: 0; transform: scale(1.11,1.24) }
  100% { opacity: 0; transform: scale(1.11,1.24) }
}
.sun_header {top: 0;left: 0;width: 100%;height: 100px;z-index: 1000;background: linear-gradient(110deg,#fff 0%,#fff 45%,#f1f8fe 100%);border-bottom: 1px solid #e1e8ee;box-shadow: 0 4px 24px rgba(14,53,94,.035);transition: height .3s,box-shadow .3s}
.sun_header * { box-sizing: border-box }
.sun_header .item { width: calc(100% - 120px); max-width: 1760px; height: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 32px }
/* #cis */
.sun_header #cis { position: relative; display: flex!important; align-items: center; justify-content: flex-start; flex: 0 0 clamp(260px,20.4vw,390px); width: auto!important; max-width: 390px; z-index: 2 }
.sun_header #cis a { display: block; width: 100%; line-height: 0 }
.sun_header #cis img {display: block;width: 100%;max-width: 100%;height: auto;max-height: 95px;object-fit: contain;object-position: left center}
/* #webmenu */
.sun_header #webmenu { position: static!important; flex: 1; width: auto!important; max-width: none; padding-left: clamp(26px,9vw,184px) }
.sun_header .menu_box { width: 100%; height: 100% }
.sun_header .menu_box>ul { display: flex; align-items: center; justify-content: flex-end; gap: clamp(22px,2.2vw,44px); width: 100%; margin: 0; padding: 0; list-style: none; white-space: nowrap }
.sun_header .menu_box>ul>li { position: relative; flex-shrink: 0; overflow: visible!important; margin: 0; padding: 0; list-style: none }
.sun_header .menu_box>ul>li>p { position: relative; margin: 0; padding: 0 }
.sun_header .menu_box>ul>li>p>a { position: relative; display: flex; align-items: center; justify-content: center; padding: 12px 0; color: #163f68; font-size: 18px; font-weight: 700; letter-spacing: .04em; line-height: 1.5; text-decoration: none; transition: color 0.3s,transform 0.5s }
.sun_header .menu_box>ul>li:not(.menu_contact)>p>a::after { content: ""; position: absolute; left: 12%; right: 12%; bottom: -10px; height: 3px; background: #ff8116; border-radius: 4px; transform: scaleX(0); transform-origin: center; transition: transform .3s }
.sun_header .menu_box>ul>li:not(.menu_contact):hover>p>a, .sun_header .menu_box>ul>li.inpageJ a { color: #ff7916 }
.sun_header .menu_box>ul>li:not(.menu_contact):hover>p>a::after, .sun_header .menu_box>ul>li.inpageJ p a:after { transform: scaleX(1) }

/* #menubtn */
.sun_header .menu_box a:focus-visible,.sun_header #menubtn a:focus-visible { outline: 3px solid #1970b9; outline-offset: 5px }
.sun_header .menu_box>ul>li.menu_contact { margin-left: auto }
.sun_header .menu_box>ul>li.menu_contact a * { color: white }
.sun_header .menu_box .menu_contact>p>a { display: flex; align-items: center; justify-content: center; gap: 21px; min-width: 216px; height: 59px; padding: 0 25px; color: #fff!important; background: linear-gradient(110deg,#ffa115 0%,#ff8314 52%,#ff6816 100%); border-radius: 60px; box-shadow: 0 9px 19px rgba(255,112,17,.16); font-size: 17px; font-weight: 700; letter-spacing: .03em; transition: transform .3s,box-shadow .3s,background .3s }
.sun_header .menu_contact>p>a:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(255,112,17,.28); background: linear-gradient(110deg,#ffad20,#ff6a12) }
.sun_header .contact_arrow { display: inline-flex; align-items: center; justify-content: center; font-family: Arial,sans-serif; font-size: 23px; font-weight: 400; line-height: 1; transition: transform .3s }
.sun_header .menu_contact a:hover .contact_arrow { transform: translate(3px,-3px) }
.sun_header .menu_body { position: absolute!important; top: calc(100%+14px); left: 50%; z-index: 20; min-width: 190px; padding: 12px 0; background: #fff; border: 1px solid #e6edf3; border-radius: 12px; box-shadow: 0 16px 40px rgba(15,53,88,.12); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%,10px); transition: opacity .25s,transform .25s,visibility .25s; white-space: normal }
.sun_header .menu_box>ul>li:hover>.menu_body,.sun_header .menu_box>ul>li:focus-within>.menu_body { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0) }
.sun_header .menu_body ul { display: block; margin: 0; padding: 0; list-style: none }
.sun_header .menu_body li { display: block; width: 100%; margin: 0; padding: 0; list-style: none }
.sun_header .menu_body a { display: block; padding: 11px 21px; color: #264e73; font-size: 15px; font-weight: 500; line-height: 1.6; text-align: left; text-decoration: none; white-space: nowrap; transition: background .2s,color .2s }
.sun_header .menu_body a:hover { color: #f47b19; background: #f4f8fc }
.sun_header #menubtn { display: none!important; flex: 0 0 48px; width: 48px!important; height: 48px; align-items: center; justify-content: center; cursor: pointer; z-index: 5 }
.sun_header #menubtn>a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 48px; height: 48px; text-decoration: none }
.sun_header #menubtn span { display: block; width: 26px; height: 2px; background: #16466e; border-radius: 3px; transition: transform .3s,opacity .3s,background .3s }
.sun_header #menubtn[data-type="2"] span:nth-child(1) { transform: translateY(8px) rotate(45deg) }
.sun_header #menubtn[data-type="2"] span:nth-child(2) { opacity: 0 }
.sun_header #menubtn[data-type="2"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg) }
/* #menubg */
#menubg { position: fixed; inset: 0; display: block; z-index: 999; background: rgba(7,28,50,.52); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .35s,visibility .35s }
#menubg[data-type="2"] { opacity: 1; visibility: visible; pointer-events: auto }
body.over_hid { overflow: hidden }
/* #openform */
#openform { background: var(--secondary); line-height: 45px }
/* #search_box */
#search_box svg { width: 18px; height: 18px }
#search_box form { width: 240px; box-shadow: 0 0 10px rgba(var(--black-rgb),.3); right: 0; bottom: -55px; opacity: 0 }
#search_box[data-type="2"] form { opacity: 1 }
#search_box form input { width: calc(100% - 65px); border: 0 }
/* #menubg */
#menubg { width: 100vw; height: 100vh; top: 0; left: 0 }
#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: 998 }
.sun_footer { position: relative; z-index: 2; width: 100%; margin: 0; padding: 0; background: linear-gradient(155deg,#fff9f3 0%,#fffdfb 42%,#fff8f0 100%); isolation: isolate; margin-top: 120px }
.sun_footer * { box-sizing: border-box }
.sun_footer .footer_svg_defs { position: absolute; width: 0; height: 0; overflow: hidden }
.sun_footer:before { content: ""; position: absolute; top: 0; left: -10%; width: 55%; height: 70%; background: radial-gradient(ellipse,rgba(255,228,198,.2),transparent 70%); pointer-events: none }
.sun_footer:after { content: ""; position: absolute; right: -15%; top: 10%; width: 55%; height: 70%; background: radial-gradient(ellipse,rgba(255,226,171,.17),transparent 70%); pointer-events: none }
.sun_footer .footer_top_art { position: absolute; top: -175px; left: 0; width: 100%; height: 350px; overflow: hidden; z-index: 0; pointer-events: none }
.sun_footer .footer_top_art>svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block }
.sun_footer .footer_sun { position: absolute; top: 41px; right: 20%; width: clamp(145px,14vw,235px); aspect-ratio: 1; border-radius: 50%; background: linear-gradient(180deg,#ffac1d 0%,#ffd47a 46%,rgba(255,225,165,.35) 80%,transparent 100%); box-shadow: 0 0 60px rgba(255,180,52,.08); z-index: 5 }
.sun_footer .sppimg { width: 100% }
.sun_footer .sppimg img { height: 350px; object-fit: cover; object-position: 50% 50% }
/* #f_info */
.sun_footer #f_info { position: relative; z-index: 2; width: 100%; padding: 170px 0 155px }
.sun_footer .footer_layout { display: grid; grid-template-columns: minmax(0,.93fr) minmax(0,1.5fr) minmax(0,1fr); align-items: center; gap: 26px; width: calc(100% - 90px); max-width: 1480px; margin: 0 auto; padding: 0 }
.sun_footer .footer_layout>* { min-width: 0 }
/* #flogo */
.sun_footer #flogo { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; width: 100%; padding: 15px 24px 15px 0 }
.sun_footer .footer_logo { width: 100%; text-align: center }
.sun_footer .footer_logo a {display: inline-block;width: 100%;max-width: 350px;line-height: 0}
.sun_footer .footer_logo img {display: block;width: 100%;height: auto;max-height: 180px;margin: 0 auto;object-fit: contain}
.sun_footer .footer_brand_slogan { position: relative; display: flex; align-items: center; justify-content: center; gap: 17px; width: 100%; color: #214c74; font-size: 20px; font-weight: 700; line-height: 1.75; letter-spacing: .045em }
.sun_footer .footer_slogan_line { display: block; flex: 0 0 6px; width: 6px; height: 60px; background: linear-gradient(180deg,#ffad22,#ff870f); border-radius: 5px }
.sun_footer .footer_panel { position: relative; align-self: stretch; width: 100%; padding: 29px 35px 31px; background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.95); border-radius: 28px; box-shadow: 0 12px 35px rgba(86,66,42,.09),0 2px 6px rgba(86,66,42,.025); backdrop-filter: blur(7px) }
.sun_footer .footer_panel_title { position: relative; display: inline-block; margin: 0 0 24px; padding: 0 0 10px; color: #103f67; font-size: clamp(27px,2vw,34px); font-weight: 900; letter-spacing: .055em; line-height: 1.35 }
.sun_footer .footer_panel_title:after { content: ""; position: absolute; left: 50%; bottom: 0; width: 65%; height: 5px; border-top: 4px solid #ff941c; border-radius: 50%; transform: translateX(-50%) rotate(-3deg) }
.sun_footer .footer_contact_list { display: flex; flex-direction: column; width: 100% }
.sun_footer .footer_contact_row { display: flex; align-items: center; gap: 18px; min-width: 0; min-height: 49px; padding: 22px 0; border-bottom: 1px solid rgba(18,65,103,.12) }
.sun_footer .footer_contact_row:last-child { border-bottom: 0 }
.sun_footer .footer_contact_icon { display: flex; align-items: center; justify-content: center; flex: 0 0 52px; width: 52px; height: 42px; background: linear-gradient(135deg,#fff8ec,#fff1df); border-radius: 13px; color: #ff9015 }
.sun_footer .footer_contact_icon svg { display: block; width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round }
.sun_footer .footer_contact_txt { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; gap: 2px; color: #183f62; font-size: 16px; font-weight: 700; line-height: 1.6; letter-spacing: .01em; overflow-wrap: anywhere }
.sun_footer .footer_contact_txt>span:first-child { flex-shrink: 0 }
.sun_footer .footer_contact_txt a { color: #183f62; text-decoration: none; overflow-wrap: anywhere; transition: all 0.3s ease-in-out }
.sun_footer .footer_contact_txt a:hover { color: #ff8618 }
.sun_footer .footer_contact_txt a:focus-visible { outline: 2px solid #ff931c; outline-offset: 3px }
.sun_footer .footer_contact_txt a span { font-size: 14px }
.sun_footer .footer_line_icon { background: linear-gradient(135deg,#e8f9de,#f2ffec) }
.sun_footer .footer_line_icon .svg_primary_1 { width: 29px; height: 29px; color: #06c755; fill: #06c755; stroke: none }
.sun_footer .footer_line_txt { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 10px }
.sun_footer .footer_line_btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 37px; padding: 10px 18px; border: 1.5px solid #11a927; border-radius: 50px; background: #fff; color: #149a28!important; font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: background .3s,color .3s,transform .3s,box-shadow .3s }
.sun_footer .footer_line_btn:hover { background: #14b333; color: #fff!important; transform: translateY(-2px); box-shadow: 0 6px 14px rgba(15,156,50,.16) }
.sun_footer .footer_line_btn span:last-child { font-family: Arial,sans-serif; font-size: 21px; font-weight: 400; line-height: 1; transition: transform .3s }
.sun_footer .footer_line_btn:hover span:last-child { transform: translateX(4px) }
.sun_footer .footer_line_btn:hover * { color: white }
/* Footer Navigation */
.sun_footer .footer_nav_panel { padding-left: 42px; padding-right: 42px }
.sun_footer .footer_nav_defs { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none }
.sun_footer .footer_nav_links { display: flex; flex-direction: column; width: 100% }
.sun_footer .footer_nav_link { display: flex; align-items: center; gap: 15px; min-height: 57px; padding: 8px 0; color: #153e65; border-bottom: 1px solid rgba(18,65,103,.13); font-size: 19px; font-weight: 800; letter-spacing: .035em; line-height: 1.5; text-decoration: none; transition: color .3s,padding-left .3s }
.sun_footer .footer_nav_link:last-child { border-bottom: 0 }
.sun_footer .footer_nav_link:hover { color: #ff8818; padding-left: 5px }
.sun_footer .footer_nav_icon { display: flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; color: #647a9e; transition: color .3s }
.sun_footer .footer_nav_icon svg { display: none; width: 25px; height: 25px; color: inherit; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s }
.sun_footer .footer_nav_links>.footer_nav_link:nth-child(1) .footer_nav_ico_1 { display: block }
.sun_footer .footer_nav_links>.footer_nav_link:nth-child(2) .footer_nav_ico_2 { display: block }
.sun_footer .footer_nav_links>.footer_nav_link:nth-child(3) .footer_nav_ico_3 { display: block }
.sun_footer .footer_nav_links>.footer_nav_link:nth-child(4) .footer_nav_ico_4 { display: block }
.sun_footer .footer_nav_links>.footer_nav_link:nth-child(5) .footer_nav_ico_5 { display: block }
.sun_footer .footer_nav_links>.footer_nav_link:nth-child(6) .footer_nav_ico_6 { display: block }
.sun_footer .footer_nav_links>.footer_nav_link:nth-child(7) .footer_nav_ico_7 { display: block }
.sun_footer .footer_nav_links>.footer_sitemap .footer_nav_ico_privacy { display: block }
.sun_footer .footer_nav_link:hover .footer_nav_icon,.sun_footer .footer_nav_link:focus-visible .footer_nav_icon { color: #ff8818 }
.sun_footer .footer_nav_link:hover .footer_nav_icon svg { transform: translateY(-2px) }
.sun_footer .footer_nav_name { flex: 1; min-width: 0; color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit }
.sun_footer .footer_nav_arrow { display: flex; align-items: center; justify-content: center; color: #ff8d17; font-family: Arial,sans-serif; font-size: 30px; font-weight: 400; line-height: 1; transition: transform .3s }
.sun_footer .footer_nav_link:hover .footer_nav_arrow { transform: translateX(5px) }
.sun_footer .footer_nav_link:focus-visible { outline: 2px solid #ff941c; outline-offset: 3px }
.sun_footer .footer_bottom { position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 112px; background: linear-gradient(to right,#0d5a93,#0a4877,#07385f) }
.sun_footer .footer_bottom_wave { position: absolute; left: 0; right: 0; top: -149px; display: block; width: 100%; height: 150px; pointer-events: none }
.sun_footer .footer_bottom_inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 36px; width: calc(100% - 80px); max-width: 1000px; margin: 0 auto; padding: 22px 0 30px }
.sun_footer .footer_copy_line { display: block; flex: 1; max-width: 200px; height: 1px; background: rgba(255,255,255,.55) }
.sun_footer .footer_copy_content { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px 12px; color: #fff; font-size: 16px; font-weight: 500; line-height: 1.6; letter-spacing: .025em; text-align: center }
.sun_footer .footer_copy_content * { color: #fff; font-size: 13px }
.sun_footer .footer_copy_content a { color: #fff; text-decoration: none; transition: color .3s }
.sun_footer .footer_copy_content a:hover { color: #ffca72 }
/* #webSeo */
#webSeo { padding: 10px 0; white-space: nowrap; box-sizing: border-box }
#webSeo .seo { padding-left: 100%; font-weight: 100; font-size: 13px; color: var(--info) }
/* #footer_btn */
#footer_btn { right: 10px; bottom: 15px; z-index: 2000; display: flex; flex-direction: column; align-items: center; gap: 10px }
#footer_btn a { position: relative; margin-top: 0; background: #12b508; line-height: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center }
#footer_btn a svg { width: 60%; height: 60%; fill: white }
#footer_btn a.phone { background: var(--primary) }
#footer_btn a.gotop { background: var(--primary); border: 1px var(--primary) solid }
.webBox #footer_btn a { width: 45px; height: 45px; border-radius: 50% }
@-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 */
@media screen and (max-width:1500px) {
  .workframe{
    width: min(1200px , 85%);
}
  .sun_container { width: calc(90% - 90px) }
  .sun_header .item { width: calc(100% - 90px); gap: 20px }
  .sun_header #cis { flex-basis: clamp(260px,23vw,320px) }
  .sun_header #webmenu { padding-left: clamp(12px,3vw,42px) }
  .sun_header .menu_box>ul { gap: clamp(18px,2vw,30px) }
  .sun_header .menu_box>ul>li>p>a { font-size: 17px }
  .sun_header .menu_contact>p>a { min-width: 190px; height: 55px; padding: 0 19px; font-size: 16px }
  .sun_footer .footer_layout { grid-template-columns: minmax(0,.85fr) minmax(0,1.5fr) minmax(0,.95fr); gap: 22px }
  .sun_footer .footer_panel { padding: 26px 26px 28px }
  .sun_footer .footer_nav_panel { padding-left: 30px; padding-right: 30px }
  .sun_footer .footer_contact_row { gap: 12px }
  .sun_footer .footer_contact_txt { font-size: 15px }
  .sun_footer .footer_nav_link { font-size: 17px }
  .sun_footer .footer_brand_slogan { font-size: 18px }
}
@media screen and (max-width:1279px) {
  .sun_header .item { width: calc(100% - 60px); gap: 16px }
  .sun_header #cis { flex-basis: 245px }
  .sun_header #webmenu { padding-left: 12px }
  .sun_header .menu_box>ul { gap: 20px }
  .sun_header .menu_box>ul>li>p>a { font-size: 16px; letter-spacing: 0 }
  .sun_header .menu_contact>p>a { min-width: 174px; height: 52px; gap: 10px; padding: 0 16px; font-size: 15px }
}
@media screen and (max-width:1199px) {
  .sun_section { padding: 70px 0 80px }
  .sun_container { width: calc(100% - 60px) }
  .sun_section_title { font-size: clamp(32px,4.1vw,47px) }
  .sun_section_desc { font-size: 17px }
  .sun_header { height: 82px }
  .sun_header .item { width: calc(100% - 48px); max-width: none; gap: 16px }
  .sun_header #cis { flex: 0 1 310px; width: auto!important; max-width: 310px }
  .sun_header #cis img { max-height: 72px }
  .sun_header #menubtn { display: flex!important }
  .sun_header #webmenu { position: fixed!important; top: 82px; right: 0; bottom: 0; left: auto; z-index: 3; flex: none; width: min(390px,86vw)!important; max-width: none; height: calc(100dvh - 82px); padding: 24px 25px 36px; background: #fff; box-shadow: -18px 15px 45px rgba(11,48,78,.12); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; visibility: hidden; pointer-events: none; transform: translateX(105%); transition: transform .35s ease,visibility .35s }
  .sun_header #webmenu.is-open { visibility: visible; pointer-events: auto; transform: translateX(0) }
  .sun_header .menu_box { height: auto; min-height: 100% }
  .sun_header .menu_box>ul { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; width: 100%; padding: 0; white-space: normal }
  .sun_header .menu_box>ul>li { width: 100%; border-bottom: 1px solid #edf1f5 }
  .sun_header .menu_box>ul>li>p>a { justify-content: flex-start; padding: 19px 8px; color: #17466f; font-size: 17px; letter-spacing: .04em }
  .sun_header .menu_box>ul>li:not(.menu_contact)>p>a::after { display: none }
  .sun_header .menu_box>ul>li:first-child:not(.menu_contact)>p>a { color: #f47b18 }
  .sun_header .menu_body { position: static!important; display: none; min-width: 0; width: 100%; margin: 0 0 12px; padding: 0 0 0 15px; border: 0; border-left: 2px solid #e8eff5; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: none }
  .sun_header .menu_box>ul>li:hover>.menu_body,.sun_header .menu_box>ul>li:focus-within>.menu_body { transform: none }
  .sun_header .menu_body:empty { display: none!important }
  .sun_header .menu_body a { padding: 10px 12px; font-size: 15px; white-space: normal }
  .sun_header .menu_contact { margin: 25px 0 0!important; border: 0!important }
  .sun_header .menu_contact>p>a { justify-content: center; gap: 20px; width: 100%; min-width: 0; height: 55px; padding: 0 20px; font-size: 16px }
  .sun_footer #f_info { padding: 180px 0 155px }
  .sun_footer .footer_layout { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 23px; width: calc(100% - 60px) }
  .sun_footer #flogo { padding: 10px 20px }
  .sun_footer .footer_logo a { max-width: 320px }
  .sun_footer .footer_brand_slogan { font-size: 18px }
  .sun_footer .footer_nav_panel { grid-column: 1/-1 }
  .sun_footer .footer_nav_links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 25px }
  .sun_footer .footer_nav_link { min-height: 57px }
  .sun_footer .footer_panel_title { font-size: 30px }
}
@media screen and (max-width:991px) {
  .sun_footer #f_info { padding-top: 160px }
  .sun_footer .footer_layout { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr) }
  .sun_footer #flogo { gap: 18px }
  .sun_footer .footer_logo a { max-width: 280px }
  .sun_footer .footer_brand_slogan { font-size: 16px }
  .sun_footer .footer_panel { padding: 25px 22px }
  .sun_footer .footer_contact_icon { flex-basis: 44px; width: 44px; height: 40px }
  .sun_footer .footer_contact_txt { font-size: 15px }
  .sun_footer .footer_line_txt { justify-content: flex-start }
  .sun_footer .footer_nav_links { grid-template-columns: repeat(2,minmax(0,1fr)) }
}
@media screen and (max-width:767px) {
  .sun_section { padding: 55px 0 65px }
  .sun_container { width: calc(100% - 36px) }
  .sun_section_head { margin-bottom: 30px }
  .sun_section_kicker { gap: 9px; margin-bottom: 12px; font-size: 10px; letter-spacing: .14em }
  .sun_section_kicker:before,.sun_section_kicker:after { width: 26px; height: 2px }
  .sun_section_title { font-size: clamp(28px,6vw,38px); line-height: 1.4 }
  .sun_section_desc { margin-top: 15px; font-size: 15px; line-height: 1.8 }
  .sun_btn { min-height: 51px; padding: 10px 25px; gap: 14px; font-size: 16px }
  .sun_btn_arrow { font-size: 22px }
  .offer_line_icon { flex-basis: 34px; width: 34px; height: 34px }
  .offer_line_icon .svg_primary_1 { width: 23px; height: 23px }
  .sun_header { height: 74px }
  .sun_header .item { width: calc(100% - 36px); gap: 12px }
  .sun_header #cis { flex: 0 1 250px; width: auto!important; max-width: 250px }
  .sun_header #cis img { max-height: 65px }
  .sun_header #menubtn { flex-basis: 46px; width: 46px!important; height: 46px }
  .sun_header #menubtn>a { width: 46px; height: 46px }
  .sun_header #webmenu { top: 74px; width: min(340px,88vw)!important; height: calc(100dvh - 74px); padding: 19px 23px 32px }
  .sun_header .menu_box>ul>li>p>a { padding: 17px 6px; font-size: 16px }
  .sun_header .menu_contact>p>a { height: 52px }
  .sun_footer .footer_sun { top: 30px; right: 14%; width: 135px }
  .sun_footer #f_info { padding: 130px 0 130px }
  .sun_footer .footer_layout { display: flex; flex-direction: column; gap: 24px; width: calc(100% - 36px) }
  .sun_footer #flogo { width: 100%; gap: 19px; padding: 3px 0 25px; }
  .sun_footer .footer_logo a { max-width: 300px }
  .sun_footer .footer_logo img { max-height: 130px; }
  .sun_footer .footer_brand_slogan { justify-content: center; font-size: 16px }
  .sun_footer .footer_slogan_line { height: 51px }
  .sun_footer .footer_panel { width: 100%; padding: 25px 25px 27px; border-radius: 23px }
  .sun_footer .footer_panel_title { margin-bottom: 18px; font-size: 27px }
  .sun_footer .footer_contact_row { min-height: 51px; gap: 12px }
  .sun_footer .footer_contact_txt { font-size: 15px }
  .sun_footer .footer_nav_links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px }
  .sun_footer .footer_nav_link { min-height: 52px; gap: 11px; font-size: 16px }
  .sun_footer .footer_nav_icon { flex-basis: 27px; width: 27px }
  .sun_footer .footer_nav_icon svg { width: 23px; height: 23px }
  .sun_footer .footer_nav_arrow { font-size: 25px }
  .sun_footer .footer_bottom { min-height: 105px }
  .sun_footer .footer_bottom_wave { top: -109px; height: 110px }
  .sun_footer .footer_bottom_inner { width: calc(100% - 36px); gap: 14px; padding: 20px 0 26px }
  .sun_footer .footer_copy_content { font-size: 13px }
  .sun_footer .footer_copy_line { max-width: 65px }
}
@media screen and (max-width:760px) {
  .webBox .wrapper_lines .center_box>div { border-width: 0 0 0 1px }
}
@media screen and (max-width:550px) {
  #search_box form { right: 2%; bottom: -35px }
  #footer_btn { right: 0; bottom: 30px }
  #footer_btn a { margin: 0 10px; line-height: 35px }
  #footer_btn a.gotop { right: 0; bottom: 0 }
}
@media screen and (max-width:480px) {
  .sun_footer .footer_sun { top: 22px; right: 10%; width: 115px }
  .sun_footer #f_info { padding: 110px 0 120px }
  .sun_footer #flogo { gap: 18px; }
  .sun_footer .footer_logo a { max-width: 270px }
  .sun_footer .footer_brand_slogan { font-size: 15px }
  .sun_footer .footer_panel { padding: 22px 20px 25px; border-radius: 20px }
  .sun_footer .footer_panel_title { font-size: 26px }
  .sun_footer .footer_contact_row { gap: 10px; padding: 13px 0; }
  .sun_footer .footer_contact_icon { flex-basis: 40px; width: 40px; height: 38px; border-radius: 10px }
  .sun_footer .footer_contact_icon svg { width: 23px; height: 23px }
  .sun_footer .footer_contact_txt { font-size: 14px }
  .sun_footer .footer_line_txt { gap: 8px }
  .sun_footer .footer_line_btn { min-height: 34px; padding: 5px 11px; font-size: 12px }
  .sun_footer .footer_nav_links { grid-template-columns: minmax(0,1fr) }
  .sun_footer .footer_nav_link { min-height: 51px; padding: 6px 3px; font-size: 16px }
  .sun_footer .footer_nav_icon { flex-basis: 31px; width: 31px }
  .sun_footer .footer_bottom_wave { top: -89px; height: 90px }
  .sun_footer .footer_bottom_inner { gap: 10px }
  .sun_footer .footer_copy_content { font-size: 12px; letter-spacing: 0 }
  .sun_footer .footer_copy_line { max-width: 30px }
}
@media screen and (min-width:1441px) {
  .workframe { width: var(--width-xxl) }
}
@media screen and (min-width:1281px) {
  .more_btn:hover:before { -webkit-transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,180deg) translate3d(0,-100%,0); transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,180deg) translate3d(0,-100%,0) }
}
@media (prefers-reduced-motion:reduce) {
  .sun_btn_line,.sun_btn_line:after { animation: none }
  .sun_btn,.sun_btn_arrow,.offer_line_icon { transition: none }
  .sun_footer .footer_nav_link,.sun_footer .footer_nav_icon,.sun_footer .footer_nav_icon svg,.sun_footer .footer_nav_arrow,.sun_footer .footer_line_btn,.sun_footer .footer_line_btn span:last-child { transition: none }
  .sun_footer .footer_nav_link:hover .footer_nav_icon svg { transform: none }
}
