@charset "UTF-8";
/* noto-sans-tc-300 - latin_chinese-traditional */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 300;
  src: local(''),
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-300.woff2')
  format('woff2'),
    /* Chrome 26+,Opera 23+,Firefox 39+ */
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-300.woff')
  format('woff');
  /* Chrome 6+,Firefox 3.6+,IE 9+,Safari 5.1+ */
  font-display: swap;
}
/* noto-sans-tc-regular - latin_chinese-traditional */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 400;
  src: local(''),
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-regular.woff2')
  format('woff2'),
    /* Chrome 26+,Opera 23+,Firefox 39+ */
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-regular.woff')
  format('woff');
  /* Chrome 6+,Firefox 3.6+,IE 9+,Safari 5.1+ */
  font-display: swap;
}
/* noto-sans-tc-500 - latin_chinese-traditional */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 500;
  src: local(''),
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-500.woff2')
  format('woff2'),
    /* Chrome 26+,Opera 23+,Firefox 39+ */
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-500.woff')
  format('woff');
  /* Chrome 6+,Firefox 3.6+,IE 9+,Safari 5.1+ */
  font-display: swap;
}
/* noto-sans-tc-700 - latin_chinese-traditional */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 700;
  src: local(''),
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-700.woff2')
  format('woff2'),
    /* Chrome 26+,Opera 23+,Firefox 39+ */
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-700.woff')
  format('woff');
  /* Chrome 6+,Firefox 3.6+,IE 9+,Safari 5.1+ */
  font-display: swap;
}
/* noto-sans-tc-900 - latin_chinese-traditional */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 900;
  src: local(''),
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-900.woff2')
  format('woff2'),
    /* Chrome 26+,Opera 23+,Firefox 39+ */
  url('../fonts/noto-sans-tc-v11-latin_chinese-traditional-900.woff')
  format('woff');
  /* Chrome 6+,Firefox 3.6+,IE 9+,Safari 5.1+ */
  font-display: swap;
}
/*reset*/
html,
body {
  height: 100%;
}
body,
input,
select {
  font-family: 'Noto Sans TC', '微軟正黑體', sans-serif;
  font-size: 16px;
  line-height: 140%;
  font-weight: 400;
  color: #333;
  background-color: #fff;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
input,
select {
  font-size: 1em;
}
a {
  text-decoration: none;
  box-sizing: border-box;
}
div,
p,
span,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
input,
table,
td,
th,
img {
  margin: 0;
  padding: 0;
  border: none;
  box-sizing: border-box;
  line-height: 1.5;
}
img {
  border: none;
  display: block;
  width: 100%;
}
img.inline {
  display: inline-block;
  vertical-align: middle;
}
ul,
li {
  list-style: none;
}
.fL {
  float: left;
}
.fR {
  float: right;
}
.tL {
  text-align: left;
}
.tR {
  text-align: right;
}
.tC {
  text-align: center;
}
.tC img {
  margin: 0 auto;
}
.tB {
  font-weight: bold;
}
.web {
  display: block;
}
.mobile {
  display: none;
}

/*常見設定*/
/*文字相關設定*/

.colorBlue {
  color: #40b6ec;
}
.bgBlue {
  background-color: #40b6ec;
}
.bgBlue_Dark {
  background-color: #3895c0;
}
.colorGreen {
  color: #31d1b1;
}
.bgGreen {
  background-color: #31d1b1;
}
.bgGreen_Dark {
  background-color: #42a893;
}
.colorPink {
  color: #fe6a7b;
}
.bgPink {
  background-color: #fe6a7b;
}
.bgPink_Dark {
  background-color: #d45b6b;
}
.colorDarkB {
  color: #3d4a57;
}

.t_nowrap {
  white-space: nowrap;
}
/*大小*/
.font-size-s {
  font-size: 0.875rem;
}
.font-size-sm {
  font-size: 0.93rem;
}
.font-size-m {
  font-size: 1rem;
}
.font-size-lg {
  font-size: 1.125rem;
}
.font-size-xl {
  font-size: 1.25rem;
}
.font-size-big {
  font-size: 2rem;
}

/*圖片大小*/
.img-lg {
  width: 300px;
  margin: 0 auto;
}
/*位置*/
.vM {
  vertical-align: middle;
}

/*粗細*/
.tB {
  font-weight: bold;
}

/*文字不換行*/
.nowrap {
  white-space: nowrap;
}

/*浮動設定*/
.fL {
  float: left;
}
.fR {
  float: right;
}
.clearfix:before,
.clearfix:after {
  content: '';
  display: table;
  clear: both;
}
.clearfix {
  *zoom: 1;
  /*For IE 6&7 only*/
}

/*flex設定*/
.inline,
.inlinewrap {
  display: flex;
}
.inlinewrap {
  flex-wrap: wrap;
}
.j-btw {
  justify-content: space-between;
}
.j-around {
  justify-content: space-around;
}

/*hr*/
hr {
  height: 1px;
  border: none;
  background-color: #edeeee;
}
.line_dotted {
  border-top: 2px dotted #dadada;
  margin: 40px 0;
}

/*按鈕*/
.btnBx {
  display: flex;
  justify-content: center;
  margin-bottom: 25px;
}

.btnBx a {
  display: block;
  width: 180px;
  background-color: #ffb000;
  margin: 0 10px;
  color: #fff;
  font-size: 1.25rem;
  text-align: center;
  padding: 12px 20px;
  transition: 0.2s all ease-in-out;
  border-radius: 5px;
  font-weight: bold;
}

.btnBx a:hover {
  opacity: 0.8;
}

.btnBx a.gray {
  background-color: #9f9f9f;
}

/*a連結撐滿*/
.alink {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 10;
}

/*顯示隱藏*/
.show {
  display: block;
}
.hide {
  display: none;
}

/*寬度設定*/
.w-50 {
  width: 50%;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.max-w300 {
  max-width: 300px;
}
/*間距設定*/
.space-0 {
  height: 0;
}
.space-s {
  height: 10px;
}
.space-m {
  height: 20px;
}
.space-lg {
  height: 30px;
}
.space-xl {
  height: 40px;
}
.space-xxl {
  height: 60px;
}

.mb-s {
  margin-bottom: 10px;
}
.mb-m {
  margin-bottom: 20px;
}
.mb-lg {
  margin-bottom: 30px;
}

/*最大寬度區塊設定*/
.maxW_lg {
  max-width: 500px;
  margin: 0 auto;
  margin-bottom: 25px;
}
.maxW_m {
  max-width: 450px;
  margin: 0 auto;
  margin-bottom: 25px;
}

/*圖片設定*/
.imgbx img {
  width: 100%;
  display: block;
}
/*特殊文字設定*/
.minw {
  font-size: 1rem;
  color: #777777;
}
.minw a {
  color: #3d4a57;
  border-bottom: 1px solid #3d4a57;
  padding-bottom: 2px;
}
p {
  font-size: 1.125rem;
  color: #333;
}
a {
  color: #3d4a57;
  transition: 0.2s all ease-in-out;
}
a:hover {
  opacity: 0.8;
}
/*輸入框*/
input[type='text'],
input[type='password'] {
  width: 100%;
  padding: 0 10px;
  height: 45px;
  color: #505050;
  background: #fff;
  border: 1px solid #dce3e3;
  border-radius: 5px;
  font-size: 1rem;
  /* outline: none; */
}
::-webkit-input-placeholder {
  color: #909090;
}
:-ms-input-placeholder {
  color: #909090;
}
::-moz-placeholder {
  color: #909090;
}
::-ms-input-placeholder {
  color: #909090;
}
::placeholder {
  color: #909090;
}
/*textarea*/
textarea {
  resize: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 100px;
  padding: 10px;
  font-size: 1em;
  color: #505050;
  outline: 0;
  background: #fff;
  border: 1px solid #dce3e3;
}
/*下拉選單*/
select {
  vertical-align: middle;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  width: 100%;
  padding-left: 10px;
  padding-right: 35px;
  background: #fff url(../images/icon_select_01.png) no-repeat scroll right 10px
  top 18px;
  background-size: 15px auto;
  height: 45px;
  color: #909090;
  border: 1px solid #dce3e3;
  border-radius: 5px;
}
select.gray {
  background: #fff url(../images/icon_select_01.png) no-repeat scroll right 10px
  top 18px;
  background-size: 20px auto;
}
select::-ms-expand {
  display: none;
}
select option {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
select:focus {
  border: none;
  border-radius: 0;
}
/*checkbox*/
input[type='checkbox'] {
  display: none;
}
input[type='checkbox'] + label {
  display: inline-block;
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  padding-top: 2px;
  color: #eb5a46;
  font-size: 1.125rem;
  font-weight: 500;
}
input[type='checkbox'] + label span {
  vertical-align: baseline;
}
input[type='checkbox'] + label .icon {
  position: absolute;
  top: 4px;
  left: 0;
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 5px;
  background: #fff;
  background-size: 100%;
  border: solid 2px #eb5a46;
  border-radius: 5px;
}
input[type='checkbox']:checked ~ label .icon::before {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  background: transparent url(../images/input_tick.png) no-repeat center center /
    contain;
  border-radius: 5px;
}
/*radio*/
input[type='radio'] {
  display: none;
}
input[type='radio'] + label .icon {
  display: inline-block;
  position: relative;
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  cursor: pointer;
  background: #fff;
  background-size: 15px;
  border: solid 2px #5ccbf5;
  border-radius: 0.5em;
  margin-right: 5px;
  top: 3px;
}
input[type='radio']:checked + label .icon::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 7px;
  height: 7px;
  background: #5ccbf5;
  border-radius: 50%;
}

/*ol li 基本設定*/
ol {
  margin-left: 20px;
}
ol li {
  list-style: decimal;
  color: #333;
  font-size: 1.125rem;
  margin-bottom: 10px;
}

/*-----頁面設定開始-------*/
.wrapper {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  background-color: #fff;
  overflow: hidden;
}

/*header*/
header {
  box-shadow: -0px 7px 10px -4px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: -0px 7px 10px -4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: -0px 7px 10px -4px rgba(0, 0, 0, 0.2);
  -o-box-shadow: -0px 7px 10px -4px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 1;
}
header .in.logo {
  padding: 15px 30px;
  display: flex;
  align-items: center;
}
header h1 {
  color: #26303b;
  font-size: 1.5rem;
  letter-spacing: 0.9px;
  font-weight: 500;
}
.logo .logo_img {
  vertical-align: middle;
  width: 160px;
  display: inline-block;
  position: relative;
  margin-right: 30px;
}
.logo .logo_img::after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 25px;
  background-color: #999999;
  position: absolute;
  right: -15px;
  top: 50%;
  transform: translateY(-50%);
}

/*in*/
.main {
  padding: 50px 0 40px 0;
  position: relative;
  background-color: #fff;
  background: url(../images/main_bg.jpg) no-repeat center center / cover;
}
.main.index {
  background: url(../images/main_bg_index.jpg) no-repeat center center / cover;
}

.in {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
}

/*標題樣式*/
h2.index_tit {
  color: #fff;
  font-size: 2.18rem;
  margin-top: 20px;
  position: relative;
  margin-bottom: 40px;
  /*margin-top: 40px;*/
}
h2.index_tit::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background-color: #ffb000;
  position: absolute;
  bottom: -15px;
  left: 0;
}

