@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Noto+Sans+TC&family=Noto+Serif+TC:wght@300;400;500;700&family=Roboto+Slab:wght@300;400;500&display=swap");
.banner-area {
  margin-bottom: 0; }

.page-title-area {
  z-index: 2;
  margin-bottom: 0; }

.contact-area {
  margin-bottom: 100px; }
  @media (max-width: 860px) {
    .contact-area {
      margin-bottom: 40px; } }
  .contact-area .note-box {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 32px;
    color: #707070;
    margin-bottom: 50px; }
    @media (max-width: 860px) {
      .contact-area .note-box {
        margin-bottom: 25px; } }
  .contact-area .form-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: solid 1px #e5e5e5;
    margin-top: 54px;
    padding-top: 60px; }
    @media (max-width: 860px) {
      .contact-area .form-box {
        margin-top: 30px;
        padding-top: 30px; } }
    .contact-area .form-box .block {
      width: 50%;
      margin-bottom: 40px; }
      @media (max-width: 680px) {
        .contact-area .form-box .block {
          width: 100%; } }
      @media (max-width: 860px) {
        .contact-area .form-box .block {
          margin-bottom: 20px; } }
      .contact-area .form-box .block.full {
        width: 100%; }
      @media (min-width: 681px) {
        .contact-area .form-box .block.pr20 {
          padding-right: 20px; }
        .contact-area .form-box .block.pl20 {
          padding-left: 20px; } }
      .contact-area .form-box .block .title {
        font-size: 15px;
        line-height: 25px;
        letter-spacing: 0.05em;
        color: #1b1b1b;
        margin-bottom: 15px; }
        .contact-area .form-box .block .title em {
          color: #1b1b1b; }
      .contact-area .form-box .block input[type='text'] {
        position: relative;
        width: 100%;
        font-size: inherit;
        font-family: inherit;
        font-weight: inherit;
        padding: 10px;
        border: 1px solid #e5e5e5;
        outline: none;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s;
        line-height: 28px; }
        .contact-area .form-box .block input[type='text']:focus {
          border: 1px solid #2d6363; }
      .contact-area .form-box .block textarea {
        width: 100%;
        height: 50px;
        font-size: inherit;
        font-family: inherit;
        font-weight: inherit;
        padding: 10px;
        border: 1px solid #e5e5e5;
        outline: none;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s; }
        .contact-area .form-box .block textarea:focus {
          border: 1px solid #2d6363; }
      .contact-area .form-box .block .error {
        outline: 1px solid #e00 !important;
        -webkit-box-shadow: 0 0 10px rgba(255, 0, 0, 0.5);
        box-shadow: 0 0 10px rgba(255, 0, 0, 0.5); }

.padding-wrap {
  padding-top: 70px; }
  @media (max-width: 860px) {
    .padding-wrap {
      padding-top: 40px; } }

.page-title-area {
  padding-bottom: 40px; }
  @media (max-width: 860px) {
    .page-title-area {
      padding-bottom: 20px; } }
  .page-title-area h2 {
    position: relative;
    font-family: "Noto Serif TC", serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 25px;
    letter-spacing: 0.1em;
    color: #1b1b1b;
    padding-bottom: 15px; }
    .page-title-area h2::before {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 12px;
      height: 1px;
      background-color: #1b1b1b;
      -webkit-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }

.submit-btn-box {
  padding-top: 20px; }
  .submit-btn-box .btn {
    width: 150px;
    font-family: "Noto Serif TC", serif;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 45px;
    text-align: center;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    border: solid 1px #1b1b1b;
    color: #1b1b1b;
    cursor: pointer; }
    .submit-btn-box .btn:hover {
      background-color: #3a684e;
      border-color: #3a684e;
      color: #fff; }

.select-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media (max-width: 380px) {
    .select-box {
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .select-box .title {
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 0.05em;
    color: #1b1b1b;
    padding-right: 20px; }
    @media (max-width: 380px) {
      .select-box .title {
        margin-bottom: 15px; } }
  .select-box .right {
    position: relative;
    z-index: 1; }
    @media (max-width: 380px) {
      .select-box .right {
        width: 100%; } }
  .select-box #question-select {
    display: none; }
  .select-box span {
    display: inline-block;
    min-width: 260px;
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.2em;
    border: 1px solid #e5e5e5;
    color: #707070;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    padding: 10px;
    outline: none;
    text-align: center;
    cursor: pointer; }
    @media (max-width: 380px) {
      .select-box span {
        display: block; } }
    .select-box span.active::after {
      display: none; }
    .select-box span::after {
      content: '+';
      font-family: "Noto Sans TC", serif;
      font-size: 15px;
      font-weight: bold;
      color: #707070;
      margin-left: 25px; }

.select-list {
  position: absolute;
  top: calc(100% + 5px);
  width: 100%;
  text-align: center;
  background-color: #fff;
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  pointer-events: none;
  visibility: hidden;
  opacity: 0; }
  .select-list.active {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    pointer-events: auto;
    visibility: visible;
    opacity: 1; }
  .select-list li {
    line-height: 28px;
    border: 1px solid #e5e5e5;
    padding: 10px;
    cursor: pointer; }
    .select-list li:nth-of-type(n + 2) {
      margin-top: -1px; }
