@charset "UTF-8";
@font-face {
  font-family: LiSong;
  src: url("../webfonts/LiSong.eot"); /* IE9*/
  src: url("../webfonts/LiSong.eot") format("embedded-opentype"), url("../webfonts/LiSong.woff") format("woff"), url("../webfonts/LiSong.ttf") format("truetype");
}
@font-face {
  font-family: Anton-Regular;
  src: url("../webfonts/Anton-Regular.eot"); /* IE9*/
  src: url("../webfonts/Anton-Regular.eot") format("embedded-opentype"), url("../webfonts/Anton-Regular.woff") format("woff"), url("../webfonts/Anton-Regular.ttf") format("truetype");
}
.color_01 {
  color: #2e6f58 !important;
}

.color_02 {
  color: #22a1bb !important;
}

.bg_01 {
  background: #2e6f58 !important;
}

.bg_02 {
  background: #22a1bb !important;
}

/*--------------------------------------------------------------------------------------------------*/
body {
  margin: 0;
  padding: 0;
  line-height: 170%;
  font-family: "微軟正黑體", "open-sans", Times New Roman, sans-serif;
  color: #000;
  background: #fff;
  font-size: 1em;
  position: relative;
}

p {
  margin-bottom: 2em !important;
  letter-spacing: 0.05em;
}

a {
  color: #2e6f58;
  text-decoration: none !important;
}
a:hover, a:focus {
  color: #064f35;
  text-decoration: none !important;
}

img {
  max-width: 100%;
  height: auto;
}

h1 {
  margin: 0 !important;
  line-height: normal;
  font-size: inherit;
}

h2 {
  font-size: 2.25em;
  line-height: 150%;
  margin-bottom: 20px;
  color: #064f35;
  letter-spacing: 0.05em;
}

h3, .h3 {
  font-size: 1.8em;
  font-weight: 400;
  margin-bottom: 10px;
  line-height: 150%;
  text-transform: none;
  font-family: LiSong;
  letter-spacing: 0.05em;
  color: #2e6f58;
}

h4 {
  font-family: LiSong;
  color: #2e6f58;
  font-size: 1.4em;
  font-weight: 400;
  margin-bottom: 5px;
  line-height: 150%;
  text-transform: none;
}

h5 {
  color: #c2d697;
  font-size: 1.25em;
  font-weight: 400;
  margin-bottom: 5px;
  line-height: 150%;
  text-transform: none;
}

h6 {
  font-size: 1.1em;
}

.title_01 {
  font-size: 1.375em;
  font-weight: bold;
  margin-bottom: 5px;
  line-height: 150%;
  text-transform: none;
  color: #000;
}

li {
  line-height: 170%;
}

.btn {
  border-radius: 50px;
  padding: 8px 25px;
  font-size: 1em;
  font-weight: 400;
}

.btn_01 {
  background-color: transparent;
  padding: 9.2px 25px;
  font-size: 1em;
  font-weight: 400;
  border: none;
  cursor: pointer;
  border-radius: 30px;
  color: #fff !important;
  background: #2e6f58;
}
.btn_01:hover, .btn_01:focus {
  background: #064f35;
  color: #fff !important;
  transition: all 0.5s;
}

.btn_back {
  background-color: transparent;
  padding: 9.2px 25px;
  font-size: 1em;
  font-weight: 400;
  border: none;
  cursor: pointer;
  border-radius: 30px;
  color: #fff !important;
  background: #666;
}
.btn_back:hover, .btn_back:focus {
  background: #064f35;
  color: #fff !important;
}

.btn_more {
  color: #fff;
  background: #757575;
}
.btn_more:hover {
  background: #2e6f58;
  color: #fff;
}

.btn_delete {
  background-color: transparent;
  padding: 9.2px 25px;
  font-size: 1em;
  font-weight: 400;
  border: none;
  cursor: pointer;
  border-radius: 30px;
  color: #fff !important;
  background: #900;
}
.btn_delete:hover, .btn_delete:focus {
  background: #c00;
  color: #fff !important;
}

.btn_add {
  background: #588216;
  color: #fff !important;
  padding: 6.8px 20px;
}
.btn_add:hover {
  background: #00693E;
}
.btn_add:before {
  content: "+";
  font-family: "Font Awesome 6 free";
  font-weight: 900;
  padding: 0 5px 0 0;
}

.btn_edit {
  background: #3e76b6;
  color: #fff !important;
  padding: 6.8px 20px;
}
.btn_edit:hover {
  background: #003f86;
}
.btn_edit:before {
  content: "\f044";
  font-family: "Font Awesome 6 free";
  font-weight: 900;
  padding: 0 5px 0 0;
}

.btn_margin {
  margin: 2px;
}

.btn_box {
  float: left;
  width: 100%;
  margin: 20px 0;
}

.display_inline {
  display: inline-block !important;
}

.display_none {
  display: none;
}

.scroll-to-top:hover, .scroll-to-top:focus {
  background: #2e6f58;
}
.scroll-to-top i {
  color: #fff;
  padding-top: 5px;
}

.w-auto {
  width: auto;
}

.line {
  background-image: linear-gradient(to right, transparent, #DBDBDB, transparent);
  height: 2px;
  float: left;
  width: 100%;
  margin: 25px 0;
}

.form-control {
  padding: 4.5px 8px;
  box-shadow: none;
  margin: 2px 0;
  font-size: 1em !important;
  border-color: #ccc;
  border-radius: 4px;
}
.form-control.form-select {
  padding: 4.5px 35px 4.5px 8px;
}

.dropdown-menu {
  min-width: auto;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #333 !important;
}

input::placeholder, textarea::placeholder {
  color: #333 !important;
}

.date {
  color: #22a1bb;
}

.type {
  font-size: 0.8em;
  display: inline-block;
  background: #666;
  color: #fff;
  border-radius: 20px;
  padding: 0 15px;
  margin-left: 5px;
}

.author {
  font-size: 0.8em;
  display: inline-block;
  color: #999;
  border: none;
}
.author::before {
  content: "-";
  display: inline-block;
  padding-right: 5px;
  color: #2e6f58;
}

/*date*/
.post-date {
  text-align: center;
  padding: 9px;
  width: 90px;
  background: #2e6f58;
  border-radius: 4px;
}
.post-date .day {
  color: #fff;
  font-size: 2.25em;
  font-family: Impact;
  border-bottom: solid 1px rgba(255, 255, 255, 0.4);
  padding: 7px 5px 10px 5px;
  letter-spacing: 2px;
  margin-bottom: 3px;
}
.post-date .month {
  color: #fff;
  line-height: 150%;
}

/*文字選取變色*/
::-moz-selection {
  background: #3367D1;
  color: #fff;
}
::selection {
  background: #3367D1;
  color: #fff;
}

::-moz-selection {
  background: #3367D1;
  color: #fff;
}

img::-moz-selection {
  background: transparent;
}

img::selection {
  background: transparent;
}

img::-moz-selection {
  background: transparent;
}

/*header*/
#header {
  height: auto !important;
  position: fixed;
  width: 100%;
}
#header .header-body {
  background-color: rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 1px 8px rgba(51, 51, 51, 0.08) !important;
}
#header .header-container {
  height: auto !important;
}
#header .header-logo {
  margin: 10px 0 !important;
}
#header .header-nav-features {
  padding-top: 10px;
  margin-left: 0;
  margin-right: 10px;
}
#header .header-nav-features::before {
  display: none;
}
#header .header-nav-features .fa-search {
  font-size: 1.4em;
  color: #22a1bb;
}
#header .header-nav-features .fa-search:hover {
  color: #2e6f58;
}
#header .header-nav-features .header-nav-features-dropdown {
  background: transparent;
  box-shadow: none;
  padding: 15px 0;
}
#header .header-nav-features .header-nav-features-dropdown .simple-search {
  border: solid #eee 1px;
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 10px 30px 10px rgba(0, 0, 0, 0.05);
}
#header .header-nav-features .header-nav-features-dropdown .simple-search input {
  border: none;
  background: transparent;
  padding-left: 20px;
}
#header .header-nav-features .header-nav-features-dropdown .btn {
  border: none;
  border-radius: 0;
  padding: 12px 25px 7px 25px;
}

/*header-nav-main*/
.header-nav-main .nav > li {
  padding: 0 15px;
}
.header-nav-main .nav > li > a {
  padding: 0 !important;
  font-weight: 400 !important;
  margin: 1px 0 -3px 0 !important;
}
.header-nav-main .nav > li a {
  padding: 10px 18px;
  font-size: 1em !important;
  text-transform: none !important;
}
.header-nav-main .nav > li.dropdown .dropdown-menu {
  background: #2e6f58 !important;
  padding: 0 !important;
  border: none !important;
  margin-top: -1px !important;
  color: #fff;
  min-width: 160px !important;
}
.header-nav-main .nav > li.dropdown .dropdown-menu li {
  border-bottom: solid rgba(255, 255, 255, 0.3) 1px !important;
}
.header-nav-main .nav > li.dropdown .dropdown-menu li:hover > a {
  background: rgba(0, 0, 0, 0.2) !important;
}
.header-nav-main .nav > li.dropdown .dropdown-menu li.open > a {
  background: rgba(0, 0, 0, 0.2) !important;
}
.header-nav-main .nav > li.dropdown .dropdown-menu a {
  padding: 8px 18px !important;
}
.header-nav-main .nav > li.dropdown .dropdown-submenu .dropdown-menu {
  background: #22a1bb;
}
.header-nav-main .nav > li.dropdown .dropdown-submenu .dropdown-menu .dropdown-submenu .dropdown-menu {
  background: #666 !important;
}

#header .header-nav-main nav > ul > li.dropdown .dropdown-menu li:hover > a, #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li:focus > a, #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li.active > a, #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li:active > a, #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li.open > a, #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li.accessibility-open > a {
  background-color: #2e6f58;
}

/*header menu滑入上方出現線條*/
#header .header-nav-main nav > ul > li:before, #header .header-nav-main nav > ul > li:focus {
  content: "";
  display: block;
  margin: auto;
  height: 3px;
  width: 0px;
  background: #2e6f58;
  transition: width 0.5s ease, background-color 0.5s ease;
}

#header .header-nav-main nav > ul > li:hover:before, #header .header-nav-main nav > ul > li:hover:focus {
  width: 100%;
}

/*Modal*/
.modal-header .modal-title {
  font-size: 1.4em;
  font-family: LiSong;
  color: #000;
}
.modal-header .btn-close {
  font-size: 0.6em;
}

/*index_banner*/
.index_banner {
  float: left;
  width: 100%;
  position: relative;
}
.index_banner img {
  width: 100%;
}

/*swiper*/
.swiper {
  float: left;
  width: 100%;
  padding: 0 45px;
  position: relative;
}
.swiper.btn_left_right {
  padding: 0 50px;
}
.swiper.btn_left_right .swiper-slide.swiper-slide-prev {
  opacity: 0 !important;
}
.swiper.btn_left_right .swiper-slide.swiper-slide-active, .swiper.btn_left_right .swiper-slide.swiper-slide-next {
  opacity: 1;
}
.swiper.btn_left_right .swiper-slide.swiper-slide-duplicate-next, .swiper.btn_left_right .swiper-slide.swiper-slide-duplicate-prev {
  opacity: 0 !important;
}
.swiper a {
  float: left;
  width: 100%;
}
.swiper [class^=swiper-button-]:after {
  font-size: 1.1em;
  color: rgba(0, 0, 0, 0.8);
}
.swiper .cricle_btn:after {
  font-weight: 900;
  font-family: "Font Awesome 6 Free";
  font-size: 1.9em;
  color: rgba(0, 0, 0, 0.2);
}
.swiper .cricle_btn:hover:after {
  color: #2e6f58;
}
.swiper .cricle_btn.swiper-button-prev:after {
  content: "\f137";
}
.swiper .cricle_btn.swiper-button-next:after {
  content: "\f138";
}
.swiper .white_btn:after {
  color: #fff !important;
  font-size: 1.1em;
}
.swiper .cricle_btn.white_btn:after {
  background: rgb(255, 255, 255);
  padding: 15px 16px;
  font-size: 1.2em;
  border-radius: 30px;
  color: #333 !important;
}
.swiper .cricle_btn.white_btn:hover:after {
  background-color: #2e6f58;
  color: #fff !important;
}
.swiper .swiper-button-next:after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f061";
}
.swiper .swiper-button-prev:after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f060";
}
.swiper .swiper-button-prev {
  margin-left: 0px;
}
.swiper .swiper-button-next {
  margin-right: 0px;
}
.swiper [class^=swiper-button-] {
  color: rgba(0, 0, 0, 0.5);
  opacity: 1 !important;
}
.swiper [class^=swiper-button-]:hover, .swiper [class^=swiper-button-]:focus {
  color: #2e6f58;
  opacity: 0.7;
}
.swiper.button_right {
  margin-right: 90px;
}
.swiper.button_right .swiper-button-prev {
  left: auto;
  right: 50px;
}
.swiper img {
  width: 100%;
}
.swiper .title {
  font-size: 1.2em;
  padding-bottom: 10px;
}
.swiper .opacity_1 {
  opacity: 1 !important;
}
.swiper.btn_bottom_center {
  position: relative;
  width: 100%;
  padding-bottom: 150px !important;
}
.swiper.btn_bottom_center .button_box {
  position: relative;
  width: 100%;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: -80px;
}
.swiper.btn_bottom_center .button_box .swiper-button-prev {
  position: relative;
  margin-right: 30px;
  display: block;
}
.swiper.btn_bottom_center .button_box .swiper-button-next {
  position: relative;
  margin-left: 30px;
  display: block;
}
.swiper.btn_left_right {
  padding: 0 50px;
}
.swiper.btn_right_top {
  position: relative;
  width: 100%;
}
.swiper.btn_right_top .button_box {
  position: relative;
  width: 100%;
  height: 45px;
}
.swiper.btn_right_top .button_box .swiper-button-prev {
  position: absolute;
  right: 45px;
  left: auto;
}
.swiper.btn_right_top .button_box .swiper-button-next {
  position: absolute;
  right: 10px;
}
.swiper.btn_right_top .swiper-wrapper {
  margin-top: 0;
}
.swiper.btn_right_top .swiper-pagination-bullet-active {
  background: #2e6f58;
}
.swiper.dot_bottom .swiper-wrapper {
  padding-bottom: 40px;
}
.swiper.swiper_yt {
  width: 100% !important;
  padding: 50px 50px 250px 50px;
}
.swiper.swiper_yt .swiper-slide {
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  max-width: 700px;
  max-height: 450px;
}
.swiper.swiper_yt .swiper-slide iframe {
  width: 100%;
  height: 450px;
}
.swiper.swiper_yt .swiper-slide .embed-responsive {
  position: initial;
}

.swiper-slide video {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  justify-content: center;
  align-items: center;
}

.banner_01 .swiper-slide:not(.swiper-slide-active) {
  opacity: 0 !important;
}