h2.inner_tit {
  display: inline-block;
  background-color: #3d4a57;
  color: #fff;
  font-size: 1.875rem;
  padding: 5px 35px;
}

h3.subtit {
  color: #3d4a57;
  font-size: 1.5rem;
  font-weight: 400;
  margin-top: 5px;
}
h4.mintit {
  font-size: 1.125rem;
  color: #333333;
  font-weight: 500;
  padding-left: 10px;
  position: relative;
}
h4.mintit::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 3px;
  height: 23px;
  width: 3px;
  background: linear-gradient(to bottom, #fdcd7b, #c77e0c);
}

/*footer*/
footer {
  background-color: #eeeeee;
  color: #333;
  padding: 20px 0;
  /*font-size: 1.25rem;*/
  position: relative;
  z-index: 2;
  font-size: 1rem;
}
footer .footeralink {
  font-size: 1rem;
  color: #0069aa;
  background-color: #d9e2e8;
  border-radius: 30px;
  padding: 3px 10px;
  margin-right: 10px;
  margin-left: -5px;
}
footer .info {
  display: flex;
  margin-bottom: 15px;
  color: #333;
  margin-top: 10px;
}
footer li + li::before {
  content: '｜';
  margin: 0 5px;
}
footer p {
  font-size: 0.875rem;
  color: #8d8d8d;
}
/*動畫樣式*/
/*簡單變淡效果*/
.hovercommon {
  transition: 0.2s all ease-in-out;
}
.hovercommon:hover {
  opacity: 0.8;
}

