@charset "UTF-8";
@import '../vendor/swiper/swiper-bundle.min.css';
@import '../vendor/fancybox/fancybox.css';
@import '../vendor/aos/aos.css';
.breadcrumb ul li + li:before {
  content: " / ";
  display: inline-block;
  padding: 0px 4px;
  margin: 0px 5px 0px 5px;
  color: #ccc;
}

.sp h3.title, .cp h3.title {
  color: #116c72;
  padding-left: 1em;
  position: relative;
  display: flex;
  margin: 2em 0 1em;
}
.sp h3.title:before, .cp h3.title:before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 5px;
  height: 5px;
  background: #67a1a5;
  transform: rotate(-45deg) translateY(-50%);
  box-shadow: 0 -10px 0 0 #67a1a5, -10px 0px 0 0 #67a1a5;
}

/* Grid system*/
/*== Media queries breakpoints*/
/* Extra small screen / phone*/
/* $screenXs:                  480px !default;*/
/* Small screen / tablet*/
/* $screenSm:                  768px !default;*/
/* Medium screen / desktop*/
/* $screenMd:                  992px !default;*/
/* Large screen / wide desktop*/
/* $screenLg:                  1400px !default;*/
/*== Grid system*/
/* $gridColumns:              12 !default;*/
/* $gridGutterWidth:         30px !default;*/
/*== Container sizes*/
/* Small screen / tablet*/
/* Medium screen / desktop*/
/* Large screen / wide desktop*/
/* Creates a wrapper for a series of columns*/
/* Generate the extra small columns*/
/* Generate the small columns*/
/* Generate the medium columns*/
/* Generate the large columns*/
img {
  max-width: 100%;
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

.cp {
  font-size: 1.0666666em;
  line-height: 1.65em;
}
@media screen and (max-width: 575px) {
  .cp {
    font-size: 1.2em;
  }
}
.cp h1 {
  font-size: 2em;
}
.cp h2 {
  font-size: 1.75em;
  margin-bottom: 1.25em;
}
.cp h3 {
  font-size: 1.5em;
}
.cp h4 {
  font-size: 1.25em;
  margin-top: 0;
  margin-bottom: 1em;
}
.cp h5 {
  font-size: 1.125em;
  margin-top: 0;
  margin-bottom: 1em;
}
.cp h6 {
  font-size: 1.125em;
  margin-top: 0;
  margin-bottom: 1em;
}
.cp p {
  font-size: 1em;
  line-height: 1.85em;
  margin-top: 0;
}
.cp ul,
.cp ol {
  font-size: 1em;
  margin-bottom: 1em;
}
.cp ul li,
.cp ol li {
  margin-bottom: 0.5em;
}
.cp dd,
.cp th,
.cp td figure {
  font-size: 1em;
}
.cp blockquote {
  background: #f1f1f1;
  font-style: normal;
  display: block;
  font-size: 1em;
  border-left: 5px solid #116c72;
  padding: 2em;
  box-sizing: border-box;
  margin: 0 0em 2em;
}
.cp img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .cp img {
    max-width: 100%;
    width: auto;
    clear: both;
  }
}

a:focus-visible {
  outline: #ef5714 2px solid;
}
@media screen and (max-width: 767px) {
  a:focus-visible {
    box-shadow: none;
  }
}

.accessKey {
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 9;
  color: #116c72;
  font-size: 1em;
}
@media screen and (max-width: 767px) {
  .accessKey {
    display: none;
  }
}

a.goCenter {
  position: absolute;
  top: -2.2em;
  left: 50%;
  margin-left: -480px;
  padding: 0 0.5em;
  height: 2em;
  line-height: 2em;
  background: #116c72;
  color: #fff;
  text-decoration: none;
  z-index: 999999999999;
  opacity: 0;
  transition: 0.5s;
  border-radius: 0px 0px 4px 4px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  a.goCenter {
    display: none;
  }
}
a.goCenter:hover, a.goCenter:focus-visible {
  background: rgb(23.6183206107, 150.0458015267, 158.3816793893);
  top: 0;
  opacity: 1;
  box-shadow: none;
  color: #fff;
}

.no-js noscript {
  display: block;
  padding: 0.5em;
  border: 2px solid #116c72;
  background: #fff;
  color: #666;
  overflow: hidden;
  line-height: 1.45em;
  font-size: 0.813em;
  margin: 0 0.5em 0.5em;
  border-radius: 4px;
  box-sizing: border-box;
}
.no-js noscript a {
  color: #116c72;
}
.no-js noscript a:hover, .no-js noscript a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
}
.no-js .mpSlider .imgContainer {
  display: none;
}
.no-js .mpSlider .imgContainer img {
  -o-object-fit: cover;
     object-fit: cover;
}
.no-js .mpSlider .imgContainer:nth-child(1) {
  display: block;
}
.no-js .navigation {
  padding-right: 170px;
}
.no-js .navigation .language {
  width: auto;
  position: absolute;
  right: 160px;
}
.no-js .navigation .language > a {
  display: none;
}
.no-js .navigation .language ul {
  top: 0;
  width: 160px;
}
.no-js .navigation .language ul li {
  display: block;
  width: auto;
}
.no-js .webSearch noscript {
  margin-left: 1%;
  margin-right: 1%;
}
.no-js .tabSet {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.no-js .tabSet .tabItem {
  width: 100%;
  display: block;
  position: relative;
  color: #000;
  margin-bottom: 0px;
  border-bottom: 3px solid #ddd;
}
.no-js .tabSet .tabItem > a {
  background: none;
  font-size: 1.5em;
  color: #000;
}
.no-js .tabSet .tabItem:before {
  display: none;
}
.no-js .tabSet .tabItem.active {
  color: #000;
  width: 100%;
  display: block;
  position: relative;
  border-bottom: 3px solid #ddd;
}
.no-js .tabSet .tabItem.active > a {
  color: #000;
  background: none;
}
.no-js .tabSet .tabContent {
  width: 100%;
  position: relative;
  display: block;
}
.no-js .cpSlider .imgContainer {
  display: inline-block;
  width: 30%;
  margin: 0 1% 1em;
}
@media screen and (max-width: 767px) {
  .no-js .cpSlider .imgContainer {
    width: 47%;
    margin: 0 1% 1em;
  }
}
.no-js .cpSlider .imgContainer img {
  -o-object-fit: cover;
     object-fit: cover;
}
.no-js .adSlider .imgContainer {
  display: inline-block;
  width: 22%;
  margin: 0 1% 1em;
  border: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .no-js .adSlider .imgContainer {
    width: 47%;
    margin: 0 1% 1em;
  }
}
.no-js .adSlider .imgContainer img {
  -o-object-fit: cover;
     object-fit: cover;
}
.no-js img.lazy {
  display: none;
}
.no-js img.lazy + noscript img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

body {
  font-size: 1em;
  font-weight: normal;
  color: #3a3a3a;
  line-height: 1.85em;
  font-family: Lato, "PingFang TC", "Helvetica Neue", Helvetica, 微軟正黑體, Arial, sans-serif;
  -webkit-text-size-adjust: none;
}
body.smallSize {
  font-size: 0.938em;
}
body.largeSize {
  font-size: 1.125em;
}

a {
  text-decoration: none;
  color: #116c72;
}
a:hover, a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
a:focus-visible {
  outline: #ef5714 2px solid;
}

kbd {
  background: #fff;
  border-radius: 0.2em;
  color: #555;
  font-weight: bold;
  display: inline-block;
  padding: 0.1em 0.6em;
  font-size: 0.938em;
  font-family: sans-serif;
  margin-right: 0.4em;
  margin-bottom: 0.1em;
  vertical-align: middle;
  border-top: 1px solid #bbb;
  border-bottom: 3px solid #bbb;
  border-left: 2px solid #bbb;
  border-right: 2px solid #bbb;
}
kbd ~ kbd {
  margin-left: 0.4em;
}
kbd kbd {
  border: none;
}

.fontSize {
  display: flex;
  align-items: center;
  margin-right: 0.5em;
}
.fontSize > button, .fontSize > button.disabled,
.fontSize button[disabled] {
  font-size: 0.875em;
  color: #222;
  padding: 0;
  margin: 0;
  opacity: 1;
  background: none;
  border: none;
  text-align: left;
}
.fontSize span {
  content: "字型大小：";
  display: block;
  font-size: 0.875em;
  margin-top: 4px;
}
.fontSize ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex: 0 0 6em;
}
.fontSize ul li {
  font-size: 1em;
  flex: 0 0 auto;
  margin: 2px;
  align-items: center;
}
.fontSize ul li button,
.fontSize ul li a {
  display: block;
  text-align: center;
  line-height: 32px;
  border-radius: 50%;
  background: #f1f1f1;
  width: 32px;
  height: 32px;
  color: #333;
  margin: 0;
  padding: 0;
}
.fontSize ul li button:hover, .fontSize ul li button:focus, .fontSize ul li button.active,
.fontSize ul li a:hover,
.fontSize ul li a:focus,
.fontSize ul li a.active {
  background: rgb(15.3, 97.2, 102.6);
  color: #fff;
  box-shadow: none;
}
.fontSize ul li button.small,
.fontSize ul li a.small {
  font-size: 0.938em;
}
.fontSize ul li button.large,
.fontSize ul li a.large {
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  .fontSize {
    display: none;
  }
}

.fontSize.typeB {
  margin: 0;
  position: relative;
}
.fontSize.typeB::before {
  display: none;
}
.fontSize.typeB > button {
  text-indent: -9999px;
  color: transparent;
  width: 50px;
  aspect-ratio: 1/1;
  position: relative;
}
.fontSize.typeB > button::before {
  width: 100%;
  aspect-ratio: 1/1;
  content: "Aa";
  text-indent: 0;
  color: #fff;
  position: absolute;
  text-align: center;
  inset: 0;
  line-height: 50px;
  z-index: 2;
  display: block;
}
.fontSize.typeB ul {
  background: #444;
  position: absolute;
  display: none;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.fontSize.typeB ul li {
  margin: 0 auto;
}
.fontSize.typeB ul li button {
  color: #fff;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: none;
  transition: 0.3s ease-out;
}
.fontSize.typeB ul li button.active {
  background: rgb(15.3, 97.2, 102.6);
  color: #fff;
  box-shadow: none;
}
.fontSize.typeB ul li button:hover, .fontSize.typeB ul li button:focus-visible {
  background: #116c72;
  border-inline: rgb(15.3, 97.2, 102.6) 2px solid;
}

.language {
  font-weight: bold;
  font-size: 0.75em;
  width: 140px;
  z-index: 9999;
  position: relative;
  align-items: center;
}
.language button, .language > a {
  text-align: left;
  display: block;
  background: #555;
  box-sizing: border-box;
  color: #fff;
  padding: 0.2em 1em;
  position: relative;
  transition: 0.3s ease-out;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 100%;
  margin: 0;
  width: 100%;
}
.language button:after, .language > a:after {
  position: absolute;
  right: 0.8em;
  top: 1em;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 3px 0 3px;
  border-color: #ffffff transparent transparent transparent;
}
.language button:before, .language > a:before {
  position: absolute;
  width: 1px;
  height: 1.6em;
  right: 2em;
  top: 0.4em;
  content: "";
  border-left: 1px solid #ddd;
}
.language ul {
  background: #444;
  padding: 1em 1.5em;
  display: none;
  position: absolute;
  width: 100%;
  top: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.language ul li {
  flex: 1;
  box-sizing: border-box;
  margin: 0;
}
.language ul li a {
  display: block;
  color: #fff;
  padding: 0.5em 0.5em 0.5em 1em;
  transition: 0.3s ease-out;
}
.language ul li a:hover, .language ul li a:focus-visible {
  background: #116c72;
  border-inline: rgb(15.3, 97.2, 102.6) 2px solid;
}

@media screen and (min-width: 767px) {
  .language.typeB {
    width: auto;
  }
  .language.typeB > button, .language.typeB > a {
    text-indent: -9999px;
    color: transparent;
    width: 50px;
    aspect-ratio: 1/1;
    position: relative;
    background: none;
    padding: 0;
    border: none;
  }
  .language.typeB > button::before, .language.typeB > a::before {
    content: "";
    width: 100%;
    height: auto;
    position: absolute;
    inset: 0;
    z-index: 2;
    aspect-ratio: 1/1;
    display: block;
    -webkit-mask: url("../images/icon/icon_global2.svg") center no-repeat;
            mask: url("../images/icon/icon_global2.svg") center no-repeat;
    -webkit-mask-size: 40%;
            mask-size: 40%;
    background: #fff;
    pointer-events: none;
  }
  .language.typeB > button::after, .language.typeB > a::after {
    display: none;
  }
  .language.typeB ul {
    width: 100px;
    left: 50%;
    text-align: center;
    transform: translateX(-50%);
  }
  .language.typeB ul li a {
    padding: 5px;
  }
}
.header .container > .webSearchBtn {
  display: none;
}
@media screen and (max-width: 767px) {
  .header .container > .webSearchBtn {
    display: block;
  }
}
.header .container .navigation .webSearchBtn {
  display: block;
}
@media screen and (max-width: 767px) {
  .header .container .navigation .webSearchBtn {
    display: none;
  }
}

.webSearchBtn {
  position: relative;
}
.webSearchBtn > button {
  text-indent: -9999px;
  color: transparent;
  width: 60px;
  aspect-ratio: 1/1;
  position: relative;
  background: none;
  padding: 0;
  margin: 0;
  border: none;
  z-index: 90;
}
.webSearchBtn > button::before {
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  inset: 0;
  z-index: 2;
  aspect-ratio: 1/1;
  display: block;
  -webkit-mask: url("../images/icon/icon_search2.svg") center no-repeat;
          mask: url("../images/icon/icon_search2.svg") center no-repeat;
  -webkit-mask-size: 40%;
          mask-size: 40%;
  background: #fff;
}

.webSearch {
  vertical-align: top;
  font-size: 1.125rem;
  box-sizing: border-box;
  padding: 50px 0;
}
@media screen and (max-width: 767px) {
  .webSearch {
    width: 100% !important;
    padding: 20px 0 50px;
  }
}
.webSearch .container {
  display: flex;
  flex-wrap: wrap;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .webSearch .container {
    padding-left: 15px;
  }
}
.webSearch .titleImg {
  flex-basis: 100%;
  margin-bottom: 1.5em;
}
.webSearch .titleImg img {
  width: 576px;
}
.webSearch label {
  font-size: 0em;
  display: inline;
}
.webSearch .formGrp {
  flex: 0 0 auto;
  margin: 0 0.3em 0.5em 0;
  display: flex;
}
@media screen and (max-width: 767px) {
  .webSearch .formGrp {
    flex: 1 1 auto;
  }
}
.webSearch .formGrp input {
  margin: 0 0.3em 0 0;
  padding: 0.5em 1em;
  box-shadow: none;
  flex: 0 1 390px;
  width: 390px;
  height: 42px;
  max-width: 100%;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .webSearch .formGrp input {
    width: auto;
    flex: 1 1 auto;
  }
}
.webSearch .formGrp input[type=text] {
  background: #fff url(../images/icon/icon_search2.svg) center right 1em no-repeat;
  background-size: 18px;
  border-color: #fff;
}
.webSearch .formGrp input[type=submit] {
  min-width: auto;
  padding: 0.2em 0.8em;
}
.webSearch .formGrp input:focus-visible {
  box-shadow: 0 0px 0px 2px #ef5714;
}
.webSearch .formGrp button,
.webSearch .formGrp .btn,
.webSearch .formGrp .btnSearch {
  min-width: auto;
  padding: 0.2em 0.8em;
  margin: 0;
}
.webSearch .btnGrp {
  flex: 0 0 auto;
  margin: 0 0 0.5em;
  padding: 0;
}
.webSearch .btnGrp button,
.webSearch .btnGrp .btn,
.webSearch .btnGrp .btnSearch {
  min-width: auto;
  padding: 0.2em 0.8em;
  margin: 0;
  height: 42px;
  background-color: #efefd0;
  border-color: #efefd0;
  color: #085055;
}
.webSearch .btnGrp button:hover, .webSearch .btnGrp button:focus-visible,
.webSearch .btnGrp .btn:hover,
.webSearch .btnGrp .btn:focus-visible,
.webSearch .btnGrp .btnSearch:hover,
.webSearch .btnGrp .btnSearch:focus-visible {
  color: #fff;
  background: rgb(15.3, 97.2, 102.6);
  border: solid 1px rgb(15.3, 97.2, 102.6);
}
.webSearch .keywordHot {
  flex: 1 1 100%;
}
.webSearch .keywordHot ul {
  font-size: 0.813em;
  line-height: 1.65em;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  list-style-type: none;
}
.webSearch .keywordHot ul li {
  margin: 0;
  padding: 0 0.5em;
  flex: 0 0 auto;
}
.webSearch .keywordHot ul a {
  text-decoration: none;
  color: #3a3a3a;
}
.webSearch .keywordHot ul a:hover, .webSearch .keywordHot ul a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
.webSearch .keywordHot ul a:focus-visible {
  outline: #ef5714 2px solid;
}

.webSearchBg {
  position: fixed;
  inset: 0;
  z-index: 91;
  background: rgba(255, 255, 255, 0.8);
  transform: translateY(-100%);
  opacity: 0;
  transition: all 0.3s linear;
}
.webSearchBg.active {
  transform: translateY(0%);
  opacity: 1;
}

.mobileSearch {
  width: 100%;
  max-width: 100%;
  min-width: auto;
  padding: 0.8em 0.3em;
  display: block;
  height: auto;
  position: fixed;
  top: 60px;
  left: 0;
  z-index: 98;
  background: #333;
  transform: translateY(-100%);
  opacity: 0;
  margin: 0;
  transition: all 0.3s linear;
}
.mobileSearch.active {
  transform: translateY(0%);
  opacity: 1;
}
.mobileSearch label {
  font-size: 0em;
  line-height: 0;
}
.mobileSearch .formGrp {
  display: flex;
  align-items: center;
}
.mobileSearch .formGrp label {
  display: none;
  flex: 0 0 0%;
}
.mobileSearch .formGrp input {
  margin: 0.5em;
  padding: 0.5em;
  flex: 1 1 50%;
  max-width: 70%;
}
.mobileSearch .formGrp input[type=submit] {
  flex: 0 1 15%;
  margin: 0.5em;
}
.mobileSearch .formGrp .btn,
.mobileSearch .formGrp .btnSearch {
  min-width: auto;
  padding: 0.5em 0.8em;
  margin: 0;
  flex: 1 1 20%;
  max-width: 25%;
}
.mobileSearch .formGrp .btn:hover, .mobileSearch .formGrp .btn:focus-visible,
.mobileSearch .formGrp .btnSearch:hover,
.mobileSearch .formGrp .btnSearch:focus-visible {
  box-shadow: none;
}
.mobileSearch .btnGrp {
  flex: 1 1 auto;
  padding: 0.25em 0.5em;
  border-bottom: solid 1px #444;
  box-sizing: border-box;
  text-align: right;
}
.mobileSearch .btnGrp .btn {
  width: auto;
  padding: 0.2em 0.5em;
  margin: 0;
  background: transparent;
  font-size: 0.875rem;
  color: #ddd;
  border: none;
}
.mobileSearch .btnGrp .btn:hover, .mobileSearch .btnGrp .btn:focus-visible {
  color: rgb(21.9183206107, 139.2458015267, 146.9816793893);
}
.mobileSearch .keywordHot {
  flex: 1 1 100%;
}
.mobileSearch .keywordHot ul {
  font-size: 0.875em;
  line-height: 1.65em;
  margin: 0;
  padding: 0.5em 0 0 0.5em;
  display: flex;
  justify-content: flex-start;
  list-style-type: none;
}
.mobileSearch .keywordHot ul li {
  margin: 0;
  padding: 0.5em;
  flex: 0 0 auto;
}
.mobileSearch .keywordHot ul a {
  color: #fff;
}
.mobileSearch .keywordHot ul a:hover, .mobileSearch .keywordHot ul a:focus-visible {
  color: rgb(21.9183206107, 139.2458015267, 146.9816793893);
}

.webSearch.typeB {
  position: absolute;
  top: 90px;
  right: 15px;
  display: none;
  width: 40%;
  margin: 0;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .webSearch.typeB {
    top: 60px;
    right: 0;
  }
}
.webSearch.typeB .content {
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  background: #444;
}
.webSearch.typeB .formGrp {
  display: flex;
  flex-grow: 1;
}
.webSearch.typeB .formGrp input {
  flex-grow: 1;
  margin: 0;
  margin-right: 8px;
}
.webSearch.typeB .keywordHot ul a {
  color: #fff;
}
@media screen and (max-width: 991px) {
  .webSearch.typeB.active {
    display: block;
    width: 100%;
    padding: 0;
  }
}

.mobileSearchBtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99;
  color: transparent;
  width: 60px;
  aspect-ratio: 1/1;
  padding: 0;
  margin: 0;
  border: none;
  display: none;
}
@media screen and (max-width: 767px) {
  .mobileSearchBtn {
    display: block;
  }
}
.mobileSearchBtn::before {
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  inset: 0;
  z-index: 2;
  aspect-ratio: 1/1;
  display: block;
  -webkit-mask: url("../images/icon/icon_search2.svg") center no-repeat;
          mask: url("../images/icon/icon_search2.svg") center no-repeat;
  -webkit-mask-size: 40%;
          mask-size: 40%;
  background: #116c72;
}

.btnGrp {
  text-align: center;
  padding: 1em 0;
}

.sp .flexForm .btnAdd,
.sp .flexForm .btnAddFile, .uploadGrp .uploadBtn,
.uploadGrp .delete_file, .btn {
  font-size: 1em;
  touch-action: manipulation;
  background-image: none;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  white-space: nowrap;
  line-height: normal;
  width: auto;
  padding: 0.5rem 1.25rem;
  min-width: 4em;
  margin: 0.25em 0.1em;
}
.sp .flexForm .btnAdd i,
.sp .flexForm .btnAddFile i, .uploadGrp .uploadBtn i,
.uploadGrp .delete_file i, .btn i {
  margin-right: 0.25em;
  margin-left: 0.25em;
}

.btn {
  background: #fff;
  border: 2px solid white;
  border-radius: 2em;
  text-shadow: none;
}
.btn:hover {
  background: rgb(229.5, 229.5, 229.5);
  cursor: pointer;
  color: #116c72;
  outline: none;
}
.btn:focus-visible {
  background: rgb(229.5, 229.5, 229.5);
  border: 1px solid #cccccc;
  cursor: pointer;
  color: #fff;
  outline: none;
  box-shadow: 0 0px 0px 2px #ef5714;
}
.btn.active {
  background: white;
  cursor: pointer;
}
.btn:hover, .btn:focus-visible {
  color: #116c72;
  outline: none;
}

.btnSubmit {
  background: #116c72;
  border: 2px solid rgb(20.3091603053, 129.0229007634, 136.1908396947);
  border-radius: 2em;
  color: #fff;
  min-width: 146px;
  max-width: 48%;
  font-size: 1.125rem;
}
.btnSubmit:hover {
  background: rgb(10.3816793893, 65.9541984733, 69.6183206107);
  cursor: pointer;
  color: #fff;
  outline: none;
}
.btnSubmit:focus-visible {
  background: rgb(10.3816793893, 65.9541984733, 69.6183206107);
  border: 1px solid rgb(3.7633587786, 23.9083969466, 25.2366412214);
  cursor: pointer;
  color: #fff;
  outline: none;
  box-shadow: 0 0px 0px 2px #ef5714;
}
.btnSubmit.active {
  background: rgb(20.3091603053, 129.0229007634, 136.1908396947);
  cursor: pointer;
}

.btnReset {
  background: #eee;
  border: 2px solid rgb(250.75, 250.75, 250.75);
  border-radius: 2em;
  min-width: 146px;
  max-width: 48%;
  font-size: 1.125rem;
  color: #3a3a3a;
}
.btnReset:hover {
  background: rgb(212.5, 212.5, 212.5);
  cursor: pointer;
  color: #3a3a3a;
  outline: none;
}
.btnReset:focus-visible {
  background: rgb(212.5, 212.5, 212.5);
  border: 1px solid #bbbbbb;
  cursor: pointer;
  color: #fff;
  outline: none;
  box-shadow: 0 0px 0px 2px #ef5714;
}
.btnReset.active {
  background: rgb(250.75, 250.75, 250.75);
  cursor: pointer;
}

.btnSearch {
  background-color: #efefd0;
  border: solid 2px #efefd0;
  color: #085055;
  height: 42px;
}
.btnSearch:hover, .btnSearch:focus-visible {
  color: #fff;
  background: rgb(15.3, 97.2, 102.6);
  border-color: rgb(15.3, 97.2, 102.6);
}

.btnPrimary {
  background: #116c72;
  color: #fff;
  border: solid 1px #116c72;
}
.btnPrimary:hover, .btnPrimary:focus-visible {
  background: rgb(10.3816793893, 65.9541984733, 69.6183206107);
  border: solid 1px #116c72;
  color: #fff;
}

.btnSecondary {
  background: #fff;
  color: rgb(7.072519084, 44.9312977099, 47.427480916);
  border: solid 1px #116c72;
  text-shadow: none;
}
.btnSecondary:hover, .btnSecondary:focus-visible {
  color: black;
  background: #b5deff;
  border: solid 1px #b5deff;
}

.btnNormal {
  background: #f1f1f1;
  color: #65656e;
  border: solid 1px #c3c3c3;
  text-shadow: none;
}
.btnNormal:hover, .btnNormal:focus-visible {
  color: rgb(64.3815165877, 64.3815165877, 70.1184834123);
  background: #c3c3c3;
  border: solid 1px #c3c3c3;
}

.btnBack {
  background: #555;
  color: #fff;
  border: 1px solid #ddd;
}
.btnBack:hover, .btnBack:focus-visible {
  background: rgb(10.3816793893, 65.9541984733, 69.6183206107);
  border: 1px solid #ddd;
}

.disabled,
[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  text-shadow: none;
}

.readonly,
[readonly] {
  opacity: 0.5;
  cursor: not-allowed;
  text-shadow: none;
}

.btnXl {
  font-size: 1.5em;
}

.btnLg {
  font-size: 1.25em;
}

.btnSm {
  font-size: 0.938em;
}

.btnXs {
  font-size: 0.75em;
}

.breadcrumb {
  padding: 0.1em 0em 0.1em;
  font-size: 0.9375rem;
  margin: 0px auto 5px;
  position: relative;
  display: flex;
  align-items: center;
}
.breadcrumb::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask: url(../images/icon/icon_home.svg) center center no-repeat;
          mask: url(../images/icon/icon_home.svg) center center no-repeat;
  background-color: #242424;
  margin-right: 8px;
}
.breadcrumb ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
}
.breadcrumb ul li {
  margin: 0px 0.1em 0.1em 0px;
}
.breadcrumb ul li[aria-current=page] {
  color: #15565a;
}
.breadcrumb a {
  text-decoration: none;
  color: #3a3a3a;
}
.breadcrumb a:hover, .breadcrumb a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
.breadcrumb a:focus-visible {
  outline: #ef5714 2px solid;
}

