@charset "UTF-8";
/* src/blocks/cards-slider/style.scss */
.arc-text {
  color: inherit;
}
.arc-text .arc-svg {
  width: var(--arc-w-pc, 30cqi);
  height: auto;
  display: block;
  color: inherit; /* currentColor 継承 */
}
@media screen and (max-width: 768px) {
  .arc-text .arc-svg {
    width: var(--arc-w-sp, 60cqi);
  }
}
.arc-text .arc-char {
  font: inherit;
  fill: var(--arc-fill);
  font-weight: 900;
}

.cta-box {
  position: relative;
  z-index: 0;
  /* デフォルト値（属性未指定の時） */
  --ctaText: var(--body);
  --ctaBg: var(--bodyBg);
  --ctaStrong: var(--brand);
}

.cards-slider {
  position: relative;
  container-type: inline-size;
  /* ★ ブロック属性から渡した幅（%） */
  width: var(--cards-slider-width, 100%);
  margin-inline: auto;
  /* ナビボタン共通 */
  /* ★ ボタン位置のバリエーション */
}
.cards-slider .cards-slider__track,
.cards-slider .wp-block-post-template {
  --gap: 16px;
  --card-w: 80cqi;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--card-w);
  gap: var(--gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: calc((100cqi - var(--card-w)) / 2);
  -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0, rgb(0, 0, 0) 6%, rgb(0, 0, 0) 94%, rgba(0, 0, 0, 0) 100%);
          mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0, rgb(0, 0, 0) 6%, rgb(0, 0, 0) 94%, rgba(0, 0, 0, 0) 100%);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cards-slider .cards-slider__track::before, .cards-slider .cards-slider__track::after,
