.c-heading h2 {
  color: var(--primary, #009688);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: var(--typo-40, 40px);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 56px */
}

/*============================
#mv
============================*/

section#mv.mv picture img {
  width: 100%;
  height: min(100vw / 1366 * 540, 540px);
  object-fit: cover;
}

@media screen and (min-width: 1920px) {
  section#mv.mv picture img {
    height: calc(100vw / 1920 * 540);
  }
}

@media screen and (max-width: 1080px) {
  section#mv.mv picture img {
    height: calc(100vw / 1080 * 460);
  }
}

@media screen and (max-width: 768px) {
  section#mv.mv picture img {
    height: calc(100vw / 375 * 474);
  }
}

/* =================================
functions
================================ */

/* -------------------------------
section
------------------------------- */
.functions {
  display: flex;
  width: 100%;
  padding: var(--scale-20, 20px) var(--padding-inline, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-20, 20px);
  background: var(
    --primary-gradient,
    linear-gradient(96deg, #009688 0.45%, #61b7b2 99.55%)
  );
}

/* -------------------------------
logo
------------------------------- */
.functions .functions__logo {
}

.functions .functions__logo h2 {
}

.functions .functions__logo img {
  width: 268.773px;
}

/* -------------------------------
items
------------------------------- */
.functions .functions__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--scale-20);
}

.functions .items__item {
  display: flex;
  padding: var(--typo-16, 16px) var(--scale-16, 16px);
  justify-content: center;
  align-items: center;
  gap: var(--scale-8, 8px);
  flex: 1 0 0;
  border-radius: var(--scale-8, 8px);
  background: #fff;
  box-shadow: 0 0 var(--scale-16, 16px) 0 rgba(255, 255, 255, 0.2);
}

.functions .items__item img {
  display: flex;
  width: min(100vw / 375 * 32, 64px);
  aspect-ratio: 1 / 1;
  align-items: center;
}

.functions .items__item p {
  flex: 1 0 0;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(100vw / 375 * 12, 20px);
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

/* -------------------------------
price
------------------------------- */
.functions .functions__price {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--scale-20, 20px);
}

