@charset "UTF-8";
/*-------------------------------------------------------------------------------*/
/*    helpers                                                                                   */
/*-------------------------------------------------------------------------------*/
.layoutContent {
  padding: 1rem;
  line-height: 1.5;
  color: #343a40;
  font-family: "Microsoft Jhenghei", "微軟正黑體", "Trebuchet MS", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.layoutContent::after {
  content: "";
  display: table;
  clear: both;
}

.w_line {
  margin: 1.5rem 0;
}

.w_line_s1 {
  border-bottom: 1px solid #dee2e6;
}

.w_line_s2 {
  border-bottom: 1px dashed #ced4da;
}

/*-------------------------------------------------------------------------------*/
/*    Grid                                                                                        */
/*-------------------------------------------------------------------------------*/
.w_row {
  margin: 1rem 0;
  text-align: center;
}

.w_row::after {
  content: "";
  display: table;
  clear: both;
}

.w_row_inside {
  margin: 0 -.5rem;
}

.w_row_inside::after {
  content: "";
  display: table;
  clear: both;
}

.w_row img {
  max-width: 100%;
  text-align: center;
  vertical-align: bottom;
}

.w_half {
  margin: 0 .5rem;
}

.w_half + .w_half {
  margin-top: 1rem;
}

@media (min-width: 576px) {
  .w_half {
    float: left;
    width: calc(50% - 1rem);
    margin: 0 .5rem;
  }
  .w_half + .w_half {
    margin-top: 0;
  }
  .w_half-right {
    float: right;
  }
}

.w_third {
  margin: 0 .5rem;
}

@media (min-width: 576px) {
  .w_third {
    float: left;
    width: calc((100% / 3) - 1rem);
    margin: 0 .5rem;
  }
}

.w_third_img {
  margin-bottom: 1rem;
}

@media print {
  .w_half {
    float: left;
    width: calc(50% - 1rem);
    margin: 0 .5rem;
  }
  .w_half + .w_half {
    margin-top: 0;
  }
  .w_half-right {
    float: right;
  }
  .w_third {
    float: left;
    width: calc((100% / 3) - 1rem);
    margin: 0 .5rem;
  }
}

/*-------------------------------------------------------------------------------*/
/*    title 標題樣式                                                             */
/*-------------------------------------------------------------------------------*/
.w_tit_lg {
  margin-bottom: 1rem;
  font-size: 1.325rem;
}

.w_tit_lg span {
  position: relative;
  display: inline-block;
  padding: .25rem 1.25rem .25rem 2.5rem;
  border-radius: 10px 50px 50px 10px;
  color: white;
  box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.15);
}

.w_tit_lg span:before, .w_tit_lg span:after {
  content: '';
  position: absolute;
}

.w_tit_lg span:before {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: white;
  left: 8px;
  top: 8px;
}

.w_tit_lg span:after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 6px;
  left: 18px;
  top: 15px;
}

@media (min-width: 768px) {
  .w_tit_lg span {
    border-radius: 200px;
  }
}

.w_tit {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 2rem;
  font-size: 1.25rem;
}

.w_tit span:before, .w_tit span:after {
  position: absolute;
  content: '';
}

.w_tit span:before {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  top: 6px;
  left: 4px;
}

.w_tit span:after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 4px;
  top: 12px;
  left: 13px;
}

.w_tit_sm {
  position: relative;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  padding-left: 2rem;
}

.w_tit_sm span:after {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 4px;
  top: 11px;
  left: 16px;
}

.w_tit_lg_icon01 span {
  background: #00857e;
}

.w_tit_lg_icon01 span:after {
  border-color: transparent transparent transparent #00857e;
}

.w_tit_icon01 span:before {
  border: 1px solid #00857e;
}

.w_tit_icon01 span:after {
  border-color: transparent transparent transparent #00857e;
}

.w_tit_sm_icon01 span:after {
  border-color: transparent transparent transparent #00857e;
}

.w_tit_lg_icon02 span {
  background: #23b858;
}

.w_tit_lg_icon02 span:after {
  border-color: transparent transparent transparent #23b858;
}

.w_tit_icon02 span:before {
  border: 1px solid #23b858;
}

.w_tit_icon02 span:after {
  border-color: transparent transparent transparent #23b858;
}

.w_tit_sm_icon02 span:after {
  border-color: transparent transparent transparent #23b858;
}

