@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* ヘッダーメニューの文字だけサイト全体と同じフォントにする */
#navi .navi-in .item-label {
  font-family: "Noto Sans JP", sans-serif !important;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* お問い合わせボタン */
.navi-in > ul > li.contact-button {
  display: flex;
  align-items: center;
  line-height: normal;
}

.navi-in > ul > li.contact-button > a {
  height: 48px !important;
  padding: 0 22px;
  background: #F36F96;
  color: #FFFFFF !important;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.navi-in > ul > li.contact-button > a:hover {
  background: #F36F96 !important;
  color: #FFFFFF !important;
  opacity: 0.85;
  text-decoration: none !important;
}

/* PCヘッダー：メニューの間隔と黄緑アクセント */
@media screen and (min-width: 835px) {

  .navi-in > ul {
    justify-content: flex-end;
  }

  .navi-in > ul > li {
    flex: 0 0 auto;
    width: auto;
  }

/* ヘッダーのホバーを即時表示 */
.navi-in > ul > li:not(.contact-button) > a {
  transition: none !important;
  transition-delay: 0s !important;
}
  .navi-in > ul > li > a {
    padding-left: 14px;
    padding-right: 14px;
    color: #583822;
  }

/* 通常メニュー：ホバー時に黄緑の下線 */
.navi-in > ul > li:not(.contact-button) > a:hover {
  color: #583822;
  text-decoration: underline;
  text-decoration-color: #e95388;
  text-decoration-thickness: 3px;
  text-underline-offset: 8px;
}

/* ▼マークの余白を広げる */
.navi-in > ul > .menu-item-has-children > a {
  padding-right: 30px;
}

.navi-in .has-icon {
  right: 10px;
}
	
/* フッターでは子メニューを表示しない */
.footer-widgets .sub-menu {
  display: none !important;
}
	
}

	
/* ==================================
   にじのおと フッター
================================== */

/* フッター全体 */
#footer {
  background: #FEF9FB !important;
  color: #583822;
  border-top: 2px solid #F7C9D8;
  margin-top: 0;
  padding: 0;
}

/* 3カラム */
#footer .footer-widgets {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 32px 36px;
  display: flex;
  align-items: flex-start;
  gap: 48px;
}

/* 左・中央・右 */
#footer .footer-left,
#footer .footer-center,
#footer .footer-right {
  flex: 1;
  padding: 0;
}

/* MENU・CONTACTなどの見出し */
#footer .footer-title {
  margin: 0 0 18px;
  padding: 0;
  border: none;
  background: none;
  color: #E95388 !important;
  font-size: 18px;
  font-weight: 700;
}

/* メニュー */
#footer .footer-widgets ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#footer .footer-widgets li {
  margin-bottom: 12px;
}

#footer .footer-widgets a {
  color: #583822;
  text-decoration: none;
}

#footer .footer-widgets a:hover {
  color: #E95388;
}

/* 子メニューはフッターで非表示 */
#footer .footer-widgets .sub-menu {
  display: none !important;
}

/* 左側のロゴ */
#footer .footer-left img {
  display: block;
  width: 200px;
  max-width: 100%;
  height: auto;
  margin: 0 0 16px;
}

/* 左側説明文 */
#footer .footer-left p {
  margin: 0;
  line-height: 1.8;
}

/* 最下部 */
#footer .footer-bottom {
  margin-top: 0;
  padding: 18px 8px;
  border-top: 1px solid rgba(88, 56, 34, 0.15);
}

/* スマホ */
@media screen and (max-width: 834px) {

  #footer .footer-widgets {
    display: block;
    padding: 36px 24px 20px;
  }

  #footer .footer-left,
  #footer .footer-center,
  #footer .footer-right {
    margin-bottom: 32px;
  }

  #footer .footer-left img {
    width: 180px;
  }
}
	
/* フッター中央のお問い合わせだけ非表示 */
#footer .footer-center .contact-button {
  display: none !important;
}
	
/* ===== フッター最終調整 ===== */

/* 3列の位置・余白 */
#footer .footer-widgets {
  padding-top: 44px;
  padding-bottom: 28px;
  align-items: flex-start;
}

/* MENU・CONTACT見出し */
#footer .footer-title {
  margin-bottom: 14px;
}

