@charset "utf-8";
html{
	margin: 0;
	height: 100%;
}
body {
	margin: 0;
	height: 100%; 
	font-family: "Noto Sans TC" , "Noto Sans" , "Microsoft JhengHei", Arial, Helvetica;
	font-size:16px;
	color:var(--font-color);
	letter-spacing: 0.05em;
	line-height: 1.5;
}
a {
	color: var(--font-color);
	text-decoration: none;
}
a:hover {
	color: var(--font-color2);
	text-decoration: none;
}
h1{
	font-size: 32px;
}
h2{
	font-size: 28px;
}
h3{
	font-size: 24px;
}
h4{
	font-size: 20px;
}
h5{
	font-size: 18px;
}
h1, h2, h3, h4, h5, p{
	margin-bottom:0;
}
p{
	line-height: 1.7;
}
button {
    border: 0;
    background-color: transparent;
}
input, textarea{
    box-shadow: none;
    -webkit-appearance: none;  /* Safari*/
    -moz-appearance: none;     /* FireFox */
    appearance: none;
}
input:focus, textarea:focus{
    outline: none !important;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{
    color: var(--font-color3) !important;
}
input::-moz-placeholder, textarea::-moz-placeholder{
    color: var(--font-color3) !important;
}
input:-ms-input-placeholder, textarea::-ms-input-placeholder{
    color: var(--font-color3) !important;
}
select{
	font-size: 1rem;
}
select:focus{
    outline: none !important;
}
.bg {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.bg img {
	display: none;
}
.font_bold{
	font-weight: 600;
}
.font_pre{
    white-space: pre-line;
}
.row{
	margin-left: -16px;
	margin-right: -16px;
}
.row>*{
	padding-left: 16px;
	padding-right: 16px;
}
.my_container{
	max-width: 1920px;
    padding-right: 48px;
    padding-left: 48px;
    margin-left: auto;
    margin-right: auto;
}
.my_container_s{
	max-width: 1696px;
    padding-right: 48px;
    padding-left: 48px;
    margin-left: auto;
    margin-right: auto;
}
.article_container{
	max-width: 892px;
    padding-right: 16px;
    padding-left: 16px;
    margin-left: auto;
    margin-right: auto;
}
main{
	min-height: calc(100vh - 490px);
}
.show_model{
    padding: 64px 0;
}
.block_pt{
    padding-top: 100px;
}
.block_pb{
    padding-bottom: 100px;
}
.main_pt{
    padding-top: 200px;
}
/*標題*/
.block_title{
    margin-bottom: 48px;
}
.block_title.center{
    text-align: center;
}
.block_title h2{
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
}
.block_title h2::after{
    content: "";
    display: block;
    height: 2px;
    width: 52px;
    background-color: var(--main-color);
    border-radius: 2px;
    margin-left: 16px;
}
.block_title.center h2{
    justify-content: center;
}
.block_title.center h2::after{
    display: none;
}
.block_title .en{
    font-size: 48px;
    font-weight: 600;
    line-height: 1.3;
}
.block_title.center .en{
    display: flex;
    align-items: center;
    justify-content: center;
}
.block_title.center .en::before{
    content: "";
    width: 28px;
    height: 48px;
    margin-right: 16px;
    background-image: url(../img/block-title-line-left.png);
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-2px);
}
.block_title.center .en::after{
    content: "";
    width: 28px;
    height: 48px;
    background-image: url(../img/block-title-line-right.png);
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 16px;
    transform: translateY(-2px);
}
/*頁面標題*/
.page_title_box{
    position: relative;
    height: 450px;
    background-image: url(../img/page-title-bg.jpg);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 120px;
}
.page_title_box .my_container_s{
    height: 100%;
}
.page_title{
    width: 50%;
    height: 100%;
    background-image: url(../img/page-title-hexagon.png);
    background-repeat: no-repeat;
    background-position: top 30px right 54px;
    padding-top: 100px;
}
.page_title h1{
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
}
.page_title h1::after{
    content: "";
    display: block;
    height: 2px;
    width: 52px;
    background-color: var(--main-color);
    border-radius: 2px;
    margin-left: 16px;
}
.page_title .en{
    font-size: 80px;
    line-height: 1.2;
    font-weight: 700;
}
.page_title_img{
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 120px;
}
.page_title_img img{
    width: 100%;
    max-width: 500px;
    margin-top: 16px;
}
/*麵包屑*/
.breadcrumb_box{
    margin-top: 24px;
    margin-bottom: 64px;
    font-size: 15px;
}
.breadcrumb-item a{
    color: var(--font-color2);
}
.breadcrumb-item.active a{
    color: var(--font-color);
}
/*更多連結*/
.more_link_box{
    margin-top: 40px;
}
.more_link{
    display: flex;
    align-items: center;
    height: 60px;
    border-radius: 60px;
    width: 250px;
    background-color: var(--font-color);
    transition: all .2s;
}
.more_link .txt{
    padding: 0 32px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    flex: 1;
}
.more_link_circle{
    height: 48px;
    width: 48px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
}
.more_link_circle img{
    width: 32px;
}
.more_link:hover{
    background-color: var(--second-color);
    box-shadow: 2px 2px 15px rgb(0 0 0 / 10%);
    transform: scale(1.05);
}
/*載入動畫*/
#loading{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-color);
    z-index: 2000;
    overflow: hidden;
}
.loader span{
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    background: linear-gradient(0deg, rgb(120, 199, 189, .2), var(--main-color) 100%);
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}
.loader span::after {
    content: '';  
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--bg-color);
}
@keyframes rotation {
    0% { transform: rotate(0deg) }
    100% { transform: rotate(360deg)}
}
/*彈窗-簡易*/
.simple_modal .modal-dialog{
    max-width: 400px;
}
.simple_modal .modal-content{
    border-radius: 16px;
    border: none;
}
.simple_modal .modal-body{
    padding: 20px 24px 24px 24px;
}
.simple_modal .modal-body .title{
    text-align: center;
    font-weight: 600;
    font-size: 18px;
}
.simple_modal .modal-footer{
    padding: 0 16px 24px 16px;
    border-top: none;
    justify-content: center;
}
.simple_modal .modal-footer>*{
    margin: 0;
}
.simple_modal .modal-footer>.two_btn{
    margin-bottom: -8px;
}
.simple_modal .modal-footer .btn+.btn{
    margin-left: 16px;
}
.message_modal_content{
    text-align: center;
}
/*吐司*/
.my_toast{
    position: fixed;
    top: 30%;
    right: calc(50% - 200px);
    z-index: 1010;
}
.my_toast .toast{
    position: relative;
    background-color: rgb(0 0 0 / 90%);
    color: #fff;
    width: 400px;
    border: none;
    box-shadow: 0 6px 30px rgb(0 0 0 / 25%);
    border-radius: 4px;
}
.my_toast .toast-body {
    padding: 40px 24px 40px 24px;
    max-width: 100%;
    text-align: center;
}
.my_toast .btn-close {
    position: absolute;
    right: 16px;
    top: 16px;
    width: 40px;
    height: 40px;
    padding: 0;
    margin-right: 0;
    color: #fff;
    font-size: 40px;
    background-image: none;
    opacity: 1;
}
.my_toast .btn-close i {
    display: flex;
    justify-content: center;
}
.my_toast .btn-close:hover {
    opacity: 1;
}
.my_toast .btn-close:focus {
    box-shadow: none;
}
.my_toast .toast_icon img{
    width: 52px;
}
.my_toast .toast_txt{
	font-size: 1rem;
}
/*燈箱*/
.fancybox_img{
    width: 300px;
}
.fancybox_img img {
    width: 100%;
}
.fancybox_video{
    width: 600px;
    position: relative;
}
.fancybox_video .bg{
    padding-bottom: 56%;
}
.fancybox_video_cover{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 15%);
    display: flex;
    align-items: center;
    justify-content: center;
}
.fancybox_video_cover img{
    width: 60px;
}
/*分享列*/
.share_list_box{
    display: flex;
    align-items: center;
    margin-top: 24px;
}
.share_list_box p{
    margin-right: 12px;
    font-size: 14px;
    color: var(--font-color2);
}
.share_list{
    display: flex;
    align-items: center;
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}
.share_item{
    width: 32px;
}
.share_item img{
    width: 100%;
}
.share_item+.share_item{
    margin-left: 12px;
}
.copy_link{
    cursor: pointer;
}
/*header*/
.page_header{
	position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    transition: all .5s;
    z-index: 1002;
}
.header_box{
	display: flex;
	margin-left: -16px;
	margin-right: -16px;
	height: 120px;
    transition: all .5s;
}
.header_box>*{
	padding-left: 16px;
	padding-right: 16px;
	height: 100%;
}
.header_logo {
	width: fit-content;
}
.header_logo a {
	display: flex;
	align-items: center;
	height: 100%;
}
.header_logo a img{
	height: 88px;
    transition: all .5s;
}
.header_nav{
	flex: 1;
}
.header_nav .nav{
    justify-content: flex-end;
	height: 100%;
}
.header_nav .nav-item{
	display: flex;
	align-items: center;
}
.header_nav .nav-item+.nav-item{
    margin-left: 48px;
}
.header_nav .nav-link{
	height: 100%;
	display: flex;
	align-items: center;
    padding: 0;
	color: var(--font-color);
    font-size: 18px;
    font-weight: 500;
    position: relative;
    cursor: pointer;
}
.header_nav .nav-link.contact{
    padding: 0 40px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main-color);
    border-radius: 46px;
    color: #fff;
}
.header_nav .nav-link.active{
	color: var(--main-color);
    font-weight: 600;
}
.header_nav .nav-link:not(.contact)::before{
    content: "";
    position: absolute;
    width: 28px;
    height: 0;
    top: 0;
    left: 50%;
    background-image: url(../img/menu-hover.svg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
    transition: all .5s;
}
.header_nav .nav-link.active:not(.contact)::before{
    height: 39px;
}
.header_nav .nav-link:not(.contact):hover{
    color: var(--main-color);
    font-weight: 600;
}
.header_nav .nav-link.contact:hover{
    background-color: var(--second-color);
}
.header_nav .nav-item.dropdown:hover .dropdown-menu{
    display: block;
}
.header_nav .nav-item .dropdown-menu{
    border: none;
    padding-top: 2px;
    border-radius: 0;
    background-color: transparent;
    top: 100px;
}
.header_nav .nav-item .dropdown-menu ul{
    background-color: #F1FCFA;
    border-radius: 16px;
    box-shadow: 0px 4px 20px 1px rgb(60 142 169 / 15%);
    padding: 24px;
    list-style: none;
    margin-bottom: 0;
    margin-left: -40px;
}
.header_nav .nav-item .dropdown-menu ul .dropdown-item{
    padding: 8px 16px;
    position: relative;
}
.header_nav .nav-item .dropdown-menu ul .dropdown-item::before{
    content: "";
    width: 16px;
    height: 16px;
    background-image: url(../img/footer-link-icon.png);
    background-repeat: no-repeat;
    background-position: left top;
    position: absolute;
    left: -8px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: all .2s;
}
.header_nav .nav-item .dropdown-menu ul .dropdown-item:hover, 
.header_nav .nav-item .dropdown-menu ul .dropdown-item:focus{
    background-color: transparent;
    color: var(--second-color);
}
.header_nav .nav-item .dropdown-menu ul .dropdown-item:hover::before, 
.header_nav .nav-item .dropdown-menu ul .dropdown-item:focus::before{
    opacity: 1;
}
.header_right{
	width: 520px;
}
.header_right .nav{
	justify-content: flex-end;
	align-items: center;
	height: 100%;
	margin-left: -12px;
	margin-right: -12px;
}
.header_right .nav>*{
	padding-left: 12px;
	padding-right: 12px;
}
.header_right .nav .icon_button{
    padding: 0;
    font-size: 20px;
    border-radius: 0;
    border: none;
}
.header_right .nav .icon_button:focus{
    box-shadow: none;
}
.mobile_menu_btn{
    display: none;
}
.mobile_menu_btn .btn{
    position: relative;
    padding: 0;
    width: 20px;
    height: 20px;
}
.mobile_menu_btn .btn:focus{
    box-shadow: none;
}
.mobile_menu_btn .btn>div{
    width: 24px;
    margin: 0 auto;
    height: 2px;
    border-radius: 2px;
    background-color: #fff;
    transition: all .2s;
}
.mobile_menu_btn .btn>div:nth-child(1){
    position: absolute;
    width: 24px;
    top: 16px;
    left: 12px;
}
.mobile_menu_btn .btn>div:last-child{
    position: absolute;
    width: 24px;
    bottom: 16px;
    left: 12px;
}
.mobile_menu_btn.active .btn>div:nth-child(2){
    width: 0;
}
.mobile_menu_btn.active .btn>div:nth-child(1){
    -moz-transform:rotate(45deg);
    -webkit-transform:rotate(45deg);
    -o-transform:rotate(45deg);
    -ms-transform:rotate(45deg);
    transform:rotate(45deg);
    top: 24px;
}
.mobile_menu_btn.active .btn>div:last-child{
    -moz-transform:rotate(-45deg);
    -webkit-transform:rotate(-45deg);
    -o-transform:rotate(-45deg);
    -ms-transform:rotate(-45deg);
    transform:rotate(-45deg);
    bottom: auto;
    top: 24px;
}
.header_search{
	display: flex;
	align-items: center;
	border: solid 1px var(--main-color);
	border-radius: 4px;
}
.header_search input, .header_search select{
	border: none;
	height: 40px;
	font-size: 1rem;
	color: var(--font-color);
}
.header_search input:focus, .header_search select:focus{
	box-shadow: none;
}
.header_search .form-select{
	width: 120px;
}
.header_search input.form-control{
	flex: 1;
}
.header_search .btn{
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
    background-color: #fff;
    border-radius: 0 4px 4px 0;
}
.mobile_btn{
	display: none;
}
.under_page_header{
	height: 0;
}
.page_header.zoom{
    background-color: rgba( 255, 255, 255, 0.7 );
    backdrop-filter: blur( 4px );
    -webkit-backdrop-filter: blur( 4px );
}
.page_header.zoom .header_box{
	height: 80px;
}
.page_header.zoom .header_logo a img{
	height: 64px;
}
.page_header.zoom .header_nav .nav-link:not(.contact)::before{
    top: -20px;
}
.page_header.zoom .header_nav .nav-item .dropdown-menu{
    top: 80px;
}
/*手機版選單*/
.mobile_sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    background-color: #fff;
    width: 100%;
    height: 0px;
    overflow: hidden;
    background: rgba( 255, 255, 255, 0.7);
    backdrop-filter: blur( 4px );
    -webkit-backdrop-filter: blur( 4px );
}
.mobile_sidebar_list{
	padding: 0 0 12px 0;
    list-style: none;
    overflow-y: auto;
    height: calc(100vh - 88px);
    margin-top: 88px;
}
.mobile_sidebar_list>li>a{
	display: block;
    padding: 16px;
    font-weight: 500;
    border-bottom: dashed 1px var(--main-color);
    margin: 0 16px;
}
.mobile_sidebar_dropdown_btn {
    position: absolute;
    right: 8px;
    top: 0;
    height: 57px;
    width: 50%;
    text-align: right;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.mobile_sidebar_dropdown_btn img{
    width: 16px;
    transition: all .2s;
}
.mobile_sidebar_list_lv2{
    display: none;
}
.mobile_sidebar_list li.dropdown.active>a{
    background-color: rgba(232, 250, 247, 0.6);
}
.mobile_sidebar_list li.dropdown.active .mobile_sidebar_dropdown_btn img {
    transform: rotate(180deg);
}
.mobile_sidebar_list li.dropdown.active .mobile_sidebar_list_lv2{
    display: block;
}
.mobile_sidebar_list_lv2 ul{
    list-style: none;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 0;
    margin-left: 24px;
    margin-right: 24px;
    margin-bottom: 16px;
}
.mobile_sidebar_list_lv2 .dropdown-item{
    padding: 12px 24px;
    border-bottom: solid 1px var(--border-color);
}
.mobile_sidebar_list_lv2 .dropdown-item:hover,
.mobile_sidebar_list_lv2 .dropdown-item:focus,
.mobile_sidebar_list_lv2 .dropdown-item:active{
    background-color: transparent;
    color: var(--font-color);
}
/*手機版搜尋*/
.mobile_search {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1003;
    background-color: var(--main-color);
    width: 100%;
    height: 0px;
    overflow: hidden;
}
.mobile_search_group {
    display: flex;
}
.mobile_search_group .form-select {
    margin-top: 15px;
    padding: 0 12px;
    line-height: 42px;
    border: none;
    height: 42px;
    width: 140px;
    color: #fff;
    box-shadow: none !important;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: url(../img/arrow-down.svg) no-repeat right center transparent;
    background-color: transparent;
    background-size: 16px;
    background-position: right 12px center;
}
.mobile_search_input {
    flex: 1;
    background-color: transparent;
    border: none;
    height: 42px;
    margin-top: 15px;
    padding: 0 40px 0 0;
    line-height: 42px;
    color: #fff;
}
.mobile_search_input:focus{
    background-color: transparent;
    color: #fff;
	box-shadow: none;
}
.mobile_search_input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{
    color: var(--font-color4) !important;
}
.mobile_search_input::-moz-placeholder, textarea::-moz-placeholder{
    color: var(--font-color4) !important;
}
.mobile_search_input:-ms-input-placeholder, textarea::-ms-input-placeholder{
    color: var(--font-color4) !important;
}
.close_mobile_search{
    display: flex;
    position: absolute;
    right: 16px;
    top: 16px;
}
.close_mobile_search .btn{
    border: none;
    color: #fff;
    height: 36px;
    width: 36px;
    font-size: 32px;
    padding: 0;
    background-color: var(--main-color);
}
.close_mobile_search .btn i{
    display: flex;
    justify-content: center;
}
.go_mobile_search{
    display: flex;
    position: absolute;
    right: 16px;
    top: 16px;
}
.go_mobile_search .btn{
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    height: 42px;
    width: 42px;
    font-size: 20px;
    padding: 0;
    background-color: var(--main-color);
}
.go_mobile_search.show{
    z-index: 1002;
}
/*搜尋*/
.search_offcanvas{
    height: 100vh;
    border-bottom: none;
    background-color: rgb(255, 255, 255, .9);
}
.search_offcanvas .my_container{
    flex: 1;
}
.search_offcanvas.show~.offcanvas-backdrop{
    background-color: transparent;
}
.search_offcanvas .offcanvas-header{
    height: 80px;
    justify-content: end;
}
.search_offcanvas .offcanvas-header .btn-close:focus{
    box-shadow: none;
}
.search_title{
    text-align: center;
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--font-color);
}
.search_offcanvas .offcanvas-body {
    height: calc(100% - 80px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 128px;
}
.search_offcanvas_content{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
.hot_search{
    margin-top: 24px;
}
.hot_search_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-left: -12px;
    margin-right: -12px;
}
.hot_search_item{
    padding-left: 12px;
    padding-right: 12px;
    font-size: 14px;
}
.hot_search_item a{ 
    border-bottom: solid 1px var(--font-color2);
}
/*footer*/
.page_footer{
    padding-top: 100px;
    padding-bottom: 48px;
}
.footer_logo{
    margin-bottom: 24px;
}
.footer_logo img{
    height: 72px;
}
.page_footer a, .page_footer a:hover{
    color: var(--font-color);
}
.office_info_list {
    list-style: none;
    padding: 0;
    margin-top: 24px;
    margin-bottom: 0;
}
.office_info_item{
    display: flex;
}
.office_info_title{
    word-break: keep-all;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
}
.office_info_item+.office_info_item {
    margin-top: 16px;
}
.office_info_icon{
    margin-right: 8px;
}
.office_info_icon img{
    width: 20px;
}
.footer_right{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.footer_nav .nav{
    margin-left: -12px;
    margin-right: -12px;
    margin-top: -16px;
    flex-wrap: wrap;
}
.footer_nav li{
    padding-bottom: 16px;
    padding-left: 12px;
    padding-right: 16px;
}
.footer_nav li{
    padding: 16px 0 0 0;
}
.footer_nav li a{
    padding: 0 12px;
}
.footer_nav_group{
    display: flex;
    margin-left: -24px;
    margin-right: -24px;
}
.footer_nav_list {
    flex: 1;
    padding-left: 24px;
    padding-right: 24px;
}
.footer_nav_title {
    position: relative;
    font-size: 20px;
    margin-bottom: 16px;
    border-bottom: solid 2px #fff;
    padding-bottom: 4px;
}
.footer_nav_title::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -2px;
    height: 2px;
    width: 20%;
    background-color: var(--main-color-dark);
}
.footer_nav.onenav .nav{
    justify-content: flex-end;
    margin-left: 0;
    margin-right: 0;
}
.footer_nav.onenav li+li{
    margin-left: 32px;
}
.footer_nav.onenav .nav-link{
    display: flex;
    align-items: center;
}
.footer_nav.onenav .nav-link::before{
    content: "";
    width: 16px;
    height: 16px;
    background-image: url(../img/footer-link-icon.png);
    background-repeat: no-repeat;
    background-position: left top;
    margin-right: 8px;
}
.footer_nav.onenav .nav-link:hover::before{
    color: var(--font-color);
    background-position: left bottom;
}
.footer_line{
    border-top: solid 1px var(--main-color);
    margin-top: 32px;
    margin-bottom: 24px;
}
.footer_row_bottom .footer_copyright{
    text-align: right;
}
.footer_row_bottom .statement .nav{
    justify-content: flex-end;
}
.footer_row_bottom .statement .nav a{
    padding: 0 16px;
}
.footer_copyright{
    text-align: center;
}
.office_info+.footer_social{
    justify-content: flex-start;
    margin-top: 24px;
}
.footer_social{
    display: flex;
    justify-content: flex-end;
}
.footer_social .nav-item:not(:first-child){
    margin-left: 24px;
}
.footer_social .nav-link{
    width: 48px;
    padding: 0;
}
.footer_social .nav-link img{
    width: 100%;
}
.footer_subscribe{
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 40px;
    max-width: 650px;
}
.footer_subscribe h4{
    margin-bottom: 16px;
    text-align: center;
}
.subscribe_input_group{
    display: flex;
}
.subscribe_input_group>div+div{
    margin-left: 8px;
}
.subscribe_input_group>div:first-child{
    width: 140px;
}
.subscribe_input_group>div:nth-child(2){
    flex: 1;
}
.subscribe_input_group .my_input_color{
    color: #fff;
}
.subscribe_input_group .my_input_color::-webkit-input-placeholder{
    color: #f1f1f1 !important;
}
.subscribe_input_group .my_input_color::-moz-placeholder {
    color: #f1f1f1 !important;
}
.subscribe_input_group .my_input_color:-ms-input-placeholder{
    color: #f1f1f1 !important;
}
/*按鈕並排*/
.two_btn{
	display: flex;
	margin-left: -12px;
	margin-right: -12px;
	margin-bottom: -8px;
}
.two_btn>div{
	padding-left: 12px;
	padding-right: 12px;
	padding-bottom: 8px;
}
/*按鈕-實心*/
.maincolor_btn{
	border: none;
	background-color: var(--main-color);
	font-size: 1rem;
	font-weight: 500;
	height: 60px;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	border-radius: 4px;
    min-width: 200px;
    transition: all .2s;
}
.maincolor_btn:hover, .maincolor_btn:focus{
	border: none;
	background-color: var(--second-color);
    box-shadow: 2px 2px 15px rgb(0 0 0 / 10%);
	color: #fff;
    transform: scale(1.05);
}
.maincolor_btn.radius{
	border-radius: 60px;
}
/*按鈕-實心-xs*/
.maincolor_btn_xs{
	border: solid 1px var(--main-color);
	background-color: var(--main-color);
	font-size: 1rem;
	font-weight: 500;
	height: 48px;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	border-radius: 8px;
    min-width: 100px;
    transition: all .2s;
}
.maincolor_btn_xs:hover, .maincolor_btn_xs:focus{
	border: none;
	background-color: var(--second-color);
	color: #fff;
	box-shadow: none;
}
.maincolor_btn_xs.radius{
	border-radius: 40px;
}
/*按鈕-框線*/
.maincolor_border_btn{
	border: solid 1px var(--main-color);
	background-color: #fff;
	font-size: 1rem;
	font-weight: 500;
	height: 60px;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--main-color);
	border-radius: 8px;
    min-width: 200px;
    transition: all .2s;
}
.maincolor_border_btn:hover, .maincolor_border_btn:focus{
	border: solid 1px var(--main-color);
	color: var(--main-color);
    background-color: var(--main-color2);
    box-shadow: 2px 2px 10px rgb(120, 199, 189, .25);
}
.maincolor_border_btn.radius{
	border-radius: 60px;
}
/*按鈕-框線-xs*/
.maincolor_border_btn_xs{
	border: solid 1px var(--main-color);
	background-color: #fff;
	font-size: 1rem;
	font-weight: 500;
	height: 48px;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--main-color);
	border-radius: 8px;
    min-width: 100px;
    transition: all .2s;
}
.maincolor_border_btn_xs:hover, .maincolor_border_btn_xs:focus{
	border: solid 1px var(--main-color);
	color: var(--main-color);
    background-color: var(--main-color2);
    box-shadow: 2px 2px 10px rgb(120, 199, 189, .25);
}
.maincolor_border_btn_xs.radius{
	border-radius: 40px;
}
/*純文字按鈕*/
.txt_btn{
	padding: 0;
	border: none;
	color: var(--font-color);
    border-radius: 0;
}
.txt_btn:hover, .txt_btn:focus{
	color: var(--main-color);
	box-shadow: none;
}
/*文字連結*/
a.main_color {
	color: var(--main-color);
	border-bottom: solid 1px var(--main-color);
}
a.main_color:hover{
	color: var(--border-color);
	border-bottom: solid 1px var(--border-color);
}
/*輸入框空值題示*/
.data_validate .my_input, .data_validate .my_textarea, .data_validate .my_select,
.data_validate .my_input:hover, .data_validate .my_textarea:hover, .data_validate .my_select:hover{
	border: solid 1px var(--red-color);
    padding: 8px 16px;
}
.data_validate::after{
    display: block;
	margin-left: 16px;
    padding-top: 8px;
    content: attr(data-validate);
    font-size: 14px;
    color: var(--red-color);
}
/*單行輸入框*/
.my_input{
    border: solid 1px var(--border-color);
    border-radius: 8px;
    height: 48px;
    padding: 8px 16px;
    background-color: #fff;
    font-size: 1rem;
    color: var(--font-color);
    transition: all .2s;
}
.my_input:hover, .my_input:focus{
	border: solid 1px var(--main-color);
	box-shadow: 2px 2px 10px rgb(120, 199, 189, .25);
}
.my_input:read-only{
    background-color: rgb(255 255 255 / 70%);
}
.my_input:read-only:hover, .my_input:read-only:focus{
    border: solid 1px var(--border-color);
}
.my_input:disabled{
    background-color: #f5f5f5;
}
.my_input:disabled:hover, .my_input:read-only, .my_input:disabled:focus{
    box-shadow:none;
}
/*模糊搜尋輸入框*/
.my_input.list::-webkit-calendar-picker-indicator {
    opacity: 0;
    cursor: pointer;
}
/*單行輸入框-主色框*/
.my_input_color{
    border: solid 1px var(--main-color);
    border-radius: 4px;
    height: 48px;
    background-color: rgb(255 255 255 / 30%);
    font-size: 1rem;
    color: var(--font-color);
    transition: all .2s;
}
.my_input_color:hover, .my_input_color:focus{
    border: solid 1px var(--main-color);
    background-color: rgb(255 255 255 / 40%);
	box-shadow: 1px 1px 6px rgb(0 0 0 / 15%);
}
/*多行輸入框*/
.my_textarea{
    border: solid 1px var(--border-color);
    border-radius: 8px;
    background-color: #fff;
    font-size: 1rem;
    padding: 8px 16px;
    color: var(--font-color);
    transition: all .2s;
}
.my_textarea:hover, .my_textarea:focus{
	border: solid 1px var(--main-color);
	box-shadow: 2px 2px 10px rgb(120, 199, 189, .25);
    min-height: 100px;
}
.my_textarea:disabled{
    background-color: #f5f5f5;
    resize:none;
}
.my_textarea:disabled:hover, .my_textarea:disabled:focus{
    box-shadow:none;
}
/*下拉*/
.my_select{
    border: solid 1px var(--border-color);
    border-radius: 8px;
    height: 48px;
    padding: 8px 16px;
    background-color: #fff;
    font-size: 1rem;
    color: var(--font-color);
    min-width: 100px;
    appearance: none;
    background-image: url(../img/icon/arrow-down.svg);
    background-repeat: no-repeat;
    background-position: right 0.7rem center;
    background-size: 16px;
    transition: all .2s;
}
.my_select:hover, .my_select:focus{
	border: solid 1px var(--main-color);
	box-shadow: 2px 2px 10px rgb(120, 199, 189, .25);
}
.my_select:disabled{
    background-color: #f5f5f5;
}
.my_select:disabled:hover, .my_select:disabled:focus{
    box-shadow:none;
}
/*checkbox*/
.my_checkbox{
    display: flex;
}
.my_checkbox .form-check-input{
    border-radius: 4px;
    height: 18px;
    width: 18px;
    border-color: var(--font-color2);
    margin-right: 0;
    margin-top: 3px;
}
.my_checkbox .form-check-input:focus {
    border-color: var(--font-color2);
    box-shadow: none;
}
.my_checkbox .form-check-input:checked {
    background-color: var(--main-color);
    border-color: var(--main-color);
}
.my_checkbox .form-check-input:checked:focus {
    border-color: var(--main-color);
}
.my_checkbox .form-check-label{
    padding-left: 8px;
}
/*radio*/
.my_radio{
    display: flex;
}
.my_radio .form-check-input{
    height: 18px;
    width: 18px;
    border-color: var(--font-color2);
    margin-right: 0;
    margin-top: 3px;
}
.my_radio .form-check-input:focus {
    border-color: var(--font-color2);
    box-shadow: none;
}
.my_radio .form-check-input:checked {
    background-color: var(--main-color);
    border-color: var(--main-color);
}
.my_radio .form-check-input:checked:focus {
    border-color: var(--main-color);
}
.my_radio .form-check-label{
    padding-left: 8px;
}
/*checkbox或radio多項目*/
.form_check_group{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -16px;
}
.form_check_group .my_checkbox, .form_check_group .my_radio{
    margin-bottom: 16px;
    margin-right: 40px;
}
/*數量加減*/
.product_count_btn {
    display: flex;
    border: solid 1px var(--border-color);
    border-radius: 4px;
    width: fit-content;
    overflow: hidden;
}
.count_dash .btn, .count_plus .btn {
    padding: 0;
    width: 36px;
    height: 36px;
    font-size: 14px;
    border-radius: 0;
}
.count_dash .btn:hover, .count_plus .btn:hover {
    background-color: var(--bg-color);
}
.count_dash .btn:focus, .count_plus .btn:focus {
    box-shadow: none;
}
.count_number {
    width: 80px;
    height: 36px;
    line-height: 36px;
    overflow: hidden;
    text-align: center;
    border: none;
    border-left: solid 1px var(--border-color);
    border-right: solid 1px var(--border-color);
}
/*日曆*/
.ui-datepicker {
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 8px;
    border: solid 1px var(--border-color);
    border-radius: 4px;
    background-color: #fff;
    font-size: 14px;
    display: none;
}
.ui-datepicker-header {
    position: relative;
}
.ui-datepicker-prev {
    position: absolute;
    left: 8px;
    top: 10px;
    font-size: 16px;
    cursor: pointer;
}
.ui-datepicker-next {
    position: absolute;
    right: 8px;
    top: 10px;
    font-size: 16px;
    cursor: pointer;
}
.ui-datepicker-title {
    text-align: center;
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: solid 1px var(--border-color);
}
.ui-datepicker-year{
    margin-right: 4px;
    border-radius: 4px;
    background-color: #fff;
    border: solid 1px var(--border-color);
}
.ui-datepicker-month{
    margin-left: 8px;
}
.ui-datepicker-calendar th {
    padding: 8px 8px 4px 8px;
}
.ui-datepicker-calendar td a {
    display: block;
    padding: 4px 8px;
    text-align: center;
}
/*表單*/
.my_form{
    margin-top: -24px;
}
.my_form_row{
    padding-top: 24px;
}
.my_form_row .form-label{
    margin-bottom: 8px;
}
.my_form_row .form-label .red{
    color: var(--red-color);
    margin-right: 4px;
    position: relative;
    top: 2px;
}
.my_form_btn{
    padding-top: 24px;
    text-align: right;
}
.my_form_btn .btn{
    margin-left: auto;
}
.my_form_btn .two_btn{
    justify-content: flex-end;
}
.my_form .txt_btn{
    color: var(--main-color);
    border-bottom: solid 1px var(--main-color);
}
.my_city_select{
    margin-bottom: -8px;
    margin-left: -8px;
    margin-right: -8px;
}
.my_city_select>div{
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 8px;
}
.my_city_select>div .my_input, .my_city_select>div .my_select{
    width: 100%;
    max-width: 100%;
}
.error_msg{
    margin-top: 16px;
    color: var(--red-color);
}
.input_group{
    display: flex;
    margin-left: -4px;
    margin-right: -4px;
}
.input_group_item{
    padding-left: 4px;
    padding-right: 4px;
}
/*文章列表*/
.article_card_list{
    margin-bottom: -32px;
}
.article_card_item{
    padding-bottom: 32px;
}
/*文章列表頁數*/
.page_box{
    margin-top: 48px;
}
.page_box .pagination{
    justify-content: center;
    flex-wrap: wrap;
    margin-left: -4px;
    margin-right: -4px;
    margin-bottom: -8px;
}
.page_box .page-item{
    padding-left: 4px;
    padding-right: 4px;
    padding-bottom: 8px;
}
.page_box .page-link{
    border: none;
    color: var(--main-color);
    margin: 0 !important;
    padding: 0 12px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: none;
}
.page_box .page-link:hover, .page_box .page-link:focus{
    border: none;
    background-color: var(--main-color2);
}
.page_box .page-item.active .page-link{
    color: #fff;
    background-color: var(--main-color);
    border: solid 1px var(--main-color);
}
.page_box .page-item.ellipsis .page-link{
    letter-spacing: 1px;
    border: none;
    padding-bottom: 4px;
}
.page_box .page-item.ellipsis .page-link:hover{
    background-color: #fff;
}
.page_box .page-item:first-child .page-link,
.page_box .page-item:last-child .page-link{
    border-radius: 50%;
    padding: 0;
}
.page_box .page-item:first-child .page-link img,
.page_box .page-item:last-child .page-link img{
    width: 24px;
}
/*文章卡片*/
.article_card{
    display: block;
    box-shadow: 1px 1px 4px rgb(0 0 0 / 10%);
    border-radius: 8px;
    overflow: hidden;
    background-color: #fff;
    transition: all .2s;
    padding-bottom: 16px;
}
.article_card:hover{
    box-shadow: 2px 2px 10px rgb(0 0 0 / 15%);
}
.article_card_img{
    width: 100%;
}
.article_card_img .bg{
    padding-bottom: 64%;
}
.article_card_body {
    padding: 12px 16px 0 16px;
}
.article_card_title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-all;
    margin-bottom: 8px;
    font-size: 20px;
    font-weight: 600;
}
.article_card_body p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    word-break: break-all;
    color: var(--font-color2);
}
.article_card_info{
    padding-left: 16px;
    padding-right: 16px;
}
.article_card_info .article_info{
    margin-top: 12px;
}
.article_card .article_info{
    text-align: center;
}
.article_info{
    color: var(--font-color2);
    font-size: 15px;
    display: flex;
    flex-wrap: wrap;
}
.article_info span i{
    margin-right: 4px;
}
.article_info span+span::before{
    content: "．";
}
.article_card_info .card_author_info{
    margin-top: 12px;
}
.article_card_keep{
    font-size: 14px;
}
.article_card_keep .count{
    margin-left: 4px;
}
.article_card_keep span+span{
    margin-left: 4px;
}
.article_card_info .article_card_keep{
    margin-top: 12px;
}
.card_author_info{
    display: flex;
    align-items: center;
}
.card_author_info_photo .bg{
    width: 32px;
    height: 32px;
    border-radius: 50%;
}
.card_author_info_name{
    padding-left: 8px;
    font-size: 14px;
    font-weight: 600;
}
a .card_author_info:hover{
    color: var(--main-color);
}
.article_info_box{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
/*文章清單*/
.article_inventory{
    max-width: 700px;
    border-bottom: solid 1px var(--border-color);
    padding-bottom: 16px;
}
.article_inventory_content{
    display: flex;
    flex-wrap: wrap;
}
.article_inventory_img{
    width: 150px;
    padding-top: 4px;
}
.article_inventory_img .bg{
    padding-bottom: 61%;
    border-radius: 4px;
}
.article_inventory_body{
    flex: 1;
    padding-right: 12px;
}
.article_inventory_title{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-all;
    margin-bottom: 8px;
    font-weight: 600;
}
.article_inventory_body p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    word-break: break-all;
    color: var(--font-color2);
}
.article_inventory .article_card_info{
    padding: 0;
}
/*團隊成員卡片*/
.team_list{
    display: flex;
    flex-wrap: wrap;
    margin-left: -24px;
    margin-right: -24px;
    margin-bottom: -72px;
}
.team_item{
    width: 20%;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 72px;
}
.team_card{
    display: block;
}
.team_card_img{
    width: 100%;
    height: 90%;
    overflow: hidden;
    -webkit-mask-image: url(../img/team-member-cover.svg);
    mask-image: url(../img/team-member-cover.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
.team_card_img img{
    width: 100%;
    transition: all .5s;
}
.team_card_img:hover img{
    transform: scale(1.05);
}
.team_card_body{
    margin-top: 16px;
    text-align: center;
}
.team_card_name{
    line-height: 1.5;
    margin-bottom: 8px;
    font-weight: 600;
}
.team_card_title{
    font-weight: 600;
    font-size: 18px;
    color: var(--main-color);
}
/*活動卡片*/
.news_list{
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: -48px;
}
.news_item{
    width: 25%;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 48px;
}
.news_card_img{
    border-radius: 16px;
    overflow: hidden;
}
.news_card_img .bg{
    padding-bottom: 61%;
    border-radius: 16px;
    transition: all .5s;
}
.news_card:hover .news_card_img .bg{
    transform: scale(1.05);
}
.news_card_body{
    text-align: center;
    margin-top: 16px;
}
.news_card_title{
    font-weight: 600;
    font-size: 18px;
}
.news_card_date{
    color: var(--font-color2);
    margin-top: 4px;
    font-size: 14px;
}
/*關鍵字*/
.tag_list{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-left: -12px;
    margin-right: -12px;
    margin-bottom: -8px;
}
.tag_list span{
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 8px;
}
.tag_list span{
    padding-left: 12px;
    padding-right: 12px;
}
.tag_list span.txt{
    padding-right: 0;
}
.tag_link{
    background-color: var(--main-color);
    color: #fff;
    line-height: 24px;
    padding: 0 16px;
    border-radius: 24px;
    display: flex;
}
.tag_link:hover{
    background-color: var(--second-color);
    color: #fff;
}
.tag_link_line{
    color: var(--main-color-dark);
    border-bottom: solid 1px var(--main-color-dark);
}
.tag_link_line:hover{
    color: var(--main-color);
    border-bottom: solid 1px var(--main-color-dark);
}
/*編輯器內容-tiptap*/
.from_tiptap{
    width: 100%;
    max-width: 860px;
}
.from_tiptap p{
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.9px;
    text-align: justify;
}
.from_tiptap h2{
    font-weight: 600;
    margin-bottom: 8px;
}
.from_tiptap h3{
    font-weight: 600;
    margin-bottom: 8px;
}
.from_tiptap h4{
    font-weight: 600;
    margin-bottom: 8px;
}
.from_tiptap img{
    max-width: 100%;
    margin: 4px 0;
}
.from_tiptap ul, ol{
    margin-bottom: 0;
    padding-left: 2em;
}
.from_tiptap li{
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.9px;
    text-align: justify;
}
.from_tiptap li+li{
    margin-top: 8px;
}
.from_tiptap a{
    color: var(--main-color);
    border-bottom: solid 1px var(--main-color);
    word-break: break-all;
}
.from_tiptap blockquote{
    border-left: solid 4px var(--main-color);
    padding: 8px 16px;
    background-color: var(--bg-color);
    color: var(--font-color2);
}
.from_tiptap .tableWrapper{
    overflow: hidden;
    overflow-x: auto;
}
.from_tiptap .tableWrapper table{
    width: 100%;
}
.from_tiptap .tableWrapper th{
    background-color: var(--bg-color);
    border: solid 1px var(--border-color);
    font-weight: 600;
    padding: 12px 16px;
    text-align: center;
}
.from_tiptap .tableWrapper td{
    padding: 12px 16px;
    text-align: center;
    border: solid 1px var(--border-color);
}
/*編輯器內容*/
.from_ckeditor{
    width: 100%;
    max-width: 860px;
}
.from_ckeditor p{
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.9px;
    text-align: justify;
}
.from_ckeditor h2{
    font-weight: 600;
    margin-bottom: 8px;
}
.from_ckeditor h3{
    font-weight: 600;
    margin-bottom: 8px;
}
.from_ckeditor h4{
    font-weight: 600;
    margin-bottom: 8px;
}
.from_ckeditor img{
    max-width: 100%;
    margin: 4px 0;
}
.from_ckeditor .text-small {
    font-size: 14px;
}
.from_ckeditor .text-tiny {
    font-size: 12px;
}
.from_ckeditor ul, ol{
    margin-bottom: 0;
    padding-left: 2em;
}
.from_ckeditor li{
    line-height: 1.8;
    letter-spacing: 0.9px;
}
.from_ckeditor li+li{
    margin-top: 8px;
}
.from_ckeditor a{
    color: var(--main-color);
    border-bottom: solid 1px var(--main-color);
    word-break: break-all;
}
.from_ckeditor blockquote{
    border-left: solid 4px var(--main-color);
    padding: 8px 16px;
    background-color: var(--bg-color);
    color: var(--font-color2);
}
.from_ckeditor .table table{
    width: 100%;
}
.from_ckeditor .table td{
    padding: 12px 16px;
    text-align: center;
    border: solid 1px var(--border-color);
}
/*頁籤-浮誇樣式(限用在3個以內頁籤)*/
.exaggerate_tab{
    border-bottom: none;
    justify-content: center;
    margin-left: -8px;
    margin-right: -8px;
}
.exaggerate_tab .nav-item{
    padding-left: 8px;
    padding-right: 8px;
}
.exaggerate_tab .nav-link{
    margin-bottom: 0;
    border: dashed 2px var(--main-color2);
    padding: 24px 32px;
    border-radius: 16px;
    font-size: 24px;
    font-weight: 600;
    display: flex;
    align-items: center;
    color: var(--font-color2);
}
.exaggerate_tab .nav-link:hover{
    background-color: rgb(232, 250, 247, .6);
    border: dashed 2px var(--main-color);
}
.exaggerate_tab .nav-link.active{
    border: solid 2px var(--main-color);
    background-color: var(--main-color);
    color: #fff;
}
.exaggerate_tabcontent{
    padding-top: 48px;
}
/*table表格*/
.my_table_box{
    overflow-x: auto;
}
.my_table{
    width: 100%;
    min-width: 700px;
    text-align: center;
}
.my_table thead th {
    background-color: var(--main-color);
    color: #fff;
    font-weight: 600;
    padding: 12px 16px;
    text-align: center;
    border: solid 1px var(--border-color);
}
.my_table td {
    padding: 12px 16px;
    text-align: center;
    border: solid 1px var(--border-color);
}
.my_table tbody td:first-child {
    color: var(--main-color);
    background-color: var(--bg-color);
}
/*輪播*/
.swiper_button_box{
    position: relative;
}
.my_container.swiper_button_box{
    margin-right: 48px;
}
.swiper_button_box .swiper-button-next,
.swiper_button_box .swiper-button-prev{
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: solid 2px var(--main-color);
    background-size: 32px;
    background-repeat: no-repeat;
    background-position: center;
    top: 0;
    margin-top: 0;
}
.swiper_button_box .swiper-button-next{
    background-image: url(../img/icon/swiper-right.svg);
    right: 0;
}
.swiper_button_box .swiper-button-prev{
    background-image: url(../img/icon/swiper-left.svg);
    left: auto;
    right: calc(48px + 24px);
}
.swiper_button_box .swiper-button-next::after, 
.swiper_button_box .swiper-button-prev::after {
    display: none;
}
/*商品圖片輪播*/
.product_pic_swiper_2 {
    width: 100%;
}
.product_pic_swiper_2 .swiper-slide{
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.product_pic_swiper_2 .swiper-slide img,
.product_pic_swiper .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product_pic_swiper {
    box-sizing: border-box;
    padding: 10px 0;
}
.product_pic_swiper .swiper-slide {
    width: 20%;
    height: 100%;
}
.product_pic_swiper .swiper-slide .bg img{
    display: none;
}
.product_pic_swiper .swiper-slide .bg{
    padding-bottom: 100%;
}
.product_pic_swiper_2 .swiper-pagination{
    right: 12px;
    left: auto;
    background-color: rgb(38, 37, 35, .8);
    color: #fff;
    padding: 0 12px 2px 14px;
    height: 24px;
    display: flex;
    align-items: center;
    border-radius: 24px;
    width: fit-content;
    font-size: 14px;
}
.product_pic_swiper_box .swiper_button_box .swiper-button-next, 
.product_pic_swiper_box .swiper_button_box .swiper-button-prev {
    background-color: rgb(255 255 255 / 80%);
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 50%;
}
.product_pic_swiper_box .swiper_button_box .swiper-button-next::after, 
.product_pic_swiper_box .swiper_button_box .swiper-button-prev::after {
    font-size: 12px;
    color: var(--main-color);
}
.product_pic_swiper_box .swiper-button-next,
.product_pic_swiper_box .swiper-button-prev{
    top: auto;
    bottom: 12px;
}
.product_pic_swiper_box .swiper-button-next{
    right: auto;
    left: 42px;
}
.product_pic_swiper_box .swiper-button-prev{
    left: 12px;
}
/*加入購物車*/
.bg-cover{
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 25%);
    z-index: 999999;
}
.bg-cover-table{
    width: 90%;
    max-width: 350px;
    background-color: rgb(0 0 0 / 80%);
    color: #fff;
    padding: 32px 24px 48px 24px;
    text-align: center;
    border-radius: 16px;
}
.bg-cover-content .icon{
    font-size: 60px;
    margin-bottom: 8px;
}
.bg-cover-content p{
    font-size: 18px;
    font-weight: 600;
}
/*banner*/
.index_banner_box{
    position: relative;
    height: 100vh;
    background-image: linear-gradient(to bottom, #F6F6F6 50%, #fff 100%);
    overflow: hidden;
}
.index_banner_img{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    text-align: right;
    z-index: 1;
}
.index_banner_img img{
    width: 62%;
}
.index_banner_body{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    height: 100%;
    padding-top: 160px;
}
.index_banner_body_img{
    position: absolute;
    z-index: 1;
    width: 300px;
    top: 160px;
    left: 64px;
    transform: translateY(20px);
    opacity: 0;
}
.index_banner_body_img img{
    width: 100%;
}
.index_banner_body_img.active{
    animation: banner_body_img_a 0.5s ease forwards 0.5s;
}
@keyframes banner_body_img_a {
    to {
      opacity: 1;
      transform: translateY(0);
    }
}
.index_banner_content{
    width: 100%;
    max-width: 550px;
    margin-left: 88px;
    position: relative;
    z-index: 2;
}
.index_banner_office{
    font-size: 24px;
    font-weight: 600;
    color: var(--font-color2);
    margin-bottom: 12px;
}
.index_banner_slogan{
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 40px;
    letter-spacing: 0.05em;
}
.index_banner_slogan span{
    color: var(--main-color);
}
.index_banner_brief{
    line-height: 1.9;
    color: var(--font-color2);
    /* max-width: 500px; */
}
/*最新活動*/
.index_news_box .swiper_button_box{
    top: -96px;
}
.index_news_swiper .swiper-slide{
    width: 400px;
}
/*首頁-服務項目*/
.index_services_box{
    /* background-image: url(../img/index-services-hexagon.svg);
    background-repeat: no-repeat;
    background-position: top right 48px; */
    position: relative;
}
.index_services_hexagon{
    position: absolute;
    top: 0;
    right: 48px;
    display: flex;
}
.index_services_hexagon .hexagon_1{
    padding-top: 42px;
    margin-right: 45px;
}
.index_services_hexagon .hexagon_1, .index_services_hexagon .hexagon_2{
    opacity: 0;
    transform: translateY(100%);
}
.index_services_box.active .hexagon_1{
    animation: index_services_hexagon_a .6s ease forwards .7s;
}
.index_services_box.active .hexagon_2{
    animation: index_services_hexagon_a .6s ease forwards .6s;
}
@keyframes index_services_hexagon_a {
    to {
      opacity: 1;
      transform: translateY(0);
    }
}
.index_services_list{
    display: flex;
    flex-wrap: wrap;
}
.index_services_item{
    width: 33.333%;
    padding: 20px 32px 28px 32px;
    overflow: hidden;
}
.index_services_item:nth-child(even){
    background-color: rgb(232, 250, 247, .6);
}
.index_services_img{
    width: 200px;
    margin-bottom: 12px;
    margin-left: auto;
    margin-right: auto;
}
.index_services_img img{
    width: 100%;
}
.index_services_title{
    font-weight: 600;
    margin-bottom: 20px;
    text-align: center;
    color: var(--main-color);
}
.index_services_item:nth-child(even) .index_services_title{
    color: var(--second-color);
}
.index_services_brief{
    line-height: 2;
    text-align: justify;
}
/*關於我們*/
.index_about_box{
    /* background-image: url(../img/index-about-hexagon.svg);
    background-repeat: no-repeat;
    background-position: top right 48px; */
    position: relative;
}
.index_about_hexagon{
    position: absolute;
    top: 0;
    right: 48px;
    display: flex;
}
.index_about_hexagon .hexagon_1{
    padding-top: 54px;
    margin-right: 36px;
}
.index_about_hexagon .hexagon_1, .index_about_hexagon .hexagon_2{
    opacity: 0;
    transform: translateY(100%);
}
.index_about_box.active .hexagon_1{
    animation: index_about_hexagon_a .6s ease forwards 0.2s;
}
.index_about_box.active .hexagon_2{
    animation: index_about_hexagon_a .6s ease forwards 0s;
}
@keyframes index_about_hexagon_a {
    to {
      opacity: 1;
      transform: translateY(0);
    }
}
.index_about_row{
    align-items: center;
}
.index_about_content{
    width: 100%;
    max-width: 700px;
}
.index_about_content_title{
    color: var(--main-color);
    font-weight: 600;
    margin-bottom: 16px;
    font-size: 24px;
}
.index_about_content_txt{
    line-height: 1.9;
}
.index_about_point_list{
    display: flex;
    margin-left: 88px;
}
.index_about_point+.index_about_point{
    padding-left: 128px;
}
.index_about_point_img{
    width: 200px;
}
.index_about_point_img img{
    width: 100%;
}
.index_about_point_txt{
    margin-top: 16px;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    height: 60px;
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(to right, var(--second-color) 0%, var(--main-color) 100%);
}
.index_about_point_slogan{
    text-align: center;
    margin-top: 8px;
    font-weight: 600;
    font-size: 18px;
        color: var(--font-color2);
}
.index_statistics_row{
    margin-top: 100px;
}
.index_about_industry{
    width: 100%;
    max-width: 700px;
}
.index_about_industry_txt{
    background-color: var(--main-color);
    border-radius: 16px;
    padding: 40px;
    color: #fff;
    line-height: 1.9;
}
.statistics_list{
    display: flex;
    justify-content: center;
    margin-right: 88px;
}
.statistics_item+.statistics_item{
    margin-left: 128px;
}
.statistics_item_txt{
    color: var(--main-color);
    font-weight: 600;
    margin-bottom: 16px;
    font-size: 24px;
    text-align: center;
}
.statistics_item_num{
    width: 200px;
}
.statistics_num_box{
    position: relative;
    padding-bottom: 100%;
    border-radius: 50%;
    background-color: var(--main-color);
    background-image: linear-gradient(to right, var(--second-color) 0%, var(--main-color) 100%);
}
.statistics_num_box .number{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 48px;
    font-weight: 600;
    line-height: 1.3;
}
/*團隊介紹*/
.index_team_box{
    background-image: url(../img/index_team_bg.jpg);
    background-repeat: no-repeat;
    background-position: top left;
}
.index_team_box .block_title{
    margin-left: calc((100% / 4) * 0.74 + 32px);
    display: flex;
}
.index_team_swiper_box{
    padding-left: 40px;
    padding-right: 40px;
}
.index_team_swiper_box .swiper_button_box{
    top: -96px;
}
.index_team_hexagon{
    display: flex;
    align-items: flex-end;
    margin-left: 40px;
}
.index_team_hexagon .hexagon_2{
    margin-left: 44px;
    margin-bottom: 8px;
}
.index_team_hexagon .hexagon_1, .index_team_hexagon .hexagon_2{
    opacity: 0;
    transform: translateY(100%);
}
.index_team_box.active .hexagon_1, 
.index_team_box.active .hexagon_2{
    animation: index_team_hexagon_a .6s ease forwards .7s;
}
@keyframes index_team_hexagon_a {
    to {
      opacity: 1;
      transform: translateY(0);
    }
}
/*首頁-合作伙伴*/
.index_partners_box{
    position: relative;
}
.index_partners_hexagon{
    display: flex;
    position: absolute;
    top: -60px;
    right: 48px;
}
.index_partners_hexagon .hexagon_1{
    padding-top: 54px;
    margin-right: 36px;
}
.index_partners_hexagon .hexagon_1, .index_partners_hexagon .hexagon_2{
    opacity: 0;
    transform: translateY(100%);
}
.index_partners_box.active .hexagon_1{
    animation: index_partners_hexagon_a .8s ease forwards .8s;
}
.index_partners_box.active .hexagon_2{
    animation: index_partners_hexagon_a .8s ease forwards .6s;
}
@keyframes index_partners_hexagon_a {
    to {
      opacity: 1;
      transform: translateY(0);
    }
}
.index_partners_list_box{
    overflow: hidden;
}
.index_partners_list{
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    margin-bottom: -48px;
}
.index_partners_item {
  width: 200px;
  flex-shrink: 0;
  padding-bottom: 48px;
}
.index_partners_img{
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 90%;
    opacity: .6;
    transition: all .2s;
}
.index_partners_img:hover{
    opacity: 1;
}
.index_partners_img img{
    position: absolute;
    display: block;
    object-fit: contain;
    object-position: center center;
    height: 100%;
    width: 100%;
    max-width: 100%;
}
.marquee-line {
    display: flex;
    gap: 88px;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    width: max-content;
}
.marquee-line.line-left {
    animation-name: scrollLeft;
    animation-duration: 25s;
}
.marquee-line.line-right {
    animation-name: scrollRight;
    animation-duration: 25s;
}
@keyframes scrollLeft {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
@keyframes scrollRight {
    0% {
        transform: translateX(-50%);
    }
    100% {
        transform: translateX(0);
    }
}
/*首頁-聯絡我們*/
.index_contact_box{
    overflow: hidden;
}
.index_contact_row{
    display: flex;
    margin-left: -12px;
    margin-right: -12px;
}
.index_contact_row>div{
    padding-left: 12px;
    padding-right: 12px;
}
.index_contact_left{
    width: 50%;
    min-width: 840px;
}
.index_contact_right{
    flex: 1;
}
.index_contact_right img{
    width: 100%;
}
.index_contact_content{
    display: flex;
    background-color: var(--main-color);
    border-radius: 16px;
}
.index_contact_content_left{
    display: flex;
    flex-direction: column;
}
.index_contact_content_left .block_title{
    background-color: #fff;
    margin-bottom: 0;
    padding-bottom: 48px;
    padding-right: 48px;
    border-radius: 0 0 16px 0;
}
.index_contact_content_right{
    flex: 1;
    position: relative;
    padding: 68px 16px 68px 56px;
    color: #fff;
    background-image: url(../img/index-contact-radius.png);
    background-repeat: no-repeat;
    background-position: top left;
}
.index_contact_content_tip{
    color: #fff;
    padding: 40px;
    font-weight: 600;
    background-image: url(../img/index-contact-radius.png), url(../img/index-contact-bg.png);
    background-repeat: no-repeat, no-repeat;
    background-position: top left, top left;
    flex: 1;
}
.index_contact_office_list{
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}
.index_contact_office_item+.index_contact_office_item{
    margin-top: 16px;
}
.index_contact_office_item{
    font-size: 18px;
    font-weight: 600;
}
.index_contact_office_item .icon{
    margin-right: 12px;
}
.index_contact_way{
    display: flex;
    margin-top: 32px;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}
.index_contact_way_item+.index_contact_way_item{
    margin-left: 24px;
}
.index_contact_way_link{
    width: 48px;
    display: block;
}
.index_contact_way_link img{
    width: 100%;
}
.index_contact_img{
    position: relative;
    overflow: hidden;
    height: 100%;
    border-radius: 16px;
}
.index_contact_img img {
    position: absolute;
    display: block;
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%;
}
/*聯絡我們*/
.contact_box{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
.contact_box_tip{
    margin-bottom: 32px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}
.contact_box .my_form_btn .btn{
    margin: 0 auto;
}
/*活動消息*/
.news_container_box{
    display: flex;
}
.left_nav_box{
    width: 300px;
}
.news_list_box{
    flex: 1;
    padding-left: 48px;
}
.left_nav{
    position: sticky;
    top: 120px;
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}
.left_nav_link{
    padding: 16px 24px;
    background-color: var(--bg-color);
    display: block;
    color: var(--font-color2);
}
.left_nav_item+.left_nav_item{
    margin-top: 1px;
}
.left_nav_item.active .left_nav_link{
    background-color: var(--main-color2);
    color: var(--second-color);
    font-weight: 600;
}
.left_nav_item .left_nav_link:hover{
    background-color: var(--main-color2);
    color: var(--second-color);
    font-weight: 600;
}
/*關於我們*/
.about_content{
    margin-left: auto;
    margin-right: auto;
}
/*合作伙伴*/
.partners_list{
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: -64px;
}
.partners_item{
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 64px;
}
.partners_card{
    border: solid 1px var(--border-color);
    padding: 16px;
    height: 100%;
}
.partners_img_box{
    width: 100%;
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
}
.partners_img{
    margin-bottom: 12px;
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 90%;
    transition: all .2s;
}
.partners_img img{
    position: absolute;
    display: block;
    object-fit: contain;
    object-position: center center;
    height: 100%;
    width: 100%;
    max-width: 100%;
}
.partners_body{
    text-align: center;
}
.partners_name{
    font-size: 18px;
    font-weight: 600;
}
.partners_tel, .partners_address{
    font-size: 14px;
    color: var(--font-color2);
    margin-top: 4px;
}
/*文章內容*/
.article_header{
    margin-bottom: 64px;
}
.article_title{
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.3;
    text-align: justify;
}
.article_info_row{
    align-items: center;
}
.share_list_box{
    margin-top: 0;
}
.article_page_img{
    margin-top: 32px;
}
.article_page_img .bg{
    padding-bottom: 61%;
}
/*服務項目*/
.services_class_item+.services_class_item{
    margin-top: 80px;
}
.services_class_item{
    display: flex;
}
.services_class_item:nth-child(even){
    flex-direction: row-reverse;
}
.services_class_img{
    width: 55%;
}
.services_class_img img{
    width: 100%;
    border-radius: 16px;
}
.services_class_body{
    flex: 1;
    padding: 48px 48px 48px 88px;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur( 4px );
    border: solid 1px rgb(232, 250, 247, .8);
    border-radius: 16px;
    margin-top: 64px;
    margin-bottom: 64px;
    position: relative;
    left: -48px;
}
.services_class_item:nth-child(even) .services_class_body{
    left: auto;   
    right: -48px;
    padding: 48px 88px 48px 48px;
}
.services_class_body h2{
    font-weight: 600;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
}
.services_class_body h2::after{
    content: "";
    display: block;
    height: 2px;
    width: 100px;
    background-color: var(--main-color);
    border-radius: 2px;
    margin-left: 16px;
}
.services_class_brief{
    line-height: 1.9;
    color: var(--font-color2);
    margin-bottom: 16px;
    text-align: justify;
}
.services_list{
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 0;
    list-style: none;
    padding-left: 0.5em;
}
.services_list li+li{
    margin-top: 16px;
}
.services_list li{
    display: flex;
    align-items: center;
}
.services_list li::before{
    content: "●";
    font-size: 13px;
    color: var(--main-color);
    margin-right: 12px;
}
.services_link{
    flex: 1;
    display: block;
    border: dashed 2px var(--main-color2);
    padding: 4px 12px;
}
.services_link:hover{
    flex: 1;
    display: block;
    border: dashed 2px var(--main-color);
    padding: 4px 12px;
}
/*服務流程*/
.service_process_box{
    background-image: url(../img/index_team_bg.jpg);
    background-repeat: no-repeat;
    background-position: top left;
}
.service_process_list{
    display: flex;
    flex-wrap: wrap;
    margin-left: -24px;
    margin-right: -24px;
    margin-bottom: -72px;
}
.service_process_item{
    width: 20%;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 72px;
}
.service_process_card_num{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 6px 0 24px;
    margin-bottom: 12px;
    width: 140px;
    height: 48px;
    border-radius: 48px;
    font-size: 20px;
    color: #fff;
    font-weight: 600;
    background-image: linear-gradient(to right, var(--second-color) 0%, var(--main-color) 100%);
}
.service_process_card_num .num{
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--bg-color);
    color: var(--main-color);
    display: flex;
    align-items: center;
    justify-content: center;
}
.service_process_card_img img{
    width: 100%;
}
.service_process_card_txt{
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin-top: 16px;
}
/*服務內容頁*/
.service_header{
    margin-bottom: 48px;
}
.service_title{
    font-weight: 600;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
}
.service_title::after {
    content: "";
    display: block;
    height: 2px;
    flex: 1;
    background-color: var(--main-color);
    border-radius: 2px;
    margin-left: 16px;
}
.service_title::before {
    content: "";
    display: block;
    height: 2px;
    flex: 1;
    background-color: var(--main-color);
    border-radius: 2px;
    margin-right: 16px;
}
.service_page_content .more_link{
    margin: 0 auto;
}
/*404*/
.error_box{
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
    text-align: center;
}
.error_img{
    margin-bottom: 32px;
}
.error_img img{
    width: 90%;
}
.error_body .title{
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 12px;
}
.error_btn{
    margin-top: 48px;
}
/*團隊成員介紹頁*/
.team_member_bigtitle{
    font-size: 80px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    margin-top: -24px;
    margin-bottom: 16px;
    color: var(--main-color);
}
.team_member_photo .bg{
    padding-bottom: 36%;
}
.team_member_info_box{
    background-image: url(../img/page-title-hexagon.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 250px;
}
.team_member_info_row{
    position: relative;
    margin-top: 48px;
    display: flex;
    border-bottom: solid 1px var(--main-color);
    padding-bottom: 48px;
}
.team_member_info_img img{
    max-width: 100%;
}
.team_member_contact{
    margin-left: 100px;
    padding-top: 8px;
}
.team_member_info{
    color: #fff;
    padding: 32px 40px 40px 40px;
    font-weight: 600;
    background-color: var(--main-color);
    background-image: url(../img/index-contact-bg.png);
    background-repeat: no-repeat;
    background-position: top left;
    border-radius: 16px;
    min-width: 250px;
}
.team_member_name{
    margin-bottom: 12px;
}
.team_member_contact h3{
    margin-bottom: 16px;
}
.team_member_contact_list{
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}
.team_member_contact_list li+li{
    margin-top: 12px;
}
.member_contact_icon{
    margin-right: 8px;
}
.member_contact_icon img {
    width: 20px;
}
.team_member_introduction{
    padding-top: 16px;
    width: 100%;
    max-width: 860px;
}
.degree_box{
    background-color: rgb(232, 250, 247, .6);
}
.degree_box .block_title .en {
    color: var(--main-color);
}
.degree_list{
    margin-bottom: 0;
    font-size: 20px;
    margin-left: 1.5rem;
}
.degree_list li+li{
    margin-top: 24px;
}
.degree_box .degree_list{
    display: flex;
    flex-wrap: wrap;
    margin-top: -24px;
}
.degree_box .degree_list li{
    width: 50%;
    margin-top: 24px;
}
.experience_box{
    /* background-color: var(--main-color);
    color: #fff; */
    background-color: rgb(232, 250, 247, .6);
}
.experience_box .block_title .en {
    color: var(--main-color);
}
/* .experience_box .block_title h2::after {
    background-color: var(--second-color);
} */
.skills_box .services_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: -16px;
    margin-left: -8px;
    margin-right: -8px;
}
.skills_box .services_list li{
    width: 33.333%;
    margin-top: 16px;
    padding-left: 8px;
    padding-right: 8px;
}
/*試算工具列表*/
.tools_list{
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: -64px;
}
.tools_item {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 64px;
}
.tools_card{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 16px;
    background-color: var(--main-color);
    padding: 32px 24px 32px 40px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
}
.tools_card:hover{
    color: #fff;
}
.tools_card_arrow{
    height: 48px;
    width: 48px;
    background-color: rgb(255, 255, 255);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 6px;
    border-radius: 16px;
}
/*試算工具*/
.tool_needdate{
    background-color: rgba(232, 250, 247, 0.6);
    padding: 40px;
    border-radius: 16px;
}
.tool_result_box{
    margin-top: 64px;
}
.tool_result{
    display: flex;
    flex-wrap: wrap;
    border-bottom: dashed 2px var(--main-color2);
}
.tool_result_col{
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: column;
}
.tool_result>div:first-child{
    width: 25%;
}
.tool_result>div:not(:first-child){
    width: 18.75%;
}
.tool_result_th{
    display: flex;
    align-items: center;
    padding: 12px 8px;
    background-color: var(--main-color);
    color: #fff;
    font-weight: 600;
    height: 51px;
    overflow: hidden;
    font-size: 18px;
}
.tool_result_th .txt_btn{
    margin-left: 4px;
    color: #fff;
}
.tool_result_col:first-child .tool_result_th{
    padding-left: 24px;
    border-radius: 16px 0 0 0;
}
.tool_result_col:last-child .tool_result_th{
    padding-right: 24px;
    border-radius: 0 16px 0 0;
}
.tool_result_content{
    flex: 1;
    padding: 16px 8px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.tool_result_col:first-child .tool_result_content{
    padding-left: 24px;
}
.tool_result_col:last-child .tool_result_content{
    padding-right: 24px;
}
.tool_result_txt{
    font-size: 18px;
    font-weight: 600;
    color: var(--font-color2);
}
.tool_result_money{
    font-size: 24px;
    font-weight: 600;
    margin-top: 4px;
}
.tool_result_personnel{
    padding-bottom: 16px;
}
.tool_result_company{
    border-top: dashed 2px var(--main-color2);
    padding-top: 16px;
}
.tool_result_personnel .tool_result_txt{
    color: var(--main-color);
}
.tool_result_company .tool_result_txt,
.tool_result_grade .tool_result_txt{
    color: var(--second-color);
}
.tool_result_actually{
    display: flex;
    margin-left: -16px;
    margin-right: -16px;
}
.tool_result_actually_item{
    width: 50%;
    padding-left: 16px;
    padding-right: 16px;
}
.tool_result_actually_item .tool_result_personnel,
.tool_result_actually_item .tool_result_company{
    padding: 24px;
    border-radius: 16px;
}
.tool_result_actually_item .tool_result_personnel{
    border: solid 1px var(--main-color);
}
.tool_result_actually_item .tool_result_company{
    border: solid 1px var(--second-color);
}
.tool_result_actually{
    margin-top: 48px;
}
.tool_result_btn{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.tool_result_tip{
    color: var(--font-color2);
}
/*手開發票小幫手*/
.receipt_form_box{
    background-color: rgba(232, 250, 247, 0.6);
    padding: 40px;
    border-radius: 16px;
}
.receipt_form_title{
    display: flex;
    align-items: flex-end;
    margin-bottom: 16px;
}
.receipt_form_title span{
    margin-left: 8px;
    color: var(--font-color2);
}
.receipt_view_box{
    overflow: hidden;
    overflow-x: auto;
}
.receipt_triplicate_view, .receipt_duplicate_view{
    margin-top: 48px;
    border: solid 1px var(--main-color);
    padding: 32px 40px;
    border-radius: 16px;
    font-size: 18px;
    width: 100%;
    max-width: 1200px;
    min-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.receipt_view_title{
    font-size: 24px;
    font-weight: 600;
}
.receipt_view_period{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    margin-bottom: 4px;
}
.receipt_view_period span{
    color: var(--blue-color);
}
.receipt_info_row{
    display: flex;
    align-items: center;
}
.receipt_info_row+.receipt_info_row{
    margin-top: 4px;
}
.receipt_info_title{
    width: 100px;
    text-align-last: justify;
}
.receipt_info_content{
    flex: 1;
}
.receipt_vende{
    color: var(--blue-color);
}
.receipt_info_tax{
    display: flex;
    color: var(--blue-color);
    border: solid 1px var(--border-color);
    width: 100%;
    max-width: 320px;
}
.receipt_info_tax>div{
    flex: 1;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.receipt_info_tax>div:not(:last-child){
    border-right: solid 1px var(--border-color);
}
.receipt_info_day{
    display: flex;
    align-items: center;
}
.receipt_view_year{
    width: 60px;
    text-align: right;
}
.receipt_view_month1, .receipt_view_month2{
    width: 40px;
    text-align: right;
}
.now_year, .now_month, .now_day{
    min-width: 50px;
    text-align: right;
    color: var(--blue-color);
}
.receipt_info_address{
    display: flex;
    align-items: center;
}
.receipt_info_address>div{
    flex: 1;
    text-align: right;
    line-height: 1.2;
}
.receipt_list{
    width: 100%;
    margin-top: 8px;
    margin-bottom: 4px;
}
.receipt_list td{
    border: solid 1px var(--font-color2);
    padding: 4px 8px;
}
.product_price{
    height: 36px;
}
.receipt_list .title{
    font-weight: 600;
    text-align: center;
    text-align-last: justify;
}
.receipt_stamp_box{
    display: flex;
    align-items: center;
    justify-content: center;
}
.receipt_stamp{
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: solid 1px var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
}
.tax_check{
    height: 24px;
    color: var(--blue-color);
    text-align: center;
}
.chinese_price{
    display: flex;
    align-items: center;
    line-height: 1.2;
}
.chinese_price .title{
    font-size: 1rem;
    width: 100px;
}
.chinese_price .txt{
    flex: 1;
    text-align: right;
    color: var(--blue-color);
}
.chinese_price .unit{
    font-weight: 600;
}
.receipt_tips{
    font-size: 1rem;
}
.product_price{
    text-align: right;
    color: var(--blue-color);
}
/*常見問題*/
.faq_box{
    display: flex;
}
.faq_menu_box {
    width: 260px;
}
.faq_menu {
    position: sticky;
    top: 200px;
}
.faq_list_group_action{
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 18px;
    color: var(--font-color2);
}
.faq_list_group_action+.faq_list_group_action{
    margin-top: 16px;
}
.faq_list_group_action::before {
    content: "●";
    font-size: 13px;
    color: var(--main-color);
    margin-right: 12px;
}
.faq_list_group_action.active {
    color: var(--main-color);
}
.faq_list_box {
    padding-left: 48px;
    flex: 1 1 0%;
}
.faq_list_block+.faq_list_block{
    margin-top: 80px;
}
.faq_list_bookmark{
    position: relative;
    top: -100px;
}
.faq_list_group_title {
    font-weight: 600;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
}
.faq_list_group_title::after {
    content: "";
    display: block;
    height: 2px;
    width: 100px;
    background-color: var(--main-color);
    border-radius: 2px;
    margin-left: 16px;
}
.faq_item+.faq_item{
    margin-top: 16px;
}
.faq_card{
    background-color: rgba(232, 250, 247, 0.6);
    border-radius: 16px;
}
.faq_card_title {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 18px;
    padding: 20px 28px;
    cursor: pointer;
}
.faq_card_title .txt::before {
    content: "Q：";
    color: var(--main-color);
    margin-right: 4px;
}
.faq_card_title .txt{
    flex: 1;
}
.faq_card_title .icon{
    width: 60px;
    text-align: right;
}
.faq_card_body{
    padding: 0 28px 28px 28px;
}
.faq_card_body .from_tiptap{
    background: #fff;
    max-width: none;
    border-radius: 16px;
    padding: 24px;
}