/*
Theme Name: Lightning Child
Template: lightning
*/
/* =========================
   GrowHappily Hero
========================= */

.wrapper {
  width: 100%;
  max-width: 390px;
  margin: 0 auto;
  background: #fff;}

.hero {
  position: relative;
  padding: 40px 14px 40px;

  /* 元のグラデーションはそのまま */
  background: linear-gradient(
    170deg,
    #ffffff 0%,
    #FFFCC8 100%
  );

  overflow: hidden;}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image: url("https://wp.growhappily.net/wp-content/uploads/2026/10/mimoza-back3.webp");

  background-size: 110% auto;
  background-position: top center;
  background-repeat: repeat-y;

  opacity: 0.2;

  pointer-events: none;
  z-index: 0;}

.hero__photo-wrap,
.hero__vertical,
.hero__copy {
  position: relative;
  z-index: 1;}

.hero__photo-wrap {
  margin: 0 0 auto 20px;
  width: 312px;
  position: relative;
  z-index: 6;
  will-change: transform;}

.hero__photo {
  width: 312px;
  filter: drop-shadow(0 7px 6px rgba(79, 72, 96, 0.12));
  animation: float 7s ease-in-out infinite;}

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

  50% {
    transform: translateY(-8px);
  }
}

.hero__photo img {
  width: 105%;
  height: auto;
  display: block;}

.hero__vertical {
  position: absolute;
  top: 50px;
  right: 12px;
  width: fit-content;
  writing-mode: vertical-rl;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #2a2438;
  font-size: 16px;
  letter-spacing: .1em;
  padding: 16px 4px;
  background: rgba(255, 252, 245, .75);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 0 12px;
  box-shadow: 0 8px 20px rgba(113, 101, 129, .08);
  animation: slideInRight 1.4s ease-out forwards;
  z-index: 20;}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(40px);
  }

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