/* メニューの行間 */
#footer .footer-center li,
#footer .footer-right li {
  margin-bottom: 9px;
  line-height: 1.6;
}

/* 左の説明文 */
#footer .footer-left p {
  color: #583822;
  font-size: 15px;
  line-height: 1.8;
}

/* 最下段 */
#footer .footer-bottom {
  padding: 16px 20px;
  text-align: center;
  border-top: 1px solid #F7C9D8;
}

#footer .footer-bottom a {
  color: #583822;
}

#footer .footer-bottom a:hover {
  color: #E95388;
}
	
/* ========================================
   にじのおと フッター最終調整
======================================== */

/* 3カラムの配置 */
#footer .footer-widgets {
  max-width: 1080px;
  margin: 0 auto;
  padding: 34px 36px 18px;

  display: grid;
  grid-template-columns: 1.2fr 1fr 0.8fr;
  column-gap: 70px;

  align-items: start;
}

/* 各カラムの余計な余白をリセット */
#footer .footer-left,
#footer .footer-center,
#footer .footer-right {
  width: auto;
  margin: 0;
  padding: 0;
}

/* 左：ロゴ */
#footer .footer-left img {
  width: 190px;
  max-width: 100%;
  height: auto;
  margin: 0 0 16px;
}

/* 左：説明文 */
#footer .footer-left p {
  max-width: 270px;
  margin: 0;
  color: #583822;
  font-size: 15px;
  line-height: 1.75;
}

/* MENU / CONTACT */
#footer .footer-title {
  margin: 0 0 16px;
  padding: 0;
  color: #E95388 !important;
  font-size: 17px;
  line-height: 1.4;
}

/* メニュー項目 */
#footer .footer-center ul,
#footer .footer-right ul {
  margin: 0;
  padding: 0;
}

#footer .footer-center li,
#footer .footer-right li {
  margin: 0 0 10px;
  line-height: 1.55;
}

#footer .footer-center a,
#footer .footer-right a {
  color: #583822;
  text-decoration: none;
}

/* ホバー */
#footer .footer-center a:hover,
#footer .footer-right a:hover {
  color: #E95388;
}

/* 一番下 */
#footer .footer-bottom {
  margin: 0;
  padding: 14px 20px 16px;
  border-top: 1px solid #F7C9D8;
  text-align: center;
  line-height: 1.6;
}

/* スマホ */
@media screen and (max-width: 834px) {

  #footer .footer-widgets {
    display: block;
    padding: 34px 24px 20px;
  }

  #footer .footer-left,
  #footer .footer-center,
  #footer .footer-right {
    margin-bottom: 30px;
  }

  #footer .footer-left img {
    width: 170px;
  }

  #footer .footer-left p {
    max-width: 100%;
  }
}
	
	
/* CTAとフッターの間隔を少し詰める */
#content-bottom {
  padding-bottom: 14px !important;
}
	
	
/* MENUの前の小イラスト */
#footer .footer-center .footer-title::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-right: 6px;
  vertical-align: -8px;
  background: url("https://nijino-oto-kids.com/wp-content/uploads/2026/08/素材_マイク.png") center / contain no-repeat;
}

/* CONTACTの前の小イラスト */
#footer .footer-right .footer-title::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-right: 6px;
  vertical-align: -8px;
  background: url("https://nijino-oto-kids.com/wp-content/uploads/2026/08/素材_マイク.png") center / contain no-repeat;
}
	
/* CTA外側の背景を統一 */
#content-bottom.content-bottom,
#content-bottom-in.content-bottom-in,
#content-bottom .widget-content-bottom {
  background-color: #FEF9FB !important;
}

/* CTA周辺の余白 */
#content-bottom {
  margin: 0 !important;
  padding: 18px 0 !important;
}
	
/* ===== PCヘッダー 基本調整 ===== */
@media screen and (min-width: 835px) {

  .logo-header img {
    max-height: 90px;
    width: auto;
  }

  #navi .navi-in > ul > li > a {
    color: #583822;
    font-size: 15px;
    font-weight: 500;
  }

  #header-container {
    border-bottom: 1px solid #F7C9D8;
  }

  /* お問い合わせボタンの封筒 */
  .navi-in > ul > li.contact-button > a::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 7px;
    background-image: url("https://nijino-oto-kids.com/wp-content/uploads/2026/09/9F20D2F7-28B6-4D68-B786-9BCEFCB04532-e1789010014358.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
  }
}
	
