@charset "UTF-8";
body {
  /* 「BIZ UDPゴシック」をWindowsで指定 */
  font-family: "BIZ UDGothic", Meiryo, sans-serif;
  font-size: 1.1rem;
  line-height: 2rem;
  /*background-color: #F00;*/
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

header {
  padding: 1rem;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
}
@media screen and (max-width: 960px) {
  header {
    align-items: flex-start;
  }
}
header img {
  width: 120px;
}
@media screen and (max-width: 620px) {
  header img {
    width: 100px;
  }
}
header div {
  width: 100%;
}
header div h1 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  margin: 0;
  padding: 0 0 0.5rem 0;
  border-bottom: solid 1px #F00;
  font-weight: 900;
}
@media screen and (max-width: 620px) {
  header div h1 {
    font-size: 2rem;
  }
}
header div p {
  margin: 0;
  font-size: 1rem;
}

.h_menu {
  margin-bottom: 2rem;
}
.h_menu ul {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.h_menu ul li {
  border-right: solid 1px #8f8f8f;
}
.h_menu ul li:first-child {
  border-left: solid 1px #8f8f8f;
}
.h_menu ul li a {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 5rem;
  text-decoration: none;
  color: #8f8f8f;
  font-size: 1.2rem;
  transition: all 0.5s;
}
@media screen and (max-width: 960px) {
  .h_menu ul li a {
    padding: 0.2rem 3rem;
  }
}
@media screen and (max-width: 768px) {
  .h_menu ul li a {
    padding: 0.2rem 1rem;
  }
}
@media screen and (max-width: 620px) {
  .h_menu ul li a {
    flex-direction: column;
    padding: 0.2rem 2rem;
    font-size: 0.8rem;
  }
}
.h_menu ul li a:hover {
  background-color: #e8e8e8;
}
.h_menu ul li a:hover span {
  color: rgb(0, 86, 204);
}
.h_menu ul li a:hover span.material-symbols-outlined {
  color: rgb(0, 86, 204);
}
.h_menu ul li a span.material-symbols-outlined {
  color: #8f8f8f;
  vertical-align: middle;
  font-size: 42px;
  margin-right: 1rem;
  transition: all 0.5s;
}
@media screen and (max-width: 620px) {
  .h_menu ul li a span.material-symbols-outlined {
    margin-right: 0rem;
  }
}

.top_main_img {
  max-width: 100%;
  height: auto;
  margin-bottom: 5rem;
}
.top_main_img img {
  max-width: 100vw;
  height: auto;
}

section {
  margin-bottom: 5rem;
}

.top_base_outer {
  padding: 0 5rem;
}
@media screen and (max-width: 960px) {
  .top_base_outer {
    padding: 0 1rem;
  }
}
.top_base_outer h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  /*padding-bottom: 0.5rem;
  padding-left: 4rem;*/
  position: relative;
  margin: 2rem 0 3.5rem 3rem;
  background-image: url(../img/bg_memori.png);
  background-repeat: repeat-x;
  background-position: bottom left;
  /*background-color: #F00;*/
}
@media screen and (max-width: 960px) {
  .top_base_outer h2 {
    margin: 2rem 0 3.5rem 0rem;
  }
}
.top_base_outer h2 span {
  background-color: #FFF;
  padding: 0.5rem 1rem 0.5rem 0;
  line-height: 3rem;
}
.top_base_outer h2::before {
  position: absolute;
  content: "";
  top: -1rem;
  left: -1rem;
  width: 1px;
  height: 80px;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
}
@media screen and (max-width: 960px) {
  .top_base_outer h2::before {
    border-left: 0px solid #999;
    left: 0rem;
  }
}
.top_base_outer h2::after {
  position: absolute;
  content: "";
  bottom: 0rem;
  left: -3rem;
  width: calc(100% + 3rem);
  height: 1px;
  border-bottom: 1px solid #999;
}
@media screen and (max-width: 960px) {
  .top_base_outer h2::after {
    left: 0rem;
    width: 100%;
  }
}
.top_base_outer .top_news_list {
  list-style: none;
  margin: 0 0 5rem 4rem;
  padding: 0;
}
@media screen and (max-width: 960px) {
  .top_base_outer .top_news_list {
    margin: 0 0 5rem 0rem;
  }
}
.top_base_outer .top_news_list li {
  padding: 0.2rem 0;
  margin-bottom: 1rem;
}
.top_base_outer .top_news_list li span {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  padding: 0 1rem;
  margin-right: 1rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  color: #FFF;
}
.top_base_outer .top_news_list li .santen {
  color: #999;
  position: relative;
}
.top_base_outer .top_news_list li .santen:hover {
  text-decoration: underline;
}
.top_base_outer .top_news_list li time {
  font-size: 1rem;
  color: #999;
}
.top_base_outer .top_news_list li strong {
  font-weight: bold;
  font-size: 1.3rem;
}
.top_base_outer .top_news_list li a {
  color: #000;
  text-decoration: none;
  position: relative;
  /*strong {
    font-weight: bold;
    font-size: 1.3rem;
  }*/
}
.top_base_outer .top_news_list li a::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  transition: all 0.3s;
}
.top_base_outer .top_news_list li a:hover {
  color: rgb(0, 86, 204);
}
.top_base_outer .top_news_list li a:hover::after {
  width: 0;
}
.top_base_outer .bu_area {
  display: flex;
  justify-content: flex-end;
}
.top_base_outer .bu_area button {
  margin: 0;
  padding: 0.5rem 2rem;
  font-size: 1.2rem;
  background-color: #000;
  color: #FFF;
  border: none;
  border-radius: 2.1rem;
  cursor: pointer;
  transition: all 0.5s;
}
.top_base_outer .bu_area button:hover {
  background-color: rgb(0, 86, 204);
}

