/* 右クリック禁止 */
body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

/* 画像を右クリック禁止 */
img {
    pointer-events: none;
}

.wpcf7-submit:disabled {
background-color: #999;
}

/* スクロール可能な同意文言の枠 */
.cf7-agreement-text {
    display: block;
    border: 1px solid #ccc; /* 枠線 */
    padding: 3px; /* 内側の余白をさらに狭くする */
    height: 100px; /* ボックスの高さをさらに低くする */
    overflow-y: scroll; /* 縦スクロールを有効にする */
    margin-bottom: 5px; /* 同意チェックボックスとの間の余白 */
    font-size: 0.9rem; /* 文字サイズ */
    line-height: 1.3; /* 行間をさらに詰める */
    background-color: #f9f9f9; /* 背景色 */
}

/* 同意文言のフォントサイズや行の高さを調整 */
.cf7-agreement-text-inner {
    font-size: 0.9rem;
    line-height: 1.4; /* 行間をさらに詰める */
}
.button-container {
  display: flex;
  justify-content: center;
}
/* LPテストページ（ID: 3237）のフッターを非表示 */
.page-id-3237 footer,
.page-3237-XX #footer-widget { /* フッターとフッターウィジェットエリアを非表示にする */
    display: none !important; 
}
/* LPテストページ（ID: 3237）のフォントを変更 */
.page-id-3237 {
    /* フォントをメイリオに設定 */
    font-family: Meiryo, 'メイリオ', 'Hiragino Kaku Gothic ProN', "Hiragino Sans", sans-serif;
    /* 本文の行間も少し広げると、さらに読みやすくなります */
    line-height: 1.7; 
}

/* 見出しもメイリオ（または親しみやすいフォント）に設定 */
.page-id-3237 h1, 
.page-id-3237 h2, 
.page-id-3237 h3 {
    font-family: Meiryo, 'メイリオ', sans-serif;
}
/* LPテストページ（ID: 3237）のフォントをメイリオなどの親しみやすいフォントに変更 */
.page-id-3237 {
    /* フォントをメイリオ系に設定し、行間を広げて可読性を向上 */
    font-family: Meiryo, 'メイリオ', 'Hiragino Kaku Gothic ProN', "Hiragino Sans", sans-serif;
    line-height: 1.7; /* 行間を広げ、長文でも読みやすくします */
}

/* 見出し（H1, H2, H3など）にも同じフォントを適用し、統一感を出す */
.page-id-3237 h1, 
.page-id-3237 h2, 
.page-id-3237 h3 {
    font-family: Meiryo, 'メイリオ', sans-serif;
}

/* このページ（ID:123）だけに適用される設定 */
.page-id-3860 .wp-block-cover p {
    line-height: 2.8 !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 3em !important;
    font-feature-settings: "palt";
}

.page-id-3860 .wp-block-cover strong {
    font-size: 1.1em;
    color: #444;
    display: block;
    margin: 1.5em 0;
}
/* 「wide-line-space」という名前をつけた場所の行間を2倍にする */
.wide-line-space {
    line-height: 1.5 !important;
}
/* =========================================================
   つむぎ種｜共通デザイン
   対象：.tsumugi-post 内のみ
   ========================================================= */


/* =========================
   基本設定
   ========================= */

.tsumugi-post {
  --ts-main: #4f6fb3;
  --ts-main-soft: #eef3ff;

  --ts-accent: #e7a33d;
  --ts-accent-soft: #fff8ea;

  --ts-green: #5e8c73;
  --ts-green-soft: #eef8f2;

  --ts-text: #333333;
  --ts-sub: #666666;
  --ts-border: #e4e7ec;
  --ts-white: #ffffff;

  color: var(--ts-text);
  line-height: 1.9;
  font-size: 16px;
}

.tsumugi-post *,
.tsumugi-post *::before,
.tsumugi-post *::after {
  box-sizing: border-box;
}

.tsumugi-post p {
  margin-top: 0;
  margin-bottom: 1.35em;
}


/* =========================
   セクション
   ========================= */