/*popup樣式*/
.popupbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 40;
}
.popupbox .btnBx {
  padding-top: 60px;
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 25px;
}
.popupbox .btnBx a {
  width: 50%;
}
.popup_con {
  position: fixed;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 600px;
  width: calc(100% - 20px);
  min-height: 150px;
  z-index: 20;
  box-sizing: border-box;
  height: auto;
  background-color: #fff;
}

.popupbox .close_btn {
  position: absolute;
  right: -5px;
  top: -45px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: block;
  transition: 0.2s all ease-in-out;
  z-index: 2;
}
.popupbox .close_btn::before {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 30px;
  background: url(../images/close.svg) no-repeat center center / contain;
}
.close_btn:hover {
  transform: rotate(90deg);
}
.popupbox h3 {
  background-color: #3d4a57;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  padding: 10px 10px;
}
.popupbox .con {
  padding: 25px 30px 0 30px;
}

/*滾軸樣式設定*/
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #8d8d8d;
  width: auto;
}
.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #dddddd;
  width: 6px;
}
.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
}
.mCSB_inside > .mCSB_container {
  margin-right: 20px;
}
.mCSB_scrollTools {
  right: -10px;
}

/*分頁樣式*/
.paginationArea {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.paginationArea li {
  font-size: 1.25rem;
  color: #fff;
  position: relative;
  width: 30px;
  text-align: center;
  margin: 0 5px;
  transition: 0.2s all ease-in-out;
}
.paginationArea li:hover {
  opacity: 0.8;
}
.paginationArea li::before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background-color: transparent;
  position: absolute;
  transition: 0.2s all ease-in-out;
  border-radius: 50%;
}
.paginationArea li a {
  position: relative;
  z-index: 1;
  top: -1px;
  color: #687979;
}
.paginationArea li.on::before {
  background-color: #29b1b1;
}
.paginationArea li.on a {
  color: #fff;
}
.paginationArea .alprev a,
.paginationArea .prev a,
.paginationArea .alnext a,
.paginationArea .next a {
  vertical-align: middle;
  width: 25px;
  display: inline-block;
  position: relative;
  top: -3px;
}
.paginationArea .alprev a img,
.paginationArea .prev a img,
.paginationArea .alnext a img,
.paginationArea .next a img {
  width: 100%;
}

