@charset "UTF-8";
.base-footer .base-menu > .in, .base-header .base-menu > .in {
  max-width: 1000px;
  margin: 0 auto;
}

.site-footer > .in, .category-tabs > .in, .hero > .in, .site-header > .in, .group.home .md.aplyCase > .in, .group.home .block01 > .in, .base-conter.page > .in, .msg-tool > .in {
  max-width: 1500px;
  margin: 0 auto;
}

.form-notice-list, .form-doc-list, .form-steps-list, .apply-pager, .site-footer .footer-links, .mydata-grid ul, .agency-group-list, .category-grid ul, .category-tabs ul, .site-menu-list, .site-nav ul, .base-extend .group.shareBox .hd h3, .group.shareBox .ct ul, .md.promotionBanner > .in ul, .group-text-links > ul, .base-menu ul, body {
  margin: 0;
  position: static;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}

.form-notice-list, .form-doc-list, .form-steps-list, .apply-pager, .site-footer .footer-links, .mydata-grid ul, .agency-group-list, .category-grid ul, .category-tabs ul, .site-menu-list, .site-nav ul, .base-extend .group.shareBox .hd h3, .group.shareBox .ct ul, .md.promotionBanner > .in ul, .group-text-links > ul, .base-menu ul, body {
  padding: 0;
  border: 0;
  border-radius: 0;
  list-style: none;
  background-color: transparent;
  font-size: 1em;
  font-weight: normal;
  -webkit-transition: initial;
  transition: initial;
}
.form-notice-list:before, .form-doc-list:before, .form-steps-list:before, .apply-pager:before, .site-footer .footer-links:before, .mydata-grid ul:before, .agency-group-list:before, .category-grid ul:before, .category-tabs ul:before, .site-menu-list:before, .site-nav ul:before, .base-extend .group.shareBox .hd h3:before, .group.shareBox .ct ul:before, .md.promotionBanner > .in ul:before, .group-text-links > ul:before, .base-menu ul:before, body:before {
  content: none;
}
.form-notice-list:after, .form-doc-list:after, .form-steps-list:after, .apply-pager:after, .site-footer .footer-links:after, .mydata-grid ul:after, .agency-group-list:after, .category-grid ul:after, .category-tabs ul:after, .site-menu-list:after, .site-nav ul:after, .base-extend .group.shareBox .hd h3:after, .group.shareBox .ct ul:after, .md.promotionBanner > .in ul:after, .group-text-links > ul:after, .base-menu ul:after, body:after {
  content: none;
}

.base-footer .group-text-links::after {
  content: "​";
  display: block;
  height: 0;
  clear: both;
}