.divider,
.dividerVertical {
  text-align: center;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-size: 0.813em;
  color: grey;
  text-shadow: 0 1px 1px #fff;
  display: block;
}

.divider {
  display: table;
  line-height: 1;
  margin: 20px 0;
}
.divider:after, .divider:before {
  content: "";
  display: table-cell;
  position: relative;
  top: 50%;
  width: 50%;
  background-repeat: no-repeat;
  background-image: url("../images/basic/divider.jpg");
}
.divider:before {
  background-position: right 1em top 50%;
}
.divider:after {
  background-position: left 1em top 50%;
}

.dividerVertical {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: auto;
  height: 50%;
  line-height: 0;
  transform: translateX(-50%);
}
.dividerVertical:after, .dividerVertical:before {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 3;
  width: 0;
  height: calc(100% - 1.2rem);
  border-left: 1px solid #cfcfcf;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
}
.dividerVertical:before {
  top: -100%;
}
.dividerVertical:after {
  bottom: 0;
}

hr {
  border: none;
  border-top: 1px solid #cfcfcf;
  margin: 1em 0px;
  display: block;
  clear: both;
}

[class^=i_] {
  margin-right: 0.5em;
}
[class^=i_]:before {
  content: "";
  display: inline-block;
  height: 1em;
  width: 1em;
  vertical-align: middle;
}

.i_minus_dark:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_minus_dark.svg) center center no-repeat;
          mask: url(../images/icon/icon_minus_dark.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}
.i_minus_dark:before {
  background-color: #333;
}

.i_play_dark:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_play_dark.svg) center center no-repeat;
          mask: url(../images/icon/icon_play_dark.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_reflash_dark:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_reflash_dark.svg) center center no-repeat;
          mask: url(../images/icon/icon_reflash_dark.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_add:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_add.svg) center center no-repeat;
          mask: url(../images/icon/icon_add.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_arrowLeft:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_arrow_left.svg) center center no-repeat;
          mask: url(../images/icon/icon_arrow_left.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_arrowRight:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_arrow_right.svg) center center no-repeat;
          mask: url(../images/icon/icon_arrow_right.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_arrowUp:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_arrowUp.svg) center center no-repeat;
          mask: url(../images/icon/icon_arrowUp.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_arrowDown:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_arrowDown.svg) center center no-repeat;
          mask: url(../images/icon/icon_arrowDown.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_bookmark:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_bookmark.svg) center center no-repeat;
          mask: url(../images/icon/icon_bookmark.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_building:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_building.svg) center center no-repeat;
          mask: url(../images/icon/icon_building.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_calendar:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_calendar.svg) center center no-repeat;
          mask: url(../images/icon/icon_calendar.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_calendar_color:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_calendar_color.svg) center center no-repeat;
          mask: url(../images/icon/icon_calendar_color.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_chat:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_chat.svg) center center no-repeat;
          mask: url(../images/icon/icon_chat.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_check:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_check.svg) center center no-repeat;
          mask: url(../images/icon/icon_check.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_clock:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_clock.svg) center center no-repeat;
          mask: url(../images/icon/icon_clock.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_close:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_close.svg) center center no-repeat;
          mask: url(../images/icon/icon_close.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_copy:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_copy.svg) center center no-repeat;
          mask: url(../images/icon/icon_copy.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_dot:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_dot.svg) center center no-repeat;
          mask: url(../images/icon/icon_dot.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_edit:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_edit.svg) center center no-repeat;
          mask: url(../images/icon/icon_edit.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_facebook:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_facebook.svg) center center no-repeat;
          mask: url(../images/icon/icon_facebook.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_global:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_global.svg) center center no-repeat;
          mask: url(../images/icon/icon_global.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_googleplus:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_googleplus.svg) center center no-repeat;
          mask: url(../images/icon/icon_googleplus.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_grid:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_grid.svg) center center no-repeat;
          mask: url(../images/icon/icon_grid.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_heart:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_heart.svg) center center no-repeat;
          mask: url(../images/icon/icon_heart.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_home:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_home.svg) center center no-repeat;
          mask: url(../images/icon/icon_home.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_info:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_info.svg) center center no-repeat;
          mask: url(../images/icon/icon_info.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_layout:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_layout.svg) center center no-repeat;
          mask: url(../images/icon/icon_layout.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_link:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_link.svg) center center no-repeat;
          mask: url(../images/icon/icon_link.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_linkedin:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_linkedin.svg) center center no-repeat;
          mask: url(../images/icon/icon_linkedin.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_location:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_location.svg) center center no-repeat;
          mask: url(../images/icon/icon_location.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_lock:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_lock.svg) center center no-repeat;
          mask: url(../images/icon/icon_lock.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_mail:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_mail.svg) center center no-repeat;
          mask: url(../images/icon/icon_mail.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_man:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_man.svg) center center no-repeat;
          mask: url(../images/icon/icon_man.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_minus:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_minus.svg) center center no-repeat;
          mask: url(../images/icon/icon_minus.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_move:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_move.svg) center center no-repeat;
          mask: url(../images/icon/icon_move.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_order:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_order.svg) center center no-repeat;
          mask: url(../images/icon/icon_order.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_phone:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_phone_dark.svg) center center no-repeat;
          mask: url(../images/icon/icon_phone_dark.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_photo:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_photo.svg) center center no-repeat;
          mask: url(../images/icon/icon_photo.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_pick:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_pick.svg) center center no-repeat;
          mask: url(../images/icon/icon_pick.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_play:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_play.svg) center center no-repeat;
          mask: url(../images/icon/icon_play.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_publish:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_play.svg) center center no-repeat;
          mask: url(../images/icon/icon_play.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_reflash:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_reflash.svg) center center no-repeat;
          mask: url(../images/icon/icon_reflash.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_rss:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_rss.svg) center center no-repeat;
          mask: url(../images/icon/icon_rss.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_search:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_search2.svg) center center no-repeat;
          mask: url(../images/icon/icon_search2.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_setting:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_setting.svg) center center no-repeat;
          mask: url(../images/icon/icon_setting.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_sort:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_sort.svg) center center no-repeat;
          mask: url(../images/icon/icon_sort.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_star:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_star.svg) center center no-repeat;
          mask: url(../images/icon/icon_star.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_top:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_top.svg) center center no-repeat;
          mask: url(../images/icon/icon_top.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_trash:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_trash.svg) center center no-repeat;
          mask: url(../images/icon/icon_trash.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_twitter:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_twitter.svg) center center no-repeat;
          mask: url(../images/icon/icon_twitter.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_video:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_video.svg) center center no-repeat;
          mask: url(../images/icon/icon_video.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_view:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_view.svg) center center no-repeat;
          mask: url(../images/icon/icon_view.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_vimeo:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_vimeo.svg) center center no-repeat;
          mask: url(../images/icon/icon_vimeo.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.i_youtube:before {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/icon/icon_youtube.svg) center center no-repeat;
          mask: url(../images/icon/icon_youtube.svg) center center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin: -0.1em 0.1em 0.1em -0.1em;
  background-color: #fff;
}

.category {
  text-align: left;
  margin: 1em auto;
}
.category ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.category ul li {
  margin: 0px 3px 3px 0px;
  display: block;
}
.category a {
  border: 1px solid #aaa;
  padding: 0.25em 0.75em;
  display: block;
  color: #333;
  font-size: 0.875rem;
  box-sizing: border-box;
}
.category a:before {
  content: "#";
  margin-right: 0.25em;
}
.category a:hover, .category a:focus, .category a.active {
  color: #fff;
  background: rgb(20.3091603053, 129.0229007634, 136.1908396947);
  border: 1px solid rgb(20.3091603053, 129.0229007634, 136.1908396947);
  box-shadow: none;
}
.category a span {
  font-size: 0.813em;
}
.category a span:before {
  content: "(";
  display: inline-block;
}
.category a span:after {
  content: ")";
  display: inline-block;
}

.tag {
  margin-bottom: 1em;
  position: relative;
}
.tag:before {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 0.5em;
  background: url(../images/basic/icon_tag.svg) no-repeat center center;
  background-size: 16px;
}
.tag ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin-left: 1.5em;
}
.tag ul li {
  margin: 0 0.5em 0.5em 0;
  flex: 0 0 auto;
}
.tag ul li a {
  display: block;
  font-size: 0.938em;
  text-decoration: none;
  color: #3a3a3a;
  border: 1px solid #ddd;
  padding: 0.2em 0.75em;
}
.tag ul li a:hover, .tag ul li a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
.tag ul li a:focus-visible {
  outline: #ef5714 2px solid;
}

.scrollToTop {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: url(../images/basic/icon_top.svg) no-repeat center top rgba(0, 0, 0, 0.4);
  text-align: center;
  color: #fff;
  line-height: 50px;
  text-decoration: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  transition: 0.3s ease-out;
  display: none;
  z-index: 99999999;
  text-indent: -999999px;
}
.scrollToTop:hover, .scrollToTop:focus-visible {
  background: url(../images/basic/icon_top.svg) no-repeat center top rgba(0, 0, 0, 0.8);
  box-shadow: none;
}

.more {
  display: block;
  width: 214px;
  margin: 2em auto 1em;
  border-radius: 50px;
  border: 2px solid #67a1a5;
  background: #fff;
  color: #116c72;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  position: relative;
  padding: 12px 50px;
  transition: all 0.2s ease-in;
  overflow: hidden;
  cursor: pointer;
  z-index: 1;
}
.more::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scaleY(1) scaleX(1.25);
  top: 100%;
  width: 140%;
  height: 180%;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}
.more::after {
  content: "+";
  font-size: 1.75rem;
  line-height: 0;
  position: absolute;
  font-weight: 300;
  top: 45%;
  right: 25px;
  opacity: 0;
  transform: translateY(-50%);
  transition: all 0.2s ease-in-out;
}
.more:hover, .more:focus-visible {
  color: #fff;
}
.more:hover::before, .more:focus-visible::before {
  right: -90%;
  top: -35%;
  background-color: #116c72;
  transform: translateX(-50%) scaleY(1.3) scaleX(1.25);
}
.more:hover::after, .more:focus-visible::after {
  transform: translateX(5px);
  opacity: 1;
}

[tooltip] {
  position: relative;
}

em[tooltip] {
  text-decoration: none;
  color: #116c72;
}
em[tooltip]:hover, em[tooltip]:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
em[tooltip]:focus-visible {
  outline: #ef5714 2px solid;
}

[tooltip]:before,
[tooltip]:after {
  text-transform: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  position: absolute;
  display: none;
  opacity: 0;
}

[tooltip]:before {
  content: "";
  border: 5px solid transparent;
  z-index: 1001;
}

[tooltip]:after {
  content: attr(tooltip);
  text-align: left;
  min-width: 150px;
  line-height: 1.5em;
  max-width: 300px;
  font-size: 0.813em;
  max-height: 5.182875em;
  overflow: hidden;
  padding: 0.5em;
  border-radius: 4px;
  box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
  background: #333;
  color: #fff;
  z-index: 1000;
  box-sizing: border-box;
}

[tooltip]:hover:before,
[tooltip]:hover:after {
  display: block;
}

[tooltip=""]:before,
[tooltip=""]:after {
  display: none;
}

[tooltip]:not([flow]):before,
[tooltip][flow^=up]:before {
  bottom: 100%;
  border-bottom-width: 0;
  border-top-color: #333;
}

[tooltip]:not([flow]):after,
[tooltip][flow^=up]:after {
  bottom: calc(100% + 5px);
}

[tooltip]:not([flow]):before,
[tooltip]:not([flow]):after,
[tooltip][flow^=up]:before,
[tooltip][flow^=up]:after {
  left: 50%;
  transform: translate(-50%, -0.5em);
}

[tooltip][flow^=down]:before {
  top: 100%;
  border-top-width: 0;
  border-bottom-color: #333;
}

[tooltip][flow^=down]:after {
  top: calc(100% + 5px);
}

[tooltip][flow^=down]:before,
[tooltip][flow^=down]:after {
  left: 50%;
  transform: translate(-50%, 0.5em);
}

[tooltip][flow^=left]:before {
  top: 50%;
  border-right-width: 0;
  border-left-color: #333;
  left: calc(0em - 5px);
  transform: translate(-0.5em, -50%);
}

[tooltip][flow^=left]:after {
  top: 50%;
  right: calc(100% + 5px);
  transform: translate(-0.5em, -50%);
}

[tooltip][flow^=right]:before {
  top: 50%;
  border-left-width: 0;
  border-right-color: #333;
  right: calc(0em - 5px);
  transform: translate(0.5em, -50%);
}

[tooltip][flow^=right]:after {
  top: 50%;
  left: calc(100% + 5px);
  transform: translate(0.5em, -50%);
}

@keyframes tooltips-vert {
  to {
    opacity: 0.9;
    transform: translate(-50%, 0);
  }
}
@keyframes tooltips-horz {
  to {
    opacity: 0.9;
    transform: translate(0, -50%);
  }
}
/* FX All The Things */
[tooltip]:not([flow]):hover:before,
[tooltip]:not([flow]):hover:after,
[tooltip][flow^=up]:hover:before,
[tooltip][flow^=up]:hover:after,
[tooltip][flow^=down]:hover:before,
[tooltip][flow^=down]:hover:after {
  animation: tooltips-vert 300ms ease-out forwards;
}

[tooltip][flow^=left]:hover:before,
[tooltip][flow^=left]:hover:after,
[tooltip][flow^=right]:hover:before,
[tooltip][flow^=right]:hover:after {
  animation: tooltips-horz 300ms ease-out forwards;
}

.tooltip {
  text-align: center;
  padding: 40px 0;
}
.tooltip span {
  display: inline-block;
  background: #dedede;
  text-align: center;
  padding: 10px;
  width: 100px;
  line-height: 20px;
  vertical-align: baseline;
}
.tooltip p > em {
  color: red;
}

