@charset "utf-8";

/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Montserrat+Alternates:ital,wght@0,500;0,600;0,700;0,800;0,900;1,500;1,600;1,700;1,800;1,900&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');

:root {
  --color-background: #FFF0F7;
  --color-font: #333;
  --color-primary: #FC5986;
  --color-primary-shade: #111;
  --color-primary-tint: #666;
  --color-secondary: #FBEB3B;
  --color-secondary-tint: #FAFAA5;
  --color-table-border: #ccc;
  --body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
  --body-font-family: "Zen Kaku Gothic New", "Zen Maru Gothic", sans-serif;
  --content-max-width: 1600px;
  --header-background: #fff;
  --header-color-font: #333;
  --header-color-primary: #FC5986;
  --header-color-primary-shade: #111;
  --header-color-primary-tint: #aaa;
  --footer-background: #FFF0F7;
  --footer-color-font: #333;
  --footer-color-primary: #333;
  --font-family01: "Montserrat Alternates", "Zen Maru Gothic", "Zen Kaku Gothic New", sans-serif;
  --font-family02: "Zen Maru Gothic", "Zen Kaku Gothic New", sans-serif;
  --font-family03: "Caveat", "Montserrat Alternates", "Zen Maru Gothic", sans-serif;
  /* --- 共通装飾高さ --- */
  --separat-height: var(--px100);
  /* --- 各園共通項目カラー --- */
  --color-common-bg: #FDFFC2;
  --color-common-text: #FF9500;
}

body {
  font-weight: 500;
}

#scrollUp {
  bottom: 65px;
}

/* shortcode on-off */
a.off {
  display: none;
}

/* =========================================
     spfooter調整
========================================= */

#MESY_FTMFM_footer_bar-wrapper ul#MESY_FTMFM_footer_bar li {
  &.sp_ctabtn01 {
    background: #FFF5D9;

    p.icon {
      color: #EC6E43;
    }
  }

  &.sp_ctabtn02 {
    background: #FBC73B;

    p.icon {
      color: #FFF4D5;
    }
  }

  &.sp_ctabtn03 {
    background: #FFA600;

    p.icon {
      color: #EC6E43;
    }
  }
}

/* =========================================
   animation
========================================= */

/* 拡大縮小（スケール）の無限ループ */

@keyframes fx-scale {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.1);
  }
}

/* 既存ブロックへの後付け用Modifier */
.target--scale {
  animation: fx-scale--big 2s ease-in-out infinite;
}

/* 左右揺れ（スウェイ）の無限ループ */

@keyframes fx-sway {

  0%,
  100% {
    transform: translateX(0);
  }

  25% {
    transform: translateX(-10px);
  }

  75% {
    transform: translateX(10px);
  }
}

/* 既存ブロックへの後付け用Modifier */
.target--sway {
  animation: fx-sway 2s ease-in-out infinite;
}

/* animation03. 上下揺れ（フロート）の無限ループ */

@keyframes fx-float {

  0%,
  100% {
    transform: translateY(0);
  }

  25% {
    transform: translateY(-5px);
  }

  75% {
    transform: translateY(5px);
  }
}

/* 既存ブロックへの後付け用Modifier */
.target--float {
  animation: fx-float 3s ease-in-out infinite;
}

/* animation03. 大き目な上下揺れ（フロート）の無限ループ */

@keyframes fx-float--big {

  0%,
  100% {
    transform: translateY(0);
  }

  25% {
    transform: translateY(-10px);
  }

  75% {
    transform: translateY(10px);
  }
}

/* 既存ブロックへの後付け用Modifier */
.target--float {
  animation: fx-float--big 3s ease-in-out infinite;
}

/* ===========================================
     mainImg
=========================================== */

#mainImg {
  position: relative;
  z-index: 1;
}

/* ===========================================
   header
=========================================== */

@media print,
screen and (min-width: 1024px) {
  body:not(.home):not(.sticky-header):not(.mce-content-body) #header .logo {
    display: block;
    line-height: 0;
    padding: var(--px20);
    align-self: stretch;
    position: relative;
    transition: 0.3s all;

    &:before {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/logobg.png.webp) no-repeat top left;
      background-size: contain;
      position: absolute;
      left: 0;
      top: 0;
      width: 460px;
      height: 320px;
      z-index: -1;
    }
  }

  nav#mainNav ul li a b,
  nav#mainNav ul li a span {
    font-weight: 500;
  }

  nav#mainNav ul li.current-menu-item a b,
  nav#mainNav ul li a:hover b,
  nav#mainNav ul li a:active b,
  nav#mainNav ul li.current-menu-parent a b {
    color: var(--header-color-font);
  }
}

@media print,
screen and (max-width: 1023px) {

  nav#mainNav a.menu,
  nav#mainNav a.menuOpen {
    border: none;
  }

  nav#mainNav ul li a b,
  nav#mainNav ul li a span {
    font-weight: 500;
  }
}

@media print,
screen and (min-width: 1024px) {
  .menu_ico a {
    &:hover {
      transform: translateY(-5px);
    }
  }
}

.menu_ico a {
  position: relative;
  transition: 0.3s all;

  &:hover {
    background-color: transparent !important;
  }
}

.menu_ico a:before {
  content: "";
  display: block;
  width: var(--px40);
  height: var(--px40);
  margin: 0 auto 0.3em;
  flex-shrink: 0;
}

.menu_ico01 a:before {
  background: url(/kokoro-shinbashi/wp-content/uploads/nav_icon01.png.webp) no-repeat center center;
  background-size: contain;
}

.menu_ico02 a:before {
  background: url(/kokoro-shinbashi/wp-content/uploads/nav_icon02.png.webp) no-repeat center center;
  background-size: contain;
}

.menu_ico03 a:before {
  background: url(/kokoro-shinbashi/wp-content/uploads/nav_icon03.png.webp) no-repeat center center;
  background-size: contain;
}

.menu_ico04 a:before {
  background: url(/kokoro-shinbashi/wp-content/uploads/nav_icon04.png.webp) no-repeat center center;
  background-size: contain;
}

.menu_ico05 a:before {
  background: url(/kokoro-shinbashi/wp-content/uploads/nav_icon05.png.webp) no-repeat center center;
  background-size: contain;
}

.menu_ico06 a:before {
  background: url(/kokoro-shinbashi/wp-content/uploads/nav_icon06.png.webp) no-repeat center center;
  background-size: contain;
}

.menu_ico07 a:before {
  background: url(/kokoro-shinbashi/wp-content/uploads/nav_icon07.png.webp) no-repeat center center;
  background-size: contain;
}

@media print,
screen and (max-width: 1023px) {

  .menu_ico a:before,
  .menu_ico a:before {
    margin: 0 0.5em 0.3em 0;
    display: inline-block;
    vertical-align: middle;
  }

  #sp-header .inner #header-layout nav#sp-mainNav .inner ul li a b>br,
  nav#mainNav ul li a b>br {
    display: none;
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media print,
screen and (min-width: 1024px) {
  #header {
    overflow: visible;
    color: var(--header-color-font);
    background: transparent;
    width: 100%;
    height: auto;
    margin: auto;
    z-index: 9999;
    position: absolute;
    top: 0;
    left: 0;
  }

  nav#mainNav ul li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--header-color-font);
    font-size: var(--rem14);
    justify-content: flex-start;
    padding: var(--px12) var(--px14);
  }

  .sticky-header #header-layout {
    justify-content: space-between;
    height: auto;
  }
}

/* -------------------------------------------
   下層スタイル
------------------------------------------- */

@media print,
screen and (min-width: 1024px) {

  body:not(.home) #header .header__nav-contact {
    background: #fff;
    border-radius: 0 0 0 10px;
  }
}

/* ===========================================
   Footer
=========================================== */

/* --- 親テーマリセット --- */

#footer ul li li {
  margin: 0;
}

#footer .footnav ul>li {
  padding: 0;
}

#footer .footnav ul>li::before,
#footer .footnav ul>li::after {
  content: none;
}

#footer ul li a:hover {
  text-decoration: none;
}

/* --- レイアウトcustom --- */

#footer .footnav>ul {
  gap: var(--px50);
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: center;
}

#footer .footnav ul>li.nav_head>a {
  display: none;
}

#footer .footnav ul>li>a {
  font-weight: 600;

  &:hover {
    color: var(--color-primary);
  }
}

#footer .footnav .sub-menu {
  display: flex;
  flex-direction: column;

  &>li>a {
    font-size: var(--rem16);
    position: relative;
    padding-left: calc(var(--rem16) + 0.5rem);

    &:before {
      content: '\f0a9';
      font-size: var(--rem16);
      font-weight: 400;
      font-family: 'FontAwesome';
      color: var(--color-primary);
      margin-right: 0.5em;
      text-align: center;
      vertical-align: middle;
      transition: all 0.3s;
      position: absolute;
      left: 0;
      top: 0;
    }
  }

  .sub-menu {

    margin-left: 1rem;
    margin-top: var(--rem16);

    &>li>a {
      font-size: var(--rem14);

      &:before {
        content: '\f061';
        font-size: var(--rem16);
        font-weight: 400;
        font-family: 'FontAwesome';
        color: var(--color-font);
        text-align: center;
        margin-right: 0.5rem;
        vertical-align: middle;
        transition: all 0.3s;
      }
    }

    .sub-menu {
      margin-left: 0.15rem;
      gap: var(--rem12);

      &>li {
        margin: 0;
      }

      &>li>a {
        font-size: var(--rem14);
        font-weight: 500;

        &:before {
          content: '';
          background: var(--color-font);
          width: 0.5rem;
          height: 0.1rem;
          margin-right: 0.5rem;
          transition: all 0.3s;
          top: calc(0% + var(--rem16) / 1.5);
        }
      }
    }
  }
}

#footer li.nav_first+.nav_first {
  margin-top: var(--rem12);
}

/* --- footer sns --- */

#footer .socialicon ul,
.socialicon ul {
  justify-content: center;
}

#footer .socialicon .fa-facebook:before,
#footer .socialicon .fa-twitter:before,
#footer .socialicon .fa-youtube:before,
#footer .socialicon .fa-instagram:before,
#footer .socialicon .fa-x-twitter:before,
#footer .socialicon .fa-line:before,
#footer .socialicon .fa-tiktok:before {
  color: var(--color-primary);
  font-size: var(--rem30);
}

/* --- copyright --- */

#footer {
  .c-footer-bottom {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    text-align: left;
    margin: 1em auto;
    gap: 0.5em;

    a {
      transition: 0.3s all;
      padding: 0.5em 1em;

      &.external_btn {
        padding: 0.4em 1em;
        background: #fff;
        border-radius: 50vh;
      }

      &:hover {
        color: var(--color-primary);
      }
    }
  }
}

#copyright {
  text-align: right;
  margin: 0 0 0 1.5em;
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 1100px) {
  #footer .footnav>ul {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  #footer .footnav>ul {
    flex-wrap: wrap;
    flex-direction: column;
    gap: 0;
  }

  #footer li.nav_first+.nav_first {
    margin-top: 3px;
  }

  #footer .socialicon ul,
  .socialicon ul {
    justify-content: center;
  }

  .l-footer {
    .c-footer-info {

      .c-footer-info__inner {
        gap: var(--px40);
        flex-direction: column;
        align-items: center;
      }
    }
  }

  #copyright {
    text-align: left;
    margin: 0 auto;
    width: 94%;
  }
}

/* ===========================================
   CTA Block
=========================================== */

.post .l-cta,
.l-cta {

  /* --- 親テーマリセット --- */
  h2,
  p,
  span {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
  }

  h2::before,
  h2::after {
    content: none !important;
  }

  figure {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }

  img {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  a {
    text-decoration: none;
  }

  /* ---------------------- */

  position: relative;

  .l-cta__inner {
    background: url(/kokoro-shinbashi/wp-content/uploads/cta_imgbg.jpg.webp) no-repeat;
    background-size: cover;

    &:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
      background: #ffffff29;
    }
  }

  .c-cta-block__motif {
    display: block;

    &:before {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts05_m.png.webp) no-repeat bottom right;
      background-size: contain;
      position: absolute;
      bottom: 5px;
      right: 0;
      width: 23%;
      height: 33%;
      z-index: 3;
      animation: fx-float 3s ease-in-out infinite;
    }

    &::after {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts06.png.webp) no-repeat bottom left;
      background-size: contain;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 32%;
      height: 30%;
      z-index: 11;
    }
  }

  .c-cta-block__inner {
    position: relative;
    z-index: 2;
    max-width: 1390px;
    width: 94%;
    margin: 0 auto;
  }

  .c-cta-block__box {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--px60);
    padding: var(--px80) var(--px60) var(--px100);
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    position: relative;

    &:before {
      content: "";
      width: 13%;
      height: 10%;
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts04_m.png.webp) no-repeat top left;
      background-size: contain;
      position: absolute;
      bottom: 18%;
      left: -14%;
      z-index: 1;
      animation: fx-float 3s ease-in-out 1.5s infinite;
    }

    &:after {
      content: "";
      width: 12%;
      height: 10%;
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts03_m.png.webp) no-repeat top left;
      background-size: contain;
      position: absolute;
      bottom: 36%;
      left: -10%;
      z-index: 1;
      animation: fx-float 3s ease-in-out infinite;
    }
  }

  .c-cta-block__header {
    text-align: center;
    position: relative;
    z-index: 2;
    height: var(--px100);
    width: 100%;
    max-width: 330px;
    margin: 0 auto var(--px20);

    img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  }

  .c-cta-block__title {
    font-size: var(--px40);
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: var(--px24);
    line-height: 1.6;
    font-family: var(--font-family02);
  }

  .c-cta-block__lead {
    line-height: 1.8;
    color: var(--color-font);
    margin-bottom: var(--px50);
    font-family: var(--body-font-family);
    font-size: var(--px16);
  }
}

/* --- ボタン単体 --- */

.c-cta-block__btn-area {
  display: flex;
  justify-content: center;
  gap: 2%;
  margin-bottom: var(--px40);
}

.c-cta-block__btn {
  flex: 1;
  max-width: 320px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 16px 30px 16px 16px;
  border-radius: 50px;
  gap: 6px;
  transition: transform 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  cursor: pointer;

  &:hover {
    opacity: 1;
    transform: translateY(-2px);
    transition: transform 0.3s ease;
    color: var(--color-font);
  }

  &:before {
    content: "";
    display: block;
    width: var(--px40);
    height: var(--px40);
    margin: 0.3em;
    flex-shrink: 0;
    background: url(/kokoro-shinbashi/wp-content/uploads/cta_icon01.png.webp) no-repeat center center;
    background-size: contain;
  }
}

.c-cta-block__btn-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  font-family: var(--body-font-family);
}

.c-cta-block__btn-title {
  font-size: var(--px20);
  font-weight: 700;
  margin-bottom: 4px;
  line-height: 1.4;
}

.c-cta-block__btn-note {
  font-size: var(--rem12);
  font-weight: 600;
  margin-bottom: 4px;
  line-height: 1.4;
}

.c-cta-block__btn--01 {
  background-color: #FFF5D9;
  border: 2px solid var(--color-secondary-tint);
  color: var(--color-font);

  &:before {
    background: url(/kokoro-shinbashi/wp-content/uploads/cta_icon01.png.webp) no-repeat center center;
    background-size: contain;
  }
}

.c-cta-block__btn--02 {
  background-color: #FBC73B;
  color: var(--color-font);

  &:before {
    background: url(/kokoro-shinbashi/wp-content/uploads/cta_icon02.png.webp) no-repeat center center;
    background-size: contain;
  }
}

.c-cta-block__btn--03 {
  background-color: #FFA246;
  color: var(--color-font);

  &:before {
    background: url(/kokoro-shinbashi/wp-content/uploads/cta_icon03.png.webp) no-repeat center center;
    background-size: contain;
  }
}

.c-cta-block__footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--px60);
}

.c-cta-block__tel {
  display: flex;
  align-items: center;

  &:before {
    content: '\f3cf';
    display: inline-block;
    font-size: var(--px30);
    font-weight: 400;
    font-family: 'FontAwesome';
    color: var(--color-font);
    margin-right: 0.5em;
    text-align: center;
    vertical-align: middle;
  }

}

.c-cta-block__tel-info {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.c-cta-block__tel-number {
  font-family: var(--font-family01);
  font-size: var(--px24);
  font-weight: 700;
  color: var(--color-font);
  line-height: 1.2;
}

.c-cta-block__tel-time {
  font-size: var(--rem12);
  color: var(--color-font);
  line-height: 1.6;
}

.c-cta-block__faq {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: 700;
  color: var(--color-font);
  padding-bottom: 10px;
  padding-right: 3px;
  transition: all 0.3s !important;

  &:before {
    content: '\f059';
    display: inline-block;
    font-size: var(--px30);
    font-weight: 400;
    font-family: 'FontAwesome';
    margin-right: 0.5em;
    text-align: center;
    vertical-align: middle;
    transition: all 0.3s;
  }

  &:after {
    content: "";
    width: 100%;
    height: 2px;
    background: var(--color-font);
    position: absolute;
    bottom: 0;
    left: 0;
  }

  &:hover {
    opacity: 1;
    color: var(--color-primary);
  }
}


/* --- 共通装飾 --- */

.post .l-cta,
.l-cta {

  .c-cta-block {
    position: relative;
    padding: calc(var(--px100) + var(--separat-height)) 0;
    z-index: 0;

    &:before {
      content: "";
      position: absolute;
      top: calc(0% - (var(--px100) - var(--separat-height)) - 1px);
      left: 0;
      width: 100%;
      height: var(--separat-height);
      z-index: 10;
      background: var(--color-background);
      -webkit-mask-image: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp);
      mask-image: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp);
      mask-size: contain;
      mask-repeat: repeat-x;
      transform: rotate(180deg);
    }

    &:after {
      content: "";
      position: absolute;
      bottom: calc(0% - (var(--px100) - var(--separat-height)) - 1px);
      left: 0;
      width: 100%;
      height: var(--separat-height);
      z-index: 10;
      background: var(--color-background);
      -webkit-mask-image: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp);
      mask-image: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp);
      mask-size: contain;
      mask-repeat: repeat-x;
    }
  }
}