.w_tit_lg_icon03 span {
  background: #edb800;
}

.w_tit_lg_icon03 span:after {
  border-color: transparent transparent transparent #edb800;
}

.w_tit_icon03 span:before {
  border: 1px solid #edb800;
}

.w_tit_icon03 span:after {
  border-color: transparent transparent transparent #edb800;
}

.w_tit_sm_icon03 span:after {
  border-color: transparent transparent transparent #edb800;
}

.w_tit_lg_icon04 span {
  background: #ff8d1e;
}

.w_tit_lg_icon04 span:after {
  border-color: transparent transparent transparent #ff8d1e;
}

.w_tit_icon04 span:before {
  border: 1px solid #ff8d1e;
}

.w_tit_icon04 span:after {
  border-color: transparent transparent transparent #ff8d1e;
}

.w_tit_sm_icon04 span:after {
  border-color: transparent transparent transparent #ff8d1e;
}

.w_tit_lg_icon05 span {
  background: #ff6085;
}

.w_tit_lg_icon05 span:after {
  border-color: transparent transparent transparent #ff6085;
}

.w_tit_icon05 span:before {
  border: 1px solid #ff6085;
}

.w_tit_icon05 span:after {
  border-color: transparent transparent transparent #ff6085;
}

.w_tit_sm_icon05 span:after {
  border-color: transparent transparent transparent #ff6085;
}

.w_tit_lg_icon06 span {
  background: #8841a2;
}

.w_tit_lg_icon06 span:after {
  border-color: transparent transparent transparent #8841a2;
}

.w_tit_icon06 span:before {
  border: 1px solid #8841a2;
}

.w_tit_icon06 span:after {
  border-color: transparent transparent transparent #8841a2;
}

.w_tit_sm_icon06 span:after {
  border-color: transparent transparent transparent #8841a2;
}

.w_tit_lg_icon07 span {
  background: #5e71d7;
}

.w_tit_lg_icon07 span:after {
  border-color: transparent transparent transparent #5e71d7;
}

.w_tit_icon07 span:before {
  border: 1px solid #5e71d7;
}

.w_tit_icon07 span:after {
  border-color: transparent transparent transparent #5e71d7;
}

.w_tit_sm_icon07 span:after {
  border-color: transparent transparent transparent #5e71d7;
}

/*-------------------------------------------------------------------------------*/
/*    空大 title 客製樣式                                                */
/*-------------------------------------------------------------------------------*/
.w_tit_cus_01, .w_tit_cus_02 {
  margin: 1.5rem 0;
}

.w_tit_cus_01::after, .w_tit_cus_02::after {
  content: "";
  display: table;
  clear: both;
}

.w_tit_cus_01 span, .w_tit_cus_02 span {
  color: #00857e;
  position: relative;
  display: inline-block;
  padding-bottom: .25rem;
}

.w_tit_cus_01 span:before, .w_tit_cus_02 span:before {
  position: absolute;
  bottom: -1px;
  display: block;
  content: '';
  width: 1em;
  border-bottom: 1px solid #00857e;
}

.w_tit_cus_01 {
  font-size: 2.25em;
  font-weight: bold;
}

.w_tit_cus_01 span {
  border-bottom: 1px solid #dee2e6;
}

.w_tit_cus_02 {
  font-size: 1.5em;
}

/*-------------------------------------------------------------------------------*/
/*    SubList                                                                                  */
/*-------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------*/
/*    SubList                                                                    */
/*-------------------------------------------------------------------------------*/
.w_sublist {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 1.5rem 0;
}

@media (min-width: 576px) {
  .w_sublist {
    margin: 1.5rem -1.25rem;
  }
}

.w_sublist li {
  width: 100%;
  margin: .75rem 0;
}

.w_sublist li a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 3rem;
  padding: 1.5rem 2rem;
  color: white;
  font-size: 1.25em;
  background-color: #00857e;
  background-image: url(../../images/w_sublist_bg.svg), linear-gradient(45deg, #00857e 0%, #167671 100%);
  background-repeat: no-repeat;
  background-position: bottom -40px right -30px,0 0;
  border-radius: .5rem;
  overflow: hidden;
  transition: .75s;
  box-shadow: 0, 10px, 20px, rgba(0, 0, 0, 0.15);
}

