/* ==========================================================================
   まなびじょん 正社員採用LP  recruit-wp.css（WordPress版だけで使う追加スタイル）
   recruit.css は静的版 style.css と同一に保ち、WordPress固有の差分はこのファイルに書く。
   ========================================================================== */

/* ---------- テーマ（LiteWord）が全ページに出す「PAGE TOP」ボタンを隠す ----------
   正社員LPでは、スマホ下部の固定CTA（見学・相談／LINE／電話）と重なるため。 */
#page_top.page_top_btn { display: none !important; }

/* ---------- フォームの下の個人情報の説明（WordPress版はフォームの外に置く） ---------- */
.mv-form__privacy--after { margin-top: var(--sp-4); }

/* ---------- 管理バー ---------- */
.admin-bar .mv-skip:focus { top: 40px; }
@media (min-width: 900px) {
  .admin-bar .mv-header { top: 32px; }
  .admin-bar [id] { scroll-margin-top: 112px; }
}

/* ---------- 差し込み枠の共通 ---------- */
.mv-slot > * { margin-block: 0; }

/* ---------- 保護者様の声（mv-slot-parents-voice） ---------- */
.mv-slot--parents { display: grid; gap: var(--sp-4); }
.mv-parent-card { padding: var(--sp-5); background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--radius-md); }
.mv-parent-card > * { margin: 0; }
.mv-parent-card__who { font-size: var(--fs-small); font-weight: 700; color: var(--c-ink-2); }
.mv-parent-card__title { margin-top: var(--sp-2) !important; font-family: var(--font-serif); font-size: 1.25rem; line-height: 1.5; color: var(--c-green-700); }
.mv-parent-card__text { margin-top: var(--sp-3) !important; }
@media (min-width: 900px) { .mv-slot--parents { grid-template-columns: repeat(3, 1fr); } }

/* ---------- スタッフの声（mv-slot-staff-voice） ---------- */
.mv-slot--staff > .mv-voice-card + .mv-voice-card { margin-top: var(--sp-9); }
.mv-voice-card { display: grid; grid-template-columns: 1fr; row-gap: var(--sp-2); }
.mv-voice-card > * { margin: 0; }
.mv-voice-card__photo { max-width: 360px; margin-bottom: var(--sp-3) !important; }
.mv-voice-card__photo img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--radius-md); background: var(--c-green-50); }
.mv-voice-card__career { font-size: var(--fs-small); font-weight: 700; line-height: 1.6; color: var(--c-green-700); }
.mv-voice-card__name { font-size: 1.25rem; font-weight: 700; }
.mv-voice-card__title { margin-top: var(--sp-2) !important; font-family: var(--font-serif); font-size: var(--fs-h3); font-weight: 700; line-height: 1.6; color: var(--c-green-900); }
.mv-voice-card > p:not([class]) { margin-top: var(--sp-3) !important; }
.mv-voice-card__apply-title { margin-top: var(--sp-5) !important; padding: var(--sp-5) var(--sp-5) 0; background: var(--c-white); border-radius: var(--radius-md) var(--radius-md) 0 0; font-size: 1rem; color: var(--c-green-700); }
.mv-voice-card__apply { padding: var(--sp-2) var(--sp-5) var(--sp-5); background: var(--c-white); border-radius: 0 0 var(--radius-md) var(--radius-md); }
@media (min-width: 900px) {
  .mv-voice-card { grid-template-columns: 5fr 7fr; column-gap: var(--sp-8); align-items: start; }
  .mv-voice-card__photo { grid-column: 1; grid-row: 1 / span 30; max-width: none; position: sticky; top: 96px; }
  .mv-voice-card > :not(.mv-voice-card__photo) { grid-column: 2; }
  .mv-voice-card:nth-child(even) { grid-template-columns: 7fr 5fr; }
  .mv-voice-card:nth-child(even) .mv-voice-card__photo { grid-column: 2; }
  .mv-voice-card:nth-child(even) > :not(.mv-voice-card__photo) { grid-column: 1; }
}