.hero__vertical .bottom {
  padding: 12px 0;
  color: #716581;}

.hero__vertical strong {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;}

.hero__vertical small {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: #8f8f8f;}

body.home .hero__vertical strong {
  color: #716581;}

body.home .hero__vertical strong {
  margin-bottom: -5px;}

body.home .hero__vertical small {
  margin-top: -5px;}

.hero__vertical .top {
  padding: 12px 0 20px;
  font-size: 16px;
  margin-left: 10px;}

.hero__copy {
  margin: 12px 0 0 24px;
  font-weight: 700;
  line-height: 1.7;
  color: #5E5372;
  opacity: 0;
  animation: slideInLeft 1.4s ease-out .6s forwards;}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }

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

.hero__copy span {
  display: inline-block;
  padding: 0 4px 2px;
  background: linear-gradient(
    transparent 72%,
    rgba(233, 218, 255, .55) 28%
  );}

.hero__copy .line1 {
  font-size: 20px;}

.hero__copy .line2 {
  font-size: 22px;}

/* =========================
   HOME：Lightningの外側レイアウトを解除
========================= */

body.home .site-body {
  padding-top: 0;
  padding-bottom: 0;}

body.home .site-body-container {
  max-width: none;
  width: 100%;
  padding-left: 0;
  padding-right: 0;}

body.home .main-section {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;}

body.home .wrapper {
  width: 100%;
  max-width: 390px;
  margin: 20px auto;
  background: #fff;}

body.home .site-body-bottom {
  display: none !important;}

/* HOME：Lightning標準ヘッダーを非表示 */
body.home .site-header {
  display: none !important;}

/* HOME：Lightningのスマホメニューを非表示 */
body.home .vk-mobile-nav-menu-btn,
body.home .vk-mobile-nav {
  display: none !important;}

/* WordPressがHero内に自動生成した空要素を無効化 */
body.home .hero p:empty,
body.home .hero__photo-wrap > p,
body.home .hero__photo br {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  line-height: 0 !important;}


/* Hero縦書き：WordPressが自動生成したbrを無効化 */
body.home .hero__vertical br {
  display: none !important;}

/* Hero：元デザインの明朝体 */
body.home .hero {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;}



/* ========================================
   GrowHappily | HOME Header
======================================== */

/* ---------- ヘッダー本体 ---------- */

body.home .header {
  position: fixed;
  top: 0;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);

  width: 390px;
  max-width: 100%;
  height: 54px;
  padding: 0 15px 12px 20px;
  box-sizing: border-box;

  display: flex;
  justify-content: space-between;
  align-items: center;

  background-image: url("https://wp.growhappily.net/wp-content/uploads/2026/10/header-back.2.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 220% auto;
  backdrop-filter: blur(8px);

  z-index: 9999;
  overflow: visible;
}

/* ---------- 左側のミモザ ---------- */

body.home .header-mimoza {
  position: absolute;
  top: 4px;
  left: -2px;
  width: 50px;
  padding-top: 0;

  transform: rotate(35deg);
  opacity: 0.75;

  z-index: 5;
  pointer-events: none;
}

/* ---------- ヘッダータイトル ---------- */

body.home .header .header__note {
  margin: 0;
  padding: 0 0 0 25px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  color: #716581;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.1;
  white-space: nowrap;

  transform: translateY(8px);
  z-index: 999;
}

/* GrowHappily */

body.home .header .header__note span {
  display: block;
  margin-top: 2px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
}

/* ---------- 右側の葉っぱ ---------- */

body.home .header-leaf {
  position: absolute;
  top: 15px;
  right: 40px;
  width: 26px;

  transform: rotate(5deg);

  z-index: 5;
  pointer-events: none;
}


/* ========================================
   Hamburger Button
======================================== */

/* ---------- ボタン本体 ---------- */

body.home .header button.menu {
  position: relative;
  top: 30px;
  left: 20px;
  z-index: 20;

  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 25% !important;

  background: #716581 !important;
  cursor: pointer;
}

/* ---------- 3本線（共通） ---------- */

body.home .header button.menu > span {
  display: block !important;
  position: absolute !important;
  left: 6px !important;

  width: 16px !important;
  height: 2px !important;
  min-height: 2px !important;

  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 1.5px;

  background: #fff !important;

  visibility: visible !important;
  opacity: 1 !important;
}

/* ---------- 3本線の位置 ---------- */

body.home .header button.menu > span:nth-of-type(1) {
  top: 6px !important;
}

body.home .header button.menu > span:nth-of-type(2) {
  top: 13px !important;
}

body.home .header button.menu > span:nth-of-type(3) {
  top: 20px !important;
}

/* ---------- 開いた時の × 表示 ---------- */

body.home .header button.menu.active > span:nth-of-type(1) {
  top: 14px !important;
  transform: rotate(45deg) !important;
}

body.home .header button.menu.active > span:nth-of-type(2) {
  opacity: 0 !important;
}

body.home .header button.menu.active > span:nth-of-type(3) {
  top: 14px !important;
  transform: rotate(-45deg) !important;
}


/* ========================================
   Navigation Menu
======================================== */

/* ---------- メニュー本体 ---------- */

body.home .header .nav {
  position: absolute;
  top: 100%;
  right: 0;

  width: 80%;
  max-width: 320px;
  padding: 40px 30px 35px;
  box-sizing: border-box;

  background: rgba(255, 255, 255, 0.95);
  border-radius: 20px 0 0 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);

  /* 縦スクロール対応 */
  max-height: calc(100dvh - 75px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;

  /* 初期状態：非表示 */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  transition: 0.4s ease;
}

/* ---------- メニューリンク ---------- */

body.home .header .nav a {
  display: block;
  padding: 14px 8px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 17px;
  line-height: 1.5;
  color: #716581;
  text-decoration: none;
}

/* ---------- メニューを開いた状態 ---------- */

body.home .header .nav.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* =========================
   HERO下 CTA
========================= */

body.home .wrapper .cta-row {
  display: flex !important;
  width: 100% !important;
  background: #fff;

  border-top: 2px dotted rgba(89, 87, 87, 0.4);
  border-bottom: 2px dotted rgba(89, 87, 87, 0.4);

  margin: 15px 0;}

/* 左右のボタン */
body.home .wrapper .cta-row > a {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 50% !important;
  flex: 0 0 50% !important;
  min-width: 0 !important;

  padding: 0 0;
  text-align: center;

  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;

  position: relative;
  overflow: hidden;
  text-decoration: none;}

/* STEP */
body.home .wrapper .cta-row > a:first-child {
  background: #fff;
  color: #595757;}

/* RESERVE */
body.home .wrapper .cta-row > a:last-child {
  background-color: #E9DAFF;
  color: #716581;}

/* タップ時 */
body.home .wrapper .cta-row > a:active {
  background-color: #FFFCC8;
  transition: 0.1s;}

/* CTA 英字 */
body.home .wrapper .cta-row .en {
  font-family: "EB Garamond", serif !important;
  font-weight: 800 !important;
  font-size: 14px;
  color: #716581;
  line-height: 1.3;
  margin-bottom: -18px;}

/* CTA 日本語 */
body.home .wrapper .cta-row > a > span:not(.en) {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 500 !important;
  font-size: 20px;
  line-height: 1.4;}

/* =========================
   CONCEPT
========================= */

body.home .concept {
  position: relative;

  background: linear-gradient(
    55deg,
    #d9cfea 0%,
    #f9f6fd 80%
  );

  clip-path: polygon(
    0 0,
    100% 0,
    100% 93%,
    0 100%
  );

  padding: 40px 18px 90px;
  overflow: visible;
  box-sizing: border-box;}


/* =========================
   タイトル
========================= */

body.home .concept .section-title {
  position: relative;
  text-align: center;
  z-index: 3;}

body.home .concept .section-title h2 {
  margin: 0 0 5px !important;
  padding: 0 !important;

  color: #716581;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  text-align: center;

  /* Lightningの見出し装飾を解除 */
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  background: none !important;
  box-shadow: none !important;}

body.home .concept .section-title h2::before,
body.home .concept .section-title h2::after {
  content: none !important;
  display: none !important;}


/* GrowHappilyの理念 */

body.home .concept .section-title .label {
  display: block;
  width: fit-content;

  margin: 15px auto 5px;
  padding: 3px 12px;

  border: 1px solid #716581;
  border-radius: 20px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;

  color: #716581;}


/* Concept */

body.home .concept .sub-en {
  display: block;

  font-family: "Times New Roman", serif;
  font-style: italic;
  font-size: 30px;
  font-weight: 700;

  color: #716581;

  letter-spacing: .2em;
  text-transform: uppercase;

  margin-top: -25px;
  margin-bottom: 5px;

  position: relative;
  z-index: 3;}


/* タイトル下の装飾 */

body.home .concept .concept-line {
  position: relative;

  width: 65%;
  margin: 0 auto 50px;

  z-index: 2;}

body.home .concept .concept-line img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 auto;}


/* =========================
   左上の葉っぱ
========================= */

body.home .concept .concept-decorate {
  position: absolute;

  top: 5px;
  left: -15px;

  width: 90%;
  height: auto;

  margin-top: -80px;

  opacity: .3;

  z-index: 0;
  pointer-events: none;

  transform: rotate(-20deg);}

body.home .concept .concept-decorate img {
  display: block;

  width: 100%;
  height: auto;}


/* =========================
   CONCEPT写真
========================= */

body.home .concept .concept-photo {
  position: relative;

  width: 250px;
  height: 250px;

  margin: -16px auto 0;

  filter:
    drop-shadow(0 10px 20px rgba(0, 0, 0, .08));

  z-index: 2;}


/* 写真 */

body.home .concept .photo--round {
  position: relative;

  display: block;

  width: 250px;
  height: auto;

  margin: -24px auto 0;

  border-radius: 0;
  object-fit: initial;

  z-index: 2;}


/* 写真の後ろの白いアーチ */

body.home .concept .photo-bg {
  position: absolute;

  top: -5px;
  left: -5px;

  width: 260px;
  height: 260px;

  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #fffefc 45%,
    #faf7ff 100%
  );

  border: 1px solid rgba(233, 218, 255, .7);

  border-radius:
    125px 125px 0 0;

  box-shadow:
    0 12px 28px rgba(113, 101, 129, .08),
    inset 0 2px 5px rgba(255, 255, 255, .9);

  z-index: 1;}


/* 写真付近の淡い光 */

body.home .concept .concept-photo::before {
  content: "";

  position: absolute;

  top: 420px;
  right: -110px;

  width: 220px;
  height: 220px;

  border-radius: 50%;

  background: radial-gradient(
    circle,
    rgba(255, 255, 255, .85),
    transparent 70%
  );

  pointer-events: none;}


/* =========================
   理念カード
========================= */

body.home .concept .concept-card {
  position: relative;

  width: 90%;
  max-width: 520px;

  padding: 10px 25px 20px;

  margin: -20px auto 0;

  background: linear-gradient(
    180deg,
    #fffefd 0%,
    #fffaf8 100%
  );

  border-radius: 20px;
  border: 1px solid #efe7f6;

  box-shadow:
    0 1px 2px rgba(0, 0, 0, .03),
    0 8px 18px rgba(113, 101, 129, .05),
    0 18px 30px rgba(113, 101, 129, .08);

  overflow: hidden;

  box-sizing: border-box;

  z-index: 5;}


/* カード内側の枠 */

body.home .concept .concept-card::after {
  content: "";

  position: absolute;
  inset: 12px;

  border:
    1px solid rgba(225, 214, 239, .8);

  border-radius: 20px;

  pointer-events: none;}


/* ラベンダー装飾 */

body.home .concept .concept-card-lavender {
  position: relative;

  display: flex;
  justify-content: center;
  align-items: center;

  gap: 12px;

  margin: 20px auto -5px;

  z-index: 2;}

body.home .concept .concept-card-lavender img {
  display: block;

  width: 35%;
  height: auto;}


/* 理念文章 */

body.home .concept .lead {
  position: relative;

  width: 100%;
  max-width: none;

  margin: 1em 0;
  padding: 0;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 16px;
  font-weight: 400;

  line-height: 2;
  letter-spacing: .02em;

  text-align: center;

  color: #5b5568;

  z-index: 10;}


/* =========================
   Concept 詳細ボタン
========================= */

body.home .concept .white-button {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  width: 85%;

  margin: 20px auto 0;
  padding: 12px 10px;

  box-sizing: border-box;

  background: #fff;

  color: #716581;

  border: 1px solid #d8cae7;
  border-radius: 999px;

  font-family:
    "EB Garamond",
    "Yu Mincho",
    "YuMincho",
    serif;

  font-size: 16px;
  font-weight: 500;

  letter-spacing: .08em;

  text-align: center;
  text-decoration: none;

  box-shadow:
    0 4px 12px rgba(113, 101, 129, .06);

  transition: .3s;

  z-index: 6;}

body.home .concept .white-button:hover {
  transform: translateY(-2px);

  box-shadow:
    0 8px 20px rgba(113, 101, 129, .12);}


/* =========================
   右下の葉っぱ
========================= */

body.home .concept .concept-decorate2 {
  position: absolute;

  right: -40px;
  bottom: -10px;

  width: 75%;
  height: auto;

  opacity: .4;

  z-index: 0;
  pointer-events: none;

  transform: rotate(90deg);}

body.home .concept .concept-decorate2 img {
  display: block;

  width: 100%;
  height: auto;}

/* =========================
   PHILOSOPHY
========================= */

body.home .philosophy {
  position: relative;
  padding: 40px 0 30px;
  box-sizing: border-box;

  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #FFFCC8 55%,
    #ffffff 100%
  );

  z-index: 0;
  overflow: hidden;}


/* =========================
   タイトル
========================= */

body.home .philosophy h2 {
  position: relative;

  margin: 0 !important;
  padding: 0 !important;

  text-align: center;
  line-height: 1 !important;

  border: none !important;
  background: none !important;
  box-shadow: none !important;

  z-index: 3;}

body.home .philosophy h2::before,
body.home .philosophy h2::after {
  content: none !important;
  display: none !important;}

body.home .philosophy h2 span {
  display: block;}


/* GrowHappilyが安心して通える理由 */

body.home .philosophy .eyebrow {
  width: max-content;

  margin: 0 auto !important;
  padding: 3px 16px;

  border: 1px solid #716581;
  border-radius: 999px;

  background: #fff;
  color: #716581;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;

  text-align: center;}


/* PHILOSOPHY */

body.home .philosophy .title {
  margin: -15px 0 0 !important;
  padding: 0 !important;

  color: #716581;

  font-family: "Times New Roman", serif;
  font-style: italic;
  font-size: 30px;
  font-weight: 700;
  line-height: 1 !important;

  letter-spacing: .15em;
  text-transform: uppercase;}


/* タイトル下の装飾 */

body.home .philosophy .philosophy-line {
  position: relative;

  width: 65%;

  margin: 5px auto 40px;

  z-index: 2;}

body.home .philosophy .philosophy-line img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 auto;}


/* =========================
   左上の葉っぱ
========================= */

body.home .philosophy .philo-deco-top {
  position: absolute;

  top: 10px;
  left: -65px;

  width: 180px;

  opacity: .2;

  transform: rotate(55deg);

  pointer-events: none;
  z-index: 1;}

body.home .philosophy .philo-deco-top img {
  display: block;
  width: 100%;
  height: auto;}


/* =========================
   REASON
========================= */

body.home .philosophy .reason {
  position: relative;}


/* 写真 */

body.home .philosophy .lesson-box,
body.home .philosophy .lesson-box2,
body.home .philosophy .lesson-box3 {
  width: 100%;
  max-width: 260px;

  margin: 0 auto 20px;}

body.home .philosophy .lesson-box img,
body.home .philosophy .lesson-box2 img,
body.home .philosophy .lesson-box3 img {
  display: block;

  width: 100%;
  max-width: 250px;
  height: 170px;

  margin: -10px auto;

  object-fit: cover;

  border-radius: 22px;

  box-shadow:
    0 4px 12px rgba(120, 111, 132, .3);}

body.home .philosophy .lesson-box3 {
  overflow: hidden;
  border-radius: 22px;

  box-shadow:
    0 4px 12px rgba(120, 111, 132, .3);}

body.home .philosophy .lesson-box3 img {
  object-position: center 100%;
  transform: translateY(-15px) scale(1.15);

  box-shadow: none;}

/* =========================
   REASON テキスト
========================= */

body.home .philosophy .reason-text {
  position: relative;

  width: 100%;

  margin-top: 24px;}


/* 01 / 02 / 03 */

body.home .philosophy .reason-head {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 10px;

  margin: 30px 30px 20px;}

body.home .philosophy .reason .num {
  flex-shrink: 0;
  margin: -10px 0 auto;
  color: #716581;

  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 42px;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;}

/* 番号横の点線 */

body.home .philosophy .reason-border {
  flex: 1;

  width: auto;
  max-width: 260px;
  height: 2px;

  margin: 5px auto 15px;

  background: repeating-linear-gradient(
    to right,
    #d9cfea 0 3px,
    transparent 3px 8px
  );}


/* =========================
   見出し
========================= */

body.home .philosophy .reason h3 {
  margin: -10px 28px 18px;

  color: #716581;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 22px;
  font-weight: bold;
  line-height: 1.7;

  white-space: nowrap;
/* Lightningの見出しラインを消す */
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  background: none !important;
  box-shadow: none !important;}

body.home .philosophy .reason h3::before,
body.home .philosophy .reason h3::after {
  content: none !important;
  display: none !important;}


body.home .philosophy .reason h3 span {
  font-size: 17px;}


/* =========================
   本文
========================= */

body.home .philosophy .reason-text > p {
  max-width: 325px;

  margin: -10px auto 25px;
  padding: 0;

  color: #5B5568;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 16px;
  font-weight: 400;
  line-height: 2;

  letter-spacing: .02em;

  text-align: left;}


/* =========================
   各REASON下のライン
========================= */

body.home .philosophy .reason-line {
  position: relative;

  width: 340px;
  max-width: calc(100% - 50px);
  height: 2px;

  margin: 5px auto 40px;

  background: #E9DAFF;

  border-radius: 999px;}

body.home .philosophy .reason-line::after {
  content: "";

  position: absolute;

  right: 0;
  top: 50%;

  width: 8px;
  height: 8px;

  transform: translateY(-50%);

  border-radius: 50%;

  background: #E9DAFF;}


/* 02だけ丸を左側へ */

body.home .philosophy
.reason-head.reverse ~ .reason-line::after {
  left: 0;
  right: 5px;}

body.home .philosophy .reason-head.reverse {
  margin-top: -20px;
  margin-bottom: 0;
  gap: 15px;}

/* =========================
   ラベンダー装飾
========================= */

body.home .philosophy .philo-lavender1 {
  position: absolute;

  top: -105px;
  right: 5px;

  width: 85px;

  opacity: .15;

  transform: rotate(35deg);

  pointer-events: none;
  z-index: 1;}

body.home .philosophy .philo-lavender2 {
  position: absolute;

  top: -120px;
  left: -2px;

  width: 80px;

  opacity: .15;

  transform: rotate(145deg);

  pointer-events: none;
  z-index: 1;}

body.home .philosophy .philo-lavender3 {
  position: absolute;

  top: -105px;
  right: -5px;

  width: 85px;

  opacity: .15;

  transform: rotate(28deg);

  pointer-events: none;
  z-index: 1;}

body.home .philosophy .philo-lavender1 img,
body.home .philosophy .philo-lavender2 img,
body.home .philosophy .philo-lavender3 img {
  display: block;

  width: 100%;
  height: auto;}


/* =========================
   左下の葉っぱ
========================= */

body.home .philosophy .philo-leaf {
  position: absolute;

  bottom: -90px;
  left: -75px;

  width: 110px;

  opacity: .25;

  transform: rotate(155deg);

  pointer-events: none;
  z-index: 1;}

body.home .philosophy .philo-leaf img {
  display: block;

  width: 100%;
  height: auto;}

/* ====================================
   体験の流れ
==================================== */

body.home .flow {
  position: relative;
  overflow: hidden;
  padding: 50px 18px 30px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  background:
    radial-gradient(
      circle at top left,
      rgba(201,176,227,.35),
      transparent 28%
    ),
    radial-gradient(
      circle at bottom right,
      rgba(201,176,227,.35),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #fdfcff 0%,
      #f8f5fc 100%
    );

  text-align: left;}


/* =========================
   タイトル
========================= */

body.home .flow h2 {
  margin: 0 0 -50px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  text-align: center;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;}

body.home .flow h2::before,
body.home .flow h2::after {
  content: none !important;
  display: none !important;}

body.home .flow h2 span {
  display: block;}


/* GrowHappilyでの */

body.home .flow h2 .label {
  display: block;
  width: max-content;

  margin: 0 auto 4px !important;
  padding: 3px 20px !important;

  border: 1px solid #716581 !important;
  border-radius: 999px !important;
  background: #fff !important;

  color: #716581;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;}


/* ご体験の流れ */

body.home .flow h2 .title {
  display: block;

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

  color: #716581;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;}


/* タイトル下の装飾 */

body.home .flow-line {
  width: 260px;
  max-width: 100%;
  margin: 50px auto 30px;}

body.home .flow-line img {
  display: block;
  width: 100%;
  height: auto;}


/* =========================
   FLOWカード
========================= */

body.home .flow-card {
  position: relative;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fffefd 100%
    );

  border-radius: 24px;
  padding: 22px 15px 20px;
  margin: 0 auto 28px;

  box-shadow:
    0 8px 24px rgba(113,101,129,.08),
    0 2px 8px rgba(113,101,129,.05);

  border: 1px solid rgba(233,218,255,.65);
  overflow: visible;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;}
/* =========================
   FLOW スクロールアニメーション
========================= */

body.home .flow-card {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity .8s ease,
    transform .8s ease;
}

body.home .flow-card.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* カード下の三角 */

body.home .flow-card::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -18px;

  transform: translateX(-50%);

  width: 50px;
  height: 20px;

  background: #faf8fd;

  clip-path:
    polygon(
      50% 100%,
      0 0,
      100% 0
    );

  filter:
    drop-shadow(
      0 6px 8px rgba(113,101,129,.08)
    );

  z-index: 2;}

body.home .flow-card:last-child::after {
  display: none;}


/* =========================
   01〜05 見出し
========================= */

body.home .flow-head {
  display: flex;
  align-items: center;
  gap: 8px;

  margin: 0 8px 14px;

  position: relative;
  z-index: 2;}


/* 01〜05 */

body.home .flow-num {
  flex-shrink: 0;

  text-align: center;
  color: #b59bd5;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 40px;
  font-weight: 400;
  line-height: 1;

  white-space: nowrap;}


/* ミモザ */

body.home .flow-img {
  width: 20px;
  display: block;

  margin-left: -2px;
  margin-bottom: -2px;

  opacity: .55;

  transform: rotate(20deg);}

body.home .flow-img img {
  display: block;
  width: 100%;
  height: auto;}


/* 各カードの見出し */

body.home .flow-head h3 {
  margin: 0 0 -8px !important;
  padding: 0 !important;

  color: #5d4b73;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;

  border: none !important;
  background: none !important;
  box-shadow: none !important;}

body.home .flow-head h3::before,
body.home .flow-head h3::after {
  content: none !important;
  display: none !important;}


/* =========================
   点線
========================= */

body.home .flow-card > .reason-border {
  width: 100%;
  height: 2px;

  margin: 12px 4px 20px;

  background:
    repeating-linear-gradient(
      to right,
      #d9cfea 0 3px,
      transparent 3px 8px
    );}

/* =========================
   写真
========================= */

body.home .flow-photo {
  width: 100%;
  max-width: 280px;
  height: 190px;

  margin: 18px auto 24px;

  border-radius: 20px;
  overflow: hidden;

  box-shadow:
    0 8px 15px rgba(0,0,0,.08);}

body.home .flow-photo img {
  display: block;

  width: 100%;
  max-width: none;
  height: 100%;

  margin: 0;

  object-fit: cover;
  object-position: center;}

/* =========================
   本文
========================= */

body.home .flow-text {
  max-width: 275px;

  margin: 0 auto;

  text-align: center;

  color: #595757;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  line-height: 2;
  font-size: 16px;
  font-weight: 400;}

body.home .flow-text span {
  color: #716581;
  font-weight: 600;}

body.home .flow-text .first {
  color: #716581;
  font-weight: 700;}


/* =========================
   所要時間
========================= */

body.home .flow-time {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  width: 150px;

  margin: 24px auto 0;
  padding: 10px 0;

  border-radius: 999px;

  background: #f7f3fc;
  border: 1px solid #e5d8f3;

  color: #8c6aac;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 14px;
  font-weight: 500;}

body.home .flow-time img {
  width: 18px;
  height: 18px;

  flex-shrink: 0;}

body.home .flow-time span {
  margin-top: 2px;
  line-height: 1;}


/* =========================
   体験予約ボタン
========================= */

body.home .purple-button {
  display: flex;
  justify-content: center;
  align-items: center;

  gap: 0;

  width: 88%;

  margin: 10px auto;
  padding: 10px 20px;

  color: #fff;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 16px;
  font-weight: 600;
  letter-spacing: .08em;

  text-decoration: none;

  border-radius: 999px;
  border: none;

  background:
    linear-gradient(
      135deg,
      #8a72a9 0%,
      #716581 100%
    );

  box-shadow:
    0 10px 20px rgba(113,101,129,.22);

  transition: .25s;

  position: relative;
  overflow: hidden;}

body.home .purple-button::before {
  content: "";

  position: absolute;
  top: 0;
  left: -130%;

  width: 55%;
  height: 100%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.35),
      transparent
    );

  transform: skewX(-25deg);

  transition: .8s;}

body.home .purple-button:hover::before {
  left: 160%;}

body.home .purple-button::after {
  content: "›";

  font-size: 22px;

  margin-left: 8px;

  transition: .25s;}

body.home .purple-button:hover::after {
  transform: translateX(5px);}

body.home .purple-button:hover {
  transform: translateY(-2px);

  box-shadow:
    0 16px 28px rgba(113,101,129,.28);}

body.home .purple-button:active {
  transform: translateY(1px);}


/* FLOW内だけの位置調整 */

body.home .flow .purple-button {
  width: 88%;
  max-width: 300px;

  margin: 0 auto;}

/* ====================================
   Before & After
==================================== */

body.home .before-after {
  position: relative;
  z-index: 1;

  padding: 50px 18px;

  background: #f5f5f5;
  text-align: center;
  overflow: hidden;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;}

/* ====================================
   Before&After タイトル前の不要なpだけ削除
==================================== */

body.home .before-after .leaf-frame > p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;}