.cards-slider .wp-block-post-template::before,
.cards-slider .wp-block-post-template::after {
  content: "";
  display: block;
  width: calc((100cqi - var(--card-w)) / 2);
  height: 10px;
}
.cards-slider .cards-slider__track > *,
.cards-slider .wp-block-post-template > * {
  margin: 0;
  scroll-snap-align: center;
}
.cards-slider .cards-slider__track::-webkit-scrollbar,
.cards-slider .wp-block-post-template::-webkit-scrollbar {
  display: none;
}
.cards-slider .wp-block-buttons {
  margin: 0;
  display: flex;
  justify-content: space-between;
  position: absolute;
  z-index: 1;
  width: 100%;
  pointer-events: none;
}
.cards-slider .wp-block-buttons .wp-block-button {
  pointer-events: auto;
}
.cards-slider .wp-block-buttons .wp-block-button.cards-slider__prev {
  margin-right: auto;
  margin-left: -1em;
}
.cards-slider .wp-block-buttons .wp-block-button.cards-slider__next {
  margin-left: auto;
  margin-right: -1em;
}
.cards-slider .wp-block-buttons .wp-block-button .wp-block-button__link,
.cards-slider .wp-block-buttons .wp-block-button .cards-slider__prev,
.cards-slider .wp-block-buttons .wp-block-button .cards-slider__next {
  padding: 0;
  width: 2em;
  line-height: 1.5em;
  text-align: center;
  color: color-mix(in oklab, var(--body) 80%, transparent);
  background: color-mix(in oklab, var(--body) 40%, transparent);
  border-radius: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.cards-slider.cards-slider--nav-top .wp-block-buttons {
  top: 0;
  bottom: auto;
  transform: none;
}
.cards-slider.cards-slider--nav-middle .wp-block-buttons {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.cards-slider.cards-slider--nav-bottom .wp-block-buttons {
  top: auto;
  bottom: 0;
  transform: none;
}

.fade-on-scroll {
  position: relative;
}
.fade-on-scroll .sinthia-fade-item {
  opacity: 0;
  transform: none;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition-delay: var(--sinthia-fade-delay, 0ms);
  will-change: opacity, transform;
}
.fade-on-scroll .sinthia-fade-item.is-visible {
  opacity: 1;
  transform: none;
}
.fade-on-scroll.is-style-fade-up .sinthia-fade-item {
  transform: translate3d(0, 20px, 0);
  transition-duration: 0.8s;
}
.fade-on-scroll.is-style-fade-up .sinthia-fade-item.is-visible {
  transform: none;
}
.fade-on-scroll.is-style-fade-zoom .sinthia-fade-item {
  transform: scale(0.96);
}
.fade-on-scroll.is-style-fade-zoom .sinthia-fade-item.is-visible {
  transform: none;
}
.fade-on-scroll.is-style-fade-from-left .sinthia-fade-item {
  transform: translate3d(-25px, 0, 0);
}
.fade-on-scroll.is-style-fade-from-left .sinthia-fade-item.is-visible {
  transform: none;
}

:where(.feature-box) {
  background: var(--bodyBg);
  border-radius: 10px;
  box-shadow: 0px 10px 20px color-mix(in oklab, var(--body) 12%, transparent);
  box-sizing: border-box;
  overflow: hidden;
  display: grid;
  grid-template-columns: 6fr 4fr;
  grid-template-rows: auto auto;
}
@media screen and (max-width: 768px) {
  :where(.feature-box) {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
}
:where(.feature-box) :where(.feature-box__inner) :where(.feature-box__text) {
  grid-column: 1;
  grid-row: 1;
  padding: var(--padding) var(--margin) 0;
}
@media screen and (max-width: 768px) {
  :where(.feature-box) :where(.feature-box__inner) :where(.feature-box__text) {
    grid-column: 1;
    grid-row: 1;
  }
}
:where(.feature-box) :where(.feature-box__inner) :where(.feature-box__text) h3.wp-block-heading {
  margin: 0;
}
:where(.feature-box) :where(.feature-box__inner) :where(.feature-box__body) {
  grid-column: 1;
  grid-row: 2;
  padding: 0 var(--margin) var(--padding);
}
@media screen and (max-width: 768px) {
  :where(.feature-box) :where(.feature-box__inner) :where(.feature-box__body) {
    grid-column: 1;
    grid-row: 2;
  }
}
:where(.feature-box) :where(.feature-box__media) {
  grid-column: 2;
  grid-row: 1/3;
}
@media screen and (max-width: 768px) {
  :where(.feature-box) :where(.feature-box__media) {
    grid-column: 1;
    grid-row: 3;
  }
}
:where(.feature-box) :where(.feature-box__media) :where(.feature-box__image) {
  margin: 0;
  width: 100%;
  height: 100%;
}
:where(.feature-box) :where(.feature-box__media) :where(.feature-box__image) img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

:where(.feature-box2) :where(.feature-box2__text) h3.wp-block-heading {
  border-bottom: 3px solid var(--brand);
}
:where(.flow-item) {
  counter-increment: flow-item 1;
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto;
  gap: var(--margin);
}
@media screen and (max-width: 768px) {
  :where(.flow-item) {
    gap: 1em;
  }
}
:where(.flow-item) + :where(.flow-item) {
  margin-top: var(--margin);
}
:where(.flow-item) :where(.flow-body) .wp-block-heading {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  margin: 0;
  font-size: var(--clamp_md);
}
:where(.flow-item) :where(.flow-body) .wp-block-heading::before, :where(.flow-item) :where(.flow-body) .wp-block-heading::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
:where(.flow-item) :where(.flow-body) :where(.flow-body__text) > p {
  margin: 0;
  font-size: var(--clamp_base);
}

.interview-item {
  display: grid;
  grid-template-columns: 4em 1fr;
  grid-template-rows: auto;
  gap: 0 var(--padding);
}
.interview-item.block-editor-block-list__block .block-editor-rich-text__editable.interview-title.rich-text {
  color: var(--body);
}
.interview-item.block-editor-block-list__block .interview-image__actions {
  margin-top: 2em;
}
.interview-item.block-editor-block-list__block .components-button.is-link.is-destructive {
  white-space: nowrap;
}
.interview-item .interview-image {
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
  margin-top: 1em;
}
.interview-item .interview-image .interview-image__preview,
.interview-item .interview-image picture,
.interview-item .interview-image img {
  width: 4em;
  height: 4em;
  width: 100%;
  border-radius: 100px;
  background: var(--bodyBg);
  border: 1px solid color-mix(in srgb, var(--body) 10%, transparent);
  -o-object-fit: cover;
     object-fit: cover;
}
.interview-item .interview-image .interview-image__caption {
  margin-top: 0;
  font-size: var(--xs);
  color: color-mix(in srgb, var(--body) 40%, transparent);
  white-space: nowrap;
}
.interview-item .interview-body {
  background: var(--bodyBg);
  border-radius: 10px;
  box-shadow: 0px 10px 20px color-mix(in oklab, var(--body) 12%, transparent);
  padding: var(--padding) calc(var(--padding) * 2);
}
@media screen and (max-width: 768px) {
  .interview-item .interview-body {
    padding: var(--padding) var(--padding);
  }
}
.interview-item .interview-body .interview-title {
  font-size: var(--clamp_md);
  margin-top: 0;
}
.interview-item .interview-body p {
  font-size: var(--clamp_base);
}

.lp-heading h1.wp-block-heading {
  margin-top: 0;
  margin-bottom: var(--margin);
}
.lp-heading .lp-heading__catch {
  font-size: var(--clamp_md);
  font-weight: 900;
  color: var(--brand);
  margin-top: 0;
  margin-bottom: var(--margin);
}
.lp-heading .lp-heading__body > p {
  font-size: var(--clamp_base);
  line-height: 2;
}
.lp-heading .lp-heading__body > p + p {
  margin-top: 1em;
}
.lp-heading .block-editor-rich-text__editable.lp-heading__body {
  font-size: var(--clamp_base);
}

.price-box {
  background: var(--bodyBg);
  border-radius: 10px;
  box-shadow: 0px 10px 20px color-mix(in oklab, var(--body) 12%, transparent);
}
.price-box h3.price-box__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 10px 10px 0 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0.4em 1em;
  min-height: 2.2em;
  text-align: center;
  line-height: 1.2;
}
.price-box h3.price-box__heading sub {
  font-size: 0.8em;
}

dl.qa-item + dl.qa-item {
  margin-top: var(--margin);
}
dl.qa-item dt.qa-question {
  position: relative;
  font-weight: 900;
  color: var(--brand);
  padding-left: 1.6em;
  font-size: var(--clamp_md);
  margin-bottom: 0.3em;
}
dl.qa-item dt.qa-question::before {
  position: absolute;
  left: 0;
  content: "Q.";
  display: inline-block;
  white-space: nowrap;
  width: 1em;
  color: var(--brand);
}
dl.qa-item dd.qa-answer {
  position: relative;
  margin-left: 0;
  padding-left: 1.6em;
  font-size: var(--clamp_md);
}
dl.qa-item dd.qa-answer > p {
  font-size: var(--clamp_base);
}
dl.qa-item dd.qa-answer::before {
  position: absolute;
  left: 0;
  content: "A.";
  display: inline-block;
  white-space: nowrap;
  width: 1em;
  color: color-mix(in srgb, var(--body) 70%, transparent);
  font-size: var(--clamp_md);
  font-weight: 900;
}

.responsive-image {
  position: relative;
  z-index: 0;
}
.responsive-image.is-style-minusmargintop {
  margin-top: calc(var(--wp--preset--spacing--margin-header-breadcrumb) * -1) !important;
}
.responsive-image.alignfull {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  transform: none;
}
.responsive-image .responsive-image__frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.responsive-image .responsive-image__frame picture {
  display: block;
  width: 100%;
  height: auto;
}
.responsive-image .responsive-image__frame img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--sin-obj-pos, 50% 50%);
     object-position: var(--sin-obj-pos, 50% 50%);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.responsive-image .responsive-image__frame.is-aspect {
  aspect-ratio: var(--sin-pc-aspect, 21/9);
}
@media screen and (max-width: 768px) {
  .responsive-image .responsive-image__frame.is-aspect {
    aspect-ratio: var(--sin-sp-aspect, 16/9);
  }
}
.responsive-image .responsive-image__frame.is-fixedHeight {
  height: var(--sin-sp-h, auto);
}
@media screen and (max-width: 768px) {
  .responsive-image .responsive-image__frame.is-fixedHeight {
    height: var(--sin-pc-h, auto);
  }
}
.responsive-image .responsive-image__frame.is-contentHeight {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0;
}
.responsive-image .responsive-image__frame.is-contentHeight img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--sin-obj-pos, 50% 50%);
     object-position: var(--sin-obj-pos, 50% 50%);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.responsive-image .responsive-image__frame.is-contentHeight .responsive-image__overlay {
  position: relative;
  inset: auto;
  pointer-events: none;
  width: 100%;
  padding: 1.5rem;
}
.responsive-image .responsive-image__frame.is-contentHeight .responsive-image__overlay-inner {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  max-width: 90%;
  margin: 0 auto;
  pointer-events: auto;
}
.responsive-image .responsive-image__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  width: 100%;
  text-align: center;
  padding: 1rem;
  box-sizing: border-box;
}
.responsive-image .responsive-image__overlay-inner {
  position: absolute;
  left: var(--sin-ov-x, 50%);
  top: var(--sin-ov-y, 50%);
  transform: translate(var(--sin-ov-tx, -50%), var(--sin-ov-ty, -50%));
  pointer-events: auto;
  max-width: 90%;
  margin: 0 auto;
}