/* --- 個別装飾 --- */

.post .l-cta,
.l-cta {

  position: relative;

  &:before {
    content: "";
    width: 19%;
    height: 30%;
    background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts01.png.webp) no-repeat bottom right;
    background-size: contain;
    position: absolute;
    top: -11%;
    right: 0;
    z-index: 1;
  }

  &::after {
    content: "";
    width: 30%;
    height: 47%;
    background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts02.png.webp) no-repeat top left;
    background-size: contain;
    position: absolute;
    top: -7%;
    left: 0;
    z-index: 1;
  }
}

/* --- 下層調整 --- */

body:not(.home) {

  .post .l-cta,
  .l-cta {

    position: relative;

    &:before,
    &:after {
      display: none;
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */


/* --- ボタン単体 --- */

@media screen and (max-width: 768px) {

  .c-cta-block__btn-area {
    flex-direction: column;
    gap: 16px;
    margin-bottom: var(--px40);
    align-items: center;
  }

  .c-cta-block__btn-title {
    font-size: var(--px18);
  }

  .c-cta-block__btn {
    max-width: 300px;
    width: 100%;
  }

  .c-cta-block__footer {
    flex-direction: column;
    gap: var(--px30);
  }

  .c-cta-block__tel {
    justify-content: center;
  }
}

/* --- 個別装飾 --- */

@media screen and (max-width: 1023px) {

  .post .l-cta,
  .l-cta {
    .c-cta-block__motif {
      &::after {
        width: 46%;
        height: 14%;
      }
    }
  }
}

@media screen and (max-width: 768px) {

  .post .l-cta,
  .l-cta {
    &:before {
      width: 30%;
      height: 16%;
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts01.png.webp) no-repeat bottom right;
      background-size: contain;
      top: -2%;
    }

    &::after {
      width: 46%;
      height: 20%;
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts02.png.webp) no-repeat top left;
      background-size: contain;
      top: -5%;
    }

    .c-cta-block__box {

      &:after,
      &:before {
        content: none;
      }
    }

    .c-cta-block__motif {
      &::after {
        width: 50%;
        height: 11%;
      }
    }
  }
}

@media screen and (max-width: 414px) {

  .post .l-cta,
  .l-cta {
    .c-cta-block__motif {
      &:before {
        width: 30%;
        height: 14%;
        bottom: calc(0% + var(--separat-height) * 0.5);
      }
    }
  }
}



/* ===========================================
   Footer Info Block
=========================================== */

#footer {
  .c-footer-info {
    margin-bottom: var(--px100);

    /* --- 親テーマリセット --- */
    h2 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
    }

    ul,
    li {
      margin: 0;
      padding: 0;
      list-style: none;
      background: none;
      border: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    a {
      text-decoration: none;
      color: inherit;
      display: block;
    }

    /* ---------------------- */

    .c-footer-info__inner {
      max-width: var(--content-max-width);
      margin: 0 auto;
      width: 92%;
      display: flex;
      justify-content: space-between;
      gap: 5%;
    }

    .c-footer-info__left {
      width: 45%;
      padding-top: var(--px30);
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .c-footer-info__right {
      width: 50%;
    }

    /* === 左側：ブランド（ロゴ・園名） === */
    .c-footer-info__brand {
      display: flex;
      align-items: center;
      margin-bottom: var(--px40);
    }

    .c-footer-info__mark {
      width: 100%;
      max-width: 400px;
      flex-shrink: 0;

      img {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
      }
    }

    .c-footer-info__tags {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
      margin-bottom: var(--px24);
    }

    .c-footer-info__tag {
      background-color: #fff;
      color: var(--color-primary);
      font-size: var(--px16);
      font-weight: 700;
      padding: 6px 16px;
      border-radius: 50px;
      line-height: 1.4;
    }

    .c-footer-info__catch {
      font-size: var(--px24);
      font-weight: 700;
      color: var(--color-primary);
      line-height: 1.8;
      margin-bottom: var(--px24);
      text-align: center;
    }

    .c-footer-info__details {
      margin-bottom: var(--px30);
      text-align: center
    }

    .c-footer-info__text {
      line-height: 2;
      color: var(--color-font);
    }

    .c-footer-info__text--note {
      font-size: var(--rem12);
      margin-top: 5px;
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  #footer {
    .c-footer-info {

      .c-footer-info__inner {
        flex-direction: column;
        gap: var(--px60);
      }

      .c-footer-info__mark {
        max-width: 240px;
      }

      .c-footer-info__catch {
        font-size: var(--px40);
      }

      .c-footer-info__left,
      .c-footer-info__right {
        width: 100%;
        padding-top: 0;
      }

      /* SP時はインデントを解除し、中央揃えなどでバランスを取る */
      .c-footer-info__content {
        padding-left: 0;
      }

    }
  }
}

/* ===========================================
   Floating CTA Block
=========================================== */

.c-floating-cta {
  position: fixed;
  right: 5px;
  top: inherit;
  bottom: 70px;
  transform: inherit;
  z-index: 999;

  /* --- 親テーマリセット --- */
  ul,
  li {
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
    border: none;
  }

  li::before,
  li::after {
    content: none !important;
  }

  a {
    text-decoration: none;
    color: inherit;
    display: block;
  }

  span {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }

  figure {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }

  img {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* ---------------------- */
	
  a.off {
    display: none;
  }

  .c-floating-cta__list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    /* gap: 15px; */
  }

  .c-floating-cta__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 95px;
    height: auto;
    padding: 16px 12px;
    text-align: center;
    transition: transform 0.3s ease;

    &:before {
      content: "";
      display: block;
      width: 30px;
      height: 30px;
      margin: 0.3em;
      flex-shrink: 0;
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_icon01.png.webp) no-repeat center center;
      background-size: contain;
    }

    &:hover {
      transform: translateY(-5px);
      opacity: 1;

      img {
        opacity: 1;
      }
    }
  }

  .c-floating-cta__link--01 {
    background: url(/kokoro-shinbashi/wp-content/uploads/sidefixbg01.png.webp) no-repeat center center;
    background-size: contain;

    &:before {
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_icon01.png.webp) no-repeat center center;
      background-size: contain;
    }
  }

  .c-floating-cta__link--02 {
    background: url(/kokoro-shinbashi/wp-content/uploads/sidefixbg02.png.webp) no-repeat center center;
    background-size: contain;

    &:before {
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_icon02.png.webp) no-repeat center center;
      background-size: contain;
    }
  }

  .c-floating-cta__link--03 {
    background: url(/kokoro-shinbashi/wp-content/uploads/sidefixbg03.png.webp) no-repeat center center;
    background-size: contain;

    &:before {
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_icon03.png.webp) no-repeat center center;
      background-size: contain;
    }
  }

  .c-floating-cta__text {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--color-font);
    margin-bottom: 12px;
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .c-floating-cta {
    display: none;
  }
}


/* ===========================================
   共通コンポーネント
=========================================== */

.post {

  /* 共通ピル型ボタン */
  .c-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: calc(0% + var(--px20)) calc(0% + var(--px24));
    border-radius: 50px;
    background-color: #fff;
    font-size: var(--px18);
    font-weight: 700;
    width: fit-content;
    min-width: 160px;
    color: var(--color-primary);
    text-decoration: none;
    transition: all 0.3s;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    gap: calc(0% + var(--px18) / 3);
    line-height: 1.6;
    border: solid 3px #fff;

    &::before {
      content: '\f0a9';
      font-size: var(--px24);
      font-weight: 400;
      font-family: 'FontAwesome';
      text-align: center;
      vertical-align: middle;
      transition: all 0.3s;
      line-height: 1;
    }

    &:hover {
      transform: translateY(-2px);
      background: var(--color-primary);
      color: #fff;
      border-color: #fff;
    }
  }

  /* カラーバリエーション: 白背景・プライマリー文字 */
  .c-btn--primary {
    background-color: var(--color-primary);
    color: #fff;

    &:hover {
      transform: translateY(-2px);
      background: #fff;
      color: var(--color-primary);
      border-color: var(--color-primary);
    }
  }

  /* 位置バリエーション */
  .c-btn--center {
    margin-left: auto;
    margin-right: auto;
  }

  /* 黒背景のボタン（テキスト左、アイコン右のレイアウト） */
  .c-btn--black {
    background-color: var(--color-font);
    color: var(--color-background);
    padding: 12px 20px 12px 24px;
  }

  .c-btn__icon-external {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 12px;
    position: relative;
    border: 1.5px solid var(--color-background);
    border-radius: 2px;

    /* 外部リンク風の右上矢印の表現 */
    &::after {
      content: "";
      position: absolute;
      top: -3px;
      right: -3px;
      width: 6px;
      height: 6px;
      background-color: var(--color-background);
      clip-path: polygon(100% 0, 0 0, 100% 100%);
    }
  }
}

/* -------------------------------------------
   PC用スタイル
------------------------------------------- */

@media screen and (min-width: 768px) {
  .post {
    .c-btn {
      min-width: 240px;
    }

    /* サイズバリエーション */
    .c-btn--big {
      min-width: 360px;
      min-height: var(--px100);
    }
  }
}

/* =============================================================================================
   TOP
============================================================================================= */

/* ===========================================
   Concept Block
=========================================== */

.post .l-concept {

  /* --- 親テーマリセット --- */

  h2 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;

    &::before,
    &::after {
      content: none !important;
    }
  }

  p {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
  }

  figure {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }

  img {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* ---------------------- */

  .l-concept__inner {
    position: relative;
    background: url(/kokoro-shinbashi/wp-content/uploads/sec01_imgbg.jpg.webp) no-repeat;
    background-size: cover;
    background-position: center center;

    &:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
      background: #ffffff29;
      backdrop-filter: blur(8px);
    }
  }

  .c-concept-block {
    position: relative;
  }

  .c-concept-block__inner {
    max-width: 1628px;
    width: 92%;
    margin: 0 auto;
    position: relative;
  }

  .c-concept-block__bg-text {
    font-family: var(--font-family01);
    font-size: var(--px160);
    font-weight: 600;
    color: #ffffff;
    opacity: 1;
    line-height: 1;
    position: absolute;
    top: calc(4% - var(--px160));
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    letter-spacing: 0.01em;
    pointer-events: none;
    white-space: nowrap;
    width: 100%;
    text-align: center;
  }

  .c-concept-block__box {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    z-index: 2;
  }

  .c-concept-block__text-area {
    position: relative;
    width: 60%;
    background: #fff;
    border-radius: var(--px100) var(--px100) 0 0;
    padding: var(--px100) var(--px200);
  }

  .c-concept-block__catch {
    font-family: var(--font-family02);
    font-size: var(--px40);
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1.6;
    text-align: left;
    margin-bottom: var(--px40);
    letter-spacing: 0.1em;
  }

  .c-concept-block__lead {
    color: var(--color-font);
    line-height: 2;
    font-size: var(--px18);
    font-weight: 600;

    b {
      color: var(--color-primary);
      font-weight: 900;
    }
  }

  .c-concept-block__figure {
    width: calc(40% + var(--px160));
    aspect-ratio: 16 / 11;
    overflow: hidden;
    border-radius: var(--px80) var(--px80) 0 0;
    position: relative;
    margin-left: calc(0% - var(--px160));
    margin-bottom: calc(var(--separat-height) / 2);

    img {
      width: 100%;
      height: 100%;
      max-width: none;
      max-height: none;
      object-fit: cover;
    }
  }
}

/* --- 共通装飾 --- */

.post .l-concept {
  position: relative;

  &:before {
    content: "";
    position: absolute;
    top: calc(0% - (var(--px100) - var(--separat-height)) - 1px);
    left: 0;
    width: 100%;
    height: var(--separat-height);
    z-index: 0;
    background: var(--color-secondary-tint);
    -webkit-mask-image: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp);
    mask-image: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp);
    mask-size: contain;
    mask-repeat: repeat-x;
    transform: rotate(180deg);
  }

  &:after {
    content: "";
    background: url(/kokoro-shinbashi/wp-content/uploads/separat_01.png.webp) repeat-x center bottom;
    background-size: contain;
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: var(--separat-height);
    z-index: 3;
  }

  .c-concept-block {
    position: relative;
  }

  .c-concept-block__text-area {
    padding-bottom: calc(var(--px100) + var(--separat-height));
  }
}

/* --- 個別装飾 --- */

.post .l-concept {

  .l-concept__inner {
    position: relative;
    padding: calc(0% + var(--px120) * 3) 0 0;
    margin-top: calc(0% - var(--separat-height)*2);
  }

  .c-partst.c-parts--sidetop {
    position: absolute;
    top: inherit;
    right: 0;
    bottom: 35%;
    width: 15%;

    &:before {
      content: "";
      display: block;
      width: 24%;
      height: 24%;
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts04_m.png.webp) no-repeat center center;
      background-size: contain;
      position: absolute;
      bottom: -14%;
      left: 19%;
      transform: scale(-1, 1);
      animation: fx-float 3s ease-in-out infinite;
    }

    &:after {
      content: "";
      display: block;
      width: 14%;
      height: 14%;
      background: url(/kokoro-shinbashi/wp-content/uploads/cta_parts03_m.png.webp) no-repeat center center;
      background-size: contain;
      position: absolute;
      top: 50%;
      left: 0;
      transform: rotate(336deg);
      animation: fx-float 3s ease-in-out 1.5s infinite;
    }
  }

  .c-partst.c-parts-motif {
    position: absolute;
    left: 43%;
    transform: translateX(-50%);
    bottom: calc(var(--separat-height) / 2.5);
    z-index: 5;
    width: 10%;
    animation: fx-float 3s ease-in-out infinite;
  }

  .c-concept-block {
    &:after {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/sec01_parts02.png.webp) no-repeat left bottom;
      background-size: contain;
      position: absolute;
      bottom: 0;
      left: 0%;
      width: 17%;
      height: calc(var(--separat-height) + 15%);
      z-index: 4;
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 1400px) {
  .post .l-concept {
    .c-concept-block__text-area {
      padding: var(--px100) var(--px120) calc(var(--px100) + var(--separat-height));
    }
  }
}

@media screen and (max-width: 1280px) {
  .post .l-concept {
    .c-concept-block__text-area {
      width: 75%;
    }
  }
}

@media screen and (max-width: 1023px) {
  .post .l-concept {

    .c-concept-block__bg-text {
      left: 50%;
      transform: translateX(-50%);
    }

    .c-concept-block__box {
      flex-direction: column;
    }

    .c-concept-block__text-area {
      width: 100%;
      border-radius: var(--px100);
      padding-bottom: var(--px160);
    }

    .c-concept-block__figure {
      width: 90%;
      aspect-ratio: 4 / 3;
      border-radius: var(--px40);
      margin: calc(0% - var(--px100)) auto calc(var(--separat-height) / 2);
      position: relative;
      z-index: 1;
    }
  }
}

@media screen and (max-width: 768px) {
  .post .l-concept {
    .c-concept-block__bg-text {
      top: calc(3% - var(--px160));
    }

    .c-concept-block__text-area {
      padding: var(--px80) var(--px80) calc(var(--px80) + var(--separat-height));
    }
  }
}

@media screen and (max-width: 640px) {
  .post .l-concept {
    .c-concept-block__lead {
      line-height: 1.8;
      font-size: var(--px16);
    }
  }
}

/* --- 個別装飾 --- */

@media screen and (max-width: 1023px) {
  .post .l-concept {
    .c-partst.c-parts-motif {
      width: 30%;
      left: 75%;
    }
  }
}

@media screen and (max-width: 1023px) {
  .post .l-concept {
    .c-partst.c-parts--sidetop {
      top: 2%;
      bottom: inherit;
      width: 35%;
    }
  }
}



/* ===========================================
   Reason Block
=========================================== */

.post .l-reason {

  /* --- 親テーマリセット --- */

  h2,
  h3 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
    color: var(--color-font);

    &::before,
    &::after {
      content: none !important;
    }
  }

  p {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    color: var(--color-font);
  }

  figure {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }

  img {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  a {
    text-decoration: none;
    color: inherit;

    &:hover {
      opacity: 1;
    }
  }

  /* ---------------------- */

  background-color: var(--color-secondary-tint);
  color: var(--color-background);
  padding: var(--px120) 0;

  .c-reason-block {
    position: relative;
  }

  .c-reason-block__inner {
    max-width: var(--content-max-width);
    margin: 0 auto;
    width: 90%;
  }

  .c-reason-block__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--px160);
  }

  .c-reason-block__title-area {
    position: relative;
    padding-left: var(--px100);
    width: 60%;
  }

  .c-reason-block__bg-text {
    font-family: var(--font-family01);
    font-size: var(--px160);
    font-weight: 700;
    color: var(--color-primary);
    opacity: 0.15;
    line-height: 1;
    position: relative;
    left: calc(0% - var(--px120));
    margin-bottom: var(--px20);
    z-index: 1;
    letter-spacing: 0;
    pointer-events: none;
    text-align: left;
  }

  .c-reason-block__catch {
    font-family: var(--font-family02);
    font-size: var(--px50);
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: var(--px24);
    position: relative;
    z-index: 2;
    letter-spacing: 0;
    text-align: left;
  }

  .c-reason-block__sub {
    font-weight: 500;
    position: relative;
    z-index: 2;
    font-size: var(--px20);
  }

  .c-reason-block__cards {
    display: flex;
    justify-content: space-between;
    gap: 5%;
  }

  .c-reason-card {
    width: calc(100% / 3);
    display: flex;
    flex-direction: column;
    transition: all 0.3s;

    &:nth-child(2) {
      margin-top: var(--px50);
    }


    &:hover {
      opacity: 1;

      .c-reason-card__img-wrap img {
        transform: scale(1.03);
        opacity: 1;
      }
    }
  }

  .c-reason-card__figure {
    position: relative;
    aspect-ratio: 4 / 3;
    margin-bottom: var(--px30);
    overflow: visible;
    z-index: 1;
  }

  .c-reason-card__img-wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: var(--px20) var(--px50) var(--px20) var(--px20);
    position: relative;
    z-index: 1;

    img {
      width: 100%;
      height: 100%;
      max-width: none;
      max-height: none;
      object-fit: cover;
      transition: transform 0.4s ease;
    }
  }

  .c-reason-card__point {
    position: absolute;
    z-index: 1;
    padding: var(--px30) var(--px30) var(--px40) var(--px50);
    background: url(/kokoro-shinbashi/wp-content/uploads/fukidashi.png.webp) no-repeat center center;
    background-size: contain;
    display: block;
    color: var(--color-primary);
    font-size: var(--px16);
    font-weight: 800;
    text-align: center;
    line-height: 1.6;
    top: calc(0% - var(--px60));
    left: 0;
  }

  .c-reason-card__number {
    position: absolute;
    top: calc(0% - var(--px100) / 2);
    right: 5%;
    font-family: var(--font-family01);
    font-size: var(--px100);
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1;
    z-index: 2;
  }

  .c-reason-card__en {
    position: absolute;
    bottom: calc(0% + var(--px40) / 2);
    left: calc(0% - var(--px40));
    font-family: var(--font-family03);
    font-size: var(--px40);
    color: #fff;
    z-index: 2;
    line-height: 1.2;
  }

  .c-reason-card__body {
    flex-grow: 1;
  }

  .c-reason-card__title {
    font-size: var(--px30w);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: var(--px12);
    font-family: var(--font-family02);
  }

  .c-reason-card__text {
    line-height: 1.8;
    margin-bottom: var(--px30w);
  }
}