/*index_icon*/
.index_icon {
  float: left;
  width: 100%;
  background: #f1f9ed;
  padding: 15px 0;
  text-align: center;
}
.index_icon .item {
  display: inline-block;
  width: 13.5%;
  text-align: center;
  padding: 20px;
  vertical-align: top;
}
.index_icon .item .icon {
  border-radius: 50%;
  border: solid 8px #d3e4ca;
  background: #2e6f58;
  margin: 0 auto;
}
.index_icon .item .title {
  color: #303753;
  padding-top: 10px;
  line-height: 150%;
}

/*index_title*/
.index_title_b {
  font-family: Impact;
  font-size: 6em;
  color: rgba(0, 0, 0, 0.05);
}

.index_title {
  font-size: 2.5em;
  font-weight: bold;
  color: #303753;
  margin-top: 10px;
}

/*index_news*/
.index_news .container .index_news_box {
  float: left;
  width: 100%;
  overflow: hidden;
}
.index_news .container .index_news_box .font_box {
  float: left;
  width: 60%;
  padding: 20px 8% 25px 30px;
}
.index_news .container .index_news_box .font_box .list {
  float: left;
  width: 100%;
  padding: 40px 0 0 0;
}
.index_news .container .index_news_box .font_box .list .item {
  float: left;
  width: 100%;
  border-bottom: dotted #ccc 2px;
  padding: 25px 0;
}
.index_news .container .index_news_box .font_box .list .item:nth-child(1) .post-date {
  background: #c2d697;
}
.index_news .container .index_news_box .font_box .list .item:nth-child(1) a:hover .title_01 {
  color: #c2d697;
}
.index_news .container .index_news_box .font_box .list .item:nth-child(2) .post-date {
  background: #2e6f58;
}
.index_news .container .index_news_box .font_box .list .item:nth-child(2) a:hover .title_01 {
  color: #2e6f58;
}
.index_news .container .index_news_box .font_box .list .item:nth-child(3) .post-date {
  background: #22a1bb;
}
.index_news .container .index_news_box .font_box .list .item:nth-child(3) a:hover .title_01 {
  color: #22a1bb;
}
.index_news .container .index_news_box .font_box .list .item:last-child {
  border-bottom: none;
}
.index_news .container .index_news_box .font_box .list .post-date {
  float: left;
}
.index_news .container .index_news_box .font_box .list .font {
  float: left;
  width: calc(100% - 90px);
  padding: 0 0 0 24px;
  color: #000;
}
.index_news .container .index_news_box .font_box .btn_box {
  margin-top: 10px;
}
.index_news .container .index_news_box .img {
  float: left;
  width: 40%;
  background: url(../img/customer/index_news_bg_01.jpg);
  background-repeat: no-repeat;
  padding-bottom: 500em;
  margin-bottom: -500em;
}
.index_news .container .index_news_box .img img {
  opacity: 0;
}

/*index_case*/
.index_case {
  float: left;
  width: 100%;
  overflow: hidden;
  background: url(../img/customer/index_case_bg.jpg);
  background-size: cover;
  padding: 20px 0 100px 0;
}
.index_case .title_box {
  text-align: center;
}
.index_case .title_box .index_title_b {
  color: rgba(255, 255, 255, 0.2);
}
.index_case .title_box .index_title {
  color: #fff;
}
.index_case .index_case_box {
  width: 100%;
  max-width: 700px;
  margin: 50px auto;
}
.index_case .index_case_box .box {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  padding: 40px;
}
.index_case .index_case_box .box .title_01 {
  color: #f5b40c;
  margin-bottom: 20px;
}
.index_case .index_case_box .swiper .cricle_btn:after {
  color: rgba(255, 255, 255, 0.8);
}
.index_case .index_case_box .swiper .cricle_btn:hover:after {
  color: #2e6f58;
}
.index_case .index_case_box a .font {
  color: #757575;
}
.index_case .index_case_box a:hover .title_01 {
  color: #2e6f58;
}

/*index_link*/
.index_link {
  float: left;
  width: 100%;
  padding: 30px;
}
.index_link .swiper-slide {
  padding: 12px;
}

/*footer*/
#footer {
  float: left;
  width: 100%;
  background-color: #303753;
  margin: 0;
  text-align: center;
  color: #fff;
}
#footer .container {
  padding: 0 5%;
  line-height: 150%;
}

/*footer_design*/
.footer_design {
  color: #666;
  display: inline-block;
  font-size: 0.8em;
  white-space: nowrap;
}

.footer_design a {
  color: #666 !important;
}

/*scroll-to-top*/
.scroll-to-top {
  border-radius: 4px 4px 0 0 !important;
}

/*page_con*/
.page_con {
  float: left;
  width: 100%;
  min-height: 700px;
  padding: 0 0 50px 0;
  overflow: hidden;
  position: relative;
}
.page_con .container {
  padding: 20px 30px;
  position: relative;
  display: table;
}
.page_con .container h3 {
  position: relative;
  padding: 20px 0 15px 0;
  border-bottom: solid 1px #e0e0e0;
  color: #000;
}
.page_con h2 {
  text-align: center;
}
.page_con h2 span {
  position: relative;
}
.page_con h2 span:before {
  content: "";
  display: block;
  width: 28px;
  height: 36px;
  position: absolute;
  left: -17px;
  top: -22px;
  z-index: -2;
}
.page_con h2 span:after {
  content: "";
  display: block;
  width: 22px;
  height: 24px;
  background: #2e6f58;
  position: absolute;
  left: -30px;
  top: 6px;
  z-index: -1;
}
.page_con .nav-tabs {
  padding: 20px 0 0 0;
}

.page_bg_icon .container:before {
  content: "";
  background: url(../img/customer/page_bg_icon.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  width: 1113px;
  height: 929px;
  top: -15%;
  right: -65%;
  animation: rotateZ 60s linear infinite;
  z-index: -2;
}
.page_bg_icon .container:after {
  content: "";
  background: url(../img/customer/page_bg_icon.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  width: 1113px;
  height: 929px;
  top: 1500px;
  left: -65%;
  animation: rotateZ 60s linear infinite;
  z-index: -2;
}

/*main_con*/
.main_con {
  float: left;
  width: 100%;
  padding: 50px 30px !important;
  min-height: 500px;
}
.main_con .container {
  padding: 0;
}
.main_con img.float-start {
  padding: 0 2em 2em 0;
}
.main_con img.float-end {
  padding: 0 0 2em 2em;
}

/*main*/
.main > .container {
  padding: 0 25px;
}
.main .row > div {
  padding: 0 1em;
}

.menu_left .sidebar_menu {
  width: 220px;
}
.menu_left .main_con {
  width: calc(100% - 220px);
  padding: 20px 20px 40px 20px;
}
.menu_left > div:nth-child(3) {
  display: none;
}

.menu_right .sidebar_menu {
  width: 220px;
}
.menu_right .main_con {
  width: calc(100% - 220px);
}
.menu_right > div:nth-child(1) {
  display: none;
}

.menu_none .main_con {
  width: 100%;
  padding: 20px 0 80px 0 !important;
}
.menu_none > div:nth-child(1), .menu_none > div:nth-child(3) {
  display: none;
}

/*sidebar*/
.sidebar {
  position: relative;
  background: #f1f9ed;
  border-radius: 10px;
  margin: 30px 10px 0 0;
}
.sidebar > a {
  position: absolute;
  top: -30px;
}
.sidebar .title {
  font-family: LiSong;
  color: #fff;
  font-size: 1.5em;
  padding: 10px 20px;
  background: #666;
  border-radius: 10px 10px 0 0;
  position: relative;
  overflow: hidden;
}
.sidebar .title:after {
  content: "\f04b";
  font-weight: 900;
  font-family: "Font Awesome 6 free";
  color: rgba(255, 255, 255, 0.2);
  position: absolute;
  left: -7px;
}
.sidebar ul {
  padding: 0 5px 5px 5px;
}
.sidebar ul a {
  padding: 13px 25px 13px 15px !important;
  font-size: 1em !important;
  border-bottom: none !important;
  border-top: solid #ccc 1px !important;
  line-height: 150% !important;
}
.sidebar ul a:before {
  display: none;
}
.sidebar ul a:hover, .sidebar ul a:focus {
  color: #2e6f58 !important;
  background: transparent !important;
}
.sidebar ul a.active {
  font-weight: inherit !important;
  color: #22a1bb !important;
  border-radius: 5px;
}
.sidebar ul > li:nth-child(1) > a {
  border-top: none !important;
}
.sidebar .dropdown {
  position: relative !important;
}
.sidebar .dropdown .dropdown-toggle {
  white-space: normal;
}
.sidebar .dropdown .dropdown-toggle:after {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
  position: absolute;
  font-size: 0.45rem;
  opacity: 0.7;
  transform: translate3d(-1px, 0, 0);
  right: 10px;
  border: none;
}
.sidebar .dropdown .dropdown-toggle:hover:after {
  animation-name: arrowLeftRight;
  animation-duration: 500ms;
  animation-iteration-count: infinite;
}
.sidebar .dropdown .dropdown-menu {
  background: #fff;
  position: relative !important;
  border: none;
  border-radius: 10px;
  padding: 2px 10px;
  margin: 0 0 5px 0 !important;
}
.sidebar .dropdown .dropdown-menu.show {
  top: -39px !important;
  inset: 0px auto auto 0px;
  margin: 0px;
  transform: translate3d(0px, 39px, 0px) !important;
}
.sidebar .dropdown .dropdown-menu a:before {
  left: 25px;
}
.sidebar .dropdown .dropdown-menu > li a {
  padding: 10px 15px 10px 5px !important;
}
.sidebar .dropdown .dropdown-menu li a:hover, .sidebar .dropdown .dropdown-menu li a:focus, .sidebar .dropdown .dropdown-menu li a:active {
  background: rgba(0, 0, 0, 0.05);
  color: #333;
}
.sidebar .dropdown .dropdown-submenu ul {
  background: #f5f5f5;
  border-radius: 10px;
  padding: 0 10px;
  margin-bottom: 10px !important;
}
.sidebar .dropdown .dropdown-submenu ul > li a {
  padding: 10px 15px 10px 10px !important;
  border-top: solid #ccc 1px !important;
}
.sidebar .dropdown .dropdown-submenu ul > li:nth-child(1) > a {
  border-top: none !important;
}
.sidebar .dropdown-toggle.show, .sidebar .dropdown:hover .dropdown-toggle.show {
  color: #2e6f58;
}

/*page_banner*/
.page_banner {
  float: left;
  width: 100%;
  background: url(../img/customer/index_case_bg.jpg);
  background-size: cover;
  background-position: top cneter;
  padding: 210px 0 60px 0;
  overflow: hidden;
}
.page_banner .container {
  padding: 0 30px;
}
.page_banner .title_b {
  font-size: 3.5em;
  color: #fff;
  font-family: LiSong;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
  transform: scale(1.5, 0.9);
  transform-origin: 0 0;
  letter-spacing: -0.03em;
}
.page_banner h2 {
  margin: 20px 0 0 0;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
  font-size: 1.25em !important;
  color: #fff;
}

/*page_share*/
.page_share {
  float: left;
  width: 140px;
}
.page_share .title {
  font-weight: bold;
  float: left;
  width: 65px;
  padding-top: 7px;
}
.page_share .list {
  float: left;
  width: calc(100% - 65px);
}
.page_share .list a {
  display: inline-block;
}
.page_share img {
  width: 40px;
}

/*page_search*/
.page_search {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.page_search > li {
  display: inline-block;
  padding-right: 10px;
  align-self: center !important;
  white-space: nowrap;
}
.page_search > li:last-child {
  padding-right: 0;
}
.page_search .btn {
  margin: -5px 0 0 0;
  vertical-align: top;
  background: #666;
  color: #fff;
  vertical-align: top;
  padding: 7px 25px;
}
.page_search .btn:hover, .page_search .btn:focus {
  background: #2e6f58;
}
.page_search :has(.btn) {
  padding: 10px 0 0 0;
}
.page_search .title {
  display: inline-block;
  padding: 6px 3px 0 0;
}
.page_search select, .page_search input, .page_search label {
  display: inline-block;
  width: auto;
}
.page_search .datepickers input {
  width: 142px;
}
.page_search .datepickers .input-group-addon {
  padding: 5px;
}

select.form-control {
  padding: 2.2px 35px 2.2px 8px;
}

/*page_top*/
.page_top {
  font-size: 0.9em;
  padding: 5px 0 0 0;
}
.page_top .date {
  padding-left: 20px;
  position: relative;
}
.page_top .date:before {
  content: "\f073";
  font-family: "Font Awesome 6 free";
  font-weight: 900;
  position: absolute;
  left: 0;
}

/*page_bottom*/
.page_bottom {
  float: left;
  width: 100%;
  padding: 30px 0 10px 0;
}
.page_bottom .list {
  float: left;
  width: 100%;
}
.page_bottom .list a {
  float: left;
  width: calc(100% - 20px);
  background: #f5f5f5;
  padding: 10px 10px 10px 20px;
  margin: 0 0 3px 20px;
  position: relative;
  border-radius: 10px;
  color: #333;
}
.page_bottom .list a:before {
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  left: -15px;
}
.page_bottom .list a:hover {
  background: #ebf1f5;
  color: #064f35;
}
.page_bottom .link a:before {
  background: url(../img/icon_link.png);
  background-size: 30px;
}
.page_bottom .download a:before {
  background: url(../img/icon_download.png);
  background-size: 30px;
}

/*page_number*/
#page_number {
  padding-top: 20px;
}
#page_number .page_total {
  vertical-align: middle;
  margin: 0 0 10px 0;
}
#page_number .page_icon {
  text-align: right;
  margin-bottom: 10px;
}
#page_number .btn_page {
  display: inline-block;
  margin-bottom: 0;
  font-weight: 400;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  border: none;
  padding: 2px 12px 3px 12px;
  font-size: 1em;
  background: #666;
  border-radius: 5px;
  margin: 1px;
  color: #fff;
  height: 36px;
}
#page_number .btn_page:hover, #page_number .btn_page:focus {
  background: #2e6f58;
  color: #fff;
}
#page_number select {
  margin: 1px 2px;
  padding: 4px 35px 4px 8px;
  height: 36px;
}

label[for=page_select] select {
  margin: -2px 0 0 0;
}

/*about*/
.about_build {
  text-align: center;
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  font-size: 1.3em;
  font-family: LiSong;
  line-height: 170%;
  padding: 80px 30px 100px 30px;
}

.about_font_box h3 {
  margin-bottom: 20px;
}