/* 葉っぱ画像の間にWordPressが自動生成した改行を消す */
body.home .before-after .leaf-frame > p:first-of-type br {
  display: none !important;}

/* 葉っぱが入っているp自体の高さを画像に引っ張らせない */
body.home .before-after .leaf-frame > p:first-of-type {
  line-height: 0 !important;
  font-size: 0 !important;}

/* =========================
   葉っぱフレーム
========================= */

body.home .before-after .leaf-frame {
  position: relative;
  overflow: visible;

  padding: 30px 0;

  border-radius: 18px;
  border: 1px solid rgba(191,207,185,.6);
}


/* =========================
   四隅のフレーム装飾
========================= */

body.home .before-after .leaf-frame span {
  position: absolute;

  width: 22px;
  height: 22px;}


/* 左上 */

body.home .before-after .leaf-frame::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;

  width: 22px;
  height: 22px;

  border-top: 1.5px solid #BFCFB9;
  border-left: 1.5px solid #BFCFB9;

  border-radius: 12px 0 0 0;}


/* 右上 */

body.home .before-after .leaf-frame::after {
  content: "";

  position: absolute;
  top: 0;
  right: 0;

  width: 22px;
  height: 22px;

  border-top: 1.5px solid #BFCFB9;
  border-right: 1.5px solid #BFCFB9;

  border-radius: 0 12px 0 0;}


