@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
body {
  line-height: 1.8;
  font-size: 18px;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif !important;
}
@media all and (-ms-high-contrast: none)  {
  html {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
@media all and (-ms-high-contrast: active) {
  html {
    font-family: Verdana, Meiryo, sans-serif;
  }
}

a {
  color: #0F0088;
  font-weight: 800;
}
.anchor {
  display: block;
  height: 4rem;
  margin-top: -4rem;
  content: "";
}

.fs-7 {
  font-size: 14px;
}
.fs-8 {
  font-size: 12px;
}
.fs-9 {
  font-size: 10px;
}
img {
  max-width: 100%;
  height: auto;
}
.bg-cover {
  background: linear-gradient(135deg, #0F0088, #17D5FF);
}
.bg-primary {
  background-color: #0F0088 !important;
}
.btn-dark-blue {
  background-color: #0F0088;
  border-color: #0F0088;
  color: #FFF;
}
.btn-dark-blue:hover {
  background: #FCFCFC;
  border-color: #0F0088;
  color: #333;
}
.highlight-striped {
  background-image: repeating-linear-gradient(-45deg,
    #fcf69f 0, #f7ed5c 4px,
    transparent 4px, transparent 8px
  );
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 0.5em;
}
.page-subtitle {
  color: #AAA;
}
.page-content h2 {
  font-size: 24px;
  font-weight: 800;
  border-bottom: 1px solid #CCC;
  padding-top: 1em;
  padding-bottom: .2em;
  margin-bottom: .5em;
}
.page-content h3 {
  font-size: 20px;
  font-weight: 800;
  padding-top: 1em;
  padding-bottom: .5em;
}
.page-content h4 {
  font-size: 18px;
  font-weight: 800;
  padding-left: 10px;
  border-left: 5px solid #AAA;
}
.rounded-10 {
  border-radius: 10px !important;
}
.short-border-bottom-center {
  position: relative;
  text-align: center; /* 文字の中央寄せ */
}
.short-border-bottom-center::before {
  background-color: #0F0088;
  border-radius: 5px;
  bottom: -1.5rem;
  content: "";
  height: 5px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 100px;
}
.short-border-bottom-start {
  position: relative;
  text-align: left;
}
.short-border-bottom-start::before {
  background-color: #0F0088;
  border-radius: 5px;
  bottom: -1.5rem;
  content: "";
  height: 5px;
  left: 0%;
  position: absolute;
  transform: translateX(-0%);
  width: 100px;
}
.short-border-bottom-w-50::before {
  width: 50px !important;
}