.top_kikanshi_outer {
  background-image: url(../img/img_top_hakari.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-blend-mode: lighten;
  background-color: rgba(9, 108, 189, 0.5);
  padding: 2rem 5rem;
}
@media screen and (max-width: 960px) {
  .top_kikanshi_outer {
    padding: 2rem 1rem;
  }
}
.top_kikanshi_outer .top_kikanshi_inner {
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid #FFF;
  padding: 2rem;
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: nowrap;
}
@media screen and (max-width: 960px) {
  .top_kikanshi_outer .top_kikanshi_inner {
    flex-direction: column;
    padding: 1rem;
  }
}
.top_kikanshi_outer .top_kikanshi_inner h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  margin: 0;
}
.top_kikanshi_outer .top_kikanshi_inner .keikan-logo {
  width: 300px;
  margin-bottom: 1rem;
}
@media screen and (max-width: 960px) {
  .top_kikanshi_outer .top_kikanshi_inner .keikan-logo {
    width: 200px;
  }
}
.top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  align-items: flex-start;
}
@media screen and (max-width: 620px) {
  .top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex {
    flex-direction: column;
  }
  .top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex .kikanshi_flex_inner {
    margin-bottom: 3rem;
  }
}
.top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex .img_kikanshi {
  width: 200px;
  height: auto;
  margin-left: 1rem;
  border: 1px solid #000;
}
@media screen and (max-width: 960px) {
  .top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex .img_kikanshi {
    width: 150px;
  }
}
@media screen and (max-width: 620px) {
  .top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex .img_kikanshi {
    margin: 0 auto;
  }
}
.top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex .bu_area {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: baseline;
}
.top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex .bu_area span {
  font-size: 0.9rem;
}
.top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex .bu_area button {
  margin: 0;
  padding: 0.5rem 2rem;
  font-size: 1.2rem;
  background-color: #000;
  color: #FFF;
  border: none;
  border-radius: 2.1rem;
  cursor: pointer;
}
.top_kikanshi_outer .top_kikanshi_inner div.kikanshi_flex .bu_area button:hover {
  background-color: rgb(0, 86, 204);
}

.top_nyuukai_outer {
  padding: 0 1rem;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}