.tsumugi-post .tsumugi-section {
  margin: 46px 0;
}


/* =========================
   見出し
   H2・H3のみ使用想定
   ========================= */

.tsumugi-post h2 {
  margin: 0 0 22px;
  padding: 0 0 12px;
  border-bottom: 3px solid var(--ts-main);
  font-size: 1.45em;
  line-height: 1.55;
}

.tsumugi-post h3 {
  margin: 28px 0 13px;
  font-size: 1.16em;
  line-height: 1.6;
}


/* =========================================================
   ① 導入ボックス
   ========================================================= */

.tsumugi-post .tsumugi-intro {
  position: relative;
  overflow: hidden;
  padding: 30px 26px;
  border: 1px solid var(--ts-border);
  border-radius: 18px;
  background:
    linear-gradient(
      135deg,
      #f5f8ff 0%,
      #ffffff 62%,
      #fff9ef 100%
    );
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
}

.tsumugi-post .tsumugi-intro::after {
  content: "";
  position: absolute;
  top: -45px;
  right: -45px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: rgba(79, 111, 179, 0.08);
  pointer-events: none;
}

.tsumugi-post .tsumugi-label {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-bottom: 14px;
  padding: 5px 13px;
  border-radius: 999px;
  background: var(--ts-main);
  color: #ffffff;
  font-size: 0.82em;
  font-weight: 700;
  letter-spacing: 0.02em;
}


/* =========================================================
   ② 作文引用ボックス
   ========================================================= */

.tsumugi-post .tsumugi-quote {
  position: relative;
  margin: 25px 0;
  padding: 25px 22px;
  border-left: 5px solid var(--ts-accent);
  border-radius: 0 14px 14px 0;
  background: var(--ts-accent-soft);
}

.tsumugi-post .tsumugi-quote::before {
  content: "“";
  display: block;
  height: 24px;
  margin-bottom: 4px;
  color: var(--ts-accent);
  font-family: Georgia, serif;
  font-size: 2.5em;
  font-weight: 700;
  line-height: 1;
}

.tsumugi-post .tsumugi-quote p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   ③ 思考の流れ
   ========================================================= */

.tsumugi-post .tsumugi-flow {
  display: grid;
  gap: 12px;
  margin: 26px 0;
}

.tsumugi-post .tsumugi-flow-item {
  position: relative;
  padding: 18px 18px 18px 54px;
  border: 1px solid var(--ts-border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.025);
}

.tsumugi-post .tsumugi-flow-number {
  position: absolute;
  top: 17px;
  left: 15px;

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

  width: 28px;
  height: 28px;

  border-radius: 50%;
  background: var(--ts-main);
  color: #ffffff;

  font-size: 0.84em;
  font-weight: 700;
}


/* =========================================================
   ④ 青い「非認知能力」ボックス
   ========================================================= */

.tsumugi-post .tsumugi-main-ability {
  padding: 28px 24px;
  border: 2px solid #dae4fa;
  border-radius: 18px;
  background: var(--ts-main-soft);
}

.tsumugi-post .tsumugi-main-ability .ability-name {
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 15px;
  border-radius: 999px;
  background: var(--ts-main);
  color: #ffffff;
  font-weight: 700;
}

.tsumugi-post .tsumugi-main-ability strong {
  color: #3d5e9e;
}

.tsumugi-post .tsumugi-main-ability p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   ⑤ 緑の補足ボックス
   ========================================================= */

.tsumugi-post .tsumugi-sub-ability {
  padding: 24px 22px;
  border: 1px solid #dceade;
  border-radius: 14px;
  background: var(--ts-green-soft);
}

.tsumugi-post .tsumugi-sub-ability strong {
  color: #48735a;
}

.tsumugi-post .tsumugi-sub-ability p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   ⑥ 強調メッセージ
   ========================================================= */

.tsumugi-post .tsumugi-key-message {
  margin: 30px 0;
  padding: 24px 20px;

  border-top: 2px solid var(--ts-main);
  border-bottom: 2px solid var(--ts-main);

  text-align: center;
  font-size: 1.1em;
  font-weight: 700;
  line-height: 1.8;
}