/* --- 共通装飾 --- */

.post .l-reason {
  position: relative;

  &:before {
    content: "";
    background: url(/kokoro-shinbashi/wp-content/uploads/separat_01.png.webp) repeat-x center bottom;
    background-size: contain;
    position: absolute;
    bottom: calc(0% - var(--separat-height) + 1px);
    left: 0;
    width: 100%;
    height: var(--separat-height);
    z-index: 3;
    transform: rotate(180deg);
  }

}

/* --- 個別装飾 --- */

.post .l-reason {
  position: relative;

  .c-partst.c-parts--side {
    position: absolute;
    right: 10%;
    top: 0;
    width: 34%;

    &:before {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/sec02_parts02_m.png.webp) no-repeat center center;
      background-size: contain;
      position: absolute;
      top: 5%;
      left: 16%;
      width: 28%;
      height: 24%;
      z-index: 4;
      animation: fx-scale 3s ease-in-out 1s infinite;
    }

    &:after {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/sec02_parts03_m.png.webp) no-repeat center center;
      background-size: contain;
      position: absolute;
      top: 54%;
      right: 0%;
      width: 20%;
      height: 37%;
      z-index: 4;
      animation: fx-scale 3s ease-in-out 2s infinite;
    }

    .c-parts--on {
      position: absolute;
      width: 24%;
      left: 18%;
      bottom: 2%;
      animation: fx-scale 4s ease-in-out infinite;
    }
  }

  .c-partst.c-parts--sidebottom {
    position: absolute;
    right: 0;
    bottom: calc(0% - var(--separat-height) * 1.4);
    z-index: 3;
    width: 16%;
	animation: fx-scale 4s ease-in-out infinite;
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 1240px) {
  .post .l-reason {
    .c-reason-card__point {
      padding: 34px 20px 38px 35px;
      font-size: 12px;
      top: calc(0% - var(--px80));
    }

    .c-reason-block__cards {
      gap: 3%;
    }
  }
}

@media screen and (max-width: 960px) {
  .post .l-reason {
    padding-bottom: calc(var(--px120) + var(--separat-height));

    .c-reason-block__top {
      flex-direction: column;
      align-items: flex-start;
    }

    .c-reason-block__bg-text {
      left: calc(0% - var(--px40));
    }

    .c-reason-block__title-area {
      width: 100%;
      padding-left: var(--px20);
    }

    .c-reason-block__catch {
      font-size: var(--px40w);
    }

    .c-reason-block__sub {
      font-size: var(--px18);
    }

    .c-reason-block__cards {
      flex-direction: column;
      gap: var(--px80);
      width: 90%;
      max-width: 540px;
      margin: 0 auto;
    }

    .c-reason-card__number {
      top: calc(0% - var(--px160) / 2);
      font-size: var(--px160);
    }

    .c-reason-card {
      width: 100%;
    }

    .c-reason-card__title {
      min-height: auto;
    }
  }
}

@media screen and (max-width: 640px) {
  .post .l-reason {
    .c-reason-block__catch {
      font-size: var(--px30w);
    }
  }
}

/* --- 個別装飾 --- */

@media screen and (max-width: 840px) {
  .post .l-reason {
    .c-partst.c-parts--side {
      right: 4%;
      top: -3%;
      width: 40%;
    }

    .c-partst.c-parts--sidebottom {
      width: 30%;
      bottom: calc(3% - var(--separat-height) * 1.4);
    }
  }
}

@media screen and (max-width: 640px) {
  .post .l-reason {
    .c-reason-card__text {
      line-height: 1.6;
    }
  }
}

@media screen and (max-width: 414px) {
  .post .l-reason {

    .c-partst.c-parts--sidebottom {
      width: 38%;
    }
  }
}

/* ===========================================
   Info Section (outer)
=========================================== */

/* --- 共通装飾 --- */

.post .l-info-section {
  position: relative;
  margin-top: calc(0% - var(--separat-height) / 2);
  z-index: 5;

  &:before {
    content: "";
    background: url(/kokoro-shinbashi/wp-content/uploads/separat_01.png.webp) repeat-x center bottom;
    background-size: contain;
    position: absolute;
    bottom: -1px;
    ;
    left: 0;
    width: 100%;
    height: var(--separat-height);
    z-index: 3;
  }
}

@media screen and (max-width: 1023px) {
  .post .l-info-section {
    margin-top: calc(0% + var(--separat-height) * 2);
  }
}

/* ===========================================
   Info Section (Instagram)
=========================================== */

.post .l-instagram {

  /* --- 親テーマリセット --- */
  h2,
  h3 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;

    &::before,
    &::after {
      content: none !important;
    }
  }

  p {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
  }

  figure {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }

  img {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  a {
    text-decoration: none;
  }

  /* ---------------------- */

  .c-instagram-block {
    margin: 0 auto var(--px150) auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .c-instagram-block__figure {
    width: 56%;
  }

  .c-instagram-block__body {
    width: 45%;
    padding: var(--px100);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    margin: 0 auto;
  }

  .c-instagram-block__label {
    display: flex;
    gap: var(--px16);
    align-items: center;
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: var(--px16);
    font-size: var(--px30);
    font-family: var(--body-font-family);
    text-align: left;

    &:before {
      content: "";
      display: block;
      width: var(--px40);
      height: var(--px30);
      flex-shrink: 0;
      background: url(/kokoro-shinbashi/wp-content/uploads/ico_camera.png.webp) no-repeat center center;
      background-size: contain;
    }
  }

  .c-instagram-block__title {
    font-family: var(--font-family02);
    font-size: var(--px40);
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: var(--px24);
    line-height: 1.6;
    text-align: left;
  }

  .c-instagram-block__text {
    line-height: 1.8;
    color: var(--color-font);
    margin-bottom: var(--px40);
    font-size: var(--px16);
  }

  .pc_none {
    display: none;
  }
}

/* --- 共通装飾 --- */

.post .l-instagram {
  .c-instagram-block__body {
    margin-top: calc(0% + var(--separat-height) * 1.8);
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */
@media screen and (max-width: 1023px) {
  .post .l-instagram {

    .c-instagram-block {
      flex-direction: column;
      margin-bottom: var(--px80);
    }

    .c-instagram-block__figure {
      width: 100%;
      margin-bottom: var(--px30);
    }

    .c-instagram-block__body {
      width: 90%;
      margin: 0 auto;
      padding: 0;
      align-items: center;
      text-align: center;
    }

    .c-instagram-block__label {
      font-size: var(--px40);
    }

    .pc_none {
      display: inherit;
    }

    .sp_none {
      display: none;
    }
  }
}

/* ===========================================
   Info Section (Feature)
=========================================== */

.post .l-feature {

  /* --- 親テーマリセット --- */

  h2,
  h3 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;

    &::before,
    &::after {
      content: none !important;
    }
  }

  p {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
  }

  figure {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }

  img {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  a {
    text-decoration: none;
  }

  /* ---------------------- */

  width: 100%;
  position: relative;

  .c-feature-block {
    position: relative;
    max-width: 1640px;
    margin: 0 auto 0 0;
    width: 90%;
    background: #fff;
    border-radius: 0 var(--px80) 0 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: var(--px100) var(--px100) var(--px100) var(--px80);

    &:before {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/taiyokun.png.webp) no-repeat bottom right;
      background-size: contain;
      position: absolute;
      bottom: 2%;
      left: 5%;
      width: 10%;
      height: 23%;
      z-index: 3;
    }
  }

  .c-feature-block__body {
    width: 50%;
    padding-right: var(--px50);
  }

  .c-feature-block__label {
    display: flex;
    align-items: flex-start;
    font-family: var(--body-font-family);
    font-weight: 700;
    color: var(--color-common-text);
    margin-bottom: var(--px30);
    font-size: var(--px30w);
    gap: var(--px14);
    line-height: 1.3;

    &:before {
      content: "";
      display: block;
      width: var(--px40);
      height: var(--px40);
      flex-shrink: 0;
      background: url(/kokoro-shinbashi/wp-content/uploads/ico_taiyo.png.webp) no-repeat center center;
      background-size: contain;
    }
  }

  .c-feature-block__text {
    line-height: 2;
    color: var(--color-font);
    letter-spacing: 0;
    font-size: var(--px18);
    font-weight: 600;

    b {
      font-weight: 900;
      color: var(--color-common-text);
    }
  }

  .c-feature-block__link {
    font-weight: 900;
    color: var(--color-common-text);
    transition: all 0.3s;
    margin: 0 3px;

    &:hover {
      text-decoration: none;
      opacity: 0.7;
    }
  }

  .c-feature-block__movie {
    width: 50%;
    aspect-ratio: 16 / 9;

    iframe {
      width: 100%;
      height: 100%;
    }
  }
}

/* --- 共通装飾 --- */

.post .l-feature {
  position: relative;

  &:before {
    content: "";
    background: url(/kokoro-shinbashi/wp-content/uploads/taiyo_parts02.png.webp) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: -15%;
    left: 40%;
    width: 20%;
    height: 10%;
    z-index: 4;
  }

  &:after {
    content: "";
    background: url(/kokoro-shinbashi/wp-content/uploads/taiyo_parts03.png.webp) no-repeat center left;
    background-size: contain;
    position: absolute;
    bottom: 20%;
    right: 0;
    width: 10%;
    height: 11%;
    z-index: 4;
    transform: scale(-1, 1);
  }

  .c-partst.c-parts--motif {
    position: absolute;
    right: 0%;
    top: -18%;
    width: 40%;
    height: 40%;
    z-index: -1;
    animation: fx-float--big 5s ease-in-out infinite;
  }

  .c-feature-block {
    padding-bottom: calc(var(--px100) + var(--separat-height));
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 1240px) {
  .post .l-feature {

    .c-feature-block {
      width: 100%;
      flex-direction: column;
      border-radius: var(--px40) var(--px40)0 0;
      padding: var(--px160) var(--px100) var(--px120);
    }

    .c-feature-block__body {
      width: 100%;
      padding-right: 0;
      margin-bottom: var(--px40);
    }

    .c-feature-block__movie {
      width: 100%;
    }
  }
}

@media screen and (max-width: 1240px) {
  .post .l-feature {
    .c-feature-block__text {
      line-height: 1.8;
      font-size: var(--px16);
    }
  }
}

/* --- 個別装飾 --- */

@media screen and (max-width: 1240px) {
  .post .l-feature {
    &:before {
      top: -9%;
      left: 47%;
      width: 32%;
      height: 10%;
    }

    .c-partst.c-parts--motif {
      top: -20%;
      width: 38%;
      right: -10%;
    }
  }
}

@media screen and (max-width: 640px) {
  .post .l-feature {
    .c-partst.c-parts--motif {
      top: -12%;
    }
  }
}

/* ===========================================
   Support Section
=========================================== */

.post .l-support {

  /* --- 親テーマリセット --- */
  h2,
  h3 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
    color: var(--color-font);

    &::before,
    &::after {
      content: none !important;
    }
  }

  p {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    color: var(--color-font);
  }

  figure {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }

  img {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  a {
    text-decoration: none;
    color: inherit;
  }

  /* ---------------------- */

  .c-support-section {
    background-color: var(--color-secondary-tint);
    padding: var(--px120) 0 var(--px200);
    color: var(--color-background);
  }

  .c-support-section__inner {
    max-width: var(--content-max-width);
    margin: 0 auto;
    width: 90%;
  }

  .c-support-section__top {
    position: relative;
    margin-bottom: var(--px100);
  }

  .c-support-section__title-area {
    width: fit-content;
    z-index: 1;
    position: relative;
    max-width: 60%;
    overflow: hidden;
  }

  .c-support-section__sub {
    font-size: var(--px20);
    font-family: var(--body-font-family);
    font-weight: 700;
    margin-bottom: var(--px40);
    letter-spacing: 0;
    text-align: left;
  }

  .c-support-section__title {
    position: relative;
    font-family: var(--font-family02);
    font-size: var(--px60);
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: var(--px20);
    letter-spacing: 0;
    text-align: left;
    padding-bottom: var(--px60);
  }

  .c-support-section__wave {
    width: 100%;
    height: var(--px60);
    color: var(--color-font);
    position: absolute;
    left: 0;
    bottom: 0;
  }

  .c-support-section__bottom {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 4%;
    z-index: 1;
    position: relative;
  }

  .c-support-section__bottom-figure {
    width: 25%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: var(--px100);
    margin-bottom: auto;

    img {
      width: 100%;
      height: 100%;
      max-width: none;
      max-height: none;
      object-fit: cover;
    }
  }

  .c-support-section__content {
    width: 40%;
    margin-left: 2%;
    margin-top: 2%;
  }

  .c-support-section__text {
    line-height: 2;
    font-size: var(--px20);
    font-weight: 600;
  }

  .c-support-section__highlight {
    font-weight: 700;
    color: var(--color-primary);
  }

  .c-support-section__action {
    display: flex;
    justify-content: center;
    margin-top: auto;
  }

  .c-support-section__btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: clamp(140px, 15vw, 260px);
    height: clamp(140px, 15vw, 260px);
    background-color: var(--color-primary);
    color: #fff;
    border-radius: 50%;
    text-align: center;
    transition: all 0.3s;
    border: solid #fff 3px;

    &:hover {
      opacity: 1;
      transform: scale(1.05);
      background: var(--color-background);
      color: var(--color-primary);
      border-color: var(--color-primary);

      .c-support-section__btn-text {
        &::after {
          color: var(--color-primary);
        }
      }

      img {
        opacity: 1;
      }
    }
  }

  .c-support-section__btn-text {
    font-weight: 800;
    line-height: 1.6;
    font-family: var(--body-font-size);
    font-size: var(--px20);
    display: block;
    position: relative;

    &::after {
      content: '\f0a9';
      font-size: var(--px30);
      font-weight: 400;
      font-family: 'FontAwesome';
      color: #fff;
      text-align: center;
      transition: all 0.3s;
      margin-top: var(--px16);
      display: block;
      line-height: 1;
    }
  }
}

/* --- 個別装飾 --- */

.post .l-support {
	position: relative;
    z-index: 5;
    background-color: var(--color-secondary-tint);

  .c-support-section {
    position: relative;
  }

  .c-partst.c-parts--sidetop {
    position: absolute;
    top: 5%;
    right: 0;
    width: 39%;
    padding-left: 8%;

    &:before {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/sec04_parts01_m.png.webp) no-repeat center center;
      background-size: contain;
      position: absolute;
      top: 0;
      left: 0;
      width: 18%;
      height: 28%;
      z-index: 4;
      animation: fx-float 3s ease-in-out infinite;
    }
  }

  /* --- btn --- */

  .c-support-section__btn {
    position: relative;

    &:before {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/sec04_parts03_m.png.webp) no-repeat center center;
      background-size: contain;
      position: absolute;
      bottom: -35%;
      left: -2%;
      width: 70%;
      height: 56%;
      z-index: 4;
      animation: fx-float 3s ease-in-out infinite;
    }

    &:after {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/sec04_parts05_m.png.webp) no-repeat center center;
      background-size: contain;
      position: absolute;
      bottom: -36%;
      right: 16%;
      width: 22%;
      height: 28%;
      z-index: 4;
      animation: fx-scale 2s ease-in-out infinite;
    }

    .c-partst.c-parts--sidebtn {
      position: absolute;
      width: 45%;
      right: -11%;
      bottom: -15%;
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 960px) {
  .post .l-support {
    .c-support-section {
      padding: 0 0 var(--px120);
    }

    .c-support-section__top {
      flex-direction: column;
      align-items: flex-start;
      margin-bottom: var(--px40);
    }

    .c-support-section__title-area {
      max-width: none;
      width: fit-content;
      padding-right: 0;
      margin-bottom: var(--px30);
    }

    .c-support-section__title {
      font-size: var(--px40w);
      width: fit-content;
    }

    .c-support-section__text {
      font-size: var(--px24);
    }

    .c-support-section__bottom {
      flex-direction: column;
      align-items: center;
      gap: var(--px40);
    }

    .c-support-section__bottom-figure {
      width: 80%;
    }

    .c-support-section__content {
      width: 100%;
      margin: 0;
    }

    .c-support-section__action {
      width: 100%;
    }

    .c-support-section__btn {
      width: 160px;
      height: 160px;
      padding: var(--px30);
    }

    .c-support-section__btn-text {
      font-size: var(--px16);
    }
  }
}

@media screen and (max-width: 640px) {
  .post .l-support {
    .c-support-section__title {
      font-size: var(--px30w);
    }

    .c-support-section__text {
      font-size: var(--px16);
      line-height: 1.8;
    }
  }
}

/* --- 個別装飾 --- */

@media screen and (max-width: 960px) {

  .post .l-support {
    .c-support-section__inner {
      max-width: var(--content-max-width);
      margin: 0 auto;
      width: 90%;
      padding-top: calc(var(--px240) * 2 + 0%);
    }

    .c-partst.c-parts--sidetop {
      height: calc(var(--px240) * 2);
      width: calc(var(--px240) * 2.8);
      top: 0;

    }

    .c-support-section__wave {
      width: fit-content;
    }
  }
}

/* ===========================================
   Post Block Section (for WP Posts) news
=========================================== */

.post {
  .l-frontnews {
    margin-top: calc(0% - var(--px160));
  }

  .c-post-newsblock {
    position: relative;
    width: 60%;
    max-width: 720px;
    background: #fff;
    border-radius: 0 50vh 50vh 0;
    padding: var(--px50) var(--px80) var(--px50) var(--px40);
    z-index: 20;

    .listTitle {
      position: absolute;
      top: calc(0% - var(--px18));
      left: calc(0% ＋ var(--px18));
      margin: 0;

      .title.first.top-loop {
        display: inline-block;
        margin: 0;
        line-height: 1;

        span {
          background: var(--color-primary);
          color: #fff;
          padding: 10px var(--px20) 8px;
          border-radius: 50vh;
          font-size: var(--px18);
          line-height: 1.4;
          display: block;
        }
      }
    }

    .postlist {

      li,
      li:first-child {
        border: none;
      }

      .post_text {
        padding: 0;
      }

      .time {
        display: none;
      }

      .ttls a {
        padding: 6px;
        display: block;
        font-size: var(--rem16);
        font-weight: 600;
        transition: 0.3s all;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;

        &:hover {
          text-decoration: none;
          opacity: 1;
          color: var(--color-primary);
        }
      }

      .date {
        padding: 0;
        font-size: var(--rem16);
        flex-shrink: 0;
        line-height: 1.2;
      }
    }

  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {

    .l-frontnews {
      margin-top: 0;
    }

    .c-post-newsblock {
      width: 75%;
    }

    .postlist {
      .post_text {
        padding: 0;
        flex-direction: column;
        align-items: flex-start;
      }

      line-height: 1.2;

      .ttls {
        padding-left: 0 !important;
        margin-top: 0 !important;

        a {
          padding-left: 0;
          padding-bottom: 8px;
          padding-top: 3px;
        }
      }
    }
  }
}

@media screen and (max-width: 640px) {
  .post {
    .c-post-newsblock {
      .postlist {
        .date {
          font-size: var(--rem12);
        }

        .ttls a {
          padding: 4px;
          font-size: var(--rem14);
        }
      }
    }
  }
}

/* ===========================================
   Post Block Section (for WP Posts)
=========================================== */

.post .l-post {

  /* --- 親テーマリセット --- */
  h2,
  h3 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;

    &::before,
    &::after {
      content: none !important;
    }
  }

  span {
    margin: 0;
    padding: 0;
  }

  /* ---------------------- */

  .c-post-block {
    background-color: var(--color-background);
    padding: 0;
    overflow: inherit;
  }

  .c-post-block__item {
    position: relative;
  }

  .c-post-block__item--01,
  .c-post-block__item--02 {
    padding-top: var(--px120);
    padding-bottom: var(--px60w);
  }

  .c-post-block__item--02 {
    padding-bottom: 0;
  }

  .c-post-block__bg-primary {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 55%;
    background-color: var(--color-secondary-tint);
    z-index: 1;
  }

  .c-post-block__bg-shape--01 {
    position: absolute;
    top: 0;
    right: 0;
    width: 44%;
    height: 70%;
    background-color: var(--color-background);
    border-radius: var(--px160) 0 0 0;
    z-index: 2;
  }

  .c-post-block__header--01 {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 35%;
    margin-left: auto;
    margin-bottom: var(--px80);

    .c-post-block__label,
    .c-post-block__title {
      color: var(--color-primary);
      letter-spacing: 0;
      font-weight: 700;
      text-align: left;
    }

    .c-post-block__label {
      line-height: 1.4;
      margin-bottom: var(--px16);
      font-family: var(--font-family01);
      font-size: var(--px20);
    }

    .c-post-block__title {
      line-height: 1.6;
      font-family: var(--font-family02);
      font-size: var(--px40);

    }
  }

  .c-post-block__bg-shape--02 {
    position: absolute;
    top: 0;
    left: 0;
    width: 44%;
    height: 50%;
    background-color: var(--color-secondary-tint);
    border-radius: 0 var(--px200) 0 0;
    z-index: 1;
  }

  .c-post-block__header--02 {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 35%;
    margin-right: auto;
    margin-bottom: var(--px80);
    padding-left: 2%;

    .c-post-block__label,
    .c-post-block__title {
      color: var(--color-font);
      letter-spacing: 0;
      font-weight: 700;
    }

    .c-post-block__label {
      line-height: 1.4;
      margin-bottom: var(--px16);
      font-family: var(--font-family01);
      font-size: var(--px20);
    }

    .c-post-block__title {
      line-height: 1.6;
      font-family: var(--font-family02);
      font-size: var(--px40);

    }
  }

  .c-post-block__inner {
    position: relative;
    z-index: 3;
    max-width: var(--content-max-width);
    margin: 0 auto;
    width: 85%;
  }

  .c-post-block__label {
    font-family: var(--font-family02);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: 8px;
    text-transform: uppercase;
  }

  .c-post-block__title {
    font-size: var(--px24);
    font-weight: 700;
    letter-spacing: 0.05em;
  }

  .c-post-block__content-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    background-color: transparent;
    z-index: 1;

    .sc_geneleted_list {
      width: 100%;
    }
  }

  .c-post-block__item--01 {
    .post4b li:nth-child(odd) {
      margin-top: var(--px80);
    }
  }

  .c-post-block__item--02 {
    .post4b li:nth-child(even) {
      margin-top: var(--px80);
    }
  }
}