.top_nyuukai_outer h2 {
  background-image: url(../img/bg_memori_red.png);
  background-repeat: x-repeat;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  margin: 0;
}
.top_nyuukai_outer h2 span {
  background-color: #FFF;
  padding: 1rem 1rem;
}
.top_nyuukai_outer p {
  text-align: center;
}
@media screen and (max-width: 960px) {
  .top_nyuukai_outer p {
    text-align: left;
  }
}
.top_nyuukai_outer .nyuukai_list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: stretch;
  margin: 0 5rem 3rem;
}
@media screen and (max-width: 960px) {
  .top_nyuukai_outer .nyuukai_list {
    margin: 0 0 3rem;
  }
}
.top_nyuukai_outer .nyuukai_list dl {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 25%;
  background-color: #e0e0e0;
  border-top: 1px solid #000;
  border-right: 0px solid #000;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
}
@media screen and (max-width: 960px) {
  .top_nyuukai_outer .nyuukai_list dl {
    width: 100%;
    border-right: 1px solid #000;
    border-bottom: 0px solid #000;
    border-top: 0px solid #000;
  }
}
.top_nyuukai_outer .nyuukai_list dl:last-child {
  border-right: 1px solid #000;
}
.top_nyuukai_outer .nyuukai_list dl dt {
  margin: 0;
  padding: 1rem;
  text-align: center;
  background-color: rgb(0, 86, 204);
  color: #FFF;
  font-weight: bold;
  border-bottom: 1px solid #000;
}
.top_nyuukai_outer .nyuukai_list dl dt .img_four {
  margin-left: 0.5rem;
  background-image: url(../img/img_omori.png);
  background-repeat: no-repeat;
  background-position: left 0;
  display: inline-block;
  width: 72px;
  height: 18px;
  position: relative;
  top: 2px;
}
.top_nyuukai_outer .nyuukai_list dl dt .img_three {
  margin-left: 0.5rem;
  background-image: url(../img/img_omori.png);
  background-repeat: no-repeat;
  background-position: left 0;
  display: inline-block;
  width: 54px;
  height: 18px;
  position: relative;
  top: 2px;
}
.top_nyuukai_outer .nyuukai_list dl dt .img_two {
  margin-left: 0.5rem;
  background-image: url(../img/img_omori.png);
  background-repeat: no-repeat;
  background-position: left 0;
  display: inline-block;
  width: 36px;
  height: 18px;
  position: relative;
  top: 2px;
}
.top_nyuukai_outer .nyuukai_list dl dt .img_one {
  margin-left: 0.5rem;
  background-image: url(../img/img_omori.png);
  background-repeat: no-repeat;
  background-position: left 0;
  display: inline-block;
  width: 18px;
  height: 18px;
  position: relative;
  top: 2px;
}
.top_nyuukai_outer .nyuukai_list dl dd {
  margin: 0;
  padding: 1rem;
  border-bottom: 1px solid #000;
}
.top_nyuukai_outer .nyuukai_list dl dd:last-child {
  border-bottom: 0px solid #000;
}
@media screen and (max-width: 960px) {
  .top_nyuukai_outer .nyuukai_list dl dd:last-child {
    border-bottom: 1px solid #000;
  }
}
.top_nyuukai_outer .kaihi {
  font-weight: bold;
  background-color: #9CD7FF;
  text-align: center;
}
.top_nyuukai_outer .comments {
  background-color: #e0e0e0;
}
.top_nyuukai_outer .moushikomi {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-around;
  align-items: flex-start;
}
@media screen and (max-width: 960px) {
  .top_nyuukai_outer .moushikomi {
    flex-direction: column;
    justify-content: center;
  }
}
.top_nyuukai_outer .moushikomi p {
  text-align: left;
  margin: 0 0 3rem 0;
  /*@media screen and (max-width:960px) {
    text-align: center;
  }*/
}
.top_nyuukai_outer .moushikomi button.bu_dwn {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  background-color: #f30;
  color: #FFF;
  border: none;
  padding: 1rem;
  transition: all 0.5s;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="40px" viewBox="0 -960 960 960" width="40px" fill="rgba(255,255,255,0.5)"><path d="M480-83 240-323l56-56 184 183 184-183 56 56L480-83Zm0-238L240-561l56-56 184 183 184-183 56 56-240 240Zm0-238L240-799l56-56 184 183 184-183 56 56-240 240Z"/></svg>');
  background-position: top right;
  background-repeat: no-repeat;
  position: relative;
  background-size: 72px;
}
.top_nyuukai_outer .moushikomi button.bu_dwn span.material-symbols-outlined {
  font-size: 42px;
}
.top_nyuukai_outer .moushikomi button.bu_dwn:hover {
  background-color: #000;
}
@media screen and (max-width: 768px) {
  .top_nyuukai_outer .moushikomi button.bu_dwn {
    width: 100%;
  }
}