.functions .price__number {
  color: var(--on-primary-highlight, #ffee32);
  font-family: "Hind Madurai";
  font-size: var(--scale-80, 80px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  gap: 1em;
}

.functions .price__number small {
  font-family: "Noto Sans JP";
  font-size: var(--typo-40, 40px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 40px */
}

.functions .price__campaign {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: var(--scale-8, 8px) var(--scale-16, 16px);
  color: #fff;
  font-size: var(--scale-56, 56px);
  font-weight: 700;
  display: inline;
}

.functions .campaign__row {
  display: flex;
  padding: var(--scale-8, 8px) 0;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  color: var(--surface, #fff);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: var(--typo-32, 32px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 32px */
  background: linear-gradient(to top, var(--on-primary-highlight, #ffee32) 0%, var(--on-primary-highlight, #ffee32) 20%, transparent 20%, transparent 100%);
}

/* =================================
responsive
================================ */

@media (max-width: 984px) {
  .functions .functions__items {
    grid-template-columns: 1fr 1fr;
  }

  .functions .functions__price {
    flex-direction: column;
  }
}

/*============================
.cta
============================*/

section.c-cta {
  display: flex;
  padding: var(--scale-40, 40px) var(--padding-inline, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-20, 20px);
  align-self: stretch;

  position: relative;
}


section.c-cta div.c-cta__container.container {
  display: flex;
  max-width: var(--content-width, 1080px);
  padding: var(--scale-40, 40px);
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
  align-self: stretch;
  border-radius: var(--scale-8, 8px);
  background: rgba(255, 255, 255, 0.8);
  margin-inline: auto;
  width: 100%;
}

section.c-cta div.c-cta__container.container nav {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
  gap: 12px var(--scale-24, 24px);
  align-self: stretch;
  flex-wrap: wrap;
  margin-inline: auto;
}

section.c-cta div.c-cta__container.container nav ul {
  display: contents;
}

section.c-cta div.c-cta__container.container nav ul li {
  flex: 1 1 0;
}

section.c-cta div.c-cta__container.container nav span.menu-icon-left {
  width: var(--typo-24, 24px);
  height: auto;
  aspect-ratio: 1/1;
  flex-grow: 0;
}

section.c-cta div.c-cta__container.container nav li a {
  display: flex;
  min-width: min(100vw / 385 * 295, 295px);
  max-width: 520px;
  width: 100%;
  padding: var(--scale-20, 20px) var(--scale-24, 24px);
  align-items: center;
  margin-inline: auto;
  gap: var(--scale-20, 20px);
  flex: 1 0 0;

  color: var(--surface, #fff);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(100vw / 375 * 16, 24px);
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  /* 36px */
  white-space: nowrap;
  position: relative;
  /* エコーをボタンの外に見せたいので overflow: hidden; は削除します */
  overflow: visible;
  background: #0d47a1;
  border-radius: 50px;
  z-index: 1;
}
/*============================
.c-cta
============================*/

section.c-cta {
  display: flex;
  padding: var(--scale-40, 40px) var(--padding-inline, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-20, 20px);
  align-self: stretch;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: none;
      background-color: #019688;
}

/* -----------------------------
  背景レイヤー
  大きめにして、上下左右にはみ出させる
----------------------------- */
section.c-cta::before {
  content: "";
  position: absolute;

  /* 背景を大きくして、動きが見えやすいようにする */
  top: -12%;
  right: -8%;
  bottom: -12%;
  left: -8%;

  background: url(../images/cta_back.jpg) center center / cover no-repeat;

  /* 初期状態から少し拡大しておく */
  transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.18);
  transform-origin: center center;

  will-change: transform;
  z-index: -1;
}

/* -----------------------------
  背景にうっすら色を重ねる
  動きが見えやすくなる
----------------------------- */
section.c-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      135deg,
      rgba(13, 71, 161, 0.22) 0%,
      rgba(13, 71, 161, 0.08) 45%,
      rgba(255, 255, 255, 0.06) 100%
    );
  z-index: -1;
  pointer-events: none;
}

section.c-cta div.c-cta__container.container {
  position: relative;
  z-index: 1;
  display: flex;
  max-width: var(--content-width, 1080px);
  padding: var(--scale-40, 40px);
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
  align-self: stretch;
  border-radius: var(--scale-8, 8px);
  background: rgba(255, 255, 255, 0.82);
  margin-inline: auto;
  width: 100%;
}
/* =================================
worries
================================ */

/* -------------------------------
section
------------------------------- */
#worries {
  display: flex;
  padding: 80px var(--padding-inline, 40px) var(--padding-block, 80px);
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  background: url(../images/worries_bg.png) center top /
    min(100vw / 1366 * 1920, 1920px) auto no-repeat;
  gap: var(--typo-56, 56px);
}

#worries h2 {
  color: var(--on-surface, #263238);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(100vw / 375 * 22, 40px);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 56px */
}

/* -------------------------------
highlight
------------------------------- */
#worries h2 .highlight {
  color: var(--primary, #009688);
}

#worries .worries__body {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* -------------------------------
items
------------------------------- */
#worries .worries__items {
  display: flex;
  max-width: 800px;
  width: 100%;
  padding: var(--scale-20, 20px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--scale-8, 8px);
  align-self: stretch;
  border: var(--scale-8, 8px) solid var(--primary, #009688);
  background: #fff;
  margin-inline: auto;
}

#worries .items__item {
  display: flex;
  padding: var(--scale-8, 8px) var(--typo-16, 16px);
  align-items: center;
  gap: var(--scale-8, 8px);
  align-self: stretch;
  border-radius: var(--scale-4, 4px);
  background: var(--primary-container, #e0f2f1);
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: min(100vw / 375 * 14, 24px);
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

#worries .items__item figure {
  flex: 0 0 auto;
}

#worries .items__items img {
  width: 16px;
  aspect-ratio: 1/1;
}

#worries .items__items p {
  flex: 1 0 0;
}

/* -------------------------------
divider svg
------------------------------- */
#worries svg {
  width: 360px;
  height: var(--typo-56, 56px);
  aspect-ratio: 45/7;
}

#worries svg path {
}

/* -------------------------------
solution
------------------------------- */
#worries .worries__solution {
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-32, 32px);
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