/* --- 共通装飾 --- */

.post .l-post {
  position: relative;

  .c-post-block__bg-primary {

    &:before {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp) repeat-x center top;
      background-size: contain;
      position: absolute;
      bottom: -1px;
      ;
      left: 0;
      width: 100%;
      height: var(--separat-height);
      z-index: 3;
    }
  }
}

/* --- 個別装飾 --- */

.post .l-post {

  .c-post-block__bg-primary {

    &:after {
      content: "";
      background: url(/kokoro-shinbashi/wp-content/uploads/sec05_parts07_m.png.webp) no-repeat bottom left;
      background-size: contain;
      position: absolute;
      bottom: 5px;
      left: 5%;
      width: 46%;
      height: 98%;
      z-index: 0;
    }
  }

  .c-post-block__item--01 {
    .c-post-block__content-box {
      position: relative;

      &:before {
        content: "";
        background: url(/kokoro-shinbashi/wp-content/uploads/sec05_parts01_m.png.webp) no-repeat bottom left;
        background-size: contain;
        position: absolute;
        bottom: 3%;
        left: 18%;
        width: 17%;
        height: 28%;
        z-index: 0;
        animation: fx-scale 4s ease-in-out infinite;
      }
    }
  }

  .c-post-block__item--02 {
    position: relative;

    .c-partst.c-parts--sidemotif {
      position: absolute;
      top: -6%;
      right: 8%;
      padding-left: 11%;
      padding-bottom: 5%;
      width: 20%;

      &:after {
        content: "";
        background: url(/kokoro-shinbashi/wp-content/uploads/sec05_parts03.png.webp) no-repeat bottom right;
        background-size: contain;
        position: absolute;
        top: 38%;
        left: 0;
        width: 33%;
        height: 40%;
        z-index: 0;
        animation: fx-scale 2s ease-in-out infinite;
      }
    }

    .c-post-block__inner {
      position: relative;

      .c-partst.c-parts--sideshape {
        position: absolute;
        top: -4%;
        left: 45%;
        z-index: -4;
        width: 20%;
        padding-left: 4%;
        padding-bottom: 4%;

        &:before {
          content: "";
          background: url(/kokoro-shinbashi/wp-content/uploads/sec05_parts05_m.png.webp) no-repeat top right;
          background-size: contain;
          position: absolute;
          bottom: 0;
          left: 0;
          width: 37%;
          height: 66%;
          z-index: 0;
          animation: fx-float 3s ease-in-out infinite;
        }
      }
    }

    .c-post-block__content-box {
      position: relative;

      &:before {
        content: "";
        background: url(/kokoro-shinbashi/wp-content/uploads/sec05_parts06.png.webp) no-repeat top right;
        background-size: contain;
        position: absolute;
        top: -13%;
        right: -5%;
        width: 25%;
        height: 40%;
        z-index: 0;
      }
    }
  }
}


/* -------------------------------------------
   SP用スタイル
------------------------------------------- */
@media screen and (max-width: 1400px) {
  .post .l-post {
    .c-post-block__item--01 {
      .c-post-block__content-box {
        &:before {
          left: 8%;
        }
      }
    }
  }
}

@media screen and (max-width: 1280px) {
  .post .l-post {
    .c-post-block__bg-shape--01 {
      width: 50%;
    }

    .c-post-block__inner {
      width: 90%;
    }

    .c-post-block__header--01 {
      width: 41%;
    }
  }
}

@media screen and (max-width: 800px) {
  .post .l-post {

    .c-post-block__item--01,
    .c-post-block__item--02 {
      padding-top: var(--px80);
      padding-bottom: var(--px60w);
    }

    .c-post-block__bg-shape--01,
    .c-post-block__bg-shape--02 {
      width: 85%;
    }

    .c-post-block__header--01 {
      width: 80%;
      margin-left: auto;
    }

    .c-post-block__header--02 {
      width: 70%;
      margin-right: auto;
      padding-left: 0;
    }

    .c-post-block__title {
      font-size: var(--px18);
    }

    .c-post-block__content-box {
      aspect-ratio: auto;
      min-height: 150px;
    }

    .c-post-block__item--01,
    .c-post-block__item--02 {

      .post4b li:nth-child(odd),
      .post4b li:nth-child(even) {
        margin-top: 0;
      }
    }
  }
}

/* --- 個別装飾 --- */

@media screen and (max-width: 800px) {
  .post .l-post {
    .c-post-block__bg-primary {
      &:after {
        content: none;
      }
    }

    .c-post-block__item--01 {
      .c-post-block__content-box {
        &:before {
          content: none;
        }
      }
    }

    .c-post-block__item--02 {
      .c-post-block__inner {
        .c-partst.c-parts--sideshape {
          top: -7%;
          left: 57%;
          width: 25%;
        }
      }

      .c-post-block__content-box {
        &:before {
          width: 42%;
        }
      }
    }
  }
}

@media screen and (max-width: 640px) {
  .post .l-post {
    .c-post-block__item--02 {
      .c-post-block__inner {
        .c-partst.c-parts--sideshape {
          top: -3%;
          left: 70%;
        }
      }
    }
  }
}


/* =============================================================================================
     post 投稿 共通内部
============================================================================================= */

.post,
#cat-post {

  .post2b,
  .post4b {
    margin-bottom: var(--px60);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: var(--px30);

    .filllink {
      background: #fff;
      border-radius: var(--px30);
      overflow: hidden;
      display: block;
    }

    .clearfix {
      padding: 0;
    }

    .clearfix .post4b_contents,
    .clearfix .post4b_contents {
      display: none;
    }

    .post2b_img,
    .post4b_img {
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0;
      float: none;
      aspect-ratio: 1.1414 / 0;
    }

    img {
      max-height: none;
      object-fit: cover;
      width: 100%;
      height: 100%;
      max-width: none;
    }

    .post2b_text70,
    .post4b_text70 {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: var(--px20) var(--px20) var(--px30);
      width: 100%;
    }

    h2.cat-loop {
      margin: 1rem 0 0 0 !important;
      text-align: left;
      font-size: var(--px18);
    }

    .time {
      order: -1;
      padding: 0;
      background: transparent;
      color: var(--color-font);
      font-size: var(--rem16);
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media only screen and (max-width: 799px) {

  .post,
  #cat-post {

    .post2b,
    .post4b {
      flex-direction: column;

      .post2b_text70,
      .post4b_text70 {
        padding: var(--px30) var(--px30) var(--px40);
      }

      .post2b_img,
      .post4b_img {
        width: 100%;
        margin: 0;
        padding: 0;
        float: none;
      }

      h2,
      h2 a {
        font-size: var(--rem24);
      }
    }
  }
}

/* =============================================================================================
         下層 subpage
============================================================================================= */

/* ===========================================
   アウトライン
=========================================== */

#content,
body:not(.home) #content.wide {
  padding: var(--px100w) 0 var(--px100w);
  margin: 0 auto;
}

.page_contents_inner+.page_contents_inner {
  margin-top: var(--px100);
}

.page_contents img {
  border-radius: var(--px40);
}

.l-container {
  position: relative;
  background: #fff;
  padding: var(--px100) 0;
  margin-right: calc(((100vw - 100%) / 2) * -1);
  margin-left: calc(((100vw - 100%) / 2) * -1);

  &:before,
  &:after {
    content: "";
    background: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp) repeat-x center bottom;
    background-size: contain;
    position: absolute;
    left: 0;
    width: 100%;
    height: var(--separat-height);
    z-index: 1;
  }

  &:before {
    top: -1px;
    transform: rotate(180deg);
  }

  &:after {
    bottom: -1px;
  }
}

.l-wide-container {
  margin-right: calc(((100vw - 100%) / 2) * -1);
  margin-left: calc(((100vw - 100%) / 2) * -1);
}

/* -------------------------------------------
   catch
------------------------------------------- */

#thumbImg,
header#h1Header {
  position: relative;
  overflow: hidden;
  z-index: -1;
  height: 440px;
  background: var(--color-secondary-tint);
}

#thumbImg::before,
header#h1Header::before {
  content: '';
  background: url(/kokoro-shinbashi/wp-content/uploads/separat_02.png.webp) repeat-x center bottom;
  background-size: contain;
  position: absolute;
  top: inherit;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: calc(var(--separat-height) / 1.2);
  z-index: 1;
  opacity: 1;
}

#thumbImg::after,
header#h1Header:after {
  content: "";
  background: url(/kokoro-shinbashi/wp-content/uploads/subpage_catchparts.png.webp) no-repeat center bottom;
  background-size: contain;
  position: absolute;
  left: 10%;
  bottom: 0;
  width: 360px;
  height: 160px;
  z-index: 1;
}

h1.title,
.post h1,
header#h1Header h1.title {
  font-size: var(--px50);
  font-family: var(--font-family01);
  font-weight: 600;
  letter-spacing: .1rem;
  text-align: center;
  text-shadow: none;
  padding: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 6px;
  line-height: 1.2;
  color: var(--color-primary);

  .subttl {
    font-size: var(--px60);
    font-family: var(--font-family01);
    text-transform: uppercase;
    line-height: 1.2;
    opacity: 0.6;
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media only screen and (max-width: 768px) {

  h1.title,
  .post h1,
  header#h1Header h1.title {
    font-size: var(--px40);
  }
}

@media only screen and (max-width: 1023px) {

  #thumbImg,
  header#h1Header {
    height: calc(300px + (1vw - 10.24px) * 9.2450);
  }

  #thumbImg::after,
  header#h1Header:after {
    width: calc(10% + var(--px240));
    height: calc(10% + var(--px240));
  }
}


/* -------------------------------------------
   パンくず
------------------------------------------- */

#breadcrumb ul {
  width: 90%;
  padding: var(--px20) 0;
  max-width: 1400px;
}

/* -------------------------------------------
   アンカー
------------------------------------------- */

.anchor_link::before {
  content: '';
  display: block;
  padding-top: 200px;
  margin-top: -200px;
}

/* -------------------------------------------
   テキストパーツ
------------------------------------------- */

.read_txt {
  font-size: var(--px18);
  text-align: center;
  letter-spacing: 0;
  line-height: 3;
  margin: var(--px60) auto var(--px80);
}

