@charset "UTF-8";
.footer .footer_inner .nav_area .sub_nav ul.nav_list li.list_item a[target=_blank]:after, .header_inner .nav .sub_nav ul.nav_list li.list_item a[target=_blank]:after {
  content: "\f08e";
  display: inline-block;
  margin-left: 0.3em;
  color: #989898;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  min-width: initial;
}

header.header, footer.footer, .isfw_footer > .pagetop {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .is-sp {
    display: none;
  }
  .is-pc {
    display: inline-block;
  }
  .research-table td {
    display: table-cell !important;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
  }
}
@media only screen and (max-width: 767px) {
  /*!
   * ress.css • v2.0.4
   * MIT License
   * github.com/filipelinhares/ress
   */
  html {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    word-break: normal;
    -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
  }
  *, :after, :before {
    background-repeat: no-repeat;
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
  }
  :after, :before {
    text-decoration: inherit;
    vertical-align: inherit;
  }
  * {
    padding: 0;
    margin: 0;
  }
  hr {
    overflow: visible;
    height: 0;
  }
  details, main {
    display: block;
  }
  summary {
    display: list-item;
  }
  small {
    font-size: 80%;
  }
  [hidden] {
    display: none;
  }
  abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
  }
  a {
    background-color: transparent;
  }
  a:active, a:hover {
    outline-width: 0;
  }
  code, kbd, pre, samp {
    font-family: monospace, monospace;
  }
  pre {
    font-size: 1em;
  }
  b, strong {
    font-weight: bolder;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  input {
    border-radius: 0;
  }
  [disabled] {
    cursor: default;
  }
  [type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto;
  }
  [type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
  }
  [type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  textarea {
    overflow: auto;
    resize: vertical;
  }
  button, input, optgroup, select, textarea {
    font: inherit;
  }
  optgroup {
    font-weight: 700;
  }
  button {
    overflow: visible;
  }
  button, select {
    text-transform: none;
  }
  [role=button], [type=button], [type=reset], [type=submit], button {
    cursor: pointer;
    color: inherit;
  }
  [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  [type=reset], [type=submit], button, html [type=button] {
    -webkit-appearance: button;
  }
  button, input, select, textarea {
    background-color: transparent;
    border-style: none;
  }
  select {
    -moz-appearance: none;
    -webkit-appearance: none;
  }
  select::-ms-expand {
    display: none;
  }
  select::-ms-value {
    color: currentColor;
  }
  legend {
    border: 0;
    color: inherit;
    display: table;
    white-space: normal;
    max-width: 100%;
  }
  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    color: inherit;
    font: inherit;
  }
  img {
    border-style: none;
  }
  progress {
    vertical-align: baseline;
  }
  svg:not([fill]) {
    fill: currentColor;
  }
}
@media only screen and (max-width: 767px) {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
  [aria-busy=true] {
    cursor: progress;
  }
  [aria-controls] {
    cursor: pointer;
  }
  [aria-disabled] {
    cursor: default;
  }
  .post button, .post input, .post select, .post textarea {
    background-color: #efefef;
    border: 1px solid #666;
    border-radius: 3px;
    padding: 5px 10px;
  }
}
/* .header ================================================= */
.header {
  position: fixed;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.9);
  width: 100vw;
  z-index: 999;
  min-width: 1200px;
}
.header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1200px;
  height: inherit;
  margin: auto;
}
.header_inner .logo {
  width: 250px;
}
.header_inner .logo img {
  width: 250px;
}
.header_inner .nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 950px;
}
.header_inner .nav .search_area,
.header_inner .nav .info_area {
  display: none;
}
.header_inner .nav .main_nav,
.header_inner .nav .sub_nav {
  margin-left: 39px;
}
.header_inner .nav .main_nav ul.nav_list,
.header_inner .nav .sub_nav ul.nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
}
.header_inner .nav .main_nav {
  -webkit-box-flex: 3;
      -ms-flex-positive: 3;
          flex-grow: 3;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item + li.list_item {
  margin-left: 25px;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl {
  font-family: "Noto Sans JP", serif;
  position: relative;
  display: table;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl a {
  display: table-cell;
  height: 80px;
  vertical-align: middle;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl a:hover {
  text-decoration: none;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl .ttl_icon {
  display: none;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl:after {
  content: "";
  position: absolute;
  opacity: 0;
  bottom: 0;
  left: 50%;
  width: 31px;
  height: 17px;
  margin-left: -15.5px;
  border: 15.5px solid transparent;
  border-top: 0;
  border-bottom: 17px solid #054e3c;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item:hover .nav_ttl:after {
  opacity: 1;
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item:hover .nav_ttl:hover + .nav_content,
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content:hover {
  visibility: visible;
  opacity: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 9999;
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content {
  visibility: hidden;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  width: 100%;
  height: 250px;
  top: 80px;
  left: 0;
  background-color: #054e3c;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content .content_ttl,
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content ul.content_list {
  color: #fff;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content .content_ttl {
  font-family: "Noto Sans JP", serif;
  width: 260px;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content .content_ttl .ttl_icon {
  margin-bottom: 20px;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content ul.content_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column wrap;
          flex-flow: column wrap;
  min-width: 860px;
  height: inherit;
  margin-left: 60px;
  padding: 30px 0;
  list-style: none;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content ul.content_list li.list_item:before {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  left: 0;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content ul.content_list li.list_item {
  font-family: "Noto Sans JP", serif;
  position: relative;
  width: 33.33%;
  margin: 10px 0;
  padding-left: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content ul.content_list li.list_item a {
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
}
.header_inner .nav .sub_nav {
  width: 270px;
}
.header_inner .nav .sub_nav ul.nav_list li.list_item + li.list_item {
  margin-left: 15px;
}
.header_inner .nav .sub_nav ul.nav_list li.list_item {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
}
.header_inner .nav .sub_nav ul.nav_list li.list_item:nth-child(-n+2) {
  display: none;
}
.header_inner .nav .sub_nav ul.nav_list .item_en a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 25px;
  background-color: #2e6757;
  color: #fff;
  border-radius: 3px;
  text-decoration: none;
}
.header_inner .nav .sub_nav ul.nav_list .item_en a i.fa {
  margin-right: 5px;
}

/* .pagetop ================================================= */
.isfw_footer > .pagetop {
  height: 50px;
  background-color: #054e3c;
}
.isfw_footer > .pagetop a {
  position: relative;
  display: block;
  left: 575px;
  width: 50px;
  height: inherit;
  margin: 0 auto;
}
.isfw_footer > .pagetop a:after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-top: -10.25px;
  border-top: 2.5px solid #fff;
  border-right: 2.5px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  left: 50%;
  margin-top: -4.5px;
  margin-left: 18px/2;
}
.isfw_footer > .pagetop a span {
  display: none;
}

/* .footer ================================================= */
.footer {
  padding: 40px 0;
}
.footer .footer_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1200px;
  margin: auto;
  padding: 0 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.footer .footer_inner .information_area {
  width: 420px;
  margin-right: 90px;
}
.footer .footer_inner .information_area .logo {
  width: 300px;
}
.footer .footer_inner .information_area .area_content dl {
  overflow: hidden;
  padding: 15px 0;
}
.footer .footer_inner .information_area .area_content dl + dl {
  border-top: 1px solid #ddd;
  padding-bottom: 0;
}
.footer .footer_inner .information_area .area_content dl dt {
  float: left;
  width: 5.5em;
  text-align: right;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
}
.footer .footer_inner .information_area .area_content dl dd {
  margin: 0 0 15px 8em;
  font-size: 14px;
  font-size: 1.4rem;
}
.footer .footer_inner .information_area .area_content dl dd .notice {
  margin-top: 10px;
  font-size: 12px;
  font-size: 1.2rem;
}
.footer .footer_inner .information_area .area_content dl dd:last-child {
  margin-bottom: 0;
}
.footer .footer_inner .nav_area {
  border-left: 1px solid #ddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
}
.footer .footer_inner .nav_area .main_nav ul.nav_list,
.footer .footer_inner .nav_area .sub_nav ul.nav_list {
  list-style: none;
}
.footer .footer_inner .nav_area .main_nav ul.nav_list li.list_item a,
.footer .footer_inner .nav_area .sub_nav ul.nav_list li.list_item a {
  color: #444;
}
.footer .footer_inner .nav_area .main_nav {
  margin-left: 90px;
}
.footer .footer_inner .nav_area .main_nav ul.nav_list li.list_item {
  font-family: "Noto Sans JP", serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}
.footer .footer_inner .nav_area .main_nav ul.nav_list li.list_item + li.list_item {
  margin-top: 30px;
}
.footer .footer_inner .nav_area .sub_nav ul.nav_list li.list_item {
  font-size: 14px;
  font-size: 1.4rem;
}
.footer .footer_inner .nav_area .sub_nav ul.nav_list li.list_item + li.list_item {
  margin-top: 18px;
}
.footer .copy {
  width: 1200px;
  margin: auto;
  text-align: right;
  font-size: 10px;
  font-size: 1rem;
  color: #999;
}

/* .main ================================================= */
.search_area,
.info_area {
  width: 565px;
  margin: 0 auto;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.search_area .area_content,
.info_area .area_content {
  width: inherit;
  padding: 18px 30px;
}
.search_area .area_content .content_ttl,
.info_area .area_content .content_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 20px;
  font-size: 2rem;
  color: #fff;
}
.search_area .area_content .content_ttl em,
.info_area .area_content .content_ttl em {
  font-style: normal;
  font-weight: bold;
}
.search_area .area_content .content_ttl a,
.info_area .area_content .content_ttl a {
  position: relative;
  padding-right: 15px;
  color: inherit;
  font-size: 14px;
  font-size: 1.4rem;
}
.search_area .area_content .content_ttl a:after,
.info_area .area_content .content_ttl a:after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  right: 0;
}

.search_area {
  background-color: rgba(5, 78, 60, 0.85);
  border-radius: 3px 3px 0 0;
  margin-top: 225px;
}
.search_area .search_form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 505px;
  height: 50px;
  margin-top: 10px;
  background-color: #fff;
  border-radius: 3px;
}
.search_area .search_form .search_select {
  width: 100px;
  height: inherit;
  border-right: 1px solid #ddd;
  background-color: #f1f1f1;
  color: #666;
  border-radius: 3px 0 0 3px;
  position: relative;
}
.search_area .search_form .search_select select {
  padding: 0 0 0 7px;
  width: 100px;
  height: inherit;
}
.search_area .search_form input.search_field {
  width: 360px;
  height: inherit;
  text-indent: 12px;
}
.search_area .search_form input.search_submit {
  width: 44px;
  height: inherit;
  font-family: "FontAwesome";
  font-size: 28px;
  color: #5b7a72;
}

.info_area {
  height: 100px;
  margin-top: 1px;
  background-color: rgba(5, 78, 60, 0.65);
  border-radius: 0 0 3px 3px;
  overflow: hidden;
}
.info_area ul.info_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 16px;
  list-style: none;
}
.info_area ul.info_list li.list_item {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
}
.info_area ul.info_list li.list_item span:first-child {
  margin-right: 5px;
}
.info_area ul.info_list li.list_item span:not(.schedule_time) {
  padding: 0px 6px;
  color: #054e3c;
  background-color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  border-radius: 5px;
}
.info_area ul.info_list li.list_item span.schedule_time:not(.time_default) {
  display: none;
}

/* =================================================
  Sp
================================================= */
@media only screen and (max-width: 767px) {
  html {
    min-width: inherit;
  }
  body {
    background-size: auto 437px;
  }
  /* .header ================================================= */
  .header {
    position: relative;
    display: table;
    width: 100%;
    height: 60px;
    min-width: inherit;
  }
  .header_inner {
    display: table-cell;
    width: auto;
    text-align: center;
    vertical-align: middle;
  }
  .header_inner .logo {
    width: auto;
    height: auto;
  }
  .header_inner .logo img {
    width: 225px;
    height: auto;
  }
  .header_inner .nav {
    position: fixed;
    display: block;
    top: 0;
    width: auto;
    height: 100vh;
    padding: 20px 0;
    background-color: #054e3c;
    z-index: 9998;
    width: 100%;
  }
  .header_inner .nav .search_area,
  .header_inner .nav .info_area {
    display: block;
  }
  .header_inner .nav .search_area .area_content {
    padding: 0 10px 10px;
  }
  .header_inner .nav .info_area {
    background-color: rgba(0, 0, 0, 0.3);
    margin: 10px 0;
    padding: 0 10px;
  }
  .header_inner .nav .info_area .area_content {
    padding: 10px 15px;
  }
  .header_inner .nav .info_area .content_ttl a {
    bottom: -63px;
    display: block;
  }
  .header_inner .nav .info_area .content_ttl:after {
    display: none;
  }
  .header_inner .nav .info_area ul.info_list {
    overflow: auto;
    visibility: visible;
    height: auto;
    text-align: left;
  }
  .header_inner .nav .info_area ul.info_list li.list_item {
    line-height: 1.3em;
  }
  .header_inner .nav .main_nav,
  .header_inner .nav .sub_nav {
    margin-left: 0;
  }
  .header_inner .nav .main_nav ul.nav_list,
  .header_inner .nav .sub_nav ul.nav_list {
    display: block;
  }
  .header_inner .nav .main_nav ul.nav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: wrap row;
            flex-flow: wrap row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 12.5px;
  }
  .header_inner .nav .main_nav ul.nav_list > li.list_item {
    width: 50%;
    padding: 5px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .header_inner .nav .main_nav ul.nav_list > li.list_item + li.list_item {
    margin-left: 0;
  }
  .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl {
    position: static;
    width: 100%;
    height: auto;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl .ttl_icon {
    display: block;
    margin-bottom: 5px;
  }
  .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl .ttl_icon img {
    opacity: 0.5;
    width: auto;
    height: 30px;
  }
  .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl a {
    height: auto;
    border-radius: 3px;
    text-align: center;
    color: #fff;
    background-color: #377163;
    padding: 10px 0;
  }
  .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl:after, .header_inner .nav .main_nav ul.nav_list > li.list_item:hover .nav_ttl:after,
  .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content, .header_inner .nav .main_nav ul.nav_list > li.list_item:hover .nav_ttl:hover + .nav_content,
  .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_content:hover {
    display: none;
  }
  .header_inner .nav .sub_nav {
    width: auto;
    margin: 20px 20px 0;
  }
  .header_inner .nav .sub_nav ul.nav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
  }
  .header_inner .nav .sub_nav ul.nav_list li.list_item + li.list_item {
    margin-left: 0;
  }
  .header_inner .nav .sub_nav ul.nav_list li.list_item {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 15px;
  }
  .header_inner .nav .sub_nav ul.nav_list li.list_item:nth-child(-n+2) {
    display: block;
    width: 40%;
  }
  .header_inner .nav .sub_nav ul.nav_list li.list_item:nth-child(2) {
    width: 60%;
  }
  .header_inner .nav .sub_nav ul.nav_list li.list_item a {
    color: #fff;
  }
  .header_inner .nav .sub_nav ul.nav_list li.list_item.item_en a {
    width: auto;
    padding: 0 20px;
  }
    /*2025.02.10追加*/
    .sub_nav .nav_list .list_item.item_en{
        display: block;
        width:100%;
    }
    .sub_nav .nav_list .list_item.item_en a{
        width:30% !important;
        margin: auto;
    }
  /* #toggle ================================================= */
  #toggle {
    position: absolute;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    left: -100%;
    top: -100%;
  }
  #toggle + label {
    cursor: pointer;
    position: fixed;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    left: 50%;
    bottom: 20px;
    width: 60px;
    height: 60px;
    margin-left: -30px;
    background: #054e3c;
    border: 2px solid #fff;
    border-radius: 100%;
    color: #FFF;
    z-index: 9999;
    font-size: 28px;
    font-size: 2.8rem;
  }
  #toggle + label:after {
    content: "\f0c9";
    color: #fff;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  #toggle:checked + label {
    background: #03362a;
    border: none;
  }
  #toggle:checked + label:after {
    content: "\f00d";
  }
  #toggle + label + .nav {
    overflow: hidden;
    height: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    background-color: #054e3c;
  }
  #toggle + label + .nav .search_area, #toggle + label + .nav .info_area, #toggle + label + .nav .main_nav, #toggle + label + .nav .sub_nav {
    position: relative;
    z-index: 100;
  }
  #toggle + label + .nav .nav_bg {
    content: "";
    width: 2400px;
    height: 2400px;
    margin-left: -1200px;
    margin-bottom: -1200px;
    bottom: 40px;
    left: 50%;
    display: block;
    position: fixed;
    background: #054e3c;
    border-radius: 50%;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-transform: scale(0.02);
            transform: scale(0.02);
    z-index: 1;
  }
  #toggle:checked + label + .nav {
    height: 100vh;
    padding: 10px 0;
    opacity: 1;
    visibility: visible;
  }
  #toggle:checked + label + .nav .nav_bg {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  /* .pagetop ================================================= */
  .isfw_footer > .pagetop {
    position: fixed;
    bottom: 20px;
    right: 15px;
    width: 60px;
    height: 60px;
    background-color: transparent;
  }
  .isfw_footer > .pagetop a {
    background-color: #054e3c;
    border: 2px solid #fff;
    left: auto;
    width: inherit;
    height: inherit;
    border-radius: 100%;
  }
  .isfw_footer > .pagetop a:after {
    content: "";
    position: absolute;
    display: inline-block;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -10.25px;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    margin-top: -4.5px;
    margin-left: -8px;
  }
  /* .footer ================================================= */
  .footer {
    margin-bottom: 70px;
    padding: 25px 0;
  }
  .footer .footer_inner {
    border-top: 20px solid #054e3c;
    padding: 30px 10px 0;
    width: auto;
  }
  .footer .footer_inner .information_area {
    margin: 0 0 20px;
    width: 100%;
  }
  .footer .footer_inner .information_area .logo {
    margin: 0 auto;
  }
  .footer .footer_inner .information_area .area_content dl dt {
    float: none;
    margin: 0 0 5px 0;
    text-align: left;
    width: auto;
  }
  .footer .footer_inner .information_area .area_content dl dd {
    margin: 0 0 15px 0;
  }
  .footer .footer_inner .information_area .area_content .notice {
    background: transparent;
    padding: 0;
  }
  .footer .footer_inner .nav_area {
    display: none;
  }
  .footer .copy {
    width: 100%;
    text-align: center;
  }
  /* .main ================================================= */
  .search_area,
  .info_area {
    width: auto;
    margin-left: 15px;
    margin-right: 15px;
  }
  .search_area .area_content,
  .info_area .area_content {
    padding: 15px;
  }
  .search_area .area_content .content_ttl,
  .info_area .area_content .content_ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .search_area {
    margin-top: 100px;
    height: auto;
  }
  .search_area .search_form {
    width: 100%;
    height: 40px;
    margin-top: 5px;
  }
  .search_area .search_form .search_select {
    width: 35%;
    text-indent: 5px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .search_area .search_form input.search_field {
    width: 50%;
    text-indent: 10px;
  }
  .search_area .search_form input.search_submit {
    width: 15%;
  }
  .info_area {
    min-height: 49px;
    height: auto;
    border-radius: 0;
  }
  .info_area .content_ttl {
    position: relative;
  }
  .info_area .content_ttl:after {
    content: "";
    position: absolute;
    display: inline-block;
    top: 50%;
    width: 12px;
    height: 12px;
    margin-top: -7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-225deg);
            transform: rotate(-225deg);
    right: 0;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  .info_area .content_ttl.is_open:after {
    content: "";
    position: absolute;
    display: inline-block;
    top: 50%;
    width: 12px;
    height: 12px;
    margin-top: -7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    right: 0;
  }
  .info_area .content_ttl a {
    position: absolute;
    bottom: -57px;
    right: 5px;
  }
  .info_area ul.info_list {
    display: block;
    visibility: hidden;
    overflow: hidden;
    width: 100%;
    height: 0;
    margin-top: 0;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  .info_area ul.info_list.is_open {
    visibility: visible;
    height: 55px;
  }
  .info_area ul.info_list li.list_item {
    float: left;
    width: 50%;
    margin-top: 10px;
    line-height: 1em;
  }
  .info_area ul.info_list li.list_item span:first-child {
    padding: 0px 6px;
  }
}
/* =================================================
  responsive
================================================= */
@media only screen and (max-width: 767px) {
  .is-sp {
    display: inline-block;
  }
  #header, #footer {
    display: none;
  }
  header.header, footer.footer, .isfw_footer > .pagetop {
    display: block !important;
  }
  html {
    font-size: 62.5%;
  }
  body {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.7;
    margin: 0;
    padding: 0;
  }
  #container, #lContent, #rContent {
    float: none;
    width: 100%;
  }
  #container {
    width: calc(100% - 20px);
  }
  header.header a {
    text-decoration: none;
    -webkit-transition: 0.3s color;
    transition: 0.3s color;
  }
  header.header .header_inner .nav .info_area .content_ttl a {
    bottom: 0;
  }
  header.header .search_area .area_content .content_ttl a:after, header.header .info_area .area_content .content_ttl a:after {
    right: 2px;
  }
  header.header .header_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  header.header h1 {
    position: relative;
    top: initial;
    left: initial;
  }
  header.header .search_submit-btn {
    position: relative;
    width: 15%;
  }
  header.header .search_submit-btn:before {
    height: inherit;
    font-family: "FontAwesome";
    font-size: 28px;
    color: #5b7a72;
    content: "\f002";
    pointer-events: none;
    position: absolute;
    top: 0;
    right: 15px;
  }
  header.header .search_submit-btn .search_submit {
    width: 100%;
  }
  header.header .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl a {
    padding: 10px;
  }
  header.header .header_inner .nav .main_nav ul.nav_list > li.list_item .nav_ttl .ttl_icon {
    margin-right: 10px;
  }
  footer.footer {
    background-color: #fff;
    padding: 0 0 100px;
    margin: 25px 0 0;
  }
  .isfw_footer > .pagetop a {
    background-image: none;
    padding: 0;
  }
  #rContent {
    background-color: #fff;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 100px;
    right: 0;
    height: calc(100dvh - 100px);
    z-index: 1;
    width: 260px;
    margin-right: -260px;
    -webkit-transition: margin-right 0.5s;
    transition: margin-right 0.5s;
  }
  #rContent.is-close {
    margin-right: 0;
    z-index: 10000;
  }
  #rContent .toggle-icon {
    background-color: #054e3c;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    border-radius: 6px 0 0 6px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 60px;
    position: absolute;
    top: 10px;
    left: -60px;
    width: 60px;
  }
  #rContent .toggle-icon:before {
    display: block;
    content: "\f03a";
    color: #fff;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: 28px;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
  }
  #rContent .toggle-icon.is-close:before {
    display: block;
    content: "\f00d";
  }
  #rContent #sideMenu {
    padding: 5px;
    position: relative;
    overflow-y: auto;
    -ms-scroll-chaining: none;
        overscroll-behavior: contain;
    height: calc(100dvh - 100px);
    width: 260px;
    top: 0 !important;
  }
  #rContent #sideMenu ul li {
    border-bottom: 1px dotted #dbdbdb;
    margin: 0 5px;
  }
  #rContent #sideMenu p.back {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 20px 10px;
  }
  #rContent .block {
    border: none;
    padding: 0;
  }
  #rContent .block:not(:first-of-type) {
    margin: 15px auto;
    text-align: center;
  }
  .isfw_pagebody table {
    max-width: 100%;
    table-layout: fixed;
    font-size: 14px;
    font-size: 1.4rem;
    width: initial !important;
  }
  .isfw_pagebody table th, .isfw_pagebody table td {
    overflow-wrap: anywhere;
  }
  .isfw_pagebody table.table-column th, .isfw_pagebody table.table-column td {
    display: block;
  }
  .isfw_pagebody .scroll-hint table {
    width: 100% !important;
  }
  .isfw_pagebody img {
    height: initial;
    max-width: 100%;
  }
  .isfw_pagebody p {
    text-align: initial;
    overflow-wrap: anywhere;
  }
  .isfw_pagebody h2 {
    font-size: 150%;
  }
  .isfw_pagebody video {
    max-width: 100%;
    height: initial;
  }
  .isfw_pagebody iframe {
    width: 100%;
  }
  .isfw_pagebody .post li {
    background-position-y: 9px;
    margin-top: 10px;
  }
  .schedule #mainMenu li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .schedule #mainMenu li a .tab-caption {
    font-weight: lighter;
    font-size: 10px;
    font-size: 1rem;
    display: block;
  }
  .schedule .tabMain {
    width: initial;
  }
  .schedule .tabMain ul li {
    background: none;
    padding-top: 20px;
    width: calc(100vw - 45px);
  }
  .schedule .tabMain iframe {
    width: calc(100vw - 45px);
    aspect-ratio: 3/2;
  }
  .research #mainMenu, .schedule #mainMenu {
    background: none;
    position: static;
    width: auto;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
  }
  .research #mainMenu li, .schedule #mainMenu li {
    background-image: none;
    width: calc((100% - 10px) / 2);
  }
  .research #mainMenu li a, .schedule #mainMenu li a {
    background-image: none !important;
    background-color: #eee;
    border-radius: 4px;
    color: #777;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    min-height: 5em;
    padding: 10px 3px;
    text-indent: 0;
    text-align: center;
    text-decoration: none;
    width: 100%;
  }
  .research #mainMenu li.current a, .schedule #mainMenu li.current a {
    background-color: #e8f3f0;
    color: #42725a;
  }
  .research .tabContent, .schedule .tabContent {
    padding-top: 20px;
  }
  .research-table .text-guide {
    margin-left: 5px;
    text-decoration: underline;
  }
  .research-table colgroup col {
    width: 100%;
  }
  .research-table table {
    border: 1px solid #cecece;
    width: 100% !important;
    table-layout: initial;
  }
  .research-table th {
    display: none;
  }
  .research-table table th, .research-table table td {
    border: none;
  }
  .research-table td {
    display: block;
  }
  .research-table tr td {
    padding: 10px;
  }
  .research-table tr td:first-of-type {
    background-color: #054e3c;
    border-bottom: 1px solid #fff;
    color: #fff;
    padding: 20px 40px 20px 10px;
    display: block;
    position: relative;
  }
  .research-table tr td:first-of-type a {
    color: #fff;
    font-weight: bold;
  }
  .research-table .toggle-icon:before {
    content: "";
    position: absolute;
    display: inline-block;
    right: 15px;
    width: 10px;
    height: 10px;
    margin-top: -10.25px;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
    top: calc((100% + 5px) / 2);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .research-table .toggle-icon.is-open:before {
    top: calc((100% + 15px) / 2);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .isfw_pagebody .post .ebook_list ul.index li a {
    margin-bottom: 10px;
  }
  .isfw_pagebody .post .ebook_list li {
    padding-right: 20px;
  }
  .isfw_form .form-content .form-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .isfw_form .list-btn .button-set li {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .isfw_form .list-btn .button-set li.btn-left {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-right: 0;
  }
  ul.annual_report {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  ul.annual_report li {
    margin-top: 0 !important;
    width: 33%;
  }
  ul.annual_report.en li {
    line-height: 1.2;
    width: 49%;
    height: initial;
  }
  .block.entry table col {
    width: 100%;
  }
  .block.entry table td {
    display: block;
  }
  .list_tour {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
  }
  .list_tour li {
    width: calc((100% - 10px) / 2);
  }
  table.libCafe tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  table.libCafe tr {
    display: contents;
  }
  table.libCafe tr td {
    width: 33.3%;
  }
  ul.photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
  }
  ul.photo li {
    width: calc((100% - 25px) / 2);
  }
  ul.libCafe-list li {
    width: 33.3% !important;
  }
  #sitemap .box {
    float: none;
    width: initial;
  }
  .isfw_topics .topics-list .list-item .item-date-cat + a {
    display: block;
    width: 100%;
  }
}


/* 2503 search_form */
.search_area .search_form .search_select em.search_select_title {
    font-style: normal;
    color: #000;
    padding: 0 0 0 10px;
    width: 100px;
}
.search_area .search_form .search_select {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media only screen and (max-width: 767px) {
  .search_area .search_form .search_select em.search_select_title {
    padding: 0;
    text-align: center;
  }
  .search_area .search_form .search_select {
    text-indent:0;
  }
}