.w_sublist li a:hover, .w_sublist li a:focus {
  color: white;
  transform: translatey(-10px);
  background: url(../../images/w_sublist_bg.svg) no-repeat bottom -7px right -30px, linear-gradient(45deg, #00857e 0%, #167671 100%);
}

.w_sublist li a:focus {
  outline: 3px dotted #bfa6ff;
}

.w_sublist li a i {
  padding-left: .5rem;
}

@media (min-width: 576px) {
  .w_sublist li {
    width: calc(99%/2 - 1.25rem*2);
    margin: 1.25rem;
  }
  .w_sublist li a {
    width: 100%;
    height: 100%;
  }
}

@media (min-width: 768px) {
  .w_sublist li {
    width: calc(99%/3 - 1.25rem*2);
  }
}

/*-------------------------------------------------------------------------------*/
/*    Text                                                                                        */
/*-------------------------------------------------------------------------------*/
.w_txt {
  margin-bottom: 1.5rem;
  text-align: justify;
}

.w_txt ol, .w_txt ul {
  padding-left: 2rem;
}

.w_txt ol li, .w_txt ul li {
  padding: .125rem 0;
}

.w_txt ol li ol, .w_txt ol li ul, .w_txt ul li ol, .w_txt ul li ul {
  padding-left: 1.25rem;
}

.w_txt ol li ol, .w_txt ul li ol {
  list-style: decimal;
}

.w_txt ol li ul, .w_txt ul li ul {
  list-style: disc;
}

.w_txt ol {
  list-style: decimal;
}

.w_txt ul {
  list-style: disc;
}

.w_txt a {
  color: #2241b5;
}

.w_txt a:hover, .w_txt a:focus {
  color: #757575;
  text-decoration: underline;
}

.w_txt hr {
  border: 0;
  border-bottom: 1px solid #dee2e6;
}

.w_txt table {
  width: 100%;
  margin: .5em 0;
  border-collapse: collapse;
  border-spacing: 0;
}

.w_txt table caption {
  padding: .5rem;
  color: #00857e;
}

.w_txt table th, .w_txt table td {
  padding: .35rem;
  border: 1px solid #1ebdb5;
  text-align: center;
  vertical-align: middle;
  word-break: break-all;
  word-wrap: break-word;
}

.w_txt table th {
  color: white;
  background-color: #00857e;
}

.w_txt_bg {
  padding: 1.5rem 1rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.w_txt_column2 {
  column-count: 1;
  column-gap: 1rem;
}

@media (min-width: 576px) {
  .w_txt_column2 {
    column-count: 2;
  }
}

.w_photo::after {
  content: "";
  display: table;
  clear: both;
}

.w_photo img {
  margin-bottom: .5rem;
}

@media (min-width: 576px) {
  .w_photo img {
    min-width: 35%;
    max-width: 50%;
  }
  .w_photo_right img {
    float: right;
    margin-left: .5rem;
  }
  .w_photo_left img {
    float: left;
    margin-right: .5rem;
  }
}

.w_table_even tr:nth-child(even) {
  background-color: #afeeeb;
}

.w_table_theme1 table caption {
  color: #00c5ab;
}

.w_table_theme1 table th, .w_table_theme1 table td {
  border: 1px solid #1fffe1;
}

.w_table_theme1 table th {
  background-color: #00c5ab;
}

.w_table_theme1.w_table_even tr:nth-child(even) {
  background-color: rgba(44, 255, 227, 0.2);
}

.w_table_theme2 table caption {
  color: #23b858;
}

.w_table_theme2 table th, .w_table_theme2 table td {
  border: 1px solid #55df86;
}

.w_table_theme2 table th {
  background-color: #23b858;
}

.w_table_theme2.w_table_even tr:nth-child(even) {
  background-color: rgba(96, 225, 142, 0.2);
}

.w_table_theme3 table caption {
  color: #edb800;
}

.w_table_theme3 table th, .w_table_theme3 table td {
  border: 1px solid #ffd647;
}

.w_table_theme3 table th {
  background-color: #edb800;
}

.w_table_theme3.w_table_even tr:nth-child(even) {
  background-color: rgba(255, 217, 84, 0.2);
}

.w_table_theme4 table caption {
  color: #ff8d1e;
}

.w_table_theme4 table th, .w_table_theme4 table td {
  border: 1px solid #ffba77;
}

.w_table_theme4 table th {
  background-color: #ff8d1e;
}

.w_table_theme4.w_table_even tr:nth-child(even) {
  background-color: rgba(255, 193, 132, 0.2);
}

.w_table_theme5 table caption {
  color: #ff6085;
}

.w_table_theme5 table th, .w_table_theme5 table td {
  border: 1px solid #ffb9c9;
}

.w_table_theme5 table th {
  background-color: #ff6085;
}

.w_table_theme5.w_table_even tr:nth-child(even) {
  background-color: rgba(255, 198, 211, 0.2);
}

.w_table_theme6 table caption {
  color: #8841a2;
}

.w_table_theme6 table th, .w_table_theme6 table td {
  border: 1px solid #b175c8;
}

.w_table_theme6 table th {
  background-color: #8841a2;
}

.w_table_theme6.w_table_even tr:nth-child(even) {
  background-color: rgba(182, 126, 203, 0.2);
}

.w_table_theme7 table caption {
  color: #5e71d7;
}

.w_table_theme7 table th, .w_table_theme7 table td {
  border: 1px solid #a5b0e9;
}

.w_table_theme7 table th {
  background-color: #5e71d7;
}

.w_table_theme7.w_table_even tr:nth-child(even) {
  background-color: rgba(176, 185, 235, 0.2);
}

@media print {
  .w_txt_column2 {
    column-count: 2;
  }
  .w_photo img {
    min-width: 35%;
    max-width: 50%;
  }
  .w_photo_right img {
    float: right;
    margin-left: .5rem;
  }
  .w_photo_left img {
    float: left;
    margin-right: .5rem;
  }
}

/*-------------------------------------------------------------------------------*/
/*    Video                                                                                      */
/*-------------------------------------------------------------------------------*/
.w_video {
  width: 100%;
  max-width: 540px;
  margin: .5rem auto;
}

.w_video .templateLongText {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.w_video .templateLongText iframe, .w_video .templateLongText object, .w_video .templateLongText embed, .w_video .templateLongText video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*-------------------------------------------------------------------------------*/
/*    btn 按鈕樣式                                                               */
/*-------------------------------------------------------------------------------*/
.w_btn {
  padding: 1rem 0;
  text-align: center;
}

.w_btn::after {
  content: "";
  display: table;
  clear: both;
}

.w_btn a {
  border-radius: 5px;
  padding: .5rem 1rem;
  display: inline-block;
  text-align: center;
  margin: .25rem;
  transition: all 0.3s ease-in-out;
}

.w_btn a:focus {
  outline: 1px dotted #00857e;
}

.w_btn p {
  display: inline-block;
}

.w_btn_s1 a {
  border: 2px solid #00857e;
  color: white;
  background: #00857e;
}

.w_btn_s1 a:hover, .w_btn_s1 a:focus {
  background: #00524e;
  border: 2px solid #00524e;
}

.w_btn_s2 a {
  border: 2px solid #00857e;
  color: #00857e;
}

.w_btn_s2 a:hover, .w_btn_s2 a:focus {
  color: white;
  background: #00524e;
  border: 2px solid #00524e;
}

.w_sitemap_inner {
  margin-top: 2rem;
}

.w_sitemap_inner a {
  display: block;
}

.w_sitemap_inner a:hover, .w_sitemap_inner a:focus {
  color: #138b85;
  padding-left: 1rem;
  transition: padding .5s ease;
}

@media (min-width: 576px) {
  .w_sitemap_inner {
    display: flex;
    flex-wrap: wrap;
    margin-left: -.75rem;
    margin-right: -.75rem;
  }
}

.site_tit1 {
  font-size: 1.125em;
  font-weight: bold;
  border-bottom: 1px solid #00857e;
}

.site_tit1 a {
  padding: .5rem 0;
  color: #00857e;
}

.site_item2 {
  margin-top: .5rem;
}

.site_item2 a {
  padding: .125rem 0;
  color: #343a40;
}

.site_item2 a:hover, .site_item2 a:focus {
  padding-left: 1rem;
  transition: padding .5s ease;
}

@media (min-width: 576px) {
  .site_item1 {
    width: 50%;
    padding: 1rem .75rem 0;
  }
  .site_item2 ul {
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: 1rem;
  }
}

@media print {
  .w_sitemap_inner {
    display: flex;
    flex-wrap: wrap;
    margin-left: -.75rem;
    margin-right: -.75rem;
  }
  .site_item1 {
    width: 50%;
    padding: 1rem .75rem 0;
  }
  .site_item2 ul {
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: 1rem;
  }
}