/* 左下 */

body.home .before-after .bottom-left {
  bottom: 0;
  left: 0;

  border-bottom: 1.5px solid #BFCFB9;
  border-left: 1.5px solid #BFCFB9;

  border-radius: 0 0 0 12px;}


/* 右下 */

body.home .before-after .bottom-right {
  bottom: 0;
  right: 0;

  border-bottom: 1.5px solid #BFCFB9;
  border-right: 1.5px solid #BFCFB9;

  border-radius: 0 0 12px 0;}


/* =========================
   葉っぱ装飾
========================= */

body.home .before-after .leaf {
  position: absolute;

  width: 90px;

  opacity: .15;

  pointer-events: none;
  z-index: 0;}


/* 左上 */

body.home .before-after .leaf-top-left {
  width: 100px;
  top: -100px;
  left: -80px;

  transform: rotate(130deg);}


/* 右上 */

body.home .before-after .leaf-top-right {
  width: 130px;

  top: 17%;
  right: -100px;

  transform:
    scaleX(-1)
    rotate(160deg);

  opacity: .3;}


/* 左下 */

body.home .before-after .leaf-bottom-left {
  width: 130px;

  bottom: 32%;
  left: -80px;

  transform: rotate(170deg);

  opacity: .15;}


/* 右下 */

body.home .before-after .leaf-bottom-right {
  width: 115px;

  bottom: -95px;
  right: 0;

  transform:
    scaleX(-1)
    rotate(-60deg);

  opacity: .15;}


/* =========================
   タイトル
========================= */

body.home .before-after h2 {
  position: relative;
  z-index: 2;

  margin: 0 0 -10px !important;
  padding: 0 !important;

  color: #716581;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;

  text-align: center;

  border: none !important;
  background: none !important;
  box-shadow: none !important;}

body.home .before-after h2::before,
body.home .before-after h2::after {
  content: none !important;
  display: none !important;}


/* タイトル下装飾 */

body.home .before-after .philosophy-line {
  position: relative;
  z-index: 2;

  width: 220px;
  max-width: 100%;

  margin: 5px auto 20px;}

body.home .before-after .philosophy-line img {
  display: block;

  width: 100%;
  height: auto;}


/* =========================
   Before & After画像
========================= */

body.home .before-after .survey01 {
  position: relative;
  z-index: 2;

  width: 100%;
  max-width: 260px;

  margin: 10px auto 32px;}

body.home .before-after .survey01 img {
  display: block;

  width: 100%;
  height: auto;

  margin: -5px auto 0;

  border-radius: 24px;

  box-shadow:
    0 8px 24px rgba(113,101,129,.08),
    0 2px 8px rgba(113,101,129,.05);}

/* =========================
   こんな方にオススメ
========================= */

body.home .before-after h3.recommend-title {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  margin: 36px 0 24px !important;
  padding: 0 !important;

  color: #5d4b73;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;

  white-space: nowrap;

  border: none !important;
  border-bottom: none !important;
  background: none !important;
  box-shadow: none !important;}


/* 左右の紫ライン */
body.home .before-after h3.recommend-title::before,
body.home .before-after h3.recommend-title::after {
  content: "" !important;

  position: static !important;

  display: block !important;
  flex: 0 0 32px;

  width: 32px !important;
  height: 1px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #c9b6d9 !important;

  border: none !important;
  border-bottom: none !important;

  overflow: visible !important;}
/* =========================
   チェックリスト
========================= */

body.home .before-after .check-list {
  position: relative;
  z-index: 2;

  margin: 24px 10px 28px;
  padding: 0;

  list-style: none;

  text-align: left;

  color: #595757;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 16px;
  line-height: 2;}

body.home .before-after .check-list li {
  margin-bottom: 12px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;}

body.home .before-after .check-list li::before {
  content: "☑";

  margin-right: 4px;

  color: #716581;}

body.home .before-after .check-list li:nth-child(6) {
  white-space: nowrap;}

/* =========================
   吹き出し
========================= */

body.home .before-after .speech {
  position: relative;
  z-index: 2;

  width: calc(100% - 56px);
  max-width: 320px;

  margin: 0 auto -25px;
  padding: 18px;

  color: #595757;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 16px;
  line-height: 1.8;

  text-align: center;

  border: 1px solid #d9cfea;
  border-radius: 12px;

  background: #fff;

  box-shadow:
    0 4px 12px rgb(71 49 92 / 12%);

  animation:
    beforeAfterFloat 4s ease-in-out infinite;}


/* 吹き出し外側 */

body.home .before-after .speech::before {
  content: "";

  position: absolute;

  bottom: -14px;
  left: 50%;

  transform: translateX(-50%);

  border-width: 14px 8px 0 8px;
  border-style: solid;
  border-color:
    #d9cfea
    transparent
    transparent
    transparent;}


/* 吹き出し内側 */

body.home .before-after .speech::after {
  content: "";

  position: absolute;

  bottom: -12px;
  left: 50%;

  transform: translateX(-52%);

  border-width: 12px 7px 0 7px;
  border-style: solid;
  border-color:
    #fff
    transparent
    transparent
    transparent;}


/* 吹き出しアニメーション */

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

  50% {
    transform: translateY(-6px);
  }
}



/* ========================================
   BEFORE AFTER インストラクター画像
======================================== */

body.home .before-after .beforeafter-instructor {
  position: relative;
  z-index: 2;
}

body.home .before-after .beforeafter-instructor img {
  display: block;

  width: 130px;
  max-width: 100%;
  height: auto;
  object-fit: contain;

  margin: -10px auto -50px;
}



/* =========================
   体験予約ボタン
========================= */

body.home .before-after .purple-button {
  position: relative;
  z-index: 2;

  width: 88%;
  max-width: 300px;

  margin: 50px auto 10px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;}

/* ====================================
   VOICE
==================================== */

body.home .voices {
  position: relative;
  overflow: hidden;
  z-index: 2;
  padding: 90px 18px 30px;
  background: linear-gradient(
    180deg,
    #fffefb 0%,
    #faf7ff 100%
  );
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;}


/* ====================================
   背景装飾
==================================== */