.about_con_01 {
  float: left;
  width: 100%;
  background: linear-gradient(to bottom, #f1f9ed 300px, #fff 300px);
}
.about_con_01 .about_img {
  float: left;
  width: 55%;
  position: relative;
}
.about_con_01 .about_img .img_01 {
  position: absolute;
  left: -100px;
  top: -100px;
  z-index: 1;
  border-radius: 0 20px 0 0;
}
.about_con_01 .about_img .img_02 {
  position: absolute;
  right: 5%;
  top: 0;
  z-index: 11;
  border-radius: 0 0 50px 0;
}
.about_con_01 .about_font_box {
  float: right;
  width: 45%;
  position: relative;
  padding: 2% 5% 5% 5%;
}
.about_con_01 .about_font_box h3 {
  padding: 0;
  border: none;
}

.about_con_02 {
  float: left;
  width: 100%;
  padding: 50px 0;
}
.about_con_02 .container {
  position: relative;
}
.about_con_02 .about_font_box {
  float: left;
  width: 50%;
  padding: 5% 10% 5% 5%;
}
.about_con_02 .about_font_box h3 {
  padding: 0;
  border: none;
}
.about_con_02 .about_img {
  float: left;
  width: 50%;
  position: relative;
}
.about_con_02 .about_img:before {
  content: "";
  width: 90%;
  height: 80%;
  background: #f5f5f5;
  position: absolute;
  left: -30%;
  bottom: -40px;
  z-index: -1;
  border-radius: 20px 0 0 0;
}
.about_con_02 .about_img img {
  border-radius: 0 0 0 30px;
}

.about_con_03 {
  float: left;
  width: 100%;
  padding: 100px 0 0 0;
  margin-bottom: -70px;
  background: linear-gradient(to bottom, #fff 190px, #ebf1f5 190px);
}
.about_con_03 .container {
  position: relative;
}
.about_con_03 .about_img {
  float: left;
  width: 55%;
  position: absolute;
  left: -3%;
}
.about_con_03 .about_img img {
  border-radius: 0 30px 0 0;
  width: 110%;
}
.about_con_03 .about_font_box {
  float: right;
  width: 45%;
  padding: 2% 5% 7% 5%;
}
.about_con_03 .about_font_box h3 {
  padding: 0;
  border: none;
}

/*team_list*/
.team_list {
  float: left;
  width: 100%;
  padding: 30px 0;
  text-align: center;
}
.team_list .item {
  display: inline-block;
  width: 19%;
  padding: 30px 20px;
  text-align: center;
  position: relative;
  vertical-align: top;
}
.team_list .item .img {
  width: 60%;
  margin: 0 auto;
  position: relative;
  z-index: 9;
}
.team_list .item .img img {
  border-radius: 50%;
  background-color: #e8e8e8 !important;
}
.team_list .item .img .icon {
  top: 30%;
  font-size: 2em;
  position: absolute;
  opacity: 0;
  display: none;
}
.team_list .item .img .icon i {
  color: #5a923e !important;
}
.team_list .item .font {
  padding: 25px 5px 10px 5px;
  position: relative;
  z-index: 8;
  margin-top: -20px;
  border-radius: 0 10px 0 10px;
  min-height: 96px;
}
.team_list .item .font:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  bottom: -10px;
  right: -10px;
  z-index: -1;
  border-radius: 0 10px 0 10px;
  opacity: 0.2;
}
.team_list .item .font .title_01 {
  color: #fff;
  font-weight: 400;
}
.team_list .item .font .title_s {
  font-size: 0.9em;
  color: #fff;
  margin-top: 0px;
  line-height: 150%;
}
.team_list .item .font .title_s span + span:before {
  content: "/";
  padding: 0 5px;
  color: #f5b40c;
  font-size: 0.8em;
}
.team_list .item:nth-child(3n+1) .font {
  background: #2e6f58;
}
.team_list .item:nth-child(3n+1) .font:before {
  background: #2e6f58;
}
.team_list .item:nth-child(3n+2) .font {
  background: #349f8c;
}
.team_list .item:nth-child(3n+2) .font:before {
  background: #349f8c;
}
.team_list .item:nth-child(3n) .font {
  background: #22a1bb;
}
.team_list .item:nth-child(3n) .font:before {
  background: #22a1bb;
}
.team_list .item:hover .icon {
  top: 50%;
  right: -10px;
  transition: all 0.5s;
  opacity: 1;
}
.team_list .item[data-bs-toggle=modal] .img .icon {
  display: block;
}
.team_list .item[data-bs-toggle=modal]:hover {
  cursor: pointer;
}

/*team_modal*/
.team_modal {
  position: relative;
}
.team_modal .btn-close {
  position: absolute;
  top: 10px;
  right: 10px;
}
.team_modal .img {
  float: left;
  width: 40%;
  text-align: center;
}
.team_modal .img img {
  width: 100%;
}
.team_modal .font {
  float: left;
  width: 60%;
  padding: 20px 20px 20px 40px;
}
.team_modal .font h3 {
  margin-bottom: 5px;
}
.team_modal .font h4 {
  font-size: 1.1em;
  margin: 5px 0 0 0;
}
.team_modal .font .title_s {
  font-size: 0.9em;
  margin-top: -5px;
}
.team_modal .font .title_s span + span:before {
  content: "/";
  padding: 0 5px;
  color: #f5b40c;
  font-size: 0.8em;
}
.team_modal .font .info {
  border-top: solid 1px #ccc;
  padding: 10px 0 0 0;
  margin: 10px 0 0 0;
}
.team_modal .font .info h4 {
  color: #22a1bb;
  font-family: "微軟正黑體";
}

/*service_con*/
.service_con_01 {
  float: left;
  width: 100%;
  background-image: url(../img/customer/servie_bg_01.jpg);
  background-repeat: no-repeat;
  padding: 30px 0;
}
.service_con_01 .font {
  float: right;
  width: 60%;
}
.service_con_01 .font .service_item {
  float: right;
  width: 100%;
  max-width: 650px;
}
.service_con_01 .font .service_item:nth-child(1) {
  margin-left: -20%;
}
.service_con_01 .font .service_item:nth-child(2) {
  margin-left: 20%;
}

.service_item {
  float: left;
  width: 100%;
  padding: 90px 20px 70px 20px;
  position: relative;
  vertical-align: top;
}
.service_item .no {
  float: left;
  width: 70px;
  font-family: Impact;
  font-size: 8em;
  color: #c2d697;
  position: relative;
  margin-top: -32px;
  height: 100px;
  z-index: 2;
}
.service_item .no:before {
  position: absolute;
  content: "";
  width: 100px;
  height: 100px;
  background: #f1f9ed;
  border-radius: 50%;
  z-index: -1;
  left: -5px;
}
.service_item .font_box {
  float: left;
  width: calc(100% - 70px);
  z-index: 9;
  position: relative;
}
.service_item .font_box h3 {
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8);
}
.service_item .font_box .con_font {
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8);
}

.sdgs_tag {
  float: left;
  width: 100%;
  padding: 10px 0px;
}
.sdgs_tag .title {
  float: left;
  width: 80px;
  padding-top: 7px;
}
.sdgs_tag .img {
  float: left;
  width: calc(100% - 80px);
}
.sdgs_tag .img img {
  width: 40px;
  border-radius: 4px;
  display: inline-block;
  margin: 2px 1px;
}

.service_con_02 {
  padding: 50px 0;
  background-image: url(../img/customer/servie_bg_02.jpg);
  background-repeat: repeat-x;
  background-position: bottom center;
}
.service_con_02 .container {
  margin: 0 auto;
  text-align: center;
}
.service_con_02 .item {
  display: inline-block;
  text-align: left;
  width: 29.3%;
  margin: 2%;
  float: none;
}

.service_title_box {
  text-align: center;
  background: #616161;
  background-image: url(../img/customer/servie_bg_03.png);
  background-size: cover;
  padding: 50px 0;
  position: relative;
  margin: 0 auto;
  text-align: center;
  overflow: hidden;
}
.service_title_box .title_b {
  font-family: Impact;
  font-size: 7em;
  color: rgba(255, 255, 255, 0.1);
  margin: -30px 0 10px 0;
}
.service_title_box h3 {
  color: #fff;
  letter-spacing: 0.3em;
  font-family: "微軟正黑體";
  font-weight: bold;
}
.service_title_box .con_font {
  color: rgba(255, 255, 255, 0.5);
}

.service_target_list {
  float: left;
  width: 100%;
  padding: 50px 0;
}
.service_target_list .item {
  display: inline-block;
  width: 33.3%;
  vertical-align: top;
  float: left;
}
.service_target_list .item .img {
  float: left;
  width: 50%;
}
.service_target_list .item .img img {
  width: 100%;
  opacity: 0.6;
}
.service_target_list .item .font {
  float: left;
  width: 50%;
  text-align: center;
  padding: 12% 5% 5% 5%;
}
.service_target_list .item .font .type {
  background: transparent;
  color: #666;
  font-size: 1.1em;
  font-weight: bold;
  margin-left: 0;
  width: 80px;
}
.service_target_list .item .font .type > div {
  font-size: 4em;
  font-family: Impact;
  color: #2e6f58;
  clear: both;
  height: 45px;
  font-weight: 400;
  position: relative;
}
.service_target_list .item .font .type > div:after {
  content: "";
  width: 80px;
  height: 80px;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  top: 0;
}
.service_target_list .item .font .title_01 {
  margin: 15px 0 0 0;
  font-size: 1.1em;
  line-height: 130%;
  opacity: 0.6;
}
.service_target_list .item:hover .img img {
  opacity: 1;
  border-radius: 50%;
  transition: all 0.5s;
}
.service_target_list .item:hover .title_01 {
  opacity: 1;
}
.service_target_list .item:hover:nth-child(5n+1) .title_01 {
  color: #2e6f58;
}
.service_target_list .item:hover:nth-child(5n+2) .title_01 {
  color: #349f8c;
}
.service_target_list .item:hover:nth-child(5n+3) .title_01 {
  color: #22a1bb;
}
.service_target_list .item:hover:nth-child(5n+4) .title_01 {
  color: #064f35;
}
.service_target_list .item:hover:nth-child(5n) .title_01 {
  color: #303753;
}
.service_target_list .item:nth-child(6n+4) .img, .service_target_list .item:nth-child(6n+5) .img, .service_target_list .item:nth-child(6n) .img {
  float: right;
}
.service_target_list .item:nth-child(5n+1) .type > div {
  color: #2e6f58;
}
.service_target_list .item:nth-child(5n+2) .type > div {
  color: #349f8c;
}
.service_target_list .item:nth-child(5n+3) .type > div {
  color: #22a1bb;
}
.service_target_list .item:nth-child(5n+4) .type > div {
  color: #064f35;
}
.service_target_list .item:nth-child(5n) .type > div {
  color: #303753;
}

/*news_list*/
.news_list {
  float: left;
  width: 100%;
}
.news_list .item {
  padding: 20px;
}
.news_list .item .img {
  z-index: 1;
  position: relative;
}
.news_list .item .img img {
  width: 100%;
}
.news_list .item .font {
  padding: 0 20px 20px 20px;
  position: relative;
  z-index: 99;
}
.news_list .item .font .date {
  margin: -15px 0 0 -20px;
}
.news_list .item .font .date span {
  background-color: #22a1bb;
  color: #fff;
  padding: 5px 15px;
  border-radius: 0 0 10px 0;
}
.news_list .item .font .title_01 {
  padding: 10px 0 5px 0;
}
.news_list .item .font .con_font {
  max-height: 80px;
  color: #616161;
  overflow: hidden;
}
.news_list .item .font .more {
  color: #c2d697;
  padding: 5px 0;
}
.news_list .item a {
  float: left;
  width: 100%;
}
.news_list .item a:hover .title_01 {
  color: #2e6f58;
}
.news_list .item a:hover .more {
  color: #2e6f58;
}

/*page_title*/
.page_title_b {
  font-family: Impact;
  font-size: 4.5em;
  color: rgba(0, 0, 0, 0.05);
}

.page_title {
  font-size: 1.5em;
  font-weight: bold;
  color: #303753;
}

/*case*/
.case_con .title_box {
  text-align: center;
  padding: 30px 0;
  vertical-align: top;
}
.case_con .title_box img {
  display: inline-block;
  height: 50px !important;
}
.case_con .title_box h3 {
  position: relative;
  display: inline-block;
  padding: 3px 0 0 38px;
  margin-bottom: 0;
  vertical-align: top;
}
.case_con .title_box h3:before {
  content: "";
  height: 30px;
  width: 1px;
  background: #f5b40c;
  position: absolute;
  display: inline-block;
  margin: 5px 20px 0 -20px;
}

.case_banner {
  position: relative;
}
.case_banner .font {
  position: absolute;
  font-family: Impact;
  font-size: 3em;
  color: rgba(194, 214, 151, 0.2);
  left: -155px;
  top: 185px;
  text-align: right;
  transform: rotateZ(-90deg);
}
.case_banner img {
  width: 100%;
}

.case_con_01 {
  margin: 50px auto 100px auto;
  width: 100%;
  max-width: 800px;
  text-align: center;
}
.case_con_01 .page_title {
  margin-bottom: 20px;
}

.case_con_02 {
  float: left;
  width: 100%;
  position: relative;
}
.case_con_02:before {
  content: "";
  width: 200vw;
  height: 90%;
  position: absolute;
  background: #ebf1f5;
  background-image: url(../img/customer/servie_bg_03.png);
  background-size: cover;
  z-index: -1;
  margin-left: -50vw;
}
.case_con_02 .img {
  float: left;
  width: 50%;
  position: relative;
}
.case_con_02 .img .pic_01 {
  position: absolute;
  top: -30px;
  left: 0;
  width: 80%;
  border-radius: 10px 0 0 0;
}
.case_con_02 .img .pic_02 {
  position: absolute;
  top: 200px;
  left: 40%;
  width: 55%;
  border-radius: 0 10px 0 0;
}
.case_con_02 .font {
  float: right;
  width: 50%;
  padding: 100px 5%;
}

.case_list {
  float: left;
  width: 100%;
  padding: 30px 0;
}
.case_list .item {
  float: left;
  width: 100%;
  padding: 20px 0;
}
.case_list .item:nth-child(5n+1) .no {
  color: #c2d697;
}
.case_list .item:nth-child(5n+2) .no {
  color: #349f8c;
}
.case_list .item:nth-child(5n+3) .no {
  color: #22a1bb;
}
.case_list .item:nth-child(5n+4) .no {
  color: #064f35;
}
.case_list .item:nth-child(5n) .no {
  color: #303753;
}
.case_list .no {
  float: left;
  width: 40px;
  font-family: Impact;
  font-size: 2.8em;
  position: relative;
  text-align: right;
}
.case_list .no:before {
  content: "";
  width: 50px;
  height: 50px;
  position: absolute;
  background-color: rgb(255, 255, 255);
  border-radius: 50%;
  left: 0;
  top: 0;
  z-index: -1;
}
.case_list .con_font {
  float: left;
  width: calc(100% - 40px);
  padding-left: 20px;
}