#worries .worries__solution .highlight {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-color: var(--on-primary-highlight, #ffee32);
  text-decoration-thickness: 24%;
  text-underline-offset: -16%;
  text-underline-position: from-font;
  display: inline;
}

/* =================================
responsive
================================ */

@media (max-width: 1200px) {
  #worries {
    background: url(../images/worries_bg_sp.png) center top / 100vw auto
      no-repeat;
  }
}

/* =================================
pickup
================================ */

/* -------------------------------
section
------------------------------- */
#pickup {
}

#pickup h2 {
  display: flex;
  padding: var(--scale-16, 16px) 0;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  background: var(
    --primary-gradient,
    linear-gradient(96deg, #009688 0.45%, #61b7b2 99.55%)
  );
  color: var(--surface, #fff);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: var(--typo-40, 40px);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 56px */
}

/* -------------------------------
items
------------------------------- */
#pickup .pickup__items {
}

#pickup .pickup__item {
  border-bottom: var(--scale-8, 8px) solid var(--primary, #009688);
}

/* -------------------------------
head
------------------------------- */
#pickup .item__head {
  display: flex;
  padding: var(--scale-56, 56px) var(--scale-40, 40px) var(--scale-16, 16px)
    var(--scale-40, 40px);
  flex-direction: column;
  align-items: center;
  align-self: stretch;
}

#pickup .head__inner {
  display: grid;
  grid-template-columns: auto auto auto 1fr;
  max-width: var(--content-width-small, 960px);
  align-items: flex-start;
  align-content: flex-start;
  gap: var(--scale-16, 16px);
  align-self: stretch;
  flex-wrap: wrap;
  margin-inline: auto;
  width: 100%;
  align-items: center;
}

#pickup .head__num {
  color: var(--primary, #009688);
  text-align: center;
  font-family: "Hind Madurai";
  font-size: var(--typo-40, 40px);
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  /* 40px */
}

#pickup .item__head figure {
}

#pickup .item__head figure img {
  display: flex;
  width: var(--typo-64, 64px);
  aspect-ratio: 1 / 1;
  align-items: center;
}

#pickup .item__head h3 {
  color: var(--primary, #009688);
  font-family: "Noto Sans JP";
  font-size: var(--typo-32, 32px);
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

#pickup .item__head p {
  color: var(--on-surface, #263238);
  text-align: justify;
  font-family: "Noto Sans JP";
  font-size: var(--typo-18, 18px);
  font-style: normal;
  font-weight: 700;
  line-height: 170%;
  /* 30.6px */
  flex: 1 0 0;
  margin-left: var(--scale-20);
}

#pickup .item__head small {
  font-size: var(--typo-14, 14px);
}

@media (max-width: 768px) {
  #pickup .head__inner {
    grid-template-columns: auto auto 1fr;
  }

  #pickup .item__head p {
    grid-column: 1 / 4;
  }
}

/* =================================
pickup animation
================================ */

/* -------------------------------
初期状態
------------------------------- */
#pickup .pickup__item {
  opacity: 0;
  transform: translateY(var(--scale-40, 40px)) scale(0.98);
  transition:
    opacity 0.8s ease,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

/* -------------------------------
表示状態
------------------------------- */
#pickup .pickup__item.is-inview {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* -------------------------------
表示タイミングを少しずらす
------------------------------- */
#pickup .pickup__item--1 {
  transition-delay: 0s;
}

#pickup .pickup__item--2 {
  transition-delay: 0.14s;
}

#pickup .pickup__item--3 {
  transition-delay: 0.28s;
}

/* -------------------------------
head を少し遅れて出す
------------------------------- */
#pickup .item__head {
  opacity: 0;
  transform: translateY(var(--scale-24, 24px));
  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

#pickup .pickup__item.is-inview .item__head {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.12s;
}

/* -------------------------------
body も少し遅れて出す
------------------------------- */
#pickup .item__body {
  opacity: 0;
  transform: translateY(var(--scale-24, 24px));
  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

#pickup .pickup__item.is-inview .item__body {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.22s;
}

/* -------------------------------
サムネイルを順番に表示
------------------------------- */
#pickup .body__thumbnails a {
  opacity: 0;
  transform: translateY(var(--scale-16, 16px));
  transition:
    opacity 0.45s ease,
    transform 0.45s ease;
}