a.responsive-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
}
a.responsive-image:hover {
  opacity: 0.7;
}

.responsive-video {
  position: relative;
  width: 100%;
  isolation: isolate; /* 積層の衝突を防ぐ */
}

.wp-block[data-align=full] .responsive-video {
  max-width: none;
}

.wp-block[data-align=wide] .responsive-video {
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-left: auto;
  margin-right: auto;
}

.responsive-video .rvideo__media {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  overflow: clip;
}

.responsive-video .rvideo__media:not([style*=aspect-ratio]) {
  aspect-ratio: 16/9;
}

.responsive-video .rvideo__media video {
  width: 100%;
  height: 100%;
  display: block;
}

.responsive-video .rvideo__poster,
.responsive-video .rvideo__placeholder {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  display: block;
}

.responsive-video .rvideo__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none; /* 親はクリック無効化 */
  z-index: 2;
}

.responsive-video .rvideo__overlaySlot {
  position: absolute;
  pointer-events: auto; /* 子要素のリンクなどはクリック可能に */
  display: inline-block;
}

.responsive-video .rvideo__overlaySlot :where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--wp-admin-theme-color, #2271b1);
  outline-offset: 2px;
}

.timeline {
  list-style: none;
  padding: 0;
}
.timeline .timeline__item {
  display: flex;
}
.timeline .timeline__date {
  display: block;
  padding: 1em 3em;
  text-align: right;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 768px) {
  .timeline .timeline__date {
    padding-left: 1em;
    padding-right: 2em;
  }
}
.timeline .timeline__date::before {
  position: absolute;
  top: 1.3em;
  right: calc(-0.5em - 0.5px);
  z-index: 1;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 100%;
  background: var(--brand);
}
.timeline .timeline__desc {
  padding: 1em 0 1em 3em;
  border-left: solid 1px transparent;
  border-left-color: color-mix(in srgb, var(--body) 50%, transparent);
}
@media screen and (max-width: 768px) {
  .timeline .timeline__desc {
    padding-left: 2em;
  }
}