.menuCtrlBtn {
  width: 55px;
  height: 55px;
  position: relative;
  font-size: 0em;
  margin: 0;
  min-width: auto;
  min-height: auto;
  background: transparent;
  border: none;
  box-shadow: none;
  box-sizing: border-box;
  z-index: 100;
  transition: 0.2s linear;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .menuCtrlBtn {
    position: absolute;
    right: 5px;
    top: 10px;
    background-color: rgba(0, 0, 0, 0.3);
  }
}
.menuCtrlBtn::before {
  position: absolute;
  content: "";
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 3px;
  border-radius: 2px;
  background: #353535;
  box-shadow: #353535 0 10px 0 0, #353535 0 -10px 0 0;
  transition: 0.2s linear;
}
.menuCtrlBtn::after {
  position: absolute;
  content: "";
  width: 30px;
  height: 3px;
  background: #353535;
  left: 50%;
  top: 50%;
  border-radius: 2px;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 0.2s linear;
}
.menuCtrlBtn:hover::before {
  box-shadow: #353535 0 12px 0 0, #353535 0 -12px 0 0;
}
@media screen and (max-width: 767px) {
  .menuCtrlBtn.closeBtn {
    background-color: transparent;
  }
}
.menuCtrlBtn.closeBtn::before {
  background: #fff;
  box-shadow: none !important;
  transform: translate(-50%, -50%) rotate(45deg);
}
.menuCtrlBtn.closeBtn::after {
  background: #fff;
  opacity: 1;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.searchCtrlBtn {
  display: none;
  right: 0px;
  font-size: 0em;
  z-index: 9;
}
.searchCtrlBtn:before {
  width: 40px;
  height: 40px;
  background: url(../images/basic/icon_search.svg) no-repeat center center;
  background-size: 28px;
  opacity: 0.6;
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
}

.header {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 99;
  transition: 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .header {
    position: fixed;
    width: 100%;
  }
}
.header:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .header:before {
    height: 60px;
  }
}
.header > .container {
  max-width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 10px 30px;
}
@media screen and (max-width: 1200px) {
  .header > .container {
    padding: 10px 30px;
  }
}
@media screen and (max-width: 767px) {
  .header > .container {
    padding: 0;
  }
}
.header h1 {
  width: 100%;
  height: 104px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
}
.header h1::before {
  content: "";
  display: block;
  width: 390px;
  height: 100%;
  position: absolute;
  left: -30px;
  top: 0;
  border-radius: 0 60px 60px 0;
  background-color: #fff;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .header h1::before {
    width: 210px;
  }
}
.header h1 a {
  display: inline-block;
  margin-left: 110px;
}
@media screen and (max-width: 1200px) {
  .header h1 a {
    left: -15px;
  }
}
@media screen and (max-width: 767px) {
  .header h1 a {
    margin-left: 15px;
  }
}
.header h1 img {
  display: block;
  max-width: 300px;
  max-height: 75px;
}
@media screen and (max-width: 767px) {
  .header h1 {
    height: 60px;
    margin-top: 10px;
  }
  .header h1 img {
    width: auto;
    height: auto;
    max-height: 54px;
    margin: 0px auto;
    transform: scale(0.8);
  }
}
.header .navigation {
  box-sizing: border-box;
  flex: 1 1 auto;
  display: flex;
  position: relative;
  z-index: 55;
}
@media screen and (max-width: 767px) {
  .header .navigation {
    display: none;
  }
}
.header .navigation .navList {
  flex: 1 1 auto;
  margin: 0.25em 0.5em 0 0;
}
.header .navigation .navList ul {
  padding: 0;
  margin: 0;
  font-size: 0.875em;
  list-style: none;
  display: flex;
  justify-content: flex-end;
}
.header .navigation .navList li {
  flex: 0 0 auto;
  margin: 0 1em;
}
.header .navigation .navList li a {
  display: flex;
  align-items: center;
  padding: 0.5em;
  text-decoration: none;
  color: #3a3a3a;
  position: relative;
}
.header .navigation .navList li a::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-top: 2px solid #3a3a3a;
  border-right: 2px solid #3a3a3a;
  margin-right: 0.5em;
  transform: rotate(45deg);
}
.header .navigation .navList li a:hover {
  color: rgb(15.3, 97.2, 102.6);
}
.header .navigation .navList li a:hover::before {
  border-color: rgb(15.3, 97.2, 102.6);
}
.header .navigation .submenuBox {
  display: flex;
  align-items: center;
  padding: 15px;
  background: linear-gradient(135deg, #005d9d 0%, #98d1a7 100%);
  position: relative;
}
.header .navigation .submenuBox > div + div::after {
  content: "";
  width: 1px;
  height: 17px;
  background: #fff;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.header.typeB h1 {
  position: absolute;
  top: 20px;
  z-index: 50;
}
@media screen and (max-width: 767px) {
  .header.typeB h1 {
    position: relative;
    top: auto;
  }
}
.header.typeB .navigation {
  margin-bottom: 40px;
}

@keyframes showMenu {
  0% {
    transform: translateY(-99%);
  }
  100% {
    transform: translateY(0);
  }
}
.mainMenu {
  display: none;
  overflow-y: auto;
  box-sizing: border-box;
  position: fixed;
  top: 5px;
  left: 5px;
  width: calc(100% - 10px);
  height: calc(100vh - 10px);
  z-index: 60;
  clear: both;
  background-color: rgba(17, 108, 114, 0.92);
  border-radius: 58px;
  padding: 50px;
  opacity: 0;
  transition: 0.3s;
  transform: translateY(-100%);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
@media screen and (max-width: 767px) {
  .mainMenu {
    border-radius: 30px;
    padding: 50px 30px;
  }
}
.mainMenu.show {
  display: block;
  opacity: 1;
  transform: translateY(0);
  animation: showMenu 0.5s ease-out;
}
.mainMenu.mobileArea .navList li {
  margin-bottom: 10px;
}
.mainMenu.mobileArea .navList a {
  color: #fff;
}
.mainMenu .menuTitle {
  font-size: 1.625rem;
  font-weight: bold;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding: 0.65em 0;
}
.mainMenu > ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.mainMenu > ul > li {
  margin: 0 20px;
  flex: 0 1 calc(25% - 40px);
}
@media screen and (max-width: 991px) {
  .mainMenu > ul > li {
    flex-basis: calc(33.33333% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .mainMenu > ul > li {
    margin: 0 0 20px 0;
    flex-basis: 100%;
  }
}
.mainMenu > ul > li > a {
  display: block;
  padding: 0 1em;
  font-weight: bold;
  white-space: nowrap;
  color: #3a3a3a;
  box-sizing: border-box;
}
.mainMenu > ul > li.memberMenu li.hasChild > ul {
  display: block;
  opacity: 1;
}
.mainMenu > ul > li.memberMenu li.hasChild > ul > li a::before {
  content: "-";
  padding-right: 5px;
  font-weight: normal;
}
.mainMenu > ul > li.hasChild > a:after {
  content: "";
  width: 4px;
  height: 4px;
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: middle;
  border: 2px solid #a0a0a0;
  transform: rotate(135deg);
  border-bottom: none;
  border-left: none;
  margin-bottom: 0.2em;
}
.mainMenu > ul > li > ul > li {
  border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
}
.mainMenu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mainMenu ul li {
  position: relative;
}
.mainMenu ul li a {
  display: block;
  position: relative;
  outline: none;
  text-decoration: none;
}
.mainMenu ul li a:hover, .mainMenu ul li a:focus-visible {
  color: #9af8ff;
}
.mainMenu ul li a:focus-visible {
  box-shadow: 0 0 0 2px inset #ef5714;
}
.mainMenu ul li ul li a,
.mainMenu ul li ul li .menuSubTitle {
  padding: 0.65em 0;
  color: #fff;
  font-weight: 500;
  font-size: 1.125em;
}
.mainMenu ul li ul li.active > a {
  color: #fff;
}
.mainMenu ul li ul li.hasChild > ul {
  z-index: 999;
  display: none;
  overflow: visible;
  width: 99%;
  padding: 0;
  opacity: 0;
  list-style: none;
  text-align: left;
  font-size: 0.875em;
}
.mainMenu ul li ul li.hasChild > ul li {
  padding-left: 1em;
  border-top: 1px dashed rgba(255, 255, 255, 0.3);
}
.mainMenu ul li ul li.hasChild.active > ul {
  opacity: 1;
  display: block;
}
.mainMenu ul li ul li.hasChild > a {
  padding-right: 2em;
}
.mainMenu ul li ul li.hasChild > a:hover, .mainMenu ul li ul li.hasChild > a:focus-visible {
  color: #9af8ff;
}
.mainMenu ul li ul li.hasChild > a:after {
  content: "";
  position: absolute;
  right: 15px;
  top: 18px;
  width: 6px;
  height: 6px;
  border: 2px solid #fff;
  transform: rotate(135deg) translateY(-50%);
  border-width: 2px 2px 0 0;
}
.mainMenu ul li ul ul {
  top: 0;
  left: 100%;
  animation: none;
  font-size: 1em;
}
.mainMenu > ul > li.active > ul {
  animation: showMenu 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
.mainMenu > ul > li.leftSlider ul ul {
  left: auto;
  right: 100%;
}

.menuArrowDown,
.menuArrowUp {
  width: 20px;
  height: 20px;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.5);
  position: fixed;
  bottom: 5px;
  z-index: 999;
  opacity: 0;
  transition: all 0.3s linear;
}
.menuArrowDown.active,
.menuArrowUp.active {
  opacity: 1;
}
.menuArrowDown::after, .menuArrowDown::before,
.menuArrowUp::after,
.menuArrowUp::before {
  content: "";
  position: absolute;
  height: 1px;
  width: 6px;
  display: block;
  background: #fff;
}

.menuArrowDown::before {
  transform: rotate(45deg);
  left: 4px;
}

.menuArrowDown::after {
  transform: rotate(-45deg);
  right: 4px;
}

.menuArrowUp::before {
  transform: rotate(45deg);
  right: 4px;
}

.menuArrowUp::after {
  transform: rotate(-45deg);
  left: 4px;
}

.mainMenu li.leftSlider li a {
  padding-right: 1.2em;
  padding-left: 2em;
}
.mainMenu li.leftSlider li.hasChild a::after {
  right: auto;
  left: 10px;
  border-width: 0 0 2px 2px;
}

.megaMenu > ul {
  position: relative;
}
.megaMenu > ul > li.active {
  position: initial;
}
.megaMenu > ul > li.active > ul {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  width: 100%;
  gap: 10px;
}
.megaMenu > ul > li.active > ul > li {
  flex-basis: calc((100% - 30px) / 4);
  flex-grow: 1;
}
.megaMenu > ul > li.active > ul ul {
  display: block;
  position: relative;
  left: 0;
  opacity: 1;
  background: none;
  padding-left: 20px;
}
.megaMenu > ul ul li.hasChild a::after {
  display: none;
}

.demoFixedSidebar {
  min-height: 300px;
}

.fixedSidebar {
  background: RGBA(0, 0, 0, 0.6);
  width: 50px;
  min-height: 200px;
  position: fixed;
  z-index: 999;
  right: 0;
  top: 10%;
  margin: 0;
  padding: 0;
  border-radius: 6px 0 0 6px;
}
.fixedSidebar ul {
  margin: 0;
  padding: 0;
}
.fixedSidebar ul li {
  width: 50px;
  height: 50px;
  list-style: none;
}
.fixedSidebar ul li a {
  display: block;
  padding: 0;
  height: 50px;
  line-height: 50px;
  position: relative;
  text-align: center;
  font-weight: bold;
  transition: 0.3s ease-out;
  color: #fff;
  text-decoration: none;
}
.fixedSidebar ul li a:before {
  position: absolute;
  content: attr(title);
  width: 10em;
  text-align: left;
  right: -10em;
  padding: 0 1em 0 1em;
  height: 50px;
  line-height: 50px;
  background: #00a688;
  color: #fff;
  font-size: 1em;
  box-sizing: border-box;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: none;
  transition: 0.3s ease-out;
  z-index: 9;
}
.fixedSidebar ul li a:hover:before, .fixedSidebar ul li a:focus-visible:before {
  display: block;
  right: 0;
}
.fixedSidebar ul li img {
  width: 24px;
  height: 24px;
  margin: 13px auto;
}

footer {
  clear: both;
  text-align: left;
  font-size: 0.9375rem;
  padding: 2em 0;
  background-color: #e8e8e8;
  box-shadow: 0 -25px 30px rgba(0, 0, 0, 0.15);
}
footer .container {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}
footer .footerTop {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #707070;
  margin-bottom: 1em;
  padding-bottom: 1em;
}
@media screen and (max-width: 767px) {
  footer .footerTop {
    flex-wrap: wrap;
  }
}
footer .footerTop .footerContact {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #1d1d1d;
}
footer .footerTop .footerContact li {
  margin-bottom: 0.5em;
}
footer .footerTop i {
  margin-right: 5px;
}
footer .footerTop i::before {
  background-color: #424242;
}
footer .footerBottom {
  display: flex;
}
@media screen and (max-width: 767px) {
  footer .footerBottom {
    flex-wrap: wrap;
  }
}
footer .footerInfo {
  flex: 1 1 auto;
}
@media screen and (max-width: 767px) {
  footer .footerInfo {
    flex-basis: 100%;
    margin-bottom: 1em;
  }
}
footer .footerLogo {
  flex: 0 1 190px;
}
@media screen and (max-width: 767px) {
  footer .footerLogo {
    flex-basis: 100%;
    margin-bottom: 1em;
  }
}
footer .footerLogo img {
  width: 190px;
}
footer .footerLink {
  margin: 0;
  padding: 0;
  list-style: none;
  clear: both;
  display: flex;
  margin-left: -0.5em;
}
@media screen and (max-width: 767px) {
  footer .footerLink {
    flex-flow: row wrap;
  }
}
footer .footerLink li {
  position: relative;
  flex: 0 1 auto;
  margin: 0 0 5px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  footer .footerLink li {
    flex: 1 1 25%;
  }
}
footer .footerLink li::after {
  content: "";
  height: 18px;
  width: 1px;
  background-color: #1d1d1d;
}
footer .footerLink li:last-child::after {
  content: none;
}
footer .footerLink li a {
  display: block;
  padding: 0.25em 0.5em;
  color: #1d1d1d;
  text-align: center;
  transition: 0.3s ease-out;
  white-space: nowrap;
}
footer .footerLink li a:hover, footer .footerLink li a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
}
footer .update,
footer .counter {
  display: inline-block;
  margin-right: 5px;
}
footer .update em,
footer .counter em {
  font-style: normal;
  padding: 0 0.5em;
}
footer .footerIcon a {
  display: inline-block;
  vertical-align: top;
  position: relative;
}
footer .footerIcon img {
  max-width: 150px;
}

select::-ms-expand {
  display: none;
}

.necessary {
  color: red;
  margin: 0px 0.2em;
}

.formGrid {
  border-top: 1px solid #dbdddf;
}
.formGrid .formGrp {
  border-bottom: 1px solid #dbdddf;
}
.formGrid .formTitle {
  font-weight: 600;
  padding: 0.3em 1em;
}

.flexForm {
  font-size: 1rem;
  margin: 0.5em 0;
}
.flexForm .formGrp {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.flexForm .formGrp.agree {
  border-bottom: none;
}
.flexForm .formGrp.agree label {
  width: auto;
  margin: 0 0.5em 0.5em 0;
}
.flexForm .formTitle {
  max-width: 160px;
  flex: 0 0 160px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #676767;
}
@media screen and (max-width: 767px) {
  .flexForm .formTitle {
    color: #3a3a3a;
    justify-content: flex-start;
    background-color: transparent;
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
    margin: 0 0.3em;
    position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
}
.flexForm .formTitle + .formContent[class*=formCol] {
  flex-basis: calc(100% - 160px);
  max-width: calc(100% - 160px);
  padding-top: 0;
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .flexForm .formTitle + .formContent[class*=formCol] {
    flex-basis: 100%;
    max-width: 100%;
    position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
}
.flexForm .formContent {
  display: flex;
  max-width: calc(100% - 160px);
  flex: auto;
  flex-basis: calc(100% - 160px);
  position: relative;
  min-height: 56px;
  overflow: hidden;
  flex-wrap: wrap;
  padding: 5px;
}
@media screen and (max-width: 767px) {
  .flexForm .formContent {
    max-width: 100%;
    flex-basis: 100%;
    position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
}
.flexForm .formContent *[class^=notice] {
  margin: 0 0.3em 0.3em 0.3em;
  width: calc(100% - 0.6em);
}
.flexForm .formContent.additional {
  flex-wrap: nowrap;
  align-items: center;
}
.flexForm .formContent.additional .checkbox {
  flex: 1 0 auto;
  width: auto;
  display: inline-flex;
  align-items: center;
}
.flexForm .formContent.additional .checkbox label {
  margin-bottom: 0;
}
.flexForm .formContent .help {
  font-size: 0.813em;
  color: #888;
  padding: 0 0.5em;
}
.flexForm .formContent .formGrp {
  flex: 0 0 100%;
  min-height: 2.5em;
  margin: 0;
}
.flexForm .formContent .formGrp .formContent {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  min-height: 1px;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .flexForm .formContent .formGrp .formContent {
    flex-basis: 100%;
  }
}
.flexForm .formContent .formGrp .formContent.formInline input[type=text],
.flexForm .formContent .formGrp .formContent.formInline input[type=tel],
.flexForm .formContent .formGrp .formContent.formInline select,
.flexForm .formContent .formGrp .formContent.formInline .checkbox {
  width: auto;
  min-width: 100px;
  display: inline-block;
}
@media screen and (max-width: 575px) {
  .flexForm .formContent .formGrp .formContent.formInline input[type=text],
  .flexForm .formContent .formGrp .formContent.formInline input[type=tel],
  .flexForm .formContent .formGrp .formContent.formInline select,
  .flexForm .formContent .formGrp .formContent.formInline .checkbox {
    width: calc(100% - 0.6em);
    display: block;
  }
}
.flexForm .formContent .formGrp:first-child {
  padding-top: 0;
}
.flexForm .formContent .formGrp:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
.flexForm .formContent .tel input[type=text]:first-child,
.flexForm .formContent .tel input[type=tel]:first-child {
  background: url(../images/icon/icon_add.svg) no-repeat 0.5em center;
  background-size: 12px;
  padding-left: 1.5em;
}
.flexForm .formContent .tel input[type=text]:first-child,
.flexForm .formContent .tel select:first-child,
.flexForm .formContent .tel input[type=tel]:first-child {
  width: 100px;
}
.flexForm .formContent .tel input[type=text]:first-child ~ input,
.flexForm .formContent .tel select:first-child ~ input,
.flexForm .formContent .tel input[type=tel]:first-child ~ input {
  width: calc(100% - 200px);
}
@media screen and (max-width: 575px) {
  .flexForm .formContent .tel input[type=text]:first-child ~ input,
  .flexForm .formContent .tel select:first-child ~ input,
  .flexForm .formContent .tel input[type=tel]:first-child ~ input {
    width: 100%;
    display: block;
  }
}
.flexForm .formContent .birthday select {
  display: inline-block;
  margin-right: 0.5em;
  -moz-text-align-last: center;
       text-align-last: center;
}
@media screen and (max-width: 575px) {
  .flexForm .formContent .birthday select {
    width: 88%;
    min-width: 88%;
    display: inline-block;
    -moz-text-align-last: left;
         text-align-last: left;
  }
}
.flexForm .formContent .birthday select option {
  text-align: center;
}
.flexForm .formContent .address select {
  min-width: 100px;
}
.flexForm .formContent .address select option {
  text-align: center;
}
@media screen and (max-width: 575px) {
  .flexForm .formContent .address select {
    width: 100px;
    display: inline-block;
  }
}
.flexForm .formContent .address input[type=text] {
  flex: 1 1 auto;
}
@media screen and (max-width: 767px) {
  .flexForm .formContent .address input[type=text] {
    display: block;
    width: calc(100% - 0.6em);
  }
}
.flexForm .formContent .datePick {
  position: relative;
}
@media screen and (max-width: 575px) {
  .flexForm .formContent .datePick {
    width: 100%;
    display: block;
    padding-right: 0;
  }
}
.flexForm .formContent .datePick + .datePick {
  margin-left: 0.3em;
  margin-right: 0;
  padding-right: 0;
}
.flexForm .formContent .datePick + .datePick:before {
  content: "~";
  font-size: 1.5em;
  color: #777;
  display: inline-block;
  margin-right: 0.3em;
}
@media screen and (max-width: 575px) {
  .flexForm .formContent .datePick + .datePick {
    margin-left: 0em;
  }
  .flexForm .formContent .datePick + .datePick:before {
    display: none;
  }
}
.flexForm .formContent .datePick i {
  position: absolute;
  padding: 0.37em 0.1em;
  right: 1em;
  top: 0.2em;
  min-width: 1em;
  background: none;
  border: none;
  width: auto;
  pointer-events: none;
}
.flexForm .formContent .datePick i:hover, .flexForm .formContent .datePick i:focus-visible {
  box-shadow: none;
  border: none;
}
.flexForm .formContent .datePick > input[type=text], .flexForm .formContent .datePick > input[type=date] {
  width: 10em;
}
@media screen and (max-width: 575px) {
  .flexForm .formContent .datePick > input[type=text], .flexForm .formContent .datePick > input[type=date] {
    width: calc(100% - 0.6em);
  }
}
.flexForm .formContent .datePick > input[type=text] {
  padding-right: 2em;
}
.flexForm [class*=formCol] {
  flex-basis: 100%;
  max-width: 100%;
  align-items: center;
  position: relative;
  min-height: 1px;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}
.flexForm [class*=formCol] > .formGrp {
  border-bottom: 0;
  padding-top: 0;
}
.flexForm [class*=formCol] label {
  position: relative;
  min-height: 1px;
  padding-left: 0.3em;
  padding-right: 0.3em;
  box-sizing: border-box;
  padding-top: 5px;
}
@media screen and (max-width: 767px) {
  .flexForm [class*=formCol] {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
}
.flexForm .formCol_6_6 > .formGrp {
  width: 50%;
  flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_6_6 > .formGrp {
    width: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.flexForm .formCol_6_6 > input, .flexForm .formCol_6_6 > select, .flexForm .formCol_6_6 > label {
  width: calc(50% - 0.6em);
  flex-basis: calc(50% - 0.6em);
  max-width: calc(50% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_6_6 > input, .flexForm .formCol_6_6 > select, .flexForm .formCol_6_6 > label {
    width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
  }
}
.flexForm .formCol_4_4_4 > .formGrp {
  width: 33.333%;
  flex-basis: 33.333%;
  max-width: 33.333%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_4_4_4 > .formGrp {
    width: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.flexForm .formCol_4_4_4 > input, .flexForm .formCol_4_4_4 > select, .flexForm .formCol_4_4_4 > label {
  width: calc(33.333% - 0.6em);
  flex-basis: calc(33.333% - 0.6em);
  max-width: calc(33.333% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_4_4_4 > input, .flexForm .formCol_4_4_4 > select, .flexForm .formCol_4_4_4 > label {
    width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
  }
}
.flexForm .formCol_3_3_3_3 > .formGrp {
  width: 25%;
  flex-basis: 25%;
  max-width: 25%;
}
@media screen and (max-width: 767px) {
  .flexForm .formCol_3_3_3_3 > .formGrp {
    width: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_3_3_3 > .formGrp {
    width: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.flexForm .formCol_3_3_3_3 > input, .flexForm .formCol_3_3_3_3 > select, .flexForm .formCol_3_3_3_3 > label {
  width: calc(25% - 0.6em);
  flex-basis: calc(25% - 0.6em);
  max-width: calc(25% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_3_3_3 > input, .flexForm .formCol_3_3_3_3 > select, .flexForm .formCol_3_3_3_3 > label {
    width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
  }
}
.flexForm .formCol_2_2_2_2_2_2 > .formGrp {
  width: 16.6666666667%;
  flex-basis: 16.6666666667%;
  max-width: 16.6666666667%;
}
@media screen and (max-width: 767px) {
  .flexForm .formCol_2_2_2_2_2_2 > .formGrp {
    width: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
}
.flexForm .formCol_2_2_2_2_2_2 > input, .flexForm .formCol_2_2_2_2_2_2 > select, .flexForm .formCol_2_2_2_2_2_2 > label {
  width: calc(16.6666666667% - 0.6em);
  flex-basis: calc(16.6666666667% - 0.6em);
  max-width: calc(16.6666666667% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_2_2_2_2_2 > input, .flexForm .formCol_2_2_2_2_2_2 > select, .flexForm .formCol_2_2_2_2_2_2 > label {
    width: calc(50% - 0.6em);
    flex-basis: calc(50% - 0.6em);
    max-width: calc(50% - 0.6em);
  }
}
.flexForm .formCol_3_9 > .formGrp {
  width: 25%;
  flex-basis: 25%;
  max-width: 25%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_9 > .formGrp {
    width: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.flexForm .formCol_3_9 > .formGrp:nth-child(2) {
  width: 75%;
  flex-basis: 75%;
  max-width: 75%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_9 > .formGrp:nth-child(2) {
    width: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.flexForm .formCol_3_9 > input, .flexForm .formCol_3_9 > select, .flexForm .formCol_3_9 > label {
  width: calc(25% - 0.6em);
  max-width: calc(25% - 0.6em);
  flex-basis: calc(25% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_9 > input, .flexForm .formCol_3_9 > select, .flexForm .formCol_3_9 > label {
    width: calc(25% - 0.6em);
    max-width: calc(25% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_3_9 > input:nth-child(2), .flexForm .formCol_3_9 > select:nth-child(2), .flexForm .formCol_3_9 > label:nth-child(2) {
  width: calc(75% - 0.6em);
  flex-basis: calc(75% - 0.6em);
  max-width: calc(75% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_9 > input:nth-child(2), .flexForm .formCol_3_9 > select:nth-child(2), .flexForm .formCol_3_9 > label:nth-child(2) {
    width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
  }
}
.flexForm .formCol_9_3 > .formGrp {
  flex-basis: 75%;
  max-width: 75%;
  width: 75%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_9_3 > .formGrp {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
  }
}
.flexForm .formCol_9_3 > .formGrp:nth-child(2) {
  flex-basis: 25%;
  max-width: 25%;
  width: 25%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_9_3 > .formGrp:nth-child(2) {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
  }
}
.flexForm .formCol_9_3 > input, .flexForm .formCol_9_3 > select, .flexForm .formCol_9_3 > label {
  width: calc(75% - 0.6em);
  max-width: calc(75% - 0.6em);
  flex-basis: calc(75% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_9_3 > input, .flexForm .formCol_9_3 > select, .flexForm .formCol_9_3 > label {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_9_3 > input:nth-child(2), .flexForm .formCol_9_3 > select:nth-child(2), .flexForm .formCol_9_3 > label:nth-child(2) {
  width: calc(25% - 0.6em);
  max-width: calc(25% - 0.6em);
  flex-basis: calc(25% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_9_3 > input:nth-child(2), .flexForm .formCol_9_3 > select:nth-child(2), .flexForm .formCol_9_3 > label:nth-child(2) {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_3_3_6 > .formGrp {
  width: 25%;
  flex-basis: 25%;
  max-width: 25%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_3_6 > .formGrp {
    width: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
}
.flexForm .formCol_3_3_6 > .formGrp:last-child {
  width: 50%;
  flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_3_6 > .formGrp:last-child {
    width: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.flexForm .formCol_3_3_6 > input, .flexForm .formCol_3_3_6 > select, .flexForm .formCol_3_3_6 > label {
  width: calc(25% - 0.6em);
  max-width: calc(25% - 0.6em);
  flex-basis: calc(25% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_3_6 > input, .flexForm .formCol_3_3_6 > select, .flexForm .formCol_3_3_6 > label {
    width: calc(50% - 0.6em);
    max-width: calc(50% - 0.6em);
    flex-basis: calc(50% - 0.6em);
  }
}
.flexForm .formCol_3_3_6 > input:last-child, .flexForm .formCol_3_3_6 > select:last-child, .flexForm .formCol_3_3_6 > label:last-child {
  width: calc(50% - 0.6em);
  max-width: calc(50% - 0.6em);
  flex-basis: calc(50% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_3_3_6 > input:last-child, .flexForm .formCol_3_3_6 > select:last-child, .flexForm .formCol_3_3_6 > label:last-child {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_6_3_3 > .formGrp, .flexForm .formCol_6_3_3 > input[type=text], .flexForm .formCol_6_3_3 > select {
  width: 25%;
  flex-basis: 25%;
  max-width: 25%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_6_3_3 > .formGrp, .flexForm .formCol_6_3_3 > input[type=text], .flexForm .formCol_6_3_3 > select {
    width: 50%;
    max-width: 50%;
    flex-basis: 50%;
  }
}
.flexForm .formCol_6_3_3 > .formGrp:first-child, .flexForm .formCol_6_3_3 > input[type=text]:first-child, .flexForm .formCol_6_3_3 > select:first-child {
  width: 50%;
  max-width: 50%;
  flex-basis: 50%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_6_3_3 > .formGrp:first-child, .flexForm .formCol_6_3_3 > input[type=text]:first-child, .flexForm .formCol_6_3_3 > select:first-child {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }
}
.flexForm .formCol_4_8 > .formGrp {
  width: 33.3333333333%;
  max-width: 33.3333333333%;
  flex-basis: 33.3333333333%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_4_8 > .formGrp {
    width: 50%;
    max-width: 50%;
    flex-basis: 50%;
  }
}
.flexForm .formCol_4_8 > .formGrp:last-child {
  width: 66.6666666667%;
  max-width: 66.6666666667%;
  flex-basis: 66.6666666667%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_4_8 > .formGrp:last-child {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }
}
.flexForm .formCol_4_8 > input, .flexForm .formCol_4_8 > select, .flexForm .formCol_4_8 > label {
  width: calc(33.3333333333% - 0.6em);
  max-width: calc(33.3333333333% - 0.6em);
  flex-basis: calc(33.3333333333% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_4_8 > input, .flexForm .formCol_4_8 > select, .flexForm .formCol_4_8 > label {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_4_8 > input:last-child, .flexForm .formCol_4_8 > select:last-child, .flexForm .formCol_4_8 > label:last-child {
  width: calc(66.6666666667% - 0.6em);
  max-width: calc(66.6666666667% - 0.6em);
  flex-basis: calc(66.6666666667% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_4_8 > input:last-child, .flexForm .formCol_4_8 > select:last-child, .flexForm .formCol_4_8 > label:last-child {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_2_10 > .formGrp {
  width: 16.6666666667%;
  max-width: 16.6666666667%;
  flex-basis: 16.6666666667%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_10 > .formGrp {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }
}
.flexForm .formCol_2_10 > .formGrp:last-child {
  max-width: 83.3333333333%;
  flex-basis: 83.3333333333%;
  width: 83.3333333333%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_10 > .formGrp:last-child {
    max-width: 100%;
    flex-basis: 100%;
    width: 100%;
  }
}
.flexForm .formCol_2_10 > input, .flexForm .formCol_2_10 > select, .flexForm .formCol_2_10 > label {
  width: calc(16.6666666667% - 0.6em);
  max-width: calc(16.6666666667% - 0.6em);
  flex-basis: calc(16.6666666667% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_10 > input, .flexForm .formCol_2_10 > select, .flexForm .formCol_2_10 > label {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_2_10 > input:last-child, .flexForm .formCol_2_10 > select:last-child, .flexForm .formCol_2_10 > label:last-child {
  width: calc(83.3333333333% - 0.6em);
  max-width: calc(83.3333333333% - 0.6em);
  flex-basis: calc(83.3333333333% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_10 > input:last-child, .flexForm .formCol_2_10 > select:last-child, .flexForm .formCol_2_10 > label:last-child {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_10_2 > .formGrp {
  width: 16.6666666667%;
  max-width: 16.6666666667%;
  flex-basis: 16.6666666667%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_10_2 > .formGrp {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }
}
.flexForm .formCol_10_2 > .formGrp:first-child {
  width: 83.3333333333%;
  max-width: 83.3333333333%;
  flex-basis: 83.3333333333%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_10_2 > .formGrp:first-child {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }
}
.flexForm .formCol_10_2 > input, .flexForm .formCol_10_2 > select, .flexForm .formCol_10_2 > label {
  width: calc(16.6666666667% - 0.6em);
  max-width: calc(16.6666666667% - 0.6em);
  flex-basis: calc(16.6666666667% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_10_2 > input, .flexForm .formCol_10_2 > select, .flexForm .formCol_10_2 > label {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_10_2 > input:first-child, .flexForm .formCol_10_2 > select:first-child, .flexForm .formCol_10_2 > label:first-child {
  width: calc(83.3333333333% - 0.6em);
  max-width: calc(83.3333333333% - 0.6em);
  flex-basis: calc(83.3333333333% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_10_2 > input:first-child, .flexForm .formCol_10_2 > select:first-child, .flexForm .formCol_10_2 > label:first-child {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_2_2_8 > .formGrp {
  width: 16.6666666667%;
  max-width: 16.6666666667%;
  flex-basis: 16.6666666667%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_2_8 > .formGrp {
    width: 50%;
    max-width: 50%;
    flex-basis: 50%;
  }
}
.flexForm .formCol_2_2_8 > .formGrp:last-child {
  width: 66.6666666667%;
  max-width: 66.6666666667%;
  flex-basis: 66.6666666667%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_2_8 > .formGrp:last-child {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }
}
.flexForm .formCol_2_2_8 > input, .flexForm .formCol_2_2_8 > select, .flexForm .formCol_2_2_8 > label {
  width: calc(16.6666666667% - 0.6em);
  max-width: calc(16.6666666667% - 0.6em);
  flex-basis: calc(16.6666666667% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_2_8 > input, .flexForm .formCol_2_2_8 > select, .flexForm .formCol_2_2_8 > label {
    width: calc(50% - 0.6em);
    max-width: calc(50% - 0.6em);
    flex-basis: calc(50% - 0.6em);
  }
}
.flexForm .formCol_2_2_8 > input:last-child, .flexForm .formCol_2_2_8 > select:last-child, .flexForm .formCol_2_2_8 > label:last-child {
  width: calc(66.6666666667% - 0.6em);
  max-width: calc(66.6666666667% - 0.6em);
  flex-basis: calc(66.6666666667% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_2_2_8 > input:last-child, .flexForm .formCol_2_2_8 > select:last-child, .flexForm .formCol_2_2_8 > label:last-child {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .formCol_8_2_2 > .formGrp {
  width: 16.6666666667%;
  max-width: 16.6666666667%;
  flex-basis: 16.6666666667%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_8_2_2 > .formGrp {
    width: 50%;
    max-width: 50%;
    flex-basis: 50%;
  }
}
.flexForm .formCol_8_2_2 > .formGrp:first-child {
  width: 66.6666666667%;
  max-width: 66.6666666667%;
  flex-basis: 66.6666666667%;
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_8_2_2 > .formGrp:first-child {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }
}
.flexForm .formCol_8_2_2 > input, .flexForm .formCol_8_2_2 > select, .flexForm .formCol_8_2_2 > label {
  width: calc(16.6666666667% - 0.6em);
  max-width: calc(16.6666666667% - 0.6em);
  flex-basis: calc(16.6666666667% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_8_2_2 > input, .flexForm .formCol_8_2_2 > select, .flexForm .formCol_8_2_2 > label {
    width: calc(50% - 0.6em);
    max-width: calc(50% - 0.6em);
    flex-basis: calc(50% - 0.6em);
  }
}
.flexForm .formCol_8_2_2 > input:first-child, .flexForm .formCol_8_2_2 > select:first-child, .flexForm .formCol_8_2_2 > label:first-child {
  width: calc(66.6666666667% - 0.6em);
  max-width: calc(66.6666666667% - 0.6em);
  flex-basis: calc(66.6666666667% - 0.6em);
}
@media screen and (max-width: 575px) {
  .flexForm .formCol_8_2_2 > input:first-child, .flexForm .formCol_8_2_2 > select:first-child, .flexForm .formCol_8_2_2 > label:first-child {
    width: calc(100% - 0.6em);
    max-width: calc(100% - 0.6em);
    flex-basis: calc(100% - 0.6em);
  }
}
.flexForm .btnGrp {
  justify-content: center;
}
.flexForm .btnGrp .btn,
.flexForm .btnGrp .btnReset,
.flexForm .btnGrp .btnSubmit,
.flexForm .btnGrp input[type=submit],
.flexForm .btnGrp input[type=reset],
.flexForm .btnGrp input[type=button],
.flexForm .btnGrp input[type=search] {
  margin: 0.3em;
}
.flexForm .btn,
.flexForm input[type=submit],
.flexForm input[type=reset],
.flexForm input[type=button],
.flexForm input[type=search] {
  flex: 1 1 auto;
}
.flexForm .formGrp,
.flexForm .checkGrp,
.flexForm .radioGrp,
.flexForm .btnGrp,
.flexForm .uploadGrp {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .flexForm .formGrp,
  .flexForm .checkGrp,
  .flexForm .radioGrp,
  .flexForm .btnGrp,
  .flexForm .uploadGrp {
    flex-wrap: wrap;
  }
}
.flexForm .checkGrp label,
.flexForm .radioGrp label {
  position: relative;
  z-index: 1;
  flex-basis: 100%;
  display: flex;
  align-items: center;
}
.flexForm .checkGrp label input:checked ~ span:after,
.flexForm .radioGrp label input:checked ~ span:after {
  position: absolute;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #54caff;
  content: "";
  left: 0.35em;
  top: 0.3em;
  z-index: -1;
  animation: ripple 0.35s linear;
}
.flexForm .checkGrp.formInline label,
.flexForm .radioGrp.formInline label {
  margin: 0 0.5em 0 0;
  flex-basis: auto;
  margin-right: 1em;
  display: inline-flex;
  align-items: center;
}
.flexForm.formInline .checkGrp label,
.flexForm.formInline .radioGrp label,
.flexForm .formInline .checkGrp label,
.flexForm .formInline .radioGrp label {
  flex-basis: auto;
}
.flexForm .formGrp.formInline label,
.flexForm .uploadGrp.formInline label {
  display: inline-block;
  margin-right: 0.5em;
}
.flexForm .formGrp.formInline > input, .flexForm .formGrp.formInline > textarea, .flexForm .formGrp.formInline > select, .flexForm .formGrp.formInline > .input_i,
.flexForm .uploadGrp.formInline > input,
.flexForm .uploadGrp.formInline > textarea,
.flexForm .uploadGrp.formInline > select,
.flexForm .uploadGrp.formInline > .input_i {
  width: auto;
  flex: 0 1 auto;
}
.flexForm .formGrp.formInline input[type=checkbox],
.flexForm .formGrp.formInline input[type=radio],
.flexForm .uploadGrp.formInline input[type=checkbox],
.flexForm .uploadGrp.formInline input[type=radio] {
  width: 1em;
}

.formInline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.formInline label {
  vertical-align: middle;
  margin: 0 0.5em 0 0;
  flex: 0 1 auto;
  display: flex;
  align-items: center;
}
.formInline label ~ input, .formInline label ~ textarea {
  width: auto;
  vertical-align: middle;
}
.formInline input[type=text],
.formInline input[type=password],
.formInline select,
.formInline textarea,
.formInline button,
.formInline .btn,
.formInline input[type=submit],
.formInline input[type=reset],
.formInline input[type=button],
.formInline input[type=search],
.formInline .input_i {
  width: auto;
  flex: 0 0 auto;
}
.formInline .formGrp,
.formInline .checkGrp,
.formInline .radioGrp,
.formInline .btnGrp,
.formInline .uploadGrp {
  display: flex;
  margin-right: 0.5em;
  width: auto;
  flex: 0 0 auto;
}
.formInline .btnGrp {
  padding: 0;
}
.formInline .btnGrp .btn,
.formInline .btnGrp input[type=submit],
.formInline .btnGrp input[type=reset],
.formInline .btnGrp input[type=button],
.formInline .btnGrp input[type=search] {
  margin: 0.3em;
  padding: 0.45em 1em;
}

label,
legend {
  display: inline-block;
  position: relative;
  min-height: 1px;
  padding-left: 0.3em;
  padding-right: 0.3em;
  box-sizing: border-box;
}
@media screen and (max-width: 575px) {
  label,
  legend {
    display: block;
  }
}
label.inline input,
label.inline select,
label.inline textarea,
legend.inline input,
legend.inline select,
legend.inline textarea {
  width: auto;
}
label.labelHidden,
legend.labelHidden {
  font-size: 0;
  line-height: 1;
  width: 0;
  flex-basis: 0;
}

fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

input,
textarea,
select,
button {
  color: #3a3a3a;
  font-size: 1em;
  border: 1px solid #ccc;
  padding: 0.5em;
  background: #fff;
  vertical-align: middle;
  margin: 0.3em;
  box-sizing: border-box;
  border-radius: 0.2em;
  transition: all 0.3s ease-out;
}

input,
select,
textarea {
  width: calc(100% - 0.6em);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media screen and (max-width: 767px) {
  input,
  select,
  textarea {
    width: 100%;
  }
}

.input_i input {
  width: calc(100% - 0.6em);
}

input[type=text]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=file]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=mail]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #999999;
}
input[type=text]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=file]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=mail]::-moz-placeholder,
input[type=number]::-moz-placeholder {
  /* Firefox 19+ */
  color: #999999;
}
input[type=text]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=file]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=mail]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder {
  /* IE 10+ */
  color: #999999;
}
input[type=text]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=file]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=mail]:-moz-placeholder,
input[type=number]:-moz-placeholder {
  /* Firefox 18- */
  color: #999999;
}

textarea {
  color: #3a3a3a;
  font-size: 1em;
  border: 1px solid #ccc;
  padding: 0.5em;
  background: #fff;
  vertical-align: middle;
  margin: 0.3em;
  box-sizing: border-box;
  border-radius: 0.2em;
  transition: all 0.3s ease-out;
  height: 5em;
  overflow-y: scroll;
}
@media screen and (max-width: 575px) {
  textarea {
    width: 100%;
  }
}

button:focus-visible,
input[type=text]:focus-visible,
input[type=reset]:focus-visible,
input[type=file]:focus-visible,
input[type=tel]:focus-visible,
input[type=email]:focus-visible,
input[type=password]:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #ef5714;
}

button:focus,
input[type=text]:focus,
input[type=reset]:focus,
input[type=file]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
  outline: 2px solid #ef5714;
}

select {
  line-height: 1.35em;
  padding: 0.5em 24px 0.5em 0.5em;
  border: 1px solid #ccc;
  background: #fff url(../images/icon/icon_select_arrow.svg) no-repeat right center;
  background-size: 18px;
}
select option {
  outline: none;
  border: none;
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

input[type=checkbox],
input[type=radio] {
  font-size: 1em;
  margin: 0.3em;
  width: 1em;
  height: 1em;
  background-color: #f7f6ee;
  border: 2px solid #ccc;
}

input[type=radio] {
  border-radius: 50%;
}

input[type=checkbox]:checked,
input[type=checkbox]:focus {
  border-color: #ef5714;
  background-color: #ef5714;
}

input[type=checkbox]:checked {
  background-image: url(../images/basic/icon_checked.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 98%;
  box-shadow: #ef5714 0 0 0 2px;
  border-radius: 2px;
}

input[type=radio]:focus,
input[type=radio]:checked {
  border-color: #ef5714;
  background-color: #ef5714;
  box-shadow: #fff 0 0 0 3px inset, #ef5714 0 0 0 2px;
  outline: none;
}

input[type=checkbox]:focus {
  border-color: #ef5714;
  background-color: #ef5714;
  box-shadow: #ef5714 0 0 0 2px;
}

.uploadGrp {
  position: relative;
}
.uploadGrp input[readonly],
.uploadGrp input[disable] {
  background: transparent;
  color: #666;
}
.uploadGrp .uploadBtn,
.uploadGrp .delete_file {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 115px;
  padding: 0.2em 1em;
  margin: 0 0.2em;
  border-radius: 4px;
}
@media screen and (max-width: 575px) {
  .uploadGrp .uploadBtn,
  .uploadGrp .delete_file {
    position: static;
    transform: translate(0);
    margin-bottom: 0.3em;
  }
}
.uploadGrp .uploadBtn:hover, .uploadGrp .uploadBtn:focus-visible,
.uploadGrp .delete_file:hover,
.uploadGrp .delete_file:focus-visible {
  cursor: pointer;
}
.uploadGrp .uploadBtn span,
.uploadGrp .delete_file span {
  color: #fff;
}
.uploadGrp .uploadBtn {
  background-color: #116c72;
  padding: 0;
}
@media screen and (max-width: 575px) {
  .uploadGrp .uploadBtn {
    margin-left: auto;
  }
}
.uploadGrp .uploadBtn:hover, .uploadGrp .uploadBtn:focus {
  background-color: rgb(15.3, 97.2, 102.6);
}
.uploadGrp .uploadBtn > span {
  display: block;
  padding: 0.2em 1em;
  background-color: #116c72;
  position: relative;
  z-index: 1;
  border-radius: 4px;
  cursor: pointer;
  pointer-events: none;
}
.uploadGrp .uploadBtn > span:hover, .uploadGrp .uploadBtn > span:focus {
  background-color: rgb(15.3, 97.2, 102.6);
}
.uploadGrp .delete_file {
  right: 0.5em;
}

input[type=file] {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 1.25em;
  cursor: pointer;
}

img.captcha {
  display: inline-block;
  vertical-align: middle;
  max-height: 2.5em;
  margin: 0.3em 0.5em 0.3em 0.3em;
}
img.captcha + input {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}
img.captcha ~ img {
  display: inline-block;
  vertical-align: middle;
  max-height: 2.4em;
  margin-bottom: 0.5em;
}

abbr[title] {
  border-bottom: none;
  text-decoration: none;
}

.input_i {
  position: relative;
  width: 100%;
}
.input_i i {
  position: absolute;
  padding: 0.2em 0;
  left: 0.5em;
  top: 0.6em;
  background: none;
  border-right: 1px solid #ccc;
  width: 2.4em;
  pointer-events: none;
}
.input_i i:before {
  width: 2.2em;
  text-align: center;
}
.input_i i + input {
  padding: 0.5em 0.5em 0.5em 3em;
}
.input_i input {
  padding: 0.5em 3em 0.5em 0.5em;
}
.input_i input + i {
  border-right: none;
  border-left: 1px solid #ccc;
  right: 0.5em;
  left: auto;
}

.password {
  padding: 0.5em 3em 0.5em 3em !important;
}

.passwordEye {
  padding: 0;
  margin: 0;
  position: absolute;
  border: none;
  color: transparent;
  width: 20px !important;
  height: 20px;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.passwordEye::before {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  background: url("../images/icon/icon_eye_c_dark.svg") center no-repeat;
}
.passwordEye.hide::before {
  background: url("../images/icon/icon_eye_dark.svg") center no-repeat;
}

table {
  width: 100%;
  border-collapse: collapse;
}
@media screen and (max-width: 575px) {
  table {
    width: 100%;
  }
}
table th,
table td {
  padding: 0.5em;
  text-align: left;
}
table th.noWrap,
table td.noWrap {
  white-space: nowrap;
}
table caption {
  font-weight: bold;
  text-align: left;
  font-size: 1.125rem;
  margin-bottom: 0.5em;
}
table caption .summary {
  display: block;
  font-size: 1em;
  font-weight: normal;
}
table td {
  border: #ddd 1px solid;
  word-break: break-word;
}
table td a {
  word-break: break-word;
}
table th {
  background-color: #f3f3f3;
  color: #333;
  border: #ddd 1px solid;
  text-align: center;
  white-space: nowrap;
}
table.tableHover tr:hover {
  background: #f3f3f3;
}
table.tableSprite tr:nth-child(even) {
  background: #f5f5f5;
}

.tableList {
  max-width: 100%;
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  .tableList {
    background-color: transparent;
  }
  .tableList thead,
  .tableList tbody,
  .tableList th,
  .tableList td,
  .tableList tr {
    display: block;
  }
  .tableList thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .tableList tr {
    border: 1px solid #ccc;
    margin-bottom: 10px;
  }
  .tableList td {
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    padding-left: 0.5em;
    padding-top: 2em;
    white-space: normal;
    text-align: left;
  }
  .tableList.loaded td:before {
    content: attr(data-title);
    position: absolute;
    top: 0.5em;
    left: 0.5em;
    width: 30%;
    padding-right: 10px;
    white-space: nowrap;
    text-align: left;
    font-weight: normal;
    color: #888;
    font-size: 0.688rem;
  }
}

.fixThTable {
  margin: 1em 0;
}
@media screen and (max-width: 767px) {
  .fixThTable {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
}
@media screen and (max-width: 767px) {
  .fixThTable table {
    display: block;
    width: 100%;
    overflow-x: scroll;
    padding-bottom: 1em;
  }
}
.fixThTable th,
.fixThTable td {
  width: 10em;
  padding: 0.8em 0;
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .fixThTable th,
  .fixThTable td {
    display: inline-block;
    margin-right: -6px;
    margin-left: 0;
    margin-top: -1px;
  }
}
.fixThTable th:first-child {
  width: 8em;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  .fixThTable th:first-child {
    position: absolute;
    left: 0;
    top: auto;
  }
}
@media screen and (max-width: 767px) {
  .fixThTable tr {
    display: block;
    clear: both;
    white-space: nowrap;
    width: auto;
    padding-left: 8em;
  }
  .fixThTable tr:first-child {
    border-top: #ddd 1px solid;
  }
}

.tableWrapper {
  overflow-x: scroll;
  overflow-y: hidden;
  scroll-behavior: smooth;
}
@media screen and (max-width: 767px) {
  .tableWrapper {
    width: 100%;
    display: block;
    clear: both;
    zoom: 1;
    overflow: hidden;
    overflow-x: auto;
    padding-bottom: 1em;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translate3d(0, 0, 0);
  }
  .tableWrapper:before, .tableWrapper:after {
    content: "";
    display: table;
  }
  .tableWrapper:after {
    clear: both;
  }
  .tableWrapper table {
    width: 100%;
    min-width: 600px;
  }
}
.tableWrapper > .tableScroll > table {
  min-width: 600px;
}
.tableWrapper > .tableScroll > table caption {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.tableWrapper > div {
  overflow-x: scroll;
  overflow-y: hidden;
  scroll-behavior: smooth;
}

.scrollTableNav {
  width: 60px;
  position: absolute;
  transition: 0.5s opacity;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 33%, rgba(255, 255, 255, 0.6) 39%, rgba(255, 255, 255, 0) 100%);
}

.scrollTableNavLeft {
  left: 0;
  display: none;
}

.scrollTableNavRight {
  right: 0;
  transform: rotateY(180deg);
}

.scrollTableNavLeft .scrollTableLeftBtn,
.scrollTableNavRight .scrollTableRightBtn {
  width: 35px;
  height: 100%;
  background: url(../images/basic/icon_ar.svg) no-repeat center;
  cursor: pointer;
}

.lp table td a {
  text-decoration: none;
  color: #3a3a3a;
}
.lp table td a:hover, .lp table td a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
.lp table td a:focus-visible {
  outline: #ef5714 2px solid;
}
.lp table td.date {
  text-align: center;
  color: #666;
}
@media screen and (max-width: 767px) {
  .lp table td.date {
    text-align: left;
  }
}
.lp table td.num {
  text-align: center;
  color: #666;
}
@media screen and (max-width: 767px) {
  .lp table td.num {
    text-align: left;
  }
}
.lp .list > ul,
.lp .list ol {
  list-style-type: none;
  padding: 0;
}
.lp .list > ul > li,
.lp .list ol > li {
  padding: 0.25em 0;
  border-bottom: 1px dashed #ccc;
  position: relative;
}
.lp .list > ul > li .tag,
.lp .list ol > li .tag {
  margin-left: 2em;
}
.lp .list > ul > li > a,
.lp .list ol > li > a {
  display: flex;
  align-items: flex-start;
  position: relative;
  line-height: 1.45em;
  font-weight: bold;
  color: #3a3a3a;
  padding: 1.2em 0.5em;
  transition: 0.2s;
}
.lp .list > ul > li > a:hover,
.lp .list ol > li > a:hover {
  color: rgb(15.3, 97.2, 102.6);
  background-color: #efefef;
}
@media screen and (max-width: 767px) {
  .lp .list > ul > li > a,
  .lp .list ol > li > a {
    flex-wrap: wrap;
  }
}
.lp .list > ul > li p,
.lp .list ol > li p {
  flex: 1 1 auto;
  word-break: break-word;
  font-size: 1.125rem;
  margin: 0;
  line-height: 1.5em;
  margin: 0 15px;
}
@media screen and (max-width: 767px) {
  .lp .list > ul > li p,
  .lp .list ol > li p {
    flex-basis: 100%;
    margin: 0 0 0.5em 0;
  }
}
.lp .list > ul > li .classification,
.lp .list ol > li .classification {
  display: inline-block;
  min-width: 100px;
  padding: 0.3em 1em;
  margin-bottom: 0.5em;
  background-color: #1c9aa1;
  border-radius: 2em;
  font-size: 0.9375rem;
  color: #fff;
  text-align: center;
  font-weight: normal;
  flex: 0 0 auto;
}
.lp .list > ul > li time,
.lp .list ol > li time {
  flex: 0 0 auto;
  display: block;
  color: #888;
  font-size: 1rem;
  font-weight: normal;
}

.actList {
  padding-top: 2em;
}
.actList > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px;
  gap: 40px;
}
.actList > ul > li {
  flex-basis: calc(33.33333% - 26.6666666667px);
}
@media screen and (max-width: 767px) {
  .actList > ul > li {
    flex-basis: calc(50% - 40px);
  }
}
@media screen and (max-width: 575px) {
  .actList > ul > li {
    margin-bottom: 20px;
    flex-basis: 100%;
  }
}
.actList a {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  transition: 0.3s ease-in;
}
.actList a:hover {
  filter: drop-shadow(0 5px 12px rgba(0, 0, 0, 0.4));
}
.actList a:hover .textBox::before, .actList a:hover .textBox::after {
  transform: skewX(0);
  top: 0;
}
.actList a:hover .textBox::after {
  background: linear-gradient(0deg, rgb(0, 0, 0) 70%, rgb(0, 0, 0) 100%);
  box-shadow: none;
}
.actList a .imgContainer {
  display: flex;
  background-color: #000;
}
.actList a img {
  width: 100%;
  aspect-ratio: 5/4;
  -o-object-fit: cover;
     object-fit: cover;
}
.actList a .textBox {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  background-color: #7bbabe;
  color: #9af8ff;
  position: relative;
  padding: 0.5em 1em;
  transform: perspective(1px) translateZ(0);
}
.actList a .textBox::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 130%;
  background-color: #7bbabe;
  transform: skewY(-5deg);
  transition: 0.35s cubic-bezier(0.55, 0, 0.1, 1);
}
.actList a .textBox::after {
  content: "";
  position: absolute;
  top: -22px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 130%;
  background-color: #000;
  background: linear-gradient(350deg, rgb(0, 0, 0) 70%, rgba(0, 0, 0, 0.5) 100%);
  box-shadow: 0 -7px 18px rgba(0, 0, 0, 0.5);
  opacity: 0.9;
  transform: skewY(8deg);
  mix-blend-mode: overlay;
  transition: 0.35s cubic-bezier(0.55, 0, 0.1, 1);
}
.actList a .textBox .title {
  flex-grow: 1;
  color: #fff;
  margin: 0.5em 0;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 5.6rem;
  min-height: 3.6rem;
  text-overflow: ellipsis;
}
.actList a .textBox ul {
  margin: 0 0 0.25em 0;
  padding: 0;
  list-style: none;
  font-size: 0.875rem;
}
.actList a .textBox ul i {
  margin-right: 5px;
}
.actList a .textBox ul i:before {
  background-color: #9af8ff;
}
.actList a .textBox .actType {
  padding: 0.25em 0;
  margin-top: auto;
  color: #fff;
  font-size: 0.875rem;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.submenu ul,
.submenu ol {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 -10px;
  padding: 1em 0;
  list-style-type: none;
}
.submenu li {
  margin: 0 10px 20px 10px;
  flex-basis: calc(50% - 20px);
  border-radius: 5px;
}
.submenu li:nth-child(odd) {
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .submenu li {
    flex: 1 1 100%;
  }
  .submenu li:nth-child(odd) {
    margin-right: 0;
  }
}
.submenu li a {
  border-radius: 10px;
  padding: 1.5em 3em;
  display: block;
  position: relative;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-decoration: none;
  color: #3a3a3a;
  background: #efefef url(../images/menuList.svg) no-repeat right -100px bottom -100px;
  font-size: 1.125rem;
  font-weight: bold;
  transition: 0.3s;
}
.submenu li a:hover, .submenu li a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
.submenu li a:focus-visible {
  outline: #ef5714 2px solid;
}
.submenu li a .num {
  position: absolute;
  top: 1.5em;
  left: 1.5em;
  text-align: right;
  font-family: "Century Gothic";
  font-style: italic;
  color: #888;
}
.submenu li a .num:after {
  content: ".";
}
.submenu li a:hover, .submenu li a:focus-visible {
  color: #fff;
  background: #116c72 url(../images/menuList.svg) no-repeat right 0 bottom 0;
}
.submenu li a:hover .num, .submenu li a:focus-visible .num {
  color: #fff;
}

.tabSet {
  margin: 30px auto;
}
.tabSet .tabItems {
  display: flex;
  justify-content: center;
}
.tabSet .modeBBtn,
.tabSet .tabBtn {
  flex: 0 1 auto;
  font-size: 1.5rem;
  padding: 0.65em 0.5em;
  color: #767676;
  text-align: center;
  border: none;
  margin: 1px 20px;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  cursor: pointer;
  position: relative;
}
.tabSet .modeBBtn:focus-visible,
.tabSet .tabBtn:focus-visible {
  outline: none;
  box-shadow: 0 0px 0px 2px #ef5714 inset;
}
.tabSet .modeBBtn::before,
.tabSet .tabBtn::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-color: #ef5714;
  opacity: 0.75;
  transform: scaleX(0);
  transition: 0.2s ease-in;
}
.tabSet .modeBBtn:hover::before,
.tabSet .tabBtn:hover::before {
  transform: scaleX(100%);
}
.tabSet .modeBBtn.active,
.tabSet .tabBtn.active {
  cursor: default;
  color: #272011;
}
.tabSet .modeBBtn.active::before,
.tabSet .tabBtn.active::before {
  transform: scaleX(100%);
  opacity: 1;
}
.tabSet .tabContent {
  display: none;
  position: relative;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .tabSet .tabContent {
    margin-top: 0;
  }
}
.tabSet .tabContent.active {
  display: block;
}
.tabSet .modeBBtn {
  width: 100%;
  margin: 0;
  display: none;
}
.tabSet.modeB .tabItems {
  display: none;
}
.tabSet.modeB .tabContent {
  display: block;
  margin-bottom: 1em;
}
.tabSet.modeB .tabContent .content {
  display: none;
}
.tabSet.modeB .tabContent .content a:focus-visible {
  outline: #ef5714 2px solid;
}
.tabSet.modeB .modeBBtn {
  display: block;
  margin-bottom: 0.5em;
  background-color: #e8e8e8;
}
.tabSet.modeB .modeBBtn.active {
  color: #fff;
  background-color: #ef5714;
}

.actTab .actList {
  padding-top: 0;
}

.thumbnail {
  box-shadow: 0 0 3em -1.5em rgba(0, 0, 0, 0.5);
  background: #fff;
  width: 100%;
  overflow: hidden;
  transition: all 0.3s ease;
}
.thumbnail:hover {
  box-shadow: 0 12px 3em -1em rgba(0, 0, 0, 0.5);
}
.thumbnail a {
  display: block;
  text-decoration: none;
  color: #555;
  position: relative;
}
.thumbnail a:hover, .thumbnail a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
.thumbnail a:focus-visible {
  outline: #ef5714 2px solid;
}
.thumbnail a:focus-visible:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  box-shadow: 0px 0px 0px 1px rgb(15.3, 97.2, 102.6) inset;
}
.thumbnail .imgContainer {
  overflow: hidden;
  position: relative;
  margin-bottom: 0.5em;
}
.thumbnail .imgContainer img {
  width: 100%;
  aspect-ratio: 4/3;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.thumbnail h2,
.thumbnail h3,
.thumbnail h4,
.thumbnail .title {
  margin: 0.2em 0;
  font-weight: bold;
}
.thumbnail .caption {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 1em;
}
.thumbnail .btnGrp {
  padding: 0.2em 0;
}
.thumbnail hr {
  width: 90%;
  margin: 0.1em auto 1em;
}

.functionPanel {
  margin: 0.2em 0;
  padding: 0.5em 0 0.5em;
  min-height: 35px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  font-size: 0.938rem;
}
@media screen and (max-width: 767px) {
  .functionPanel {
    margin: 0.6em 0;
    padding: 0.5em 0 0.5em;
  }
}
.functionPanel .share {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}
.functionPanel .function {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}
.functionPanel .publishTime {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
  min-width: 100px;
  display: block;
  color: #555;
}
@media screen and (max-width: 767px) {
  .functionPanel .publishTime span {
    display: none;
  }
}
.functionPanel .publishTime time {
  font-family: georgia;
  font-size: 1.125em;
}
.functionPanel .publishTime:before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  top: 0.3em;
  margin-right: 5px;
  background: url(../images/basic/icon_time.svg) no-repeat center center;
  background-size: 12px;
}

div.function ul li.icon_forward a:before, div.function ul li.icon_print a:before, div.function ul li.icon_back a:before {
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.5em;
  display: inline-block;
}

div.function {
  box-sizing: border-box;
  margin: 0.5em 0;
}
div.function ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: flex-end;
  list-style-type: none;
}
div.function ul li {
  margin: 0 0px 0px 3px;
  flex: 0 0 auto;
}
div.function ul li button,
div.function ul li a {
  font-size: 0.813rem;
  display: block;
  padding: 0.2em 1em;
  background: #666;
  border-color: #666;
  color: #fff;
  border-radius: 4px;
}
div.function ul li button:hover, div.function ul li button:focus-visible,
div.function ul li a:hover,
div.function ul li a:focus-visible {
  background: rgb(15.3, 97.2, 102.6);
  border-color: rgb(15.3, 97.2, 102.6);
}
div.function ul li.icon_back a:before {
  background: url(../images/basic/icon_back.svg) no-repeat center center;
  background-size: 16px;
}
div.function ul li.icon_print a:before {
  background: url(../images/basic/icon_print.svg) no-repeat center center;
  background-size: 20px;
}
div.function ul li.icon_forward a:before {
  background: url(../images/basic/icon_forward.svg) no-repeat center bottom;
  background-size: 20px;
}

.functionPanel {
  display: flex;
  flex-flow: row wrap;
  align-content: center;
}
.functionPanel .fontSize {
  padding: 0;
  flex: initial;
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}
.functionPanel .function {
  height: 32px;
  margin: 0;
}
.functionPanel .function ul {
  display: flex;
}
.functionPanel .function ul li {
  font-size: 1em;
  margin: 0 0.2em;
  flex: 0 0 32px;
}
.functionPanel .function ul li a {
  display: block;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  text-align: center;
  line-height: 32px;
  border-radius: 50%;
  background: #f1f1f1;
  text-indent: -9999px;
  position: relative;
}
.functionPanel .function ul li a:hover, .functionPanel .function ul li a:focus-visible {
  background: rgb(15.3, 97.2, 102.6);
  color: #fff;
}
.functionPanel .function ul li a:hover:before, .functionPanel .function ul li a:focus-visible:before {
  filter: invert(100%);
}
.functionPanel .function ul li a:before {
  content: "";
  position: absolute;
  width: 60%;
  height: 60%;
  top: 20%;
  left: 20%;
}
.functionPanel .function ul li.back a:before {
  background: url(../images/basic/icon_back_dark.svg) no-repeat center center;
  background-size: 100%;
}
.functionPanel .function ul li.print a:before {
  background: url(../images/basic/icon_print_dark.svg) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  .functionPanel .function ul li.print {
    display: none;
  }
}
.functionPanel .function ul li.forward a:before {
  background: url(../images/basic/icon_forward_dark.svg) no-repeat center center;
  background-size: 100%;
}

.share {
  box-sizing: border-box;
  margin: 0.5em 0;
}
.share ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.share ul li {
  margin: 0px 3px 3px;
  flex: 0 0 32px;
}
.share ul li a {
  display: block;
  height: 32px;
}
@media screen and (max-width: 991px) {
  .share ul li {
    margin: 0px 1px 2px;
    width: 32px;
    height: 32px;
  }
}
.share ul li img {
  width: 100%;
  height: 100%;
}

.functionPanel .share {
  box-sizing: border-box;
  text-align: center;
  height: 32px;
  margin: 0 4px;
  position: relative;
}
.functionPanel .share .shareButton {
  display: block;
  background: #f1f1f1;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  text-align: center;
  position: relative;
  border: none;
  margin: 0;
}
.functionPanel .share .shareButton:before {
  content: "";
  position: absolute;
  width: 60%;
  height: 60%;
  top: 20%;
  left: 20%;
  background: url(../images/basic/icon_share.svg) no-repeat center center;
  background-size: 24px;
}
.functionPanel .share .shareButton:hover, .functionPanel .share .shareButton:focus-visible {
  background: rgb(15.3, 97.2, 102.6);
}
.functionPanel .share .shareButton:hover:before, .functionPanel .share .shareButton:focus-visible:before {
  filter: invert(100%);
}
.functionPanel .share ul {
  display: none;
  position: absolute;
  top: 2.5em;
  left: -6px;
  padding: 6px;
  background: #fff;
  box-shadow: 2px 2px 5px RGBA(0, 0, 0, 0.2);
  border-radius: 8px;
  z-index: 999;
  height: auto;
}
.functionPanel .share ul li {
  display: block;
  margin: 0 auto 0.5em;
}
.functionPanel .share ul li:last-child {
  margin-bottom: 0;
}
.functionPanel .share ul li img {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.functionPanel .share ul li a {
  background: transparent;
  display: block;
  padding: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
}
.functionPanel .share ul li a:hover, .functionPanel .share ul li a:focus-visible {
  background: transparent;
}
.functionPanel .share ul li a:hover img, .functionPanel .share ul li a:focus-visible img {
  filter: grayscale(1);
}

.marquee .swiperBox {
  margin: 0;
  list-style: none;
  display: block;
  overflow: hidden;
  background: #fff;
  text-align: left;
  position: relative;
  min-height: 1px;
  padding-left: 30px;
  box-sizing: border-box;
  border-bottom: 1px solid #dadada;
}
@media (max-width: 991px) {
  .marquee .swiperBox {
    margin: 1.5em 0em;
  }
}
.marquee .swiperBox .swiper {
  height: 40px;
}
.marquee .swiperBox .marquee-arrow {
  padding: 0;
  position: absolute;
  cursor: pointer;
  left: 5px;
  z-index: 9;
  transform: rotate(90deg);
  padding: 0;
  margin: 0;
  border: none;
}
.marquee .swiperBox .marquee-arrow::before {
  content: "";
  width: 10px;
  height: 20px;
  display: block;
  background: url("../vendor/swiper/ar.svg") center no-repeat;
}
.marquee .swiperBox .marquee-arrow.prevSlider {
  top: 0;
}
.marquee .swiperBox .marquee-arrow.nextSlider {
  bottom: 0;
  left: 4px;
}
.marquee .swiperBox .marquee-arrow.nextSlider::before {
  transform: rotate(180deg);
}
.marquee .swiperBox .marquee-arrow.marquee-arrow-disabled {
  opacity: 0.3;
}
.marquee a {
  display: block;
  line-height: 40px;
  margin-right: 3em;
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #000;
  text-decoration: none;
}
.marquee a span {
  color: #7cb52f;
  margin-right: 15px;
}
.marquee a:hover {
  color: #7cb52f;
}

.pagination {
  margin: 2em auto 1em;
  padding: 0;
  display: block;
  text-align: center;
  font-size: 1em;
}
.pagination .formInline {
  justify-content: center;
}
.pagination span {
  color: #116c72;
  margin: 0px 0.5em;
}
.pagination .page {
  margin: 5px auto;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.pagination .page li {
  margin: 2px;
  list-style: none;
  box-sizing: border-box;
}
.pagination .page li a {
  min-width: 40px;
  height: 40px;
  border-radius: 5px;
  padding: 6px 10px;
  font-weight: 700;
  display: block;
  white-space: nowrap;
  font-size: 1em;
  color: #3a3a3a;
  margin: 0 0.1em 0.25em;
}
.pagination .page li a:hover, .pagination .page li a:focus-visible {
  color: #ef5714;
}
.pagination .page li.active a {
  color: #ef5714;
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 5px;
}
.pagination .page li.last a:after, .pagination .page li.last a:before, .pagination .page li.next a:before, .pagination .page li.prev a:before, .pagination .page li.first a:after, .pagination .page li.first a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border: 2px solid #666;
  border-left: none;
  border-bottom: none;
}
.pagination .page li.first a, .pagination .page li.prev a, .pagination .page li.next a, .pagination .page li.last a {
  text-indent: -9999px;
  position: relative;
}
.pagination .page li.first a:hover:before, .pagination .page li.first a:hover:after, .pagination .page li.first a:focus-visible:before, .pagination .page li.first a:focus-visible:after, .pagination .page li.prev a:hover:before, .pagination .page li.prev a:hover:after, .pagination .page li.prev a:focus-visible:before, .pagination .page li.prev a:focus-visible:after, .pagination .page li.next a:hover:before, .pagination .page li.next a:hover:after, .pagination .page li.next a:focus-visible:before, .pagination .page li.next a:focus-visible:after, .pagination .page li.last a:hover:before, .pagination .page li.last a:hover:after, .pagination .page li.last a:focus-visible:before, .pagination .page li.last a:focus-visible:after {
  border: 2px solid #ef5714;
  border-left: none;
  border-bottom: none;
}
.pagination .page li.first a:before {
  margin-left: -6px;
  transform: rotate(-135deg);
}
.pagination .page li.first a:after {
  margin-left: 0px;
  transform: rotate(-135deg);
}
.pagination .page li.prev a:before {
  margin-left: -2px;
  transform: rotate(-135deg);
}
.pagination .page li.next a:before {
  margin-left: -6px;
  transform: rotate(45deg);
}
.pagination .page li.last a:before {
  margin-left: -3px;
  transform: rotate(45deg);
}
.pagination .page li.last a:after {
  margin-left: -9px;
  transform: rotate(45deg);
}
.pagination .total {
  padding: 0em;
  display: flex;
  align-items: center;
  vertical-align: middle;
  margin-bottom: 0.25em;
}
.pagination .total span {
  font-size: 1.125rem;
  font-weight: 600;
}
.pagination .total select {
  margin: 0px 0.5em;
}
@media screen and (max-width: 767px) {
  .pagination .total select {
    margin: 0px;
  }
}
.pagination .total .btn {
  min-width: auto;
  padding: 0.4em 1em;
}
.pagination .total .btn.btnSubmit {
  margin-left: 10px;
}
.pagination .items {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0.25em;
}
.pagination .items a {
  padding: 0 5px;
  color: #999;
  text-decoration: none;
}
.pagination .items a.active, .pagination .items a:focus {
  color: #116c72;
}

@media screen and (max-width: 767px) {
  .pagination .total select.formControl {
    margin: 0px 0px;
    text-align: center;
  }
}
*[class*=notice] {
  padding: 0.35em 2.5em;
  display: block;
  width: 100%;
  font-size: 0.938em;
  margin: 0.2em 0;
  position: relative;
  color: #666;
  background-color: #f2f2f2;
  position: relative;
  box-sizing: border-box;
  border-radius: 4px;
  border: none;
}
*[class*=notice]:before {
  position: absolute;
  top: 0.8em;
  left: 0.8em;
  display: block;
  vertical-align: middle;
  width: 15px;
  height: 15px;
  content: "";
}
*[class*=notice]:before img {
  width: 100%;
}
*[class*=notice] a.close {
  position: absolute;
  width: 12px;
  height: 12px;
  top: 0.8em;
  right: 1em;
  display: block;
  opacity: 0.5;
}
*[class*=notice] a.close:hover, *[class*=notice] a.close:focus-visible {
  opacity: 1;
}
*[class*=notice] a.close img {
  display: block;
  width: 12px;
  height: 12px;
  margin: 0;
}

*[class*=noticeInfo] {
  color: #00529b;
  background-color: #ceecfa;
}
*[class*=noticeInfo]:before {
  background: url(../images/basic/icon_info.svg) no-repeat center center;
  background-size: 15px;
}

*[class*=noticeSuccess] {
  color: #3b7600;
  background-color: #dff2bf;
}
*[class*=noticeSuccess]:before {
  background: url(../images/basic/icon_success.svg) no-repeat center center;
  background-size: 15px;
}

*[class*=noticeWarning] {
  color: #c23e00;
  background-color: #feefb3;
}
*[class*=noticeWarning]:before {
  background: url(../images/basic/icon_warning.svg) no-repeat center center;
  background-size: 15px;
}

*[class*=noticeError] {
  color: #c40000;
  background-color: #ffd2d2;
}
*[class*=noticeError]:before {
  background: url(../images/basic/icon_error.svg) no-repeat center center;
  background-size: 15px;
}

.accordion ul {
  list-style: none;
  padding: 0;
}
.accordion ul li.accordionList {
  margin-bottom: 0.5em;
}
.accordion ul li.accordionList .accordionBtn {
  width: 100%;
  border: none;
  border-radius: 0;
  display: block;
  text-align: left;
  background-color: #21baff;
  color: #fff;
  text-decoration: none;
  padding: 5px 50px 5px 20px;
  position: relative;
}
.accordion ul li.accordionList.active .accordionArrow {
  top: calc(50% - 2px);
  transform: rotate(225deg);
}
.accordion .accordionContent {
  line-height: 1.45em;
  transition: height 0.3s linear;
  overflow: hidden;
  display: none;
}
.accordion .accordionContent .content {
  padding: 10px;
}
.accordion .accordionState {
  margin-left: 10px;
}
.accordion .accordionArrow {
  position: absolute;
  top: calc(50% - 7px);
  right: 30px;
  transform: rotate(45deg);
  transform-origin: center center;
}
.accordion .accordionArrow:after {
  content: "";
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  display: block;
  width: 8px;
  height: 8px;
}
.accordion .accordionArrow.open:after {
  top: 8px;
  transform: rotate(225deg);
}

/* sitemap */
.sitemap {
  margin: 0px auto 1em;
}
.sitemap p {
  font-size: 0.813em;
}
.sitemap p kbd {
  border: 1px solid #aaa;
  background: transparent;
  color: #3a3a3a;
  padding: 0 0.3em;
  margin: 0 0.2em 0.1em;
}
.sitemap p kbd kbd {
  border: none;
}
.sitemap .accessKeyDefine {
  padding: 1em 2em;
  background: #eee;
  border-radius: 6px;
}
.sitemap .accessKeyDefine li {
  margin-bottom: 0.2em;
}

.cascading {
  border-top: 1px solid #ccc;
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  box-sizing: border-box;
}
.cascading ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cascading li {
  line-height: 1.5;
  width: 25%;
  display: inline-block;
  vertical-align: top;
  margin: 0 -5px 1em 0;
  box-sizing: border-box;
  padding: 0px 0.5em;
}
.cascading li a {
  margin: 0.2em 0;
  color: #222;
  padding: 0.5em;
  display: block;
  font-size: 1.25em;
  font-weight: bold;
  border-bottom: 2px solid #116c72;
}
.cascading li a:hover, .cascading li a:focus-visible {
  color: #116c72;
  text-decoration: none;
}
.cascading li ul {
  padding-left: 1em;
}
.cascading li ul li {
  width: 100%;
  display: block;
  margin-bottom: 0;
  padding: 0;
}
.cascading li ul li a {
  display: block;
  font-size: 1em;
  padding: 0.2em 0;
  border-bottom: 1px dotted #ccc;
  background-color: transparent;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .cascading {
    width: 95%;
    margin: 0px auto;
  }
  .cascading li {
    width: 100%;
  }
}

.leftBlock .banner {
  padding: 0 0 2.5em 0;
}
.leftBlock .banner .item {
  color: #666;
  text-align: center;
  font-weight: bold;
  background-color: #eee;
  margin-bottom: 10px;
}
.leftBlock .banner .item a {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
  position: relative;
}
.leftBlock .banner .item a img {
  width: 100%;
  aspect-ratio: 3/1;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.leftBlock .banner .item a:focus-visible:after {
  position: absolute;
  width: 100%;
  height: 100%;
  box-shadow: 0px 0px 0px 2px rgb(20.3091603053, 129.0229007634, 136.1908396947) inset;
  content: "";
  z-index: 9;
  top: 0;
  left: 0;
}
.leftBlock .listBlock {
  padding: 0 0 0.5em 0;
  margin-bottom: 1.5em;
  background-color: #fff;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.leftBlock .listBlock .title {
  margin: 0 0 1em;
  padding: 0.5em;
  text-align: center;
  color: #fff;
  background-color: #666;
  font-size: 1.25em;
  font-weight: bolder;
}
.leftBlock .listBlock ul {
  margin: 0;
  padding: 0 1em;
  list-style-type: none;
}
.leftBlock .listBlock ul li {
  margin: 0 0 0.5em;
  padding: 0 0 0.5em;
  border-bottom: 1px solid #ccc;
}
.leftBlock .listBlock ul li time {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.813rem;
}
.leftBlock .listBlock ul li .dept {
  display: inline-block;
  padding: 0 0.5em;
  background-color: #f1f1f1;
  color: #555;
  font-size: 0.813em;
}
.leftBlock .listBlock ul li a {
  display: block;
  padding: 0 0 0.25em;
  line-height: 1.4em;
  font-size: 0.938em;
  color: #333;
  margin: 0.5em 0;
}
.leftBlock .listBlock ul li a:hover {
  color: rgb(15.3, 97.2, 102.6);
}
.leftBlock .nodeMenu {
  padding: 0 0 0.5em 0;
  margin-bottom: 1.5em;
  background-color: #fff;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.leftBlock .nodeMenu .title {
  margin: 0 0 1em;
  padding: 0.5em;
  text-align: center;
  color: #fff;
  background-color: #666;
  font-size: 1.25em;
  font-weight: bolder;
}
.leftBlock .nodeMenu ul {
  margin: 0;
  padding: 0 1em 0em;
  list-style-type: none;
}
.leftBlock .nodeMenu ul li {
  font-size: 0.938rem;
  margin: 0 0 5px;
  padding: 0 0 5px;
  border-bottom: 1px solid #ccc;
}
.leftBlock .nodeMenu ul li:last-child {
  border: none;
}
.leftBlock .nodeMenu ul li a {
  display: block;
  padding: 0.5em 0;
  line-height: 1.4em;
  color: #333;
}
.leftBlock .nodeMenu ul li a:hover {
  color: rgb(15.3, 97.2, 102.6);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body.noscroll {
  position: static;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: hidden;
  margin: 0;
  padding: 0;
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}
.row > div {
  box-sizing: border-box;
}

.wrapper {
  width: 100%;
  margin: 0px auto;
  overflow: hidden;
  background-color: #1c9aa1;
  background-image: url(../images/line.svg), url(../images/topbg.svg);
  background-position: top -80px right 680px, top right;
  background-repeat: no-repeat, no-repeat;
  background-size: 220px, 800px;
}
@media screen and (max-width: 767px) {
  .wrapper {
    overflow-y: auto;
  }
}
.wrapper.typeB {
  background-image: url(../images/dots01.svg), url(../images/dots02.svg), url(../images/archives_month_bg.png);
  background-repeat: repeat-x, no-repeat, no-repeat;
  background-size: 700px, 1100px, 530px;
  background-position: top -50px center, top center, top 65px right calc((100vw - 1200px) / 2);
}
@media screen and (max-width: 1200px) {
  .wrapper.typeB {
    background-position: top -50px center, top center, top 65px right 10px;
  }
}
@media screen and (max-width: 767px) {
  .wrapper.typeB {
    background-size: 700px, 1100px, 60%;
    background-position: top -50px center, top center, top 100px right 10px;
  }
}
@media screen and (max-width: 575px) {
  .wrapper.typeB {
    background-position: top -50px center, top center, top 180px right 10px;
  }
}
@media screen and (max-width: 450px) {
  .wrapper.typeB {
    background-position: top -50px center, top center, top 240px right 10px;
  }
}
.wrapper.typeB .header .navigation .navList a {
  color: #fff;
}
.wrapper.typeB .header .navigation .navList a::before {
  border-color: #fff;
}
.wrapper.typeB .header .navigation .navList a:hover {
  color: #f3f8be;
}
.wrapper.typeB .header .navigation .navList a:hover::before {
  border-color: #f3f8be;
}
.wrapper.typeB .menuCtrlBtn::before {
  box-shadow: #fff 0 10px 0 0, #fff 0 -10px 0 0;
}
.wrapper.typeB .menuCtrlBtn::before, .wrapper.typeB .menuCtrlBtn::after {
  background: #fff;
}
.wrapper.typeB .menuCtrlBtn:hover::before {
  box-shadow: #fff 0 12px 0 0, #fff 0 -12px 0 0;
}

.container {
  margin: 0 auto;
  max-width: 1120px;
  position: relative;
}
@media screen and (max-width: 1120px) {
  .container {
    padding: 0 30px;
  }
}
.container.contentBox {
  border-radius: 2.625em;
  background-color: #fff;
  box-shadow: 20px 0 0 0 rgba(255, 255, 255, 0.6), -20px 0 0 0 rgba(255, 255, 255, 0.6), 40px 0 0 0 rgba(255, 255, 255, 0.36), -40px 0 0 0 rgba(255, 255, 255, 0.36);
  padding: 50px;
}
@media screen and (max-width: 1120px) {
  .container.contentBox {
    margin: 0 30px;
    box-shadow: 10px 0 0 0 rgba(255, 255, 255, 0.6), -10px 0 0 0 rgba(255, 255, 255, 0.6), 20px 0 0 0 rgba(255, 255, 255, 0.36), -20px 0 0 0 rgba(255, 255, 255, 0.36);
  }
}
@media screen and (max-width: 767px) {
  .container.contentBox {
    padding: 20px;
  }
}
@media screen and (max-width: 575px) {
  .container.contentBox {
    padding: 20px 10px;
  }
}

.center {
  position: relative;
}
@media screen and (max-width: 767px) {
  .center {
    padding-top: 80px;
  }
}

.main {
  position: relative;
  margin: 0 auto 3em;
  background-image: url(../images/wave.svg), url(../images/circle.svg);
  background-repeat: no-repeat;
  background-position: right -100px top 180px, left -30px top 45px;
  background-size: 180px, 150px;
}
@media screen and (max-width: 767px) {
  .main {
    background: none;
  }
}
.main h2 {
  line-height: 1.25em;
}
.main .round01 {
  position: absolute;
  top: 100px;
  right: 56%;
  width: 860px;
}
@media screen and (max-width: 575px) {
  .main .round01 {
    top: 120px;
  }
}
.main .imgBlock {
  position: relative;
  max-width: 100%;
}
.main .imgBlock img {
  position: absolute;
}
.main .imgBlock .man01 {
  top: -80px;
  right: calc((100% - 1200px) / 2 + 200px);
}
@media screen and (max-width: 767px) {
  .main .imgBlock .man01 {
    right: 10px;
    top: 60px;
    transform: scale(0.5);
  }
}
.main .imgBlock .woman01 {
  top: -50px;
  right: calc((100% - 1200px) / 2);
}
@media screen and (max-width: 767px) {
  .main .imgBlock .woman01 {
    right: -60px;
    transform: scale(0.5);
    top: 10px;
  }
}
.main .imgBlock .spots {
  top: -130px;
  z-index: 0;
  max-width: 1200px;
  width: 1200px;
  left: 50%;
  right: 50%;
  transform: translate(-50%, 0);
  opacity: 0.25;
}
@media screen and (max-width: 767px) {
  .main .imgBlock .spots {
    top: 0;
  }
}

.innerPage h2.title {
  text-align: center;
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
  background: url(../images/borderdots.png) repeat-x bottom left;
  background-size: 120px;
  letter-spacing: 0.25em;
}

.noData {
  font-size: 1.125rem;
  text-align: center;
}

.hidden {
  display: none;
}

.memberBlock {
  display: flex;
  justify-content: flex-end;
  color: #fff;
  margin: -2em auto 1em;
}
@media screen and (max-width: 375px) {
  .memberBlock {
    padding: 0 15px;
  }
}
.memberBlock .content {
  display: inline-flex;
  padding: 0.5em 1.5em;
  border-radius: 50px;
  background-color: rgba(0, 0, 0, 0.45);
  align-items: center;
}
.memberBlock .menberName {
  display: inline-block;
  margin-right: 0.5em;
}
.memberBlock a {
  color: #fff;
  font-weight: bold;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  display: inline-block;
  margin-right: 0.5em;
}

.mobileSidebar {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 9999;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  transition: 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  transform: translateX(-300px);
}
.mobileSidebar .mobileArea {
  width: 300px;
  padding: 3em 0;
  height: 100%;
  background: rgb(1.1670229008, 35.7526087983, 38.0329770992);
  overflow: hidden;
  overflow-y: auto;
  z-index: 9999;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  transition: 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li {
  transform: scale(1) translateX(0px);
  opacity: 1;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(1) {
  transition-delay: 0.27s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(2) {
  transition-delay: 0.34s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(3) {
  transition-delay: 0.41s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(4) {
  transition-delay: 0.48s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(5) {
  transition-delay: 0.55s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(6) {
  transition-delay: 0.62s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(7) {
  transition-delay: 0.69s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(8) {
  transition-delay: 0.76s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(9) {
  transition-delay: 0.83s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(10) {
  transition-delay: 0.9s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(11) {
  transition-delay: 0.97s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(12) {
  transition-delay: 1.04s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(13) {
  transition-delay: 1.11s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(14) {
  transition-delay: 1.18s;
}
.mobileSidebar .mobileArea.open .sideMainMenu > ul > li:nth-child(15) {
  transition-delay: 1.25s;
}
.mobileSidebar .mobileArea .sideMainMenu {
  width: 90%;
  margin: 0 auto 1em;
}
.mobileSidebar .mobileArea .sideMainMenu a {
  display: block;
  color: #fff;
  font-size: 0.938em;
  text-decoration: none;
  transition: 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  text-align: left;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li {
  transform: scale(1.15) translateX(-30px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(1) {
  transition-delay: 0.49s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(2) {
  transition-delay: 0.42s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(3) {
  transition-delay: 0.35s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(4) {
  transition-delay: 0.28s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(5) {
  transition-delay: 0.21s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(6) {
  transition-delay: 0.14s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(7) {
  transition-delay: 0.07s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(8) {
  transition-delay: 0s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(9) {
  transition-delay: -0.07s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(10) {
  transition-delay: -0.14s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(11) {
  transition-delay: -0.21s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(12) {
  transition-delay: -0.28s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(13) {
  transition-delay: -0.35s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(14) {
  transition-delay: -0.42s;
}
.mobileSidebar .mobileArea .sideMainMenu > ul > li:nth-child(15) {
  transition-delay: -0.49s;
}
.mobileSidebar .mobileArea .sideMainMenu ul {
  animation: showMenu 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  padding: 0;
  left: 0;
}
.mobileSidebar .mobileArea .sideMainMenu ul li {
  flex: 1 1 100%;
  flex-direction: row;
  list-style: none;
}
.mobileSidebar .mobileArea .sideMainMenu ul li > a {
  padding: 0.5em 1em;
  min-height: 2em;
  line-height: 2em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.mobileSidebar .mobileArea .sideMainMenu ul li.hasChild > a {
  position: relative;
  padding: 0.5em 2em 0.5em 1em;
  color: #fff;
}
.mobileSidebar .mobileArea .sideMainMenu ul li.hasChild > a:after {
  content: "";
  position: absolute;
  right: 1em;
  top: 1.25em;
  width: 5px;
  line-height: 1.25em;
  height: 5px;
  border: 2px solid #fff;
  transform: rotate(45deg);
  border-top: none;
  border-left: none;
  transition: 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
.mobileSidebar .mobileArea .sideMainMenu ul li ul {
  position: relative;
  visibility: visible;
  display: none;
  overflow: hidden;
  width: 100%;
  opacity: 1;
  background-color: transparent;
  font-size: 0.938em;
  box-sizing: border-box;
  transition: 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
.mobileSidebar .mobileArea .sideMainMenu ul li ul li a {
  display: block;
  min-height: 1.5em;
  line-height: 1.5em;
  font-weight: normal;
  padding: 0.5em 1em 0.5em 2em;
  border: none;
}
.mobileSidebar .mobileArea .sideMainMenu ul li ul li.hasChild > a {
  padding: 0.5em 1em 0.5em 2em;
}
.mobileSidebar .mobileArea .sideMainMenu ul li ul li.hasChild > a:after {
  top: 0.85em;
}
.mobileSidebar .mobileArea .sideMainMenu ul li.active ul {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.mobileSidebar .navigation {
  position: relative;
  margin: 1em auto;
  text-align: left;
  width: 90%;
}
.mobileSidebar .navigation ul {
  float: none;
  overflow: hidden;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
}
.mobileSidebar .navigation ul li {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 100%;
  margin: 0;
  padding: 0;
}
.mobileSidebar .navigation ul li:nth-child(odd):last-child {
  width: 100%;
}
.mobileSidebar .navigation ul li a {
  display: block;
  line-height: 1.5em;
  padding: 0.25em 0.5em 0.25em 1.1em;
  font-size: 0.875em;
  color: #fff;
  font-weight: normal;
  text-decoration: none;
  position: relative;
}
.mobileSidebar .navigation ul li a:before {
  position: absolute;
  top: 0.75em;
  left: 0;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2px 0 2px 4px;
  border-color: transparent transparent transparent #ffffff;
  transition: 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  opacity: 0;
}
.mobileSidebar .navigation ul li a:hover:before, .mobileSidebar .navigation ul li a:focus-visible:before {
  left: 0.5em;
  opacity: 1;
}
.mobileSidebar .navigation .language {
  position: relative;
  width: 100%;
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}
.mobileSidebar .navigation .language a,
.mobileSidebar .navigation .language button {
  padding: 0.6em 1em;
  background: rgba(0, 0, 0, 0.4);
}
.mobileSidebar .navigation .language a:after,
.mobileSidebar .navigation .language button:after {
  top: 1.3em;
}
.mobileSidebar .navigation .language a:before,
.mobileSidebar .navigation .language button:before {
  top: 0.8em;
}
.mobileSidebar .navigation .language button {
  width: 100%;
  border: 0em;
}
.mobileSidebar .navigation .language ul {
  width: 100%;
  margin: 0;
  position: relative;
  top: 0;
  padding: 0;
  border: none;
  background: none;
}
.mobileSidebar .navigation .language ul li {
  width: 100%;
}
.mobileSidebar .navigation .language ul li a {
  border: none;
  background: rgba(0, 0, 0, 0.4);
}
.mobileSidebar .navigation .fontSize {
  display: none;
}
.mobileSidebar button.sidebarClose {
  position: absolute;
  display: block;
  width: 3em;
  height: 3em;
  padding: 0;
  min-width: auto;
  top: 0px;
  right: 0px;
  margin: 0;
  text-indent: -999px;
  border: none;
  background: none;
  border: none;
}
.mobileSidebar button.sidebarClose:hover, .mobileSidebar button.sidebarClose:focus-visible {
  box-shadow: none;
}
.mobileSidebar button.sidebarClose:before {
  position: absolute;
  width: 15px;
  height: 15px;
  border: 3px solid #eee;
  content: "";
  top: 15px;
  right: 10px;
  transform: rotate(45deg);
  border-right: none;
  border-top: none;
}

.menuOverlay {
  background: RGBA(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
  transition: all 0.3s ease;
  z-index: 90;
  cursor: pointer;
}

img.imgRounded {
  border-radius: 10px;
}
img.imgCircle {
  border-radius: 50%;
}
img:not([src]) {
  visibility: hidden;
  opacity: 0;
}
img.lazy {
  visibility: hidden;
}
img.loaded {
  visibility: visible;
  animation: lazy_animation 0.5s ease-out;
}

@keyframes lazy_animation {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*for IE */
.imgContainer {
  width: 100%;
  position: relative;
  background: #000;
}
.imgContainer .fill {
  -o-object-fit: fill;
     object-fit: fill;
}
.imgContainer .contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.imgContainer .cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.imgContainer .none {
  -o-object-fit: none;
     object-fit: none;
}
.imgContainer .scale-down {
  -o-object-fit: scale-down;
     object-fit: scale-down;
}

br {
  font-family: unset !important;
  font: unset !important;
}

.gsc-control-cse {
  padding: 1rem 0 !important;
}

.gsc-control-cse.gsc-control-cse-zh-TW table td {
  padding: 0 0.5em !important;
}
.gsc-control-cse.gsc-control-cse-zh-TW table td.gsib_a, .gsc-control-cse.gsc-control-cse-zh-TW table td.gsib_b, .gsc-control-cse.gsc-control-cse-zh-TW table td.gsc-search-button {
  border: 0 !important;
}

.gsc-input-box {
  border: 0 !important;
}

.gsc-search-box.gsc-search-box-tools {
  margin-bottom: 2rem !important;
}

.table.gsc-search-box table td {
  border-bottom: 0 !important;
}

.gs-result .gs-title,
.gs-result .gs-title * {
  color: #116c72 !important;
}

.gsst_a .gscb_a {
  color: #ccc !important;
  line-height: 2rem !important;
}

.gs-webResult div.gs-visibleUrl {
  color: #ef5714 !important;
}

.gsc-search-button.gsc-search-button-v2 {
  border: 0 !important;
}

.gsc-search-button-v2,
.gsc-search-button-v2:hover,
.gsc-search-button-v2:focus {
  background-color: #116c72 !important;
}

.gsc-tabHeader {
  font-size: 1rem !important;
}

.gsc-search-button-v2 svg {
  vertical-align: middle;
}

.gsc-result-info-container,
.gsc-orderby-container {
  border: 0 !important;
}

.gsc-selected-option {
  white-space: nowrap;
}

:root {
  --dotSize: 12px;
}

@media screen and (max-width: 1120px) {
  .mpSlider .container {
    padding: 0 10px;
  }
}
.mpSlider .caption {
  position: absolute;
  width: 100%;
  height: 3.5em;
  line-height: 3.5em;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 20%, rgba(0, 0, 0, 0) 100%);
  padding: 0 2em;
  font-size: 1.375rem;
  font-weight: 500;
  color: #fff;
  margin: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  letter-spacing: 0.02em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .mpSlider .caption {
    width: 100%;
    height: 2em;
    line-height: 2em;
    left: 0;
    padding: 0 1em;
    font-size: 1rem;
  }
}
.mpSlider img {
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiperBox {
  position: relative;
}

.swiper img {
  display: block;
}

.swiperDots {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 25px;
}
.swiperDots .swiper-pagination-bullet {
  /* 點的顏色 */
  background: #fff;
  opacity: 0.4;
  width: var(--dotSize);
  height: var(--dotSize);
  border-radius: 0;
}
.swiperDots .swiper-pagination-bullet:hover, .swiperDots .swiper-pagination-bullet:focus-visible {
  opacity: 1;
  /* 點hover的顏色 */
  background: #21baff;
}
.swiperDots .swiper-pagination-bullet:focus-visible {
  opacity: 1;
  /* 點focus的顏色 */
  background: #ff3e4d;
}
.swiperDots .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
  /* 點 active 的顏色 */
  background: #fff;
}
.swiperDots .swiper-pagination-bullet.swiper-pagination-bullet-active:focus-visible {
  /* 點 active  focus的顏色 */
  box-shadow: 0 0 2px #116c72;
}
.swiperDots .swiper-pagination-bullet.noFonts {
  font-size: 0;
  margin: 0 12px;
}

.swiperArrow {
  position: absolute;
  cursor: pointer;
  top: 45%;
  transform: translateY(-50%);
  padding: 15px 10px;
  margin: 0;
  border-radius: 0;
  background: transparent;
  border: none;
  z-index: 9;
}
.swiperArrow::before {
  content: "";
  width: 40px;
  height: 50px;
  display: block;
  background: url("../vendor/swiper/ar.svg") center no-repeat;
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
}
.swiperArrow.prevSlider {
  left: 0;
}
.swiperArrow.nextSlider {
  right: 0;
}
.swiperArrow.nextSlider::before {
  transform: rotate(180deg);
}
.swiperArrow.swiperArrow-disabled {
  opacity: 0.65;
}

.eventsSlider {
  margin-bottom: 1em;
}
.eventsSlider .swiper {
  padding: 5px 10px;
}
.eventsSlider .swiper .swiper-wrapper > div:first-child .imgContainer {
  flex: 1 1 100%;
  margin-bottom: 0 !important;
}
.eventsSlider .swiper .swiper-wrapper > div:first-child img {
  aspect-ratio: auto;
}
.eventsSlider .swiper .swiper-wrapper > div:first-child .textBox {
  height: auto;
}
.eventsSlider .swiper .swiper-wrapper > div:first-child .textBox .title {
  font-size: 1.25rem;
  -webkit-line-clamp: 2;
}
.eventsSlider .swiper .swiper-wrapper .swiper-slide {
  display: flex;
  flex-direction: column;
}
.eventsSlider .swiper .swiper-wrapper .swiper-slide > div:first-child {
  margin-bottom: 30px;
}
.eventsSlider .swiper .imgContainer a {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.eventsSlider .swiper .imgContainer img {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.eventsSlider .swiper .imgContainer .textBox {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1em 1.2em;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: rgba(0, 0, 0, 0.5);
  transition: 0.3s ease-in;
}
.eventsSlider .swiper .imgContainer .textBox .title {
  color: #fff;
  margin: 0 0 0.5em;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 4.8rem;
  text-overflow: ellipsis;
  line-height: 1.5;
}
.eventsSlider .swiper .imgContainer .textBox ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.875rem;
}
.eventsSlider .swiper .imgContainer .textBox ul i {
  margin-right: 5px;
}
.eventsSlider .swiper .imgContainer .textBox ul i:before {
  background-color: #fff;
}
.eventsSlider .swiper .imgContainer:hover .textBox {
  background-color: rgba(0, 0, 0, 0.3);
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}
.eventsSlider .swiperArrow::before {
  content: "";
  -webkit-mask: url("../vendor/swiper/ar.svg") center no-repeat;
          mask: url("../vendor/swiper/ar.svg") center no-repeat;
  background: #a6a1a1;
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
}
.eventsSlider .swiperArrow.prevSlider {
  left: -50px;
}
.eventsSlider .swiperArrow.nextSlider {
  right: -50px;
}

.cpMainSlider {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
}
.cpMainSlider .swiper {
  background: #fff;
  overflow: hidden;
}
.cpMainSlider .swiperArrow::before {
  -webkit-mask: url("../vendor/swiper/ar.svg") center no-repeat;
          mask: url("../vendor/swiper/ar.svg") center no-repeat;
  background: #a6a1a1;
}
.cpMainSlider .swiperArrow.prevSlider {
  left: -60px;
}
.cpMainSlider .swiperArrow.nextSlider {
  right: -60px;
}
.cpMainSlider .swiperDots .swiper-pagination-bullet {
  /* 點的顏色 */
  background: #116c72;
}
.cpMainSlider .swiperDots .swiper-pagination-bullet:hover, .cpMainSlider .swiperDots .swiper-pagination-bullet:focus-visible {
  background: #21baff;
}
.cpMainSlider .swiperDots .swiper-pagination-bullet:focus-visible {
  background: #ff3e4d;
}
.cpMainSlider .swiperDots .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #116c72;
}
.cpMainSlider .swiperDots .swiper-pagination-bullet.swiper-pagination-bullet-active:focus-visible {
  box-shadow: 0 0 2px #116c72;
}
.cpMainSlider .imgContainer {
  overflow: hidden;
  position: relative;
  overflow: hidden;
}
.cpMainSlider .imgContainer img {
  width: 100%;
  aspect-ratio: 4/3;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.cpMainSlider .caption {
  padding: 0.85em 0.5em;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 10%, rgba(0, 0, 0, 0) 100%);
  color: #fff;
  font-size: 1rem;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition: 0.3s ease-out;
}
.cpMainSlider a {
  color: #555;
  display: block;
}
.cpMainSlider a:hover .caption, .cpMainSlider a:focus-visible .caption {
  transform: translateY(0);
}
.cpMainSlider .swiperArrow {
  padding: 0;
}

.cpSlider {
  margin-bottom: 40px;
}
.cpSlider .swiper {
  background: #fff;
  overflow: hidden;
}
.cpSlider .swiperArrow::before {
  -webkit-mask: url("../vendor/swiper/ar.svg") center no-repeat;
          mask: url("../vendor/swiper/ar.svg") center no-repeat;
  background: #a6a1a1;
}
.cpSlider .swiperArrow.prevSlider {
  left: -40px;
}
.cpSlider .swiperArrow.nextSlider {
  right: -40px;
}
.cpSlider .swiperDots .swiper-pagination-bullet {
  /* 點的顏色 */
  background: #116c72;
}
.cpSlider .swiperDots .swiper-pagination-bullet:hover, .cpSlider .swiperDots .swiper-pagination-bullet:focus-visible {
  background: #21baff;
}
.cpSlider .swiperDots .swiper-pagination-bullet:focus-visible {
  background: #ff3e4d;
}
.cpSlider .swiperDots .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #116c72;
}
.cpSlider .swiperDots .swiper-pagination-bullet.swiper-pagination-bullet-active:focus-visible {
  box-shadow: 0 0 2px #116c72;
}
.cpSlider .imgContainer {
  overflow: hidden;
  position: relative;
  overflow: hidden;
}
.cpSlider .imgContainer img {
  width: 100%;
  aspect-ratio: 4/3;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.cpSlider .caption {
  padding: 2em 0.85em 0.5em;
  position: absolute;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 10%, rgba(0, 0, 0, 0) 100%);
  color: #fff;
  bottom: 0;
  transform: translateY(100%);
  left: 0;
  font-size: 1rem;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition: 0.3s ease-out;
}
.cpSlider a {
  color: #555;
  display: block;
}
.cpSlider a:hover .caption, .cpSlider a:focus-visible .caption {
  transform: translateY(0);
}
.cpSlider .swiperArrow {
  padding: 0;
}

.navSlider {
  position: relative;
}
.navSlider .swiper-slide {
  max-height: 180px;
}
.navSlider .swiper-slide a {
  position: relative;
  display: block;
}
.navSlider .swiper-slide a img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.adSlider img {
  width: 100%;
  aspect-ratio: 2/1;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}

.mpSlider {
  margin-bottom: 40px;
}
.mpSlider .swiper {
  overflow: hidden;
  border-radius: 2.625em;
  box-shadow: 20px 0 0 0 rgba(255, 255, 255, 0.6), -20px 0 0 0 rgba(255, 255, 255, 0.6), 40px 0 0 0 rgba(255, 255, 255, 0.36), -40px 0 0 0 rgba(255, 255, 255, 0.36);
}
@media screen and (max-width: 1120px) {
  .mpSlider .swiper {
    margin: 0 20px;
    box-shadow: 10px 0 0 0 rgba(255, 255, 255, 0.6), -10px 0 0 0 rgba(255, 255, 255, 0.6), 20px 0 0 0 rgba(255, 255, 255, 0.36), -20px 0 0 0 rgba(255, 255, 255, 0.36);
  }
}
.mpSlider .imgContainer img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 5/2;
}

.adSlider {
  padding: 3% 0 0;
}
.adSlider .swiperBox {
  padding: 0 50px;
}

.archivesMonth {
  position: relative;
}
.archivesMonth .mainVision {
  padding: 1em 0;
}
.archivesMonth .mainVision .container {
  display: flex;
}
@media screen and (max-width: 767px) {
  .archivesMonth .mainVision .container {
    flex-wrap: wrap;
  }
}
.archivesMonth .mainVision .caption {
  margin-bottom: 2em;
  width: 400px;
  max-width: 100%;
  text-align: justify;
  color: #fff;
  text-shadow: 5px 5px 10px #1c9aa1, -5px -5px 10px #1c9aa1, 5px -5px 10px #1c9aa1, -5px 5px 10px #1c9aa1;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .archivesMonth .mainVision .caption {
    margin-bottom: 6em;
  }
}
.archivesMonth .mainVision .caption .bigTitle {
  font-size: 3.5rem;
  line-height: 1.5;
  letter-spacing: 0.813rem;
  color: #fff;
}
@media screen and (max-width: 575px) {
  .archivesMonth .mainVision .caption .bigTitle {
    letter-spacing: 0.2rem;
  }
}
.archivesMonth .mainVision .caption .subTitle {
  font-size: 2.25rem;
  text-transform: uppercase;
  color: #f3f8be;
  font-weight: bold;
  letter-spacing: 0.25rem;
  line-height: 1.5;
}
@media screen and (max-width: 575px) {
  .archivesMonth .mainVision .caption .subTitle {
    letter-spacing: 0;
  }
}
.archivesMonth .mainVision .caption p {
  margin: 0.5em 0;
}
.archivesMonth .imgBlock {
  position: relative;
  width: calc(100% - 400px);
  flex: 1 1 auto;
  transition: 0.3s;
}
@media screen and (max-width: 991px) {
  .archivesMonth .imgBlock {
    transform: scale(0.8);
  }
}
@media screen and (max-width: 767px) {
  .archivesMonth .imgBlock {
    transform-origin: right bottom;
    transform: scale(0.5);
    z-index: 1;
    flex-basis: 100%;
    margin-bottom: -20px;
  }
}
@media screen and (max-width: 575px) {
  .archivesMonth .imgBlock {
    transform-origin: center bottom;
    transform: scale(0.4);
  }
}
.archivesMonth .imgBlock > img {
  position: absolute;
}
.archivesMonth .imgBlock .woman02 {
  bottom: 0;
  left: 90px;
}
.archivesMonth .imgBlock .man02 {
  bottom: -60px;
  left: 280px;
  z-index: 1;
}
.archivesMonth .imgBlock .woman03 {
  bottom: 20px;
  left: 480px;
}
@media screen and (max-width: 1120px) {
  .archivesMonth .imgBlock .woman02 {
    left: 0;
  }
  .archivesMonth .imgBlock .man02 {
    left: 190px;
  }
  .archivesMonth .imgBlock .woman03 {
    left: 390px;
  }
}
.archivesMonth .round02 {
  position: absolute;
  right: 68%;
  top: 120px;
  width: 760px;
}
.archivesMonth .round03 {
  position: absolute;
  left: 70%;
  bottom: -20px;
  width: 700px;
}
.archivesMonth .mainBanner img {
  aspect-ratio: 4/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.archivesMonth .mainBanner + .linksGrp {
  margin-top: 2em;
  padding-top: 2em;
  background: url(../images/borderdots.png) repeat-x top left;
  background-size: 120px;
}
.archivesMonth .linksGrp .mainTitle {
  text-align: center;
}
.archivesMonth .linksGrp .mainTitle img {
  width: 250px;
}
.archivesMonth .linksGrp ul {
  list-style: none;
  padding: 0;
  margin: 3em 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.archivesMonth .linksGrp li {
  flex-basis: 150px;
  max-width: 50%;
}
.archivesMonth .linksGrp li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.125rem;
  color: #3a3a3a;
  font-weight: 500;
  transition: 0.2s ease-in;
  padding: 1em 0.5em;
  border-radius: 10px;
  background-color: #fff;
}
.archivesMonth .linksGrp li a img {
  width: 80px;
  max-width: 100%;
  max-height: 80px;
  margin-bottom: 1em;
}
.archivesMonth .linksGrp li a:hover {
  transform: translateY(-2px);
  color: rgb(15.3, 97.2, 102.6);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2);
}
.archivesMonth .linksGrp + .relatedEvents {
  padding-top: 2em;
  background: url(../images/borderdots.png) repeat-x top left;
  background-size: 120px;
}
.archivesMonth .relatedEvents .mainTitle {
  text-align: center;
}
.archivesMonth .relatedEvents .mainTitle img {
  width: 130px;
}
.archivesMonth .relatedEvents .flexForm {
  justify-content: center;
  font-size: 1.125rem;
  color: #5d5d5d;
  margin: 2.5em 0;
}
.archivesMonth .relatedEvents .formGrp {
  margin: 0.5em 1em;
  color: #272011;
  justify-content: center;
}
@media screen and (max-width: 575px) {
  .archivesMonth .relatedEvents .formGrp {
    margin: 0.5em 0;
    width: 100%;
  }
}
.archivesMonth .relatedEvents .formGrp + .formGrp {
  margin-left: 0;
}
.archivesMonth .relatedEvents .formGrp label {
  margin: 0;
}
.archivesMonth .relatedEvents .formGrp .tabStyle {
  display: block;
  padding: 0.45em 1.3em;
  cursor: pointer;
  background-color: #fff;
  position: relative;
}
.archivesMonth .relatedEvents .formGrp .tabStyle > span {
  position: relative;
  z-index: 1;
}
.archivesMonth .relatedEvents .formGrp .tabStyle + .tabStyle {
  margin-left: -3px;
}
.archivesMonth .relatedEvents .formGrp .tabStyle input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  display: block;
  border-radius: 0;
  border: 3px solid #272011;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.archivesMonth .relatedEvents .formGrp .tabStyle input[type=radio]:checked, .archivesMonth .relatedEvents .formGrp .tabStyle input[type=radio]:focus {
  background-color: #272011;
  box-shadow: none;
}
.archivesMonth .relatedEvents .formGrp .tabStyle input[type=radio]:checked + span, .archivesMonth .relatedEvents .formGrp .tabStyle input[type=radio]:focus + span {
  color: #fff;
}
.archivesMonth .relatedEvents .formGrp .tabStyle input[type=radio]:focus-visible {
  outline: 2px solid #ef5714;
}
.archivesMonth .relatedEvents .formGrp select {
  padding: 0.4em 2em 0.4em 1em;
  min-width: 120px;
  border-radius: 0;
  border-width: 0 0 2px 0;
  border-color: #272011;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: url(../images/icon/icon_arrow_down_dark.svg) no-repeat right 0.4em top 50%;
  background-size: 0.95rem;
}
.archivesMonth + .main {
  background-position: right -100px top 230px, left -30px top 95px;
}
.archivesMonth + .main .imgBlock .woman01 {
  top: 10px;
  z-index: 1;
}
.archivesMonth + .main .imgBlock .man01 {
  top: 15px;
}
.archivesMonth + .main .imgBlock .spots {
  top: 0;
  opacity: 0.7;
}
.archivesMonth + .main .imgBlock .round01 {
  top: 200px;
}
.archivesMonth + .main .webSearch {
  padding: 100px 0;
}

.mapSelect {
  display: flex;
  margin-top: 2em;
}
.mapSelect .leftBlock {
  flex-basis: 40%;
}
.mapSelect .rightBlock {
  flex-basis: 60%;
}
.mapSelect .locationText {
  text-align: center;
  font-size: 1.125rem;
  margin-bottom: 1em;
}
.mapSelect .eventList {
  margin: 0 1em 1em;
}
.mapSelect .eventList ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mapSelect .eventList li {
  flex-basis: 48%;
  padding: 0.25em 0;
  border-bottom: 1px dashed #ccc;
}
.mapSelect .eventList li a {
  display: block;
  padding: 0.25em 0;
  color: #3a3a3a;
}
.mapSelect .eventList li a:hover {
  color: #116c72;
}
.mapSelect .eventList li .title {
  font-size: 1.125rem;
  margin-bottom: 0.5em;
  font-weight: 600;
}
.mapSelect .eventList li .badge {
  display: inline-block;
  color: #fff;
  font-size: 0.8125rem;
  background-color: #116c72;
  border-radius: 1em;
  padding: 0 0.8em;
  font-weight: normal;
  line-height: 1.5;
  margin: 0 5px;
}
.mapSelect .eventList li p {
  margin: 0;
  font-size: 0.875rem;
}
.mapSelect .eventList.activity li a {
  display: flex;
}
.mapSelect .eventList.activity li a .picBox {
  max-width: 15%;
}

.mapCity {
  display: none;
}

.mapCity svg path,
.mapArea svg path {
  stroke: #ffffff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  box-shadow: none;
}
.mapCity svg text,
.mapArea svg text {
  color: #000;
  text-shadow: 0 0 0.2em #ffffff, 0 0 0.2em #ffffff, 0 0 0.2em #ffffff;
}
.mapCity svg a:focus,
.mapCity svg a:focus-visible,
.mapArea svg a:focus,
.mapArea svg a:focus-visible {
  outline: none;
}
.mapCity .st0,
.mapArea .st0 {
  fill: #a299ca;
}
.mapCity .st1,
.mapArea .st1 {
  fill: #e29e93;
}
.mapCity .st2,
.mapArea .st2 {
  fill: #edbc7a;
}
.mapCity .st3,
.mapArea .st3 {
  fill: #89c681;
}
.mapCity .st4,
.mapArea .st4 {
  fill: #84c0e9;
}
.mapCity a:hover .st0, .mapCity a.active .st0,
.mapArea a:hover .st0,
.mapArea a.active .st0 {
  fill: #7263b6;
}
.mapCity a:hover .st1, .mapCity a.active .st1,
.mapArea a:hover .st1,
.mapArea a.active .st1 {
  fill: #c74c2d;
}
.mapCity a:hover .st2, .mapCity a.active .st2,
.mapArea a:hover .st2,
.mapArea a.active .st2 {
  fill: #e37524;
}
.mapCity a:hover .st3, .mapCity a.active .st3,
.mapArea a:hover .st3,
.mapArea a.active .st3 {
  fill: #3b8731;
}
.mapCity a:hover .st4, .mapCity a.active .st4,
.mapArea a:hover .st4,
.mapArea a.active .st4 {
  fill: #2e7cb0;
}
.mapCity a .st0.active,
.mapArea a .st0.active {
  fill: #7263b6;
}
.mapCity a .st1.active,
.mapArea a .st1.active {
  fill: #c74c2d;
}
.mapCity a .st2.active,
.mapArea a .st2.active {
  fill: #e37524;
}
.mapCity a .st3.active,
.mapArea a .st3.active {
  fill: #3b8731;
}
.mapCity a .st4.active,
.mapArea a .st4.active {
  fill: #2e7cb0;
}
.mapCity .st5,
.mapArea .st5 {
  font-size: 2rem;
  pointer-events: none;
}
.mapCity .st6,
.mapArea .st6 {
  font-size: 1.5rem;
  pointer-events: none;
}

h1.title,
h2.title {
  color: #272011;
  font-size: 1.75rem;
  margin: 0.5em 0;
  font-weight: 500;
}

.cp h2.title {
  text-align: left;
  letter-spacing: 0;
}
.cp h3.title {
  font-size: 1.5em;
}
.cp h4.title {
  font-size: 1em;
  color: #3e8287;
  font-weight: bold;
  margin: 0.5em 0 0.25em 0;
}
.cp .pic,
.cp .picCenter {
  background: #f1f1f1;
  overflow: hidden;
  padding: 0.5em 0.5em 0.2em;
}
.cp .pic img,
.cp .picCenter img {
  margin: 0;
  display: block;
  width: 100%;
}
.cp .pic span,
.cp .picCenter span {
  text-align: center;
  display: block;
  font-size: 0.938em;
}
@media screen and (max-width: 767px) {
  .cp .pic,
  .cp .picCenter {
    float: none;
    max-width: 100%;
    width: auto;
    margin: 0px auto;
    display: block;
    margin-bottom: 0.5em;
  }
}
.cp .videoContainer a {
  position: relative;
  display: flex;
  margin: 0 auto;
  width: 600px;
  max-width: 100%;
}
.cp .videoContainer a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.2);
  transition: 0.3s;
}
.cp .videoContainer a::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background: url(../images/basic/icon_play.svg) no-repeat center;
  background-size: contain;
  opacity: 0.8;
  transition: 0.3s;
}
.cp .videoContainer a:hover::before {
  background-color: rgba(0, 0, 0, 0.05);
}
.cp .videoContainer a:hover::after {
  opacity: 0.9;
}
.cp .videoContainer img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.cp .pic {
  float: left;
  margin: 0px 1.5em 1em 0;
  width: auto;
  width: 45%;
  max-width: 400px;
}
.cp .pic img {
  float: none;
}
.cp .picCenter {
  margin: 0 auto 1em;
  width: 600px;
  max-width: 100%;
}
.cp .picCenter img {
  margin: 0 auto;
}
.cp table {
  background: #fff;
}
.cp img.floatLeft {
  float: left;
  margin: 0px 1em 1em 0;
  width: auto;
  max-width: 55%;
}
@media screen and (max-width: 767px) {
  .cp img.floatLeft {
    float: none;
    max-width: 100%;
    margin: 0px auto;
  }
}
.cp img.floatRight {
  float: right;
  margin: 0px 0 1em 1em;
  width: auto;
  max-width: 55%;
}
@media screen and (max-width: 767px) {
  .cp img.floatRight {
    float: none;
    max-width: 100%;
    margin: 0px auto;
  }
}
.cp a {
  text-decoration: none;
  color: #116c72;
  text-decoration: underline;
}
.cp a:hover, .cp a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
.cp a:focus-visible {
  outline: #ef5714 2px solid;
}
.cp .publishInfo {
  font-size: 0.875em;
  line-height: 1.5em;
  list-style: none;
  margin: 0 0 0.7em 0;
  border-left: solid 5px #116c72;
  padding: 0.8em 1.5em 0.8em;
  background: #f2f2f2;
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.cp .publishInfo li {
  flex: 1 1 33.3333333333%;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 991px) {
  .cp .publishInfo li {
    flex: 1 1 50%;
  }
}
@media screen and (max-width: 767px) {
  .cp .publishInfo li {
    flex: 1 1 100%;
  }
}
.cp .webLink {
  margin: 1em 0;
}
.cp .webLink ol,
.cp .webLink ul {
  padding: 0;
  margin: 0;
  list-style-position: inside;
}
.cp .webLink li {
  position: relative;
  padding: 0.85em 0.25em;
  border-bottom: solid 1px #eee;
  margin-bottom: 0;
}
.cp .webLink li a {
  padding-left: 0.5em;
  display: inline-block;
  text-decoration: none;
  color: #3a3a3a;
}
.cp .webLink li a:hover, .cp .webLink li a:focus-visible {
  color: rgb(15.3, 97.2, 102.6);
  cursor: pointer;
}
.cp .webLink li a:focus-visible {
  outline: #ef5714 2px solid;
}
.cp .fileDownload {
  width: 100%;
  margin: 0 auto 2em;
  clear: both;
  zoom: 1;
}
.cp .fileDownload:before, .cp .fileDownload:after {
  content: "";
  display: table;
}
.cp .fileDownload:after {
  clear: both;
}
.cp .fileDownload ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.cp .fileDownload li {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 0.85em 0.25em;
  margin-bottom: 0;
  border-bottom: solid 1px #eee;
}
.cp .fileDownload li .fileName {
  line-height: 1.8em;
  margin: 0.2em 0.5em 0.2em 0;
  color: #222;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .cp .fileDownload li .fileName {
    flex-basis: 100%;
  }
}
.cp .fileDownload li .fileName ~ span {
  flex: 0 0 auto;
  margin: 0.2em;
  font-size: 0.875em;
  line-height: 1.5em;
  vertical-align: middle;
  color: #367d82;
}
.cp .fileDownload li .fileName ~ span a {
  color: #fff;
  display: inline-block;
  margin-right: 8px;
  text-decoration: none;
}
.cp .fileDownload li span.file_doc a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_doc a:hover, .cp .fileDownload li span.file_doc a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_docx a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_docx a:hover, .cp .fileDownload li span.file_docx a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_odt a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_odt a:hover, .cp .fileDownload li span.file_odt a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_xls a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_xls a:hover, .cp .fileDownload li span.file_xls a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_xlsx a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_xlsx a:hover, .cp .fileDownload li span.file_xlsx a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_csv a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_csv a:hover, .cp .fileDownload li span.file_csv a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_ods a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_ods a:hover, .cp .fileDownload li span.file_ods a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_ppt a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_ppt a:hover, .cp .fileDownload li span.file_ppt a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_pptx a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_pptx a:hover, .cp .fileDownload li span.file_pptx a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_odp a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_odp a:hover, .cp .fileDownload li span.file_odp a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_zip a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_zip a:hover, .cp .fileDownload li span.file_zip a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_7z a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_7z a:hover, .cp .fileDownload li span.file_7z a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_txt a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_txt a:hover, .cp .fileDownload li span.file_txt a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_mov a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_mov a:hover, .cp .fileDownload li span.file_mov a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_mp3 a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_mp3 a:hover, .cp .fileDownload li span.file_mp3 a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_jpg a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_jpg a:hover, .cp .fileDownload li span.file_jpg a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_wmv a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_wmv a:hover, .cp .fileDownload li span.file_wmv a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_mp4 a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_mp4 a:hover, .cp .fileDownload li span.file_mp4 a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_pdf a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_pdf a:hover, .cp .fileDownload li span.file_pdf a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span.file_other a {
  color: #fff;
  font-weight: bold;
  padding: 0.2em 0.8em;
  border-radius: 3px;
}
.cp .fileDownload li span.file_other a:hover, .cp .fileDownload li span.file_other a:focus-visible {
  color: #fff;
}
.cp .fileDownload li span {
  display: flex;
  align-items: center;
}
.cp .fileDownload li span.file_doc a, .cp .fileDownload li span.file_docx a, .cp .fileDownload li span.file_odt a {
  background: #275cb7;
}
.cp .fileDownload li span.file_doc a:hover, .cp .fileDownload li span.file_doc a:focus-visible, .cp .fileDownload li span.file_docx a:hover, .cp .fileDownload li span.file_docx a:focus-visible, .cp .fileDownload li span.file_odt a:hover, .cp .fileDownload li span.file_odt a:focus-visible {
  background: rgb(34.5202702703, 81.4324324324, 161.9797297297);
}
.cp .fileDownload li span.file_xls a, .cp .fileDownload li span.file_xlsx a, .cp .fileDownload li span.file_csv a, .cp .fileDownload li span.file_ods a {
  background: #387947;
}
.cp .fileDownload li span.file_xls a:hover, .cp .fileDownload li span.file_xls a:focus-visible, .cp .fileDownload li span.file_xlsx a:hover, .cp .fileDownload li span.file_xlsx a:focus-visible, .cp .fileDownload li span.file_csv a:hover, .cp .fileDownload li span.file_csv a:focus-visible, .cp .fileDownload li span.file_ods a:hover, .cp .fileDownload li span.file_ods a:focus-visible {
  background: rgb(47.9322033898, 103.5677966102, 60.7711864407);
}
.cp .fileDownload li span.file_ppt a, .cp .fileDownload li span.file_pptx a, .cp .fileDownload li span.file_odp a, .cp .fileDownload li span.file_pdf a {
  background: #c55a3b;
}
.cp .fileDownload li span.file_ppt a:hover, .cp .fileDownload li span.file_ppt a:focus-visible, .cp .fileDownload li span.file_pptx a:hover, .cp .fileDownload li span.file_pptx a:focus-visible, .cp .fileDownload li span.file_odp a:hover, .cp .fileDownload li span.file_odp a:focus-visible, .cp .fileDownload li span.file_pdf a:hover, .cp .fileDownload li span.file_pdf a:focus-visible {
  background: rgb(177.8661417323, 80.7657480315, 52.6338582677);
}
.cp .fileDownload li span.file_pdf a {
  background: #c00;
}
.cp .fileDownload li span.file_pdf a:hover, .cp .fileDownload li span.file_pdf a:focus-visible {
  background: rgb(178.5, 0, 0);
}
.cp .fileDownload li span.file_zip a, .cp .fileDownload li span.file_7z a {
  background: #eb712e;
}
.cp .fileDownload li span.file_zip a:hover, .cp .fileDownload li span.file_zip a:focus-visible, .cp .fileDownload li span.file_7z a:hover, .cp .fileDownload li span.file_7z a:focus-visible {
  background: rgb(232.7729257642, 97.1877729258, 22.7270742358);
}
.cp .fileDownload li span.file_txt a, .cp .fileDownload li span.file_other a {
  background: #555;
}
.cp .fileDownload li span.file_txt a:hover, .cp .fileDownload li span.file_txt a:focus-visible, .cp .fileDownload li span.file_other a:hover, .cp .fileDownload li span.file_other a:focus-visible {
  background: rgb(72.25, 72.25, 72.25);
}
.cp .fileDownload li span.file_mov a {
  background: #009999;
}
.cp .fileDownload li span.file_mov a:hover, .cp .fileDownload li span.file_mov a:focus-visible {
  background: rgb(0, 127.5, 127.5);
}
.cp .fileDownload li span.file_mp3 a, .cp .fileDownload li span.file_mp4 a {
  background: #088ecc;
}
.cp .fileDownload li span.file_mp3 a:hover, .cp .fileDownload li span.file_mp3 a:focus-visible, .cp .fileDownload li span.file_mp4 a:hover, .cp .fileDownload li span.file_mp4 a:focus-visible {
  background: rgb(7.0377358491, 124.9198113208, 179.4622641509);
}
.cp .fileDownload li span.file_jpg a {
  background: #6c29a4;
}
.cp .fileDownload li span.file_jpg a:hover, .cp .fileDownload li span.file_jpg a:focus-visible {
  background: rgb(94.5658536585, 35.9, 143.6);
}
.cp .fileDownload li span.file_wmv a {
  background: #430a1f;
}
.cp .fileDownload li span.file_wmv a:hover, .cp .fileDownload li span.file_wmv a:focus-visible {
  background: rgb(44.8116883117, 6.6883116883, 20.7337662338);
}

.imgGallery {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
  align-items: flex-start;
}
.imgGallery .imgContainer {
  overflow: hidden;
  margin: 0 15px 15px;
  flex-basis: calc(50% - 30px);
  background: #f1f1f1;
  padding: 0.5em;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 767px) {
  .imgGallery .imgContainer {
    flex-basis: 100%;
  }
}
.imgGallery .imgContainer .caption {
  padding: 0.5em 0;
  color: #3a3a3a;
  font-size: 1rem;
  width: 100%;
}
.imgGallery .imgContainer a {
  color: #555;
  display: block;
  text-decoration: none;
}
.mapContent {
  display: flex;
  padding: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
  background-color: #fff;
}
.mapContent iframe {
  width: 100%;
  height: 450px;
}

.moreDetail {
  display: flex;
  flex-wrap: wrap;
}
.moreDetail .toggleDetailBtn {
  margin: 2em auto;
  background-color: #116c72;
  color: #fff;
}
.moreDetail .detailContent {
  width: 100%;
  display: none;
  transition: 0.5s ease-out;
  transform-origin: top center;
  height: 0;
}
.moreDetail .detailContent.active {
  display: block;
  height: 100%;
}

.sp h2.title + button {
  float: right;
}
.sp h2.title + button + .howtoBlock {
  padding-right: 180px;
}
.sp h3.title {
  font-size: 1.5em;
}
.sp .flexForm .formTitle {
  background-color: transparent;
  color: #3a3a3a;
  display: block;
  margin-top: 3px;
}
.sp .flexForm .formGrp {
  border-bottom-style: dashed;
  padding: 0.3em 0;
}
.sp .flexForm .btnAdd,
.sp .flexForm .btnAddFile {
  flex: 0 0 auto;
  width: auto;
  background: #ef5714;
  border: 2px solid rgb(240.625498008, 104.0677290837, 43.874501992);
  border-radius: 2em;
  color: #fff;
}
.sp .flexForm .btnAdd:hover,
.sp .flexForm .btnAddFile:hover {
  background: rgb(194.7410358566, 68.780876494, 13.2589641434);
  cursor: pointer;
  color: #fff;
  outline: none;
}
.sp .flexForm .btnAdd:focus-visible,
.sp .flexForm .btnAddFile:focus-visible {
  background: rgb(194.7410358566, 68.780876494, 13.2589641434);
  border: 1px solid rgb(146.9920318725, 51.9163346614, 10.0079681275);
  cursor: pointer;
  color: #fff;
  outline: none;
  box-shadow: 0 0px 0px 2px #ef5714;
}
.sp .flexForm .btnAdd.active,
.sp .flexForm .btnAddFile.active {
  background: rgb(240.625498008, 104.0677290837, 43.874501992);
  cursor: pointer;
}
.sp .flexForm .btnAdd:focus-visible,
.sp .flexForm .btnAddFile:focus-visible {
  outline: 2px solid #116c72;
}

.sessionsGrp {
  width: 100%;
}

.sessionForm {
  width: 100%;
  border: 1px solid #ccc;
  padding: 0 1em 1em;
  background-color: #f5f5f5;
  border-radius: 0.2em;
  margin-top: 1em;
}
.sessionForm .order {
  display: inline-block;
  background-color: #116c72;
  color: #fff;
  padding: 0.2em 1em;
  border-radius: 0 0 0.5em 0.5em;
}
.sessionForm .order .num {
  display: inline-block;
  margin: 0 2px;
}

.colorA a:hover {
  color: #298729;
}
.colorA .fontSize ul li button:hover, .colorA .fontSize ul li button:focus, .colorA .fontSize ul li button.active,
.colorA .fontSize ul li a:hover,
.colorA .fontSize ul li a:focus,
.colorA .fontSize ul li a.active {
  background: rgb(36.9, 121.5, 36.9);
  color: #fff;
}
.colorA a.goCenter {
  background: #298729;
}
.colorA a.goCenter:hover, .colorA a.goCenter:focus-visible {
  background: rgb(52.8806818182, 174.1193181818, 52.8806818182);
}
.colorA .no-js noscript {
  border-color: #298729;
}
.colorA .no-js noscript a {
  color: #298729;
}
.colorA .no-js noscript a:hover, .colorA .no-js noscript a:focus-visible {
  color: rgb(36.9, 121.5, 36.9);
}
.colorA .gs-result .gs-title,
.colorA .gs-result .gs-title * {
  color: #298729 !important;
}
.colorA .gs-webResult div.gs-visibleUrl {
  color: #ef5714 !important;
}
.colorA .gsc-search-button-v2,
.colorA .gsc-search-button-v2:hover,
.colorA .gsc-search-button-v2:focus {
  background-color: #298729 !important;
}
.colorA blockquote {
  border-color: #298729;
}
.colorA .btnSubmit {
  background: #298729;
  border-color: #298729;
}
.colorA .btnSearch {
  background: #298729;
  border-color: #298729;
}
.colorA .btnPrimary {
  background: #298729;
  color: #fff;
  border-color: #298729;
}
.colorA .btnPrimary:hover, .colorA .btnPrimary:focus-visible {
  background: rgb(29.1193181818, 95.8806818182, 29.1193181818);
  border-color: #298729;
}
.colorA .btnSecondary {
  color: rgb(23.1789772727, 76.3210227273, 23.1789772727);
  border-color: #298729;
}
.colorA .btnSecondary:hover, .colorA .btnSecondary:focus-visible {
  color: rgb(5.3579545455, 17.6420454545, 5.3579545455);
  background: rgb(46.9403409091, 154.5596590909, 46.9403409091);
  border-color: rgb(46.9403409091, 154.5596590909, 46.9403409091);
}
.colorA .category a:hover, .colorA .category a:focus, .colorA .category a.active {
  color: #fff;
  background: rgb(46.9403409091, 154.5596590909, 46.9403409091);
  border-color: rgb(46.9403409091, 154.5596590909, 46.9403409091);
}
.colorA div.function ul li button,
.colorA div.function ul li a {
  color: #fff;
}
.colorA div.function ul li button:hover, .colorA div.function ul li button:focus-visible,
.colorA div.function ul li a:hover,
.colorA div.function ul li a:focus-visible {
  background: rgb(36.9, 121.5, 36.9);
  border-color: rgb(36.9, 121.5, 36.9);
}
.colorA .language ul li a {
  color: #fff;
}
.colorA .language ul li a:hover, .colorA .language ul li a:focus-visible {
  background: #298729;
  border-inline: rgb(36.9, 121.5, 36.9) 2px solid;
}
.colorA .fatFooter .btnFatFooter {
  background: #298729;
}
.colorA .fatFooter .btnFatFooter:hover, .colorA .fatFooter .btnFatFooter:focus {
  background: rgb(29.1193181818, 95.8806818182, 29.1193181818);
}
.colorA .fatFooter nav > ul > li > a {
  color: #298729;
}
.colorA footer a {
  color: #298729;
}
.colorA footer a:hover, .colorA footer a:focus-visible {
  color: rgb(29.1193181818, 95.8806818182, 29.1193181818);
}
.colorA footer .footerLink li a {
  color: #fff;
  background: #298729;
}
.colorA footer .footerLink li a:hover, .colorA footer .footerLink li a:focus-visible {
  background: rgb(29.1193181818, 95.8806818182, 29.1193181818);
}
.colorA footer .update em,
.colorA footer .counter em {
  color: #298729;
}
.colorA footer .footerIcon a:focus-visible:after {
  box-shadow: 0px 0px 0px 1px rgb(36.9, 121.5, 36.9) inset;
}
.colorA .sidebarCtrlBtn::before {
  background: #298729;
  box-shadow: #298729 0 6px 0 0, #298729 0 -6px 0 0;
}
.colorA .sidebarCtrlBtn::after {
  background: #298729;
}
.colorA .sidebarCtrlBtn:hover::before {
  box-shadow: none;
}
.colorA .lp .list > ul,
.colorA .lp .list ol {
  border-top: 2px solid #298729;
}
.colorA .lp .list > ul > li > a:hover,
.colorA .lp .list ol > li > a:hover {
  color: rgb(36.9, 121.5, 36.9);
}
.colorA .mainMenu > ul > li > a {
  color: #3a3a3a;
}
.colorA .mainMenu > ul > li > a:focus-visible {
  box-shadow: 0 0 0 2px inset rgb(36.9, 121.5, 36.9);
}
.colorA .mainMenu > ul > li.active > a, .colorA .mainMenu > ul > li:hover > a {
  color: rgb(36.9, 121.5, 36.9);
}
.colorA .mainMenu > ul > li.active > a:after, .colorA .mainMenu > ul > li:hover > a:after {
  border-color: rgb(36.9, 121.5, 36.9);
}
.colorA .mainMenu ul li ul li a {
  color: #fff;
}
.colorA .mainMenu ul li ul li a:hover, .colorA .mainMenu ul li ul li a:focus-visible {
  color: #fff;
  background: rgb(36.9, 121.5, 36.9);
}
.colorA .mainMenu ul li ul li.hasChild > a:hover, .colorA .mainMenu ul li ul li.hasChild > a:focus-visible {
  background: #298729;
}
.colorA .modal h2 {
  border-color: #298729;
}
.colorA .pagination span {
  color: #298729;
}
.colorA .pagination .page li a:hover, .colorA .pagination .page li a:focus-visible {
  color: #fff;
  background: #298729;
  border-color: #298729;
}
.colorA .pagination .page li.active a {
  background: #298729;
  border-color: rgb(35.0596590909, 115.4403409091, 35.0596590909);
}
.colorA .cpSlider .swiper h3 {
  border-color: #298729;
}
.colorA .tabSet {
  margin: 30px auto;
}
.colorA .tabSet .tabItems button:focus-visible {
  box-shadow: 0 0px 0px 2px rgb(62.4, 147, 62.4) inset;
}
.colorA .tabSet .tabItems button.active {
  background: #298729;
}
.colorA .tabContent a:focus {
  box-shadow: 0 0px 0px 2px rgb(62.4, 147, 62.4) inset;
}
@media screen and (max-width: 767px) {
  .colorA .tabContent a:focus {
    box-shadow: none;
  }
}
.colorA .cp a {
  color: #298729;
}
.colorA .cp a:hover, .colorA .cp a:focus-visible {
  color: rgb(35.0596590909, 115.4403409091, 35.0596590909);
}
.colorA .cp .publishInfo {
  border-color: #298729;
}
.colorA .fileDownload h3 {
  border-color: #298729;
}
.colorA .webLink h3 {
  border-color: #298729;
}
.colorA .webLink li a {
  color: #000;
}
.colorA em[tooltip] {
  color: #298729;
}
.colorA .leftBlock .banner .item a:focus-visible:after {
  box-shadow: 0px 0px 0px 2px rgb(46.9403409091, 154.5596590909, 46.9403409091) inset;
}
.colorA a.more {
  color: #298729;
  border-color: #298729;
}
.colorA a.more:before {
  background: #298729;
}
.colorA .adSlider .imgContainer:focus-visible:before {
  box-shadow: 0 0px 0px 3px #298729 inset;
}
.colorA .cascading li a {
  border-color: #298729;
}
.colorA .cascading li a:hover, .colorA .cascading li a:focus-visible {
  color: #298729;
}
.colorA .submenu li a:hover, .colorA .submenu li a:focus-visible {
  border-color: rgb(36.9, 121.5, 36.9);
  color: rgb(36.9, 121.5, 36.9);
}
.colorA button:focus-visible,
.colorA input[type=text]:focus-visible,
.colorA input[type=reset]:focus-visible,
.colorA input[type=file]:focus-visible,
.colorA input[type=tel]:focus-visible,
.colorA input[type=email]:focus-visible,
.colorA input[type=password]:focus-visible,
.colorA textarea:focus-visible,
.colorA select:focus-visible {
  border-color: rgb(46.9403409091, 154.5596590909, 46.9403409091);
  box-shadow: 0px 0px 0px 2px rgb(46.9403409091, 154.5596590909, 46.9403409091);
}
.colorA input[type=checkbox]:checked,
.colorA input[type=checkbox]:focus,
.colorA input[type=radio]:checked,
.colorA input[type=radio]:focus {
  border-color: #298729;
  background-color: #298729;
  outline: none;
}
.colorA input[type=radio]:checked {
  box-shadow: #fff 0 0 0 3px inset, #298729 0 0 0 2px;
}
.colorA .accordion ul li .accordionList {
  color: #fff;
  background-color: #298729;
}
.colorA .accordion ul li .accordionContent a {
  color: #298729;
}
.colorA .accordion ul li .accordionContent a:hover {
  color: rgb(17.2386363636, 56.7613636364, 17.2386363636);
}
.colorA .tabContent a {
  color: #3a3a3a;
}
.colorA .tabContent a:hover {
  color: rgb(17.2386363636, 56.7613636364, 17.2386363636);
}
.colorA .breadcrumb a {
  color: #3a3a3a;
}
.colorA .breadcrumb a:hover {
  color: rgb(17.2386363636, 56.7613636364, 17.2386363636);
}

.colorB a:hover {
  color: #c32727;
}
.colorB .fontSize ul li button:hover, .colorB .fontSize ul li button:focus, .colorB .fontSize ul li button.active,
.colorB .fontSize ul li a:hover,
.colorB .fontSize ul li a:focus,
.colorB .fontSize ul li a.active {
  background: rgb(0, 147.6, 224.1);
  color: #fff;
}
.colorB a.goCenter {
  background: #c32727;
}
.colorB a.goCenter:hover, .colorB a.goCenter:focus-visible {
  background: rgb(217.5, 67.5, 67.5);
}
.colorB .no-js noscript {
  border-color: #c32727;
}
.colorB .no-js noscript a {
  color: #c32727;
}
.colorB .no-js noscript a:hover, .colorB .no-js noscript a:focus-visible {
  color: rgb(0, 147.6, 224.1);
}
.colorB .gs-result .gs-title,
.colorB .gs-result .gs-title * {
  color: #c32727 !important;
}
.colorB .gs-webResult div.gs-visibleUrl {
  color: #ef5714 !important;
}
.colorB .gsc-search-button-v2,
.colorB .gsc-search-button-v2:hover,
.colorB .gsc-search-button-v2:focus {
  background-color: #c32727 !important;
}
.colorB blockquote {
  border-color: #c32727;
}
.colorB .btnSubmit {
  background: #c32727;
  border-color: #c32727;
}
.colorB .btnSearch {
  background: #c32727;
  border-color: #c32727;
}
.colorB .btnPrimary {
  background: #c32727;
  color: #fff;
  border-color: #c32727;
}
.colorB .btnPrimary:hover, .colorB .btnPrimary:focus-visible {
  background: rgb(152.5, 30.5, 30.5);
  border-color: #c32727;
}
.colorB .btnSecondary {
  color: rgb(131.25, 26.25, 26.25);
  border-color: #c32727;
}
.colorB .btnSecondary:hover, .colorB .btnSecondary:focus-visible {
  color: rgb(67.5, 13.5, 13.5);
  background: rgb(213.25, 46.25, 46.25);
  border-color: rgb(213.25, 46.25, 46.25);
}
.colorB .category a:hover, .colorB .category a:focus, .colorB .category a.active {
  color: #fff;
  background: rgb(213.25, 46.25, 46.25);
  border-color: rgb(213.25, 46.25, 46.25);
}
.colorB div.function ul li button,
.colorB div.function ul li a {
  color: #fff;
}
.colorB div.function ul li button:hover, .colorB div.function ul li button:focus-visible,
.colorB div.function ul li a:hover,
.colorB div.function ul li a:focus-visible {
  background: rgb(0, 147.6, 224.1);
  border-color: rgb(0, 147.6, 224.1);
}
.colorB .language ul li a {
  color: #fff;
}
.colorB .language ul li a:hover, .colorB .language ul li a:focus-visible {
  background: #c32727;
  border-inline: rgb(0, 147.6, 224.1) 2px solid;
}
.colorB .fatFooter .btnFatFooter {
  background: #c32727;
}
.colorB .fatFooter .btnFatFooter:hover, .colorB .fatFooter .btnFatFooter:focus {
  background: rgb(152.5, 30.5, 30.5);
}
.colorB .fatFooter nav > ul > li > a {
  color: #c32727;
}
.colorB footer a {
  color: #c32727;
}
.colorB footer a:hover, .colorB footer a:focus-visible {
  color: rgb(152.5, 30.5, 30.5);
}
.colorB footer .footerLink li a {
  color: #fff;
  background: #c32727;
}
.colorB footer .footerLink li a:hover, .colorB footer .footerLink li a:focus-visible {
  background: rgb(152.5, 30.5, 30.5);
}
.colorB footer .update em,
.colorB footer .counter em {
  color: #c32727;
}
.colorB footer .footerIcon a:focus-visible:after {
  box-shadow: 0px 0px 0px 1px rgb(0, 147.6, 224.1) inset;
}
.colorB .sidebarCtrlBtn::before {
  background: #c32727;
  box-shadow: #c32727 0 6px 0 0, #c32727 0 -6px 0 0;
}
.colorB .sidebarCtrlBtn::after {
  background: #c32727;
}
.colorB .sidebarCtrlBtn:hover::before {
  box-shadow: none;
}
.colorB .lp .list > ul,
.colorB .lp .list ol {
  border-top: 2px solid #c32727;
}
.colorB .lp .list > ul > li > a:hover,
.colorB .lp .list ol > li > a:hover {
  color: rgb(0, 147.6, 224.1);
}
.colorB .mainMenu > ul > li > a {
  color: #3a3a3a;
}
.colorB .mainMenu > ul > li > a:focus-visible {
  box-shadow: 0 0 0 2px inset rgb(0, 147.6, 224.1);
}
.colorB .mainMenu > ul > li.active > a, .colorB .mainMenu > ul > li:hover > a {
  color: rgb(0, 147.6, 224.1);
}
.colorB .mainMenu > ul > li.active > a:after, .colorB .mainMenu > ul > li:hover > a:after {
  border-color: rgb(0, 147.6, 224.1);
}
.colorB .mainMenu ul li ul li a {
  color: #fff;
}
.colorB .mainMenu ul li ul li a:hover, .colorB .mainMenu ul li ul li a:focus-visible {
  color: #fff;
  background: rgb(0, 147.6, 224.1);
}
.colorB .mainMenu ul li ul li.hasChild > a:hover, .colorB .mainMenu ul li ul li.hasChild > a:focus-visible {
  background: #c32727;
}
.colorB .modal h2 {
  border-color: #c32727;
}
.colorB .pagination span {
  color: #c32727;
}
.colorB .pagination .page li a:hover, .colorB .pagination .page li a:focus-visible {
  color: #fff;
  background: #c32727;
  border-color: #c32727;
}
.colorB .pagination .page li.active a {
  background: #00a4f9;
  border-color: rgb(0, 147.2048192771, 223.5);
}
.colorB .cpSlider .swiper h3 {
  border-color: #c32727;
}
.colorB .tabSet {
  margin: 30px auto;
}
.colorB .tabSet .tabItems button:focus-visible {
  box-shadow: 0 0px 0px 2px rgb(25.5, 173.1, 249.6) inset;
}
.colorB .tabSet .tabItems button.active {
  background: #c32727;
}
.colorB .tabContent a:focus {
  box-shadow: 0 0px 0px 2px rgb(25.5, 173.1, 249.6) inset;
}
@media screen and (max-width: 767px) {
  .colorB .tabContent a:focus {
    box-shadow: none;
  }
}
.colorB .cp a {
  color: #c32727;
}
.colorB .cp a:hover, .colorB .cp a:focus-visible {
  color: rgb(173.75, 34.75, 34.75);
}
.colorB .cp .publishInfo {
  border-color: #c32727;
}
.colorB .fileDownload h3 {
  border-color: #c32727;
}
.colorB .webLink h3 {
  border-color: #c32727;
}
.colorB .webLink li a {
  color: #000;
}
.colorB em[tooltip] {
  color: #c32727;
}
.colorB .leftBlock .banner .item a:focus-visible:after {
  box-shadow: 0px 0px 0px 2px rgb(213.25, 46.25, 46.25) inset;
}
.colorB a.more {
  color: #c32727;
  border-color: #c32727;
}
.colorB a.more:before {
  background: #c32727;
}
.colorB .adSlider .imgContainer:focus-visible:before {
  box-shadow: 0 0px 0px 3px #c32727 inset;
}
.colorB .cascading li a {
  border-color: #c32727;
}
.colorB .cascading li a:hover, .colorB .cascading li a:focus-visible {
  color: #c32727;
}
.colorB .submenu li a:hover, .colorB .submenu li a:focus-visible {
  border-color: rgb(0, 147.6, 224.1);
  color: rgb(0, 147.6, 224.1);
}
.colorB button:focus-visible,
.colorB input[type=text]:focus-visible,
.colorB input[type=reset]:focus-visible,
.colorB input[type=file]:focus-visible,
.colorB input[type=tel]:focus-visible,
.colorB input[type=email]:focus-visible,
.colorB input[type=password]:focus-visible,
.colorB textarea:focus-visible,
.colorB select:focus-visible {
  border-color: rgb(213.25, 46.25, 46.25);
  box-shadow: 0px 0px 0px 2px rgb(213.25, 46.25, 46.25);
}
.colorB input[type=checkbox]:checked,
.colorB input[type=checkbox]:focus,
.colorB input[type=radio]:checked,
.colorB input[type=radio]:focus {
  border-color: #c32727;
  background-color: #c32727;
  outline: none;
}
.colorB input[type=radio]:checked {
  box-shadow: #fff 0 0 0 3px inset, #c32727 0 0 0 2px;
}
.colorB .accordion ul li .accordionList {
  color: #fff;
  background-color: #c32727;
}
.colorB .accordion ul li .accordionContent a {
  color: #c32727;
}
.colorB .accordion ul li .accordionContent a:hover {
  color: #6e1616;
}
.colorB .tabContent a {
  color: #3a3a3a;
}
.colorB .tabContent a:hover {
  color: #6e1616;
}
.colorB .breadcrumb a {
  color: #3a3a3a;
}
.colorB .breadcrumb a:hover {
  color: #6e1616;
}

@media print {
  .main,
  .content, body {
    background: none;
  }
  /* -------------------------------不需要列印的區塊，請放置於這----//*/
  header,
  .fatFooter,
  footer,
  .accessKey,
  .submenu {
    display: none;
  }
  /* -------------------------------各別顯示設定----//*/
  body {
    background: transparent;
    float: none;
    width: 100%;
    -webkit-print-color-adjust: exact;
  }
  .container {
    margin: 0px auto;
    max-width: 100% !important;
    width: 100% !important;
    position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
  .cp {
    position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
  .innerPage {
    margin-top: 0 !important;
  }
  .innerPage > .container {
    display: block !important;
  }
  .innerPage > .container .centerBlock {
    overflow: hidden;
  }
  .innerPage > .container .leftBlock {
    float: left !important;
    width: 260px !important;
  }
  .main,
  .content {
    position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    box-shadow: none;
    float: none;
    clear: both;
    zoom: 1;
    padding-top: 0px !important;
  }
  .main:before, .main:after,
  .content:before,
  .content:after {
    content: "";
    display: table;
  }
  .main:after,
  .content:after {
    clear: both;
  }
  .main img.floatLeft,
  .content img.floatLeft {
    float: right;
    max-width: 50%;
    margin: 0px 1em 1em 0;
  }
  .main img.floatRight,
  .content img.floatRight {
    float: right;
    max-width: 50%;
    margin: 0px 0 1em 1em;
  }
  .main a:link,
  .main a:visited,
  .main a,
  .content a:link,
  .content a:visited,
  .content a {
    background: transparent;
    color: #222;
    font-weight: bold;
    text-decoration: underline;
    text-align: left;
    word-wrap: break-word;
  }
  .main p a,
  .content p a {
    word-wrap: break-word;
  }
  .main p a[href^=http]:after,
  .content p a[href^=http]:after {
    content: " (" attr(href) ")";
    font-size: 90%;
  }
  .main p a[href^="#"]:after,
  .content p a[href^="#"]:after {
    display: none;
  }
  .main abbr[title]:after,
  .content abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .main table,
  .content table {
    background: #fff;
  }
  .main li,
  .content li {
    content: "» ";
  }
  /* 檔案下載*/
  .fileDownload a {
    display: block !important;
    clear: both !important;
    width: 100% !important;
  }
  .fileDownload .update,
  .fileDownload .fileView {
    float: none !important;
    width: 30% !important;
    display: inline-block !important;
    margin-left: 3em;
  }
  *,
  *:before,
  *:after,
  *:first-letter,
  p:first-line,
  div:first-line,
  blockquote:first-line,
  li:first-line {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  thead {
    display: table-header-group;
    /* 表格即使分頁也會顯示表頭 */
  }
}/*# sourceMappingURL=style.css.map */