/* ---------- よくあるご質問（mv-slot-faq ／ 詳細ブロック） ---------- */
.mv-slot--faq { display: grid; gap: var(--sp-3); max-width: 880px; margin-inline: auto; }
.mv-slot--faq .wp-block-details { margin: 0; background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--radius-md); }
.mv-slot--faq .wp-block-details > summary {
  display: flex; align-items: flex-start; gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5); list-style: none; cursor: pointer;
  font-size: var(--fs-lead); font-weight: 700; line-height: 1.6; color: var(--c-ink);
}
.mv-slot--faq .wp-block-details > summary::-webkit-details-marker { display: none; }
.mv-slot--faq .wp-block-details > summary::before { content: "Q"; flex: none; font-weight: 900; color: var(--c-orange-700); }
.mv-slot--faq .wp-block-details > summary::after {
  content: ""; flex: none; width: 14px; height: 14px; margin: .45em 0 0 auto; color: var(--c-green-700);
  background:
    linear-gradient(currentColor, currentColor) center / 14px 2px no-repeat,
    linear-gradient(currentColor, currentColor) center / 2px 14px no-repeat;
}
.mv-slot--faq .wp-block-details[open] > summary::after { background: linear-gradient(currentColor, currentColor) center / 14px 2px no-repeat; }
.mv-slot--faq .wp-block-details > :not(summary) { margin: 0; padding: 0 var(--sp-5) 0 calc(var(--sp-5) + 1.35em); }
.mv-slot--faq .wp-block-details > :not(summary) + :not(summary) { margin-top: var(--sp-3); }
.mv-slot--faq .wp-block-details > :last-child { padding-bottom: var(--sp-5); }

/* ---------- お知らせ（mv-slot-news） ---------- */
.mv-news { padding-block: var(--sp-8); }
.mv-news__title { text-align: center; margin-bottom: var(--sp-5); }
.mv-slot--news { display: grid; gap: var(--sp-3); max-width: 880px; margin-inline: auto; }
.mv-news-item { padding: var(--sp-4) var(--sp-5); background: var(--c-white); border: 1px solid var(--c-line); border-left: 4px solid var(--c-orange-500); border-radius: var(--radius-md); }
.mv-news-item > * { margin: 0; }
.mv-news-item__date { font-size: var(--fs-small); font-weight: 700; color: var(--c-ink-2); }
.mv-news-item__title { margin-top: var(--sp-1) !important; font-size: 1.125rem; color: var(--c-green-700); }
.mv-news-item__text { margin-top: var(--sp-2) !important; }

/* ---------- Contact Form 7 ---------- */
.mv-contact .wpcf7 { margin: 0; }
.mv-contact .wpcf7 form.mv-form { margin: 0; }
.mv-contact .wpcf7-form-control-wrap { display: block; }
.mv-contact .mv-options .wpcf7-list-item { display: block; margin: 0; }
.mv-contact .mv-options .wpcf7-list-item + .wpcf7-list-item { margin-top: var(--sp-2); }
.mv-contact .mv-options .wpcf7-list-item label {
  display: flex; align-items: center; gap: var(--sp-3); min-height: 52px; padding: 10px 14px;
  border: 1px solid var(--c-field-border); border-radius: var(--radius-md); background: var(--c-white);
  line-height: 1.5; cursor: pointer;
}
.mv-contact .mv-options .wpcf7-list-item input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--c-green-700); }
.mv-contact .mv-options .wpcf7-list-item label:has(input:checked) { padding: 9px 13px; border: 2px solid var(--c-green-700); background: var(--c-green-50); }
.mv-contact .mv-options .wpcf7-list-item label:has(input:focus-visible) { outline: 3px solid var(--c-green-700); outline-offset: 2px; }
.mv-contact .wpcf7-not-valid { border-color: var(--c-error) !important; border-width: 2px !important; }
.mv-contact .wpcf7-not-valid-tip { display: block; margin-top: var(--sp-2); font-size: .875rem; font-weight: 700; line-height: 1.6; color: var(--c-error); }
.mv-contact .wpcf7 form .wpcf7-response-output { margin: var(--sp-5) 0 0; padding: var(--sp-4); border-width: 2px; border-radius: var(--radius-md); font-weight: 700; line-height: 1.7; }
.mv-contact .wpcf7 form.invalid .wpcf7-response-output,
.mv-contact .wpcf7 form.unaccepted .wpcf7-response-output,
.mv-contact .wpcf7 form.failed .wpcf7-response-output { border-color: var(--c-error); color: var(--c-error); }
.mv-contact .wpcf7 form.sent .wpcf7-response-output { border-color: var(--c-green-700); color: var(--c-green-700); }
.mv-contact input.wpcf7-submit { width: 100%; font-family: inherit; -webkit-appearance: none; appearance: none; }
.mv-contact .wpcf7-spinner { display: block; margin: var(--sp-3) auto 0; }
.mv-form--unavailable > * + * { margin-top: var(--sp-3); }