.case_con_03 {
  float: left;
  width: 100%;
}
.case_con_03 .font {
  float: left;
  width: 60%;
  padding: 5%;
}
.case_con_03 .img {
  float: right;
  width: 40%;
  position: relative;
}
.case_con_03 .img img {
  width: 100%;
  border-radius: 0 10px;
}
.case_con_03 .img:after {
  content: "";
  width: 200vw;
  height: 100%;
  background: #f5f5f5;
  position: absolute;
  z-index: -1;
  left: 50px;
  bottom: -50px;
}
.case_con_03 .no:before {
  background-color: #f5f5f5;
}

#case_img {
  margin-bottom: -50px;
}

#lg-close-1, #lg-download-1 {
  display: block !important;
}

/*contact_con*/
.contact_con {
  background: url(../img/customer/contact_bg.jpg);
  background-position: right top;
  background-size: cover;
  padding: 80px 0;
}

.contact_box {
  float: left;
  width: 100%;
  max-width: 700px;
  padding: 0 30px;
}
.contact_box .font {
  text-shadow: 0 1px 3px #fff;
}
.contact_box .list {
  float: left;
  width: 100%;
  padding: 30px 0;
}
.contact_box .list .item {
  float: left;
  width: 43%;
  padding: 20px 10px 20px 35px;
  margin: 2% 2% 2% 5%;
  background: rgba(255, 255, 255, 0.8);
  border: solid 1px #eee;
  border-radius: 10px;
  line-height: 150%;
}
.contact_box .list .item .icon {
  position: relative;
}
.contact_box .list .item .icon i {
  font-size: 1em;
  position: absolute;
  color: #fff;
  left: -41px;
  top: 4px;
}
.contact_box .list .item .icon:before {
  content: "";
  width: 50px;
  height: 50px;
  background: #2e6f58;
  border-radius: 50%;
  position: absolute;
  z-index: 0;
  left: -58px;
  top: -13px;
  border: solid 5px rgba(255, 255, 255, 0.8);
}
.contact_box .list .item:nth-child(1) .icon:before {
  background: #c2d697;
}
.contact_box .list .item:nth-child(2) .icon:before {
  background: #22a1bb;
}
.contact_box .list .item:nth-child(3) .icon:before {
  background: #f5b40c;
}
.contact_box .list .item:nth-child(4) .icon:before {
  background: #064f35;
}
.contact_box .list .item:nth-child(4) .icon i {
  left: -39px;
}
.contact_box .list .item:nth-child(2n+1) {
  clear: both;
}

.page_map {
  margin-bottom: -57px !important;
}

/*form*/
.form_box {
  float: left;
  width: 100%;
  padding: 10px 0;
  max-width: 1000px;
  margin: 0 auto;
}
.form_box .form_group {
  float: left;
  width: 100%;
  margin: 3px 0;
  border-bottom: dotted #eee 2px;
  padding-bottom: 5px;
}
.form_box .btn_01 {
  padding: 8px 40px;
}

.form-label {
  float: left;
  width: 150px;
  margin-bottom: 0;
  padding: 7px 15px 7px 0;
  text-align: right;
  font-family: LiSong;
}
.form-label:after {
  content: "/";
  display: inline-block;
  color: #2e6f58;
  padding: 0 10px;
  font-size: 0.7em;
  display: none;
}

.form-input {
  float: left;
  width: calc(100% - 150px);
}

.no_label {
  padding-top: 25px;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
  border-radius: 0.25rem;
}

.input-group-text {
  background: transparent;
  border: none;
  color: #666;
  font-size: 0.9em;
}

.form-select {
  margin: 0 1px;
  line-height: 200%;
}

input[type=file] {
  border-color: transparent;
}
input[type=file]:focus {
  border: none;
  box-shadow: none;
}

.form-check.disabled {
  opacity: 0.5;
}

input[type=checkbox], input[type=radio] {
  width: 20px;
  height: 20px;
  border: 1px solid #dee2e6;
  vertical-align: top;
  margin-top: 10px;
  margin-right: 5px;
}

.required_icon {
  position: relative;
}
.required_icon::before {
  content: "*";
  color: #900;
  display: block;
  position: absolute;
  left: -15px;
}

.form-check-input:checked {
  background-color: #2e6f58;
  border-color: #dee2e6;
}
.form-check-input:disabled {
  filter: grayscale(100%);
}
.form-check-input:focus {
  box-shadow: 0 0 0 0.25rem #c2d697 !important;
  border-color: #dee2e6;
}

.form-check-label {
  display: inline-block;
  margin-top: 6px;
}

.form_item {
  float: left;
  width: 100%;
}
.form_item .form_item_title {
  float: left;
  width: 100px;
  padding: 7px 10px 7px 0;
  text-align: right;
  color: #999;
}
.form_item .form_item_input {
  float: left;
  width: calc(100% - 100px);
}

input:invalid, input.invalid {
  border: 2px solid #22a1bb;
}

/***Hover效果1: 放大淡出***/
.imh_opacity {
  background: #000;
  overflow: hidden;
}
.imh_opacity img {
  transition: all 0.3s linear;
  -webkit-backface-visibility: hidden;
  width: 100%;
}

.imh_opacity:hover img, a:hover .imh_opacity img {
  opacity: 0.8;
  transform: scale(1.05);
}

/***Hover效果1: 放大淡出Detail***/
.imh_detail {
  background: #000;
  overflow: hidden;
  position: relative;
}
.imh_detail img {
  transition: all 0.3s linear;
  -webkit-backface-visibility: hidden;
  width: 100%;
}
.imh_detail a:before {
  display: block;
  content: "Details+";
  padding: 10px 20px;
  font-size: 13px;
  color: #FFF;
  border: 2px solid #FFF;
  opacity: 0;
  position: absolute;
  left: 50%;
  margin-left: -45px;
  top: 50%;
  margin-top: -80px;
  z-index: 99;
  transition: all 0.3s ease;
}
.imh_detail:hover a:before {
  opacity: 1;
  margin-top: -20px;
}
.imh_detail:hover img {
  opacity: 0.3;
  transform: scale(1.05);
}

/***Hover效果1: 放大淡出zoom***/
.imh_zoom {
  background: #000;
  overflow: hidden;
  position: relative;
}
.imh_zoom img {
  transition: all 0.3s linear;
  -webkit-backface-visibility: hidden;
  width: 100%;
}
.imh_zoom:before {
  display: block;
  font-family: "Font Awesome 6 free";
  font-weight: 900;
  font-size: 30px;
  color: #fff;
  background: #008000;
  width: 60px;
  height: 60px;
  line-height: 55px;
  text-align: center;
  border-radius: 100%;
  border: dashed #fff 2px;
  position: absolute;
  left: 50%;
  top: -30px;
  margin-top: -30px;
  margin-left: -30px;
  z-index: 99;
  transition: all 0.4s ease;
}

a:hover .imh_zoom:before {
  top: 50%;
}
a:hover .imh_zoom img {
  opacity: 0.6;
  transform: scale(1.05);
}

/***Hover效果1: 放大淡出down***/
.imh_down {
  background: #000;
  overflow: hidden;
  position: relative;
}
.imh_down img {
  transition: all 0.3s linear;
  -webkit-backface-visibility: hidden;
  width: 100%;
}
.imh_down:before {
  display: block;
  font-family: "Font Awesome 6 free";
  content: "\f019";
  font-weight: 900;
  font-size: 25px;
  color: #fff;
  background: #2e6f58;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  border-radius: 100%;
  position: absolute;
  left: 50%;
  top: -30px;
  margin-top: -30px;
  margin-left: -30px;
  z-index: 99;
  transition: all 0.4s ease;
}

a:hover .imh_down:before {
  top: 50%;
}
a:hover .imh_down img {
  opacity: 0.3;
  transform: scale(1.05);
}

/*動畫效果*/
/*旋轉*/
@keyframes rotateZ {
  from {
    transform: rotateZ(0);
  }
  to {
    transform: rotateZ(360deg);
  }
}
@keyframes rotateZ-2 {
  from {
    transform: rotateZ(0);
  }
  to {
    transform: rotateZ(-360deg);
  }
}
/*閃動*/
@keyframes icon_glitter {
  from {
    left: -95px;
  }
  to {
    left: 180%;
  }
}
/*縮放*/
@keyframes icon_scale {
  from {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.1, 1.1);
  }
  to {
    transform: scale(1, 1);
  }
}
/*右側icon左右移動*/
@keyframes right_icon_move {
  from {
    right: 25px;
  }
  50% {
    right: 15px;
  }
  to {
    right: 25px;
  }
}
/*閃爍按鈕*/
.glitter {
  overflow: hidden;
  position: relative;
}

.glitter:before {
  background: #fff;
  content: "";
  height: 215px;
  left: -95px;
  opacity: 0.2;
  position: absolute;
  top: -50px;
  transform: rotate(35deg);
  transition: all 1550ms cubic-bezier(0.19, 1, 0.22, 1);
  width: 30px;
  z-index: 1;
}

.glitter:hover:before {
  left: 180%;
  transition: all 1550ms cubic-bezier(0.19, 1, 0.22, 1);
}