/* ヘッダーと本文の間のグレー余白を消す */
#content.content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
	
/* ===== PC サブメニュー ===== */
@media screen and (min-width: 835px) {

  /* サブメニュー本体 */
  #navi .navi-in > ul > li > .sub-menu {
    background: #FFF1F6 !important;
    border: 1px solid #F7C9D8;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 8px 18px rgba(88, 56, 34, 0.10);
    padding: 6px 0;
    overflow: hidden;
  }

  /* 1項目の高さ */
  #navi .navi-in > ul > li:hover > .sub-menu > li {
    height: 48px !important;
  }

  /* 文字 */
  #navi .navi-in > ul > li > .sub-menu > li > a {
    display: flex;
    align-items: center;
    height: 48px;
    padding: 0 18px;
    background: #FEF9FB !important;
    color: #583822 !important;
    font-size: 14px;
    font-weight: 500;
    border-bottom: 1px solid #F7C9D8;
  }

  #navi .navi-in > ul > li > .sub-menu > li:last-child > a {
    border-bottom: none;
  }

  /* マウスを乗せたとき */
  #navi .navi-in > ul > li > .sub-menu > li > a:hover {
    background: #F7C9D8 !important;
    color: #583822 !important;
  }
}
	@media screen and (min-width: 835px) {

  #navi .navi-in > ul > li > .sub-menu {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
  }

  #navi .navi-in > ul > li > .sub-menu > li {
    width: 220px !important;
  }

  #navi .navi-in > ul > li > .sub-menu > li > a {
    width: 100% !important;
    box-sizing: border-box;
    padding: 0 16px !important;
    font-size: 14px !important;
  }
}
	
/* サブメニュー：ホバー */
#navi .navi-in > ul > li > .sub-menu > li > a:hover {
  background: #FEF9FB !important;
  color: #E95388 !important;
}
	
	
/* ===== にじのおとの3つの特徴 ===== */

.feature-card {
  padding: 32px 28px !important;
  border-radius: 22px;
  min-height: 360px;
  box-shadow: 0 8px 24px rgba(88, 56, 34, 0.07);
  border: 1px solid rgba(233, 83, 136, 0.10);
}

.feature-pink {
  background: #FEF3F6;
}

.feature-yellow {
  background: #FFF9E8;
}

.feature-blue {
  background: #F1FBFC;
}

.feature-number {
  width: 54px;
  height: 54px;
  margin: 0 auto 18px !important;
  border-radius: 50%;
  background: #F7C9D8;
  color: #E95388;
  font-size: 20px;
  font-weight: 700;
  line-height: 54px;
  text-align: center;
}

.feature-title {
  color: #583822;
  text-align: center;
  font-weight: 700;
  line-height: 1.55;
  margin-bottom: 20px !important;
}

@media screen and (max-width: 834px) {
  .feature-card {
    min-height: auto;
    padding: 26px 22px !important;
    margin-bottom: 22px;
  }
}
	
/* 3つの特徴：アイコンと見出しの間を詰める */
.feature-card .wp-block-image {
  margin-bottom: 0px !important;
}

.feature-card .feature-title {
  margin-top: 0 !important;
}
	
/* 3つの特徴：見出し下の細線 */
.feature-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: #F7C9D8;
  margin: 10px auto 0;
  border-radius: 2px;
}
	
/* ===== 導入までの流れ ===== */

.flow-grid {
  gap: 22px !important;
  align-items: stretch !important;
}

.flow-step {
  position: relative;
  padding: 58px 22px 28px !important;
  background: #FFFCF9;
  border: 1px solid #ddeccb;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(88, 56, 34, 0.06);
}

/* STEP番号 */
.flow-step::before {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: 42px;
  height: 42px;
  line-height: 42px;
  border-radius: 50%;
  background: #eaf6d8;
  color: #7fae4b;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
}

.flow-grid > .flow-step:nth-child(1)::before {
  content: "01";
}

.flow-grid > .flow-step:nth-child(2)::before {
  content: "02";
}