.announce-content .msg {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.group.shareBox .ct li a, .md.promotionBanner .ft .bannerBtn li.beans .beansList li a, .md.promotionBanner .ft .bannerBtn li.arrow, .base-mobile .mobile-btn-menu span a, .base-mobile.is-active .mobile-btn-menu span a {
  text-indent: -9999px;
  font: 0/0 a;
  color: transparent;
}

.file a.zip::before, a.zip:after, .file a.xml::before, a.xml:after, .file a.xlsx::before, a.xlsx:after, .file a.xls::before, a.xls:after, .file a.webm::before, a.webm:after, .file a.wav::before, a.wav:after, .file a.txt::before, a.txt:after, .file a.tif::before, a.tif:after, .file a.tar::before, a.tar:after, .file a.swf::before, a.swf:after, .file a.svg::before, a.svg:after, .file a.sass::before, a.sass:after, .file a.rss::before, a.rss:after, .file a.rar::before, a.rar:after, .file a.psd::before, a.psd:after, .file a.pptx::before, a.pptx:after, .file a.ppt::before, a.ppt:after, .file a.png::before, a.png:after, .file a.pdf::before, a.pdf:after, .file a.other::before, a.other:after, .file a.ogv::before, a.ogv:after, .file a.ogg::before, a.ogg:after, .file a.odt::before, a.odt:after, .file a.ods::before, a.ods:after, .file a.odp::before, a.odp:after, .file a.odf::before, a.odf:after, .file a.mp4::before, a.mp4:after, .file a.mp3::before, a.mp3:after, .file a.mov::before, a.mov:after, .file a.md::before, a.md:after, .file a.link::before, a.link:after, .file a.js::before, a.js:after, .file a.jpg::before, a.jpg:after, .file a.jpeg::before, a.jpeg:after, .file a.ico::before, a.ico:after, .file a.html::before, a.html:after, .file a.gif::before, a.gif:after, .file a.exe::before, a.exe:after, .file a.docx::before, a.docx:after, .file a.doc::before, a.doc:after, .file a.dmg::before, a.dmg:after, .file a.csv::before, a.csv:after, .file a.css::before, a.css:after, .file a.cdr::before, a.cdr:after, .file a.bmp::before, a.bmp:after, .file a.avi::before, a.avi:after, .file a.ai::before, a.ai:after {
  content: "​";
  display: inline-block;
  vertical-align: middle;
}

.md.text-link .hd, .md.pic-link01 .hd, .md.search .hd {
  text-align: center;
}
.md.text-link .hd h3, .md.pic-link01 .hd h3, .md.search .hd h3 {
  margin: 0;
  padding: 0;
  color: #ff8346;
  border-left: 5px solid #ff8346;
  display: inline-block;
  padding-left: 10px;
  font-size: 1.5em;
}

@-webkit-keyframes down {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes down {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@font-face {
  font-family: "Noto Sans TC";
  src: url("/assets/fonts/NotoSansTC-VariableFont_wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
body {
  background: #fef2ec;
  background-size: 100% auto;
  font-family: "Noto Sans TC", Arial, "微軟正黑體", "Helvetica Neue", Helvetica, sans-serif, "新細明體";
}

.msg-tool > .in {
  position: relative;
}

.for_accessibility a {
  position: absolute;
  z-index: 0;
  width: 128px;
}
.for_accessibility a:focus {
  font-size: 1em;
  z-index: 99999;
  display: block;
  padding: 5px;
  margin: 5px;
  background: #ffffff;
  top: 5px;
  left: 5px;
}

.objBut {
  margin: 3px;
  background: #ffbd9c;
  border-radius: 4px;
  color: #1a1a1a;
  padding: 5px 10px;
  font-size: 1em;
  border: none;
  text-decoration: none;
  display: inline-block;
  font-weight: bold;
  vertical-align: middle;
}
.objBut:hover {
  opacity: 0.8;
}
.objBut.is-gray {
  background: #646464;
  border-radius: 4px;
  color: #ffffff;
  padding: 5px 10px;
  font-size: 1em;
  border: none;
  text-decoration: none;
  display: inline-block;
  font-weight: bold;
  vertical-align: middle;
}
.objBut.is-gray:hover {
  opacity: 0.8;
}

.is-red {
  color: rgb(255, 0, 0);
}

.alignRight {
  text-align: right;
}

.alignCenter {
  text-align: center;
}

.sortSelect {
  margin: 15px 0;
}
.sortSelect .item {
  display: inline-block;
}
.sortSelect label {
  vertical-align: middle;
}
.sortSelect input,
.sortSelect select {
  padding: 5px;
  border-radius: 4px;
  border: 1px solid #b6b6b6;
}

.group-btn {
  margin: 10px 0;
}

@media screen and (max-width: 560px) {
  .table-rwd .ct table {
    background: transparent;
    border: none;
  }
}
@media screen and (max-width: 560px) {
  .table-rwd .ct table thead {
    display: none;
  }
}
@media screen and (max-width: 560px) {
  .table-rwd .ct table tbody th {
    display: none;
  }
  .table-rwd .ct table tbody tr {
    display: block;
  }
  .table-rwd .ct table tbody tr + tr {
    margin-top: 8px;
  }
  .table-rwd .ct table tbody td {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: none;
    padding: 0 !important;
  }
  .table-rwd .ct table tbody td + td {
    border-top: 1px dashed #e4e4e4;
  }
  .table-rwd .ct table tbody td span {
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2;
    padding: 5px 8px;
    max-width: 245px;
  }
  .table-rwd .ct table tbody td::before {
    content: attr(data-title);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 6px;
    background-color: #ff8346;
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}

.jqcloud {
  font: 0.6em Arial, "微軟正黑體", "Helvetica Neue", Helvetica, sans-serif, "新細明體";
  line-height: normal;
  overflow: hidden;
  position: relative;
}

/* line 209, ../sass/_base-layout.scss */
.jqcloud-word {
  margin: 0;
  padding: 0;
}

/* line 215, ../sass/_base-layout.scss */
.jqcloud-word.w1 {
  color: #536ae1;
  font-size: 60%;
}

/* line 220, ../sass/_base-layout.scss */
.jqcloud-word.w2 {
  color: #42a0df;
  font-size: 85%;
}

/* line 225, ../sass/_base-layout.scss */
.jqcloud-word.w3 {
  color: #3ab8ff;
  font-size: 110%;
}

/* line 230, ../sass/_base-layout.scss */
.jqcloud-word.w4 {
  color: #3696e4;
  font-size: 160%;
}

/* line 235, ../sass/_base-layout.scss */
.jqcloud-word.w5 {
  color: #425dc5;
  font-size: 210%;
}

/* line 240, ../sass/_base-layout.scss */
.jqcloud-word.w6 {
  color: #3696e4;
  font-size: 260%;
}

/* line 245, ../sass/_base-layout.scss */
.jqcloud-word.w7 {
  color: #186192;
  font-size: 310%;
}

/* line 250, ../sass/_base-layout.scss */
.jqcloud-word.w8 {
  color: #007a99;
  font-size: 260%;
}

/* line 255, ../sass/_base-layout.scss */
.jqcloud-word.w9 {
  color: #007a99;
  font-size: 410%;
}

/* line 260, ../sass/_base-layout.scss */
.jqcloud-word.w10 {
  color: #007a99;
  font-size: 460%;
}

/* line 265, ../sass/_base-layout.scss */
.jqcloud-word a {
  color: inherit;
  font-size: inherit;
  text-decoration: none !important;
}

/* line 271, ../sass/_base-layout.scss */
.jqcloud-word a:hover {
  color: #007a99;
}

a.ai:after {
  margin-left: 5px;
  background: url("../images/file/file-type-ai.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.ai {
  border: 1px solid #5a422a;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.ai::before {
  margin-left: 5px;
  background: url("../images/file/file-type-ai.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.ai::after {
  content: none;
}
.file a.ai:hover {
  border-left-width: 10px;
}
a.avi:after {
  margin-left: 5px;
  background: url("../images/file/file-type-avi.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.avi {
  border: 1px solid #1e4b84;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.avi::before {
  margin-left: 5px;
  background: url("../images/file/file-type-avi.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.avi::after {
  content: none;
}
.file a.avi:hover {
  border-left-width: 10px;
}
a.bmp:after {
  margin-left: 5px;
  background: url("../images/file/file-type-bmp.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.bmp {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.bmp::before {
  margin-left: 5px;
  background: url("../images/file/file-type-bmp.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.bmp::after {
  content: none;
}
.file a.bmp:hover {
  border-left-width: 10px;
}
a.cdr:after {
  margin-left: 5px;
  background: url("../images/file/file-type-cdr.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.cdr {
  border: 1px solid #39b54a;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.cdr::before {
  margin-left: 5px;
  background: url("../images/file/file-type-cdr.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.cdr::after {
  content: none;
}
.file a.cdr:hover {
  border-left-width: 10px;
}
a.css:after {
  margin-left: 5px;
  background: url("../images/file/file-type-css.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.css {
  border: 1px solid #bec730;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.css::before {
  margin-left: 5px;
  background: url("../images/file/file-type-css.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.css::after {
  content: none;
}
.file a.css:hover {
  border-left-width: 10px;
}
a.csv:after {
  margin-left: 5px;
  background: url("../images/file/file-type-csv.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.csv {
  border: 1px solid #745076;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.csv::before {
  margin-left: 5px;
  background: url("../images/file/file-type-csv.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.csv::after {
  content: none;
}
.file a.csv:hover {
  border-left-width: 10px;
}
a.dmg:after {
  margin-left: 5px;
  background: url("../images/file/file-type-dmg.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.dmg {
  border: 1px solid #808080;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.dmg::before {
  margin-left: 5px;
  background: url("../images/file/file-type-dmg.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.dmg::after {
  content: none;
}
.file a.dmg:hover {
  border-left-width: 10px;
}
a.doc:after {
  margin-left: 5px;
  background: url("../images/file/file-type-doc.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.doc {
  border: 1px solid #2a5696;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.doc::before {
  margin-left: 5px;
  background: url("../images/file/file-type-doc.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.doc::after {
  content: none;
}
.file a.doc:hover {
  border-left-width: 10px;
}
a.docx:after {
  margin-left: 5px;
  background: url("../images/file/file-type-docx.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.docx {
  border: 1px solid #2a5696;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.docx::before {
  margin-left: 5px;
  background: url("../images/file/file-type-docx.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.docx::after {
  content: none;
}
.file a.docx:hover {
  border-left-width: 10px;
}
a.exe:after {
  margin-left: 5px;
  background: url("../images/file/file-type-exe.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.exe {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.exe::before {
  margin-left: 5px;
  background: url("../images/file/file-type-exe.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.exe::after {
  content: none;
}
.file a.exe:hover {
  border-left-width: 10px;
}
a.gif:after {
  margin-left: 5px;
  background: url("../images/file/file-type-gif.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.gif {
  border: 1px solid #dca61f;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.gif::before {
  margin-left: 5px;
  background: url("../images/file/file-type-gif.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.gif::after {
  content: none;
}
.file a.gif:hover {
  border-left-width: 10px;
}
a.html:after {
  margin-left: 5px;
  background: url("../images/file/file-type-html.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.html {
  border: 1px solid #25b7d3;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.html::before {
  margin-left: 5px;
  background: url("../images/file/file-type-html.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.html::after {
  content: none;
}
.file a.html:hover {
  border-left-width: 10px;
}
a.ico:after {
  margin-left: 5px;
  background: url("../images/file/file-type-ico.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.ico {
  border: 1px solid #a60b09;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.ico::before {
  margin-left: 5px;
  background: url("../images/file/file-type-ico.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.ico::after {
  content: none;
}
.file a.ico:hover {
  border-left-width: 10px;
}
a.jpeg:after {
  margin-left: 5px;
  background: url("../images/file/file-type-jpeg.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.jpeg {
  border: 1px solid #208895;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.jpeg::before {
  margin-left: 5px;
  background: url("../images/file/file-type-jpeg.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.jpeg::after {
  content: none;
}
.file a.jpeg:hover {
  border-left-width: 10px;
}
a.jpg:after {
  margin-left: 5px;
  background: url("../images/file/file-type-jpg.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.jpg {
  border: 1px solid #208895;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.jpg::before {
  margin-left: 5px;
  background: url("../images/file/file-type-jpg.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.jpg::after {
  content: none;
}
.file a.jpg:hover {
  border-left-width: 10px;
}
a.js:after {
  margin-left: 5px;
  background: url("../images/file/file-type-js.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.js {
  border: 1px solid #5e5021;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.js::before {
  margin-left: 5px;
  background: url("../images/file/file-type-js.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.js::after {
  content: none;
}
.file a.js:hover {
  border-left-width: 10px;
}
a.link:after {
  margin-left: 5px;
  background: url("../images/file/file-type-link.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.link {
  border: 1px solid #0069ff;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.link::before {
  margin-left: 5px;
  background: url("../images/file/file-type-link.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.link::after {
  content: none;
}
.file a.link:hover {
  border-left-width: 10px;
}
a.md:after {
  margin-left: 5px;
  background: url("../images/file/file-type-md.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.md {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.md::before {
  margin-left: 5px;
  background: url("../images/file/file-type-md.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.md::after {
  content: none;
}
.file a.md:hover {
  border-left-width: 10px;
}
a.mov:after {
  margin-left: 5px;
  background: url("../images/file/file-type-mov.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.mov {
  border: 1px solid #0069ff;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.mov::before {
  margin-left: 5px;
  background: url("../images/file/file-type-mov.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.mov::after {
  content: none;
}
.file a.mov:hover {
  border-left-width: 10px;
}
a.mp3:after {
  margin-left: 5px;
  background: url("../images/file/file-type-mp3.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.mp3 {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.mp3::before {
  margin-left: 5px;
  background: url("../images/file/file-type-mp3.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.mp3::after {
  content: none;
}
.file a.mp3:hover {
  border-left-width: 10px;
}
a.mp4:after {
  margin-left: 5px;
  background: url("../images/file/file-type-mp4.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.mp4 {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.mp4::before {
  margin-left: 5px;
  background: url("../images/file/file-type-mp4.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.mp4::after {
  content: none;
}
.file a.mp4:hover {
  border-left-width: 10px;
}
a.odf:after {
  margin-left: 5px;
  background: url("../images/file/file-type-odf.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.odf {
  border: 1px solid #03659d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.odf::before {
  margin-left: 5px;
  background: url("../images/file/file-type-odf.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.odf::after {
  content: none;
}
.file a.odf:hover {
  border-left-width: 10px;
}
a.odp:after {
  margin-left: 5px;
  background: url("../images/file/file-type-odp.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.odp {
  border: 1px solid #9c3b03;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.odp::before {
  margin-left: 5px;
  background: url("../images/file/file-type-odp.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.odp::after {
  content: none;
}
.file a.odp:hover {
  border-left-width: 10px;
}
a.ods:after {
  margin-left: 5px;
  background: url("../images/file/file-type-ods.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.ods {
  border: 1px solid #179d03;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.ods::before {
  margin-left: 5px;
  background: url("../images/file/file-type-ods.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.ods::after {
  content: none;
}
.file a.ods:hover {
  border-left-width: 10px;
}
a.odt:after {
  margin-left: 5px;
  background: url("../images/file/file-type-odt.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.odt {
  border: 1px solid #03659d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.odt::before {
  margin-left: 5px;
  background: url("../images/file/file-type-odt.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.odt::after {
  content: none;
}
.file a.odt:hover {
  border-left-width: 10px;
}
a.ogg:after {
  margin-left: 5px;
  background: url("../images/file/file-type-ogg.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.ogg {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.ogg::before {
  margin-left: 5px;
  background: url("../images/file/file-type-ogg.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.ogg::after {
  content: none;
}
.file a.ogg:hover {
  border-left-width: 10px;
}
a.ogv:after {
  margin-left: 5px;
  background: url("../images/file/file-type-ogv.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.ogv {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.ogv::before {
  margin-left: 5px;
  background: url("../images/file/file-type-ogv.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.ogv::after {
  content: none;
}
.file a.ogv:hover {
  border-left-width: 10px;
}
a.other:after {
  margin-left: 5px;
  background: url("../images/file/file-type-other.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.other {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.other::before {
  margin-left: 5px;
  background: url("../images/file/file-type-other.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.other::after {
  content: none;
}
.file a.other:hover {
  border-left-width: 10px;
}
a.pdf:after {
  margin-left: 5px;
  background: url("../images/file/file-type-pdf.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.pdf {
  border: 1px solid #ef1011;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.pdf::before {
  margin-left: 5px;
  background: url("../images/file/file-type-pdf.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.pdf::after {
  content: none;
}
.file a.pdf:hover {
  border-left-width: 10px;
}
a.png:after {
  margin-left: 5px;
  background: url("../images/file/file-type-png.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.png {
  border: 1px solid #3374ae;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.png::before {
  margin-left: 5px;
  background: url("../images/file/file-type-png.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.png::after {
  content: none;
}
.file a.png:hover {
  border-left-width: 10px;
}
a.ppt:after {
  margin-left: 5px;
  background: url("../images/file/file-type-ppt.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.ppt {
  border: 1px solid #d04324;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.ppt::before {
  margin-left: 5px;
  background: url("../images/file/file-type-ppt.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.ppt::after {
  content: none;
}
.file a.ppt:hover {
  border-left-width: 10px;
}
a.pptx:after {
  margin-left: 5px;
  background: url("../images/file/file-type-pptx.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.pptx {
  border: 1px solid #d04324;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.pptx::before {
  margin-left: 5px;
  background: url("../images/file/file-type-pptx.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.pptx::after {
  content: none;
}
.file a.pptx:hover {
  border-left-width: 10px;
}
a.psd:after {
  margin-left: 5px;
  background: url("../images/file/file-type-psd.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.psd {
  border: 1px solid #2c275d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.psd::before {
  margin-left: 5px;
  background: url("../images/file/file-type-psd.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.psd::after {
  content: none;
}
.file a.psd:hover {
  border-left-width: 10px;
}
a.rar:after {
  margin-left: 5px;
  background: url("../images/file/file-type-rar.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.rar {
  border: 1px solid #aa834d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.rar::before {
  margin-left: 5px;
  background: url("../images/file/file-type-rar.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.rar::after {
  content: none;
}
.file a.rar:hover {
  border-left-width: 10px;
}
a.rss:after {
  margin-left: 5px;
  background: url("../images/file/file-type-rss.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.rss {
  border: 1px solid #f8991d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.rss::before {
  margin-left: 5px;
  background: url("../images/file/file-type-rss.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.rss::after {
  content: none;
}
.file a.rss:hover {
  border-left-width: 10px;
}
a.sass:after {
  margin-left: 5px;
  background: url("../images/file/file-type-sass.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.sass {
  border: 1px solid #cc6699;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.sass::before {
  margin-left: 5px;
  background: url("../images/file/file-type-sass.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.sass::after {
  content: none;
}
.file a.sass:hover {
  border-left-width: 10px;
}
a.svg:after {
  margin-left: 5px;
  background: url("../images/file/file-type-svg.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.svg {
  border: 1px solid #5a422a;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.svg::before {
  margin-left: 5px;
  background: url("../images/file/file-type-svg.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.svg::after {
  content: none;
}
.file a.svg:hover {
  border-left-width: 10px;
}
a.swf:after {
  margin-left: 5px;
  background: url("../images/file/file-type-swf.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.swf {
  border: 1px solid #b60000;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.swf::before {
  margin-left: 5px;
  background: url("../images/file/file-type-swf.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.swf::after {
  content: none;
}
.file a.swf:hover {
  border-left-width: 10px;
}
a.tar:after {
  margin-left: 5px;
  background: url("../images/file/file-type-tar.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.tar {
  border: 1px solid #aa834d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.tar::before {
  margin-left: 5px;
  background: url("../images/file/file-type-tar.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.tar::after {
  content: none;
}
.file a.tar:hover {
  border-left-width: 10px;
}
a.tif:after {
  margin-left: 5px;
  background: url("../images/file/file-type-tif.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.tif {
  border: 1px solid #2c275d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.tif::before {
  margin-left: 5px;
  background: url("../images/file/file-type-tif.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.tif::after {
  content: none;
}
.file a.tif:hover {
  border-left-width: 10px;
}
a.txt:after {
  margin-left: 5px;
  background: url("../images/file/file-type-txt.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.txt {
  border: 1px solid #333333;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.txt::before {
  margin-left: 5px;
  background: url("../images/file/file-type-txt.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.txt::after {
  content: none;
}
.file a.txt:hover {
  border-left-width: 10px;
}
a.wav:after {
  margin-left: 5px;
  background: url("../images/file/file-type-wav.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.wav {
  border: 1px solid #254b9d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.wav::before {
  margin-left: 5px;
  background: url("../images/file/file-type-wav.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.wav::after {
  content: none;
}
.file a.wav:hover {
  border-left-width: 10px;
}
a.webm:after {
  margin-left: 5px;
  background: url("../images/file/file-type-webm.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.webm {
  border: 1px solid #70ba1d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.webm::before {
  margin-left: 5px;
  background: url("../images/file/file-type-webm.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.webm::after {
  content: none;
}
.file a.webm:hover {
  border-left-width: 10px;
}
a.xls:after {
  margin-left: 5px;
  background: url("../images/file/file-type-xls.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.xls {
  border: 1px solid #1d7044;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.xls::before {
  margin-left: 5px;
  background: url("../images/file/file-type-xls.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.xls::after {
  content: none;
}
.file a.xls:hover {
  border-left-width: 10px;
}
a.xlsx:after {
  margin-left: 5px;
  background: url("../images/file/file-type-xlsx.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.xlsx {
  border: 1px solid #1d7044;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.xlsx::before {
  margin-left: 5px;
  background: url("../images/file/file-type-xlsx.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.xlsx::after {
  content: none;
}
.file a.xlsx:hover {
  border-left-width: 10px;
}
a.xml:after {
  margin-left: 5px;
  background: url("../images/file/file-type-xml.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.xml {
  border: 1px solid #25b7d3;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.xml::before {
  margin-left: 5px;
  background: url("../images/file/file-type-xml.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.xml::after {
  content: none;
}
.file a.xml:hover {
  border-left-width: 10px;
}
a.zip:after {
  margin-left: 5px;
  background: url("../images/file/file-type-zip.png") no-repeat;
  width: 16px;
}
.file a {
  padding: 3px 10px 3px 0px !important;
  text-decoration: none;
}
.file a.zip {
  border: 1px solid #aa834d;
  border-left-width: 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.file a.zip::before {
  margin-left: 5px;
  background: url("../images/file/file-type-zip.png") no-repeat;
  width: 16px;
  margin-right: 5px;
}
.file a.zip::after {
  content: none;
}
.file a.zip:hover {
  border-left-width: 10px;
}

.chAgree {
  background: #e4e4e4;
  padding: 10px;
  font-size: 1.3em;
  font-weight: bold;
  text-align: center;
  color: #b00;
}
.chAgree label {
  border-bottom: 1px solid;
}

.errpr-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  line-height: 1.7;
}
@media screen and (max-width: 834px) {
  .errpr-page {
    display: block;
  }
}
.errpr-page .p {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  font-size: 1.5em;
  color: #444444;
  margin-bottom: 10px;
  word-break: break-all;
}
.errpr-page .p .title {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 10px;
  display: block;
  color: #1a1a1a;
}
.errpr-page .p .but {
  margin-top: 5px;
}
.errpr-page .img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}
.errpr-page .img img {
  width: 100%;
}

.base-wrapper > .in {
  position: relative;
}

.base-extend {
  position: relative;
  padding: 5px;
  background: #ff8346;
  text-align: right;
}
@media screen and (max-width: 834px) {
  .base-extend {
    display: none;
  }
}

.base-header {
  background-color: #ffffff;
  padding-top: 15px;
}
.base-header > .in {
  max-width: 1300px;
  margin: 0 auto;
  text-align: center;
}
.base-header > .in > div {
  vertical-align: middle;
}
@media screen and (max-width: 834px) {
  .base-header {
    display: none;
  }
}

.base-conter {
  background: #fef2ec;
  -webkit-box-shadow: 0px -5px 17px #b6b6b6;
          box-shadow: 0px -5px 17px #b6b6b6;
  position: relative;
}
.base-conter.page {
  padding-top: 30px;
  padding-bottom: 110px;
}
.base-conter.page > .in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media screen and (max-width: 834px) {
  .base-conter.page {
    padding-top: 70px;
  }
  .base-conter.page > .in {
    display: block;
  }
}
.base-conter.iframe {
  max-width: 1400px;
  margin: 0 auto;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.base-footer {
  background: #b5d8f2;
  padding-top: 70px;
  z-index: 1;
  position: relative;
}
.base-footer > .in {
  background-color: #9fcca3;
  position: relative;
}
.base-footer > .in::after {
  content: "​";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 50vw 100px 49vw;
  border-color: transparent transparent #9fcca3 transparent;
  position: absolute;
  top: -100px;
  right: 0px;
}
.base-footer > .in .ment-mobile-btn {
  display: none;
}
@media screen and (max-width: 834px) {
  .base-footer > .in .ment-mobile-btn {
    display: block;
  }
  .base-footer > .in .ment-mobile-btn h4 {
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .base-footer > .in .ment-mobile-btn h4 span a {
    padding: 10px 70px;
    display: inline-block;
    color: #ffffff;
    font-size: 1.5rem;
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(155.325, 207.675, 159.9783333333)), to(rgb(162.5, 204, 159)));
    background: linear-gradient(to bottom, rgb(155.325, 207.675, 159.9783333333) 0%, rgb(162.5, 204, 159) 100%);
    border-radius: 30px 30px 0 0;
    text-decoration: none;
  }
}
.base-footer > .in .msg-tool > .in .message {
  padding: 20px 10px 40px 10px;
  color: #444444;
}
.base-footer > .in .msg-tool > .in .message a {
  text-decoration: none;
}
@media screen and (max-width: 834px) {
  .base-footer > .in .msg-tool > .in .message {
    font-size: 0.75rem;
    text-align: left;
  }
}

.base-mobile {
  position: fixed;
  width: 100vw;
  top: 0;
  z-index: 3;
  display: none;
}
@media screen and (max-width: 834px) {
  .base-mobile {
    display: block;
  }
}
.base-mobile.is-active .info {
  left: 0;
}
.base-mobile.is-active .tool::after {
  content: "​";
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(52, 52, 52, 0.5);
  z-index: 1;
}
.base-mobile.is-active .mobile-btn-menu {
  left: 260px;
}
.base-mobile.is-active .mobile-btn-menu span a {
  position: relative;
  background: #ff8346 url("/images/closeIcon.png") no-repeat center;
  background-size: 50%;
  height: 50px;
  width: 50px;
  z-index: 999;
  border-radius: 50px;
}
.base-mobile .tool {
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
  background: rgba(255, 131, 70, 0.7);
  position: relative;
  background-size: cover;
  height: 55px;
  padding: 7px 0;
}
.base-mobile .info {
  overflow: auto;
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
  left: -100%;
  background: #fef2ec;
  position: absolute;
  top: 0;
  width: 250px;
  height: 100vh;
  z-index: 999;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.base-mobile .info .logo {
  background: #ffffff;
  padding: 10px;
}
.base-mobile .info .logo img {
  width: 100%;
}
.base-mobile .mobile-btn-menu {
  position: absolute;
  top: 15px;
  left: 10px;
}
.base-mobile .mobile-btn-menu span a {
  display: block;
  background: url("/images/mobileBtn.png") no-repeat center;
  height: 33px;
  width: 37px;
  background-size: contain;
}

@-webkit-keyframes jump {
  0% {
    -webkit-box-shadow: 0 0 20px #ca7900;
            box-shadow: 0 0 20px #ca7900;
    top: 0px;
  }
  25% {
    -webkit-box-shadow: 0 0 10px #ffb444;
            box-shadow: 0 0 10px #ffb444;
    top: -5px;
  }
  50% {
    -webkit-box-shadow: 0 0 20px #ca7900;
            box-shadow: 0 0 20px #ca7900;
    top: 3px;
  }
  75% {
    -webkit-box-shadow: 0 0 10px #ffb444;
            box-shadow: 0 0 10px #ffb444;
    top: -5px;
  }
  100% {
    -webkit-box-shadow: 0 0 20px #ca7900;
            box-shadow: 0 0 20px #ca7900;
    top: 3px;
  }
}

@keyframes jump {
  0% {
    -webkit-box-shadow: 0 0 20px #ca7900;
            box-shadow: 0 0 20px #ca7900;
    top: 0px;
  }
  25% {
    -webkit-box-shadow: 0 0 10px #ffb444;
            box-shadow: 0 0 10px #ffb444;
    top: -5px;
  }
  50% {
    -webkit-box-shadow: 0 0 20px #ca7900;
            box-shadow: 0 0 20px #ca7900;
    top: 3px;
  }
  75% {
    -webkit-box-shadow: 0 0 10px #ffb444;
            box-shadow: 0 0 10px #ffb444;
    top: -5px;
  }
  100% {
    -webkit-box-shadow: 0 0 20px #ca7900;
            box-shadow: 0 0 20px #ca7900;
    top: 3px;
  }
}
.base-menu {
  position: relative;
}
.base-menu ul li {
  vertical-align: top;
}
.base-mobile .base-menu > .in > ul > li.is-active .ct {
  display: block !important;
}
.base-mobile .base-menu > .in > ul > li .hd a {
  border-top: 1px solid #d23051;
  background: #ff94aa;
  color: #ffffff;
  padding: 10px 10px;
  display: block;
  text-decoration: none;
}
.base-mobile .base-menu > .in > ul > li .ct {
  display: none;
}
.base-mobile .base-menu > .in > ul > li .ct ul li a {
  color: #1a1a1a;
  padding: 10px 10px;
  display: block;
  border-bottom: 1px solid #e4e4e4;
  text-decoration: none;
}
.base-header .base-menu {
  display: inline-block;
}
.base-header .base-menu > .in {
  position: relative;
  text-align: center;
}
.base-header .base-menu > .in > ul {
  position: relative;
  bottom: -15px;
  width: 100%;
}
.base-header .base-menu > .in > ul > li {
  display: inline-block;
  min-width: 120px;
  margin: 0 6px;
}
.base-header .base-menu > .in > ul > li .hd a {
  text-decoration: none;
  display: block;
  padding: 10px 15px 20px 15px;
  color: #444444;
  text-align: center;
  position: relative;
  border-radius: 8px 8px 0 0;
  font-size: 1.1em;
  -webkit-transition: 250ms;
  transition: 250ms;
  top: 0;
  font-weight: bold;
}
.base-header .base-menu > .in > ul > li .hd a::before {
  content: "​";
  background: url(/images/menuSearchIcon.png) no-repeat;
  width: 30px;
  height: 30px;
  display: inline-block;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
  border-radius: 50px;
}
.base-header .base-menu > .in > ul > li .hd:hover a {
  top: 5px;
}
.base-header .base-menu > .in > ul > li.menuBid a {
  background: #ffd1d1;
}
.base-header .base-menu > .in > ul > li.menuBid a::before {
  background: #ffffff url(/images/icon-menu-01.png) no-repeat;
  background-size: 100%;
  background-position: center;
}
.base-header .base-menu > .in > ul > li.mail a {
  background: #f9d6be;
}
.base-header .base-menu > .in > ul > li.mail a::before {
  background: #ffffff url(/images/icon-menu-02.png) no-repeat;
  background-size: 100%;
  background-position: center;
}
.base-header .base-menu > .in > ul > li.phone1999 a {
  background: #e8ffd1;
}
.base-header .base-menu > .in > ul > li.phone1999 a::before {
  background: #ffffff url(/images/icon-menu-03.png) no-repeat;
  background-size: 100%;
  background-position: center;
}
.base-header .base-menu > .in > ul > li.e999APP a {
  background: #d1edff;
}
.base-header .base-menu > .in > ul > li.e999APP a::before {
  background: #ffffff url(/images/icon-menu-04.png) no-repeat;
  background-size: 100%;
  background-position: center;
}
.base-header .base-menu > .in > ul > li.kid a {
  background: #fbe3b9;
}
.base-header .base-menu > .in > ul > li.kid a::before {
  background: #ffffff url(/images/icon-menu-05.png) no-repeat;
  background-size: 100%;
  background-position: center;
}
.base-header .base-menu > .in > ul > li.kid a {
  -webkit-animation-name: jump;
          animation-name: jump;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}
.base-header .base-menu > .in > ul > li .ct {
  display: none;
}
.base-header .base-menu > .in > ul > li.kid a {
  -webkit-animation-name: jump;
          animation-name: jump;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}
.base-footer .base-menu {
  border-top: 35px solid #444444;
  font-size: 0.875rem;
  border-bottom: 1px solid #b6b6b6;
}
.base-footer .base-menu > .in > ul {
  position: relative;
  top: -28px;
  width: 85%;
  margin: 0 auto;
}
.base-footer .base-menu > .in > ul > li {
  width: 20%;
  display: inline-block;
}
.base-footer .base-menu > .in > ul > li + li {
  margin-left: -5px;
}
.base-footer .base-menu > .in > ul > li.open .hd::before {
  background: url(/images/arrow_d.png) no-repeat center;
}
.base-footer .base-menu > .in > ul > li .hd {
  position: relative;
}
.base-footer .base-menu > .in > ul > li .hd::before {
  content: "​";
  background: url(/images/arrow_u.png) no-repeat center;
  height: 30px;
  width: 30px;
  display: block;
  position: absolute;
  right: 0;
  top: 6px;
}
.base-footer .base-menu > .in > ul > li .hd a {
  color: #ffffff;
  font-weight: bold;
  text-decoration: none;
}
.base-footer .base-menu > .in > ul > li .ct > ul {
  margin-top: 15px;
}
.base-footer .base-menu > .in > ul > li .ct > ul li {
  min-height: 3px;
}
.base-footer .base-menu > .in > ul > li .ct > ul li a {
  color: #1a1a1a;
  line-height: 2;
  text-decoration: none;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.base-footer .base-menu > .in > ul > li .ct > ul li a:hover {
  padding-bottom: 3px;
  border-bottom: 1px solid #1a1a1a;
}
@media screen and (max-width: 834px) {
  .base-footer .base-menu {
    border-top: none;
  }
  .base-footer .base-menu > .in > ul {
    width: 100%;
    top: initial;
  }
  .base-footer .base-menu > .in > ul > li {
    display: block;
    width: initial;
  }
  .base-footer .base-menu > .in > ul > li + li {
    margin-left: 0;
    border-top: 1px solid hsl(125.3333333333, 30.612244898%, 94.1176470588%);
  }
  .base-footer .base-menu > .in > ul > li .hd {
    background: #9fcca3;
  }
  .base-footer .base-menu > .in > ul > li .hd a {
    display: block;
    color: #ffffff;
    padding: 12px;
  }
  .base-footer .base-menu > .in > ul > li .ct {
    display: none;
    background: #f0f0f0;
  }
  .base-footer .base-menu > .in > ul > li .ct > ul {
    margin-top: 0;
  }
  .base-footer .base-menu > .in > ul > li .ct > ul li:hover {
    background-color: #e4e4e4;
  }
  .base-footer .base-menu > .in > ul > li .ct > ul li + li {
    border-top: 1px solid #b6b6b6;
  }
  .base-footer .base-menu > .in > ul > li .ct > ul li {
    padding: 12px;
  }
}

.base-logo h1 {
  margin: 0;
}
.base-mobile .base-logo {
  text-align: center;
  padding-left: 40px;
}
.base-mobile .base-logo a img {
  height: 55px;
}
.base-header .base-logo {
  display: inline-block;
}
.base-footer .base-logo {
  display: inline-block;
  position: absolute;
  bottom: -40px;
  left: 0;
}
.base-extend .group-text-links {
  display: inline-block;
}
.base-extend .group-text-links > ul a {
  font-size: 0.875rem;
  padding: 0;
}
.base-extend .group-text-links > ul a:hover {
  border-bottom: 1px solid #ffffff;
  padding-bottom: 3px;
}
@media screen and (max-width: 834px) {
  .base-footer .group-text-links {
    display: none;
  }
}
.base-footer .group-text-links {
  position: absolute;
  right: 0;
  bottom: -30px;
}
.base-footer .group-text-links > ul li a:hover {
  color: #646464;
}
.base-mobile .group-text-links > ul li {
  display: block;
  text-align: center;
  margin: 10px 0;
  padding: 0 10px;
}
.base-mobile .group-text-links > ul li + li::before {
  display: none;
}
.base-mobile .group-text-links > ul li a {
  color: #ff8346;
  display: block;
  border: 30px;
  border: 1px solid #ff8346;
  padding: 5px 20px;
  border-radius: 30px;
}
.base-mobile .group-text-links > ul li a:hover {
  color: #646464;
}
.group-text-links > ul li {
  display: inline-block;
}
.group-text-links > ul li + li::before {
  content: "​";
  border-left: 1px solid #ffffff;
  margin-right: 5px;
}
.group-text-links > ul li a {
  color: #ffffff;
  text-decoration: none;
  text-align: center;
  padding: 1px 8px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.group.home {
  padding-bottom: 50px;
}
.group.home ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 834px) {
  .group.home {
    padding-top: 55px;
  }
}
.group.home .block01 {
  padding: 50px 10px 50px 10px;
  background: url(/images/layout-bg-01.png) no-repeat;
  background-position: top;
  border-bottom: 5px solid #ff94aa;
  background-position-y: 40px;
}
.group.home .block01 > .in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.group.home .block01 > .in .left, .group.home .block01 > .in .right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px;
}
@media screen and (max-width: 834px) {
  .group.home .block01 > .in .left, .group.home .block01 > .in .right {
    -webkit-box-flex: 100%;
        -ms-flex: 100%;
            flex: 100%;
  }
}
.group.home .block01 > .in .right .tab {
  text-align: center;
}
.group.home .block01 > .in .right .tab ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 10px;
}
.group.home .block01 > .in .right .tab ul li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0 5px;
  position: relative;
  bottom: -10px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.group.home .block01 > .in .right .tab ul li:nth-child(1) a {
  background: #ffbd9c;
  color: #ff5703;
}
.group.home .block01 > .in .right .tab ul li:nth-child(2) a {
  background: #b5d8f2;
  color: rgb(50.8620689655, 147.4137931034, 219.1379310345);
}
.group.home .block01 > .in .right .tab ul li a {
  display: block;
  border-radius: 8px 8px 0 0;
  text-decoration: none;
  padding: 10px 5px 10px 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.group.home .block01 > .in .right .tab ul li a .p h2 {
  margin: 0;
  padding: 0;
}
.group.home .block01 > .in .right .tab ul li:hover, .group.home .block01 > .in .right .tab ul li.is-active {
  bottom: 0px;
}
@media screen and (max-width: 834px) {
  .group.home .block01 > .in .right .tab ul li {
    width: 50%;
    padding: 0 !important;
    margin: 0 !important;
    bottom: -6px;
  }
  .group.home .block01 > .in .right .tab ul li a {
    padding: 5px !important;
  }
  .group.home .block01 > .in .right .tab ul li a .p h2 {
    font-size: 1.1em !important;
  }
}
.group.home .block01 > .in .right > .page {
  background: #ffffff;
  border-radius: 8px;
  -webkit-box-shadow: 4px 0px 13px #e4e4e4;
          box-shadow: 4px 0px 13px #e4e4e4;
  padding: 20px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.group.home .block01 > .in .right > .page .pagePage {
  display: none;
  width: 100%;
}
.group.home .block01 > .in .right > .page .pagePage.is-active {
  display: block;
}
.group.home .block01 > .in .tab {
  text-align: center;
}
.group.home .block01 > .in .tab ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 10px;
}
.group.home .block01 > .in .tab ul li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0 5px;
  position: relative;
  bottom: -10px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.group.home .block01 > .in .tab ul li:nth-child(1) a {
  background: #ffbd9c;
  color: #ff5703;
}
.group.home .block01 > .in .tab ul li:nth-child(2) a {
  background: #b5d8f2;
  color: rgb(50.8620689655, 147.4137931034, 219.1379310345);
}
.group.home .block01 > .in .tab ul li a {
  display: block;
  border-radius: 8px 8px 0 0;
  text-decoration: none;
  padding: 10px 5px 10px 5px;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.group.home .block01 > .in .tab ul li a .p h2 {
  margin: 0;
  padding: 0;
}
.group.home .block01 > .in .tab ul li:hover, .group.home .block01 > .in .tab ul li.is-active {
  bottom: 0px;
}
@media screen and (max-width: 834px) {
  .group.home .block01 > .in .tab ul li {
    width: 50%;
    padding: 0 !important;
    margin: 0 !important;
    bottom: -6px;
  }
  .group.home .block01 > .in .tab ul li a {
    padding: 5px !important;
  }
  .group.home .block01 > .in .tab ul li a .p h2 {
    font-size: 1.1em !important;
  }
}
.group.home .block01 > .in > .page {
  background: #ffffff;
  border-radius: 8px;
  -webkit-box-shadow: 4px 0px 13px #e4e4e4;
          box-shadow: 4px 0px 13px #e4e4e4;
  padding: 20px;
  position: relative;
}
.group.home .block01 > .in > .page .pagePage {
  display: none;
}
.group.home .block01 > .in > .page .pagePage.is-active {
  display: block;
}
.group.home .md.aplyCase {
  padding: 30px 10px 30px 10px;
  background-color: #f6f1e1;
}
.group.home .md.aplyCase .tab ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1150px;
  margin: 0 auto;
}
.group.home .md.aplyCase .tab ul li {
  -webkit-box-flex: 20%;
      -ms-flex: 20%;
          flex: 20%;
  position: relative;
}
@media screen and (max-width: 560px) {
  .group.home .md.aplyCase .tab ul li {
    -webkit-box-flex: 50%;
        -ms-flex: 50%;
            flex: 50%;
  }
}
.group.home .md.aplyCase .tab ul li:nth-child(1) a span {
  background: #ffd1d1;
}
.group.home .md.aplyCase .tab ul li:nth-child(2) a span {
  background: #f9d6be;
}
.group.home .md.aplyCase .tab ul li:nth-child(3) a span {
  background: #e8ffd1;
}
.group.home .md.aplyCase .tab ul li:nth-child(4) a span {
  background: #d1edff;
}
.group.home .md.aplyCase .tab ul li:nth-child(5) a span {
  background: #c5bff5;
}
.group.home .md.aplyCase .tab ul li.is-active::after {
  content: "​";
  display: block;
  position: absolute;
  bottom: -35px;
  left: 50%;
  margin-left: -50px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 45px 40px 45px;
  border-color: transparent transparent #ffffff transparent;
  z-index: 2;
}
.group.home .md.aplyCase .tab ul li .btn {
  margin: 0 25px;
}
@media screen and (max-width: 834px) and (min-width: 561px) {
  .group.home .md.aplyCase .tab ul li .btn {
    margin: 0 10px;
  }
}
@media screen and (max-width: 560px) {
  .group.home .md.aplyCase .tab ul li .btn {
    margin: 0 5px;
  }
}
.group.home .md.aplyCase .tab ul li .btn a {
  text-decoration: none;
  text-align: center;
  display: block;
  position: relative;
}
.group.home .md.aplyCase .tab ul li .btn a span {
  display: block;
}
.group.home .md.aplyCase .tab ul li .btn a .img {
  background-color: #ffffff;
  padding: 30px 0;
  -webkit-box-shadow: 4px 0px 13px rgb(252.725, 225.425, 211.775);
          box-shadow: 4px 0px 13px rgb(252.725, 225.425, 211.775);
  border-radius: 10px;
}
.group.home .md.aplyCase .tab ul li .btn a .img img {
  width: 50%;
}
.group.home .md.aplyCase .tab ul li .btn a .p {
  position: relative;
  z-index: 2;
  top: -15px;
  padding: 8px 15px;
  border-radius: 8px;
  display: inline-block;
  font-size: 1.2em;
  font-weight: bold;
  -webkit-box-shadow: 0px 3px 12px #cecece;
          box-shadow: 0px 3px 12px #cecece;
  color: #1a1a1a;
}
.group.home .md.aplyCase .pagePage {
  display: none;
  background: #ffffff;
  -webkit-box-shadow: 4px 0px 13px rgb(252.725, 225.425, 211.775);
          box-shadow: 4px 0px 13px rgb(252.725, 225.425, 211.775);
  margin-top: 35px;
  position: relative;
}
.group.home .md.aplyCase .pagePage.is-active {
  display: block;
}
.group.home .md.aplyCase .pagePage ul {
  padding: 15px 30px;
}
.group.home .md.aplyCase .pagePage ul li {
  display: inline-block;
  width: 16.6666666667%;
}
@media screen and (max-width: 834px) and (min-width: 561px) {
  .group.home .md.aplyCase .pagePage ul li {
    width: 33.3333333333%;
  }
}
@media screen and (max-width: 560px) {
  .group.home .md.aplyCase .pagePage ul li {
    width: 50%;
  }
}
.group.home .md.aplyCase .pagePage ul li .item {
  padding: 15px;
}
.group.home .md.aplyCase .pagePage ul li a {
  display: block;
  text-align: center;
  text-decoration: none;
  background-color: #fff2f2;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
  padding: 15px 0;
  color: #444444;
  font-weight: bold;
}
.group.home .md.aplyCase .pagePage ul li a img {
  width: 50%;
}
.group.home .md.aplyCase .pagePage ul li a span {
  display: block;
}
.group.home .md.aplyCase .pagePage.org ul li {
  width: 25%;
}
@media screen and (max-width: 834px) and (min-width: 561px) {
  .group.home .md.aplyCase .pagePage.org ul li {
    width: 50%;
  }
}
@media screen and (max-width: 560px) {
  .group.home .md.aplyCase .pagePage.org ul li {
    width: 100%;
  }
}
.group.home .md.aplyCase .pagePage.org ul li a {
  font-size: 1.2em;
}

.md.static-form .title:before {
  display: inline-block;
  color: #ff676c;
  font-size: 0.85rem;
  margin-left: 6px;
}

.lo-layer.is-active .g.popuper {
  opacity: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.g.popuper {
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(26, 26, 26, 0.8);
  line-height: 1.7;
  z-index: 1011;
}

.g.popuper-in {
  display: inline-block;
  position: relative;
  background-color: #ffffff;
  z-index: 1;
  overflow: hidden;
}

.lo-layer .md.toggle-aside a {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDOTU4NjdFODExMUIxMUU0ODlGMERBMDQxNkUwNzdBNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDOTU4NjdFOTExMUIxMUU0ODlGMERBMDQxNkUwNzdBNCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkM5NTg2N0U2MTExQjExRTQ4OUYwREEwNDE2RTA3N0E0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkM5NTg2N0U3MTExQjExRTQ4OUYwREEwNDE2RTA3N0E0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+IQ0TSAAAANFJREFUeNqkkzEOwjAMRZMqEy1qbpGRhYkZ7sfOUdoB9rKw5RaRCKzBkRxkWU6EqKUvVa7/q23VOqWk1oTOAOfcX2bvveo4ELRpeHqs+UbHzGfQDTQK5py7gi4UQgH5ywfQHjQzyIi5/G4HGiTAC3QCLQRimXnBmmcxGdZmwIIJDRPmqTlQgxFm5RBVM/MRaKQfcyLAspnvlcWKAEtaL20fWxAK2ArmgOKQXlpiBD3wmS+sQGYEvWu3oJEeK8sd8H9J5RaMsOnYuIUoXuOa+AgwAN7cQv8MePv7AAAAAElFTkSuQmCC");
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.2;
  text-indent: -9999px;
  -webkit-transition: 150ms;
  transition: 150ms;
}

.lo-layer .md.toggle-aside a:hover {
  opacity: 1;
}

.lo-layer .md.title {
  padding: 10px 20px;
  padding-right: 56px;
  font-size: 1.3rem;
  color: #0071b8;
}

.g.popuper a {
  text-decoration: none;
}

.g.layer-01 {
  margin: 20px;
  margin-top: 0;
  margin-bottom: 10px;
  max-height: calc(100vh - 140px);
  max-width: calc(100vw - 100px);
  overflow: auto;
}

.lo-layer .md.btn-list {
  padding: 10px;
  border-top: 1px solid #e4e4e4;
}

.lo-layer .md.btn-list ul {
  margin: 0;
  padding: 0;
  text-align: center;
}

.md.btn-list li {
  display: inline-block;
  vertical-align: middle;
  padding: 0 5px;
}

.lo-layer .md.btn-list {
  padding: 10px;
  border-top: 1px solid #e4e4e4;
}

.md.search {
  margin: 30px 0;
  max-width: 80%;
  margin: 0 auto;
}
.md.search .ct {
  margin-top: 20px;
  position: relative;
  border: 1px solid #b6b6b6;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 560px) {
  .md.search .ct {
    margin: 20px 0;
  }
}
.md.search .ct input {
  display: inline-block;
  border: none;
  padding: 3px 15px;
  line-height: 3;
  border: none;
  -webkit-box-flex: 3;
      -ms-flex: 3;
          flex: 3;
}
.md.search .ct a {
  text-align: right;
  display: inline-block;
  padding: 0;
  vertical-align: middle;
  padding: 10px 19px;
  text-decoration: none;
}
.md.search .ct a span {
  vertical-align: middle;
  color: #444444;
}
.md.search .ct a .p {
  font-weight: bold;
}
.md.search .ct a .img {
  width: 25px;
  height: 25px;
  background: url(/images/icon-search-layout.png) no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
}
.md.search .ft {
  text-align: left;
  margin-top: 15px;
}
.md.search .ft ul {
  display: inline-block;
}
.md.search .ft ul li {
  display: inline-block;
}
@media screen and (max-width: 834px) {
  .md.search .ft {
    width: auto;
  }
}
.md.search.schedule {
  padding: 30px 0;
  text-align: center;
}
.md.search.schedule .ct {
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  max-width: 500px;
  margin: 50px auto 50px auto;
  text-align: left;
}
.md.search.schedule .ct .item {
  display: block;
  -webkit-box-flex: 100%;
      -ms-flex: 100%;
          flex: 100%;
  margin: 5px 0;
}
.md.search.schedule .ct .item label {
  width: 130px;
  display: inline-block;
}
@media screen and (max-width: 560px) {
  .md.search.schedule .ct .item label {
    width: auto;
  }
}
.md.search.schedule .ct .item input {
  border: 1px solid #b6b6b6;
  border-radius: 4px;
  line-height: 2;
}
.md.search.schedule .ct .item .check .img {
  display: inline-block;
}
.md.search.schedule .ct .item .check .img input,
.md.search.schedule .ct .item .check .img div,
.md.search.schedule .ct .item .check .img img {
  vertical-align: middle;
}
@media screen and (max-width: 560px) {
  .md.search.schedule .ct {
    display: block;
    text-align: left;
  }
  .md.search.schedule .ct .item {
    display: block;
    margin: 10px 0;
  }
  .md.search.schedule .ct .item input {
    width: 50%;
  }
}
.md.search.schedule .ft {
  width: auto;
  text-align: center;
  display: inline-block;
}

.md.pic-link01 {
  max-width: 800px;
  margin: 50px auto;
}
.md.pic-link01 .hd {
  margin-bottom: 20px;
}
.md.pic-link01 ul {
  text-align: center;
}
@media screen and (max-width: 560px) {
  .md.pic-link01 ul {
    text-align: left;
  }
}
.md.pic-link01 ul li {
  display: inline-block;
  width: 25%;
  margin-right: -4px;
}
@media screen and (max-width: 560px) {
  .md.pic-link01 ul li {
    width: 50%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 10px 0;
  }
}
.md.pic-link01 ul li a {
  width: 150px;
  height: 150px;
  border-radius: 200px !important;
  padding: 0 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 834px) and (min-width: 561px) {
  .md.pic-link01 ul li a {
    width: 120px;
    height: 120px;
  }
  .md.pic-link01 ul li a img {
    width: 80%;
  }
}
@media screen and (max-width: 560px) {
  .md.pic-link01 ul li a {
    width: 110px;
    height: 110px;
  }
  .md.pic-link01 ul li a img {
    width: 60%;
  }
}
.md.pic-link01 ul li a .div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.md.pic-link01 ul li a {
  display: inline-block;
  background: #ff8346;
}
.md.pic-link01 ul li a span {
  text-align: center;
  display: block;
}

.md.text-link.org .ct {
  max-width: inherit;
}
.md.text-link.org .ct > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.md.text-link.org .ct > ul > li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
}
@media screen and (max-width: 834px) and (min-width: 561px) {
  .md.text-link.org .ct > ul > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
  }
}
@media screen and (max-width: 560px) {
  .md.text-link.org .ct > ul > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
.md.text-link.org .ct > ul > li > .in {
  padding: 0 5px;
}
.md.text-link.org .ct > ul > li > .in > a {
  background: #f0f0f0;
  border-radius: 4px;
  color: #ffffff;
  padding: 5px 10px;
  font-size: 1em;
  border: none;
  text-decoration: none;
  display: inline-block;
  font-weight: bold;
  vertical-align: middle;
}
.md.text-link.org .ct > ul > li > .in > a:hover {
  opacity: 0.8;
}
.md.text-link.org .ct > ul > li > .in > a {
  padding: 15px 5px;
  margin: 5px 0px;
  color: #444444;
  border-radius: 8px;
  border: 1px solid rgb(163.5, 163.5, 163.5);
  display: block;
}
.md.text-link.org .ct > ul > li > .in > a:hover {
  background: rgb(163.5, 163.5, 163.5) !important;
  color: #ffffff;
}
.md.text-link.org .ct > ul > li > .in ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.md.text-link.org .ct > ul > li > .in ul.other {
  display: none;
  width: 100%;
}
.md.text-link.org .ct > ul > li > .in ul li,
.md.text-link.org .ct > ul > li > .in ul ~ .more {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.md.text-link.org .ct > ul > li > .in ul li a,
.md.text-link.org .ct > ul > li > .in ul ~ .more a {
  margin: 5px 0;
  -webkit-transition: 150ms;
  transition: 150ms;
  border-radius: 4px;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid rgb(163.5, 163.5, 163.5);
}
.md.text-link.org .ct > ul > li > .in ul li a:hover,
.md.text-link.org .ct > ul > li > .in ul ~ .more a:hover {
  background: rgb(255, 199.3675675676, 172) !important;
  color: #ffffff;
  border-color: rgb(255, 199.3675675676, 172);
}
.md.text-link.org .ct > ul > li > .in .more {
  width: 100% !important;
}
.md.text-link.org .ct > ul > li > .in .more a {
  background: #ff8346;
  color: #ffffff;
  margin: 0 !important;
  border-radius: 4px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.md.text-link.orgPage .hd h3 {
  border: 0;
  border-bottom: 4px solid #ff8346;
  padding: 0;
  padding-bottom: 6px;
}
.md.text-link.orgPage .ct {
  max-width: initial;
}
.md.text-link.orgPage .ct ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.md.text-link.orgPage .ct ul li a {
  padding: 10px 5px;
  border-radius: 4px;
  margin: 5px 5px;
}
.md.text-link .ct {
  max-width: 800px;
  margin: 15px auto;
}
.md.text-link .ct ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.md.text-link .ct ul li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  text-align: center;
}
.block01 .md.text-link .ct ul li:nth-child(1) a {
  background: #F3F2C0;
}
.block01 .md.text-link .ct ul li:nth-child(2) a {
  background: #F3F2C0;
}
.block01 .md.text-link .ct ul li:nth-child(5) a {
  background: #F3F2C0;
}
.block01 .md.text-link .ct ul li:nth-child(6) a {
  background: #F3F2C0;
}
.block01 .md.text-link .ct ul li:nth-child(9) a {
  background: #F3F2C0;
}
.block01 .md.text-link .ct ul li:nth-child(10) a {
  background: #F3F2C0;
}
.md.text-link .ct ul li a {
  padding: 5px;
  background: #ffffff;
  -webkit-box-shadow: 0 0 5px #b6b6b6;
          box-shadow: 0 0 5px #b6b6b6;
  margin: 5px 30px;
  display: block;
  border-radius: 8px;
  text-decoration: none;
  color: #444444;
  -webkit-transition: 150ms;
  transition: 150ms;
}
.md.text-link .ct ul li a:hover {
  background: #ff8346 !important;
  color: #ffffff;
}
.md.text-link .ft {
  text-align: center;
}

@media screen and (max-width: 560px) {
  .md.promotionBanner {
    width: 100% !important;
    margin-top: 20px;
  }
}
.md.promotionBanner > .in {
  position: relative;
}
.md.promotionBanner > .in ul {
  list-style: none;
}
.md.promotionBanner .ct {
  padding: 0 0 0 15px;
}
@media screen and (max-width: 834px) {
  .md.promotionBanner .ct {
    padding: 0;
  }
}
.md.promotionBanner .ct li {
  -webkit-transition: 150ms;
  transition: 150ms;
  display: none;
  position: relative;
}
@-webkit-keyframes hide {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}
@keyframes hide {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes show {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@keyframes show {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
.md.promotionBanner .ct li.isNone {
  -webkit-transition: 150ms;
  transition: 150ms;
  opacity: 1;
  -webkit-animation: hide 0.5s linear 0.5s forwards;
          animation: hide 0.5s linear 0.5s forwards;
}
.md.promotionBanner .ct li.isActive {
  -webkit-transition: 150ms;
  transition: 150ms;
  display: block;
  opacity: 0;
  -webkit-animation: show 0.5s linear 0.5s forwards;
          animation: show 0.5s linear 0.5s forwards;
}
.md.promotionBanner .ct li a:hover {
  opacity: 0.7;
}
.md.promotionBanner .ct li .video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 43.6%;
}
@media screen and (max-width: 560px) {
  .md.promotionBanner .ct li .video {
    padding-bottom: 44.2%;
  }
}
.md.promotionBanner .ct li .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.md.promotionBanner .ct li img {
  width: 100%;
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
}
.md.promotionBanner .ft .bannerBtn li.arrow {
  position: absolute;
  top: 50%;
  margin-top: -25px;
}
.md.promotionBanner .ft .bannerBtn li.arrow a {
  display: block;
  height: 50px;
  width: 50px;
}
.md.promotionBanner .ft .bannerBtn li.arrow.prev a {
  background: url("../images/arrow-left.png") no-repeat;
  background-size: contain;
}
.md.promotionBanner .ft .bannerBtn li.arrow.prev {
  left: 15px;
}
@media screen and (max-width: 834px) {
  .md.promotionBanner .ft .bannerBtn li.arrow.prev {
    left: 0;
  }
}
.md.promotionBanner .ft .bannerBtn li.arrow.next a {
  background: url("../images/arrow-right.png") no-repeat;
  background-size: contain;
}
.md.promotionBanner .ft .bannerBtn li.arrow.next {
  right: 0;
}
.md.promotionBanner .ft .bannerBtn li.beans {
  position: absolute;
  bottom: 7px;
  width: 100%;
}
.md.promotionBanner .ft .bannerBtn li.beans .beansList {
  text-align: center;
}
.md.promotionBanner .ft .bannerBtn li.beans .beansList li {
  display: inline-block;
  margin-right: 5px;
}
.md.promotionBanner .ft .bannerBtn li.beans .beansList li a {
  display: block;
  height: 15px;
  width: 15px;
  background: #f0f0f0;
  border-radius: 50%;
}
.md.promotionBanner .ft .bannerBtn li.beans .beansList li.isActive a {
  background: #646464;
}
[data-js=false] .md.promotionBanner .ft {
  display: none;
}

.group.shareBox {
  position: relative;
}
.group.shareBox .ct li a {
  display: block;
}
.group.shareBox .ct li a.facebook {
  background: #3c5998 url("../images/share-facebook.png") no-repeat center;
}
.group.shareBox .ct li a.line {
  background: #4bc700 url("../images/share-line.png") no-repeat center;
}
.group.shareBox .ct li a.email {
  background: #666666 url("../images/share-email.png") no-repeat center;
}
.group.shareBox .ct li a.twitter {
  background: #03a9f4 url("../images/share-twitter.png") no-repeat center;
}
.base-extend .group.shareBox {
  display: inline-block;
  vertical-align: top;
  position: relative;
  z-index: 999;
}
.base-extend .group.shareBox.is-active > .in .ct, .base-extend .group.shareBox:hover > .in .ct {
  display: block;
}
.base-extend .group.shareBox.is-active > .in .ct li, .base-extend .group.shareBox:hover > .in .ct li {
  opacity: 0;
}
.base-extend .group.shareBox.is-active > .in .ct li:nth-child(1), .base-extend .group.shareBox:hover > .in .ct li:nth-child(1) {
  -webkit-animation: down 0.1s linear 0.1s forwards;
          animation: down 0.1s linear 0.1s forwards;
}
.base-extend .group.shareBox.is-active > .in .ct li:nth-child(2), .base-extend .group.shareBox:hover > .in .ct li:nth-child(2) {
  -webkit-animation: down 0.1s linear 0.2s forwards;
          animation: down 0.1s linear 0.2s forwards;
}
.base-extend .group.shareBox.is-active > .in .ct li:nth-child(3), .base-extend .group.shareBox:hover > .in .ct li:nth-child(3) {
  -webkit-animation: down 0.1s linear 0.3s forwards;
          animation: down 0.1s linear 0.3s forwards;
}
.base-extend .group.shareBox.is-active > .in .ct li:nth-child(4), .base-extend .group.shareBox:hover > .in .ct li:nth-child(4) {
  -webkit-animation: down 0.1s linear 0.4s forwards;
          animation: down 0.1s linear 0.4s forwards;
}
.base-extend .group.shareBox .hd a {
  position: relative;
  display: block;
  border: 1px solid #ffffff;
  border-radius: 50px;
  -webkit-transition: 150ms;
  transition: 150ms;
  color: #ffffff;
  text-decoration: none;
  padding: 0 5px;
}
.base-extend .group.shareBox .ct {
  display: none;
  position: absolute;
  top: 23px;
  right: -4px;
}
.base-extend .group.shareBox .ct li {
  padding-top: 3px;
}
.base-extend .group.shareBox .ct li a {
  height: 35px;
  width: 50px;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
}
.base-mobile .group.shareBox {
  display: block;
}
.base-mobile .group.shareBox .hd {
  display: none;
}
.base-mobile .group.shareBox .ct ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.base-mobile .group.shareBox .ct li {
  margin: 5px;
}
.base-mobile .group.shareBox .ct li a {
  border-radius: 2px;
  width: 30px;
  height: 30px;
}

.base-extend .simple-text.accesskey {
  display: inline-block;
}
.base-extend .simple-text.accesskey > .in span a {
  color: #ffffff;
}
.base-conter .simple-text.accesskey {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.simple-text.accesskey a {
  text-decoration: none;
}

.md.list-tab {
  padding: 20px 0;
}
.md.list-tab .hd {
  margin-bottom: 20px;
}
.md.list-tab .hd h3 {
  margin: 0;
}
.md.list-tab .ct .tab ul li {
  display: inline-block;
  vertical-align: middle;
}
.md.list-tab .ct .tab ul li + li::before {
  content: "​";
  width: 2px;
  background-color: #444444;
  height: 23px;
  border-right: 50px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -3px;
  left: -2px;
}
.md.list-tab .ct .tab ul li a {
  display: inline-block;
  -webkit-transition: 150ms;
  transition: 150ms;
  color: #646464;
  text-decoration: none;
  padding: 5px 8px;
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
}
.md.list-tab .ct .tab ul li a:hover {
  opacity: 0.8;
}
.md.list-tab .ct .tab ul li.is-active a {
  color: #ff8346;
}
.md.list-tab .ct .tab ul li.is-active a::after {
  content: "​";
  display: inline-block;
  height: 3px;
  background-color: #ff8346;
  border-right: 50px;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
}
.md.list-tab .ct .page {
  background: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 4px 0px 13px #e4e4e4;
          box-shadow: 4px 0px 13px #e4e4e4;
  margin-top: 15px;
  padding: 5px 15px;
}
.md.list-tab .ct .page ul li {
  display: none;
}
.md.list-tab .ct .page ul li.is-active {
  display: block;
}
.md.list-tab .ct .page .item {
  margin: 15px 0;
}
.md.list-tab .ct .page .item h3 {
  margin: 0;
  padding: 0;
}
.md.list-tab .ct .page .item .text {
  margin-left: 10px;
  display: block;
}
.md.list-tab .ct .page .item .s-title {
  margin: 10px 0;
  padding-bottom: 3px;
  border-bottom: 2px solid #ff8346;
  display: inline-block;
}
.md.list-tab.cabinet > .hd > .s-title a {
  color: #6acd00 !important;
  font-size: 1.17em;
  font-weight: bold;
}
.md.list-tab.cabinet > .hd > .s-title a:hover {
  color: #646464 !important;
}
.md.list-tab.cabinet .active ~ .ct {
  display: block !important;
}
.md.list-tab.cabinet .ct {
  background: #ffffff;
}
.md.list-tab.cabinet .ct table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.75rem;
}
.md.list-tab.cabinet .ct table td {
  border: 1px solid #b6b6b6;
  padding: 8px 8px;
  text-align: center;
}
.md.list-tab.cabinet .ct table th {
  border-bottom: 3px solid #ff8346;
}
@media screen and (max-width: 560px) {
  .md.list-tab.cabinet .ct .table-rwd tr {
    border: 1px solid #b6b6b6;
  }
  .md.list-tab.cabinet .ct .table-rwd td {
    border: none;
  }
  .md.list-tab.cabinet .ct .table-rwd td span {
    padding: 15px 8px;
  }
  .md.list-tab.cabinet .ct .table-rwd td::before {
    background: #e4e4e4;
    color: #1a1a1a;
  }
  .md.list-tab.cabinet .ct .table-rwd td + td {
    border-top: 1px solid #b6b6b6 !important;
  }
}

.md.listTable {
  margin: 15px 0;
}
@media screen and (max-width: 834px) {
  .md.listTable table {
    width: 100%;
  }
  .md.listTable table thead {
    display: none;
  }
  .md.listTable table tr {
    margin-bottom: 15px;
    display: block;
  }
  .md.listTable table td {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: left;
    padding: 0 !important;
  }
  .md.listTable table td::before {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    content: attr(data-title);
    background: #ffd1d1;
    color: #444444;
    padding: 5px;
    max-width: 130px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .md.listTable table td span {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 5px 10px;
    text-align: left;
  }
  .md.listTable table td {
    border-bottom: 1px solid #9fcca3;
  }
}
.md.listTable > table {
  width: 100%;
  -webkit-box-shadow: 4px 0px 13px #e4e4e4;
          box-shadow: 4px 0px 13px #e4e4e4;
  border-radius: 10px 10px 0 0;
}
.md.listTable > table.is-center {
  text-align: center;
}
.md.listTable > table.is-one th {
  border-radius: 10px 10px 0 0 !important;
}
.md.listTable > table th {
  background-color: #ffd1d1;
  color: #1a1a1a;
  padding: 5px 5px;
  font-size: 1rem;
  font-weight: bold;
  border-bottom: 3px solid #ff94aa;
}
.md.listTable > table th:nth-child(1) {
  border-radius: 10px 0 0 0;
}
.md.listTable > table th:last-child {
  border-radius: 0 10px 0 0;
}
.md.listTable > table tr td {
  padding: 8px;
  border-bottom: 1px dotted #ff94aa;
}
.md.listTable > table tr td span > img {
  padding: 12px 15px;
}
.md.listTable > table tr td span a {
  text-decoration: none;
  color: #444444;
  display: block;
}
.md.listTable > table tr td span a.is-but {
  display: inline-block;
}
.md.listTable > table tr {
  -webkit-transition: 150ms;
  transition: 150ms;
  background: #ffffff;
}
.md.listTable > table tr:last-child td {
  border: 0;
}
.md.listTable > table tr:hover {
  background-color: #fff2f2;
}
.md.listTable .infoImg {
  margin: 5px 0;
  margin-left: 15px;
  display: inline-block;
}
.md.listTable .infoImg img {
  width: 50px;
  vertical-align: middle;
}
.md.listTable .infoImg span {
  vertical-align: middle;
  font-weight: bold;
}
.md.listTable.zebra table tr {
  line-height: 2;
}
.md.listTable.zebra table tr:nth-child(even) {
  background-color: #e4e4e4;
}
.md.listTable.ApplyCase table {
  margin-top: 10px;
}
.md.listTable.ApplyCase table tr:nth-child(even) {
  background-color: #e4e4e4;
}
.md.listTable.ApplyCase table tr td {
  border: none !important;
  padding: 0 !important;
}
.md.listTable.ApplyCase table tr td img {
  width: 40px;
}
.md.listTable.ApplyCase table tr td::before {
  color: #343434 !important;
}
.md.listTable.ApplyCase table tr td:first-child {
  text-align: left !important;
}
.md.listTable.ApplyCase table tr td:first-child a {
  padding-left: 20px;
}
@media screen and (max-width: 834px) {
  .md.listTable.ApplyCase table tr td:first-child a {
    padding-left: 0;
  }
}
.md.listTable.ApplyCase table tr td:nth-last-child(1) span, .md.listTable.ApplyCase table tr td:nth-last-child(2) span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.md.listTable.ApplyCase table tr td:nth-last-child(1) span a, .md.listTable.ApplyCase table tr td:nth-last-child(2) span a {
  -webkit-box-flex: 100%;
      -ms-flex: 100%;
          flex: 100%;
}

.md.scoreSatr .in input {
  display: none;
}
.md.scoreSatr .in input:nth-child(1):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(1):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(2):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(2):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(3):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(3):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(4):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(4):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(5):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(5):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(6):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(6):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(7):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(7):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(8):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(8):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(9):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(9):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in input:nth-child(10):checked ~ label {
  color: #b6b6b6;
}
.md.scoreSatr .in input:nth-child(10):checked + label {
  color: #ff8346;
}
.md.scoreSatr .in label {
  font-size: 5em;
  color: #ff8346;
}
.md.scoreSatr .in label:nth-child(1):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(1):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(2):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(2):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(3):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(3):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(4):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(4):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(5):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(5):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(6):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(6):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(7):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(7):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(8):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(8):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(9):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(9):hover ~ label {
  color: #b6b6b6 !important;
}
.md.scoreSatr .in label:nth-child(10):hover {
  color: #ff8346 !important;
}
.md.scoreSatr .in label:nth-child(10):hover ~ label {
  color: #b6b6b6 !important;
}

html {
  overflow-y: scroll;
}

.skip-link {
  position: absolute;
  top: 0;
  left: -9999px;
  z-index: 999;
  padding: 8px 15px;
  background: #0071b8;
  color: #ffffff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 0 0 15px 0;
}
.skip-link:focus-visible {
  left: 0;
  outline: 2px solid #ffffff;
  outline-offset: -4px;
}

body.page-home {
  position: relative;
  background: #ebf3f9;
}
@media screen and (max-width: 834px) {
  body.page-home:has(.mobile-bottom-nav) {
    padding-bottom: calc(60px + 8px);
  }
}

.home-decor {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 720px;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 834px) {
  .home-decor {
    z-index: -1;
  }
}

.home-decor-circle {
  position: absolute;
  border-radius: 50%;
}
.home-decor-circle.is-accent {
  top: 30%;
  left: 10%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, #ffe7cf 0%, #ebf3f9 80%, rgba(235, 243, 249, 0) 100%);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}
@media screen and (max-width: 834px) {
  .home-decor-circle.is-accent {
    left: -60%;
    -webkit-filter: blur(50px);
            filter: blur(50px);
  }
}
.home-decor-circle.is-primary {
  top: 10%;
  left: 28%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, #c8e9ff 0%, #ebf3f9 80%, rgba(235, 243, 249, 0) 100%);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

.is-hide {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: relative;
  z-index: 1;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
@media screen and (max-width: 834px) {
  .site-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
.site-header > .in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 8px 15px;
}
@media screen and (max-width: 834px) {
  .site-header > .in {
    width: auto;
    margin: 15px;
    margin-bottom: 8px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

.site-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  text-decoration: none;
  color: #444444;
}
.site-logo img {
  width: 250px;
}
@media screen and (max-width: 834px) {
  .site-logo img {
    width: 80%;
  }
}
.site-logo .site-logo-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  line-height: 1.3;
}
.site-logo .site-logo-text em {
  font-style: normal;
  font-size: 0.75rem;
  color: #646464;
}
.site-logo .site-logo-text span {
  font-size: 1.25rem;
  font-weight: bold;
  color: #0071b8;
}

.site-header-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}

@media screen and (max-width: 834px) {
  .site-nav {
    display: none;
  }
}
.site-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
.site-nav a {
  display: inline-block;
  color: #444444;
  text-decoration: none;
  font-size: 1rem;
  padding-bottom: 4px;
  border-bottom: 2px solid transparent;
}
.site-nav a:focus, .site-nav a:active {
  outline: none;
}
.site-nav a:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
.site-nav li.is-active a,
.site-nav a:hover {
  color: #0071b8;
  border-bottom-color: #0071b8;
}

.site-menu-spacer {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 110px;
  height: 70px;
}

.site-menu {
  position: fixed;
  top: 28px;
  right: max(15px, 50% - 1500px / 2);
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 110px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .site-menu {
    position: absolute;
    top: 20px;
    width: 48px;
    border-radius: 50%;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    -webkit-transition: none;
    transition: none;
  }
  .site-menu.is-open {
    width: 96px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }
}

.site-menu-btn {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  height: 70px;
  border: none;
  background: transparent;
  border-radius: inherit;
  cursor: pointer;
  outline: none;
}
@media screen and (max-width: 834px) {
  .site-menu-btn {
    height: 48px;
  }
}
.site-menu-btn:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: -2px;
}
.site-menu-btn img {
  display: block;
  width: 25px;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 834px) {
  .site-menu-btn img {
    width: 30px;
  }
}

.site-menu-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 區塊間距 30→18：選單加入進度查詢後總高超出筆電視窗，縮距避免面板內出現捲軸 */
  gap: 18px;
  width: 100%;
  max-height: 0;
  padding: 0 15px;
  overflow: hidden;
  -webkit-transition: max-height 150ms ease;
  transition: max-height 150ms ease;
}
.site-menu.is-open .site-menu-panel {
  max-height: 100%;
  padding: 15px 15px 20px;
}
/* 桌機面板展開高度以視窗為上限（扣 top:28、按鈕 70、底部留 15），
   否則選單底端（含圓角）會被推出視窗外。
   側邊欄不允許出現捲軸：不設 overflow-y:auto（沿用面板既有 overflow:hidden），
   矮視窗改以下方的縮距規則讓內容放得下 */
@media (min-width: 835px) {
  .site-menu.is-open .site-menu-panel {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-height: calc(100vh - 28px - 70px - 15px);
  }
}
/* 矮視窗縮距規則移至 site-menu 各元件基礎規則之後（見 .site-menu-tool 區塊下方），
   否則同權重選擇器會被檔案較後的基礎規則蓋回 */
@media screen and (max-width: 834px) {
  .site-menu-panel {
    gap: 15px;
    -webkit-transition: none;
    transition: none;
  }
  .site-menu.is-open .site-menu-panel {
    padding: 8px 8px 15px;
  }
}

.site-menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 項目間距 30→18：同 panel gap 的縮距（避免面板出捲軸） */
  gap: 18px;
  width: 100%;
}
@media screen and (max-width: 834px) {
  .site-menu-list {
    gap: 15px;
  }
}
.site-menu-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
  text-decoration: none;
  color: #0071b8;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 834px) {
  .site-menu-list a {
    font-size: 0.875rem;
  }
}
.site-menu-list a:focus, .site-menu-list a:active {
  outline: none;
}
.site-menu-list a:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.site-menu-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .site-menu-icon {
    width: 28px;
    height: 28px;
  }
}
.site-menu-icon img {
  width: 85%;
  height: 85%;
  -o-object-fit: contain;
     object-fit: contain;
}

.site-menu-divider {
  width: 60%;
  height: 1px;
  background: #0071b8;
}

.site-menu-auth {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  width: 100%;
}
@media screen and (max-width: 834px) {
  .site-menu-auth {
    gap: 5px;
  }
}
.site-menu-auth a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5px 8px;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 834px) {
  .site-menu-auth a {
    padding: 3px 8px;
    font-size: 0.875rem;
  }
}
.site-menu-auth a:focus, .site-menu-auth a:active {
  outline: none;
}
.site-menu-auth a:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
.site-menu-auth .btn-login {
  background: #0071b8;
  color: #ffffff;
}
.site-menu-auth .btn-register {
  background: #ffffff;
  color: #0071b8;
}

.site-menu-tools {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.site-menu-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5px 0;
  border: none;
  border-radius: 999px;
  background: #ffffff;
  cursor: pointer;
  outline: none;
}
.site-menu-top:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
.site-menu-top img {
  display: block;
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 834px) {
  .site-menu-top {
    display: none;
  }
}

.site-menu-tool {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 50px;
  height: 50px;
  border: none;
  background: transparent;
  cursor: pointer;
  outline: none;
}
@media screen and (max-width: 834px) {
  .site-menu-tool {
    width: 45px;
    height: 45px;
  }
}
.site-menu-tool img {
  display: block;
  width: 100%;
  height: 100%;
}
.site-menu-tool:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

/* ══ 側邊選單矮視窗自適應（不允許出現捲軸，改逐層壓縮讓內容放得下）══
   斷點以「視窗內高」計，必須放在 site-menu 各元件基礎規則之後，同權重才蓋得過。
   各層涵蓋範圍（估）：標準 >870／一 726~870／二 614~726／三 484~614／四 ~400~484 */
/* 第一層：縮間距與圖示 */
@media (min-width: 835px) and (max-height: 870px) {
  .site-menu-btn {
    height: 56px;
  }
  .site-menu-panel,
  .site-menu-list {
    gap: 12px;
  }
  .site-menu.is-open .site-menu-panel {
    max-height: calc(100vh - 28px - 56px - 10px);
    padding: 12px 15px 14px;
  }
  .site-menu-icon {
    width: 32px;
    height: 32px;
  }
  .site-menu-tool,
  .site-menu-top {
    width: 44px;
    height: 44px;
  }
}
/* 第二層：更小圖示與間距 */
@media (min-width: 835px) and (max-height: 726px) {
  .site-menu-btn {
    height: 48px;
  }
  .site-menu-panel,
  .site-menu-list {
    gap: 8px;
  }
  .site-menu.is-open .site-menu-panel {
    max-height: calc(100vh - 28px - 48px - 10px);
    padding: 10px 15px 12px;
  }
  .site-menu-icon {
    width: 24px;
    height: 24px;
  }
  .site-menu-list a {
    font-size: 0.875rem;
  }
  .site-menu-tool,
  .site-menu-top {
    width: 40px;
    height: 40px;
  }
}
/* 第三層：選單項目改純文字（隱藏圖示） */
@media (min-width: 835px) and (max-height: 614px) {
  .site-menu-icon {
    display: none;
  }
}
/* 第四層：極矮視窗最終壓縮 */
@media (min-width: 835px) and (max-height: 484px) {
  .site-menu-btn {
    height: 40px;
  }
  .site-menu-panel,
  .site-menu-list {
    gap: 6px;
  }
  .site-menu.is-open .site-menu-panel {
    max-height: calc(100vh - 28px - 40px - 8px);
    padding: 8px 15px 8px;
  }
  .site-menu-list a {
    font-size: 0.8125rem;
  }
  .site-menu-auth a {
    padding: 3px 8px;
    font-size: 0.875rem;
  }
  .site-menu-tool,
  .site-menu-top {
    width: 32px;
    height: 32px;
  }
}

.share-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  max-width: 0;
  overflow: hidden;
  -webkit-transition: max-width 150ms ease;
  transition: max-width 150ms ease;
}
.share-panel.is-open {
  max-width: 260px;
}

.share-panel-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 55%;
}
.share-panel-item:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: -2px;
}
.share-panel-item.is-facebook {
  background-color: #3c5998;
  background-image: url("../images/share-facebook.png");
}
.share-panel-item.is-line {
  background-color: #4bc700;
  background-image: url("../images/share-line.png");
}
.share-panel-item.is-email {
  background-color: #666666;
  background-image: url("../images/share-email.png");
}
.share-panel-item.is-twitter {
  background-color: #03a9f4;
  background-image: url("../images/share-twitter.png");
}

.fontsize-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  max-width: 0;
  overflow: hidden;
  -webkit-transition: max-width 150ms ease;
  transition: max-width 150ms ease;
}
.fontsize-panel.is-open {
  max-width: 200px;
}

.fontsize-panel-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 36px;
  height: 36px;
  border: 1px solid #0071b8;
  border-radius: 50%;
  background: #ffffff;
  color: #0071b8;
  font-weight: bold;
  line-height: 34px;
  text-align: center;
  cursor: pointer;
}
.fontsize-panel-item[data-size=sm] {
  font-size: 0.75rem;
}
.fontsize-panel-item[data-size=md] {
  font-size: 0.875rem;
}
.fontsize-panel-item[data-size=lg] {
  font-size: 1rem;
}
.fontsize-panel-item.is-active {
  background: #0071b8;
  color: #ffffff;
}
.fontsize-panel-item:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: -2px;
}

.announce-bar-wrap {
  position: relative;
  z-index: 1;
  max-width: 750px;
  margin-left: max(0px, (100vw - 1500px) / 2 - 15px);
  padding: 15px;
}
@media screen and (max-width: 834px) {
  .announce-bar-wrap {
    padding: 0 15px;
  }
}

.announce-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin: 15px 0;
  padding: 8px 0;
  border-radius: 15px;
  font-size: 1.25rem;
  color: #444444;
}
@media screen and (max-width: 834px) {
  .announce-bar {
    gap: 8px;
    margin-top: 8px;
    margin-bottom: 15px;
  }
}

.announce-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  min-width: 0;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 15px;
  border-radius: 15px;
}
.announce-content .icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 24px;
  height: 24px;
}
.announce-content .msg {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 834px) {
  .announce-content .msg {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1;
  }
}
.announce-content .msg a {
  color: inherit;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.25rem;
}
@media screen and (max-width: 834px) {
  .announce-content .msg a {
    font-size: 1rem;
  }
}

.controls {
  -ms-flex-item-align: end;
      align-self: flex-end;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.ctrl-play,
.ctrl-up,
.ctrl-down {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.75rem;
  line-height: 1;
}
.ctrl-play img,
.ctrl-up img,
.ctrl-down img {
  width: 12px;
  height: auto;
}
.ctrl-play:focus, .ctrl-play:active,
.ctrl-up:focus,
.ctrl-up:active,
.ctrl-down:focus,
.ctrl-down:active {
  outline: none;
}
.ctrl-play:focus-visible,
.ctrl-up:focus-visible,
.ctrl-down:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.ctrl-play {
  background: #0071b8;
  color: #ffffff;
}

.ctrl-up,
.ctrl-down {
  background: #ffffff;
  color: #0071b8;
}

.hero {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-bottom: 120px;
}
@media screen and (max-width: 834px) {
  .hero {
    padding-bottom: 40px;
  }
}
.hero > .in {
  position: relative;
  z-index: 1;
  padding: 30px 15px 0;
}
@media screen and (max-width: 834px) {
  .hero > .in {
    padding-top: 8px;
  }
}
.hero h1 {
  margin: 0 0 15px;
  font-size: 3rem;
  line-height: 1.3;
  color: #444444;
  letter-spacing: 3px;
  font-weight: bold;
}
@media screen and (max-width: 560px) {
  .hero h1 {
    font-size: 1.5rem;
    letter-spacing: normal;
  }
}

@media screen and (max-width: 834px) {
  .hero-content {
    max-width: none;
  }
}

.hero-photo {
  position: fixed;
  z-index: 0;
  top: 9.5em;
  right: max(0px, 50% - 1500px / 2);
  width: min(45vw, 2250px);
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .hero-photo {
    top: 25%;
    left: 30%;
    width: 100%;
  }
}
.hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero-photo::after {
  content: "​";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, rgba(235, 243, 249, 0)), to(#ebf3f9));
  background: linear-gradient(to bottom, rgba(235, 243, 249, 0) 70%, #ebf3f9 100%);
}

.hero-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 50%;
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 5px;
}
@media screen and (max-width: 834px) {
  .hero-search {
    max-width: none;
  }
}
.hero-search input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  padding: 8px 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 834px) {
  .hero-search input {
    font-size: 1rem;
  }
}
.hero-search input:focus, .hero-search input:active {
  outline: none;
}
.hero-search input:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: -2px;
}
.hero-search button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 48px;
  border: none;
  background: #ffffff;
  cursor: pointer;
}
.hero-search button img {
  width: 48px;
  height: 48px;
}

.hero-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 1rem;
  color: #1a1a1a;
  margin-bottom: 30px;
  font-weight: bold;
}
@media screen and (max-width: 834px) {
  .hero-tags .hero-tags-label {
    display: block;
    width: 100%;
  }
}
.hero-tags a {
  display: inline-block;
  padding: 5px;
  border-radius: 999px;
  background: #ffffff;
  color: #0071b8;
  text-decoration: none;
}
@media screen and (max-width: 834px) {
  .hero-tags a {
    font-size: 0.875rem;
  }
}
.hero-tags a:hover {
  text-decoration: underline;
}

.hero-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  max-width: 50%;
  min-width: 600px;
}
@media screen and (max-width: 834px) {
  .hero-actions {
    max-width: none;
    min-width: 0;
    gap: 8px;
  }
}
.hero-actions a {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 50px 15px;
  border-radius: 15px;
  text-decoration: none;
  font-weight: bold;
  font-size: 2rem;
  color: #444444;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(12px);
}
@media screen and (max-width: 834px) {
  .hero-actions a {
    padding: 15px;
    font-size: 1.25rem;
  }
}
.hero-actions a img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 80px;
  height: 80px;
}
@media screen and (max-width: 834px) {
  .hero-actions a img {
    width: 36px;
    height: 36px;
  }
}

.category-tabs {
  position: relative;
  z-index: 1;
}
.category-tabs > .in {
  padding: 0 15px;
}
.category-tabs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 50%;
}
@media screen and (max-width: 834px) {
  .category-tabs ul {
    max-width: none;
  }
}
.category-tabs li {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 30%;
          flex: 0 0 30%;
}
@media screen and (max-width: 834px) {
  .category-tabs li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
/* 首頁 Mydata 頁籤暫時隱藏時的佔位格：佔住第三格寬度但不顯示，其餘頁籤維持原位置 */
.category-tabs li.tab-placeholder {
  visibility: hidden;
}
.category-tabs a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  padding: 15px 15px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 1.25rem;
  font-weight: bold;
  background: #ffffff;
  color: #0071b8;
  border: 1px solid #0071b8;
}
@media screen and (max-width: 834px) {
  .category-tabs a {
    padding: 15px 0;
    font-size: 1rem;
    gap: 0;
  }
}
.category-tabs a .mydata-logo {
  height: 20px;
  width: auto;
}
.category-tabs li.is-active a {
  background: #0071b8;
  color: #ffffff;
  border-color: #0071b8;
}
.category-tabs .badge {
  position: absolute;
  top: -12px;
  right: -12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 32px;
  min-width: 32px;
  border: none;
  border-radius: 50%;
  background: #e0301e;
  cursor: pointer;
  outline: none;
}
.category-tabs .badge img {
  width: 20px;
  height: 20px;
}
.category-tabs .badge:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.mydata-info {
  position: absolute;
  left: 100%;
  bottom: 0;
  z-index: 5;
  width: 220px;
  margin-left: 15px;
  padding: 15px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #444444;
  font-size: 1.25rem;
  line-height: 1.5;
}
.mydata-info p {
  margin: 0 0 5px;
  font-weight: bold;
}
.mydata-info a {
  display: inline;
  width: auto;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  color: #0071b8;
  font-weight: normal;
  text-decoration: underline;
}
@media screen and (max-width: 834px) {
  .mydata-info {
    left: auto;
    right: 0;
    bottom: auto;
    top: 100%;
    margin-left: 0;
    margin-top: 5px;
    width: auto;
    min-width: 0;
    max-width: min(240px, 100vw - 30px);
    padding: 8px;
    font-size: 1rem;
  }
}

.category-grid > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 15px);
  width: min(100%, 1500px + 15px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .category-grid > .in {
  width: min(100%, 1500px + 15px * 2 - 110px - 30px);
}
.category-grid > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 15px;
}
.category-grid ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
}
@media screen and (max-width: 834px) and (min-width: 561px) {
  .category-grid ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 560px) {
  .category-grid ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
.category-grid a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  text-decoration: none;
  color: #444444;
  text-align: center;
  padding: 30px 5px;
  border-radius: 15px;
  -webkit-transition: 150ms;
  transition: 150ms;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
@media screen and (max-width: 834px) {
  .category-grid a {
    padding: 5px;
  }
}
.category-grid a:hover {
  background: rgba(255, 255, 255, 0.8);
}
.category-grid li.is-active a {
  background: #0071b8;
  color: #ffffff;
}
.category-grid .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 120px;
  height: 120px;
  border-radius: 50%;
}
.category-grid .icon img {
  width: 62.5%;
  height: 62.5%;
}
.category-grid span {
  font-size: 1.25rem;
  font-weight: bold;
}

.agency-grid > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 10px);
  width: min(100%, 1500px + 10px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .agency-grid > .in {
  width: min(100%, 1500px + 10px * 2 - 110px - 30px);
}
.agency-grid > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 10px;
}

.agency-group + .agency-group {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid rgba(0, 113, 184, 0.2);
}

.agency-group-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin: 0 0 15px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #0071b8;
}

.agency-group-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 14px;
  height: 18px;
  background: #0071b8;
  border-radius: 50% 50% 0px 0px;
}

.agency-group-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
}
@media screen and (max-width: 834px) and (min-width: 561px) {
  .agency-group-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 560px) {
  .agency-group-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.agency-group-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 90px;
  padding: 15px 5px;
  border-radius: 15px;
  text-align: center;
  text-decoration: none;
  font-size: 1.25rem;
  font-weight: bold;
  color: #444444;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  -webkit-transition: 150ms;
  transition: 150ms;
}
.agency-group-list a:hover {
  background: rgba(255, 255, 255, 0.8);
}
.agency-group-list a:focus, .agency-group-list a:active {
  outline: none;
}
.agency-group-list a:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.mydata-grid > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 10px);
  width: min(100%, 1500px + 10px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .mydata-grid > .in {
  width: min(100%, 1500px + 10px * 2 - 110px - 30px);
}
.mydata-grid > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 10px;
}
.mydata-grid ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
@media screen and (max-width: 834px) and (min-width: 561px) {
  .mydata-grid ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 560px) {
  .mydata-grid ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.mydata-grid a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px 30px;
  border-radius: 15px;
  text-align: left;
  text-decoration: none;
  font-size: 1.25rem;
  font-weight: bold;
  color: #444444;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  -webkit-transition: 150ms;
  transition: 150ms;
}
.mydata-grid a:hover {
  background: rgba(255, 255, 255, 0.8);
}
.mydata-grid a:focus, .mydata-grid a:active {
  outline: none;
}
.mydata-grid a:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.scroll-top-btn {
  position: fixed;
  right: 15px;
  bottom: 15px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: #0071b8;
  color: #ffffff;
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 834px) {
  body:has(.mobile-bottom-nav) .scroll-top-btn {
    display: none;
  }
}
@media (min-width: 835px) {
  body:has(.site-menu-top) .scroll-top-btn {
    display: none;
  }
}

.mobile-bottom-nav {
  display: none;
}
@media screen and (max-width: 834px) {
  .mobile-bottom-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5px;
    position: fixed;
    left: 15px;
    right: 15px;
    bottom: 8px;
    z-index: 5;
    height: 60px;
    padding: 0 8px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 15px;
    background: rgba(0, 113, 184, 0.8);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    -webkit-box-shadow: 4px 0px 13px #e4e4e4;
            box-shadow: 4px 0px 13px #e4e4e4;
  }
}
.mobile-bottom-nav-links {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  min-width: 0;
}
.mobile-bottom-nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2px;
  text-decoration: none;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: bold;
}
.mobile-bottom-nav a:focus, .mobile-bottom-nav a:active {
  outline: none;
}
.mobile-bottom-nav a:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: -2px;
}
.mobile-bottom-nav .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 22px;
  height: 22px;
}
.mobile-bottom-nav .icon img {
  width: 100%;
  height: 100%;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.mobile-bottom-nav-top {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border: 1px solid #ffffff;
  border-radius: 50%;
  background: transparent;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  outline: none;
}
.mobile-bottom-nav-top:focus-visible {
  outline: 2px solid #444444;
  outline-offset: 2px;
}

.site-footer {
  position: relative;
  z-index: 1;
  background: #ebf3f9;
  border-top: 1px solid #0071b8;
}
.site-footer > .in {
  padding: 40px 15px;
  font-size: 1.25rem;
  color: #343434;
}
@media screen and (max-width: 834px) {
  .site-footer > .in {
    padding: 30px 15px;
    font-size: 0.875rem;
  }
}
.site-footer .footer-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
}
.site-footer .footer-links a {
  color: #0071b8;
  text-decoration: none;
  font-weight: bold;
}
.site-footer .footer-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
@media screen and (max-width: 834px) {
  .site-footer .footer-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 834px) {
  .site-footer .footer-address,
  .site-footer .footer-meta {
    font-size: 0.75rem;
  }
}
.site-footer .footer-meta {
  text-align: right;
  /* 與「資訊服務專線」行同水平 */
  -ms-flex-item-align: end;
      align-self: flex-end;
}
/* 桌機右側為 site-menu 固定面板（寬110px＋間距30px），更新日期固定退讓此欄寬，
   不依附選單開合狀態，捲到底時不會被面板蓋住 */
@media (min-width: 835px) {
  .site-footer .footer-meta {
    margin-right: calc(110px + 30px);
  }
}
@media screen and (max-width: 834px) {
  .site-footer .footer-meta {
    text-align: left;
  }
}

.auth-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.auth-modal[hidden] {
  display: none;
}
@media screen and (max-width: 834px) {
  .auth-modal {
    padding: 8px;
  }
}

body.is-auth-modal-open {
  overflow: hidden;
}

.auth-modal-panel {
  position: relative;
  z-index: 1;
  width: min(640px, 100%);
  max-height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.auth-modal-panel.is-wide {
  width: min(760px, 100%);
}
@media screen and (max-width: 834px) {
  .auth-modal-panel {
    padding: 8px;
  }
}

.auth-modal-close {
  position: absolute;
  top: -16px;
  right: -16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: #0071b8;
  color: #ffffff;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
  outline: none;
}
.auth-modal-close:focus-visible {
  outline: 2px solid #444444;
  outline-offset: 2px;
}
@media screen and (max-width: 834px) {
  .auth-modal-close {
    top: 5px;
    right: 5px;
  }
}

.auth-modal-card {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 高度上限吃滿 modal 可用空間（外層 padding 30×2＋panel 15×2），間距縮距後桌機常態不出捲軸 */
  max-height: calc(100vh - 90px);
  overflow-y: auto;
  padding: 18px 40px;
  border-radius: 15px;
  background: #ffffff;
}
.auth-modal-card.is-tall {
  max-height: calc(100vh - 90px);
}
@media screen and (max-width: 834px) {
  .auth-modal-card {
    padding: 15px;
  }
}

.auth-modal-title {
  margin: 0 0 14px;
  font-size: 1.75rem;
  color: #0071b8;
}
@media screen and (max-width: 834px) {
  .auth-modal-title {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
}

.login-field-group {
  margin: 0 0 18px;
  padding: 0;
  border: none;
  font-size: 1.25rem;
  min-width: 0;
}
@media screen and (max-width: 834px) {
  .login-field-group {
    margin-bottom: 15px;
  }
}

.login-field-label {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 8px;
  font-weight: bold;
  color: #444444;
}

.login-radio-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 30px;
}

.login-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  cursor: pointer;
}
.login-radio input {
  accent-color: #0071b8;
}

.login-forgot {
  display: block;
  margin-top: 5px;
  text-align: right;
  font-size: 0.875rem;
  color: #0071b8;
  text-decoration: underline;
}

.auth-divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  margin-top: 12px;
}
@media screen and (max-width: 834px) {
  .auth-divider {
    margin-top: 15px;
  }
}
.auth-divider .line {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  background: #e4e4e4;
}
.auth-divider > a,
.auth-divider .auth-divider-text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 0.875rem;
  white-space: nowrap;
}
.auth-divider > a {
  color: #0071b8;
  text-decoration: underline;
}
.auth-divider .auth-divider-text {
  color: #444444;
}
.auth-divider .auth-divider-text a {
  color: #0071b8;
  text-decoration: underline;
  font-weight: bold;
}

.auth-field-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  margin-bottom: 30px;
  font-size: 1.25rem;
}
/* display:flex 會蓋過瀏覽器對 hidden 屬性的預設 display:none，
   登入方式切成 Email 時手機列才能真正隱藏 */
.auth-field-row[hidden] {
  display: none;
}
/* row 下距與單欄欄位(auth-field 18px)一致 */
.auth-field-row {
  margin-bottom: 18px;
}
.auth-field-row .auth-field {
  margin-bottom: 0;
  font-size: 1.25rem;
}
.auth-field-row .is-code {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 140px;
          flex: 0 0 140px;
}
@media screen and (max-width: 834px) {
  .auth-field-row .is-code {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
.auth-field-row .is-phone,
.auth-field-row .is-half {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 834px) {
  .auth-field-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
    margin-bottom: 15px;
  }
}

.auth-field {
  margin-bottom: 18px;
  font-size: 1.25rem;
}
@media screen and (max-width: 834px) {
  .auth-field {
    margin-bottom: 15px;
  }
}
.auth-field label {
  display: block;
  margin-bottom: 6px;
  font-weight: bold;
  color: #444444;
}
.auth-field input,
.auth-field select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 10px;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
}
.auth-field input:focus,
.auth-field select:focus {
  outline: none;
  border-color: #0071b8;
}
.auth-field input:focus-visible,
.auth-field select:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.req {
  margin-right: 2px;
  color: #e0301e;
}

/* 矮視窗（內高≤668px）會員 modal 再壓縮，維持不出捲軸（支援到約 540px 內高） */
@media (min-width: 835px) and (max-height: 668px) {
  .auth-modal-card {
    padding: 10px 40px;
  }
  .auth-modal-title {
    margin-bottom: 8px;
    font-size: 1.5rem;
  }
  .login-field-group,
  .auth-field,
  .auth-modal .auth-field-row {
    margin-bottom: 10px;
  }
  .auth-field input,
  .auth-field select {
    padding: 8px 10px;
  }
  /* .auth-submit / .email-code-row 基礎規則在本區塊之後，需提高權重 */
  .auth-modal .auth-submit {
    padding: 10px;
  }
  .auth-modal .email-code-row {
    margin-top: 8px;
  }
  .auth-divider {
    margin-top: 8px;
  }
}

.auth-submit {
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 10px;
  background: #0071b8;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: bold;
  cursor: pointer;
  outline: none;
}
.auth-submit:focus-visible {
  outline: 2px solid #444444;
  outline-offset: 2px;
}
.auth-submit.is-muted {
  background: #ebf3f9;
  color: #0071b8;
  border: 1px solid #0071b8;
}

.auth-toggle-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 834px) {
  .auth-toggle-group {
    margin-bottom: 15px;
  }
}

.auth-toggle {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 8px 15px;
  border: 1px solid #0071b8;
  border-radius: 10px;
  background: #ffffff;
  color: #0071b8;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  outline: none;
}
.auth-toggle.is-active {
  background: #0071b8;
  color: #ffffff;
}
.auth-toggle:focus-visible {
  outline: 2px solid #444444;
  outline-offset: 2px;
}

.auth-btn-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
.auth-btn-row .auth-submit {
  width: auto;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.captcha-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.captcha-row input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  /* 寬版容器（form-card 等）內避免輸入框無限撐長 */
  max-width: 340px;
}
@media screen and (max-width: 834px) {
  .captcha-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.captcha-code {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding: 8px 15px;
  border-radius: 10px;
  background: #ebf3f9;
  color: #0071b8;
  font-size: 1.25rem;
  font-weight: bold;
  font-style: italic;
  letter-spacing: 2px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.captcha-refresh {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding: 8px 15px;
  border: 1px solid #0071b8;
  border-radius: 10px;
  background: #ffffff;
  color: #0071b8;
  font-size: 0.875rem;
  font-weight: bold;
  cursor: pointer;
  outline: none;
}
.captcha-refresh:focus-visible {
  outline: 2px solid #444444;
  outline-offset: 2px;
}

.captcha-audio {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 50%;
  background: #0071b8;
  cursor: pointer;
  outline: none;
}
.captcha-audio:focus-visible {
  outline: 2px solid #444444;
  outline-offset: 2px;
}

.email-code-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-top: 15px;
}
.email-code-row input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 834px) {
  .email-code-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.send-code-btn {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding: 8px 15px;
  border: none;
  border-radius: 10px;
  background: #ebf3f9;
  color: #0071b8;
  font-size: 0.875rem;
  font-weight: bold;
  white-space: nowrap;
  cursor: pointer;
  outline: none;
}
.send-code-btn:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.auth-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 1.25rem;
  color: #444444;
  cursor: pointer;
}
.auth-checkbox input {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-top: 3px;
  accent-color: #0071b8;
}
.auth-checkbox a {
  color: #0071b8;
  text-decoration: underline;
}
.auth-checkbox.is-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
.auth-checkbox.is-center input {
  font-size: inherit;
  width: 1em;
  height: 1em;
  margin-top: 0;
}

.apply-title {
  position: relative;
  z-index: 1;
}
.apply-title > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 15px);
  width: min(100%, 1500px + 15px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .apply-title > .in {
  width: min(100%, 1500px + 15px * 2 - 110px - 30px);
}
.apply-title > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 15px 15px;
}
@media screen and (max-width: 560px) {
  .apply-title > .in {
    padding: 15px;
  }
}
.apply-title h1 {
  position: relative;
  margin: 0;
  padding-left: calc(6px + 8px);
  font-size: 2rem;
  font-weight: bold;
  color: #0071b8;
}
@media screen and (max-width: 560px) {
  .apply-title h1 {
    font-size: 1.5rem;
  }
}
.apply-title h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 1.4em;
  background: #0071b8;
  border-radius: 0;
}
.apply-title .bar {
  display: none;
}

.apply-filter {
  position: relative;
  z-index: 1;
}
.apply-filter > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 15px);
  width: min(100%, 1500px + 15px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .apply-filter > .in {
  width: min(100%, 1500px + 15px * 2 - 110px - 30px);
}
.apply-filter > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 15px;
}
@media screen and (max-width: 834px) {
  .apply-filter > .in {
    padding: 15px;
  }
}

.apply-filter-card {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
}

.apply-filter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
@media screen and (max-width: 834px) {
  .apply-filter-grid {
    grid-template-columns: 1fr;
  }
}

.apply-field {
  font-size: 1.25rem;
  border: none;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.apply-field > label,
.apply-field > legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 8px;
  font-weight: bold;
  color: #444444;
}
.apply-field select,
.apply-field input,
.apply-field textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 8px 15px;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  font-size: 1rem;
  color: #444444;
  background: #ffffff;
  font-family: inherit;
}
.apply-field select:focus,
.apply-field input:focus,
.apply-field textarea:focus {
  outline: none;
  border-color: #0071b8;
}
.apply-field select:focus-visible,
.apply-field input:focus-visible,
.apply-field textarea:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
.apply-field textarea {
  resize: vertical;
}
/* 寬版卡片（form-card）內的直式欄位：欄位間留距、
   單行輸入框限寬避免撐滿整張卡片（同 captcha-row input 的 340px） */
.form-card .apply-field {
  margin-bottom: 18px;
}
.form-card .apply-field > input {
  display: block;
  max-width: 340px;
}
/* select2 下拉（業務機關等）在新版欄位內比照原生 select 外觀 */
.apply-field .select2-container .select2-selection--single {
  height: auto;
  padding: 8px 15px;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  background: #ffffff;
}
.apply-field .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0 20px 0 0;
  line-height: 1.5;
  color: #444444;
  font-size: 1rem;
}
.apply-field .select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
  top: 0;
  right: 10px;
}
.apply-field .select2-container .select2-selection--single .select2-selection__clear {
  margin-right: 14px;
}
.apply-field .select2-container--default.select2-container--focus .select2-selection--single,
.apply-field .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #0071b8;
}
.apply-field.is-group .apply-field-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.apply-field.is-group .apply-field-group select {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 560px) {
  .apply-field.is-group .apply-field-group {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .apply-field.is-group .apply-field-group select {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}
.apply-field.is-full {
  grid-column: 1/-1;
}

.apply-filter-actions {
  grid-column: 1/-1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 15px;
}
@media screen and (max-width: 834px) {
  .apply-filter-actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.apply-btn {
  padding: 8px 40px;
  border: none;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  outline: none;
}
.apply-btn:focus-visible {
  outline: 2px solid #444444;
  outline-offset: 2px;
}
.apply-btn.is-primary {
  background: #0071b8;
  color: #ffffff;
}
.apply-btn.is-muted {
  background: #ffffff;
  color: #0071b8;
  border: 1px solid #0071b8;
}

.apply-list {
  position: relative;
  z-index: 1;
}
.apply-list > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 15px);
  width: min(100%, 1500px + 15px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .apply-list > .in {
  width: min(100%, 1500px + 15px * 2 - 110px - 30px);
}
.apply-list > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 15px 40px;
}

.apply-list-card {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
}

.apply-list-inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px;
  border-radius: 15px;
  background: #ffffff;
}
@media screen and (max-width: 834px) {
  .apply-list-inner {
    padding: 0;
    background: transparent;
  }
}

.apply-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}
@media screen and (max-width: 834px) {
  .apply-table {
    font-size: 0.875rem;
  }
}
.apply-table th,
.apply-table td {
  padding: 15px 8px;
  text-align: left;
  border-bottom: 1px solid #e4e4e4;
  color: #1a1a1a;
}
.apply-table th {
  font-weight: bold;
  border-bottom: 1px solid #0071b8;
  white-space: nowrap;
  font-size: 1.25rem;
}
.apply-table td.is-center,
.apply-table th.is-center {
  text-align: center;
}
.apply-table tbody tr:hover {
  background: #ebf3f9;
}
@media screen and (max-width: 834px) {
  .apply-table thead {
    display: none;
  }
  .apply-table tbody tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #e4e4e4;
    border-radius: 15px;
    background: #ffffff;
    overflow: hidden;
  }
  .apply-table tbody td {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    border-bottom: 1px dashed #e4e4e4;
  }
}
@media screen and (max-width: 834px) and (max-width: 834px) {
  .apply-table tbody td {
    border-bottom: 1px solid #0071b8;
  }
}
@media screen and (max-width: 834px) {
  .apply-table tbody td:last-child {
    border-bottom: none;
  }
  .apply-table tbody td::before {
    content: attr(data-title);
    /* 6 字欄名（申請項目名稱、查無相關資訊）0.875rem 約 84px＋內距 16px，100px 剛好卡線會折行，放寬 */
    -webkit-box-flex: 0;
        -ms-flex: 0 0 110px;
            flex: 0 0 110px;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: -15px 0 -15px -8px;
    padding: 15px 8px;
    font-weight: bold;
    color: #0b466f;
    background: #ebf3f9;
  }
  .apply-table tbody td:first-child::before {
    border-top-left-radius: 15px;
  }
  .apply-table tbody td:last-child::before {
    border-bottom-left-radius: 15px;
  }
}

.apply-title-link {
  color: #1a1a1a;
  text-decoration: none;
}
.apply-title-link:hover {
  color: #0071b8;
  text-decoration: underline;
}
.apply-title-link:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.apply-badge {
  display: inline-block;
  margin-top: 3px;
  margin-bottom: 3px;
  padding: 5px 15px;
  border-radius: 999px;
  background: #ebf3f9;
  color: #0071b8;
  font-size: 0.875rem;
  font-weight: bold;
  text-decoration: none;
  border: 1px solid #0071b8;
  cursor: pointer;
  outline: none;
}
.apply-badge:hover {
  background: rgb(203.6153846154, 224.1692307692, 239.5846153846);
}
.apply-badge:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
.apply-badge.is-warning {
  background: #fff4e5;
  color: #b76e00;
  border-color: #b76e00;
}
.apply-badge.is-warning:hover {
  background: rgb(255, 226.7384615385, 188.2);
}
.apply-badge.is-warning:focus-visible {
  outline-color: #b76e00;
}

.apply-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin-top: 30px;
  font-size: 0.875rem;
  color: #1a1a1a;
}
@media screen and (max-width: 834px) {
  .apply-pagination {
    gap: 15px;
  }
}

.apply-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media screen and (max-width: 560px) {
  .apply-pager {
    gap: 5px;
  }
}
@media screen and (max-width: 834px) {
  .apply-pager {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.apply-pager button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #0071b8;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  outline: none;
}
@media screen and (max-width: 560px) {
  .apply-pager button {
    width: 24px;
    height: 24px;
    font-size: 0.75rem;
  }
}
.apply-pager button:hover {
  background: rgb(0, 87.9434782609, 143.2);
}
.apply-pager button:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
.apply-pager button.is-active {
  background: #ebf3f9;
  color: #0071b8;
  border: 2px solid #99c5e5;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.apply-pager button.is-arrow {
  background: #ebf3f9;
  color: #0071b8;
}
.apply-pager button.is-arrow:hover {
  background: rgb(195.7692307692, 219.4615384615, 237.2307692308);
}

.apply-pagination-jump {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.apply-pagination-jump select {
  padding: 5px 8px;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
}
.apply-pagination-jump select:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.apply-title.is-long h1 {
  font-size: 2rem;
}
@media screen and (max-width: 560px) {
  .apply-title.is-long h1 {
    font-size: 1.5rem;
  }
}

.detail-tabs {
  position: relative;
  z-index: 1;
}
.detail-tabs > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 15px);
  width: min(100%, 1500px + 15px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .detail-tabs > .in {
  width: min(100%, 1500px + 15px * 2 - 110px - 30px);
}
.detail-tabs > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px 15px 15px;
}
@media screen and (max-width: 834px) {
  .detail-tabs > .in {
    padding: 15px;
  }
}

.detail-tabs-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
}

.detail-tabs-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
@media screen and (max-width: 834px) {
  .detail-tabs-group {
    width: 100%;
  }
}

.detail-tab {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 335px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  padding: 30px;
  border: 2px solid #e4e4e4;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  cursor: pointer;
  outline: none;
}
@media screen and (max-width: 834px) {
  .detail-tab {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
    min-width: 0;
    padding: 8px 5px;
  }
}
.detail-tab:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
.detail-tab .detail-tab-title {
  font-size: 1.5rem;
  font-weight: bold;
  color: #1a1a1a;
}
@media screen and (max-width: 834px) {
  .detail-tab .detail-tab-title {
    font-size: 1rem;
  }
}
.detail-tab .detail-tab-sub {
  font-size: 1rem;
  color: #646464;
}
@media screen and (max-width: 834px) {
  .detail-tab .detail-tab-sub {
    font-size: 0.875rem;
  }
}
.detail-tab.is-active {
  border-color: #0071b8;
}
.detail-tab.is-active .detail-tab-title {
  color: #0071b8;
}

.detail-goto-btn {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  padding: 15px 50px;
  border: 1px solid #0071b8;
  border-radius: 10px;
  background: #0071b8;
  color: #ffffff;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  outline: none;
  text-decoration: none;
}
@media screen and (max-width: 834px) {
  .detail-goto-btn {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    width: 100%;
  }
}
.detail-goto-btn:hover {
  background: rgb(0, 87.9434782609, 143.2);
  border-color: rgb(0, 87.9434782609, 143.2);
}
.detail-goto-btn:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
/* 外部連結（另開新視窗）：沿用 apply-btn is-muted 的白底藍框，與站內前往申請區隔 */
.detail-goto-btn.is-muted {
  background: #ffffff;
  color: #0071b8;
}
.detail-goto-btn.is-muted:hover {
  background: #e6f1f8;
  border-color: #0071b8;
}

.detail-content {
  position: relative;
  z-index: 1;
}
.detail-content > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 15px);
  width: min(100%, 1500px + 15px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .detail-content > .in {
  width: min(100%, 1500px + 15px * 2 - 110px - 30px);
}
.detail-content > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 15px 40px;
}

.detail-step {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
}
.detail-step + .detail-step {
  margin-top: 15px;
}
/* 頁籤版內頁（CaseInfo）：說明區塊包在 .detail-panel（線上/臨櫃切換）內，
   相鄰選擇器跨 panel 邊界會失效，改用 flex gap 排卡片間距；
   隱藏或未渲染的區塊不佔 gap，區塊缺漏時間距仍一致 */
.detail-content.is-tabbed > .in,
.detail-content.is-tabbed .detail-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
/* 間距交由 gap，歸零原本的相鄰/區塊 margin 避免疊加 */
.detail-content.is-tabbed .detail-step + .detail-step {
  margin-top: 0;
}
.detail-content.is-tabbed .detail-meta,
.detail-content.is-tabbed .detail-submit {
  margin-top: 0;
}

.detail-step-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
.detail-step-head h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  color: #1a1a1a;
}

.detail-step-num {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  border: 2px solid #0071b8;
  border-radius: 50%;
  color: #0071b8;
  font-weight: bold;
  background: #ffffff;
}

.detail-step-body {
  margin-top: 15px;
  padding-left: calc(32px + 15px);
  color: #1a1a1a;
  font-size: 1.25rem;
  line-height: 2.2;
}
.detail-step-body p,
.detail-step-body ol,
.detail-step-body ul {
  margin: 0 0 8px;
}
.detail-step-body p:last-child,
.detail-step-body ol:last-child,
.detail-step-body ul:last-child {
  margin-bottom: 0;
}
.detail-step-body ol,
.detail-step-body ul {
  padding-left: 1.2em;
}
.detail-step-body li + li {
  margin-top: 5px;
}
/* 相關檔案下載清單：檔名與各檔案類型連結同列並排
   （舊版並排規則只寫在 .base.listPage 情境，applyCase-info 的 download 區塊無對應規則會全部換行） */
.detail-step-body .item.download .ct > ul {
  padding-left: 0;
  list-style: none;
}
.detail-step-body .item.download .ct > ul > li {
  margin: 10px 0;
}
.detail-step-body .item.download .ct > ul > li .name {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
}
.detail-step-body .item.download .ct > ul > li .file {
  display: inline-block;
  vertical-align: middle;
}
.detail-step-body .item.download .ct > ul > li .file ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.detail-step-body .item.download .ct > ul > li .file ul li {
  display: inline-block;
  margin: 0 8px 0 0;
}
/* 檔案分類副標（申請書/作業流程/範例/其他文件）：
   舊版 .mark 樣式選擇器需 .ct > .in 層、新版 markup 沒有而未命中，
   補上主色標籤樣式與檔名清單做出層級區隔 */
.detail-step-body .item.download .mark {
  display: inline-block;
  margin: 14px 0 4px;
  padding: 2px 12px;
  background: #d9e8f4;
  border-left: 3px solid #0071b8;
  color: #1a1a1a;
  font-weight: bold;
}
.detail-step-body .item.download .mark:first-child {
  margin-top: 0;
}
@media screen and (max-width: 834px) {
  .detail-step-body {
    padding-left: 0;
  }
}

.detail-meta {
  margin-top: 15px;
  text-align: right;
  font-size: 1rem;
  color: #1a1a1a;
}

.detail-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15px;
}

.detail-submit-btn {
  display: inline-block;
  padding: 8px 50px;
  border: none;
  border-radius: 10px;
  background: #0071b8;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
  outline: none;
}
@media screen and (max-width: 834px) {
  .detail-submit-btn {
    width: 100%;
    text-align: center;
  }
}
.detail-submit-btn:hover {
  background: rgb(0, 87.9434782609, 143.2);
}
.detail-submit-btn:focus-visible {
  outline: 2px solid #444444;
  outline-offset: 2px;
}

.form-steps {
  position: relative;
  z-index: 1;
}
.form-steps > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 40px);
  width: min(100%, 1500px + 40px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .form-steps > .in {
  width: min(100%, 1500px + 40px * 2 - 110px - 30px);
}
.form-steps > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px;
}
@media screen and (max-width: 834px) {
  .form-steps > .in {
    padding: 15px;
  }
}

.form-steps-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}

.form-step {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  width: 100px;
}
@media screen and (max-width: 834px) {
  .form-step {
    width: 72px;
  }
}

.form-step-num {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border: 2px solid #0071b8;
  border-radius: 50%;
  background: #ffffff;
  color: #0071b8;
  font-size: 1.25rem;
  font-weight: bold;
}
.form-step.is-active .form-step-num {
  background: #0071b8;
  color: #ffffff;
}
@media screen and (max-width: 834px) {
  .form-step-num {
    width: 28px;
    height: 28px;
    font-size: 0.875rem;
  }
}

.form-step-label {
  font-size: 1.25rem;
  color: #0071b8;
  text-align: center;
}
.form-step.is-active .form-step-label, .form-step.is-done .form-step-label {
  font-weight: bold;
}
@media screen and (max-width: 834px) {
  .form-step-label {
    font-size: 0.875rem;
  }
}

.form-step-line {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 100px;
          flex: 0 1 100px;
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin-top: 19px;
  height: 0;
  border-top: 2px solid #0071b8;
}
@media screen and (max-width: 834px) {
  .form-step-line {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 40px;
            flex: 0 1 40px;
    margin-top: 13px;
  }
}

.form-content {
  position: relative;
  z-index: 1;
}
.form-content > .in {
  margin-left: max(0px, (100vw - 1500px) / 2 - 15px);
  width: min(100%, 1500px + 15px * 2);
  margin-right: auto;
  -webkit-transition: width 300ms ease;
  transition: width 300ms ease;
}
body.is-site-menu-open .form-content > .in {
  width: min(100%, 1500px + 15px * 2 - 110px - 30px);
}
.form-content > .in {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 15px 40px;
}

.form-panel {
  display: none;
}
.form-panel.is-active {
  display: block;
}

.form-card {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  -webkit-box-shadow: 0 0 8px #b6b6b6;
          box-shadow: 0 0 8px #b6b6b6;
}

.form-card-title {
  margin: 40px 0 15px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #1a1a1a;
}
.form-card-title:first-child {
  margin-top: 0;
}

.form-doc-item {
  padding: 30px 0;
  border-bottom: 1px solid rgba(0, 113, 184, 0.6);
}
.form-doc-item:last-child {
  border-bottom: none;
}

.form-doc-text {
  letter-spacing: 1px;
  margin: 0 0 8px;
  color: #1a1a1a;
  font-size: 1.25rem;
  line-height: 2.1;
}
.form-doc-text:last-child {
  margin-bottom: 0;
}

.form-mydata-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 5px 15px;
  border: 1px solid #0071b8;
  border-radius: 999px;
  background: #ffffff;
  color: #0071b8;
  font-size: 1rem;
  font-weight: bold;
  /* 純標示徽章（span），不可點，不給手形游標與 hover 效果 */
  cursor: default;
}
.form-mydata-btn img {
  height: 16px;
  width: auto;
}

.form-card-text {
  margin: 0 0 15px;
  color: #444444;
  font-size: 1rem;
  line-height: 1.8;
}
.form-card-text:last-child {
  margin-bottom: 0;
}

.form-card-subtitle {
  margin: 30px 0 8px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #1a1a1a;
}

.form-table-wrap {
  margin: 0 0 15px;
  overflow-x: auto;
}
@media screen and (max-width: 834px) {
  .form-table-wrap {
    overflow-x: visible;
  }
}

.form-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.form-table th,
.form-table td {
  padding: 8px 15px;
  border: 1px solid #e4e4e4;
  text-align: left;
  color: #1a1a1a;
}
.form-table th {
  background: #ebf3f9;
  color: #0071b8;
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 834px) {
  .form-table {
    min-width: 0;
  }
  .form-table thead {
    display: none;
  }
  .form-table tbody tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #e4e4e4;
    border-radius: 15px;
    background: #ffffff;
    overflow: hidden;
  }
  .form-table tbody tr:last-child {
    margin-bottom: 0;
  }
  .form-table tbody td {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    border: none;
    border-bottom: 1px solid #0071b8;
  }
  .form-table tbody td:last-child {
    border-bottom: none;
  }
  .form-table tbody td::before {
    content: attr(data-title);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
            flex: 0 0 100px;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: -8px 0 -8px -15px;
    padding: 8px 15px;
    font-weight: bold;
    color: #0b466f;
    background: #ebf3f9;
  }
  .form-table tbody td:first-child::before {
    border-top-left-radius: 15px;
  }
  .form-table tbody td:last-child::before {
    border-bottom-left-radius: 15px;
  }
}

.form-id-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  margin-top: 30px;
}
.form-id-field label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-weight: bold;
  color: #1a1a1a;
}
.form-id-field input {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 260px;
          flex: 1 1 260px;
  max-width: 320px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 8px 15px;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  font-size: 1rem;
  color: #444444;
}
.form-id-field input:focus {
  outline: none;
  border-color: #0071b8;
}
.form-id-field input:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}

.form-required {
  margin-right: 2px;
  color: #e02424;
}

.form-id-hint {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  font-size: 0.875rem;
  color: #e02424;
  text-align: center;
}

.form-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px;
  margin-top: 30px;
}
.form-actions .apply-btn {
  text-align: center;
}
@media screen and (max-width: 834px) {
  .form-actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.form-section-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}

.form-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin: 0 0 15px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #0071b8;
}
.form-section-title::before {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 14px;
  height: 18px;
  background: #0071b8;
  border-radius: 50% 50% 0 0;
}
.form-section-head .form-section-title {
  margin-bottom: 0;
}

.form-section-badge {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
  padding: 3px 15px;
  border-radius: 999px;
  background: #2e7d32;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: bold;
}

.form-section-divider {
  margin: 40px 0;
  border: none;
  border-top: 1px solid rgba(0, 113, 184, 0.6);
}

.form-inline-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.form-inline-group input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 8px 15px;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  font-size: 1rem;
  color: #444444;
}
.form-inline-group input:focus {
  outline: none;
  border-color: #0071b8;
}
.form-inline-group input:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
@media screen and (max-width: 560px) {
  .form-inline-group {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.form-inline-label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  color: #444444;
  font-size: 1rem;
  white-space: nowrap;
}

.apply-field .form-inline-label {
  display: inline;
  margin-bottom: 0;
  font-weight: normal;
}

.apply-field .login-radio-group {
  margin-top: 5px;
}

.apply-field .login-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0;
  font-weight: normal;
  color: #444444;
}
.apply-field .login-radio input[type=radio] {
  width: auto;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
}

.form-field-label-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  margin-bottom: 5px;
}
.form-field-label-row label {
  margin-bottom: 0;
}
.form-field-label-row > label:not(.form-inline-checkbox) {
  display: block;
  font-weight: bold;
  color: #444444;
}

.form-inline-checkbox {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
  font-size: 0.875rem;
  font-weight: normal;
  color: #444444;
  cursor: pointer;
}
.form-inline-checkbox input {
  accent-color: #0071b8;
}

.form-address-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.form-address-row select {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 140px;
          flex: 0 0 140px;
}
.form-address-row input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.form-address-row select,
.form-address-row input {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 8px 15px;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  font-size: 1rem;
  color: #444444;
}
.form-address-row select:focus,
.form-address-row input:focus {
  outline: none;
  border-color: #0071b8;
}
.form-address-row select:focus-visible,
.form-address-row input:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
@media screen and (max-width: 560px) {
  .form-address-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .form-address-row select {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 45%;
            flex: 1 1 45%;
  }
  .form-address-row input {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}

.form-file-field {
  margin-bottom: 30px;
}
.form-file-field:last-of-type {
  margin-bottom: 0;
}
.form-file-field > label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #1a1a1a;
}

.form-file-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}

.form-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.form-file-name {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 8px 15px;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  background: #ffffff;
  font-size: 1rem;
  color: #444444;
}

.form-file-btn {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 30px;
  border-radius: 10px;
  background: #0071b8;
  color: #ffffff;
  font-size: 1rem;
  font-weight: bold;
  white-space: nowrap;
  cursor: pointer;
}
.form-file-btn:hover {
  background: rgb(0, 87.9434782609, 143.2);
}

.form-file-hint {
  margin: 5px 0 0;
  font-size: 0.75rem;
  color: #646464;
}

.form-notice-list {
  margin-bottom: 15px;
}
.form-notice-list li {
  margin-bottom: 8px;
  color: #444444;
  font-size: 1rem;
  line-height: 1.8;
}
.form-notice-list li:last-child {
  margin-bottom: 0;
}

.progress-filter-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 30px;
}
.progress-filter-row .apply-field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.progress-filter-row .apply-btn {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 834px) {
  .progress-filter-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .progress-filter-row .apply-field,
  .progress-filter-row .apply-btn {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}

.progress-status {
  font-weight: bold;
}
.progress-status.is-rejected {
  color: #d92d20;
}
.progress-status.is-approved {
  color: #1a7f37;
}
.progress-status.is-pending {
  color: #b76e00;
}
.progress-status.is-processing {
  color: #444444;
}

/* 日期＋時分秒的外層：inline-block 讓桌面版仍依 td.is-center 置中，
   手機版 td 為 flex 時整組當一個 flex item，內部兩行才會上下堆疊 */
.progress-date {
  display: inline-block;
}

.progress-date-day,
.progress-date-time {
  display: block;
}

.progress-date-time {
  color: #646464;
  font-size: 0.875rem;
}/*# sourceMappingURL=style.css.map */
/* 檔案下載連結的類型小圖示（::before，16x16 背景圖）：
   共用規則僅設 width 未設高度，偽元素高度為整行行高、背景圖貼左上，
   圖示因此往上頂出連結框外；固定 16px 高並置中背景，使其於連結內上下置中
   （後載於各副檔名規則，等特異度以順序覆蓋 background 縮寫的位置重設） */
.file a[class]::before {
  height: 16px;
  background-position: center;
}

/* 系統訊息彈窗（JUtil.js 覆寫 alert/confirm → O_PushMsg $popuper，掛在 body 直下）：
   按鈕原為舊版橘底 .objBut(#ffbd9c)，form-bridge.css 的主色覆蓋只在套版表單頁載入，
   其餘頁面（如自然人憑證驗證）仍顯示舊色；改於全站樣式統一為主題色，主次比照 .apply-btn */
.g.popuper .md.btn-list .objBut,
.g.popuper .md.btn-list .btn,
.g.popuper .md.btn-list input[type="button"],
.g.popuper .md.btn-list input[type="submit"] {
  background: #0071b8;
  color: #ffffff;
  border: none;
  border-radius: 10px;
  padding: 6px 20px;
  font-weight: bold;
  cursor: pointer;
}
.g.popuper .md.btn-list .objBut:hover,
.g.popuper .md.btn-list .btn:hover,
.g.popuper .md.btn-list input[type="button"]:hover,
.g.popuper .md.btn-list input[type="submit"]:hover {
  background: #005a93;
  opacity: 1;
}
.g.popuper .md.btn-list .is-info,
.g.popuper .md.btn-list .is-secondary,
.g.popuper .md.btn-list .is-gray {
  background: #646464;
}
.g.popuper .md.btn-list .is-info:hover,
.g.popuper .md.btn-list .is-secondary:hover,
.g.popuper .md.btn-list .is-gray:hover {
  background: #4a4a4a;
}

/* ══ 表單上傳文件檢核徽章（People/WriteForm、Common/CorrectionEdit；內容由 docCheck.js 填入） ══ */
.form-card {
  position: relative;
}
.doc-check {
  position: absolute;
  top: -16px;
  right: 24px;
  z-index: 5;
}
.doc-check-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 6px 18px;
  border: none;
  border-radius: 999px;
  background: #2e9e4f;
  color: #ffffff;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.doc-check-btn.is-complete {
  background: #2e9e4f;
}
.doc-check-btn.is-missing {
  background: #d9822b;
}
.doc-check-btn:hover {
  -webkit-filter: brightness(1.08);
          filter: brightness(1.08);
}
.doc-check-btn:focus-visible {
  outline: 2px solid #0071b8;
  outline-offset: 2px;
}
.doc-check-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(640px, calc(100vw - 60px));
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 12px 20px;
  background: #ffffff;
  border: 1px solid rgba(0, 113, 184, 0.35);
  border-radius: 12px;
  -webkit-box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  z-index: 6;
  text-align: left;
}
.doc-check-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.doc-check-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  font-size: 1rem;
  line-height: 1.7;
  color: #1a1a1a;
}
.doc-check-mark {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20px;
          flex: 0 0 20px;
  height: 1.7em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2e9e4f;
}
.doc-check-list li.is-pending .doc-check-mark::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 2px solid #b6b6b6;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.doc-check-req {
  margin-left: 4px;
  color: #c00030;
  font-size: 0.9em;
}
.doc-check-list img {
  height: 16px;
  width: auto;
  margin-left: 6px;
  vertical-align: middle;
}
@media screen and (max-width: 834px) {
  .doc-check {
    position: static;
    margin-bottom: 10px;
    text-align: right;
  }
  .doc-check-panel {
    position: static;
    width: auto;
    margin-top: 8px;
  }
}

/* 錯誤頁（Home/Error、Error/Index，共用 Shared/_ErrorPage）：form-card 置中版，插圖限寬、聯絡資訊淡藍框 */
.apply-error {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.apply-error-img {
  display: block;
  width: min(100%, 420px);
  height: auto;
  margin: 0 auto 10px;
}
.apply-error .form-card-title {
  margin-top: 10px;
}
.apply-error-contact {
  display: inline-block;
  margin: 10px auto 0;
  padding: 15px 30px;
  border-radius: 10px;
  background: rgba(0, 113, 184, 0.08);
  text-align: left;
}
.apply-error-contact .form-card-text {
  margin-bottom: 5px;
}
.apply-error-contact-list {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #1a1a1a;
  line-height: 1.9;
}
.apply-error-contact-list a {
  color: #0071b8;
}
@media screen and (max-width: 834px) {
  .apply-error-contact {
    display: block;
    text-align: center;
  }
}