#pickup .pickup__item.is-inview .body__thumbnails a {
  opacity: 1;
  transform: translateY(0);
}

#pickup .pickup__item.is-inview .body__thumbnails a:nth-child(1) {
  transition-delay: 0.3s;
}

#pickup .pickup__item.is-inview .body__thumbnails a:nth-child(2) {
  transition-delay: 0.38s;
}

#pickup .pickup__item.is-inview .body__thumbnails a:nth-child(3) {
  transition-delay: 0.46s;
}

#pickup .pickup__item.is-inview .body__thumbnails a:nth-child(4) {
  transition-delay: 0.54s;
}

#pickup .pickup__item.is-inview .body__thumbnails a:nth-child(5) {
  transition-delay: 0.62s;
}

/* -------------------------------
ホバー時に少し浮かせる
------------------------------- */
#pickup .pickup__item.is-inview:hover {
  transform: translateY(calc(var(--scale-8, 8px) * -1)) scale(1.005);
}

/* -------------------------------
SPでは少し軽め
------------------------------- */
@media (max-width: 768px) {
  #pickup .pickup__item {
    transform: translateY(var(--scale-24, 24px)) scale(0.99);
    transition:
      opacity 0.6s ease,
      transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  }

  #pickup .pickup__item.is-inview:hover {
    transform: translateY(0) scale(1);
  }
}

/* -------------------------------
アニメーション軽減設定
------------------------------- */
@media (prefers-reduced-motion: reduce) {
  #pickup .pickup__item,
  #pickup .item__head,
  #pickup .item__body,
  #pickup .body__thumbnails a {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* -------------------------------
body
------------------------------- */
#pickup .item__body {
  background:
    url(../images/functions-slides_back_left.svg) left top /
      min(100vw / 375 * 210, 420px) min(100vw / 375 * 120, 240px) no-repeat,
    url(../images/functions-slides_back_right.svg) right bottom /
      min(100vw / 375 * 210, 420px) min(100vw / 375 * 120, 240px) no-repeat;

  background-color: var(--primary-container, #e0f2f1);

  display: flex;
  padding-bottom: var(--scale-56, 56px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-56, 56px);
  align-self: stretch;
}

#pickup .body__divider {
  width: 100%;
}

#pickup .body__divider svg {
}

#pickup .body__divider path {
}

/* -------------------------------
thumbnails
------------------------------- */
#pickup .body__thumbnails {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - var(--scale-40));
  margin-inline: auto;
  max-width: var(--content-width, 1080px);
  justify-content: center;
  align-items: flex-start;
  gap: var(--scale-8, 8px);
}

#pickup .pickup__item--2 .body__thumbnails {
  max-width: 800px;
}

#pickup .body__thumbnails a {
  display: flex;
  width: min(100vw / 375 * 175, 248px);
  padding: var(--scale-8, 8px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--scale-20, 20px);
  flex-shrink: 0;
  border-radius: var(--scale-8, 8px);
  background: #fff;
  box-shadow: 0 0 16px 0 rgba(38, 50, 56, 0.08);
}

#pickup .body__thumbnails img {
  border: 1px solid #b5b5b5;
}

/* =================================
point
================================ */

/* -------------------------------
section
------------------------------- */
#point {
  display: flex;
  padding: var(--scale-80, 80px) var(--scale-40, 40px);
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  background:
    url(../images/functions-slides_back_left.svg) left top /
      min(100vw / 375 * 210, 420px) min(100vw / 375 * 120, 240px) no-repeat,
    url(../images/functions-slides_back_right.svg) right bottom /
      min(100vw / 375 * 210, 420px) min(100vw / 375 * 120, 240px) no-repeat;
  gap: var(--typo-56, 56px);
}

#point h2 {
  color: var(--primary, #009688);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(100vw / 375 * 27, 40px);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 56px */
}

/* -------------------------------
items
------------------------------- */
#point .point__items {
  display: flex;
  align-items: flex-start;
  gap: var(--scale-40, 40px);
  align-self: stretch;
  max-width: 1080px;
  margin-inline: auto;
  width: 100%;
}