/* ==========================================================================
   学びのページ（page-recruit-article.php）：先生・保育士向けの読みもの
   求人LPと同じ色・フォント。本文は読みやすさを優先して1カラム、行間を広めにする。
   ========================================================================== */
.mv-article__hero { padding-block: var(--sp-8) var(--sp-7); background: var(--c-green-50); }
.mv-article__hero .mv-container, .mv-article__body .mv-container { max-width: calc(46rem + var(--gutter) * 2); }
.mv-article__title {
  font-size: clamp(1.75rem, 1.2rem + 2.6vw, 2.75rem); line-height: 1.5; font-weight: 700; color: var(--c-green-900);
  letter-spacing: .02em; font-feature-settings: "palt" 1; text-wrap: balance; word-break: auto-phrase;
}
.mv-article__hero p { margin-top: var(--sp-4); }
.mv-article__byline { font-size: var(--fs-small); font-weight: 700; color: var(--c-green-700); }
.mv-article__scroll { margin-top: var(--sp-5); }

.mv-article__sec { padding-block: var(--sp-7); }
.mv-article__sec + .mv-article__sec { border-top: 1px solid var(--c-line); }
.mv-article__sec h2 {
  margin-bottom: var(--sp-5); font-size: clamp(1.375rem, 1.1rem + 1.4vw, 2rem); line-height: 1.5; font-weight: 700;
  color: var(--c-green-700); font-feature-settings: "palt" 1; text-wrap: balance; word-break: auto-phrase;
}
.mv-article__sec h3 { margin-top: var(--sp-6); font-size: 1.125rem; line-height: 1.6; color: var(--c-green-900); }
.mv-article__sec p { text-wrap: pretty; line-height: 2; }
.mv-article__sec p + p, .mv-article__sec p + ul, .mv-article__sec ul + p, .mv-article__sec h3 + p { margin-top: var(--sp-4); }
.mv-article__sec strong { font-weight: 700; background: linear-gradient(transparent 62%, var(--c-orange-100) 62%); }
.mv-article__quote {
  margin-block: var(--sp-5); padding: var(--sp-4) var(--sp-5); border-left: 4px solid var(--c-orange-500);
  background: var(--c-white); font-family: var(--font-serif); font-size: var(--fs-quote); line-height: 1.7; color: var(--c-green-900);
}
.mv-article__aside { margin-top: var(--sp-5); padding: var(--sp-4) var(--sp-5); background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--radius-md); font-size: var(--fs-small); line-height: 1.8; color: var(--c-ink-2); }

/* この読みもので扱うこと（ファーストビュー内） */
.mv-article__toc { margin-top: var(--sp-5); }
.mv-article__toc ul { margin: var(--sp-2) 0 0 !important; padding: 0 !important; list-style: none !important; }
/* テーマ側の li::before（大きな丸）に負けないよう、点の大きさと位置を固定する */
.mv-article__toc ul > li { position: relative; margin: 0 !important; padding: 0 0 0 1.1em !important; list-style: none !important; line-height: 1.8; }
.mv-article__toc ul > li + li { margin-top: var(--sp-1) !important; }
.mv-article__toc ul > li::before {
  content: "" !important; position: absolute !important; left: 0 !important; top: .75em !important;
  width: 6px !important; height: 6px !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 50% !important; background: var(--c-green-500) !important; transform: none !important;
}
.mv-article__toc ul > li::marker { content: none; }
.mv-article__toc p + p { margin-top: var(--sp-2); }
.mv-article__hero .mv-article__toc p { margin-top: 0; }
.mv-article__hero .mv-article__toc p + ul + p { margin-top: var(--sp-2); }

