.entry-content > * {
  margin: 1.5em 0;
}
.entry-content > *:first-child {
  margin-top: 0 !important;
}
.entry-content > *:last-child {
  margin-bottom: 0 !important;
}
.entry-content > div {
  margin: 3em 0;
}
.entry-content > div > * {
  margin: 1.5em 0;
}
.entry-content > div > *:first-child {
  margin-top: 0 !important;
}
.entry-content > div > *:last-child {
  margin-bottom: 0 !important;
}
.entry-content a {
  text-decoration: underline;
  color: currentColor;
}
.entry-content hr {
  margin: 4rem 0;
  padding: 0;
  height: 0;
  border: none;
  border-top: 1px solid var(--color-gray-300);
  color: var(--color-white);
  line-height: 0;
  background: none;
}
.entry-content :is(h1, h2, h3, h4, h5, h6) {
  line-height: var(--leading-normal);
}
.entry-content :is(h1) {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-base);
  font-size: clamp(2.4rem, 1.4882615156rem + 1.1887072808vw, 3.2rem);
  line-height: var(--leading-normal);
}
.entry-content :is(h2) {
  padding: 20px;
  border-radius: 10px;
  font-size: var(--text-3xl);
  line-height: var(--leading-none);
  background: var(--color-white);
}
@media (max-width: 767.98px) {
  .entry-content :is(h2) {
    font-size: var(--text-xl);
  }
}
.entry-content :is(h2) span {
  display: inline-block;
  position: relative;
  padding-block: 17px 18px;
  padding-left: 20px;
  vertical-align: middle;
  line-height: var(--leading-tight);
}
@media (max-width: 767.98px) {
  .entry-content :is(h2) span {
    padding-block: 10px;
  }
}
.entry-content :is(h2) span::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  height: 100%;
  border-radius: 90px;
  background-color: var(--color-primary);
}
.entry-content h2 {
  background: #f8f8f8;
}
.entry-content :is(h3) {
  padding: 26px 20px;
  border-radius: 10px;
  color: var(--color-primary);
  font-size: clamp(2.4rem, 1.4882615156rem + 1.1887072808vw, 3.2rem);
  line-height: var(--leading-normal);
  background: #fff8ef;
}
@media (max-width: 767.98px) {
  .entry-content :is(h3) {
    font-size: var(--text-xl);
  }
}
.entry-content :is(h4) {
  position: relative;
  padding-top: 14px;
  font-size: 2.2rem;
  line-height: var(--leading-normal);
}
.entry-content :is(h4)::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 4px;
  border-radius: 90px;
  background-color: var(--color-primary);
}
.entry-content :is(h5, h6) {
  font-size: var(--text-lg);
}
.entry-content iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.entry-content blockquote {
  position: relative;
  margin: 4rem 0;
  padding: 0.5rem 2.5rem;
  border-top: 1px solid var(--color-gray-300);
  border-bottom: 1px solid var(--color-gray-300);
  color: var(--color-gray-400);
  font-size: var(--text-lg);
  font-style: italic;
  line-height: var(--leading-loose);
}
.entry-content blockquote::before, .entry-content blockquote::after {
  display: inline-block;
  content: "";
  position: absolute;
  width: 3.5rem;
  height: 2.5rem;
}
.entry-content blockquote small,
.entry-content blockquote small a {
  color: var(--color-gray-400);
  font-size: var(--text-xs);
  font-weight: var(--font-regular);
}
.entry-content table {
  width: 100%;
  word-break: break-all;
  line-height: var(--leading-normal);
  background-color: var(--color-gray-3);
  border-spacing: 1px;
  border-collapse: separate;
}
.entry-content table :is(th, td) {
  padding: 10px;
}
.entry-content table th {
  font-weight: var(--font-medium);
}
.entry-content table thead {
  color: var(--color-white);
  background-color: var(--color-primary);
}
.entry-content table tbody th {
  color: var(--color-base);
  background-color: var(--color-primary-lightest);
}
.entry-content table tbody td {
  text-align: left;
  background-color: var(--color-gray-1);
}
.entry-content table img {
  width: 100%;
}
.entry-content :is(ul, ol) {
  margin-left: 1em;
}
.entry-content :is(ul) {
  list-style: none;
  margin-inline: 0;
}
.entry-content :is(ul) li {
  display: flex;
  gap: 10px;
}
.entry-content :is(ul) li::before {
  display: block;
  content: "";
  flex: none;
  margin-top: 1em;
  width: 15px;
  height: 3px;
  background-color: var(--color-primary);
}
.entry-content :is(ol) {
  list-style: none;
  counter-reset: list-item;
  margin-inline: 0;
}
.entry-content :is(ol) li {
  counter-increment: list-item;
}
.entry-content :is(ol) li::before {
  content: counter(list-item) ".";
  margin-right: 10px;
}
.entry-content .wp-block-file__button {
  padding: 8px 16px;
  text-decoration: none;
  color: var(--color-white);
  line-height: var(--leading-normal);
  background-color: var(--color-base);
}
.entry-content .alignleft {
  float: left;
}
.entry-content .alignright {
  float: right;
}
.entry-content .wp-caption {
  max-width: 100%;
}
@media (max-width: 767.98px) {
  .entry-content .wp-caption {
    width: 100% !important;
  }
  .entry-content .wp-caption img {
    display: block;
    margin: 0 auto;
  }
}
.entry-content .wp-caption-text {
  margin-top: 26px;
  text-align: center;
  font-size: var(--text-xl);
  font-weight: var(--font-medium);
  line-height: var(--leading-normal);
}