.top_access_outer {
  padding: 0 1rem;
}
.top_access_outer h2 {
  width: 50%;
  border-bottom: 2px solid rgb(0, 86, 204);
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  position: relative;
  /*content: "";
    display: inline-block;
    /*width: 46px;
    height: 45px;*/
  /*background-image: url('../img/bg_access_2.png');
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: contain;
    position: relative;
    top:12px;*/
}
@media screen and (max-width: 768px) {
  .top_access_outer h2 {
    width: 95%;
  }
}
.top_access_outer h2::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 11px;
  background-image: url("../img/bg_access_1.png");
  background-position: center;
  background-size: contain;
  position: relative;
  top: 14px;
}
.top_access_outer h2 span {
  position: absolute;
  right: -2rem;
  bottom: -0.35rem;
  font-family: system-ui;
  font-size: 0.9rem;
  color: rgb(0, 86, 204);
}
.top_access_outer h2 span::after {
  content: "";
  display: inline-block;
  width: 46px;
  height: 45px;
  background-image: url("../img/bg_access_2.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: relative;
  right: 0;
  bottom: -7px;
}
.top_access_outer .top_access_inner {
  margin: 0 5rem;
}
@media screen and (max-width: 960px) {
  .top_access_outer .top_access_inner {
    margin: 0 1rem;
  }
}
.top_access_outer .top_access_inner iframe {
  width: 100%;
  height: 200px;
  border: 1px solid #999;
}
.top_access_outer .top_access_inner .list_train {
  list-style: none;
  margin-left: -3rem;
}
.top_access_outer .top_access_inner .list_train li {
  margin-bottom: 0.2rem;
  display: flex;
  align-items: flex-start;
}
.top_access_outer .top_access_inner .list_train li span {
  color: rgb(0, 86, 204);
  margin-top: 0.3rem;
}

.top_add_outer {
  margin: 0 5rem 5rem;
  text-align: center;
  border-top: 1px solid #f30;
}
@media screen and (max-width: 960px) {
  .top_add_outer {
    margin: 0 1rem 5rem;
  }
}
.top_add_outer h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  margin: 1rem 0 1rem 0;
}
.top_add_outer span.material-symbols-outlined {
  color: #f30;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}
.top_add_outer address {
  font-style: normal;
  font-size: 1.2rem;
}

footer {
  background-color: #ababab;
  color: #FFF;
}
footer div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}
@media screen and (max-width: 1024px) {
  footer div {
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
footer div ul {
  list-style: none;
  margin-right: 6rem;
}
@media screen and (max-width: 1024px) {
  footer div ul {
    margin-left: -1rem;
    margin-right: 2rem;
  }
}
footer div ul li {
  padding: 0 0 0.5rem;
  line-height: 1rem;
}
@media screen and (max-width: 1024px) {
  footer div ul li {
    padding: 0;
  }
}
footer div ul li a {
  color: #FFF;
  text-decoration: none;
  position: relative;
  font-size: 0.9rem;
}
footer div ul li a::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #FFF;
  transition: all 0.3s;
}
footer div ul li a:hover::after {
  width: 0;
}
@media screen and (max-width: 1024px) {
  footer div ul li {
    border-bottom: 1px dashed #FFF;
  }
  footer div ul li a {
    display: block;
    padding: 1rem;
    text-decoration: none;
    transition: all 0.5s;
  }
  footer div ul li a::after {
    height: 0px;
  }
  footer div ul li a:hover {
    background-color: #666;
  }
}
footer p {
  margin: 0;
  padding: 1rem;
  text-align: center;
  font-size: 0.8rem;
}
footer p span {
  font-size: 1.5rem;
  position: relative;
  bottom: -0.2rem;
}

/*.pagenation {
  margin: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;

  li {
    margin: 0.2rem;

    a {
      display: block;
      padding: 0.3rem 1rem;
      border: 1px solid #999;
      border-radius: 5px;
      text-decoration: none;
      color: #000;

      &:hover {
        background-color: #999;
        color: #FFF;
      }
    }

    a.active {
      background-color: #06C;
      color: #FFF;
    }
  }
}*/
.wp-pagenavi {
  text-align: center;
  margin: 2rem 0;
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  margin: 0.2rem;
  padding: 0.3rem 1rem;
  border: 1px solid #999;
  border-radius: 5px;
  text-decoration: none;
  color: #000;
}
.wp-pagenavi a:hover,
.wp-pagenavi span:hover {
  background-color: #999;
  color: #FFF;
}
.wp-pagenavi span.current {
  background-color: rgb(0, 86, 204);
  color: #FFF;
}

.breadcrumbs {
  font-size: 1rem;
  margin: 1rem 5rem 0 2.5rem;
}
.breadcrumbs a {
  text-decoration: none;
  position: relative;
  color: rgb(0, 86, 204);
}
.breadcrumbs a span {
  /*color: #000;*/
  /*&:hover {
    text-decoration: underline;
  }*/
}
.breadcrumbs a span::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: rgb(0, 86, 204);
  transition: all 0.3s;
  color: rgb(0, 86, 204);
}
.breadcrumbs a span:hover::after {
  width: 0;
}