/* 漫画（1ページずつ、本文の途中に入れる） */
.mv-article__manga { margin: var(--sp-6) auto; max-width: 560px; }
.mv-article__manga img { width: 100%; height: auto; border: 1px solid var(--c-line); border-radius: var(--radius-md); background: var(--c-white); box-shadow: 0 6px 20px rgba(20, 53, 36, .10); }
.mv-article__manga figcaption { margin-top: var(--sp-2); font-size: var(--fs-small); line-height: 1.7; color: var(--c-ink-2); text-align: center; }

/* 書いた人（顔写真つき） */
.mv-article__author { display: flex; align-items: center; gap: var(--sp-4); margin-bottom: var(--sp-5); }
.mv-article__author img { flex: none; width: 112px; height: 112px; object-fit: cover; border-radius: 50%; border: 3px solid var(--c-white); box-shadow: 0 4px 14px rgba(20, 53, 36, .18); }
.mv-article__author figcaption { font-size: var(--fs-small); line-height: 1.7; color: var(--c-ink-2); }
.mv-article__author figcaption b { font-size: 1.125rem; color: var(--c-ink); }
@media (min-width: 600px) { .mv-article__author img { width: 144px; height: 144px; } }

/* 発達のピラミッド（4段。下ほど幅が広い） */
.mv-pyramid { margin-block: var(--sp-5); display: grid; gap: 6px; justify-items: center; }
.mv-pyramid li { display: block; padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-sm); text-align: center; line-height: 1.6; color: var(--c-white); }
.mv-pyramid li small { display: block; font-size: var(--fs-small); font-weight: 500; opacity: .92; }
.mv-pyramid li b { font-weight: 700; }
.mv-pyramid li:nth-child(1) { width: 52%; background: var(--c-green-500); }
.mv-pyramid li:nth-child(2) { width: 68%; background: #2F6A49; }
.mv-pyramid li:nth-child(3) { width: 84%; background: var(--c-green-700); }
.mv-pyramid li:nth-child(4) { width: 100%; background: var(--c-green-900); }
@media (max-width: 599px) { .mv-pyramid li:nth-child(n) { width: 100%; } }
.mv-pyramid__cap { margin-top: var(--sp-2); font-size: var(--fs-small); text-align: center; color: var(--c-ink-2); }

/* シリーズ6テーマ */
.mv-series { margin-block: var(--sp-5); display: grid; gap: var(--sp-2); }
.mv-series li { padding: var(--sp-3) var(--sp-4); background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--radius-sm); line-height: 1.7; }
.mv-series li b { color: var(--c-green-700); }

/* LINEの案内（いちばん目立たせる） */
.mv-article__line { padding: var(--sp-5); background: var(--c-white); border: 2px solid var(--c-green-700); border-radius: var(--radius-lg); }
.mv-article__line .mv-btn { margin-top: var(--sp-5); width: 100%; }
.mv-article__book { margin-top: var(--sp-5); }
.mv-article__line--mid { margin-top: var(--sp-6); background: var(--c-orange-100); border-color: var(--c-orange-500); }
.mv-article__line-lead { font-weight: 700; color: var(--c-green-900); }

/* 正社員ページへの案内（控えめ） */
.mv-article__recruit { margin-top: var(--sp-5); padding: var(--sp-5); background: var(--c-sand); border-radius: var(--radius-md); }
.mv-article__recruit p + p { margin-top: var(--sp-3); }
.mv-article__recruit a { font-weight: 700; }