/* 上の斜め切り替え */
body.home .voices::before {
  content: "";
  position: absolute;
  top: -55px;
  left: 0;
  width: 100%;
  height: 120px;
  background: #f5f5f5;
  transform: skewY(-7deg);
  transform-origin: left top;
  z-index: 1;}

/* 左上クリーム装飾 */
body.home .voices::after {
  content: "";
  position: absolute;
  top: -50px;
  left: -100px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255,252,200,.55) 0%,
    rgba(255,252,200,.25) 45%,
    rgba(255,252,200,.08) 70%,
    rgba(255,252,200,0) 100%
  );
  z-index: 0;}

/* 右下パープル装飾 */
body.home .voices .corner-purple {
  position: absolute;
  right: -75px;
  bottom: -10px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(195,173,223,.7) 0%,
    rgba(195,173,223,.35) 60%,
    rgba(195,173,223,0) 70%
  );
  opacity: .35;
  z-index: 1;}

/* コンテンツを装飾より前面へ */
body.home .voice-heading,
body.home .voice-card,
body.home .voice-btn {
  position: relative;
  z-index: 3;}


/* ====================================
   花装飾
==================================== */

body.home .voice-flower-left {
  position: absolute;
  left: -30px;
  top: 90px;
  z-index: 1;
  opacity: .3;}

body.home .voice-flower-left img {
  width: 140px;
  height: auto;}

body.home .voice-flower-right {
  position: absolute;
  right: -10px;
  top: 190px;
  width: 30%;
  z-index: 1;
  opacity: .35;}

body.home .voice-flower-right img {
  width: 100%;
  height: auto;}

body.home .voice-flower2-right {
  position: absolute;
  right: 20px;
  bottom: -10px;
  z-index: 2;
  opacity: .3;
  transform: rotate(10deg);}

body.home .voice-flower2-right img {
  width: 200px;
  height: auto;}


/* ====================================
   見出し
==================================== */

body.home .voice-heading {
  margin-bottom: 40px;
  text-align: center;}

body.home .voice-en {
  margin: 0;
  color: #8a6ca6;
  font-family: "Times New Roman", serif;
  font-size: 30px;
  font-style: italic;
  letter-spacing: 2px;}

body.home .voice-heading h2 {
  margin: -5px 0 !important;
  padding: 0 !important;

  color: #595757;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;

  border: none !important;
  background: none !important;
  box-shadow: none !important;}

body.home .voice-heading h2::before,
body.home .voice-heading h2::after {
  content: none !important;
  display: none !important;}

body.home .voice-sub {
  margin: 12px 0 0;

  color: #8f829c;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 14px;
  line-height: 1.8;}


/* ====================================
   VOICEカード
==================================== */

body.home .voice-card {
  position: relative;
  z-index: 3;

  display: flex;
  align-items: flex-start;
  gap: 16px;

  min-height: auto;

  margin-bottom: 28px;
  padding: 20px 9px;

  background: #fff;
  border: .5px solid rgba(233,218,255,.6);
  border-radius: 24px;

  box-shadow: 0 5px 15px rgba(0,0,0,.07);

  /* スクロールアニメーション */
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity .8s ease,
    transform .8s ease;
}

body.home .voice-card.is-show {
  opacity: 1;
  transform: translateY(0);
}

body.home .voice-card.reverse {
  transform: translateY(30px);
}

body.home .voice-card.reverse.is-show {
  transform: translateY(0);
}
/* ====================================
   お客様画像
==================================== */

body.home .voice-image {
  width: 95px;
  height: 125px;
  margin-top: 24px;
  flex-shrink: 0;}

body.home .voice-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;}


/* ====================================
   テキスト側
==================================== */

body.home .voice-content {
  flex: 1;
  display: flex;
  flex-direction: column;

  min-width: 0;
  height: 100%;}


/* 星 */

body.home .voice-star {
  color: #f4c63d;
  font-size: 20px;
  letter-spacing: 4px;

  /* 今は常時表示 */
  opacity: 1;
  transform: none;}


/* タイトル */

body.home .voice-content h3 {
  margin: 8px 0 !important;
  padding: 0 !important;

  color: #8a6ca6;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;

  /* Lightning標準の装飾を解除 */
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Lightningの疑似要素による線を非表示 */
body.home .voice-content h3::before,
body.home .voice-content h3::after {
  content: none !important;
  display: none !important;
}

/* 感想本文 */

body.home .voice-content p {
  width: 100%;

  margin: 0 0 10px;
  padding-top: 15px;

  color: #555;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 14px;
  line-height: 2;

  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;

  border-top: 1px dashed #d7c9e5;
  letter-spacing: -0.4px;}


/* ====================================
   年代タグ
==================================== */

body.home .voice-tag {
  display: inline-block;
  align-self: flex-end !important;

  width: fit-content;

  margin-top: auto;
  margin-left: 100px;

  padding: 6px 18px;

  color: #8b6ca6;
  background: #f3e8ff;

  border-radius: 999px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 16px;}


/* ====================================
   その他のお客様の声ボタン
==================================== */

body.home .voice-btn {
  display: block;
  position: relative;
  z-index: 5;

  width: 85%;
  max-width: 300px;

  margin: 40px auto 30px;
  padding: 14px 10px;

  color: #fff !important;

  background: linear-gradient(
    90deg,
    #8c6aac,
    #b195d0
  );

  border-radius: 999px;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 15px;
  font-weight: bold;
  line-height: 1.5;

  text-align: center;
  text-decoration: none !important;

  opacity: 0;
  transform: translateY(15px) scale(.98);
  transition:
   opacity .6s ease,
   transform .6s ease,
  box-shadow .3s ease;
}

body.home .voice-btn.is-show {
  opacity: 1;
  transform: translateY(0) scale(1);
}

body.home .voice-btn:hover {
  color: #fff !important;
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
}
/* ====================================
   DATA
==================================== */

body.home .data {
  position: relative;
  z-index: 3;
  background: #716581;
  padding: 15px 20px 10px;
  margin-top: 20px;}


/* Voice → Data 斜め */

body.home .data::before {
  content: "";
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 60px;
  background: #716581;
  transform: skewY(6deg);
  transform-origin: top left;}
/* WordPressの自動p対策：中身は残してGridだけ正常化 */
body.home .data .age-bar > p,
body.home .data .trigger-bar > p {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;}

/* ====================================
   DATA 文字を明朝体に統一
==================================== */

body.home .data,
body.home .data h2,
body.home .data span,
body.home .data b,
body.home .data .instruction,
body.home .data .instruction2 {
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif !important;}

/* ====================================
   パネル
==================================== */

body.home .data .panel {
  position: relative;
  overflow: hidden;

  margin-top: 0;
  margin-bottom: 40px;
  padding: 35px 14px 28px;

  background: linear-gradient(
    180deg,
    #ffffff,
    #fcfbff
  );

  border: 1px solid rgba(233,218,255,.7);
  border-radius: 35px 0 35px 0;

  box-shadow: 0 12px 32px rgba(113,101,129,.08);

 opacity: 0;
 transform: translateY(30px);
 transition:
  opacity .8s ease,
  transform .8s ease;}


/* Lightningのh2装飾をリセット */

body.home .data .panel h2 {
  position: relative;
  margin-bottom: 5px;
  padding: 0 !important;
  text-align: center;
  border: none !important;
  background: none !important;
  box-shadow: none !important;}

body.home .data .panel h2::before,
body.home .data .panel h2::after {
  content: none !important;
  display: none !important;}


/* 数字は今は常時表示 */

body.home .data .panel b {
  opacity: 1;}


/* ====================================
   年齢層パネル装飾
==================================== */

body.home .data .panel-decoration {
  position: absolute;
  pointer-events: none;}

body.home .data .panel-decoration.right {
  bottom: -30px;
  right: -30px;
  width: 150px;
  height: 150px;

  background: radial-gradient(
    circle,
    rgba(217, 199, 239, .35) 0%,
    rgba(217, 199, 239, .12) 45%,
    rgba(217, 199, 239, .04) 70%,
    transparent 100%
  );
  filter: blur(10px);

  border-radius: 50%;
  z-index: 0;}


/* 女性のお客様 */

body.home .data .client-group {
  position: absolute;
  top: 15px;
  left: 10px;
  width: 110px;
  height: auto;
  opacity: .9;
  z-index: 0;}


/* 右下の葉っぱ */

body.home .data .leaf-right {
  position: absolute;
  bottom: -30px;
  right: 30px;
  width: 80px;
  height: auto;
  transform: rotate(20deg);
  opacity: .2;
  z-index: 1;}


/* ====================================
   年齢層タイトル
==================================== */

body.home .data .age-panel h2 {
  width: 200px;
  margin: 0 0 16px 105px;
  color: var(--purple);
  font-size: 22px;
  line-height: 1.6;
  text-align: right;}

body.home .data .title-line {
  width: 130px;
  height: 3px;
  margin: 0 45px 20px auto;

  border-radius: 999px;

  background: linear-gradient(
    270deg,
    #D8CAE7,
    transparent
  );}


/* ====================================
   年齢層グラフ
==================================== */

body.home .data .age-bar {
  display: grid;
  grid-template-columns: 85px 1fr 32px;
  align-items: center;

  gap: 15px;

  margin-bottom: 14px;
  padding: 10px 12px;

  background: #fff;
  border-radius: 14px;

  box-shadow: 0 4px 12px rgba(113,101,129,.06);

  text-align: right;}

body.home .data .age-bar span {
  font-size: 14px;
  color: #595757;}

body.home .data .age-bar b {
  font-size: 16px;
  font-weight: 700;
  color: var(--purple);}


/* ====================================
   棒グラフ共通
==================================== */

body.home .data .bar-bg {
  height: 20px;
  background: #ece8f2;
  border-radius: 999px;
  overflow: hidden;}

body.home .data .bar-bg i {
  position: relative;
  display: block;

  width: 0;
  transition: width 1.2s ease .3s;
  height: 100%;

  border-radius: 999px;

  background: linear-gradient(
    90deg,
    #b79ad5,
    #8c6aac
  );}

body.home .data .panel.is-show {
  opacity: 1;
  transform: translateY(0);
}

body.home .data .panel.is-show .bar-bg i {
  width: var(--w);
}

body.home .data .bar-bg i::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    rgba(255,255,255,.35),
    transparent
  );}