.breadcrumb ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.breadcrumb ul li {
  font-size: 1rem;
}
.breadcrumb ul li::after {
  content: ">";
  padding-left: 1rem;
  padding-right: 1rem;
}
.breadcrumb ul li:last-child::after {
  content: "";
}

.pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

.is-active {
  opacity: 1;
  visibility: visible;
}

.page_base_outer {
  padding: 0 5rem;
}
@media screen and (max-width: 960px) {
  .page_base_outer {
    padding: 0 1rem;
  }
}
.page_base_outer h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  /*padding-bottom: 0.5rem;
  padding-left: 4rem;*/
  position: relative;
  margin: 2rem 0 3.5rem 3rem;
  background-image: url(../img/bg_memori.png);
  background-repeat: repeat-x;
  background-position: bottom left;
  font-weight: 700;
  padding: 0 0 0.5rem 0;
  font-size: 2rem;
  /*background-color: #F00;*/
}
@media screen and (max-width: 960px) {
  .page_base_outer h2 {
    margin: 2rem 0 3.5rem 0rem;
  }
}
.page_base_outer h2 span {
  background-color: #FFF;
  padding: 0.5rem 1rem 0.5rem 0;
  line-height: 3rem;
}
.page_base_outer h2::before {
  position: absolute;
  content: "";
  top: -1rem;
  left: -1rem;
  width: 1px;
  height: 80px;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
}
@media screen and (max-width: 960px) {
  .page_base_outer h2::before {
    border-left: 0px solid #999;
    left: 0rem;
  }
}
.page_base_outer h2::after {
  position: absolute;
  content: "";
  bottom: 0rem;
  left: -3rem;
  width: calc(100% + 3rem);
  height: 1px;
  border-bottom: 1px solid #999;
}
@media screen and (max-width: 960px) {
  .page_base_outer h2::after {
    left: 0rem;
    width: 100%;
  }
}
.page_base_outer h2 time {
  position: absolute;
  bottom: -1.5rem;
  right: 0;
  font-size: 0.9rem;
  font-family: "BIZ UDGothic", Meiryo, sans-serif;
  color: #999;
}
.page_base_outer .twocolum {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}
.page_base_outer .twocolum .page_base_inner {
  padding: 1rem 3rem 3rem 5rem;
  width: calc(100% - 400px);
}
@media screen and (max-width: 960px) {
  .page_base_outer .twocolum .page_base_inner {
    padding: 1rem 1rem 3rem 1rem;
  }
}
@media screen and (max-width: 1420px) {
  .page_base_outer .twocolum .page_base_inner {
    width: calc(100% - 350px);
  }
}
@media screen and (max-width: 1024px) {
  .page_base_outer .twocolum .page_base_inner {
    width: 100%;
  }
}
.page_base_outer .twocolum .page_base_inner h3 {
  font-size: 1.5rem;
  position: relative;
  padding: 1rem;
  border-bottom: 1px solid #999;
}
.page_base_outer .twocolum .page_base_inner h3::before {
  position: absolute;
  content: "";
  left: 0;
  bottom: 1.4rem;
  width: 5px;
  height: 1.5rem;
  background-color: #000;
}
.page_base_outer .twocolum .page_base_inner h4 {
  font-size: 1.4rem;
  font-weight: 900;
  color: rgb(0, 86, 204);
  position: relative;
  padding-left: 1.5rem;
}
.page_base_outer .twocolum .page_base_inner h4::before {
  position: absolute;
  content: "■";
  top: 0;
  left: 0;
}
.page_base_outer .twocolum nav {
  padding: 1rem 5rem 3rem 3rem;
  width: 400px;
}
@media screen and (max-width: 1420px) {
  .page_base_outer .twocolum nav {
    padding: 1rem 3rem 3rem 1rem;
    width: 350px;
  }
}
@media screen and (max-width: 1024px) {
  .page_base_outer .twocolum nav {
    display: none;
  }
}
.page_base_outer .twocolum nav h3 {
  border: 1px solid #999;
  padding: 1rem;
  text-align: center;
}
.page_base_outer .twocolum nav ul {
  list-style: none;
}
.page_base_outer .twocolum nav ul li a {
  display: block;
  padding: 1rem;
  border-bottom: 1px solid #999;
  position: relative;
  text-decoration: none;
  color: #000;
}
.page_base_outer .twocolum nav ul li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.5rem;
  width: 5px;
  height: 1rem;
  background-color: #000;
}
.page_base_outer .twocolum nav ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 100%;
  background-color: #ccc;
  z-index: -1;
  transition: all 0.5s;
}
.page_base_outer .twocolum nav ul li a:hover:after {
  width: 100%;
}
.page_base_outer .onecolum {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.page_base_outer .onecolum .page_base_inner {
  padding: 1rem 3rem 3rem 5rem;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .page_base_outer .onecolum .page_base_inner {
    padding: 1rem 1rem 3rem 1rem;
  }
}
.page_base_outer .onecolum .page_base_inner h3 {
  font-size: 1.5rem;
  position: relative;
  padding: 1rem;
  border-bottom: 1px solid #999;
}
.page_base_outer .onecolum .page_base_inner h3::before {
  position: absolute;
  content: "";
  left: 0;
  top: 1.2rem;
  width: 5px;
  height: 1.5rem;
  background-color: #000;
}
.page_base_outer .onecolum nav {
  padding: 1rem 5rem 3rem 3rem;
  width: 25%;
}
.page_base_outer .onecolum nav h3 {
  border: 1px solid #999;
  padding: 1rem;
  text-align: center;
}
.page_base_outer .onecolum nav ul {
  list-style: none;
}
.page_base_outer .onecolum nav ul li a {
  display: block;
  padding: 1rem;
  border-bottom: 1px solid #999;
  position: relative;
  text-decoration: none;
  color: #000;
}
.page_base_outer .onecolum nav ul li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.2rem;
  width: 5px;
  height: 1rem;
  background-color: #000;
}
.page_base_outer .onecolum nav ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 100%;
  background-color: #ccc;
  z-index: -1;
  transition: all 0.5s;
}
.page_base_outer .onecolum nav ul li a:hover:after {
  width: 100%;
}