/*mobile樣式*/
@media screen and (max-width: 767px) {
  /*基本調整*/
  .web {
    display: none !important;
  }
  .mobile {
    display: block;
  }
  .in {
    padding: 0 15px;
  }
  .main {
    padding: 20px 0 25px 0;
    /* background: #fff9eb; */
    background-size: 100% 100%;
  }

  ol li {
    font-size: 1rem;
    margin-bottom: 5px;
  }
  p {
    font-size: 1rem;
  }

  /*標題樣式*/
  h2.inner_tit {
    font-size: 1.3rem;
  }
  h3.subtit {
    font-size: 1.125rem;
  }
  /*按鈕*/
  .btnBx {
    justify-content: center;
    margin-bottom: 15px;
  }
  .onlybtn {
    justify-content: center;
  }
  .popupbox .btnBx {
    max-width: 100%;
  }

  .btnBx a {
    width: 45%;
    font-size: 1.125rem;
    padding: 10px 16px;
    font-weight: 500;
    margin: 0;
    /*width: 100%;*/
  }
  .btnBx a:nth-child(2) {
    margin-left: 10px;
  }
  .list_grayline a {
    font-weight: 500;
  }
  /*大小*/
  .font-size-s {
    font-size: 0.8rem;
  }
  .font-size-m {
    font-size: 0.9rem;
  }
  .font-size-lg {
    font-size: 1rem;
  }
  .font-size-xl {
    font-size: 1.125rem;
  }
  .font-size-big {
    font-size: 1.3rem;
  }

  /*間距設定*/
  .space-s {
    height: 10px;
  }
  .space-m {
    height: 10px;
  }
  .space-lg {
    height: 20px;
  }
  .space-xl {
    height: 30px;
  }
  .mb-s {
    margin-bottom: 5px;
  }
  .mb-s {
    margin-bottom: 10px;
  }
  .mb-lg {
    margin-bottom: 20px;
  }

  /*placeholder*/
  input[type='text'],
  input[type='password'] {
    font-size: 1.125rem;
  }
  select,
  input {
    font-size: 1.125rem;
  }
  ::-webkit-input-placeholder {
    font-size: 1rem;
  }
  :-ms-input-placeholder {
    font-size: 1rem;
  }
  ::-moz-placeholder {
    font-size: 1rem;
  }
  ::-ms-input-placeholder {
    font-size: 1rem;
  }
  ::placeholder {
    font-size: 1rem;
  }
  /*header*/
  header .in.logo {
    padding: 15px 10px;
  }
  header h1 {
    font-size: 1rem;
    line-height: 1.2rem;
  }
  .logo .logo_img {
    width: 100px;
    margin-right: 16px;
  }
  .logo .logo_img::after {
    right: -8px;
  }
  /*標題樣式*/
  h2.index_tit {
    margin-top: 0;
    font-size: 1.8rem;
  }
  /*popup*/
  .popupbox .con {
    padding: 15px 10px 0 10px;
  }
  .popup_con .close_btn {
    width: 35px;
    top: -40px;
    height: 35px;
    right: 3px;
  }
  .popupbox .btnBx a {
    font-size: 1.125rem;
    font-weight: 400;
  }
  .popupbox .btnBx {
    margin-top: 40px;
  }
  /*分頁*/
  .paginationArea li {
    margin: 0 6px;
  }

  /*footer*/
  footer {
    padding: 15px 0;
  }
  footer .info {
    flex-direction: column;
    margin-bottom: 10px;
  }
  footer li + li::before {
    display: none;
  }
  footer,
  footer .footeralink {
    font-size: 0.875rem;
  }
  /*最小尺寸手機樣式*/
  @media screen and (max-width: 360px) {
  }
  /*---forie 微調樣式--*/
  @media screen and (min-width: 0\0) {
  }
}