/* ====================================
   年齢層 説明文
==================================== */

body.home .data .instruction {
  position: relative;
  z-index: 5;

  margin: 30px 0 18px;
  padding: 16px 10px 16px;

  color: var(--dark-gray);
  background: #faf7ff92;

  font-size: 16px;
  line-height: 1.9;
  text-align: center;

  text-shadow: 4px 4px 4px rgb(251,251,251);

  border-radius: 18px;

  box-shadow:
    inset 0 0 0 1px rgba(233,218,255,.6);}

body.home .data .age-panel h2,
body.home .data .age-panel .title-line,
body.home .data .age-panel .age-bar,
body.home .data .age-panel .instruction {
  position: relative;
  z-index: 5;}


/* ====================================
   ご体験のきっかけ タイトル
==================================== */

body.home .data .trigger-title2 {
  position: relative;
  width: fit-content;
  margin-left: 20px;
  margin-bottom: 40px;
  z-index: 2;}

body.home .data .trigger-title2 h2 {
  width: 200px;
  margin: 20px 0 16px -20px;
  font-size: 20px;
  line-height: 1.6;
  text-align: left;}

body.home .data .title-line2 {
  width: 130px;
  height: 3px;
  margin: 0 25px 35px 5px;

  border-radius: 999px;

  background: linear-gradient(
    90deg,
    #D8CAE7,
    transparent
  );}


/* ====================================
   ご体験のきっかけ グラフ
==================================== */

body.home .data .trigger-bar {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: 110px 1fr 35px;
  align-items: center;

  gap: 10px;

  margin-top: 5px;
  margin-bottom: 14px;
  padding: 10px 8px;

  background: #fff;
  border-radius: 14px;

  box-shadow: 0 4px 12px rgba(113,101,129,.06);

  text-align: right;}

body.home .data .trigger-bar span {
  font-size: 12px;
  line-height: 1.4;
  color: #595757;}

body.home .data .trigger-bar b {
  font-size: 16px;
  font-weight: 700;
  color: var(--purple);
  text-align: right;}


/* ====================================
   ご体験のきっかけ 装飾
==================================== */

body.home .data .panel-decoration2.right {
  position: absolute;

  left: -90px;
  right: auto;
  bottom: -90px;

  width: 180px;
  height: 180px;

 background: radial-gradient(
    circle,
    rgba(217, 199, 239, .35) 0%,
    rgba(217, 199, 239, .12) 45%,
    rgba(217, 199, 239, .04) 70%,
    transparent 100%
  );
  filter: blur(10px);}


/* 左下の葉っぱ */

body.home .data .leaf-left {
  position: absolute;
  left: 15px;
  bottom: -10px;
  width: 65px;
  height: auto;
  transform: rotate(115deg);
  opacity: .15;
  z-index: 0;}


/* リフォーマー */

body.home .data .reformer {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 105px;
  height: auto;
  z-index: 1;}


/* ====================================
   ご体験のきっかけ 説明文
==================================== */

body.home .data .instruction2 {
  position: relative;
  z-index: 5;

  margin: 30px -5px 18px;
  padding: 16px 7px 16px;

  color: var(--dark-gray);
  background: rgba(250, 247, 255, 0.45);

  font-size: 16px;
  line-height: 2;
  text-align: center;

  text-shadow: 4px 4px 4px rgb(251,251,251);

  border-radius: 18px;

  box-shadow:
    inset 0 0 0 1px rgba(233,218,255,.6);}

/* ====================================
   INSTRUCTOR
==================================== */

body.home .instructor {
  background: #faf7ff;
  line-height: 2;
  box-shadow: inset 0 0 0 1px rgba(233, 218, 255, .6);
  position: relative;
  padding: 60px 18px 80px;
  overflow: hidden;}

/* 上の斜め帯 */
body.home .instructor::before {
  content: "";
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 120px;
  background: #716581;
  transform: skewY(-6deg);
  transform-origin: left top;
  z-index: 1;}


/* =========================
   見出し
========================= */

body.home .instructor-heading {
  position: relative;
  text-align: center;
  margin-bottom: 22px;
  z-index: 2;}

body.home .instructor-en {
  font-size: 34px;
  font-style: italic;
  font-weight: 500;
  color: #8a6ca6;
  margin: 0 0 -12px;}

body.home .instructor-heading h2 {
  position: relative;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  font-size: 24px;
  color: var(--dark-gray);
  margin: 0;}

/* Lightningのh2装飾を解除 */
body.home .instructor-heading h2::before,
body.home .instructor-heading h2::after {
  content: none !important;
  display: none !important;}

body.home .leaf-bg {
  position: absolute;
  right: -30px;
  top: 20px;
  width: 50%;
  opacity: .08;}

body.home .leaf-bg img {
  width: 220px;}


/* =========================
   メイン白カード
========================= */

body.home .profile-card {
  position: relative;
  background: #fff;
  border-radius: 40px;
  padding: 40px 20px;
  border: 1px solid rgba(233, 218, 255, .9);
  box-shadow: 0 18px 45px rgba(113, 101, 129, .08);
  z-index: 1;}


/* =========================
   プロフィール写真
========================= */

body.home .profile-top {
  text-align: center;}

body.home .profile-photo-wrap {
  width: 280px;
  height: 280px;
  margin: -130px auto -5px;
  position: relative;

  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity .8s ease,
    transform .8s ease;
}

body.home .profile-photo-wrap.is-show {
  opacity: 1;
  transform: translateY(0);
}

body.home .profile-photo {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  position: relative;
  margin: -50px 17px 0;
  z-index: 2;}


/* =========================
   資格バッジ・名前
========================= */
body.home .profile-info {
  opacity: 0;
  transform: translateY(25px);
  transition:
    opacity .8s ease,
    transform .8s ease;
}

body.home .profile-info.is-show {
  opacity: 1;
  transform: translateY(0);
}

body.home .profile-role-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  margin: 80px 0 40px;}