/*--------------------------------------------------------------------------------------------------*/
@media (min-width: 576px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  h2 {
    font-size: 1.6em !important;
  }
  h3, .h3 {
    font-size: 1.4em;
  }
  h4, .title_01 {
    font-size: 1.2em;
  }
  .container {
    max-width: 100%;
  }
  /*header*/
  html:not(.sticky-header-active) #header .header-logo img {
    width: 280px !important;
  }
  header .header-logo img {
    width: 250px;
  }
  .header-nav-main .nav > li {
    padding: 0 7px;
  }
  .header-nav-main .nav > li > a {
    font-size: 0.9em !important;
  }
  .header-nav-main .nav > li:hover > a {
    color: #2e6f58 !important;
  }
  /*index_banner*/
  .index_banner {
    margin-top: 70px;
  }
  /*index_icon*/
  .index_icon .item {
    width: 24.5%;
    padding: 15px;
  }
  .index_icon .item .icon {
    width: 100px;
    height: 100px;
    border: solid 6px #d3e4ca;
    padding: 20px;
  }
  .index_icon .item .title {
    font-size: 1em;
  }
  /*index_title*/
  .index_title_b {
    font-size: 5.5em;
  }
  .index_title {
    font-size: 1.8em;
    margin-top: 0;
  }
  /*index_news*/
  .index_news .container .index_news_box .font_box {
    float: left;
    width: 80%;
    padding: 20px 8% 25px 30px;
  }
  .index_news .container .index_news_box .font_box .list {
    padding: 20px 0 0 0;
  }
  .index_news .container .index_news_box .font_box .list .item {
    padding: 20px 0;
  }
  .index_news .container .index_news_box .img {
    float: left;
    width: 20%;
  }
  /*index_case*/
  .index_case {
    padding: 10px 0 60px 0;
  }
  .index_case .index_case_box {
    margin: 30px auto;
  }
  .index_case .index_case_box .box .title_01 {
    margin-bottom: 10px;
  }
  /*footer*/
  #footer {
    padding: 20px 0;
    font-size: 1em;
  }
  /*main*/
  .menu_left .sidebar_menu, .menu_right .sidebar_menu {
    width: 260px;
    margin: 0;
  }
  .menu_left .main_con, .menu_right .main_con {
    width: calc(100% - 260px);
  }
  /*main_con*/
  .main_con {
    background-size: 150%;
  }
  /*page_banner*/
  .page_banner {
    padding: 120px 0 40px 0;
  }
  .page_banner .container {
    padding: 0 30px;
  }
  .page_banner .title_b {
    font-size: 2.5em;
  }
  .page_banner h2 {
    margin: 5px 0 0 0;
    font-size: 1.15em !important;
  }
  /*page_con*/
  .page_con h2 {
    font-size: 1.8em !important;
    padding: 20px 10px 5px 10px;
  }
  .page_con h2 span:before {
    width: 24px;
    height: 31px;
    left: -15px;
    top: -19px;
  }
  .page_con h2 span:after {
    width: 18px;
    height: 20px;
    left: -26px;
    top: 4px;
  }
  .page_bg_icon .container:before {
    width: 800px;
    height: 668px;
    top: -15%;
    right: -65%;
  }
  .page_bg_icon .container:after {
    width: 800px;
    height: 668px;
    top: 1200px;
    left: -65%;
  }
  /*about*/
  .about_build {
    font-size: 1.15em;
    padding: 50px 30px 60px 30px;
  }
  .about_font_box h3 {
    margin-bottom: 10px;
  }
  .about_con_01 {
    background: linear-gradient(to bottom, #f1f9ed 200px, #fff 200px);
  }
  .about_con_01 .about_img {
    float: left;
    width: 30%;
  }
  .about_con_01 .about_img .img_01 {
    left: -50px;
    top: -50px;
  }
  .about_con_01 .about_img .img_02 {
    width: 80%;
    max-width: 300px;
    right: 5%;
    top: 30px;
    border-radius: 0 0 20px 0;
  }
  .about_con_01 .about_font_box {
    float: right;
    width: 70%;
    padding: 3% 5% 5% 5%;
  }
  .about_con_02 {
    padding: 0;
  }
  .about_con_02 .about_font_box {
    float: left;
    width: 55%;
    padding: 5% 0 5% 3%;
  }
  .about_con_02 .about_img {
    float: left;
    width: 45%;
    right: -8%;
  }
  .about_con_02 .about_img:before {
    content: "";
    width: 110%;
    height: 100%;
    left: -50%;
    bottom: -60px;
    border-radius: 10px 0 0 0;
  }
  .about_con_03 {
    padding: 0;
    background: linear-gradient(to bottom, #fff 110px, #ebf1f5 110px);
  }
  .about_con_03 .about_img {
    float: left;
    width: 40%;
    left: -8%;
  }
  .about_con_03 .about_font_box {
    float: right;
    width: 70%;
    padding: 2% 3% 7% 7%;
  }
  /*team_list*/
  .team_list .item {
    width: 32%;
  }
  .team_list .item:nth-child(5n+1), .team_list .item:nth-child(4n+1) {
    clear: none;
  }
  .team_list .item:nth-child(3n+1) {
    clear: both;
  }
  /*service_con*/
  .service_con_01 {
    background-position: -350px top;
  }
  .service_con_01 .font {
    float: right;
    width: 80%;
  }
  .service_con_01 .font .service_item {
    float: right;
    width: 100%;
    max-width: 650px;
  }
  .service_con_01 .font .service_item:nth-child(1) {
    margin-left: 0;
  }
  .service_con_01 .font .service_item:nth-child(2) {
    margin-left: 0;
  }
  .service_item {
    padding: 70px 20px 0 20px;
  }
  .service_item .no {
    float: left;
    width: 60px;
    font-size: 6.5em;
    margin-top: -22px;
    height: 90px;
  }
  .service_item .no:before {
    width: 90px;
    height: 90px;
    left: -10px;
  }
  .service_item .font_box {
    float: left;
    width: calc(100% - 60px);
  }
  .service_con_02 {
    background-size: 80%;
    background-repeat: repeat-x;
    background-position-x: 400px;
  }
  .service_con_02 .item {
    width: 46%;
    margin: 2%;
  }
  .service_con_02 .item:nth-child(2n) {
    margin-top: 100px;
  }
  .service_title_box {
    padding: 30px 0;
  }
  .service_title_box .title_b {
    font-size: 5em;
    margin: -20px 0 10px 0;
  }
  .service_title_box h3 {
    margin-top: -10px;
  }
  .service_target_list {
    padding: 40px 0;
  }
  .service_target_list .item {
    width: 50%;
  }
  .service_target_list .item .font {
    padding: 12% 5% 0 5%;
  }
  .service_target_list .item .font .type {
    font-size: 1em;
    width: 80px;
    height: 80px;
  }
  .service_target_list .item .font .type > div {
    font-size: 4em;
    height: 40px;
  }
  .service_target_list .item .font .type > div:after {
    width: 80px;
    height: 80px;
    left: -15px;
  }
  .service_target_list .item .font .title_01 {
    margin: 15px 0 0 0;
    font-size: 1.1em;
  }
  .service_target_list .item:nth-child(6n+4) .img, .service_target_list .item:nth-child(6n+5) .img, .service_target_list .item:nth-child(6n) .img {
    float: none;
  }
  .service_target_list .item:nth-child(4n+3) .img, .service_target_list .item:nth-child(4n) .img {
    float: right;
  }
  .service_target_list .item:nth-child(4n+1) .img, .service_target_list .item:nth-child(4n+2) .img {
    float: left;
  }
  .service_target_list .item:nth-child(3n+1) {
    clear: none;
  }
  .service_target_list .item:nth-child(2n+1) {
    clear: both;
  }
  /*news_list*/
  .news_list {
    padding: 20px 0;
  }
  .news_list .item {
    float: left;
    width: 50%;
    padding: 20px;
  }
  .news_list .item:nth-child(3n+1) {
    clear: none;
  }
  .news_list .item:nth-child(2n+1) {
    clear: both;
  }
  .news_list .item .font {
    padding: 0 10px 10px 10px;
  }
  .news_list .item .font .date {
    margin: -15px 0 0 0;
  }
  .news_list .item .font .date span {
    padding: 5px 10px;
  }
  /*page_title*/
  .page_title_b {
    font-size: 3em;
  }
  .page_title {
    font-size: 1.4em;
  }
  /*case*/
  .case_con .title_box img {
    height: 40px !important;
  }
  .case_con .title_box h3:before {
    height: 25px;
    margin: 5px 20px 0 -20px;
  }
  .case_con_01 {
    margin: 30px auto 70px auto;
  }
  .case_con_02 .img {
    float: left;
    width: 40%;
  }
  .case_con_02 .img .pic_02 {
    top: 100px;
  }
  .case_con_02 .font {
    float: right;
    width: 60%;
    padding: 70px 5% 50px 5%;
  }
  .container:has(.case_con_02) {
    padding: 20px 30px 0 30px;
  }
  .case_con_03 .font {
    float: left;
    width: 70%;
  }
  .case_con_03 .img {
    float: right;
    width: 30%;
  }
  /*contact_con*/
  .contact_con {
    background-position: right top;
  }
}
@media (min-width: 992px) {
  h2 {
    font-size: 2em !important;
  }
  h3, .h3 {
    font-size: 1.7em;
  }
  h4, .title_01 {
    font-size: 1.375em;
  }
  .container {
    max-width: 100% !important;
  }
  /*header*/
  html:not(.sticky-header-active) #header .header-logo img {
    width: 350px !important;
  }
  #header .header-logo img {
    width: 350px !important;
  }
  .header-nav-main .nav > li {
    padding: 0 15px;
  }
  .header-nav-main .nav > li > a {
    font-size: 1em !important;
  }
  /*index_banner*/
  .index_banner {
    margin-top: 80px;
  }
  /*index_icon*/
  .index_icon .item {
    width: 13.5%;
    padding: 15px;
  }
  .index_icon .item .icon {
    width: 100px;
    height: 100px;
    border: solid 6px #d3e4ca;
    padding: 20px;
  }
  /*index_title*/
  .index_title_b {
    font-size: 7em;
  }
  .index_title {
    font-size: 2.25em;
    margin-top: 24px;
  }
  /*index_news*/
  .index_news .container .index_news_box .font_box {
    float: left;
    width: 80%;
    padding: 20px 8% 25px 30px;
  }
  .index_news .container .index_news_box .font_box .list {
    padding: 40px 0 0 0;
  }
  .index_news .container .index_news_box .font_box .list .item {
    padding: 25px 0;
  }
  .index_news .container .index_news_box .img {
    float: left;
    width: 20%;
  }
  /*index_case*/
  .index_case {
    padding: 20px 0 100px 0;
  }
  .index_case .index_case_box {
    margin: 50px auto;
  }
  /*index_link*/
  .index_link .container {
    padding: 0;
  }
  /*footer*/
  #footer {
    font-size: 1em;
  }
  /*main*/
  .menu_left .sidebar_menu, .menu_right .sidebar_menu {
    width: 300px;
  }
  .menu_left .main_con, .menu_right .main_con {
    width: calc(100% - 300px);
  }
  /*main_con*/
  .main_con {
    background-size: 150%;
  }
  /*page_con*/
  .page_con h2 {
    font-size: 2em !important;
    padding: 50px 20px 20px 20px;
  }
  .page_con h2 span:before {
    width: 28px;
    height: 36px;
    left: -17px;
    top: -22px;
  }
  .page_con h2 span:after {
    width: 22px;
    height: 24px;
    left: -30px;
    top: 6px;
  }
  /*page_banner*/
  .page_banner {
    padding: 130px 10px 40px 10px;
  }
  .page_banner .container {
    padding: 0 30px;
  }
  .page_banner .title_b {
    font-size: 3em;
  }
  .page_banner h2 {
    margin: 10px 0 0 0;
    font-size: 1.25em !important;
  }
  /*about*/
  .about_build {
    font-size: 1.5em;
    padding: 50px 30px 70px 30px;
  }
  .about_font_box h3 {
    margin-bottom: 20px;
  }
  .about_con_01 {
    background: linear-gradient(to bottom, #f1f9ed 300px, #fff 300px);
  }
  .about_con_01 .about_img {
    float: left;
    width: 50%;
  }
  .about_con_01 .about_img .img_01 {
    left: -150px;
    top: -50px;
  }
  .about_con_01 .about_img .img_02 {
    right: 5%;
    top: 30px;
    border-radius: 0 0 50px 0;
  }
  .about_con_01 .about_font_box {
    float: right;
    width: 50%;
    padding: 4% 5% 5% 5%;
  }
  .about_con_02 {
    padding: 30px 0 0 0;
  }
  .about_con_02 .about_font_box {
    float: left;
    width: 40%;
    padding: 5% 0 5% 5%;
  }
  .about_con_02 .about_img {
    float: left;
    width: 60%;
    right: -80px;
  }
  .about_con_02 .about_img:before {
    content: "";
    width: 90%;
    height: 80%;
    left: -30%;
    bottom: -40px;
    z-index: -1;
    border-radius: 20px 0 0 0;
  }
  .about_con_03 {
    padding: 20px 0 0 0;
    background: linear-gradient(to bottom, #fff 150px, #ebf1f5 150px);
  }
  .about_con_03 .about_img {
    float: left;
    width: 40%;
    left: -3%;
  }
  .about_con_03 .about_font_box {
    float: right;
    width: 60%;
    padding: 2% 5% 7% 5%;
  }
  /*team_list*/
  .team_list .item {
    width: 24%;
  }
  .team_list .item:nth-child(5n+1), .team_list .item:nth-child(3n+1) {
    clear: none;
  }
  .team_list .item:nth-child(4n+1) {
    clear: both;
  }
  /*service_con*/
  .service_con_01 {
    background-position: -300px top;
  }
  .service_con_01 .font {
    float: right;
    width: 60%;
  }
  .service_con_01 .font .service_item {
    max-width: 650px;
  }
  .service_con_01 .font .service_item:nth-child(1) {
    margin-right: 20%;
  }
  .service_con_01 .font .service_item:nth-child(2) {
    margin-left: 20%;
  }
  .service_item {
    padding: 70px 20px 0 20px;
  }
  .service_item .no {
    float: left;
    width: 60px;
    font-size: 6.5em;
    margin-top: -22px;
    height: 90px;
  }
  .service_item .no:before {
    width: 90px;
    height: 90px;
    left: -10px;
  }
  .service_item .font_box {
    float: left;
    width: calc(100% - 60px);
  }
  .service_con_02 {
    background-size: 80%;
    background-repeat: repeat-x;
    background-position-x: 400px;
  }
  .service_con_02 .item {
    width: 46%;
    margin: 2%;
  }
  .service_con_02 .item:nth-child(2n) {
    margin-top: 100px;
  }
  .service_title_box {
    padding: 50px 0;
  }
  .service_title_box .title_b {
    font-size: 7em;
    margin: -30px 0 10px 0;
  }
  .service_title_box h3 {
    margin-top: 0;
  }
  .service_target_list {
    padding: 40px 0;
  }
  .service_target_list .item {
    width: 33.3%;
  }
  .service_target_list .item .font {
    padding: 9% 5% 0 5%;
  }
  .service_target_list .item .font .type {
    font-size: 1em;
    width: 70px;
    height: 70px;
  }
  .service_target_list .item .font .type > div {
    font-size: 3.5em;
    height: 40px;
  }
  .service_target_list .item .font .type > div:after {
    width: 70px;
    height: 70px;
    left: -15px;
  }
  .service_target_list .item .font .title_01 {
    margin: 10px 0 0 0;
    font-size: 1.1em;
  }
  .service_target_list .item:nth-child(4n+1) .img, .service_target_list .item:nth-child(4n+2) .img, .service_target_list .item:nth-child(4n+3) .img, .service_target_list .item:nth-child(4n) .img {
    float: none;
  }
  .service_target_list .item:nth-child(6n+1) .img, .service_target_list .item:nth-child(6n+2) .img, .service_target_list .item:nth-child(6n+3) .img {
    float: left !important;
  }
  .service_target_list .item:nth-child(6n+4) .img, .service_target_list .item:nth-child(6n+5) .img, .service_target_list .item:nth-child(6n) .img {
    float: right !important;
  }
  .service_target_list .item:nth-child(2n+1) {
    clear: none;
  }
  .service_target_list .item:nth-child(3n+1) {
    clear: both;
  }
  /*news_list*/
  .news_list {
    padding: 20px 0;
  }
  .news_list .item {
    float: left;
    width: 33.3%;
    padding: 20px;
  }
  .news_list .item:nth-child(2n+1) {
    clear: none;
  }
  .news_list .item:nth-child(3n+1) {
    clear: both;
  }
  /*page_title*/
  .page_title_b {
    font-size: 4.5em;
  }
  .page_title {
    font-size: 1.5em;
  }
  /*case*/
  .case_con .title_box img {
    height: 50px !important;
  }
  .case_con .title_box h3:before {
    height: 30px;
    margin: 5px 20px 0 -20px;
  }
  .case_con_01 {
    margin: 50px auto 100px auto;
  }
  .case_con_02 .img {
    float: left;
    width: 50%;
  }
  .case_con_02 .img .pic_02 {
    top: 200px;
  }
  .case_con_02 .font {
    float: right;
    width: 50%;
    padding: 100px 5%;
  }
  .container:has(.case_con_02) {
    padding: 20px 30px;
  }
  .case_con_03 .font {
    float: left;
    width: 60%;
  }
  .case_con_03 .img {
    float: right;
    width: 40%;
  }
  /*contact_con*/
  .contact_con {
    background-position: right top;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 100% !important;
  }
  /*header*/
  html:not(.sticky-header-active) #header .header-logo img {
    width: 470px !important;
  }
  #header .header-logo img {
    width: 470px;
  }
  .header-nav-main .nav > li > a {
    font-size: 1.2em !important;
  }
  /*index_banner*/
  .index_banner {
    margin-top: 0;
  }
  /*index_icon*/
  .index_icon .item {
    padding: 20px;
  }
  .index_icon .item .icon {
    width: 125px;
    height: 125px;
    border: solid 8px #d5e2de;
    padding: 25px;
  }
  /*index_title*/
  .index_title_b {
    font-size: 8em;
  }
  .index_title {
    font-size: 2.5em;
  }
  /*index_news*/
  .index_news .container .index_news_box .font_box {
    float: left;
    width: 60%;
    padding: 20px 8% 25px 30px;
  }
  .index_news .container .index_news_box .font_box .list {
    padding: 40px 0 0 0;
  }
  .index_news .container .index_news_box .font_box .list .item {
    padding: 25px 0;
  }
  .index_news .container .index_news_box .img {
    float: left;
    width: 40%;
  }
  /*index_link*/
  .index_link .container {
    padding: 0 5%;
  }
  /*footer*/
  #footer {
    padding: 30px 0;
    font-size: 1.1em;
  }
  /*page_banner*/
  .page_banner {
    padding: 160px 0 60px 0;
  }
  .page_banner .container {
    padding: 0 30px;
  }
  .page_banner .title_b {
    font-size: 3.5em;
  }
  .page_banner h2 {
    margin: 20px 0 0 0;
    font-size: 1.25em !important;
  }
  /*page_con*/
  .page_bg_icon .container:before {
    width: 1113px;
    height: 929px;
    top: -15%;
    right: -65%;
  }
  .page_bg_icon .container:after {
    width: 1113px;
    height: 929px;
    top: 1500px;
    left: -65%;
  }
  /*about*/
  .about_build {
    font-size: 1.5em;
    padding: 80px 30px 100px 30px;
  }
  .about_con_01 .about_img {
    float: left;
    width: 60%;
  }
  .about_con_01 .about_img .img_01 {
    left: -50px;
    top: -50px;
  }
  .about_con_01 .about_img .img_02 {
    right: 5%;
    top: 30px;
  }
  .about_con_01 .about_font_box {
    float: right;
    width: 40%;
    padding: 5%;
  }
  .about_con_02 {
    padding: 30px 0px;
  }
  .about_con_02 .about_font_box {
    float: left;
    width: 50%;
    padding: 5%;
  }
  .about_con_02 .about_img {
    float: left;
    width: 50%;
  }
  .about_con_02 .about_img:before {
    content: "";
    width: 90%;
    height: 80%;
    left: -40%;
    bottom: -40px;
    z-index: -1;
    border-radius: 20px 0 0 0;
  }
  .about_con_03 {
    padding: 50px 0 0 0;
    background: linear-gradient(to bottom, #fff 190px, #ebf1f5 190px);
  }
  .about_con_03 .about_img {
    float: left;
    width: 45%;
    left: -3%;
  }
  .about_con_03 .about_font_box {
    float: right;
    width: 55%;
    padding: 2% 5% 7% 5%;
  }
  /*team_list*/
  .team_list .item {
    width: 19%;
  }
  .team_list .item:nth-child(4n+1), .team_list .item:nth-child(3n+1) {
    clear: none;
  }
  .team_list .item:nth-child(5n+1) {
    clear: both;
  }
  /*service_con*/
  .service_con_01 .font {
    float: right;
    width: 60%;
  }
  .service_con_01 .font .service_item {
    max-width: 650px;
  }
  .service_con_01 .font .service_item:nth-child(1) {
    margin-right: 20%;
  }
  .service_con_01 .font .service_item:nth-child(2) {
    margin-left: 20%;
  }
  .service_item {
    padding: 90px 20px 70px 20px;
  }
  .service_item .no {
    float: left;
    width: 70px;
    font-size: 8em;
    margin-top: -32px;
    height: 100px;
  }
  .service_item .no:before {
    width: 100px;
    height: 100px;
    left: -5px;
  }
  .service_item .font_box {
    float: left;
    width: calc(100% - 70px);
  }
  .service_con_02 {
    background-size: 50%;
    background-repeat: repeat-x;
    background-position: bottom center;
  }
  .service_con_02 .item {
    width: 29.3%;
    margin: 2%;
  }
  .service_con_02 .item:nth-child(2n) {
    margin-top: 2%;
  }
  .service_target_list {
    padding: 50px 0;
  }
  .service_target_list .item {
    width: 33.3%;
  }
  .service_target_list .item .font {
    padding: 12% 5% 2% 5%;
  }
  .service_target_list .item .font .type {
    font-size: 1.1em;
    width: 80px;
    height: 80px;
  }
  .service_target_list .item .font .type > div {
    font-size: 4em;
    height: 45px;
  }
  .service_target_list .item .font .type > div:after {
    width: 80px;
    height: 80px;
    left: -15px;
  }
  .service_target_list .item .font .title_01 {
    margin: 15px 0 0 0;
    font-size: 1.1em;
  }
  .service_target_list .item:nth-child(6n+4) .img, .service_target_list .item:nth-child(6n+5) .img, .service_target_list .item:nth-child(6n) .img {
    float: right;
  }
  /*news_list*/
  .news_list {
    padding: 40px 0;
  }
  .news_list .item .font {
    padding: 0 20px 20px 20px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1400px !important;
  }
  /*about*/
  .about_con_01 .about_img {
    float: left;
    width: 60%;
  }
  .about_con_01 .about_img .img_01 {
    left: -50px;
    top: -50px;
  }
  .about_con_01 .about_img .img_02 {
    right: 5%;
    top: 30px;
  }
  .about_con_01 .about_font_box {
    float: right;
    width: 40%;
    padding: 5%;
  }
  .about_con_02 {
    padding: 50px 0px;
  }
  .about_con_03 {
    padding: 50px 0 0 0;
    background: linear-gradient(to bottom, #fff 190px, #ebf1f5 190px);
  }
  .about_con_03 .about_img {
    float: left;
    width: 55%;
    left: -3%;
  }
  .about_con_03 .about_font_box {
    float: right;
    width: 45%;
    padding: 2% 5% 7% 5%;
  }
  /*service_con*/
  .service_con_01 {
    background-position: left top;
  }
}
@media (max-width: 767px) {
  h2 {
    font-size: 1.4em !important;
  }
  h3, .h3 {
    font-size: 1.3em;
  }
  h4, .title_01 {
    font-size: 1.2em;
  }
  h5 {
    font-size: 1.1em;
  }
  .post-date {
    width: 70px;
    font-size: 0.8em;
  }
  .post-date .day {
    padding: 0 0 5px 0;
  }
  /*header*/
  #header .header-nav-features .fa-search {
    font-size: 1.4em;
    color: #99cccc;
  }
  #header .header-body {
    background-color: #fff !important;
  }
  #header .header-nav {
    min-height: auto !important;
    height: 50px;
  }
  #header .header-logo {
    width: auto;
    height: 50px !important;
    margin: 0 !important;
  }
  #header .header-logo img {
    width: auto;
    height: 50px !important;
    padding: 5px 0;
  }
  #header .header-nav-main nav {
    background: #2e6f58;
    padding: 0;
    margin: 0 -5px 0 -1px;
    max-height: 70vh;
  }
  #header .header-nav-main nav .nav {
    padding: 0;
    margin: 0;
  }
  #header .header-nav-main nav .nav > li::before {
    display: none;
  }
  #header .header-nav-main nav .nav a {
    float: left;
    width: 100%;
    font-size: 1em;
    padding: 10px 10px 10px 15px !important;
    margin: 0 !important;
    color: #fff !important;
    line-height: normal;
  }
  #header .header-nav-main nav .nav a:active {
    background: rgba(0, 0, 0, 0.2);
  }
  #header .header-nav-main nav .nav li.dropdown.open > .dropdown-menu {
    font-size: 1em;
    float: left;
    width: 100%;
    margin-left: 0;
    background: rgba(0, 0, 0, 0.2) !important;
  }
  #header .header-nav-main nav .nav li.dropdown.open > .dropdown-menu li {
    border-bottom: 1px solid #e8e8e8;
  }
  #header .header-nav-main nav .nav li.dropdown.open > .dropdown-menu a {
    padding: 10px 10px 10px 30px !important;
  }
  #header .header-nav-main nav .nav li.dropdown-submenu.open > .dropdown-menu {
    font-size: 1em;
    float: left;
    width: 100%;
    background: #666;
    margin-left: 0 !important;
  }
  #header .header-nav-main nav .nav li.dropdown-submenu.open > .dropdown-menu a {
    padding: 10px 10px 10px 45px !important;
  }
  #header .header-btn-collapse-nav {
    background: #2e6f58;
    color: #fff;
    border-radius: 4px;
    margin: 0;
    padding: 7px 15px;
  }
  #header .header-nav-features {
    padding: 3px 15px 0 10px;
    margin-right: 0;
  }
  #header .header-nav-features input {
    padding: 0 8px;
  }
  #header .header-nav-features .fa-search {
    font-size: 1em;
  }
  #header .header-nav-features .header-nav-features-dropdown.show {
    top: 7px;
    width: 100vw;
    background: #ccc;
    right: -47px;
    padding: 5px;
  }
  /*index_banner*/
  .index_banner {
    margin-top: 50px;
  }
  /*index_icon*/
  .index_icon .item {
    width: 23.5%;
    padding: 10px;
  }
  .index_icon .item .icon {
    width: 100px;
    height: 100px;
    border: solid 6px #d3e4ca;
    padding: 20px;
  }
  .index_icon .item .title {
    font-size: 0.8em;
  }
  /*index_title*/
  .index_title_b {
    font-size: 5em;
  }
  .index_title {
    font-size: 1.8em;
    margin-top: 0;
  }
  /*index_news*/
  .index_news .container .index_news_box .font_box {
    float: left;
    width: 100%;
    padding: 20px;
    margin-top: -10px;
  }
  .index_news .container .index_news_box .font_box .list {
    padding: 15px 0 0 0;
  }
  .index_news .container .index_news_box .font_box .list .item {
    padding: 20px 0;
  }
  .index_news .container .index_news_box .font_box .list .font {
    float: left;
    width: calc(100% - 70px);
    padding: 0 0 0 15px;
  }
  .index_news .container .index_news_box .img {
    display: none;
  }
  /*index_case*/
  .index_case {
    padding: 0 0 50px 0;
  }
  .index_case .index_case_box {
    margin: 30px auto;
  }
  .index_case .index_case_box .box {
    padding: 20px;
  }
  .index_case .index_case_box .box .title_01 {
    margin-bottom: 5px;
  }
  /*index_link*/
  .index_link {
    padding: 10px 0;
  }
  /*footer*/
  #footer {
    font-size: 0.6em;
    padding: 10px 0;
  }
  /*page_banner*/
  .page_banner {
    margin-top: 50px;
    padding: 20px 0;
  }
  .page_banner .container {
    padding: 0 20px;
  }
  .page_banner .title_b {
    font-size: 1.8em;
  }
  .page_banner h2 {
    margin: 0;
    font-size: 0.7em !important;
  }
  /*page_con*/
  .page_con h2 {
    font-size: 1.4em !important;
    padding: 20px 10px 5px 10px;
  }
  .page_con h2 span:before {
    width: 16px;
    height: 21px;
    left: -9px;
    top: -13px;
  }
  .page_con h2 span:after {
    width: 12px;
    height: 13px;
    left: -17px;
    top: 3px;
  }
  .page_con h3 span:before {
    top: 0;
  }
  .page_con .container {
    padding: 20px 5%;
  }
  .page_bg_icon .container:before {
    width: 500px;
    height: 417px;
    top: -5%;
    right: -80%;
  }
  .page_bg_icon .container:after {
    width: 500px;
    height: 417px;
    top: 1200px;
    left: -80%;
  }
  /*page_number*/
  #page_number .page_icon {
    text-align: center;
  }
  /*edit_con*/
  .edit_con {
    padding: 10px 0 10px 0 !important;
  }
  /*about*/
  .about_build {
    font-size: 1.1em;
    padding: 30px;
  }
  .about_font_box h3 {
    margin-bottom: 10px;
  }
  .about_con_01 {
    padding: 30px 0 0 0;
    background: linear-gradient(to bottom, #f1f9ed 200px, #fff 200px);
  }
  .about_con_01 .about_img {
    float: left;
    width: 30%;
  }
  .about_con_01 .about_img .img_01 {
    left: -50px;
    top: -70px;
    display: none;
  }
  .about_con_01 .about_img .img_02 {
    width: 110%;
    max-width: 300px;
    left: -30px;
    right: auto;
    top: 0;
  }
  .about_con_01 .about_font_box {
    float: right;
    width: 70%;
    padding: 0 3% 5% 5%;
  }
  .about_con_02 {
    padding: 0;
  }
  .about_con_02 .about_font_box {
    float: left;
    width: 100%;
    padding: 5%;
    position: relative;
  }
  .about_con_02 .about_font_box:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    right: -55%;
    bottom: 0;
    border-radius: 10px 0 0 0;
    position: absolute;
    z-index: -1;
  }
  .about_con_02 .about_img {
    display: none;
  }
  .about_con_03 {
    padding: 10px 0 0 0;
    background: linear-gradient(to bottom, #fff 110px, #ebf1f5 110px);
  }
  .about_con_03 .about_img {
    float: left;
    width: 40%;
    left: -8%;
  }
  .about_con_03 .about_font_box {
    float: right;
    width: 70%;
    padding: 2% 3% 7% 7%;
  }
  /*team_list*/
  .team_list {
    padding: 0;
  }
  .team_list .item {
    width: 48%;
    padding: 20px 5%;
  }
  .team_list .item:nth-child(2n+1) {
    clear: both;
  }
  .team_list .item .font {
    border-radius: 0 5px 0 5px;
  }
  .team_list .item .font:before {
    border-radius: 0 5px 0 5px;
  }
  /*service_con*/
  .service_con_01 {
    background-position: -450px top;
  }
  .service_con_01 .font {
    float: right;
    width: 100%;
  }
  .service_con_01 .font .service_item {
    float: right;
    width: 100%;
    max-width: 650px;
    margin-left: 0;
  }
  .service_item {
    padding: 70px 0 0 0;
  }
  .service_item .no {
    float: left;
    width: 50px;
    font-size: 5em;
    margin-top: -22px;
    height: 80px;
  }
  .service_item .no:before {
    width: 80px;
    height: 80px;
    left: -10px;
  }
  .service_item .font_box {
    float: left;
    width: calc(100% - 50px);
  }
  .service_con_02 {
    background-size: 200%;
    background-position-x: 50px;
  }
  .service_con_02 .item {
    width: 96%;
    margin: 2% 0;
  }
  .service_title_box {
    padding: 30px 0 20px 0;
  }
  .service_title_box .title_b {
    font-size: 3em;
    margin: -30px 0 10px 0;
  }
  .service_title_box h3 {
    margin-top: -20px;
    margin-bottom: 0;
  }
  .service_target_list {
    padding: 30px 0;
  }
  .service_target_list .item {
    width: 50%;
  }
  .service_target_list .item .font {
    padding: 10% 5% 0 5%;
  }
  .service_target_list .item .font .type {
    font-size: 0.9em;
    width: 60px;
    height: 60px;
  }
  .service_target_list .item .font .type > div {
    font-size: 3em;
    height: 30px;
  }
  .service_target_list .item .font .type > div:after {
    width: 60px;
    height: 60px;
    left: -15px;
  }
  .service_target_list .item .font .title_01 {
    margin: 10px 0 0 0;
    font-size: 1em;
  }
  .service_target_list .item:nth-child(4n+3) .img, .service_target_list .item:nth-child(4n) .img {
    float: right;
  }
  .service_target_list .item:nth-child(4n+1) .img, .service_target_list .item:nth-child(4n+2) .img {
    float: left;
  }
  /*news_list*/
  .news_list {
    padding: 20px 0;
  }
  .news_list .item {
    float: left;
    width: 50%;
    padding: 20px;
  }
  .news_list .item:nth-child(2n+1) {
    clear: both;
  }
  .news_list .item .font {
    padding: 0 10px 10px 10px;
  }
  .news_list .item .font .date {
    margin: -15px 0 0 -10px;
    font-size: 0.9em;
  }
  .news_list .item .font .date span {
    padding: 5px 10px;
  }
  /*page_title*/
  .page_title_b {
    font-size: 3em;
  }
  .page_title {
    font-size: 1.3em;
  }
  /*case*/
  .case_con .title_box {
    padding: 15px 0 5px 0;
  }
  .case_con .title_box img {
    height: 40px !important;
  }
  .case_con .title_box h3 {
    padding: 4px 0 0 24px;
  }
  .case_con .title_box h3:before {
    height: 20px;
    margin: 4px 20px 0 -15px;
  }
  .case_banner .font {
    font-size: 1.5em;
    left: -75px;
    top: 95px;
  }
  .case_con_01 {
    margin: 30px auto 70px auto;
  }
  .case_con_02 .img {
    float: left;
    width: 100%;
  }
  .case_con_02 .img .pic_02 {
    top: 150px;
  }
  .case_con_02 .font {
    float: right;
    width: 100%;
    padding: 70% 5% 50px 5%;
  }
  .case_con_02:before {
    height: 100%;
  }
  .container:has(.case_con_02) {
    padding: 20px 30px;
  }
  .case_con_03 .font {
    float: left;
    width: 100%;
  }
  .case_con_03 .img {
    float: left;
    width: 100%;
    margin-bottom: 30px;
  }
  .case_con_03 .img img {
    width: 50%;
    margin-left: -20px;
    border-radius: 0 10px 0 0;
  }
  .case_con_03 .img:after {
    height: 70%;
    bottom: -30px;
  }
  /*contact_con*/
  .contact_con {
    background-position: 0 top;
    padding: 20px 0;
  }
  .contact_box {
    padding: 0;
  }
  .contact_box .list {
    padding: 30px 0;
  }
  .contact_box .list .item {
    float: left;
    width: 43%;
    margin: 2% 2% 2% 5%;
  }
}
/*手機版*/
@media (max-width: 576px) {
  .post-date {
    width: 50px;
    font-size: 0.6em;
    padding: 5px;
  }
  .post-date .day {
    padding: 0;
    margin-bottom: 0px;
  }
  /*index_icon*/
  .index_icon .item {
    padding: 5px;
  }
  .index_icon .item .icon {
    width: 70px;
    height: 70px;
    border: solid 5px #d3e4ca;
    padding: 15px;
  }
  .index_icon .item .title {
    font-size: 0.6em;
    padding-top: 5px;
  }
  /*index_title*/
  .index_title_b {
    font-size: 3.5em;
  }
  .index_title {
    font-size: 1.6em;
    margin-top: -8px;
  }
  /*index_news*/
  .index_news .container .index_news_box .font_box {
    float: left;
    width: 100%;
    padding: 15px;
    margin-top: -10px;
  }
  .index_news .container .index_news_box .font_box .list {
    padding: 0;
  }
  .index_news .container .index_news_box .font_box .list .item {
    padding: 15px 0;
  }
  .index_news .container .index_news_box .font_box .list .font {
    float: left;
    width: 100%;
    padding: 8px 0 0 0;
  }
  /*about*/
  .about_build {
    font-size: 1em;
    padding: 20px;
  }
  .about_con_01 .about_img {
    float: left;
    width: 10%;
    left: -33%;
  }
  .about_con_01 .about_img .img_02 {
    width: 450%;
    right: 0 !important;
    border-radius: 10px 0 0 0;
  }
  .about_con_01 .about_font_box {
    float: right;
    width: 90%;
    padding: 0 5% 5% 5%;
  }
  .about_con_03 {
    padding: 0;
    background: #fff;
  }
  .about_con_03 .about_img {
    float: left;
    width: 120%;
    position: relative;
    left: -10%;
  }
  .about_con_03 .about_img img {
    border-radius: 0;
  }
  .about_con_03 .about_font_box {
    float: left;
    width: 100%;
    padding: 8% 5% 15% 5%;
  }
  /*team_modal*/
  .team_modal .img {
    float: left;
    width: 100%;
  }
  .team_modal .font {
    float: left;
    width: 100%;
    padding: 20px;
  }
  /*service_con*/
  .service_target_list {
    padding: 30px 0;
  }
  .service_target_list .item {
    width: 100%;
  }
  .service_target_list .item .font {
    padding: 10% 5% 0 5%;
  }
  .service_target_list .item .font .type {
    font-size: 0.9em;
  }
  .service_target_list .item .font .type > div {
    font-size: 3em;
    height: 30px;
  }
  .service_target_list .item .font .type > div:after {
    width: 60px;
    height: 60px;
    left: -16px;
  }
  .service_target_list .item .font .title_01 {
    margin: 10px 0 0 0;
    font-size: 1em;
  }
  .service_target_list .item:nth-child(2n) .img {
    float: right;
  }
  .service_target_list .item:nth-child(2n+1) .img {
    float: left;
  }
  /*news_list*/
  .news_list .item {
    float: left;
    width: 100%;
    padding: 15px 0;
  }
  /*case*/
  .case_con_02 .img .pic_02 {
    top: 100px;
  }
  .case_con_02 .font {
    padding: 80% 5% 50px 5%;
  }
  /*contact_con*/
  .contact_con {
    background-position: -400px top;
  }
  .contact_box .list .item {
    float: left;
    width: 95%;
    margin: 2% 0 2% 5%;
  }
  .contact_box .list .item:nth-child(2n+1) {
    clear: none;
  }
}
/*-----------------------------------------for編輯器--------------------------------------------*/
h2, h3, h4, h5, h6 {
  text-transform: none;
}