/* =========================================================
   ⑦ 家族で考えてみよう
   ========================================================= */

.tsumugi-post .tsumugi-family {
  padding: 30px 24px;
  border: 1px solid #dbe3f4;
  border-radius: 18px;
  background: #f6f8fe;
}

.tsumugi-post .tsumugi-family-title {
  margin-bottom: 18px;
  text-align: center;
  color: var(--ts-main);
  font-size: 1.08em;
  font-weight: 700;
}

.tsumugi-post .tsumugi-family-question {
  margin: 22px 0;
  padding: 23px 19px;

  border: 1px solid #e3e8f2;
  border-radius: 14px;
  background: #ffffff;

  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.04);

  text-align: center;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.7;
}

.tsumugi-post .tsumugi-family-tip {
  margin-top: 20px;
  padding: 17px 18px;
  border-radius: 10px;
  background: rgba(79, 111, 179, 0.07);
}

.tsumugi-post .tsumugi-family p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   ⑧ まとめボックス
   ========================================================= */

.tsumugi-post .tsumugi-summary {
  padding: 28px 24px;
  border: 1px solid var(--ts-border);
  border-radius: 18px;
  background: #fafafa;
}

.tsumugi-post .tsumugi-summary p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   ⑨ 体験ページ CTA
   ========================================================= */

.tsumugi-post .tsumugi-cta {
  margin: 46px 0 10px;
  padding: 34px 24px;

  border: 1px solid #dbe4f7;
  border-radius: 18px;

  background:
    linear-gradient(
      135deg,
      #eef3ff 0%,
      #ffffff 100%
    );

  text-align: center;
}


/* CTA専用タイトル
   STORK19側の見出しデザインを打ち消して独自表示 */
.tsumugi-post .tsumugi-cta h2 {
  display: inline-block;

  width: auto;
  max-width: calc(100% - 24px);

  margin: 0 auto 24px;
  padding: 12px 28px;

  border: none !important;
  border-bottom: none !important;
  border-radius: 8px;

  background: #27b3cf;
  color: #ffffff !important;

  text-align: center;
  font-size: 1.23em;
  font-weight: 700;
  line-height: 1.5;

  box-shadow: none;
}


/* CTA本文 */
.tsumugi-post .tsumugi-cta p {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}


/* CTAボタン */
.tsumugi-post .tsumugi-cta a {
  display: inline-block;
  margin-top: 10px;
  padding: 13px 26px;

  border-radius: 999px;
  background: var(--ts-main);
  color: #ffffff !important;

  text-decoration: none !important;
  font-weight: 700;

  box-shadow: 0 5px 15px rgba(79, 111, 179, 0.18);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
}

.tsumugi-post .tsumugi-cta a:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(79, 111, 179, 0.24);
  opacity: 0.94;
}


/* =========================================================
   スマートフォン
   ========================================================= */

@media (max-width: 720px) {

  .tsumugi-post {
    font-size: 15.5px;
  }

  .tsumugi-post .tsumugi-section {
    margin: 38px 0;
  }

  .tsumugi-post h2 {
    font-size: 1.3em;
  }

  .tsumugi-post h3 {
    font-size: 1.1em;
  }

  .tsumugi-post .tsumugi-intro {
    padding: 25px 20px;
    border-radius: 15px;
  }

  .tsumugi-post .tsumugi-main-ability,
  .tsumugi-post .tsumugi-family,
  .tsumugi-post .tsumugi-summary,
  .tsumugi-post .tsumugi-cta {
    padding: 24px 19px;
  }

  .tsumugi-post .tsumugi-quote {
    padding: 22px 18px;
  }

  .tsumugi-post .tsumugi-family-question {
    padding: 20px 15px;
    font-size: 1.12em;
  }

  .tsumugi-post .tsumugi-key-message {
    padding: 20px 14px;
    font-size: 1.03em;
  }


  /* CTAタイトルはスマホでは横幅を自然に使う */
  .tsumugi-post .tsumugi-cta h2 {
    display: block;

    width: 100%;
    max-width: 100%;

    margin: 0 0 20px;
    padding: 12px 14px;

    border-radius: 7px;

    font-size: 1.1em;
    line-height: 1.5;
  }


  .tsumugi-post .tsumugi-cta a {
    width: 100%;
    padding: 14px 18px;
  }

}