.read_txt--border {
  font-size: var(--px18);
  text-align: center;
  letter-spacing: 0;
  line-height: 3;
  margin: var(--px80) auto var(--px40);
  padding: var(--px18) 0;
  border-top: solid 2px;
  border-bottom: solid 2px;
  font-weight: 600;
  text-align: center;
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media only screen and (max-width: 768px) {

  .read_txt,
  .read_txt--border {
    line-height: 2;
    text-align: left;
  }
}

/* -------------------------------------------
   デフォルト見出し
------------------------------------------- */

.post {

  h2 {

    --dot-size: 10px;
    --dot-space: 30px;
    --dot-color: var(--color-primary);
    position: relative;
    padding-bottom: 30px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    line-height: 1.4;
    font-size: var(--px60);
    font-family: var(--font-family02);
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    margin: 0 auto var(--px20);
    color: var(--color-primary);
    z-index: 1;

    &:before {
      content: none;
    }

    &::after {
      content: "";
      position: absolute;
      left: 0;
      left: calc(50% - var(--dot-space) * 1.5);
      transform: translateX(-50%);
      bottom: 0;
      width: var(--dot-size);
      height: var(--dot-size);
      background-color: var(--dot-color);
      border-radius: 50%;
      box-shadow: calc(var(--dot-space) * 1) 0 0 var(--dot-color), calc(var(--dot-space) * 2) 0 0 var(--dot-color), calc(var(--dot-space) * 3) 0 0 var(--dot-color);
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media only screen and (max-width: 768px) {
  .post {

    h2 {

      --dot-size: 5px;
      --dot-space: 15px;
      --dot-color: var(--color-primary);
      position: relative;
      padding-bottom: 20px;
    }
  }
}

/* -------------------------------------------
   customデザイン見出し
------------------------------------------- */

.post .c-design-ttl {
  max-width: 94%;
  margin: var(--px120) auto var(--px20);
  position: relative;

  &:before {
    content: "";
    background: url(/kokoro-shinbashi/wp-content/uploads/subpage_sideparts.png.webp) no-repeat center bottom;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 300px;
    height: 400px;
    z-index: -1;
	opacity: 0.3;
  }

  &.c-design-ttl--reverse {
    &:before {
      left: inherit;
      right: 0;
      transform: scale(-1, 1);
    }
  }

  .c-design-ttl__main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    line-height: 1.4;
    font-size: var(--px60);
    font-family: var(--font-family02);
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    padding: 0;
    margin: 0 auto var(--px20);
    color: var(--color-primary);
    z-index: 1;

    &:before,
    &:after {
      content: none;
    }
  }

  .c-design-ttl__sub {
    font-size: var(--px24);
  }

  .c-design-ttl__en {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: var(--px160);
    color: #fff;
    z-index: -1;
    top: 0;
    line-height: 0;
    white-space: nowrap;
  }
}

.post .page_contents_inner>.c-design-ttl {
  margin-top: 0;
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media only screen and (max-width: 1023px) {
  .post .c-design-ttl {
    &:before {
      width: calc(10% + var(--px240));
      height: calc(10% + var(--px240));
    }
  }
}

/* -------------------------------------------
   customデザイン見出し
------------------------------------------- */

.post .c-guide-common-ttl {
  max-width: 94%;
  margin: 0 auto;
  position: relative;

  .c-guide-common-ttl__main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    line-height: 1.4;
    font-size: var(--px40w);
    font-family: var(--font-family02);
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    padding: 0;
    margin: 0 auto var(--px60);
    color: var(--color-primary);
    z-index: 1;

    &:before,
    &:after {
      content: none;
    }
  }

  .c-guide-common-ttl__sub {
    font-size: var(--px18);
    margin-top: var(--px18);
  }

  &.c-guide-common-ttl--bk {
    .c-guide-common-ttl__main {
      color: var(--color-font);
    }
  }
}

/* ============================================================================
   Flow Block (Timeline & Steps)（えんのまいにち/はじめのいっぽ -入園案内-) 
=============================================================================== */
.post {
  .c-flow {
    padding: var(--px80) 0;

    /* --- 親テーマリセット --- */
    ul,
    li {
      list-style: none;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    h3 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      box-shadow: none;
      text-shadow: none;
      border-radius: 0;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      box-shadow: none !important;
    }

    /* ---------------------- */
    .c-flow__head {
      font-size: var(--px40);
      font-weight: 700;
      text-align: center;
      color: var(--color-primary);
      margin: 0 auto var(--px60);
      padding-bottom: 30px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      position: relative;
      line-height: 1.4;
      z-index: 1;
      letter-spacing: 0;
      font-family: var(--font-family02);

      &::after {
        content: "";
        position: absolute;
        left: 0;
        left: calc(50% - var(--dot-space) * 1.5);
        transform: translateX(-50%);
        bottom: 0;
        width: var(--dot-size);
        height: var(--dot-size);
        background-color: var(--dot-color);
        border-radius: 50%;
        box-shadow: calc(var(--dot-space) * 1) 0 0 var(--dot-color), calc(var(--dot-space) * 2) 0 0 var(--dot-color), calc(var(--dot-space) * 3) 0 0 var(--dot-color);
      }
    }

    .c-flow__inner {
      max-width: 1240px;
      margin: 0 auto;
      width: 90%;
    }

    .c-flow__list {
      position: relative;

      &::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 28px;
        width: 25px;
        background-color: var(--color-secondary-tint);
        z-index: 1;
      }
    }

    .c-flow__item {
      position: relative;
      z-index: 2;
      display: flex;
      margin-bottom: var(--px50);

      &:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;

        &::before {
          /* ---最後の横バー打消し--- */
          content: "" !important;
          position: absolute;
          bottom: 0;
          height: 100%;
          left: 28px;
          width: 25px;
          background-color: #fff;
          z-index: -1;
        }
      }
    }

    .c-flow__badge {
      flex-shrink: 0;
      width: 80px;
      height: 80px;
      border-radius: 50%;
      background-color: var(--color-primary);
      color: var(--color-background);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      margin-right: var(--px40);
    }

    .c-flow__badge-sub {
      font-family: var(--font-family02);
      font-size: 12px;
      font-weight: 700;
      line-height: 1;
      margin-bottom: 4px;
    }

    .c-flow__badge-main {
      font-family: var(--font-family02);
      font-size: var(--px24);
      font-weight: 700;
      line-height: 1;
    }

    .c-flow__body {
      display: flex;
      flex-grow: 1;
      gap: var(--px40);
      border-bottom: dotted 6px var(--color-table-border);
      padding-bottom: var(--px40);
    }

    .c-flow__content {
      flex-grow: 1;
    }

    .c-flow__title {
      font-size: var(--px30w);
      font-weight: 700;
      color: var(--color-primary);
    }

    .c-flow__text {
      line-height: 1.8;
      color: var(--color-font);
    }
  }

  /* --- 申し込みの流れ (Step) --- */

  .c-flow--step {

    .c-flow__sub {
      font-weight: 700;
      margin-bottom: 16px;
      line-height: 1.6;
    }

    .c-flow__box {
      border: 1px solid var(--color-table-border);
      border-radius: 8px;
      padding: var(--px30w);
      background-color: var(--color-background);
      background: #fff;
    }

    .c-flow__figure {
      flex-shrink: 0;
      width: 240px;
      height: 240px;
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      background-color: var(--color-secondary-tint);
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        aspect-ratio: 1 / 1;
      }
    }
  }

  /* --- 一日の流れ (Schedule) --- */

  .c-flow--schedule {

    .c-flow__text {
      margin-top: var(--px16);
    }

    .c-flow__figure {
      flex-shrink: 0;
      width: 320px;
      aspect-ratio: 4 / 3;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    .c-flow__images-row {
      display: flex;
      gap: var(--px24);
      margin-top: var(--px30w, 32px);
    }

    .c-flow__images-row .c-flow__figure {
      width: calc(50% - 12px);
      flex-shrink: 1;
      margin: 0;
    }

    /* ハイライトブロック（ありがとうの時間） */
    .c-flow__item--highlight {
      padding-left: 120px;
      border-bottom: none;
    }

    .c-flow__highlight-box {
      background-color: var(--color-common-bg);
      border-radius: 16px;
      padding: var(--px40);
      width: 100%;
    }

    .c-flow__highlight-title {
      text-align: center;
      font-size: var(--px30w);
      font-weight: 700;
      color: var(--color-common-text);
      margin-bottom: var(--px30);
    }

    .c-flow__highlight-images {
      display: flex;
      justify-content: center;
      gap: 20px;
      margin-bottom: var(--px24);

      figure {
        width: 40%;
        aspect-ratio: 4 / 3;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }
    }

    .c-flow__highlight-text {
      text-align: center;
      line-height: 2;
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */
@media screen and (max-width: 768px) {
  .post {
    .c-flow {
      padding: var(--px60w) 0;

      .c-flow__list::before {
        display: none;
        /* SPでは縦線を消す */
      }

      .c-flow__head {
        padding-bottom: 20px;
      }

      .c-flow__body {
        flex-direction: column;
        gap: var(--px24);
        width: 100%;
      }

      .c-flow__figure {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        border-radius: 16px;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      .c-flow__item {
        flex-direction: column;
        align-items: center;
      }

      .c-flow__badge-sub {
        margin-bottom: 0;
      }

      .c-flow__badge {
        margin-right: 0;
        margin-bottom: var(--px60);
        width: 100%;
        max-width: 540px;
        height: auto;
        padding: var(--px24);
        border-radius: 50vh;
        position: relative;
        z-index: 2;
        flex-direction: row;
        align-items: center;
        gap: 1rem;
      }

      /* SP特有の下向き吹き出し型 */
      .c-flow__badge::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid var(--color-primary);
        z-index: 1;
      }

      .c-flow__badge-main {
        position: relative;
        z-index: 3;
      }

      .c-flow__title {
        text-align: center;
      }

      .c-flow__figure {
        width: 100%;
      }

      .c-flow__images-row {
        gap: 12px;
        margin-top: 24px;
        flex-direction: row;
      }

      .c-flow__images-row .c-flow__figure {
        width: calc(50% - 6px);
        aspect-ratio: 4 / 3;
      }

      /* ハイライトブロック（ありがとうの時間）のSP調整 */
      .c-flow__item--highlight {
        padding-left: 0;
        /* 左余白リセット */
      }

      .c-flow__highlight-box {
        padding: var(--px30w) var(--px20);
      }

      .c-flow__highlight-images {
        flex-direction: column;

        figure {
          width: 100%;
        }
      }

      .c-flow__highlight-text {
        text-align: left;
        line-height: 1.8;
      }

      /* --- 申し込みの流れ (Step) --- */

      &.c-flow--step {
        .c-flow__figure {
          order: -1;
          width: 240px;
          height: 240px;
          margin: 0 auto;
          border-radius: 50%;
        }

        .c-flow__sub {
          width: fit-content;
          margin: 8px auto var(--px24);
        }
      }
    }
  }
}

/* ===========================================
   Tab Menu Block（えんのまいにち)
=========================================== */

.post {

  /* === タブメニューの枠組み === */
  .tab_menuwrap {
    margin: var(--px80) auto 0;
    max-width: var(--content-max-width, 1000px);
    width: 90%;
  }

  .tabmenulist {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 0;
  }

  /* === タブ（非アクティブ状態：グレー背景） === */
  .tabmenus {
    /* 画像に合わせたグレー設定 */
    background-color: var(--color-primary);
    color: #fff;
    border: 2px solid var(--color-primary);
    border-bottom: none;
    /* 下の枠線はコンテンツボックスに任せる */
    border-radius: 8px 8px 0 0;
    /* 上の左右だけ角丸 */
    padding: 16px 24px;
    width: 50%;
    max-width: none;
    /* 横幅を均等にいっぱいまで使う */

    font-weight: 700;
    font-size: var(--px20);
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;

    /* 重なり順の制御 */
    position: relative;
    z-index: 1;
  }

  /* === タブ（アクティブ状態：白背景＋枠線） === */
  .tabmenus.active {
    background-color: #fff;
    color: var(--color-font, #333);
    border: 2px solid #ccc;

    border-bottom: 2px solid #fff;
    transform: translateY(2px);
    /* コンテンツボックスの上の枠線に被せる */

    z-index: 3;
  }

  /* 非アクティブなタブにホバーした時の少し暗くなる効果 */
  .tabmenus:not(.active):hover {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
  }

  /* === コンテンツエリア === */
  .tab_contentswrap {
    max-width: var(--content-max-width, 1000px);
    margin: 0 auto var(--px80);
    width: 90%;
    position: relative;
    z-index: 2;
    /* アクティブなタブより下、非アクティブなタブより上に配置 */
  }

  /* 初期状態ではすべて非表示にする */
  .tab_contentsbox {
    display: none;
    opacity: 0;
    background-color: #fff;

    /* コンテンツ全体を囲う枠線をここに追加 */
    border: 2px solid #ccc;
    border-radius: 0 0 8px 8px;
    /* 下だけ角丸 */

    animation: fadeIn 0.4s ease forwards;
  }

  /* activeクラスがついたコンテンツだけを表示する */
  .tab_contentsbox.active {
    display: block;
  }

  /* 表示時のふわっとアニメーション */
  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* -------------------------------------------
     SP用スタイル
  ------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .tab_menuwrap {
      margin: var(--px60w) auto 0;
    }

    .tabmenulist {
      flex-direction: row;
      align-items: flex-end;
      /* 下揃え */
      gap: 0;
    }

    .tabmenus {
      width: 50%;
      /* 2等分 */
      padding: 12px 4px;
      font-size: 14px;
      /* スマホ用に文字を少し小さく */
    }
  }
}

/* -------------------------------------------
   エディタースタイル
------------------------------------------- */
#editor-style .tab_contentsbox {
  display: block;
  opacity: 1;
}

/* ===========================================
   Event Block (Gallery)（えんのいちねん）
=========================================== */

.post {
  .c-event-block {
    padding: var(--px80) 0;
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);

    /* --- 親テーマリセット --- */
    h3 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      box-shadow: none;
      text-shadow: none;
      border-radius: 0;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    /* ---------------------- */

    .c-event-block__inner {
      width: 100%;
      margin: 0 auto;
    }

    .c-event-block__top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--px40);
    }

    .c-event-block__text-area {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      width: 31%;
      margin-left: auto;
      margin-right: 4%;
    }

    .c-event-block__sub {
      display: block;
      font-family: var(--font-family02);
      font-size: var(--px18);
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: var(--px12);
    }

    .c-event-block__title {
      font-size: var(--px60);
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: var(--px24);
      line-height: 1.4;
    }

    .c-event-block__desc {
      color: var(--color-font);
      text-align: left;
      font-size: var(--px20);
      line-height: 1.8;
    }

    .c-event-block__main-visual {
      width: 58%;
      position: relative;
    }

    .c-event-block__figure {
      width: 100%;
      aspect-ratio: 16 / 10;
      border-radius: var(--px20);
      overflow: hidden;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    /* 画像に被さる白背景のラベル */
    .c-event-block__label {
      position: absolute;
      bottom: -1px;
      right: 0;
      background-color: #fff;
      color: var(--color-primary);
      font-size: var(--px30w);
      font-weight: 700;
      padding: var(--px30) var(--px20);
      border-radius: var(--px20) 0 0 0;
    }

    /* --- サブ画像群（ギャラリー風） --- */
    .c-event-block__bottom {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 1.5%;
    }

    .c-event-block__sub-visual {
      width: calc(100% / 3);
      border-radius: var(--px16);
      overflow: hidden;
      aspect-ratio: 4 / 3;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      /* ギャラリーのジグザグ感をmargin-topで表現 */
      &:nth-child(1) {
        margin-top: 0;
      }

      &:nth-child(2) {
        margin-top: 5%;
      }

      &:nth-child(3) {
        margin-top: 10%;
      }
    }
  }

  /* ===========================================
     モディファイア: 反転パターン (c-event-block--reverse)
  =========================================== */
  .c-event-block--reverse {

    /* 画像とテキストを左右反転 */
    .c-event-block__top {
      flex-direction: row-reverse;
    }

    /* ラベルの位置を右下から左下に変更し、角丸も合わせる */
    .c-event-block__label {
      right: auto;
      left: 0;
      border-radius: 0 var(--px20) 0 0;
    }

    .c-event-block__text-area {
      margin-left: 4%;
      margin-right: auto;
    }

    /* サブ画像のジグザグ具合も反転させて変化をつける */
    .c-event-block__sub-visual {
      aspect-ratio: 4 / 3;

      &:nth-child(1) {
        margin-top: 10%;
      }

      &:nth-child(2) {
        margin-top: 5%;
      }

      &:nth-child(3) {
        margin-top: 0;
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-event-block {

      .c-event-block__top {
        flex-direction: column-reverse;
        /* SP時は画像が上、テキストが下 */
        gap: var(--px60);
      }

      .c-event-block__text-area {
        width: 90%;
        max-width: none;
        text-align: left;
        margin-left: auto;
        margin-right: auto;
      }

      .c-event-block__desc {
        font-size: var(--px16);
      }

      .c-event-block__main-visual {
        width: 100%;
      }

      .c-event-block__bottom {
        flex-direction: column;
        gap: var(--px20);
        margin-top: var(--px30);
      }

      .c-event-block__sub-visual {
        width: 100%;

        /* SP時はジグザグのマージンをリセット */
        &:nth-child(1),
        &:nth-child(2),
        &:nth-child(3) {
          margin-top: 0;
          aspect-ratio: 16 / 9;
        }
      }
    }

    /* SP時の反転パターン（SPでも画像が上になるよう統一） */
    .c-event-block--reverse {
      .c-event-block__top {
        flex-direction: column-reverse;
      }

    }
  }
}

/* ===========================================
   Event List Section (Alternating Layout)
=========================================== */
.post {
  .c-event-list-section {
    padding: var(--px100w) 0;

    /* --- 親テーマリセット --- */
    ul,
    li {
      list-style: none;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    h3 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      box-shadow: none;
      text-shadow: none;
      border-radius: 0;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    /* ---------------------- */

    .c-event-list-section__inner {
      max-width: var(--content-max-width);
      margin: 0 auto;
      width: 90%;
    }

    .c-event-list__item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--px100w);
      gap: 5%;

      &:last-child {
        margin-bottom: 0;
      }

      /* 偶数番目のアイテムは左右反転 */
      &:nth-child(even) {
        flex-direction: row-reverse;

        .c-event-list__label {
          left: auto;
          right: 0;
          border-radius: var(--px20) 0 var(--px20) 0;
        }
      }
    }

    .c-event-list__figure-area {
      width: 48%;
      position: relative;
    }

    .c-event-list__figure {
      width: 100%;
      aspect-ratio: 16 / 10;
      border-radius: var(--px20);
      overflow: hidden;

      img {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: cover;
      }
    }

    .c-event-list__label {
      position: absolute;
      bottom: -1px;
      left: 0;
      background: #fff;
      color: var(--color-primary);
      font-size: var(--px18);
      font-weight: 700;
      padding: var(--px12) var(--px18);
      border-radius: 0 var(--px20) 0 var(--px20);
    }

    .c-event-list__text-area {
      width: fit-content;
      text-align: center;
      margin-left: auto;
      margin-right: auto;
    }

    .c-event-list__sub {
      font-family: var(--font-family02);
      font-size: var(--px20);
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: var(--px16);
      line-height: 1.4;
      display: block;
    }

    .c-event-list__title {
      font-size: var(--px50);
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: var(--px30);
      line-height: 1.4;
    }

    .c-event-list__desc {
      color: var(--color-font);
      text-align: left;
      line-height: 1.8;
      width: 100%;
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-event-list-section {
      padding: var(--px60w) 0;

      .c-event-list__item {
        flex-direction: column;
        margin-bottom: var(--px60);

        /* SP時は偶数番目も奇数番目と同じレイアウト（画像上、テキスト下）に統一 */
        &:nth-child(even) {
          flex-direction: column;

          .c-event-list__label {
            left: 0;
            right: auto;
            border-radius: 0 var(--px20) 0 var(--px20);
          }
        }
      }

      .c-event-list__figure-area {
        width: 100%;
        margin-bottom: var(--px30);
      }

      .c-event-list__text-area {
        width: 100%;
        text-align: left;
      }

      .c-event-list__title {
        font-size: var(--px30w);
        margin-bottom: var(--px16);
      }
    }
  }
}

/* ===========================================
   Season Events Block（えんのいちねん）
=========================================== */

.post {
  .c-season-events {

    padding: var(--px100w) 0;

    /* --- 親テーマリセット --- */
    h2,
    h3 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    ul,
    li {
      list-style: none;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    /* ---------------------- */

    .c-season-events__inner {
      margin: 0 auto;
      width: 100%;
    }

    .c-season-events__header {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: var(--px60w);
      gap: 30px;
    }

    .c-season-events__char {
      width: calc(5% + var(--px240));
      flex-shrink: 0;

      img {
        width: 100%;
        height: auto;
        object-fit: contain;
      }
    }

    .c-season-events__catch {
      font-size: var(--px30w);
      font-weight: 700;
      line-height: 1.6;
      color: var(--color-font);
      text-align: left;
    }

    .c-season-events__cards {
      display: flex;
      justify-content: space-between;
      gap: 3%;
    }

    .c-season-events__card {
      width: 31.33%;
      background-color: #fff;
      padding: var(--px50);
      text-align: center;
    }

    .c-season-events__term {
      font-family: var(--font-family01);
      font-size: var(--px24);
      font-weight: 700;
      color: var(--color-font);
      margin-bottom: var(--px12);
      line-height: 1.4;
    }

    .c-season-events__month-wrap {
      margin-bottom: var(--px20);
    }

    .c-season-events__month {
      display: inline-block;
      background-color: var(--color-primary);
      color: var(--color-background);
      font-family: var(--body-font-family);
      font-size: var(--px14);
      font-weight: 700;
      padding: 6px 24px;
      border-radius: var(--px50);
    }

    .c-season-events__divider {
      align-items: center;
      font-weight: 500;
      color: var(--color-font);
      margin-bottom: var(--px30);
      border-top: solid 1px;
      border-bottom: solid 1px;
      padding: var(--px12);
    }

    /* 2列のグリッドレイアウト */
    .c-season-events__list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 8px;
      row-gap: 12px;
      text-align: left;
    }

    .c-season-events__item {
      font-weight: 700;
      color: var(--color-font);
      line-height: 1.4;
      display: flex;
      align-items: flex-start;

      /* 「●」の表現 */
      &::before {
        content: "●" !important;
        display: inline-block;
        margin-right: 4px;
        transform: translateY(1px);
        /* 少しだけ位置を調整 */
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 1100px) {
  .post {
    .c-season-events {

      .c-season-events__cards {
        flex-direction: column;
        gap: var(--px30);
        max-width: 540px;
        margin: 0 auto;
        width: 100%;
      }

      .c-season-events__card {
        width: 100%;
        padding: var(--px40);
      }

      .c-season-events__term {
        font-size: var(--px30w);
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .post {
    .c-season-events {
      padding: var(--px60w) 0;

      .c-season-events__header {
        flex-direction: column;
        text-align: center;
        gap: var(--px12);
        margin-bottom: var(--px40);
      }

      .c-season-events__catch {
        font-size: var(--px30);
        text-align: center;
      }
    }
  }
}

/* ===========================================
   Intro Section（はじめのいっぽ -入園案内-）
=========================================== */

.post {
  .c-intro-section {

    /* --- 親テーマリセット --- */
    h2 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    ul,
    li {
      list-style: none;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    a {
      text-decoration: none;
    }

    /* ---------------------- */

    .c-intro-section__inner {
      max-width: 1240px;
      margin: 0 auto;
      width: 90%;
    }

    .c-intro-section__top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--px80);
      gap: 5%;
    }

    .c-intro-section__text-area {
      width: 55%;
    }

    .c-intro-section__sub {
      font-size: var(--px14);
      color: var(--color-font);
      margin-bottom: var(--px30);
    }

    .c-intro-section__title {
      font-family: var(--font-family01);
      font-size: var(--px30w);
      font-weight: 700;
      color: var(--color-font);
      line-height: 1.6;
      margin-bottom: var(--px50);
      text-align: left;
    }

    .c-intro-section__highlight {
      color: var(--color-primary);
    }

    .c-intro-section__btn-area {
      display: flex;
      gap: var(--px16);
      flex-wrap: wrap;
    }

    .c-intro-section__figure {
      width: 38%;
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      overflow: hidden;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-intro-section {

      .c-intro-section__top {
        flex-direction: column-reverse;
        gap: var(--px40);
        margin-bottom: var(--px50);
      }

      .c-intro-section__text-area {
        width: 100%;
      }

      .c-intro-section__btn-area {
        flex-wrap: wrap;
      }

      .c-intro-section__figure {
        width: 80%;
      }

      .c-intro-section__title {
        font-size: var(--px30w);
        text-align: center;
      }
    }
  }
}

/* ========================================================
   アンカーナビゲーション（はじめのいっぽ -入園案内-）
======================================================== */

.post {
  .c-anchor-nav {
    width: 100%;

    /* --- 親テーマリセット --- */
    ul,
    li {
      list-style: none;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    /* ---------------------- */

    .c-anchor-nav__list {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: var(--px20);
    }

    .c-anchor-nav__link {
      display: flex;
      align-items: center;
      gap: calc(0% + var(--px16) / 2);
      font-size: var(--px16);
      font-weight: 700;
      color: var(--color-font);
      transition: 0.3s all;

      &:hover {
        color: var(--color-primary);
      }

      &::before {
        content: '\f0ab';
        font-size: var(--px24);
        font-weight: 400;
        color: var(--color-primary);
        font-family: 'FontAwesome';
        text-align: center;
        vertical-align: middle;
        transition: all 0.3s;
        line-height: 1;
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-anchor-nav {
      .c-anchor-nav__list {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
      }
    }
  }
}

/* ======================================================
   Empathy Message Block（はじめのいっぽ -入園案内-）
====================================================== */
.post {
  .c-empathy-block {
    padding: var(--px120) 0;

    /* --- 親テーマリセット --- */
    p {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    /* ---------------------- */

    .c-empathy-block__inner {
      max-width: var(--content-max-width);
      margin: 0 auto;
      width: 90%;
    }

    /* 悩みのテキストエリア */

    .c-empathy-block__messages {
      text-align: center;
    }

    .c-empathy-block__message {
      font-weight: 700;
      color: var(--color-primary);
      font-size: var(--px24);
      line-height: 2.8;
    }

    .c-empathy-block__divider {
      width: 1px;
      height: 80px;
      background-color: var(--color-font);
      margin: var(--px60) auto;
    }

    .c-empathy-block__content {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 6%;
    }

    .c-empathy-block__figure {
      width: 300px;
      flex-shrink: 0;

      img {
        width: 100%;
        height: auto;
        max-width: none;
        max-height: none;
        object-fit: contain;
      }
    }

    .c-empathy-block__text-area {
      color: var(--color-font);
    }

    .c-empathy-block__text {
      font-size: var(--px18);
      line-height: 1.8;
      font-weight: 600;

      b {
        color: var(--color-primary);
        font-weight: 800;
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-empathy-block {
      padding: var(--px60w) 0;

      .c-empathy-block__message {
        line-height: 2;
        font-size: var(--px18);
      }

      .c-empathy-block__divider {
        height: 30px;
        margin: var(--px40) auto;
      }

      .c-empathy-block__content {
        flex-direction: column;
        text-align: center;
        gap: var(--px40);
      }

      .c-empathy-block__figure {
        width: 200px;
      }
    }
  }
}

/* =======================================================================
   Media Text Block (Generic 2-column layout)
   （ようちえんガイド/はじめのいっぽ -入園案内-/おやこじかん -子育て支援-）
======================================================================= */
.post {
  .c-media-text-section {
    margin: var(--px80) 0;
  }

  .c-media-text {
    margin-bottom: var(--px80);

    /* --- 親テーマリセット --- */
    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    a {
      text-decoration: none;
    }

    /* ---------------------- */

    &:last-child {
      margin-bottom: 0;
    }

    .c-media-text__inner {
      margin: 0 auto;
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .c-media-text__text-area {
      width: fit-content;
      max-width: 600px;
      padding: var(--px80);
      margin: 0 2% 0 auto;
      border-radius: var(--px50);
      display: flex;
      flex-direction: column;
      background: var(--color-secondary-tint);
    }

    /* 背景差分 */
    .c-media-text__text-area--wt {
      background: #fff;
    }

    .c-media-text__head {
      font-size: var(--px40);
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: var(--px40);
      line-height: 1.4;
      text-align: left;
      border-bottom: dotted 5px;
      padding-bottom: var(--px16);
    }

    .c-media-text__text {
      color: var(--color-font);
      margin-bottom: var(--px40);
    }

    .c-media-text__figure {
      width: 60%;
      aspect-ratio: 16 / 10;
      border-radius: var(--px60);
      overflow: hidden;

      img {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: cover;
      }
    }

    /* === パターン2：画像左、テキスト右（左右反転） === */
    &.c-media-text--reverse {
      .c-media-text__inner {
        flex-direction: row-reverse;
      }

      .c-media-text__text-area {
        margin: 0 auto 0 3%;
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {

    .c-media-text {

      .c-media-text__inner {
        width: 90%;
        flex-direction: column-reverse;
        /* SP時は画像が上、テキストが下 */
        gap: var(--px20);
      }

      .c-media-text__text-area {
        width: 100%;
        text-align: left;
        padding: var(--px40);
        margin: 0 auto;
        border-radius: var(--px20);

      }

      .c-media-text__text {
        text-align: left;
      }

      .c-media-text__figure {
        width: 100%;
        aspect-ratio: 4 / 3;
        border-radius: var(--px40);
      }

      &.c-media-text--reverse {
        .c-media-text__inner {
          flex-direction: column-reverse;
        }

        .c-media-text__text-area {
          margin: 0 auto;
        }
      }
    }
  }
}

/* =======================================================
   Guidelines Block (Age & Fee)（はじめのいっぽ -入園案内-）
======================================================= */
.post {
  .c-guidelines-block {
    padding: var(--px100w) 0;

    /* --- 親テーマリセット --- */
    h3 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    a {
      text-decoration: none;
    }

    table,
    th,
    td,
    tr,
    thead,
    tbody {
      border: none;
      background: none;
      padding: 0;
      margin: 0;
    }

    /* ---------------------- */

    .c-guidelines-block__inner {
      max-width: var(--content-max-width);
      margin: 0 auto;
      width: 90%;
    }

    /* === 募集年齢カードエリア === */

    .c-guidelines-block__age-cards {
      display: flex;
      justify-content: space-between;
      gap: 4%;
      margin-bottom: var(--px40);
    }

    .c-guidelines-block__age-card {
      width: 48%;
      border: 1px solid var(--color-table-border);
      padding: var(--px60w) var(--px20);
      text-align: center;
      background-color: var(--color-background);
    }

    .c-guidelines-block__age-title {
      color: var(--color-primary);
      font-size: var(--px40);
      font-weight: 700;
      margin-bottom: var(--px20);
    }

    .c-guidelines-block__age-text {
      color: var(--color-font);
      font-size: var(--px24);
    }

    /* === 諸経費について エリア === */

    .c-guidelines-block__fee-title {
      font-size: var(--px30w);
      font-weight: 700;
      color: #fff;
      background: var(--color-primary);
      border: none;
      padding: var(--px12) var(--px16);
      margin-bottom: var(--px24);
      border-radius: var(--px12);
    }

    .c-guidelines-block__fee-note {
      font-size: var(--px20);
      color: var(--color-font);
      margin-bottom: var(--px24);
    }

    /* テーブルラッパー（横スクロール用） */
    .c-guidelines-block__table-wrap {
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    /* テーブル本体 */
    .c-guidelines-block__table {
      width: 100%;
      border-collapse: collapse;
      min-width: 800px;
      /* スマホでも表の形を維持し、スクロールさせるための最小幅 */

      th,
      td {
        border: 1px solid var(--color-table-border);
        padding: var(--px16) var(--px20);
        vertical-align: middle;
        line-height: 1.6;
        color: var(--color-font);
        background: #fff;
      }

      th {
        background-color: var(--color-secondary-tint);
        text-align: center;
        font-weight: 700;
        font-size: var(--px18);
        padding: var(--px24) var(--px20);
      }

      /* --- テーブル左上のセルを空白にする処理 --- */
      thead th:first-child {
        background-color: transparent;
        /* 背景色を透明に */
        border-top: none;
        /* 上の線を消す */
        border-left: none;
        /* 左の線を消す */
      }

      .c-guidelines-block__table-header {
        background-color: var(--color-secondary-tint);
        text-align: center;
        font-weight: 700;
        width: 18%;
        font-size: var(--px20);
      }

      .c-guidelines-block__table-label {
        text-align: center;
        font-weight: 700;
        width: 15%;
        font-size: var(--px18);
      }

      .c-guidelines-block__table-value {
        text-align: center;
        width: 22%;
      }

      .c-guidelines-block__table-desc {
        width: 45%;
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-guidelines-block {
      padding: var(--px60w) 0;

      .c-guidelines-block__age-cards {
        flex-direction: column;
        gap: 20px;
      }

      .c-guidelines-block__age-card {
        width: 100%;
        padding: var(--px40) var(--px20);
      }

      .c-guidelines-block__table {

        th,
        td {
          padding: var(--px14);
        }

        th {
          padding: var(--px20);
        }

        .c-guidelines-block__table-header {
          font-size: var(--px18);
        }

        .c-guidelines-block__table-desc {
          font-size: var(--px12);
        }
      }

    }
  }
}

/* ===========================================
   Certification Block (はじめのいっぽ -入園案内-)
=========================================== */

.post {
  .c-cert-block {
    padding: var(--px80) 0;

    /* --- 親テーマリセット --- */
    h3 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    /* ---------------------- */

    .c-cert-block__inner {
      max-width: var(--content-max-width, 1000px);
      margin: 0 auto;
      width: 90%;
    }

    /* === 3列グリッドエリア（ulタグ） === */
    .c-cert-grid {
      /* リストの初期スタイルをリセット */
      list-style: none;
      margin: 0 0 var(--px60) 0;
      padding: 0;

      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 3%;
    }

    /* （liタグ） */
    .c-cert-column {
      display: flex;
      flex-direction: column;

      /* リストマーカーを念のため非表示 */
      &::before,
      &::after {
        content: none !important;
      }
    }

    /* === カード部分（枠線あり） === */

    .c-cert-card {
      background-color: var(--color-background, #fff);
      border: 1px solid var(--color-table-border, #ccc);
      margin-bottom: var(--px24);
    }

    .c-cert-card__figure {
      width: 100%;
      aspect-ratio: 16 / 9;
      background-color: #fff;
      overflow: hidden;
      padding: var(--px30);

      img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
    }

    .c-cert-card__body {
      padding: var(--px24) var(--px16);
      text-align: center;
    }

    .c-cert-card__title {
      font-size: var(--px24);
      font-weight: 700;
      color: var(--color-font);
      margin-bottom: 3px;
    }

    .c-cert-card__sub {
      font-weight: 700;
    }

    /* === カード直下の説明テキスト === */
    .c-cert-desc {
      color: var(--color-font);
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-cert-block {

      .c-cert-grid {
        grid-template-columns: 1fr;
        gap: var(--px60);
      }
    }
  }
}

/* === 補足テキストとボタンエリア === */

.c-separate-block__desc-area {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-bottom: var(--px100w);
  gap: var(--px60);
  border: solid 1px;
  padding: var(--px50);
  border-radius: var(--px30);
}

.c-separate-block__desc-text {
  width: fit-content;
}

.c-separate-block__desc-btn {
  flex-shrink: 0;
}

.c-separate-block__desc-main {
  line-height: 1.8;
  color: var(--color-font);
  font-size: var(--px20);
  margin-bottom: var(--px12);
}

.c-separate-block__desc-note {
  font-size: var(--px16);
  color: var(--color-font);
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .post {
    .c-separate-block__desc-area {
      flex-direction: column;
      align-items: flex-start;
      gap: var(--px30);
      margin-bottom: var(--px80w);
      padding: var(--px40);
    }

    .c-separate-block__desc-text {
      width: 100%;
    }

    .c-separate-block__desc-btn {
      width: 100%;

      .c-btn {
        width: 100%;
      }
    }
  }
}

/* ===========================================
   Support Block (daylist)（おやこじかん -子育て支援-）
=========================================== */

.post {
  .c-daylist {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--px12);
    margin-bottom: var(--px12);

    .c-daylist__item {
      font-size: var(--px30w);
      font-weight: 600;
      color: var(--color-primary);
      margin-bottom: var(--px12);
      line-height: 1.2;
      font-family: var(--body-font-family);

    }
  }
}

/* =======================================================
     Support Block Bottom Info Block (おやこじかん -子育て支援-)
======================================================== */

.post {
  .c-bottom-info {
    padding: 0 0 var(--px80);

    /* --- 親テーマリセット --- */
    h3 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    a {
      text-decoration: none;
    }

    /* ---------------------- */

    .c-bottom-info__inner {
      margin: 0 auto;
      width: 100%;
    }

    /* === 上部バナー群 === */

    .c-bottom-info__banners {
      display: flex;
      flex-direction: column;
      gap: var(--px24);
      margin-bottom: var(--px60w);
      max-width: 1240px;
      margin-left: auto;
      margin-right: auto;
      width: 90%;
    }

    .c-bottom-banner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      background-color: #fff;
      padding: var(--px40) var(--px60);
      border-radius: var(--px20);
      gap: 3%;
    }

    .c-bottom-banner__text-area {
      width: 65%;
    }

    .c-bottom-banner__title {
      font-size: var(--px24);
      font-weight: 700;
      color: var(--color-font);
      margin-bottom: 8px;
    }

    .c-bottom-banner__desc {
      color: var(--color-font);
    }

    .c-bottom-banner__btn-area {
      flex-shrink: 0;
    }

    /* === 下部カード群 === */

    .c-bottom-info__cards {
      display: flex;
      justify-content: space-between;
    }

    .c-bottom-card {
      width: 49.5%;
      background-color: #fff;
      padding: var(--px60);
      border-radius: var(--px30w);
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    .c-bottom-card__title {
      font-family: var(--font-family01);
      font-size: var(--px30w);
      font-weight: 700;
      color: var(--color-primary);
      line-height: 1.6;
      margin-bottom: var(--px24);
    }

    .c-bottom-card__desc {
      color: var(--color-font);
      margin-bottom: var(--px30);
    }

    /* 左カード：LINEエリア */

    .c-bottom-card__line-area {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
    }

    .c-bottom-card__qr {
      width: 80px;
      height: 80px;
      flex-shrink: 0;

      img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
    }

    .c-bottom-card__url {
      font-family: var(--font-family02);
      font-size: 14px;
      font-weight: 700;
    }

    /* 右カード：アクションエリア */
    .c-bottom-card__action-area {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      margin-top: auto;
    }

    .c-bottom-card__char {
      width: 60px;
      height: 60px;
      flex-shrink: 0;

      img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-bottom-info {

      /* SPバナー調整 */
      .c-bottom-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: var(--px40);
        gap: var(--px20);
      }

      .c-bottom-banner__text-area {
        width: 100%;
      }

      .c-bottom-banner__btn-area {
        width: 100%;

        .c-btn {
          width: 100%;
          justify-content: center;
        }
      }

      /* SPカード調整 */
      .c-bottom-info__cards {
        flex-direction: column;
        gap: var(--px30w);
      }

      .c-bottom-card {
        width: 100%;
        padding: var(--px40) var(--px20);
      }

      .c-bottom-card__line-area {
        flex-direction: column;
        gap: 8px;
      }

      .c-bottom-card__action-area {
        flex-direction: column;
        gap: 16px;
      }
    }
  }
}

/* ===========================================
   Lead Heading Block（おやこじかん -子育て支援-）
=========================================== */

.post {
  .c-lead-heading {
    margin: var(--px80) auto;

    /* --- 親テーマリセット --- */
    h2 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    /* ---------------------- */

    .c-lead-heading__inner {
      max-width: 1240px;
      width: 90%;
      margin: 0 auto;
      padding: 0;
    }

    .c-lead-heading__content {
      display: flex;
      align-items: center;
      gap: 5%;
    }

    .c-lead-heading__title {
      font-size: var(--px40);
      font-weight: 700;
      flex-shrink: 0;
      color: var(--color-primary);
      border-bottom: dotted 5px;
      padding-bottom: var(--px16);
      margin-bottom: var(--px20);
    }

    .c-lead-heading__text {
      font-size: var(--px20);
      line-height: 1.8;
    }

    &.c-lead-heading--bgcolor {
      .c-lead-heading__inner {
        padding: var(--px30) var(--px80);
        background: var(--color-primary);
        color: #fff;
        border-radius: 50vh;
        text-align: center;
      }

      .c-lead-heading__text {
        font-size: var(--px24);
      }

    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-lead-heading {

      .c-lead-heading__content {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--px24);
      }

      .c-lead-heading__title {
        font-size: var(--px30w);
        /* SP時は見出しサイズを調整 */
      }

      .c-lead-heading__text {
        font-size: var(--px16);
        /* SP時はテキストサイズを調整 */
      }

      &.c-lead-heading--bgcolor {
        .c-lead-heading__inner {
          border-radius: var(--px30);
        }
      }
    }
  }
}

/* ==============================================================
   Schedule Card List (Balloon & Box) (おやこじかん -子育て支援-)
============================================================== */

.post {
  .c-schedule-section {
    margin: var(--px80) 0;
  }

  .c-schedule-list {
    list-style: none;
    margin: 0 auto;
    padding: 0 0 var(--px80) 0;
    max-width: var(--content-max-width, 1000px);
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: var(--px60w) 4%;
  }

  .c-schedule-card {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;

    /* ▼ 4列ベースの横幅計算（100%から隙間3つ分を引き、4で割る） */
    width: calc((100% - (4% * 3)) / 4);

    &::before,
    &::after {
      content: none !important;
    }

    /* ▼ ジグザグ配置（フレックスで折り返しても崩れないように調整） */
    &:nth-child(even) {
      margin-top: var(--px80);
    }
  }

  /* === 吹き出し部分 === */

  .c-schedule-card__balloon {
    padding: var(--px30) var(--px30) var(--px40) var(--px50);
    background: url(/kokoro-shinbashi/wp-content/uploads/fukidashi.png.webp) no-repeat center center;
    background-size: contain;
    display: block;
    color: var(--color-primary);
    font-size: var(--px16);
    font-weight: 800;
    text-align: center;
    line-height: 1.6;
    margin-bottom: calc(0% - var(--px50));
    position: relative;
    z-index: 2;
  }

  .c-schedule-card__date-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;

    &::before,
    &::after {
      content: none !important;
    }
  }

  .c-schedule-card__date-item {
    margin: 0;
    padding: 0;
    font-family: var(--font-family02);
    font-size: var(--px16);
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1.4;
    text-align: center;

    &::before,
    &::after {
      content: none !important;
    }
  }

  /* === ボックス === */

  .c-schedule-card__box {
    background-color: var(--color-primary);
    border-radius: var(--px20);
    padding: var(--px50) var(--px30w);
    margin-left: 40px;
    width: calc(100% - 40px);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    justify-content: center;
    position: relative;
    z-index: 1;
  }

  .c-schedule-card__text {
    margin: 0;
    padding: 0;
    font-size: var(--px20);
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
    line-height: 1.6;
  }

  /* === ボックス 色替え=== */

  .c-schedule-card:nth-child(even) {
    .c-schedule-card__box {
      background-color: var(--color-secondary-tint);

      .c-schedule-card__text {
        color: var(--color-primary);
      }
    }
  }

  /* --- 日付のみ差分 --- */

  .c-schedule-list--dateonry {
    gap: var(--px60w) 3%;

    .c-schedule-card {
      /* ▼ 6列ベースの横幅計算（100%から隙間5つ分を引き、6で割る） */
      width: calc((100% - (3% * 5)) / 6);
    }

    .c-schedule-card__box {
      margin-left: 0;
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1;
      padding: 10px;
      background-color: var(--color-primary);
      border-radius: 50vh;
    }

    .c-schedule-card__text {
      color: #fff;
      font-size: var(--px20);
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 1023px) {
  .post {
    .c-schedule-list {
      gap: var(--px60w) 2%;
      /* 1023px以下で横の隙間を少し詰める */
    }

    .c-schedule-card {
      /* 隙間を2%に変更したのに合わせて、通常のカードの横幅を再計算 */
      width: calc((100% - (2% * 3)) / 4);
    }

    .c-schedule-list--dateonry {
      gap: var(--px60w) 1%;

      /* 1023px以下で横の隙間をさらに詰める */
      .c-schedule-card {
        /* 隙間を1%に変更したのに合わせて、日付のみカードの横幅を再計算 */
        width: calc((100% - (1% * 5)) / 6);
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .post {
    .c-schedule-section {
      margin: var(--px60w) 0;
    }

    .c-schedule-list {
      /* SP時は2列にするための横幅設定 */
      gap: var(--px40) 4%;
      /* SP用の隙間 */
      padding: 0;
    }

    .c-schedule-card {
      /* SP時は2列ベースの横幅計算（100%から隙間1つ分を引き、2で割る） */
      width: calc((100% - 4%) / 2);

      &:nth-child(even) {
        margin-top: var(--px40);
      }
    }

    .c-schedule-card__balloon {
      margin-bottom: calc(0% - var(--px40));
    }

    .c-schedule-card__date-item {
      font-size: 13px;
    }

    .c-schedule-card__box {
      padding: var(--px40) var(--px20) var(--px30) var(--px20);
      margin-left: 20px;
      width: calc(100% - 20px);
    }

    .c-schedule-card__text {
      font-size: var(--px18);
    }

    /* --- 日付のみ差分 --- */

    .c-schedule-list--dateonry {
      gap: var(--px40) 4%;
      /* SP用の隙間（通常カードと合わせる） */

      .c-schedule-card {
        /* 日付のみカードもSP時は2列にする */
        width: calc((100% - 4%) / 2);
      }

      .c-schedule-card__box {
        margin-left: 0;
        /* 通常カードの左マージン20pxを無効化 */
        width: 100%;
        padding: 10px;
      }

      .c-schedule-card__text {
        font-size: var(--px18);
      }
    }
  }
}

.post {
  .c-media-text-section+.c-schedule-section {
    margin-top: 0;
  }
}

/* ===========================================
   Support Intro Section (おやこじかん -子育て支援-)
=========================================== */
.post {
  .c-support-intro {

    /* --- 親テーマリセット --- */
    h2 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    ul,
    li {
      list-style: none;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    /* ---------------------- */

    .c-support-intro__inner {
      max-width: var(--content-max-width);
      margin: 0 auto;
      width: 90%;
    }

    /* === ヘッダーエリア === */
    .c-support-intro__header {
      text-align: center;
      margin-bottom: var(--px60w);
    }

    .c-support-intro__sub {
      color: var(--color-primary);
      font-weight: 700;
      margin-bottom: var(--px24);
    }

    .c-support-intro__title {
      color: var(--color-primary);
      font-size: var(--px40);
      font-weight: 700;
      margin-bottom: var(--px24);
    }

    .c-support-intro__wave {
      width: fit-content;
      height: var(--px40);
      color: var(--color-primary);
    }

    /* === リード文エリア === */

    .c-support-intro__lead {
      text-align: center;
      display: flex;
      flex-direction: column;
      gap: var(--px30w);
      margin-bottom: var(--px80w);
      font-size: var(--px18);
      color: var(--color-font);
      line-height: 2;
      letter-spacing: 0.05em;

      b {
        font-weight: 700;
      }
    }

    /* === 3列情報カードエリア === */

    .c-support-intro__cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--px24);
      margin-bottom: var(--px80w);
    }

    .c-support-intro__card {
      background-color: #fff;
      border-radius: var(--px20);
      padding: var(--px40) var(--px30w);
    }

    .c-support-intro__card-title {
      color: var(--color-primary);
      font-size: var(--px30w);
      font-weight: 700;
      margin-bottom: var(--px20);
    }

    /* === 5列丸型リンクエリア === */

    .c-support-intro__links {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: var(--px40) 1%;
    }

    .c-support-intro__link-item {
      width: 17%;
      min-width: 140px;
    }

    .c-support-intro__link {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      transition: 0.3s all;

      &:hover {
        transform: translateY(-5px);

        img {
          opacity: 1;
        }
      }

      &::after {
        content: '\f0ab';
        font-size: var(--px30w);
        font-weight: 400;
        color: var(--color-primary);
        font-family: 'FontAwesome';
        text-align: center;
        transition: all 0.3s;
        line-height: 1;
        display: block;
      }
    }

    .c-support-intro__link-sub {
      font-size: var(--px12);
      font-weight: 700;
      color: var(--color-font);
      margin-bottom: 4px;
      line-height: 1.4;
    }

    .c-support-intro__link-main {
      font-size: var(--px14);
      font-weight: 800;
      color: var(--color-font);
      line-height: 1.4;
      margin-bottom: var(--px12);
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-support-intro {

      .c-support-intro__title {
        font-size: var(--px24);
      }

      .c-support-intro__wave {
        width: 60%;
      }

      /* SP時は情報カードを1列縦積みに変更 */
      .c-support-intro__cards {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      /* SP時は丸型リンクを横2列〜3列で折り返すように変更 */
      .c-support-intro__links {
        gap: 30px 1%;
      }

      .c-support-intro__link-item {
        width: 45%;
        /* SP時は横幅を広げて2列配置に */
      }
    }
  }
}

/* ===========================================
   Accordion Q&A List（しつもんばこ）
=========================================== */
.post {
  .accordion_list {
    list-style: none;
    margin: 0 auto;
    padding: var(--px80) 0;
    max-width: 1100px;
    width: 90%;

    /* --- 親テーマリセット --- */
    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    a {
      color: inherit;
      border-bottom: solid 1px;
      margin: 0 0.1em;
    }


    /* ---------------------- */
  }

  .accordion_list__item {
    margin-bottom: var(--px50);

    &:last-child {
      margin-bottom: 0;
    }

    &::before,
    &::after {
      content: none !important;
    }
  }

  /* === 見出し (Q) エリア === */

  .accordion_list_heading {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: var(--px16) var(--px30) var(--px16) var(--px18);
    cursor: pointer;
    transition: opacity 0.3s ease;
    gap: var(--px20);
    border-radius: var(--px16);
    border: solid 3px var(--color-primary);

    &:hover {
      opacity: 0.8;
    }
  }

  .accordion_list_icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    margin-right: 24px;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .accordion_list_title {
    flex-grow: 1;
    font-size: var(--px20);
    font-weight: 800;
    color: var(--color-primary);
    padding-right: var(--px40);
    line-height: 1.8;
  }

  /* プラス/マイナス アイコン */
  .accordion_list_toggle {
    position: relative;
    width: 16px;
    height: 16px;
    flex-shrink: 0;

    &::before,
    &::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      background-color: var(--color-primary);
      transform: translate(-50%, -50%);
      transition: opacity 0.3s ease, transform 0.3s ease;
    }

    /* 横線（常に表示） */
    &::before {
      width: 16px;
      height: 2px;
    }

    /* 縦線（プラスの状態） */
    &::after {
      width: 2px;
      height: 16px;
    }
  }

  /* 開いた状態（縦線を消してマイナスにする） */
  .accordion_list_heading.is-open {
    .accordion_list_toggle::after {
      opacity: 0;
      transform: translate(-50%, -50%) rotate(90deg);
    }
  }

  /* === 中身 (A) エリア === */

  .accordion_list_content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease-out;
  }

  .accordion_list_heading.is-open+.accordion_list_content {
    grid-template-rows: 1fr;
  }

  .accordion_list_content-inner {
    overflow: hidden;
    min-height: 0;
    display: flex;
    align-items: flex-start;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
  }

  .accordion_list_heading.is-open+.accordion_list_content .accordion_list_content-inner {
    opacity: 1;
    visibility: visible;
  }

  .accordion_list_answer-box {
    flex-grow: 1;
    background-color: var(--color-primary);
    border-radius: 8px;
    padding: var(--px30w) var(--px40);
    position: relative;
    margin-right: 24px;
    margin-top: var(--px30w);

    /* 右向きの吹き出しのしっぽ */
    &::after {
      content: "";
      position: absolute;
      top: 30px;
      right: -15px;
      /* 外側にはみ出させる */
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 15px solid var(--color-primary);
      /* ボックスと同じ色 */
    }
  }

  .accordion_list_answer-text {
    font-size: var(--px18);
    color: #fff;
    font-weight: 600;
  }

  .accordion_list_char {
    width: 110px;
    margin-top: var(--px30w) !important;
    flex-shrink: 0;

    img {
      width: 100%;
      height: auto;
      object-fit: contain;
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {

    .accordion_list_icon {
      width: 48px;
      height: 48px;
    }

    .accordion_list_content-inner {
      flex-direction: column;
      align-items: center;
    }

    .accordion_list_answer-box {
      margin-right: 0;
      width: 100%;

      &::after {
        bottom: -15px;
        right: inherit;
        top: inherit;
        left: 50%;
        transform: translateX(-50%);
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 15px solid var(--color-primary);
        border-bottom: none;
      }
    }

    .accordion_list_title {
      line-height: 1.6;
      font-size: var(--px24);
    }

    .accordion_list_char {
      width: 80px;
    }
  }
}

/* -------------------------------------------
   エディタースタイル
------------------------------------------- */
#editor-style .accordion_list_content {
  grid-template-rows: 1fr;

  .accordion_list_content-inner {
    overflow: inherit;
    visibility: inherit;
    opacity: 1;
  }
}

/* ===========================================
   Greeting Section (ようちえんガイド)
=========================================== */
.post {
  .c-greeting {
    padding: var(--px100w) 0;

    /* --- 親テーマリセット --- */
    h2 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    /* ---------------------- */

    .c-greeting__inner {
      max-width: var(--content-max-width, 1000px);
      margin: 0 auto;
      width: 90%;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      gap: 5%;
    }

    /* === 左側：プロフィール === */
    .c-greeting__profile {
      width: 35%;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 写真と名前を中央揃え */
    }

    .c-greeting__figure {
      width: 100%;
      max-width: 320px;
      /* 画像が大きくなりすぎるのを防ぐ */
      aspect-ratio: 1 / 1;
      /* 正方形を維持 */
      border-radius: 50%;
      /* 真円にする */
      overflow: hidden;
      margin-bottom: var(--px40);

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* 枠に合わせて綺麗にトリミング */
      }
    }

    .c-greeting__name-area {
      text-align: center;
      color: var(--color-font);
    }

    .c-greeting__position {
      font-size: var(--px14);
      margin-bottom: 12px;
      letter-spacing: 0.05em;
    }

    .c-greeting__name {
      font-size: var(--px20);
      font-weight: 700;
      letter-spacing: 0.4em;
      /* 名前の間隔を広めに取る */
      margin-left: 0.4em;
      /* letter-spacingによる右側のズレを補正 */
    }

    /* === 右側：メッセージ === */
    .c-greeting__content {
      width: 50%;
      padding-top: var(--px20);
      /* 左の丸画像との視覚的なバランス調整 */
    }

    .c-greeting__header {
      margin-bottom: var(--px40);
    }

    .c-greeting__sub {
      display: block;
      color: var(--color-primary);
      font-size: var(--px24);
      font-weight: 700;
      margin-bottom: var(--px12);
    }

    .c-greeting__en {
      display: block;
      color: var(--color-primary);
      font-family: var(--font-family02, sans-serif);
      font-size: var(--px14);
      font-weight: 700;
      text-transform: uppercase;
      margin-bottom: var(--px30w);
    }

    .c-greeting__title {
      font-size: var(--px40);
      font-weight: 700;
      color: var(--color-font);
      line-height: 1.4;
      text-align: left;
    }

    .c-greeting__body {
      p {
        font-size: var(--px16);
        color: var(--color-font);
        line-height: 2;
        margin: 0;
      }
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-greeting {
      padding: var(--px60w) 0;

      .c-greeting__inner {
        flex-direction: column;
        /* SP時は縦積みに */
        gap: var(--px60);
      }

      .c-greeting__profile {
        width: 100%;
      }

      .c-greeting__figure {
        max-width: 240px;
        /* SP時は画像を少し小さく */
      }

      .c-greeting__name {
        font-size: var(--px24);
        margin-left: 0;
      }

      .c-greeting__content {
        width: 100%;
        padding-top: 0;
      }

      .c-greeting__body {
        p {
          line-height: 1.8;
        }
      }
    }
  }
}

/* ===========================================
   Philosophy Section (Sun & Hill Design)（ようちえんガイド）
=========================================== */

.post {
  .c-philosophy {
    --text-max-width: 65%;
    /* テキストエリアの最大幅 */

    --safe-margin: 20px;
    /* テキストと画像の最低限の隙間 */

    --safe-zone-offset: calc((var(--text-max-width) / 2) + var(--safe-margin));
    /* 画像を押し出す距離を自動計算（テキスト幅の半分 ＋ 隙間） */

    --bg-sun-size: 536px;
    /* 見出し背景太陽画像サイズ　*/

    position: relative;
    padding-top: var(--px80w);
    padding-bottom: var(--px120);
    overflow: hidden;
    /* 背景の丘がはみ出さないようにカット */
    z-index: 1;
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);

    /* --- 親テーマリセット --- */
    h2,
    h3 {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    /* ---------------------- */

    /* === 背景の巨大な丘 === */

    .c-philosophy__bg-hill {
      position: absolute;
      top: calc(var(--bg-sun-size) / 1.5);
      left: 50%;
      transform: translateX(-50%);
      width: 250vw;
      height: 250vw;
      background-color: #FDFFC2;
      border-radius: 50%;
      z-index: 1;
    }

    .c-philosophy__inner {
      position: relative;
      max-width: var(--content-max-width);
      margin: calc(var(--bg-sun-size) / 1.2) auto 0;
      width: var(--text-max-width);
      z-index: 2;
    }

    /* === 太陽エリア === */

    .c-philosophy__header {
      text-align: center;
      position: absolute;
      z-index: -2;
      left: 50%;
      transform: translateX(-50%);
      top: 0;

      &::before {
        content: "";
        background: url(/kokoro-shinbashi/wp-content/uploads/PHILOSOPHY_parts01.png.webp) no-repeat center center;
        background-size: contain;
        position: absolute;
        top: 36%;
        left: -80%;
        width: 80%;
        height: 15%;
        z-index: -2;
      }

      &::after {
        content: "";
        background: url(/kokoro-shinbashi/wp-content/uploads/PHILOSOPHY_parts02.png.webp) no-repeat center center;
        background-size: contain;
        position: absolute;
        top: 36%;
        right: -80%;
        width: 80%;
        height: 15%;
        z-index: -2;
      }
    }

    .c-philosophy__sun {
      display: inline-flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: var(--bg-sun-size);
      height: var(--bg-sun-size);
      background: url(/kokoro-shinbashi/wp-content/uploads/taiyo_parts01_m.png.webp) no-repeat center center;
      background-size: contain;
    }

    .c-philosophy__sun-title {
      font-size: var(--px40);
      font-weight: 700;
      margin-bottom: var(--px14);
      color: #fff;
    }

    .c-philosophy__sun-en {
      font-family: var(--font-family01);
      font-size: var(--px18);
      font-weight: 700;
      margin-bottom: calc(var(--bg-sun-size) / 7);
      color: #fff;
    }

    /* === メインコンテンツエリア === */

    .c-philosophy__content {
      text-align: center;
      position: relative;
      z-index: 5;
      max-width: var(--text-max-width);
      /* 変数で管理 */
      margin: 0 auto;
      padding: 0 0 5%;
    }

    .c-philosophy__theme {
      font-size: var(--px60);
      font-weight: 700;
      color: #f8981d;
      letter-spacing: 0.1em;
      margin-bottom: var(--px30);
    }

    .c-philosophy__message {
      margin-bottom: var(--px60);

      p {
        font-size: var(--px24);
        font-weight: 700;
        color: #f8981d;
        line-height: 2.4;
      }
    }

    .c-philosophy__desc {
      display: inline-block;
      text-align: left;
      /* ブロック自体は中央配置だが、中の文字は左揃えにする */

      p {
        font-size: var(--px20);
        line-height: 2;
        color: var(--color-font);
      }
    }

    /* === 装飾画像エリア === */
    .c-philosophy__decorations {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 1;
    }

    .c-philosophy__deco-img {
      position: absolute;

      img {
        width: 100%;
        height: auto;
        object-fit: contain;
      }
    }

    /* 中央から「自動計算された距離（--safe-zone-offset）」だけ外側に配置 */
    .c-philosophy__deco-img--1 {
      top: 0;
      right: calc(40% + var(--safe-zone-offset));
      width: 30%;
    }

    .c-philosophy__deco-img--2 {
      bottom: 0%;
      right: calc(50% + var(--safe-zone-offset));
      width: 30%;
    }

    .c-philosophy__deco-img--3 {
      top: 0;
      left: calc(43% + var(--safe-zone-offset));
      width: 30%;
    }

    .c-philosophy__deco-img--4 {
      bottom: 0;
      left: calc(50% + var(--safe-zone-offset));
      width: 20%;
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */

@media screen and (max-width: 768px) {
  .post {
    .c-philosophy {
      --text-max-width: 90%;
      /* テキストエリアの最大幅 */

      --safe-margin: 20px;
      /* テキストと画像の最低限の隙間 */

      --safe-zone-offset: calc((var(--text-max-width) / 2) + var(--safe-margin));
      /* 画像を押し出す距離を自動計算（テキスト幅の半分 ＋ 隙間） */

      --bg-sun-size: 280px;
      /* 見出し背景太陽画像サイズ　*/

      padding-top: var(--px60w);
      padding-bottom: var(--px100w);

      .c-philosophy__bg-hill {
        width: 350vw;
        /* スマホではより大きな円にしてなだらかさを維持 */
        height: 350vw;
      }

      .c-philosophy__content {
        padding: 0;
      }

      .c-philosophy__message p {
        line-height: 2.2;
        font-size: var(--px16);
      }

      .c-philosophy__desc {
        font-size: var(--px14);

        p {
          line-height: 1.8;
        }
      }

      .c-philosophy__decorations {
        position: relative;
        display: flex;
        margin-top: var(--px80);
      }

      .c-philosophy__deco-img {
        position: relative;
        z-index: 0;
      }

      /* SP用の配置は画面端（left/right）基準にするためそのまま */
      .c-philosophy__deco-img--1,
      .c-philosophy__deco-img--2,
      .c-philosophy__deco-img--3,
      .c-philosophy__deco-img--4 {
        top: auto;
        bottom: auto;
        right: auto;
        left: auto;
        width: calc(100% / 4);
        aspect-ratio: 1 / 1;

        img {
          width: 100%;
          height: 100%;
          object-fit: contain;
        }
      }
    }
  }
}

/* ===========================================
   Routine List (Parallax & Split Background)（ようちえんガイド）
=========================================== */

#common-theme {
  background: #FDFFC2;
}

.post {
  .c-routine-list {
    list-style: none;
    margin: 0;
    padding: 0;

    /* --- 親テーマリセット --- */
    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    li::before,
    li::after {
      content: none !important;
    }

    /* ---------------------- */
  }

  .c-routine-item {
    position: relative;
    padding-bottom: var(--px100w);
  }

  /* === パララックス背景 === */
  .c-routine-item__parallax-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45%;
    /* 領域切り抜き、中身のfixed背景のはみ出し防 */
    clip-path: inset(0);
    z-index: 0;
  }

  .c-routine-item__parallax-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    /* ぼかし効果と、端の白浮きを防ぐための少しの拡大 */
    filter: blur(8px);
    transform: scale(1.1);
    will-change: transform;
  }

  /* ぼけた背景の上に文字が来るため、視認性を高める白の半透明レイヤー */
  .c-routine-item__parallax-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.4);
  }

  /* === 上部の黄色い背景 === */
  .c-routine-item__top-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 55%;
    /* メイン画像の半分〜少し下まで黄色にする */
    background-color: #FDFFC2;
    /* デザイン画の薄い黄色 */
    z-index: 1;
  }

  /* === コンテンツの中身 === */
  .c-routine-item__inner {
    position: relative;
    z-index: 2;
    /* 背景より上に配置 */
    max-width: var(--content-max-width, 1000px);
    margin: 0 auto;
    width: 90%;
    padding-top: var(--px100);
  }

  /* メイン画像 */
  .c-routine-item__main-img {
    width: 100%;
    aspect-ratio: 2 / 1;
    /* 横長にトリミング */
    border-radius: var(--px30w);
    overflow: hidden;
    margin-bottom: var(--px60w);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);

    img {
      width: 101%;
      height: 101%;
      object-fit: cover;
    }
  }

  /* 下部のタイトル画像＆テキストエリア */
  .c-routine-item__content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8%;
    margin-top: var(--px40);
  }

  .c-routine-item__title-img {
    width: 40%;
    max-width: 340px;
    flex-shrink: 0;

    img {
      width: 100%;
      height: auto;
      object-fit: contain;
    }
  }

  .c-routine-item__text-area {
    width: fit-content;

    p {
      font-size: var(--px16);
      line-height: 2;
      color: var(--color-font);
      font-weight: 700;
    }
  }
}

.c-routine-list .c-routine-item:first-of-type .c-routine-item__inner {
  padding-top: 0;
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */
@media screen and (max-width: 768px) {
  .post {
    .c-routine-item {
      padding-bottom: var(--px80w);
      margin-bottom: var(--px80w);
    }

    .c-routine-item__parallax-wrap {
      height: 75%;
    }

    .c-routine-item__top-bg {
      height: 25%;
    }

    .c-routine-item__main-img {
      aspect-ratio: 4 / 3;
      /* SPでは少し縦を長くして見やすく */
      border-radius: 20px;
      margin-bottom: var(--px40);
    }

    .c-routine-item__content {
      flex-direction: column;
      /* スマホ時は縦積みに変更 */
      gap: 32px;
    }

    .c-routine-item__title-img {
      width: 80%;
      max-width: 280px;
    }

    .c-routine-item__text-area {

      p {
        font-size: 13px;
      }
    }
  }
}

/* ===========================================
   Feature List (Zig-zag 2 Column Cards)（ようちえんガイド）
=========================================== */

.post {
  .c-feature-section {
    padding: var(--px80) 0;

    /* --- 親テーマリセット --- */
    h3 {
      padding: 0;
      border: none;
      background: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none;

      &::before,
      &::after {
        content: none !important;
      }
    }

    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    ul,
    li {
      list-style: none;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    /* ---------------------- */

    .c-feature-section__inner {
      max-width: var(--content-max-width, 1000px);
      margin: 0 auto;
      width: 90%;
    }

    /* === リストのグリッド設定 === */
    .c-feature-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--px20) 6%;
      align-items: flex-start;
    }

    /* === カード本体 === */
    .c-feature-card {
      display: flex;
      flex-direction: column;

      /* 右側の列（偶数番目）だけを下にずらしてジグザグにする */
      &:nth-child(even) {
        margin-top: var(--px80w);
      }
    }

    .c-feature-card__img {
      width: 100%;
      aspect-ratio: 4 / 3;
      /* 画像の比率を統一 */
      border-radius: var(--px30w);
      overflow: hidden;
      margin-bottom: var(--px24);

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    .c-feature-card__body {
      display: flex;
      flex-direction: column;
    }

    .c-feature-card__title {
      color: var(--color-primary);
      font-size: var(--px24);
      font-weight: 700;
      margin: 0 0 var(--px12);
      line-height: 1.4;
      padding: 0;

      &::before,
      &::after {
        content: none;
      }
    }

    .c-feature-card__text {
      color: var(--color-font);
      font-size: var(--px16);
    }
  }
}

/* -------------------------------------------
   SP用スタイル
------------------------------------------- */
@media screen and (max-width: 768px) {
  .post {
    .c-feature-section {

      .c-feature-list {
        grid-template-columns: 1fr;
        /* SP時は1列の縦積みに変更 */
        gap: var(--px50);
      }

      .c-feature-card {

        /* SP時はジグザグ配置をリセットして綺麗に縦に並べる */
        &:nth-child(even) {
          margin-top: 0;
        }
      }

      .c-feature-card__title {
        font-size: var(--px30w);
      }

      .c-feature-card__img {
        aspect-ratio: 16 / 10;
      }
    }
  }
}

/* ===========================================
   Our Facilities Section (3 Column offset)（ようちえんガイド）
=========================================== */

.post {
  .c-our-facilities {

    /* --- 親テーマリセット --- */
    p,
    span {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    figure {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }

    ul,
    li {
      list-style: none;
      margin: 0;
      padding: 0;
      border: none;
      background: none;
    }

    li::before,
    li::after {
      content: none !important;
    }

    /* ---------------------- */

    .c-our-facilities__inner {
      max-width: var(--content-max-width, 1000px);
      margin: 0 auto;
      width: 90%;
    }

    /* === 3列グリッド === */
    .c-our-facilities__list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 3%;
      align-items: flex-start;
      /* ズレを表現するために必須 */
    }

    .c-our-facilities__item {
      display: flex;
      flex-direction: column;
      align-items: center;

      /* 中央のアイテムだけを下にずらす */
      &:nth-child(2) {
        margin-top: var(--px60w);
      }
    }

    .c-our-facilities__img {
      width: 100%;
      aspect-ratio: 4 / 3;
      /* 画像の比率を統一 */
      border-radius: var(--px24);
      /* 角丸 */
      overflow: hidden;
      margin-bottom: var(--px24);

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    .c-our-facilities__name {
      color: var(--color-primary);
      font-size: var(--px30w);
      font-weight: 700;
      text-align: center;
    }
  }
}

/* ===========================================
   SP用スタイル
=========================================== */
@media screen and (max-width: 768px) {
  .post {
    .c-our-facilities {

      .c-our-facilities__list {
        grid-template-columns: 1fr;
        /* スマホ時は1列の縦積みに */
        gap: var(--px40);
      }

      .c-our-facilities__item {

        &:nth-child(2) {
          margin-top: 0;
        }
      }

      .c-our-facilities__img {
        aspect-ratio: 16 / 10;
      }

    }
  }
}

/*================================================
				sitemap
================================================*/

.post ul#sitemap_list>li {
  margin-bottom: 5px;
  padding: var(--px24) 0 var(--px24) 5px;
  background: none;
  border-bottom: solid 1px var(--color-table-border);
}

.post ul#sitemap_list>li a {
  font-weight: 500;
  font-family: var(--font-family02);
  color: var(--color-font);
}

/*================================================
				NOTFOUND
================================================*/

body.error404 #wrapper section h1 {
  padding: 0;
  font-family: var(--font-family01);
  background: transparent;
  margin: 20px 0 calc(40px + (1vw - 19.2px) * 1.6828) 0;
  /*40px-14px*/
  color: var(--color-font);
  font-weight: 500;
  font-size: calc(3rem + (1vw - 1.92rem) * 0.6472);
  /*3rem-1.7rem*/
  line-height: 1.4;
  letter-spacing: -1px;
  padding-bottom: 10px;
  border-bottom: solid 1px var(--color-font);
  width: 100%;
}

/*================================================
				CONTACT
================================================*/

.post .p-contact table td {
  color: var(--color-font);
  background: #fff;
}

.post .p-contact table th {
  background: var(--color-primary);
  color: #fff;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="date"],
input[type="url"],
input[type="number"],
select,
textarea {
  vertical-align: middle;
  line-height: 30px;
  min-height: 50px;
  padding: 10px;
  border: none;
  border-radius: 0;
  color: var(--color-bk);
  background: #f5f5f5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.wpcf7-form {
  padding: 0;
}

.wpcf7-form a {
  border-bottom: solid 1px;
}

.wpcf7-form a:hover {
  opacity: 0.7;
}

.wpcf7-form input[type=submit] {
  display: block;
  background: var(--color-primary);
  color: #fff;
  border: none;
  border-radius: 0px;
  font-family: var(--font-family01);
  font-weight: 500;
  font-size: var(--px16);
  line-height: 1.4;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  margin: var(--px30) auto 0;
  max-width: 240px;
  width: 100%;
  padding: var(--px20) var(--px30);
  border-radius: var(--px80);
  border: solid 2px #fff;

  &:hover {
    color: var(--color-primary);
    background: #fff;
    border-color: var(--color-primary);
  }
}

.submit_btn,
.post .submit_btn {
  position: relative;
  width: auto !important;
}

.submit_btn .wpcf7-spinner,
.post .submit_btn .wpcf7-spinner {
  top: inherit;
  background-color: #adadad;
}

.wpcf7-form .must {
  background: var(--color-secondary);
  color: var(--color-font);
}