.quantity {
  font-family: Anton-Regular;
}

img {
  max-width: 100%;
  height: auto !important;
}

.font-xlarge {
  font-size: 140% !important;
}

.font-large {
  font-size: 120% !important;
}

.font-100 {
  font-size: 100% !important;
}

.font-small {
  font-size: 80% !important;
}

.font-xsmall {
  font-size: 60% !important;
}

.w-100 {
  width: 100%;
}

.w-80 {
  width: 80%;
}

.w-50 {
  width: 50%;
}

.w-1000 {
  max-width: 1000px;
}

.w-800 {
  max-width: 800px;
}

.w-600 {
  max-width: 600px;
}

.w-400 {
  max-width: 400px;
}

.w-200 {
  max-width: 200px;
}

.w-100px {
  max-width: 100px;
}

.w-auto {
  width: auto;
  max-width: 100%;
}

.input-xlarge {
  width: 420px !important;
}

.input-large {
  width: 320px !important;
}

.input-medium {
  width: 240px !important;
}

.input-small {
  width: 145px !important;
}

.input-xsmall {
  width: 80px !important;
}

.float_left, .float-left {
  float: left;
}

.float_right, .float-right {
  float: right;
}

.text_center, .text-center {
  text-align: center;
}

.text_right, .text-right {
  text-align: right !important;
}