.flow-grid > .flow-step:nth-child(3)::before {
  content: "03";
}

.flow-grid > .flow-step:nth-child(4)::before {
  content: "04";
}

/* 見出し */
.flow-step h3,
.flow-step h4 {
  text-align: center;
  color: #583822;
  margin-top: 14px !important;
  margin-bottom: 18px !important;
  line-height: 1.5;
}

/* スマホ */
@media screen and (max-width: 834px) {
  .flow-grid {
    gap: 18px !important;
  }

  .flow-step {
    padding: 58px 22px 24px !important;
  }
}
	
/* 導入までの流れ：カード間の矢印 */
.flow-step:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  color: #7fae4b;
  font-size: 22px;
  font-weight: 700;
  z-index: 2;
}

/* スマホでは矢印を消す */
@media screen and (max-width: 834px) {
  .flow-step:not(:last-child)::after {
    display: none;
  }
}
	
/* 導入までの流れ：色・矢印の最終調整 */

/* カード枠 */
.flow-step {
  border-color: #D8EEA8 !important;
}

/* 01〜04の丸 */
.flow-step::before {
  background: #EAF8C9 !important;
  color: #8BC34A !important;
}

/* 矢印 */
.flow-step:not(:last-child)::after {
  left: calc(100% + 11px) !important;
  right: auto !important;
  top: 46% !important;
  transform: translate(-50%, -50%) !important;
  color: #8BC34A !important;
  font-size: 24px !important;
}
	
/* ===== 料金・対応エリア ===== */

.info-card {
  padding: 30px 28px !important;
  border-radius: 18px;
  border: 1px solid #F7C9D8;
  background: #FFFCF9;
  box-shadow: 0 6px 18px rgba(88, 56, 34, 0.05);
}

/* 料金 */
.price-card {
  border-color: #F7C9D8;
}

/* 対応エリア */
.area-card {
  border-color: #D8EEA8;
}

/* カード内の見出し */
.info-card h3,
.info-card h4 {
  text-align: center;
  color: #583822;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

/* 見出し下の短い線 */
.info-card h3::after,
.info-card h4::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  margin: 8px auto 0;
  border-radius: 2px;
}

.price-card h3::after,
.price-card h4::after {
  background: #F7C9D8;
}

.area-card h3::after,
.area-card h4::after {
  background: #D8EEA8;
}
	
/* 料金・対応エリア：見出しをシンプルに */
.info-card h3,
.info-card h4 {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  text-align: center;
  color: #583822;
  margin: 0 0 20px !important;
}
	
	
/* ===== レッスンで大切にしている3つの視点 ===== */

.lesson-points {
  gap: 24px !important;
  align-items: stretch !important;
}

/* カード本体 */
.lesson-card {
  position: relative;
  padding: 68px 28px 30px 48px !important;
  background: #FFFCF9 !important;
  border: 1px solid #EEE7E2 !important;
  border-radius: 18px !important;
  box-shadow: 0 7px 20px rgba(88, 56, 34, 0.06);
}

/* POINT 01 / 02 / 03 */
.lesson-card::before {
  position: absolute;
  top: 27px;
  left: 48px;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}

/* 左側の縦ライン */
.lesson-card::after {
  content: "";
  position: absolute;
  top: 26px;
  left: 27px;

  width: 4px;
  height: 44px;
  border-radius: 10px;
}

/* 1枚目：ピンク */
.lesson-card-01::before {
  content: "POINT 01";
  color: #E95388;
}

.lesson-card-01::after {
  background: #E95388;
}

/* 2枚目：明るい黄緑 */
.lesson-card-02::before {
  content: "POINT 02";
  color: #97D84C;
}

.lesson-card-02::after {
  background: #97D84C;
}

/* 3枚目：水色 */
.lesson-card-03::before {
  content: "POINT 03";
  color: #65BCE8;
}

.lesson-card-03::after {
  background: #65BCE8;
}