.page-404 {
  padding: 0 5rem;
}
@media screen and (max-width: 960px) {
  .page-404 {
    padding: 0 1rem;
  }
}
.page-404 h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  /*padding-bottom: 0.5rem;
  padding-left: 4rem;*/
  position: relative;
  margin: 2rem 0 3.5rem 3rem;
  background-image: url(../img/bg_memori.png);
  background-repeat: repeat-x;
  background-position: bottom left;
  /*background-color: #F00;*/
}
@media screen and (max-width: 960px) {
  .page-404 h2 {
    margin: 2rem 0 3.5rem 0rem;
  }
}
.page-404 h2 span {
  background-color: #FFF;
  padding: 0.5rem 1rem 0.5rem 0;
}
.page-404 h2::before {
  position: absolute;
  content: "";
  top: -1rem;
  left: -1rem;
  width: 1px;
  height: 80px;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
}
@media screen and (max-width: 960px) {
  .page-404 h2::before {
    border-left: 0px solid #999;
    left: 0rem;
  }
}
.page-404 h2::after {
  position: absolute;
  content: "";
  bottom: 0rem;
  left: -3rem;
  width: calc(100% + 3rem);
  height: 1px;
  border-bottom: 1px solid #999;
}
@media screen and (max-width: 960px) {
  .page-404 h2::after {
    left: 0rem;
    width: 100%;
  }
}
.page-404 p {
  text-align: center;
  font-size: 1.2rem;
}
.page-404 .p_404 {
  font-size: 5rem;
  font-weight: bold;
  margin: 0;
  font-family: sans-serif;
  line-height: 6rem;
}
.page-404 .p_404_2 {
  font-size: 3rem;
  font-weight: bold;
  margin: 0;
  font-family: sans-serif;
  line-height: 3rem;
}
.page-404 .bu_area {
  display: flex;
  justify-content: center;
}
.page-404 .bu_area button {
  margin: 0;
  padding: 0.5rem 2rem;
  font-size: 1.2rem;
  background-color: #000;
  color: #FFF;
  border: none;
  border-radius: 2.1rem;
  cursor: pointer;
  transition: all 0.5s;
}
.page-404 .bu_area button:hover {
  background-color: rgb(0, 86, 204);
}

.mb5 {
  margin-bottom: 5rem;
}