body.home .role-badge {
  background: linear-gradient(135deg, #fffef7, #fff8df);
  border: 1px solid #c9b0e3;
  color: #6f6384;
  border-radius: 999px;
  margin-bottom: -10px;
  padding: 10px 18px;
  font-size: 16px;
  font-weight: 600;}

body.home .name-divider {
  position: relative;
  width: 100px;
  margin: 0 auto;}

body.home .name-divider img {
  display: block;
  width: 100%;
  height: auto;}

body.home .profile-name {
  position: relative;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  text-align: center;
  color: #6f6384;
  font-size: 24px;
  letter-spacing: .08em;
  margin: 15px 0 15px;}

/* Lightningのh3装飾を解除 */
body.home .profile-name::before,
body.home .profile-name::after {
  content: none !important;
  display: none !important;}

body.home .profile-name-en {
  font-size: 18px;
  text-align: center;
  font-style: italic;
  color: #8b6ca6;
  margin-top: -10px;}


/* =========================
   MESSAGE
========================= */

body.home .message-box {
  position: relative;
  margin-top: 35px;
  background: linear-gradient(135deg, #fffef7, #fff8df);
  border: 1px solid #ffe8a8;
  border-radius: 20px;
  padding: 25px 10px 0;
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  box-shadow: 0 5px 15px var(--cream);

  opacity: 0;
  transform: translateY(30px);
  transition:
   opacity .8s ease,
   transform .8s ease;}

body.home .message-box.is-show {
  opacity: 1;
  transform: translateY(0);
}

body.home .mimoza2-right {
  position: absolute;
  right: -25px;
  bottom: -25px;
  z-index: 1;}

body.home .mimoza2-right img {
  width: 120px;
  opacity: .15;
  transform: rotate(50deg);}

body.home .message-title-img {
  color: #8b6ca6;
  position: relative;
  font-style: italic;
  text-align: center;
  align-self: center;
  z-index: 2;
  width: 110px;
  height: 110px;
  margin: 0 auto;}

body.home .message-circle {
  display: block;
  width: 100%;
  margin: 0 -18px;}

body.home .message-title-img h3 {
  position: absolute;
  top: 30%;
  left: 42%;
  transform: translate(-50%, -50%);
  margin: 15px 0!important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  color: #fff;
  font-size: 16px;
  font-style: italic;
  font-family: "Times New Roman", serif;
  letter-spacing: .05em;}

/* Lightning h3装飾解除 */
body.home .message-title-img h3::before,
body.home .message-title-img h3::after {
  content: none !important;
  display: none !important;}

body.home .message-text {
  margin: 0;
  padding-left: 16px;
  border-left: 1px solid #d7c9e5;
  line-height: 2.1;
  position: relative;
  z-index: 2;
  font-size: 16px;}


/* =========================
   ABOUT ME
========================= */

body.home .about-box {
  margin-top: 50px;}

body.home .about-box-title {
  position: relative;
  text-align: center;
  color: #6f6384;
  font-size: 28px;
  margin: -10px 0 10px;
  padding: 0 !important;
  border: none !important;
  background: none !important;}

body.home .about-box-title::before,
body.home .about-box-title::after {
  content: none !important;
  display: none !important;}

body.home .about-grid {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: -5px;}


/* =========================
   ABOUTカード
========================= */

body.home .about-item-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: 26px;
  padding: 0 24px;
  box-shadow: 0 12px 25px rgba(0, 0, 0, .1);
  border: 1px solid #e9d9fa;
  z-index: 1;

  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity .8s ease,
    transform .8s ease;
}

body.home .about-item-card.is-show {
  opacity: 1;
  transform: translateY(0);
}

body.home .about-item-card:hover {
  transform: translateY(-3px);}


/* 葉っぱ */
body.home .about-leaf {
  position: absolute;
  top: -110px;
  left: -40px;
  width: 100px;
  opacity: .1;
  transform: rotate(10deg);
  z-index: 0;}

body.home .about-leaf2 {
  position: absolute;
  top: 88%;
  right: -40px;
  width: 100px;
  opacity: .1;
  transform: rotate(200deg);
  z-index: 0;}


/* =========================
   ABOUTアイコン
========================= */

body.home .about-icon {
  position: relative;
  width: 110px;
  height: 110px;
  margin: 0 auto;}

body.home .about-icon-circle {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 30% 30%,
      #fffefc,
      #fff3be
    );
  box-shadow:
    0 10px 18px rgba(255, 216, 90, .25),
    inset 0 2px 4px rgba(255, 255, 255, .8);
  z-index: 1;
  width: 105px;
  height: 105px;}

body.home .about-icon-img {
  position: absolute;
  top: 50%;
  left: 48%;
  width: 75%;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 2;}


/* =========================
   ABOUT テキスト
========================= */

body.home .about-item-title {
  position: relative;
  text-align: center;
  color: #6f6384;
  font-size: 22px;
  margin: 20px 0 14px;
  padding: 0 !important;
  border: none !important;
  background: none !important;}

/* Lightning装飾をリセットしつつ
   元デザインの下線だけ残す */
body.home .about-item-title::before {
  content: none !important;
  display: none !important;}

body.home .about-item-title::after {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 80px !important;
  height: 1px !important;
  margin: 8px auto 0 !important;
  background: #d9cfea !important;
  border: none !important;}

body.home .about-item-text {
  line-height: 1.9;
  color: #595757;
  text-align: center;
  max-width: 240px;
  margin: auto;}


/* =========================
   所有資格
========================= */

body.home .qualification-box,
body.home .career-box {
  position: relative;
  border: 1px solid #ece2fa;
  box-shadow: 0 8px 22px rgba(113, 101, 129, .08);
  margin-top: 40px;
  background: #faf7ff;
  border-radius: 24px;
  padding: 25px;
  z-index: 2;}

body.home .qualification-box {
 opacity: 0;
 transform: translateX(-30px);
 transition:
  opacity .8s ease,
  transform .8s ease;}

body.home .qualification-box.is-show {
  opacity: 1;
  transform: translateX(0);
}

body.home .qualification-box h4,
body.home .career-box h4 {
  text-align: center;
  color: #6f6384;
  font-size: 22px;
  margin-top: 0;
  margin-bottom: 10px;}

body.home .qualification-box ul {
  padding: 0;
  margin: 0;
  list-style: none;
  line-height: 1.5;}

body.home .qualification-box li {
  padding: 18px 0;
  border-bottom: 1px dashed #d7c9e5;
  text-align: center;}

body.home .qualification-box li:last-child {
  border: none;}


/* =========================
   経歴
========================= */

body.home .career-box {
  margin-top: 40px;}

body.home .career-item {
  position: relative;
  padding-left: 45px;
  margin-bottom: 25px;

  opacity: 0;
  transform: translateY(25px);
  transition:
   opacity .8s ease,
   transform .8s ease;}

body.home .career-item.is-show {
  opacity: 1;
  transform: translateY(0);
}

body.home .career-item::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 8px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #a98bc8;}

body.home .career-item::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 22px;
  width: 2px;
  height: 95px;
  background: #d9cfea;}

body.home .career-item:last-child::after {
  display: none;}

body.home .career-item span {
  display: block;
  color: #8b6ca6;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 4px;
  min-width: 50px;}

body.home .career-item p {
  margin: 0;
  font-size: 16px;}


/* =========================
   下部の葉っぱ
========================= */

body.home .about-leaf3 {
  position: absolute;
  bottom: -85px;
  left: -40px;
  width: 100px;
  opacity: .1;
  transform: rotate(120deg);
  z-index: 0;}


/* =========================
   Instructor内の基本フォント
========================= */

body.home .instructor,
body.home .instructor h2,
body.home .instructor h3,
body.home .instructor h4,
body.home .instructor p,
body.home .instructor span,
body.home .instructor li {
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;}

/* 英字部分は元デザインを優先 */
body.home .message-title-img h3 {
  font-family: "Times New Roman", serif;}

/* 上の空間を消す */
body.home #data + p {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;}

body.home .qualification-box h4,
body.home .career-box h4 {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;}

/* ====================================
   PRICE
==================================== */

body.home .price {
  background: linear-gradient(rgb(255, 254, 252), rgb(250, 247, 255));
  margin: 0;
  width: 100%;
  padding: 40px 18px 0;
  box-sizing: border-box;}


/* =========================
   タイトル
========================= */

body.home .price-card {
  width: 100%;
  box-sizing: border-box;
  margin: 24px auto 0;}


body.home .price h2 {
  font-family: "Times New Roman", serif;
  text-align: center;
  font-style: italic;
  letter-spacing: 2px;
  color: #8a6ca6;
  font-size: 32px;
  margin: 0;
  padding: 0 !important;
  border: none !important;
  background: none !important;}

/* Lightningのh2装飾を解除 */
body.home .price h2::before,
body.home .price h2::after {
  content: none !important;
  display: none !important;}


/* =========================
   装飾ライン
========================= */

body.home .price-line {
  width: 65%;
  margin: 0 auto -5px;}

body.home .price-line img {
  display: block;
  width: 100%;
  height: auto;}


/* =========================
   料金カード
========================= */

body.home .price-card {
  min-height: 205px;
  background: #fff;
  border-radius: 28px;
  padding: 30px 25px;
  box-shadow: rgba(0, 0, 0, 0.08) 0px 12px 30px;

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 10px;
  margin-top: 35px;

 opacity: 0;
transform: translateY(30px);
transition:
  opacity .8s ease,
  transform .8s ease;
}

body.home .price-card.is-show {
  opacity: 1;
  transform: translateY(0);
}


/* カードタイトル */
body.home .price-card h3 {
  position: relative;
  font-size: 20px;
  color: rgb(101, 89, 116);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.6;
  margin-bottom: -5px;

  padding: 0 !important;
  border: none !important;
  background: none !important;}

/* Lightningのh3装飾を解除 */
body.home .price-card h3::before,
body.home .price-card h3::after {
  content: none !important;
  display: none !important;}


/* 通常テキスト */
body.home .price-card p {
  font-size: 16px;
  padding: 5px 5px;
  margin: 0;}


/* =========================
   お得表示
========================= */

body.home .price-card .price-save {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 8px 18px;

  background: linear-gradient(
    135deg,
    #fffefc 0%,
    #fff9e8 100%
  );

  border: 1px solid #efe2b6;
  border-radius: 999px;

  font-size: 15px;
  color: #716581;

  margin: 0;
  text-align: center;
  font-weight: 600;}

body.home .price-save span {
  color: #d67c6d;
  font-weight: 700;}


/* =========================
   金額
========================= */

body.home .price-card strong {
  display: inline-block;

  padding: 5px 20px 10px;

  background: linear-gradient(
    180deg,
    #ffffff,
    #E9DAFF
  );

  border-radius: 15px;
  color: #8a6ca6;

  font-size: 24px;

  font-family:
    "Cormorant Garamond",
    serif;

  letter-spacing: .03em;

  box-shadow:
    0 8px 10px
    rgba(113, 101, 129, .15);}

body.home .price-card strong span {
  font-size: 20px;}