#point .point__items .items__item {
  display: flex;
  padding: var(--scale-40, 40px) var(--scale-20, 20px);
  flex-direction: column;
  align-items: center;
  gap: var(--typo-20, 20px);
  flex: 1 0 0;
  border-radius: var(--scale-8, 8px);
  width: 100%;
  background: var(--surface-variant, #f5f5f5);
}

/* -------------------------------
heading
------------------------------- */
#point .items__item h3 {
  color: var(--primary, #009688);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: var(--typo-24, 24px);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 33.6px */
}

/* -------------------------------
image
------------------------------- */
#point .point__image {
}

#point .point__image img {
  width: 100%;
  margin-inline: auto;
  max-width: 320px;
  aspect-ratio: 16 / 9;
}

/* -------------------------------
text
------------------------------- */
#point .items__item p {
  max-width: 320px;
  flex: 1 0 0;
  color: var(--on-surface, #263238);
  text-align: justify;
  font-family: "Noto Sans JP";
  font-size: min(100vw / 375 * 15, 18px);
  font-style: normal;
  font-weight: 700;
  line-height: 170%;
  /* 30.6px */
}

/* =================================
responsive
================================ */

@media (max-width: 768px) {
  #point {
  }

  #point h2 {
  }

  #point .point__items {
    flex-direction: column;
  }

  #point .point__items .items__item {
  }

  #point .point__image {
  }
}

/*============================
#price
============================*/
section#price.price {
  display: flex;
  padding: var(--padding-block, 80px) var(--padding-inline, 40px) 0px
    var(--padding-inline, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-56, 56px);
  align-self: stretch;
  background: url(../images/price_back.jpg) center bottom / cover no-repeat;
  position: relative;
}

section#price.price:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: #fff;
  left: 0;
  top: 0;
  z-index: 5;
  opacity: 1;
  transition: 2s ease;
}

section#price.price.is-inview:before {
  opacity: 0;
}