.linkplus {
  margin: 0 0 0 1rem !important;
  padding: 0 !important;
  font-size: 1rem !important;
  color: #999 !important;
}
.linkplus span {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.5rem !important;
}

.disclosure_list {
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
@media screen and (max-width: 760px) {
  .disclosure_list {
    margin-left: -1.5rem;
  }
}
.disclosure_list li {
  width: calc(20% - 1rem);
  margin-right: 1rem;
  position: relative;
  min-width: 320px;
  margin-bottom: 1rem;
}
@media screen and (max-width: 760px) {
  .disclosure_list li {
    width: 100%;
  }
}
.disclosure_list li a {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem;
  background-color: rgb(0, 86, 204);
  text-decoration: none;
  color: #FFF;
  transition: all 0.5s;
  width: 100%;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="40px" viewBox="0 -960 960 960" width="40px" fill="rgba(255,255,255,0.5)"><path d="M401.67-480.67 208.67-674l46.66-46.67 240 240-240 240-46.66-46.66 193-193.34Zm256.66 0L465.33-674 512-720.67l240 240-240 240-46.67-46.66 193-193.34Z"/></svg>');
  background-position: center right;
  background-repeat: no-repeat;
  position: relative;
  background-size: 72px;
}
.disclosure_list li a span.material-symbols-outlined {
  font-size: 42px;
}
.disclosure_list li a:hover {
  background-color: #000;
}
.disclosure_list li strong {
  font-weight: bold;
}

.disclosure_single_list {
  list-style: none;
  margin-left: -3rem;
}
.disclosure_single_list li {
  margin-bottom: 1rem;
}
.disclosure_single_list li a {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  background-color: rgb(0, 86, 204);
  color: #FFF;
  border: none;
  padding: 1rem;
  transition: all 0.5s;
  width: 100%;
  text-decoration: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="40px" viewBox="0 -960 960 960" width="40px" fill="rgba(255,255,255,0.5)"><path d="M401.67-480.67 208.67-674l46.66-46.67 240 240-240 240-46.66-46.66 193-193.34Zm256.66 0L465.33-674 512-720.67l240 240-240 240-46.67-46.66 193-193.34Z"/></svg>');
  background-position: center right;
  background-repeat: no-repeat;
  position: relative;
  background-size: 72px;
}
.disclosure_single_list li a span {
  font-size: 0.9rem;
  margin-left: 1rem;
}
.disclosure_single_list li a span.material-symbols-outlined {
  font-size: 42px;
}
.disclosure_single_list li a:hover {
  background-color: #000;
}

.wpcf7-form {
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
}
.wpcf7-form .required {
  margin-left: 0.5rem;
  font-size: 0.9rem;
  color: #F00;
}
.wpcf7-form .required2 {
  margin: 0;
  font-size: 0.9rem;
  color: #F00;
  position: absolute;
}
.wpcf7-form input[type=text],
.wpcf7-form [type=email] {
  width: 100%;
  height: 50px;
  font-size: 1.2rem;
}
.wpcf7-form textarea {
  width: 100%;
  height: 150px;
  font-size: 1.2rem;
}
.wpcf7-form input[type=checkbox] {
  width: 20px;
  height: 20px;
}
.wpcf7-form input[type=submit] {
  display: block;
  margin: 0 auto;
  background-color: rgb(0, 86, 204);
  color: #FFF;
  border: none;
  padding: 0.5rem 2rem 0.5rem 3rem;
  font-size: 1.2rem;
  border-radius: 2.1rem;
  letter-spacing: 1rem;
  cursor: pointer;
  transition: all 0.5s;
}
.wpcf7-form input[type=submit]:hover {
  background-color: #000;
}
.wpcf7-form .wpcf7-list-item {
  margin: 0 !important;
}
.wpcf7-form .wpcf7-list-item label {
  display: flex;
  align-items: center;
}

.bu-fukidashi p {
  line-height: 1rem;
}
.bu-fukidashi p a {
  display: block;
  position: relative;
  background-color: rgb(0, 86, 204);
  color: #FFF;
  padding: 2rem;
  text-decoration: none;
  border-radius: 0.5rem;
  font-size: 1.5rem;
}
.bu-fukidashi p a:hover {
  background-color: #000;
}
.bu-fukidashi p a:hover::after {
  border-color: transparent #000000 transparent transparent;
}
@media screen and (max-width: 960px) {
  .bu-fukidashi p a {
    font-size: 1.5rem;
    padding: 1.5rem 3rem;
  }
}
@media screen and (max-width: 720px) {
  .bu-fukidashi p a {
    font-size: 1rem;
    padding: 1rem 1rem;
  }
}
.bu-fukidashi p a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 10px 20px 10px 0;
  /*border-color: transparent #000000 transparent transparent;*/
  translate: -100% -50%;
}
.bu-fukidashi p a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 7.8px 15.5px 7.8px 0;
  border-color: transparent rgb(0, 86, 204) transparent transparent;
  translate: -100% -50%;
}