/* =========================================================
   アニメーションを望まない端末への配慮
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .tsumugi-post *,
  .tsumugi-post *::before,
  .tsumugi-post *::after {
    transition: none !important;
  }

}
/* =========================================================
   つむぎ種｜人物・対話パーツ
   ========================================================= */

.tsumugi-post .tsumugi-person-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 24px 0;
}

.tsumugi-post .tsumugi-person-row.is-student {
  flex-direction: row-reverse;
}

.tsumugi-post .tsumugi-person-avatar {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
}

.tsumugi-post .tsumugi-person-avatar img {
  display: block;
  width: 64px;
  height: 64px;
  margin: 0;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #ffffff;
  box-shadow: 0 3px 12px rgba(0,0,0,.12);
}

.tsumugi-post .tsumugi-person-content {
  flex: 1;
  min-width: 0;
}

.tsumugi-post .tsumugi-person-name {
  margin: 0 0 6px;
  color: #666666;
  font-size: .82em;
  font-weight: 700;
}

.tsumugi-post .tsumugi-person-row.is-student .tsumugi-person-name {
  text-align: right;
}

.tsumugi-post .tsumugi-talk {
  position: relative;
  padding: 18px 20px;
  border-radius: 16px;
  background: #f3f6fc;
  line-height: 1.85;
}

.tsumugi-post .tsumugi-talk::before {
  content: "";
  position: absolute;
  top: 18px;
  left: -10px;
  border-width: 8px 10px 8px 0;
  border-style: solid;
  border-color: transparent #f3f6fc transparent transparent;
}

.tsumugi-post .tsumugi-person-row.is-student .tsumugi-talk {
  background: #fff7e9;
}

.tsumugi-post .tsumugi-person-row.is-student .tsumugi-talk::before {
  left: auto;
  right: -10px;
  border-width: 8px 0 8px 10px;
  border-color: transparent transparent transparent #fff7e9;
}

.tsumugi-post .tsumugi-talk p:last-child {
  margin-bottom: 0;
}


/* 作文全文カード */
.tsumugi-post .tsumugi-essay-card {
  margin: 26px 0;
  padding: 28px 24px;
  border: 1px solid #e6e8ed;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 6px 22px rgba(0,0,0,.04);
}

.tsumugi-post .tsumugi-essay-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}

.tsumugi-post .tsumugi-essay-heading img {
  width: 52px;
  height: 52px;
  margin: 0;
  border-radius: 50%;
  object-fit: cover;
}

.tsumugi-post .tsumugi-essay-heading strong {
  display: block;
  font-size: 1.05em;
}

.tsumugi-post .tsumugi-essay-heading span {
  display: block;
  margin-top: 2px;
  color: #777;
  font-size: .82em;
}


/* 「僕が気になった」番号カード */
.tsumugi-post .tsumugi-notice-grid {
  display: grid;
  gap: 14px;
  margin: 26px 0;
}

.tsumugi-post .tsumugi-notice-card {
  padding: 20px;
  border: 1px solid #e1e6ef;
  border-radius: 14px;
  background: #ffffff;
}

.tsumugi-post .tsumugi-notice-card strong {
  display: block;
  margin-bottom: 6px;
  color: #4f6fb3;
}


/* スマートフォン */
@media (max-width: 720px) {

  .tsumugi-post .tsumugi-person-row {
    gap: 10px;
  }

  .tsumugi-post .tsumugi-person-avatar,
  .tsumugi-post .tsumugi-person-avatar img {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }

  .tsumugi-post .tsumugi-talk {
    padding: 15px 16px;
    font-size: .96em;
  }

  .tsumugi-post .tsumugi-essay-card {
    padding: 22px 18px;
  }

}