section#price.price div.price__container {
  display: flex;
  max-width: var(--content-width, 1080px);
  padding: var(--scale-56, 56px) var(--scale-40, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-40, 40px);
  align-self: stretch;
  border-radius: var(--scale-8, 8px);
  background: var(--primary-container, #e0f2f1);
  margin-inline: auto;
  width: 100%;
  position: relative;
  z-index: 10;
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge
  div.common-content.common-content--content
  div.wp-block-columns {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: var(--scale-16, 16px);
  margin-bottom: var(--scale-40);
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge
  div.common-content.common-content--content
  div.wp-block-column {
  display: flex;
  width: min(100vw / 375 * 70, 120px);
  aspect-ratio: 1 / 1;
  padding-top: min(100vw / 375 * 13, 16px);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0px;
  border-radius: 1000px;
  background: var(--tertiary, #f44336);
  color: var(--surface, #fff);
  font-family: "Hind Madurai", "Noto Sans JP";
  font-size: var(--typo-24, 18px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 18px */
  transform: translateY(-50%);
  transition: 1s ease;
  opacity: 0;
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge.is-inview
  div.common-content.common-content--content
  div.wp-block-column {
  transform: translateY(-0%);
  opacity: 1;
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge.is-inview
  div.common-content.common-content--content
  div.wp-block-column:nth-of-type(1) {
  transition-delay: 0.2s;
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge.is-inview
  div.common-content.common-content--content
  div.wp-block-column:nth-of-type(2) {
  transition-delay: 0.4s;
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge.is-inview
  div.common-content.common-content--content
  div.wp-block-column:nth-of-type(3) {
  transition-delay: 0.6s;
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge.is-inview
  div.common-content.common-content--content
  div.wp-block-column:nth-of-type(4) {
  transition-delay: 0.8s;
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge
  div.common-content.common-content--content
  div.wp-block-column
  strong {
  font-size: calc(1em / 24 * 56);
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge
  div.common-content.common-content--content
  div.wp-block-columns {
  gap: min(100vw / 375 * 4, 16px);
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge
  div.common-content.common-content--content
  div.wp-block-column
  h3 {
  color: var(--surface, #fff);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(100vw / 375 * 11, 16px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 16px */
}

section#price.price
  div.price__container
  div.price__body
  div.body__badge
  div.common-content.common-content--content
  div.wp-block-column
  p {
  margin-top: 0;
  line-height: calc(1em / 24 * 56);
}

section#price.price
  div.price__container
  div.price__body
  div.body__fee
  div.common-content.common-content--content
  div.wp-block-columns {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-24, 24px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 24px */
  gap: 0;
  width: fit-content;
  margin-bottom: 0;
}

section#price.price
  div.price__container
  div.price__body
  div.body__fee
  div.common-content.common-content--content
  div.wp-block-columns
  div.wp-block-column {
  border-bottom: var(--scale-4, 4px) solid var(--on-surface, #263238);
  display: flex;
  align-items: flex-end;
  flex: 1 0 auto !important;
  line-height: calc(var(--typo-64, 64px) * 0.8);
  width: fit-content;
}

section#price.price
  div.price__container
  div.price__body
  div.body__fee
  div.common-content.common-content--content
  div.wp-block-columns
  div.wp-block-column
  p
  strong {
  color: var(--on-surface, #263238);
  font-family: "Hind Madurai";
  font-size: var(--typo-64, 64px);
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  /* 64px */
}

section#price.price
  div.price__container
  div.price__body
  div.body__fee
  div.common-content.common-content--content
  div.wp-block-columns
  div.wp-block-column
  p {
  margin-inline: auto;
}

section#price.price div.price__container div.body__services {
  width: 100%;
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-18, 14px);
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 21px */
}

section#price.price
  div.price__container
  div.body__services
  div.common-content.common-content--content {
  display: flex;
  padding: var(--scale-40, 40px) var(--scale-20, 20px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--scale-20, 20px);
  align-self: stretch;
  border-radius: var(--scale-8, 8px);
  background: var(--surface-variant, #f5f5f5);
  width: 100%;
}

section#price.price
  div.price__container
  div.body__services
  div.common-content.common-content--content
  h3 {
  color: var(--primary, #009688);
  font-family: "Noto Sans JP";
  font-size: var(--typo-24, 24px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 24px */
}

section#price.price
  div.price__container
  div.body__services
  div.common-content.common-content--content
  div.wp-block-columns {
  display: flex;
  padding: var(--scale-40, 40px);
  align-items: flex-start;
  align-content: flex-start;
  gap: var(--scale-40, 40px);
  align-self: stretch;
  flex-wrap: wrap;
  border-radius: var(--scale-4, 4px);
  background: var(--surface, #fff);
  margin-bottom: 0;
}

section#price.price
  div.price__container
  div.body__services
  div.common-content.common-content--content
  div.wp-block-columns
  div.wp-block-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--scale-8, 8px);
  flex: 1 0 0;
}

section#price.price
  div.price__container
  div.body__services
  div.common-content.common-content--content
  div.wp-block-columns
  div.wp-block-column
  h4 {
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-20, 20px);
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  /* 36px */
}

section#price.price
  div.price__container
  div.body__services
  div.common-content.common-content--content
  div.wp-block-columns
  div.wp-block-column
  ul {
  margin-top: 0;
}

section#price.price
  div.price__container
  div.body__services
  div.common-content.common-content--content
  div.wp-block-columns
  div.wp-block-column
  ul
  li {
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-18, 18px);
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  /* 32.4px */
  list-style-position: inside;
  list-style-type: disc;
}

section#price.price div.price__container div.body__notes {
  align-self: self-start;
}

section#price.price div.price__container div.body__notes ul {
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-14, 14px);
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 21px */
  list-style-type: disc;
  list-style: inside;
}

section#price.price .price__img {
  align-self: self-end;
}

/*============================
#testimonial
============================*/
section#testimonial.testimonial {
  display: flex;
  padding: var(--padding-block, 80px) var(--padding-inline, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-56, 56px);
  align-self: stretch;
  background: var(--secondary-container, #e3f2fd);
}

section#testimonial.testimonial div.testimonial__heading.c-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

section#testimonial.testimonial div.testimonial__heading.c-heading h2 {
  color: var(--on-secondary-container, #0d47a1);
  text-align: center;
  font-size: var(--typo-40, 40px);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 56px */
}

section#testimonial.testimonial div.testimonial__heading.c-heading h2 strong {
  color: var(--on-secondary-container, #0d47a1);
  font-family: "Hind Madurai";
  font-size: 73px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
}

section#testimonial.testimonial div.testimonial__slider {
  max-width: var(--content-width, 1080px);
  width: 100%;
}

section#testimonial.testimonial div.testimonial__slider .slick-track {
  display: flex;
}

section#testimonial.testimonial
  div.testimonial__slider
  div.slider__slide.slick-slide {
  display: flex;
  padding: var(--scale-40, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-16, 16px);
  flex: 1 0 0;
  border-radius: var(--scale-8, 8px);
  background: var(--surface, #fff);

  color: var(--on-surface, #263238);
  text-align: justify;
  font-family: "Noto Sans JP";
  font-size: var(--typo-16, 16px);
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  /* 28.8px */
  margin-left: calc(var(--scale-20, 20px) / 2);
  margin-right: calc(var(--scale-20, 20px) / 2);
  height: auto !important;
}

section#testimonial.testimonial
  div.testimonial__slider
  div.slider__slide.slick-slide
  figure {
  width: 160px;
  height: 117px;
}

section#testimonial.testimonial
  div.testimonial__slider
  div.slider__slide.slick-slide
  figure
  img {
  width: 100%;
  height: 100%;
  object-fit: container;
}

section#testimonial.testimonial
  div.testimonial__slider
  div.slider__slide.slick-slide
  h3 {
  color: var(--on-surface, #263238);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: var(--typo-20, 20px);
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  /* 36px */
}

.slick-dots button {
  font-size: 0;
  /* 数字を消す */
}

.slick-dots button::before {
  width: 12px;
  aspect-ratio: 1 / 1;
  border-radius: 1000px;
  content: "";
  background-color: #d9d9d9;
  display: block;
}

.slick-dots button[aria-selected="true"]::before {
  background-color: var(--on-surface);
}

.slick-dots {
  display: flex;
  align-items: center;
  gap: var(--scale-16, 16px);
  align-self: stretch;
  margin-top: var(--scale-40);
  justify-content: center;
}

/*============================
#faq
============================*/
section#faq.faq {
  display: flex;
  padding: var(--padding-block, 80px) var(--padding-inline, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-56, 56px);
  align-self: stretch;
  background: var(--surface, #fff);
}

section#faq.faq div.faq__body {
  display: flex;
  max-width: var(--content-width, 1080px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--scale-20, 20px);
  align-self: stretch;
  margin-inline: auto;
  width: 100%;
}

section#faq.faq div.faq__body dl {
  display: flex;
  padding: var(--typo-32, 32px) var(--scale-32, 32px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--scale-20, 20px);
  align-self: stretch;
  border-radius: var(--scale-8, 8px);
  background: var(--primary-container, #e0f2f1);
  width: 100%;
  cursor: pointer;
}

section#faq.faq div.faq__body dl dt {
  flex: 1 0 0;
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-20, 20px);
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  /* 30px */
  background:
    url(../images/faq_q.svg) left top / var(--typo-32, 32px) auto no-repeat,
    url(../images/faq_plus.svg) right top / var(--typo-24, 24px) auto no-repeat;
  padding-left: calc(var(--typo-32, 32px) + var(--scale-20, 20px));
  padding-right: calc(var(--typo-24, 24px) + var(--scale-20, 20px));
  width: 100%;
  padding-top: 2px;
}

section#faq.faq div.faq__body dl.is-open dt {
  background:
    url(../images/faq_q.svg) left top / var(--typo-32, 32px) auto no-repeat,
    url(../images/faq_minus.svg) right top / var(--typo-24, 24px) auto no-repeat;
}

section#faq.faq div.faq__body dl dd {
  display: none;
  padding: var(--scale-20, 20px) var(--scale-20, 20px);
  align-items: flex-start;
  gap: var(--scale-20, 20px);
  align-self: stretch;
  border-radius: var(--scale-8, 8px);
  background: url(../images/faq_a.svg) left var(--typo-20, 20px) top
    var(--scale-20, 20px) / var(--typo-32, 32px) auto no-repeat;
  background-color: var(--surface, #fff);
  padding-left: calc(
    var(--typo-32, 32px) + var(--scale-20, 20px) + var(--scale-20, 20px)
  );

  color: var(--on-surface, #263238);
  text-align: justify;
  font-family: "Noto Sans JP";
  font-size: var(--typo-16, 16px);
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  /* 28.8px */
}

/*============================
#news
============================*/
section#news.news {
  display: flex;
  padding: var(--padding-block, 80px) var(--padding-inline, 40px);
  flex-direction: column;
  align-items: center;
  gap: var(--scale-56, 56px);
  align-self: stretch;
  background: var(--surface-variant, #f5f5f5);
}

section#news.news div.news__heading.c-heading {
}

section#news.news div.news__heading.c-heading h2 {
}

section#news.news div.news__container {
  display: flex;
  width: 100%;
  max-width: var(--content-width, 1080px);
  flex-direction: column;
  align-items: end;
  gap: 20px;
}

section#news.news div.news__container div.news__body {
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(min(100vw / 375 * 320, 400px), 1fr)
  );
  width: 100%;
  align-items: flex-start;
  align-content: flex-start;
  gap: 20px var(--scale-20, 20px);
  flex-wrap: wrap;
}

section#news.news div.news__container div.news__body a.body__unit {
  display: flex;
  padding: var(--scale-24, 24px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--scale-40, 40px);
  flex: 1 0 0;
  border-radius: var(--scale-8, 8px);
  background: var(--surface, #fff);
  box-shadow: 0px 0px 16px 0px rgba(38, 50, 56, 0.08);
  text-decoration: none;
}

section#news.news
  div.news__container
  div.news__body
  a.body__unit
  div.unit__main {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  align-self: stretch;
}

section#news.news
  div.news__container
  div.news__body
  a.body__unit
  div.unit__main
  figure
  img {
  width: var(--scale-160, 160px);
  aspect-ratio: 1/1;
  border-radius: var(--scale-8, 8px);
  background: var(--surface);
  object-fit: contain;
}

section#news.news
  div.news__container
  div.news__body
  a.body__unit
  div.unit__main
  figure
  img.attachment-medium.size-medium.wp-post-image {
}

section#news.news
  div.news__container
  div.news__body
  a.body__unit
  div.unit__main
  div.unit__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--scale-16, 16px);
  flex: 1 0 0;
}

section#news.news
  div.news__container
  div.news__body
  a.body__unit
  div.unit__main
  div.unit__text
  h3 {
  align-self: stretch;
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-20, 20px);
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  /* 30px */
}