.text_left, .text-left {
  text-align: left !important;
}

.red {
  color: #900 !important;
}

.white, a.white {
  color: #fff !important;
}

.black {
  color: #000 !important;
}

.gray {
  color: #666 !important;
}

.gray_01 {
  color: #f5f5f5 !important;
}

.gray_02 {
  color: #ccc !important;
}

.gray_03 {
  color: #999 !important;
}

.gray_04 {
  color: #666 !important;
}

.gray_05 {
  color: #333 !important;
}

.grey_900 {
  color: #212121 !important;
}

.grey_800 {
  color: #424242 !important;
}

.grey_700 {
  color: #616161 !important;
}

.grey_600 {
  color: #757575 !important;
}

.grey_500 {
  color: #9e9e9e !important;
}

.grey_400 {
  color: #bdbdbd !important;
}

.grey_300 {
  color: #e0e0e0 !important;
}

.grey_200 {
  color: #f5f5f5 !important;
}

.grey_100 {
  color: #fafafa !important;
}

.blue_01 {
  color: #3e76b6 !important;
}

.blue_02 {
  color: #003f86 !important;
}

.green_01 {
  color: #588216 !important;
}

.green_02 {
  color: #00693E !important;
}

.orange_01 {
  color: #C45519 !important;
}

.orange_02 {
  color: #a6410a !important;
}

.brown_01 {
  color: #817461 !important;
}

.brown_02 {
  color: #513710 !important;
}

.pink {
  color: #B648B7 !important;
}

.purple {
  color: #800080 !important;
}

.bg_red {
  background: #c00 !important;
}

.bg_white {
  background: #fff !important;
}

.bg_black {
  background: #000 !important;
}

.bg_gray {
  background: #666 !important;
}

.bg_gray_01 {
  background: #f5f5f5 !important;
}

.bg_gray_02 {
  background: #ccc !important;
}

.bg_gray_03 {
  background: #999 !important;
}

.bg_gray_04 {
  background: #666 !important;
}

.bg_gray_05 {
  background: #333 !important;
}

.bg_blue_01 {
  background: #3e76b6 !important;
}

.bg_blue_02 {
  background: #003f86 !important;
}

.bg_green_01 {
  background: #588216 !important;
}

.bg_green_02 {
  background: #00693E !important;
}

.bg_orange_01 {
  background: #C45519 !important;
}

.bg_orange_02 {
  background: #a6410a !important;
}

.bg_brown_01 {
  background: #817461 !important;
}

.bg_brown_02 {
  background: #513710 !important;
}

.bg_pink {
  background: #B648B7 !important;
}

.bg_purple {
  background: #800080 !important;
}

.required {
  color: #900;
  font-size: 0.9em;
  line-height: 140%;
  padding: 3px 0;
}

.img_padding {
  padding: 10px;
}

.img_padding[align=left] {
  padding: 0 30px 30px 0;
}

.img_padding[align=right] {
  padding: 0 0 30px 30px;
}

.img_pic {
  border: solid #ddd 1px;
  padding: 10px;
  box-shadow: 0px 0px 2px 2px rgba(51, 51, 51, 0.1);
}

.margin_auto {
  margin: 0 auto !important;
}

.nomargin {
  margin: 0 !important;
}

.nopadding {
  padding: 0 !important;
}

.blockquote_font {
  max-width: 96%;
  margin: 30px auto;
  color: #333;
  border-left: 6px solid #2b50a8;
  padding-left: 1.5em;
}

.align-m {
  vertical-align: middle !important;
}

.align-t {
  vertical-align: top !important;
}

.align-b {
  vertical-align: bottom !important;
}

.font_nowrap {
  white-space: nowrap;
}

.btn_margin {
  margin: 2px;
}

.footer_laypu {
  display: inline-block;
}