/* 見出し */
.lesson-card-title {
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;
  padding: 0 !important;

  margin: 0 0 26px !important;

  color: #583822 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

/* Cocoonの見出し装飾を消す */
.lesson-card-title::before,
.lesson-card-title::after {
  content: none !important;
}

/* 本文 */
.lesson-card p {
  margin-top: 0;
  line-height: 1.9;
}

/* スマホ */
@media screen and (max-width: 834px) {

  .lesson-card {
    padding: 66px 24px 26px 44px !important;
    margin-bottom: 20px;
  }

  .lesson-card::before {
    left: 44px;
  }

  .lesson-card::after {
    left: 24px;
  }

  .lesson-card-title {
    font-size: 19px !important;
  }
}
	
	
/* ===== にじのおと 共通セクション見出し ===== */

.niji-heading {
  position: relative;
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;

  padding: 30px 0 0 !important;
  margin: 50px 0 30px !important;

  color: #583822 !important; /* 濃い茶色 */
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* 英字ラベル */
.niji-heading::before {
  position: absolute;
  top: 0;
  left: 0;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;

  color: #E95388; /* ピンク */
}

/* 英字横の細線 */
.niji-heading::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 105px;

  width: 90px;
  height: 1px;
  background: #E95388;
}

/* プロフィール */
.heading-profile::before {
  content: "PROFILE";
}

/* スマホ */
@media screen and (max-width: 834px) {
  .niji-heading {
    padding-top: 27px !important;
    margin: 40px 0 24px !important;
    font-size: 25px !important;
  }

  .niji-heading::before {
    font-size: 11px;
  }

  .niji-heading::after {
    top: 5px;
    left: 92px;
    width: 65px;
  }
}
	
/* 実績 */
.heading-results::before {
  content: "ACHIEVEMENTS";
  color: #8BC34A;
}

.heading-results::after {
  background: #8BC34A;
  left: 135px;
}
	
	
/* ===== レッスンの特徴：1〜5の小見出し ===== */

.lesson-feature-title {
  background: transparent !important;
  border: none !important;
  border-left: 5px solid #F3AFC3 !important;
  box-shadow: none !important;

  padding: 8px 0 8px 16px !important;
  margin: 32px 0 18px !important;

  color: #583822 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* 下に短い薄ピンク線 */
.lesson-feature-title::after {
  content: "";
  display: block;
  width: 54px;
  height: 2px;
  margin-top: 9px;
  background: #F7C9D8;
  border-radius: 2px;
}

/* Cocoon側の装飾を消す */
.lesson-feature-title::before {
  content: none !important;
}

@media screen and (max-width: 834px) {
  .lesson-feature-title {
    font-size: 18px !important;
    padding-left: 13px !important;
    margin: 26px 0 14px !important;
  }
}
	
	
/* ===== 対象・実施内容 ===== */

.lesson-info {
  position: relative;
  padding: 58px 28px 30px !important;
  background: #FFFCF9 !important; /* クリーム */
  border-radius: 18px !important;
  box-shadow: 0 6px 18px rgba(88, 56, 34, 0.05);
}

/* 左：対象 */
.lesson-target {
  border: 1px solid #F7C9D8 !important;
}

/* 右：実施内容 */
.lesson-content {
  border: 1px solid #BFEFF2 !important;
}

/* 英字ラベル */
.lesson-info::before {
  position: absolute;
  top: 22px;
  left: 28px;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
}

.lesson-target::before {
  content: "TARGET";
  color: #E95388;
}

.lesson-content::before {
  content: "CONTENT";
  color: #52AEB7;
}

/* 「対象」「実施内容」の古い見出し装飾を消す */
.lesson-info h2,
.lesson-info h3,
.lesson-info h4,
.lesson-info .wp-block-heading {
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;

  padding: 0 !important;
  margin: 0 0 22px !important;

  color: #583822 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

/* Cocoonの飾りを消す */
.lesson-info h2::before,
.lesson-info h2::after,
.lesson-info h3::before,
.lesson-info h3::after,
.lesson-info h4::before,
.lesson-info h4::after,
.lesson-info .wp-block-heading::before,
.lesson-info .wp-block-heading::after {
  content: none !important;
}

/* 本文 */
.lesson-info p {
  line-height: 1.9;
}

/* スマホ */
@media screen and (max-width: 834px) {
  .lesson-info {
    padding: 54px 24px 26px !important;
    margin-bottom: 18px;
  }

  .lesson-info::before {
    top: 20px;
    left: 24px;
  }

  .lesson-info h2,
  .lesson-info h3,
  .lesson-info h4,
  .lesson-info .wp-block-heading {
    font-size: 19px !important;
  }
}
	
/* ===== 年齢別クラス見出し ===== */

.age-heading {
  position: relative;
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;

  padding: 28px 0 0 !important;
  margin: 34px 0 22px !important;

  color: #583822 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* AGEラベル */
.age-heading::before {
  position: absolute;
  top: 0;
  left: 0;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;

  color: #E95388;
}

/* 横線 */
.age-heading::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 78px;

  width: 80px;
  height: 1px;
  background: #E95388;
}

/* 0〜2歳 */
.age-02::before {
  content: "AGE 0–2";
}

/* スマホ */
@media screen and (max-width: 834px) {
  .age-heading {
    padding-top: 26px !important;
    margin: 28px 0 18px !important;
    font-size: 21px !important;
  }

  .age-heading::before {
    font-size: 10px;
  }

  .age-heading::after {
    left: 70px;
    width: 60px;
  }
}
	
/* 年少 */
.age-03::before {
  content: "AGE 3";
  color: #97D84C;
}
.age-03::after {
  background: #97D84C;
  left: 62px;
}

/* 年中 */
.age-04::before {
  content: "AGE 4";
  color: #65BCE8;
}
.age-04::after {
  background: #65BCE8;
  left: 62px;
}

/* 年長 */
.age-05::before {
  content: "AGE 5";
  color: #E5B62F;
}
.age-05::after {
  background: #E5B62F;
  left: 62px;
}
	
	
/* ===== にじのおとの想い：小見出し ===== */

.vision-heading {
  position: relative;
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;

  padding: 30px 0 0 !important;
  margin: 42px 0 28px !important;

  color: #583822 !important; /* 濃い茶色 */
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

/* PHILOSOPHY */
.vision-heading::before {
  content: "PHILOSOPHY";
  position: absolute;
  top: 0;
  left: 0;

  color: #E95388;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
}

/* 横の細線 */
.vision-heading::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 110px;

  width: 90px;
  height: 1px;
  background: #E95388;
}

/* スマホ */
@media screen and (max-width: 834px) {
  .vision-heading {
    padding-top: 27px !important;
    margin: 34px 0 22px !important;
    font-size: 23px !important;
  }

  .vision-heading::before {
    font-size: 10px;
  }

  .vision-heading::after {
    left: 100px;
    width: 65px;
  }
}
	
	
/* ===== FAQ 質問見出し ===== */

.faq-question {
  position: relative;
  background: #FEF9FB !important; /* ごく薄いピンク */
  border: 1px solid #F7C9D8 !important;
  border-left: none !important;
  border-radius: 14px !important;
  box-shadow: none !important;

  padding: 18px 22px 18px 68px !important;
  margin: 34px 0 16px !important;

  color: #583822 !important; /* 濃い茶色 */
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* Qマーク */
.faq-question::before {
  content: "Q";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);

  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;

  border-radius: 50%;
  background: #E95388;
  color: #FFFFFF;

  font-size: 16px;
  font-weight: 700;
}

/* Cocoonの元装飾を消す */
.faq-question::after {
  content: none !important;
}

/* スマホ */
@media screen and (max-width: 834px) {
  .faq-question {
    padding: 16px 18px 16px 60px !important;
    margin: 28px 0 14px !important;
    font-size: 18px !important;
  }

  .faq-question::before {
    left: 16px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
  }
}
	
	
/* ===== プライバシーポリシー見出し ===== */

.policy-heading {
  background: transparent !important;
  border: none !important;
  border-left: 4px solid #F3AFC3 !important;
  box-shadow: none !important;

  padding: 6px 0 6px 16px !important;
  margin: 40px 0 22px !important;

  color: #583822 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* Cocoonの元装飾を消す */
.policy-heading::before,
.policy-heading::after {
  content: none !important;
}

@media screen and (max-width: 834px) {
  .policy-heading {
    font-size: 19px !important;
    margin: 32px 0 18px !important;
    padding-left: 13px !important;
  }
}
	
	
/* ===== お問い合わせ送信ボタン ===== */

.niji-submit {
  display: block !important;
  width: min(100%, 360px) !important;
  margin: 28px auto 0 !important;
  padding: 16px 28px !important;

  background: #E95388 !important; /* ピンク */
  color: #FFFFFF !important;

  border: none !important;
  border-radius: 999px !important;

  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;

  cursor: pointer;
  box-shadow: 0 6px 16px rgba(233, 83, 136, 0.18);
  transition: 0.2s ease;
}

/* PC：マウスを乗せた時 */
.niji-submit:hover {
  background: #D9477A !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(233, 83, 136, 0.24);
}

/* スマホ */
@media screen and (max-width: 834px) {
  .niji-submit {
    width: 100% !important;
    padding: 15px 20px !important;
    font-size: 16px !important;
  }
}
	
	
.wpcf7-acceptance {
  display: block;
  margin-bottom: 18px;
}

.niji-submit {
  margin-top: 0 !important;
}
	
	
/* 料金・対応エリア見出し：スマホだけ2行 */
@media screen and (max-width: 834px) {
  .price-area-main-title {
    max-width: 9em !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;

    font-size: 30px !important;
    line-height: 1.45 !important;
  }
}

/* ===== スマホヘッダー：中央ロゴを少し大きく ===== */
@media screen and (max-width: 834px) {

  body {
    --cocoon--mobile-header-menu-buttons--height: 64px;
  }

  .mobile-header-menu-buttons {
    min-height: 64px !important;
    height: 64px !important;
  }

  .mobile-header-menu-buttons .menu-button {
    min-height: 64px !important;
  }

  .mobile-header-menu-buttons .logo-menu-button {
    line-height: 64px !important;
    overflow: visible !important;
  }

  .mobile-header-menu-buttons .logo-menu-button img.site-logo-image {
    height: 54px !important;
    max-height: 54px !important;
    width: auto !important;
  }
}


/* ===== キャッチコピー枠 ===== */
.catch-copy-box {
  background: #FFFFFF !important;
  border: 3px solid #E95388 !important; /* ピンク */
  border-radius: 4px !important;

  padding: 24px 28px !important;
  margin: 36px auto !important;

  color: #222222 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
  text-align: center !important;
}

/* PCでは1行続き */
.catch-first {
  display: inline;
}

/* スマホだけ「。」の後で改行 */
@media screen and (max-width: 834px) {
  .catch-copy-box {
    padding: 22px 18px !important;
    margin: 30px auto !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
  }

  .catch-first {
    display: block;
  }
}

/* ===== スマホ：PC用フッターを非表示 ===== */
@media screen and (max-width: 834px) {

  #footer .footer-widgets {
    display: none !important;
  }

  #footer .footer-widgets-mobile {
    display: block !important;
  }
}

/* ===== 誘導ボタン ===== */
.nijino-guide-btn .wp-block-button__link {
  background: #FEF9FB !important;
  color: #583822 !important;
  border: 2px solid #E95388 !important;
  border-radius: 14px !important;

  padding: 15px 34px !important;
  min-width: 210px;

  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.04em;

  box-shadow: 0 4px 10px rgba(88, 56, 34, 0.08);
  transition: all 0.25s ease;
}

/* → を右側に */
.nijino-guide-btn .wp-block-button__link::after {
  content: " →";
  color: #E95388;
  margin-left: 8px;
}

/* PC：マウスを乗せたとき */
.nijino-guide-btn .wp-block-button__link:hover {
  background: #FFF1F6 !important;
  color: #E95388 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(88, 56, 34, 0.12);
}


/* ===== 導入案内ボタン ===== */

.nijino-guide-buttons .wp-block-button__link {
  background: #FFFFFF !important;
  color: #583822 !important;
  border: 2px solid #E95388 !important;
  border-radius: 14px !important;
  padding: 12px 26px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: 0.25s ease !important;
}

/* 矢印 */
.nijino-guide-buttons .wp-block-button__link::after {
  content: "→";
  color: #E95388;
  margin-left: 12px;
  font-weight: 700;
}

/* ホバー */
.nijino-guide-buttons .wp-block-button__link:hover {
  background: #FEF9FB !important;
  color: #E95388 !important;
  border-color: #E95388 !important;
  transform: translateY(-2px);
}