section#news.news
  div.news__container
  div.news__body
  a.body__unit
  div.unit__main
  div.unit__text
  div.text__content {
  align-self: stretch;
  color: var(--on-surface, #263238);
  font-family: "Noto Sans JP";
  font-size: var(--typo-16, 16px);
  font-style: normal;
  font-weight: 500;
  line-height: 170%;
  /* 27.2px */
}

section#news.news div.news__container div.news__body div.unit__data {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  gap: 1em;
}

section#news.news
  div.news__container
  div.news__body
  div.unit__data
  div.data__categories {
  color: var(--on-surface-variant, #546e7a);
  font-family: "Noto Sans JP";
  font-size: var(--typo-14, 14px);
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 21px */
  display: flex;
  align-items: center;
  gap: var(--scale-8, 8px);
}

section#news.news
  div.news__container
  div.news__body
  div.unit__data
  div.data__categories
  img {
  width: calc(1em / 14 * 16);
  aspect-ratio: 1/1;
}

section#news.news
  div.news__container
  div.news__body
  div.unit__data
  div.data__categories
  a {
}

section#news.news
  div.news__container
  div.news__body
  div.unit__data
  div.data__date {
  flex: 1 0 0;
  color: var(--on-surface-variant, #546e7a);
  text-align: right;
  font-family: "Noto Sans JP";
  font-size: var(--typo-14, 14px);
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 21px */
}

section#news.news div.news__container a.button {
  display: flex;
  width: 200px;
  padding: var(--scale-8, 8px) var(--scale-16, 16px);
  align-items: center;
  gap: var(--scale-8, 8px);
  border-radius: 9999px;
  border: 1px solid var(--on-surface, #263238);
  color: var(--on-surface, #263238);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: var(--typo-24, 24px);
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  /* 36px */
  text-decoration: none;
}

section#news.news div.news__container a.button span {
  flex: 1 0 0;
}

section#news.news div.news__container a.button img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}
