@keyframes fadein {
  from {
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeout {
  from {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes scroll {
  0% {
    transform: translate(0);
  }
  100% {
    transform: translate(-100%);
  }
}
.article_header {
  background-color: #fff;
  padding-bottom: 0;
}
.article_header h1 {
  text-align: center;
  color: #4987db;
}

.entry_content {
  counter-reset: h2;
}
.entry_content * + p {
  margin-top: 0;
}
.entry_content h2::before {
  counter-increment: h2;
  content: counter(h2) ". ";
}
.entry_content h3 {
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 4.8vw;
}
.entry_content * + h3,
.entry_content p + p {
  margin-top: 1em;
}
.entry_content .text_right {
  margin-top: 10.67vw;
}

.philosophy {
  border: #4987db solid 1px;
  border-radius: 2.67vw;
  margin: 10.67vw 0;
  padding: 4vw;
}
.philosophy p {
  text-align: center;
  color: #4987db;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  .article_header h1 {
    font-size: 3rem;
  }
  .article_header h1 > br:not(:first-child) {
    display: none;
  }
  .entry_content h2 {
    font-size: 2rem;
  }
  .entry_content p {
    font-size: 1.6rem;
  }
  .entry_content h3 {
    font-size: 1.8rem;
  }
  .entry_content .text_right {
    margin-top: 4rem;
  }
  .philosophy {
    border-radius: 4rem;
    margin: 5rem 0;
    padding: 3rem;
  }
  .philosophy p {
    font-size: 1.8rem;
  }
}