mark {
  background: linear-gradient(transparent 60%, #ffdd55 0);
}

@media (max-width: 480px) {
  .input-xlarge, .input-large, .input-medium, .input-small, .input-xsmall {
    max-width: 100% !important;
  }
}
/*table*/
.table {
  display: table;
  border-color: #ddd;
  width: 100%;
  margin-bottom: 10px;
  border-spacing: 0;
}
.table > :not(:first-child) {
  border-top: none;
}
.table thead {
  background: #666;
  color: #fff;
}
.table thead th {
  border-bottom: none;
  border-left: none;
  border-right: none;
  padding: 10px;
  line-height: 130%;
  vertical-align: middle;
  text-align: center;
  font-weight: 400;
  background: #666;
  color: #fff;
}
.table tbody tr {
  border-bottom: 1px solid #ddd;
}
.table tbody td {
  line-height: 170%;
  border-top: none;
  padding: 8px 10px;
  vertical-align: middle;
}
.table tbody td ol, .table tbody td ul {
  padding-left: 25px;
}
.table tbody td a {
  color: #2e6f58;
}
.table tbody td a:hover {
  color: #22a1bb;
}
.table tbody td a.btn_01 {
  display: inline-block;
  background: #2e6f58 !important;
  color: #fff !important;
  white-space: nowrap;
  margin: 3px 1px;
  padding: 6px 15px;
}
.table tbody td a.btn_01:hover {
  background: #22a1bb !important;
}
.table.table-bordered {
  border: 1px solid #ddd;
}
.table.table-bordered td, .table.table-bordered th {
  border: 1px solid #ddd;
}
.table.table-center th, .table.table-center td {
  text-align: center;
}
.table.table-even tr:nth-child(even) {
  background: #f5f5f5;
}
.table.table-hover tbody tr {
  border-bottom: 1px solid #ddd;
}
.table.table-hover tbody tr:hover > td {
  background: #f5f5f5 !important;
}
.table.table-hover tbody tr .btn_circle {
  border-radius: 50%;
  padding: 2px 9px 4px 11px;
}
.table.table-hover tbody tr .btn_circle:hover, .table.table-hover tbody tr .btn_circle:focus {
  background: #22a1bb !important;
}
.table > :not(caption) > * > * {
  padding: 0;
}

table[align=center] {
  margin-left: auto;
  margin-right: auto;
}

tbody, td, tfoot, th, thead, tr {
  border-width: 1px;
}

.table-cell {
  display: table-cell;
}

.table_total {
  border-top: double #ccc 3px;
}
.table_total td {
  background: #e6eff4;
}

/*table scroll*/
.table-scrollable {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border: none;
}
.table-scrollable > .table, .table-scrollable > table {
  width: 100% !important;
  margin: 0 !important;
  min-width: 700px;
}

@media (max-width: 480px) {
  .table.m_100 > .table-row {
    display: block;
    width: 100%;
  }
  .table.m_100 > .table-row > .table-cell {
    display: block;
    width: 100%;
  }
  .table.m_100 .text-right {
    text-align: left !important;
  }
}
/*page_info*/
.page_info .table-row {
  display: table-row;
}
.page_info .table-row .table-cell:first-child {
  font-weight: bold;
}
.page_info .table-row .table-cell:first-child:first-child:before {
  content: "|";
  color: #bda26d;
  padding-right: 10px;
}
.page_info .table-row .table-cell {
  display: table-cell;
  padding: 5px;
  border-bottom: solid #ddd 1px;
}

@media (max-width: 480px) {
  .page_info .table-row .table-cell:first-child {
    border-bottom: none;
    width: 100% !important;
    padding: 0 5px;
  }
  .page_info .table-row .table-cell:nth-child(2) {
    padding: 5px 5px 5px 20px;
  }
  .page_info.m_100 > .table-row {
    margin-bottom: 10px;
  }
}
/*縮排*/
.paddingleft22 {
  padding-left: 22px;
}

.textindent22 {
  text-indent: -22px;
}

.text_indent {
  text-indent: 2em;
}

/*edit_con*/
.edit_con {
  float: left;
  width: 100%;
  padding: 20px 0;
}
.edit_con ul, .edit_con ol {
  padding-left: 30px;
  /*float:left;*/
  width: 100%;
  clear: both;
  margin-top: 0;
}
.edit_con a {
  color: #2e6f58;
  /*text-decoration:underline;*/
}
.edit_con img.float-start {
  padding: 0 2em 2em 0;
}
.edit_con img.float-end {
  padding: 0 0 2em 2em;
}

.border_box {
  float: left;
  width: 100%;
  border-radius: 10px;
  border: solid #eee 1px;
  padding: 5%;
  background: #fff;
  margin-bottom: 15px;
}

/*清單*/
.ol_01 {
  list-style-type: cjk-ideographic; /*一, 二, 三*/
  padding-left: 40px !important;
}

.ol_02 {
  list-style-type: upper-latin; /*A, B, C*/
}

.ol_03 {
  list-style-type: lower-alpha; /*a, b, c*/
}

.ol_04 {
  list-style-type: decimal; /*1,2,3*/
}

.ol_05 {
  list-style: none;
  counter-reset: my-counter;
  padding-left: 50px;
}
.ol_05 li {
  counter-increment: my-counter;
  text-indent: -1.6em;
}
.ol_05 li:before {
  content: "(" counter(my-counter) ")";
  margin-right: 0.5em;
}

.ol_c_01 {
  counter-reset: chapter;
}
.ol_c_01 > ol {
  list-style: none;
  padding-left: 20px;
}
.ol_c_01 > ol > li {
  counter-increment: chapter;
  counter-reset: section;
  text-indent: -0.3em;
}
.ol_c_01 > ol > li:before {
  content: counter(chapter) ".";
  margin-right: 0.5em;
}
.ol_c_01 > ol > li > ol {
  list-style: none;
  padding-left: 20px;
}
.ol_c_01 > ol > li > ol > li {
  counter-increment: section;
  text-indent: -30px;
  padding-left: 27px;
}
.ol_c_01 > ol > li > ol > li:before {
  content: counter(chapter) "." counter(section);
  margin-right: 0.5em;
}

.ol_c_02 {
  counter-reset: chapter;
}
.ol_c_02 > ol {
  list-style: none;
  padding-left: 10px;
}
.ol_c_02 > ol > li {
  counter-increment: chapter;
  counter-reset: section;
  margin-left: 1em;
}
.ol_c_02 > ol > li:before {
  content: counter(chapter) ".";
  margin-right: 0.5em;
}
.ol_c_02 > ol > li > ol {
  list-style: none;
  padding-left: 20px;
}
.ol_c_02 > ol > li > ol > li {
  counter-increment: section;
}
.ol_c_02 > ol > li > ol > li:before {
  content: counter(chapter) "-" counter(section);
  margin-right: 0.5em;
}

.ul_01 {
  list-style-type: square; /*實心方塊*/
}

.ul_02 {
  list-style-type: disc; /*實心圓*/
}

.ul_none, .ol_none {
  list-style: none;
  padding-left: 0;
}

.ul_w50 {
  float: left;
  width: 100%;
}
.ul_w50 li {
  float: left;
  width: calc(50% - 40px);
  padding-right: 30px;
}
.ul_w50 li:nth-child(2n+1) {
  clear: both;
}

.ul_line {
  list-style: none;
}
.ul_line li:before {
  content: "-";
  display: inline-block;
  color: #e4c916;
  padding-right: 10px;
  font-weight: bold;
  margin-left: -16px;
}

@media (max-width: 767px) {
  .ul_w50 li {
    width: calc(100% - 40px);
  }
}
/*for IE*/
@media screen\0  {
  .ol_01 {
    list-style-type: decimal-leading-zero; /*01,02,03*/
  }
}
/*錨點*/
.anchor_list {
  width: 100%;
  list-style: none;
  margin-bottom: 15px;
  margin: 15px auto;
  padding-left: 0 !important;
  text-align: center;
}
.anchor_list li {
  display: inline-block;
}
.anchor_list a {
  padding: 8px 15px;
  border-radius: 5px;
  color: #333;
  margin: 5px 0;
  border: solid #ccc 1px;
  text-decoration: none;
  box-shadow: none;
}
.anchor_list a:hover, .anchor_list a:focus {
  background: #757575;
  color: #fff;
  border: solid #757575 1px;
}
.anchor_list a.active {
  background: #2e6f58;
  color: #fff;
  border: solid #2e6f58 1px;
}

.anchor_con {
  float: left;
  width: 100%;
  padding: 0 5%;
}

@media (max-width: 767px) {
  .anchor_list li {
    padding: 10px 0;
  }
  .anchor_list a {
    font-size: 0.9em;
    padding: 8px;
  }
}
/*頁籤 bs3*/
.tabs {
  float: left;
  width: 100%;
}
.tabs .nav-tabs {
  border-bottom-color: transparent;
  /*text-align:center;*/
  font-size: 1em;
  margin-bottom: 15px;
  padding-left: 0 !important;
  list-style: none;
}
.tabs .nav-tabs button {
  padding: 7px 15px;
  border-radius: 6px;
  margin-right: 5px;
  border: solid #ccc 1px;
  background-color: transparent;
  margin: 3px;
  color: #333;
  text-decoration: none;
  font-size: 1em;
  line-height: 170%;
}
.tabs .nav-tabs button:hover {
  background: #eee;
  color: #333 !important;
}
.tabs .nav-tabs button.active, .tabs .nav-tabs button.active:focus, .tabs .nav-tabs button.active:hover {
  background-color: #2e6f58;
  color: #fff !important;
  border: 1px solid #2e6f58 !important;
}
.tabs .nav-tabs li {
  display: inline-block;
  float: none;
}
.tabs .nav-tabs li a {
  padding: 7px 15px;
  border-radius: 6px;
  margin-right: 5px;
  border: solid #ccc 1px;
  background-color: transparent;
  margin: 3px;
  color: #333;
  text-decoration: none;
  font-size: 1em;
  line-height: 170%;
}
.tabs .nav-tabs li a:hover {
  background: #eee;
  color: #333 !important;
}
.tabs .nav-tabs li.active a, .tabs .nav-tabs li.active a:focus, .tabs .nav-tabs li.active a:hover {
  background-color: #2e6f58;
  color: #fff !important;
  border: 1px solid #2e6f58 !important;
}
.tabs .tab-content {
  float: left;
  width: 100%;
  border-radius: none;
  box-shadow: none;
  background-color: transparent;
  border: none;
  padding: 0;
  padding: 0;
}

/*頁籤 bs5*/
.nav-tabs {
  border: none;
  justify-content: center;
}
.nav-tabs .nav-link {
  border: solid #f5f5f5 1px;
  border-radius: 50px;
  margin: 0 5px 5px 0;
  padding: 5px 15px;
  color: #333;
  background: #f5f5f5;
}
.nav-tabs .nav-link:hover {
  border: solid #616161 1px;
  background: #616161;
  color: #fff;
}
.nav-tabs .nav-link.active {
  background-color: #2e6f58;
  color: #fff;
  border-color: #2e6f58;
}

.tab-content {
  border: none;
  padding: 15px 0;
  box-shadow: none;
}

/*併排*/
[class^=list_0] .title, .list_img .title, .list_font .title {
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 10px;
}

[class^=list_0] img {
  width: 100%;
}

@media (max-width: 767px) {
  [class^=list_0] .title, .list_img .title, .list_font .title, .list_icon_img .title {
    font-size: 1.1em;
  }
}
/*併排5*/
.list_05 {
  float: left;
  width: 100%;
}
.list_05 > .item {
  float: left;
  width: 17%;
  margin: 1.5%;
  vertical-align: top;
  line-height: 150%;
}
.list_05 > .item img {
  margin-bottom: 5px;
}
.list_05 > .item:nth-child(5n+1) {
  clear: both;
}
.list_05.nomargin > .item {
  margin: 0;
  width: 20%;
}

@media (max-width: 767px) {
  .list_05 > .item {
    width: 29.3%;
    margin: 2%;
  }
  .list_05 > .item:nth-child(5n+1) {
    clear: none;
  }
  .list_05 > .item:nth-child(3n+1) {
    clear: both;
  }
  .list_05.nomargin > .item {
    margin: 0;
    width: 33.3%;
  }
}
@media (max-width: 480px) {
  .list_05 > .item {
    width: 44%;
    margin: 3%;
  }
  .list_05 > .item:nth-child(5n+1), .list_05 > .item:nth-child(3n+1) {
    clear: none;
  }
  .list_05 > .item:nth-child(2n+1) {
    clear: both;
  }
  .list_05 > .item img {
    width: 100%;
  }
  .list_05.nomargin > .item {
    margin: 0;
    width: 50%;
  }
}
/*併排4*/
.list_04 {
  float: left;
  width: 100%;
}
.list_04 > .item {
  float: left;
  width: 22%;
  margin: 1.5%;
}
.list_04 > .item img {
  margin-bottom: 5px;
}
.list_04 > .item:nth-child(4n+1) {
  clear: both;
}
.list_04.nomargin > .item {
  margin: 0;
  width: 25%;
}

@media (max-width: 767px) {
  .list_04 > .item {
    width: 29.3%;
    margin: 2%;
  }
  .list_04 > .item:nth-child(4n+1) {
    clear: none;
  }
  .list_04 > .item:nth-child(3n+1) {
    clear: both;
  }
  .list_04.nomargin > .item {
    margin: 0;
    width: 33.3%;
  }
}
@media (max-width: 480px) {
  .list_04 > .item {
    width: 44%;
    margin: 3%;
  }
  .list_04 > .item:nth-child(4n+1), .list_04 > .item:nth-child(3n+1) {
    clear: none;
  }
  .list_04 > .item:nth-child(2n+1) {
    clear: both;
  }
  .list_04 > .item img {
    width: 100%;
  }
  .list_04.nomargin > .item {
    margin: 0;
    width: 50%;
  }
}
/*併排4-2*/
.list_04-2 {
  float: left;
  width: 100%;
}
.list_04-2 > .item {
  float: left;
  width: 22%;
  margin: 1.5%;
}
.list_04-2 > .item img {
  margin-bottom: 5px;
}
.list_04-2 > .item:nth-child(4n+1) {
  clear: both;
}
.list_04-2.nomargin > .item {
  margin: 0;
  width: 25%;
}

@media (max-width: 767px) {
  .list_04-2 > .item {
    width: 44%;
    margin: 3%;
  }
  .list_04-2 > .item:nth-child(4n+1) {
    clear: none;
  }
  .list_04-2 > .item:nth-child(2n+1) {
    clear: both;
  }
  .list_04-2.nomargin > .item {
    margin: 0;
    width: 50%;
  }
}
@media (max-width: 480px) {
  .list_04-2 > .item {
    width: 90%;
    margin: 5%;
  }
  .list_04-2 > .item:nth-child(even) {
    margin: -1% 5% 5% 5%;
  }
  .list_04-2 > .item img {
    margin-bottom: 0;
  }
  .list_04-2.nomargin > .item {
    margin: 0;
    width: 100%;
  }
}
/*併排3*/
.list_03 {
  float: left;
  width: 100%;
}
.list_03 > .item {
  float: left;
  width: 29.3%;
  margin: 2%;
}
.list_03 > .item img {
  margin-bottom: 5px;
}
.list_03 > .item:nth-child(3n+1) {
  clear: both;
}
.list_03.nomargin > .item {
  margin: 0;
  width: 33.3%;
}

@media (max-width: 767px) {
  .list_03 > .item {
    width: 46%;
  }
  .list_03 > .item:nth-child(3n+1) {
    clear: none;
  }
  .list_03 > .item:nth-child(2n+1) {
    clear: both;
  }
  .list_03.nomargin > .item {
    margin: 0;
    width: 50%;
  }
}
@media (max-width: 480px) {
  .list_03 > .item {
    width: 90%;
    margin: 5%;
  }
  .list_03 > .item img {
    width: 100%;
  }
  .list_03.nomargin > .item {
    margin: 0;
    width: 100%;
  }
}
/*併排2*/
.list_02 {
  float: left;
  width: 100%;
}
.list_02 > .item {
  float: left;
  width: 44%;
  margin: 3%;
}
.list_02 > .item img {
  margin-bottom: 5px;
}
.list_02 > .item:nth-child(2n+1) {
  clear: both;
}
.list_02.nomargin > .item {
  margin: 0;
  width: 50%;
}

@media (max-width: 767px) {
  .list_02 > .item {
    width: 90%;
    margin: 5%;
  }
  .list_02.nomargin > .item {
    margin: 0;
    width: 100%;
  }
}
/*併排1+3*/
.list_img {
  float: left;
  width: 100%;
}
.list_img > .item:nth-child(2n-1) {
  float: left;
  width: 20%;
  margin: 2.5%;
}
.list_img > .item:nth-child(2n) {
  float: left;
  width: 70%;
  margin: 2.5%;
}
.list_img > .item:nth-child(2n+1) {
  clear: both;
}
.list_img > .item img {
  margin-bottom: 5px;
}
.list_img.nomargin > .item {
  margin: 0;
}
.list_img.nomargin > .item:nth-child(2n-1) {
  width: 25%;
}
.list_img.nomargin > .item:nth-child(2n) {
  width: 75%;
}

@media (max-width: 480px) {
  .list_img > .item {
    width: 95% !important;
  }
  .list_img.nomargin > .item {
    margin: 0;
    width: 100%;
  }
}
/*併排3+1*/
.list_font {
  float: left;
  width: 100%;
}
.list_font > .item:nth-child(2n) {
  float: left;
  width: 20%;
  margin: 2.5%;
}
.list_font > .item:nth-child(2n-1) {
  float: left;
  width: 70%;
  margin: 2.5%;
}
.list_font > .item:nth-child(2n+1) {
  clear: both;
}
.list_font > .item img {
  margin-bottom: 5px;
}
.list_font.nomargin > .item {
  margin: 0;
}
.list_font.nomargin > .item:nth-child(2n) {
  width: 25%;
}
.list_font.nomargin > .item:nth-child(2n-1) {
  width: 75%;
}

@media (max-width: 480px) {
  .list_font > .item {
    width: 95% !important;
  }
  .list_font.nomargin > .item {
    margin: 0;
    width: 100%;
  }
}
/*youtube影片*/
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
  width: 100%;
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}

.embed-responsive-4by3 {
  padding-bottom: 75%;
}

@media print {
  /*清除網址*/
  a[href]:after {
    content: none !important;
  }
  /*顯示背景圖*/
  *,
  *:before,
  *:after {
    background-color: inherit !important;
  }
  .bg_print {
    -webkit-print-color-adjust: exact !important; /* Chrome, Safari */
    print-color-adjust: exact !important; /* Chrome, Safari */
    color-adjust: exact !important; /*Firefox*/
  }
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  /*解決Safari 在列印時使用異常小的字體*/
  .container {
    width: auto;
  }
  .con_box {
    margin: 0;
    border: initial;
    border-radius: initial;
    width: initial;
    min-height: initial;
    box-shadow: initial;
    background: initial;
    page-break-after: always;
  }
  /*thead不重覆*/
  thead {
    display: table-row-group;
  }
  /*table背景色*/
  body {
    -webkit-print-color-adjust: exact;
  }
  .print_con_table tr th {
    background: #666 !important;
    color: #fff !important;
    -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
  }
}
/*列印尺寸電腦版*/
@page {
  size: A3;
  margin: 0;
}
/*rwd table*/
.rwd-table {
  background: #fff;
  overflow: hidden;
  min-width: 100%;
  color: #333;
}
.rwd-table th {
  display: none;
}
.rwd-table td {
  display: block;
}
.rwd-table td:before {
  content: attr(data-th) " : ";
  font-weight: bold;
  width: 6.5em;
  display: inline-block;
  color: #333;
}
.rwd-table.table-hover tr:hover td:before {
  color: #fff;
}
.rwd-table.table-bordered > tbody > tr > td {
  border-top: none;
  border-left: none;
  line-height: 150%;
}

@media (min-width: 769px) {
  /*rwd table*/
  .rwd-table td:before {
    display: none;
  }
  .rwd-table th, .rwd-table td {
    display: table-cell;
    padding: 0.25em 0.5em;
  }
}
@media (max-width: 769px) {
  /*rwd table*/
  .rwd-table.table {
    border: none;
  }
  .rwd-table tbody tr {
    display: table;
    width: calc(100% - 2px);
    border: solid #ddd 1px;
  }
  .rwd-table tbody tr td {
    display: table-row;
  }
  .rwd-table tbody tr td:before {
    display: table-cell;
    padding: 8px;
    text-align: right;
  }
  .rwd-table tr {
    margin-bottom: 20px;
  }
  .rwd-table tr td {
    border-bottom: solid #ddd 1px !important;
  }
  .rwd-table tr td:nth-child(1) {
    border-top: solid #ddd 1px !important;
  }
  .rwd-table.table-center td {
    text-align: left !important;
  }
  .rwd-table .text-end, .rwd-table .text-center {
    text-align: left !important;
  }
}/*# sourceMappingURL=style.css.map */