.voice-item {
  position: relative;
  width: 100%;
  background: var(--bodyBg);
  border-radius: 10px;
  box-shadow: 0px 10px 20px color-mix(in oklab, var(--body) 12%, transparent);
  padding: var(--padding) calc(var(--padding) * 2);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 4em 1fr;
  grid-template-rows: auto auto;
  gap: 0 1em;
}
@media screen and (max-width: 768px) {
  .voice-item {
    padding: var(--padding) var(--padding);
  }
}
.voice-item.block-editor-block-list__block .components-button.is-link.is-destructive {
  white-space: nowrap;
}
.voice-item .voice-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
}
.voice-item .voice-image img {
  width: 4em;
  height: 4em;
  border-radius: 100px;
  -o-object-fit: cover;
     object-fit: cover;
  background: var(--bodyBg);
  border: 1px solid color-mix(in srgb, var(--body) 10%, transparent);
}
.voice-item .voice-image figcaption {
  margin-top: 0;
  font-size: var(--xs);
  color: color-mix(in srgb, var(--body) 40%, transparent);
  white-space: nowrap;
}
.voice-item .voice-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
@media screen and (min-width: 768px) {
  .voice-item .voice-header {
    margin-top: 0.7em;
  }
}
.voice-item .voice-header .voice-title {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  font-size: var(--clamp_md);
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 0;
}
.voice-item .voice-header .voice-title::before, .voice-item .voice-header .voice-title::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.voice-item .voice-header .voice-meta {
  font-size: var(--clamp_base);
  font-weight: 700;
  line-height: 1.2;
}
.voice-item .voice-body {
  grid-column: 1/3;
  padding-top: 1em;
}
.voice-item .voice-body .wp-block-heading {
  font-size: var(--clamp_base);
  font-weight: 700;
  color: var(--brand);
  margin-block-start: 0;
  margin-block-end: 0;
}
.voice-item .voice-body .wp-block-heading + p {
  margin-top: 0.5em;
}
.voice-item .voice-body p {
  font-size: var(--sm);
}