.wp-block-quote {
  border-left: none !important;
}

blockquote {
  position: relative;
  padding: 2rem;
  background-color: rgba(0, 86, 204, 0.2);
  border-radius: 1rem;
}
blockquote::before {
  font-family: "Material Symbols Outlined";
  /* または 'Material Symbols Rounded'など */
  content: "format_quote";
  /* アイコンのシンボル名 */
  position: absolute;
  font-size: 2rem;
  top: 1rem;
  left: 1rem;
  color: rgb(0, 86, 204);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

.tbl01 {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 3rem;
}
.tbl01 th,
.tbl01 td {
  border: 1px solid #000;
  padding: 0.5rem;
  text-align: left;
}
.tbl01 th {
  background-color: rgb(0, 86, 204);
  color: #FFF;
  text-align: center;
}
.tbl01 th:nth-child(1) {
  width: 15%;
}
.tbl01 th:nth-child(2) {
  width: 10%;
}
.tbl01 th:nth-child(3) {
  width: 20%;
}
.tbl01 th:nth-child(4) {
  width: 40%;
}
.tbl01 th:nth-child(5) {
  width: 15%;
}
.tbl01 tr:nth-child(even) {
  background-color: #9CD7FF;
}
.tbl01 tr:nth-child(odd) {
  background-color: #e0e0e0;
}
@media screen and (max-width: 1240px) {
  .tbl01 th {
    display: none;
  }
  .tbl01 tr {
    display: block;
  }
  .tbl01 tr:last-child {
    border-bottom: 1px solid #000;
  }
  .tbl01 td {
    display: block;
    width: 100%;
    border-bottom: none;
    position: relative;
    padding-left: 120px;
  }
  .tbl01 td::before {
    content: attr(data-label);
    position: absolute;
    left: 1rem;
    color: rgb(0, 86, 204);
    width: 100px;
    font-size: 0.8rem;
  }
}

.link-list {
  list-style: none;
}
.link-list li {
  margin-bottom: 1rem;
}
.link-list li a {
  position: relative;
  text-decoration: none;
  color: rgb(0, 86, 204);
}
.link-list li a::before {
  position: absolute;
  left: -2rem;
  top: -0.5rem;
  font-family: "Material Symbols Outlined";
  content: "expand_circle_right";
  font-size: 1.5rem;
  color: #000;
  font-variation-settings: "FILL" 1;
}
.link-list li a::after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  background-color: rgb(0, 86, 204);
  width: 100%;
  height: 1px;
  transition: all 0.3s;
}
.link-list li a:hover::after {
  width: 0;
}

/*@media screen and (max-width:960px) {
  .is-layout-flex {
    display: block !important;
  }
}*/
.til-bukai {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  margin-bottom: 1rem !important;
}
@media screen and (max-width: 960px) {
  .til-bukai {
    flex-direction: column;
  }
}
.til-bukai h4 {
  margin: 0;
}
.til-bukai p {
  margin: 0;
}

.mb3rem {
  margin-bottom: 3rem !important;
}

a[href^="tel:"] {
  text-decoration: none;
  color: #000;
  font-weight: bold;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.hogo {
  pointer-events: none;
  -webkit-user-drag: none;
  user-drag: none;
}

.tbl_news {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 3rem;
}
.tbl_news td {
  border: 1px solid #000;
  padding: 0.5rem;
  text-align: left;
}
.tbl_news td:nth-child(1) {
  width: 15%;
  font-weight: bold;
  background-color: #9CD7FF;
}
.tbl_news td:nth-child(2) {
  width: 85%;
}
@media screen and (max-width: 1024px) {
  .tbl_news td {
    display: block;
    border-bottom: none;
  }
  .tbl_news tr:last-child {
    border-bottom: 1px solid #000;
  }
  .tbl_news td:nth-child(1) {
    width: 100%;
  }
  .tbl_news td:nth-child(2) {
    width: 100%;
  }
}/*# sourceMappingURL=kkeiryo.css.map */