/* Shared by every article and the WordPress block editor. */
.needs-article-content,
.editor-styles-wrapper {
  color: #333;
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.needs-article-content > *,
.editor-styles-wrapper .wp-block {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
.needs-article-content p,
.editor-styles-wrapper p {
  margin-top: 0;
  margin-bottom: 1.5em;
  line-height: 1.8;
}
.needs-article-content :is(h2,h3,h4,h5,h6),
.editor-styles-wrapper :is(h2,h3,h4,h5,h6) {
  color: #004ea1;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 2em;
  margin-bottom: 1em;
}
.needs-article-content h2,
.editor-styles-wrapper h2 { font-size: 26px; }
.needs-article-content h3,
.editor-styles-wrapper h3 { font-size: 22px; }
.needs-article-content :is(h4,h5,h6),
.editor-styles-wrapper :is(h4,h5,h6) { font-size: 18px; }
.needs-article-content a { color: #004ea1; text-decoration: underline; text-underline-offset: .2em; }
.needs-article-content :is(figure,ul,ol,blockquote,table),
.editor-styles-wrapper :is(figure,ul,ol,blockquote,table) { margin-top: 1.5em; margin-bottom: 1.5em; }
.needs-article-content :is(ul,ol) { padding-left: 1.5em; }
.needs-article-content li { margin-bottom: .4em; }
.needs-article-content img,
.editor-styles-wrapper img { max-width: 100%; height: auto; }
.needs-article-content .wp-block-image img { display: block; margin: auto; }
.needs-article-content :is(video,iframe) { max-width: 100%; }
.needs-article-content figcaption { margin-top: .5em; font-size: 14px; text-align: center; color: #666; }
.needs-article-content blockquote { border-left: 3px solid #004ea1; padding: 1em 1.5em; background: #eff4f8; }
.needs-article-content .wp-block-table { overflow-x: auto; }
.needs-article-content :is(th,td) { border: 1px solid #ddd; padding: .75em; }
.needs-article-content > :first-child { margin-top: 0; }
.needs-article-content > :last-child { margin-bottom: 0; }
.needs-article-background { background: #eff4f8; padding: 64px 24px 80px; }
.needs-article { max-width: 1040px; margin: auto; background: white; border-radius: 12px; overflow: hidden; }
.needs-article-header { text-align: center; padding: 36px 40px; border-bottom: 1px solid #eee; }
.needs-article-header time { color: #004ea1; font-size: 14px; font-weight: 700; }
.needs-article-header h1 { margin: 12px 0 0; font-size: 28px; line-height: 1.5; color: #222; }
.needs-article-content { padding: 40px; }
.needs-article-links { max-width: 1040px; margin: 32px auto 0; }
.needs-article-links > p { margin: 28px 0 0; text-align: center; }
.needs-article-links .n-button { padding: 20px 32px; font-weight: 700; }
@media (max-width:767px) {
  .needs-article-background { padding: 32px 16px 48px; }
  .needs-article-header { padding: 28px 20px; }
  .needs-article-header h1 { font-size: 22px; }
  .needs-article-content { padding: 28px 20px; }
  .needs-article-content h2, .editor-styles-wrapper h2 { font-size: 23px; }
  .needs-article-content h3, .editor-styles-wrapper h3 { font-size: 20px; }
}
