body {
  font-family: source-han-sans-cjk-ja, sans-serif;
  font-weight: 300;
  font-style: normal;
}

.post_content > * {
  font-size: clamp(10.5pt, 2.692vw, 13.5pt);
}

.post_content h2 {
  font-family: source-han-serif-japanese, serif;
  font-weight: 300;
  font-style: normal;
  font-size: clamp(16pt, 3.59vw, 24pt);
  color: #00277E;
  margin: 0 auto 1rem;
}

.post_content h2.has-background {
  font-size: clamp(16pt, 3.59vw, 23pt);
  font-family:inherit!important;
  padding: 0.5rem 1rem
}

.l-topTitleArea {
  overflow: visible;
}

h1 #parent_title {
  border-bottom: 1px solid var(--color_main);
  width: 90%;
  text-align: center;
  padding-bottom: 10px;
  margin: 35px auto 10px;
}

h1 #child_title {
  text-align: center;
}

h1.c-pageTitle {
  background: url(../img/square.svg) no-repeat;
  background-position: center;
  background-size: contain;
  width: 200px;
  height: 200px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -290px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: clamp(9pt, 2.308vw, 16.5pt);
  font-weight: 300;
  color: var(--color_main);
}

.l-topTitleArea {
  margin-bottom: 200px;
}

.wp-block-table.is-style-stripes.staff {
  margin-bottom: -1px;
}

.wp-block-table.is-style-stripes.staff table {
  border-bottom: none;
}

.wp-block-table.is-style-stripes.staff td, .wp-block-table.is-style-stripes.staff th {
  border: 1px solid #9FA0A0 !important;
  padding: 1rem;
  vertical-align: middle;
  font-weight: normal;
}

.c-gnav > .menu-item > a .ttl {
  border-bottom: 1px solid var(--color_main);
  padding-bottom: 5px;
  padding-bottom: 5px;
  color: var(--color_main);
}

.c-gnav li.menu-item:last-child > a .ttl {
  border-bottom: none;
  background: var(--color_main);
  color: #fff;
  padding: 5px;
  font-size: 14px;
}

.c-gnav li.menu-item:last-child > a .ttl::before {
  content: "\f0e0";
  font-family: FontAwesome;
  margin-right: 5px;
}

.c-gnav .sub-menu {
  background: var(--color_main);
  color: #fff;
}

.c-gnav .sub-menu li {
  border-bottom: 1px solid #005BA9;
}

.c-gnav .sub-menu li:last-child a .ttl::before {
  content: "";
  margin-right: -5px;
}

.c-gnav .c-smallNavTitle {
  color: var(--color_main);
}

.-img .c-headLogo__link {
  padding: 6px 0;
}

.l-header__bar {
  background: #E9EBEE;
  color: #000;
}

.l-header__bar .c-catchphrase {
  font-size: 18px;
  padding: 15px 0;
}

.l-footer {
  color: var(--color_main);
}

.l-footer .copyright {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #00277E;
  color: #fff;
  padding: 4px 0;
}

#footer-info ul {
  border-top: 1px solid var(--color_main);
  margin: 40px auto;
  padding: 40px 0;
  display: flex;
  flex-wrap: wrap;
}

#footer-info li {
  width: 50%;
  margin-bottom: 1rem;
}

#footer-info li::before {
  content: "\f08e";
  font-family: FontAwesome;
  margin-right: 5px;
}

.l-header__menuBtn {
  background: var(--color_main);
}

.l-header__menuBtn .c-iconBtn__icon {
  color: #fff;
}

#news h2 {
  border-bottom: 1px solid var(--color_main);
  padding-bottom: 5px;
  margin-bottom: 1rem;
  font-size: 18px;
}

#news li {
  color: var(--color_main);
  margin-bottom: 1rem;
  border-bottom: 1px dashed #e3e6ea;
  padding-bottom: 1rem;
}

#news p {
  text-align: right;
}

footer a.contact-mail {
	margin-left: 0;
	background: var(--color_main);
	color: #fff;
	padding: 2px 5px;
	font-size: 0.8rem;
	text-decoration: none;
}
footer .contact-mail::before {
	content: "\f0e0";
	font-family: FontAwesome;
	margin-right: 5px;
}
footer .footer-contact, footer .footer-contact span {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
footer .footer-contact span {
	margin-top: 1rem;
}
footer .footer-contact img {
	width: 25px;
}
footer .footer-contact .sns-icon {
	margin-left: 1rem;
	margin-top: 5px;
}

@media screen and (min-width: 600px) {
  h1 #parent_title {
    border-bottom: 1px solid var(--color_main);
    width: 90%;
    text-align: center;
    padding-bottom: 10px;
    margin: 60px auto 10px;
  }
  h1 #child_title {
    text-align: center;
  }
  h1.c-pageTitle {
    width: 380px;
    height: 380px;
    bottom: -540px;
  }
  .l-topTitleArea {
    min-height: 700px;
    margin-bottom: 200px;
  }
  .c-bannerLink__label {
    font-size: 18px;
  }
  footer .footer-contact {
	  flex-wrap: nowrap;
  }
  footer a.contact-mail {	  
  margin-left:1rem;
}
footer .footer-contact span {
	margin-top: 0rem;
}
}