p.is-style-heavyitalicbrandcolor {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  color: var(--brand);
  font-style: italic;
  font-weight: 700;
  line-height: 1.2;
}
p.is-style-heavyitalicbrandcolor::before, p.is-style-heavyitalicbrandcolor::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
p.is-style-heavybrandcolor {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  color: var(--brand);
  font-weight: 700;
  line-height: 1.2;
}
p.is-style-heavybrandcolor::before, p.is-style-heavybrandcolor::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
p.is-style-leftrightline {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.2;
  position: relative;
}
p.is-style-leftrightline::before, p.is-style-leftrightline::after {
  position: absolute;
  top: 50%;
  content: "";
  display: block;
  width: 2em;
  height: 1px;
  background: currentColor;
}
p.is-style-leftrightline::before {
  left: -3em;
}
p.is-style-leftrightline::after {
  right: -3em;
}
p.is-style-radiusinversion {
  color: var(--brand-inversion);
  background: var(--brand);
  font-size: var(--font-h4);
  font-weight: 700;
  line-height: 1.2;
  border-radius: 1000px;
  padding: 0.4em 1.5em 0.5em;
}
p.is-style-radiusinversion.has-text-align-center {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
p.is-style-radiusinversion.has-text-align-left {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 0 !important;
}
p.is-style-radiusinversion.has-text-align-right {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 0 !important;
}
p.is-style-bottomballoon {
  color: var(--brand-inversion);
  background: var(--brand);
  padding: 1em;
  box-sizing: border-box;
  font-size: var(--font-h4);
  font-weight: 900;
  text-align: center;
  position: relative;
}
p.is-style-bottomballoon::before {
  position: absolute;
  bottom: calc(-1em + 2px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--brand);
  content: "";
  display: block;
  width: 3em;
  height: 1em;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.wp-block-query.is-style-news .wp-block-post-template {
  padding-left: 0;
}
.wp-block-query.is-style-news .wp-block-post {
  margin-block-start: 0;
  border-bottom: solid 1px transparent;
  border-bottom-color: color-mix(in srgb, var(--body) 20%, transparent);
  transition: background 0.4s;
  z-index: 0;
  position: relative;
  padding: 0;
}
.wp-block-query.is-style-news .wp-block-post::before {
  position: absolute;
  bottom: -1px;
  left: 0em;
  z-index: 1;
  content: "";
  display: block;
  width: 8em;
  height: 2px;
  background: var(--brand);
  transition: width 0.4s;
}
@media screen and (max-width: 768px) {
  .wp-block-query.is-style-news .wp-block-post::before {
    width: 10em;
  }
}
.wp-block-query.is-style-news .wp-block-post:hover {
  background: color-mix(in srgb, var(--body) 10%, transparent);
}
.wp-block-query.is-style-news .wp-block-post:hover::before {
  width: 100%;
}
.wp-block-query.is-style-news .wp-block-post + .wp-block-post {
  margin-top: 0;
}
.wp-block-query.is-style-news .wp-block-group {
  padding: var(--padding);
}
@media screen and (max-width: 768px) {
  .wp-block-query.is-style-news .wp-block-group {
    flex-direction: column;
    align-items: flex-start;
    padding: 1em;
    gap: 0;
    position: relative;
  }
}
.wp-block-query.is-style-news .wp-block-post-date {
  width: 8em;
  letter-spacing: 0.3em;
  font-size: var(--sm);
}
.wp-block-query.is-style-news .wp-block-post-title {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  font-size: var(--base);
  margin: 0;
}
.wp-block-query.is-style-news .wp-block-post-title::before, .wp-block-query.is-style-news .wp-block-post-title::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}

.wp-block-heading.is-style-no-style {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
}
.wp-block-heading.is-style-no-style::before, .wp-block-heading.is-style-no-style::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-leftline {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  position: relative;
  padding-left: 1em;
  box-sizing: border-box;
}
.wp-block-heading.is-style-leftline::before, .wp-block-heading.is-style-leftline::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-leftline::after {
  position: absolute;
  top: 0.1em;
  left: 0;
  content: "";
  display: block;
  width: 0.3em;
  height: 100%;
  background: var(--brand);
}
.wp-block-heading.is-style-bottomline {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  border-bottom: 3px solid var(--brand);
}
.wp-block-heading.is-style-bottomline::before, .wp-block-heading.is-style-bottomline::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-bottompoint {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  position: relative;
  padding-bottom: 1em;
}
.wp-block-heading.is-style-bottompoint::before, .wp-block-heading.is-style-bottompoint::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-bottompoint::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 1em;
  height: 3px;
  background: var(--brand);
}
.wp-block-heading.is-style-label {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  color: var(--brand);
}
.wp-block-heading.is-style-label::before, .wp-block-heading.is-style-label::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-label strong {
  display: inline-block;
  background: var(--brand);
  color: var(--body);
  padding: 0 0.5em;
}
.wp-block-heading.is-style-heavyitalicbrandcolor {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  color: var(--brand);
  font-style: italic;
  font-weight: 700;
}
.wp-block-heading.is-style-heavyitalicbrandcolor::before, .wp-block-heading.is-style-heavyitalicbrandcolor::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-heavybrandcolor {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  color: var(--brand);
  font-weight: 700;
}
.wp-block-heading.is-style-heavybrandcolor::before, .wp-block-heading.is-style-heavybrandcolor::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-heavy900 {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  font-weight: 900;
}
.wp-block-heading.is-style-heavy900::before, .wp-block-heading.is-style-heavy900::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-bottomballoonbg {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  color: var(--brand-inversion);
  background: var(--brand);
  padding: 0.5em;
  line-height: 1.2;
  position: relative;
}
.wp-block-heading.is-style-bottomballoonbg::before, .wp-block-heading.is-style-bottomballoonbg::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-heading.is-style-bottomballoonbg::before {
  position: absolute;
  bottom: calc(-1em + 2px);
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 3em;
  height: 1em;
  background: var(--brand);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.wp-block-group.is-style-message-band {
  color: var(--brand-inversion);
  background: var(--brand);
  border-radius: 6px;
  padding: var(--padding);
}
.wp-block-group.is-style-message-band .wp-block-heading {
  color: var(--brand-inversion);
  margin-bottom: 10px;
}
.wp-block-group.is-style-message-band .wp-block-heading strong {
  color: #F2DC1A;
  font-size: 1.4em;
  font-weight: 900;
  line-height: 1;
}
.wp-block-group.is-style-message-band p {
  margin-top: 0;
  color: var(--brand-inversion);
  font-weight: 700;
}
.wp-block-group.is-style-leftlinebox {
  background: var(--bodyBg);
  border-radius: 10px;
  box-shadow: 0px 10px 20px color-mix(in oklab, var(--body) 12%, transparent);
  padding: var(--padding);
  position: relative;
}
.wp-block-group.is-style-leftlinebox::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 8px;
  height: 100%;
  border-radius: 10px 0 0 10px;
  background: var(--brand);
}
.wp-block-group.is-flex-grid .wp-block-image img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .wp-block-columns.is-style-reverse-on-mobile {
    flex-direction: column-reverse;
  }
}