body.home .price-tax {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  color: #999;}


/* =========================
   お支払い方法
========================= */

body.home .payment {
  margin: 40px -18px 0;
  padding: 26px 18px;

  color: #ffffff;
  background: #716581;

  font-weight: 700;
  text-align: center;}

body.home .payment h3 {
  position: relative;
  margin: 15px 0 0;
  padding: 0 !important;

  color: #ffffff;
  background: none !important;
  border: none !important;

  font-size: 18px;
  line-height: 2;}

/* Lightningのh3装飾を解除 */
body.home .payment h3::before,
body.home .payment h3::after {
  content: none !important;
  display: none !important;}


/* =========================
   日本語部分
========================= */

body.home .price-card,
body.home .payment {
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;}

/* ====================================
   ACCESS / CONTACT
==================================== */

.access,
.contact {
  position: relative;
  font-size: 18px;
  color: #4f4860;
  background: #ffffff;
  margin: 10px 10px 5px;
  overflow: hidden;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;}


/* ===== 見出し ===== */

body.home .access h2,
body.home .contact h2 {
  position: relative;
  font-family: "Times New Roman", serif;
  font-style: italic;
  padding: 0 !important;
  margin: 40px 10px 10px;
  color: #3c3548;
  font-size: 20px;
  text-align: left;

  border: none !important;
  background: none !important;}


/* Lightningの見出し装飾を解除 */

body.home .access h2::before,
body.home .access h2::after,
body.home .contact h2::before,
body.home .contact h2::after {
  content: none !important;
  display: none !important;}


/* ===== 見出し下の装飾 ===== */

body.home .access-line img {
  display: block;
  width: 35%;
  height: auto;
  margin: -35px -13px 20px 0;}


/* ===== ACCESS ===== */

body.home .access p {
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;
  font-size: 18px;
  margin-left: 20px;}


/* 右側のリフォーマー装飾 */

body.home .lavender-contact {
  position: absolute;
  right: 0;
  width: 130px;
  height: auto;
  margin-top: 50px;
  pointer-events: none;}


/* ===== MAP ===== */

body.home .map {
  width: 100%;
  max-width: 320px;
  margin: 24px auto 0;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid #E9DAFF;
  box-shadow: 0 8px 20px rgba(113, 101, 129, .08);}

body.home .map iframe {
  display: block;
  width: 100%;
  height: 240px;
  border: 0;}

/* WordPressがセクション間に自動生成する空pを消す */
body.home .wrapper > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;}

/* ===== CONTACT ===== */

body.home .contact h2 {
  margin-left: 7px;}

body.home .contact p {
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;
  margin: 4px 0 0 15px;}

body.home .contact .line-button {
  display: block;
  width: 85%;
  margin: 35px auto 20px;
  padding: 12px 15px;

  background: #E9DAFF;
  border-radius: 7px;

  color: #4f4860;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;
  font-size: 15px;
  text-align: center;
  text-decoration: none;

  box-sizing: border-box;}

body.home .contact p:has(.line-button) {
  margin: 0 !important;}

body.home section#access + p {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;}

/* ====================================
   FAQ
==================================== */

body.home .faq {
  padding: 20px 0 28px;
  background: #71658114;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;}


/* ===== FAQ見出し ===== */

body.home .faq h2 {
  position: relative;
  margin: 0 18px 8px;
  padding-top: 8px;
  padding-bottom: 0 !important;

  color: #3c3548;
  font-size: 22px;
  text-align: left;

  border: none !important;
  background: none !important;}


/* Lightningのh2装飾を解除 */

body.home .faq h2::before,
body.home .faq h2::after {
  content: none !important;
  display: none !important;}


/* ===== 質問・回答 共通 ===== */

body.home .faq details {
  border-top: 1px solid #aaa;
  background: #fff;
  font-size: 12px;}

body.home .faq details:last-child {
  border-bottom: 1px solid #aaa;}


/* ===== 質問 ===== */

body.home .faq summary {
  position: relative;
  padding: 7px 34px 7px 18px;

  cursor: pointer;
  list-style: none;}


/* ブラウザ標準の三角を非表示 */

body.home .faq summary::-webkit-details-marker {
  display: none;}


/* ＋マーク */

body.home .faq summary::after {
  content: "+";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);

  font-size: 20px;}


/* 開いたときは − */

body.home .faq details[open] summary::after {
  content: "−";}


/* ===== 回答 ===== */

body.home .faq details p {
  margin: 0;
  padding: 8px 18px 12px;
  background-color: #d7c9e5;

  font-size: 12px;
  line-height: 1.8;}

/* ====================================
   FIXED RESERVE
==================================== */

body.home .fixed-reserve {
  position: fixed;
  bottom: 0;
  left: 0;

  width: 100%;
  height: 100px;

  display: flex;
  z-index: 9999;

  background: #fff;
  padding: 10px 0;
  box-sizing: border-box;

  box-shadow: 0 -3px 12px rgba(0, 0, 0, .08);

  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
  transition:
    opacity .4s ease,
    transform .4s ease,
    visibility .4s ease;
}

body.home .fixed-reserve.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* ===== 共通ボタン ===== */

body.home .reserve-btn {
  flex: 1;
  height: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  position: relative;
  margin: 0;

  text-decoration: none;
  transition: .3s;}

body.home .reserve-btn:hover {
  filter: brightness(.97);
  text-decoration: none;}


/* ===== Mail ===== */

body.home .reserve-btn.mail {
  background: #ffffff;

  border-top: 2px dotted #cfcfcf;
  border-bottom: 2px dotted #cfcfcf;
  border-right: 1px solid #ece6f5;}


/* ===== LINE ===== */

body.home .reserve-btn.line {
  background: #E9DAFF;

  border-top: 2px dotted #cfcfcf;
  border-bottom: 2px dotted #cfcfcf;}


/* ===== 英語 ===== */

body.home .fixed-reserve .en {
  font-family: "Times New Roman", serif;
  color: #7b6c9d;

  font-size: 14px;
  margin-top: 2px;
  margin-bottom: 2px;

  letter-spacing: .05em;
  line-height: 1.1;
  left: 7px;
  bottom: -2px;}


/* ===== 日本語 ===== */

body.home .fixed-reserve .ja {
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;

  color: #4f4860;
  font-size: 18px;
  margin-bottom: 5px;

  font-weight: 500;
  line-height: 1.1;}

body.home .fixed-reserve .en,
body.home .fixed-reserve .ja {
  position: relative;
  top: 3px;}

/* ===== 葉っぱ ===== */

body.home .leaf-reserve {
  position: absolute;
  top: 2px;
  left: 50%;

  width: 10px;
  height: auto !important;
  max-width: none;
  aspect-ratio: auto;
  object-fit: contain;　
  margin-left: -5px;
  transform: rotate(30deg);}


/* ====================================
   GrowHappily 共通フッター
==================================== */

.gh-footer {
  width: 100%;
  padding: 35px 20px 70px;
  box-sizing: border-box;

  background: #fffde0;
  color: #4f4860;
  text-align: center;

  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;
}

.gh-footer-inner {
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
}

/* GrowHappily */
.gh-footer-name {
  margin: 0 0 5px;
  color: #716581;

  font-family: "Times New Roman", serif;
  font-size: 14px;
  font-style: italic;
  letter-spacing: .05em;
}

/* スタジオ説明 */
.gh-footer-description {
  margin: 0 0 -20px;
  font-size: 12px;
  line-height: 1.8;
}

/* プライバシーポリシー */
.gh-footer-privacy {
  display: inline-block;
  margin-bottom: 25px;

  color: #716581;
  font-size: 13px;
  text-decoration: underline;
}

/* コピーライト */
.gh-footer-copy {
  margin: -20px 0 5px;
  font-size: 12px;
  letter-spacing: .03em;
}

/* 無断転載について */
.gh-footer-notice {
  margin: 0 0 70px;
  color: #786f84;
  font-size: 11px;
  line-height: 1.8;
}

/* Lightning標準フッターを非表示 */
body.home .site-footer,
body.page-id-13 .site-footer {
  display: none !important;
}

/* =========================
   PC版 背景画像
========================= */

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

  /* PC画面の背景 */
  body {
    background-color: #DCE8D7 !important;
    background-image: url("https://wp.growhappily.net/wp-content/uploads/2026/10/pc-back-ground.jpg") !important;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }

  /* 中央のホームページ */
  .site {
    width: 390px;
    max-width: 100%;
    margin: 0 auto;
    background-color: #fffdf8;
  }

}


/* =========================
   PC版 中央コンテンツ
   ふんわり浮き上がるシャドウ
========================= */

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

  body.home .site {
    position: relative;

    box-shadow:
      0 0 35px 15px rgba(255,255,255,.75),
      0 0 75px 30px rgba(255,255,255,.35),
      0 10px 35px rgba(79,72,96,.10);
  }

}

/* =========================
   BLOG フッター幅調整
========================= */

body.blog .gh-footer,
body.single-post .gh-footer {
  width: 100% !important;
  max-width: 390px !important;
  margin: 0 auto !important;

  background: #FFFDEB !important;
  box-sizing: border-box !important;
}

body.blog .gh-footer-description,
body.single-post .gh-footer-description {
  margin: 0 0 0px !important;
}