@media screen and (max-width: 768px) {
  .wp-block-table.is-style-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .wp-block-table.is-style-scroll table {
    display: block;
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
    white-space: nowrap;
  }
  .wp-block-table.is-style-scroll:focus-visible {
    outline: 2px solid var(--brand, #0af);
    outline-offset: 2px;
  }
}
.wp-block-table.is-style-compact thead {
  background: color-mix(in srgb, var(--body) 6%, transparent);
}
.wp-block-table.is-style-compact th, .wp-block-table.is-style-compact td {
  padding: 0em 2em;
}
@media screen and (max-width: 768px) {
  .wp-block-table.is-style-compact th, .wp-block-table.is-style-compact td {
    padding: 0em 1em;
  }
}
.wp-block-table.is-style-compact tr {
  font-size: var(--sm);
  border-bottom: solid 1px transparent;
  border-bottom-color: color-mix(in srgb, var(--body) 10%, transparent);
}
.wp-block-table.is-style-1columnbg th:nth-of-type(1), .wp-block-table.is-style-1columnbg td:nth-of-type(1) {
  font-weight: bold;
  background: color-mix(in srgb, var(--body) 6%, transparent);
  white-space: nowrap;
}
.wp-block-table.is-style-1columnbg tr {
  font-size: var(--sm);
  border-bottom: solid 1px transparent;
  border-bottom-color: color-mix(in srgb, var(--body) 6%, transparent);
}

.wp-block-list.is-style-nolist {
  list-style: none;
  padding: 0;
}
.wp-block-list.is-style-headerline {
  list-style: none;
  padding: 0;
}
.wp-block-list.is-style-headerline > li {
  font-size: var(--lg);
  font-weight: bold;
}
.wp-block-list.is-style-headerline > li > ul {
  list-style: none;
  padding: 0.4em 0 0;
  margin-top: 0.4em;
  border-top: 1px solid color-mix(in srgb, var(--body) 30%, transparent);
  font-weight: normal;
}
.wp-block-list.is-style-headerline > li > ul > li {
  font-size: var(--base);
}

.wp-block-button:not([class*=is-style]) .wp-block-button__link, .wp-block-button.is-style-fill .wp-block-button__link {
  background: var(--brand);
  font-weight: 700;
  box-shadow: 0px 10px 20px color-mix(in oklab, var(--body) 12%, transparent);
  transition: 0.2s;
}
.wp-block-button:not([class*=is-style]) .wp-block-button__link:hover, .wp-block-button.is-style-fill .wp-block-button__link:hover {
  transform: translateY(-2px);
}
.wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--brand);
  border-color: var(--brand);
  font-weight: 700;
  box-shadow: 0px 10px 20px color-mix(in oklab, var(--body) 12%, transparent);
  transition: 0.2s;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  transform: translateY(-2px);
}
.wp-block-button.is-style-textlink .wp-block-button__link {
  border: none;
  padding: 0;
  position: relative;
  color: currentColor;
  background: transparent;
  transition: opacity 0.3s;
}
.wp-block-button.is-style-textlink .wp-block-button__link::before, .wp-block-button.is-style-textlink .wp-block-button__link::after {
  display: none;
  position: initial;
  top: initial;
  bottom: initial;
  left: initial;
  right: initial;
}
.wp-block-button.is-style-textlink .wp-block-button__link:hover {
  opacity: 0.7;
}