/* 個人向けページ／同申込フォーム 専用スタイル */
/* ボタン・実績バー・SectionHeading・PricingPanel・GridTiles は assets/css/page-corporate.css のクラスを共用 */

.kkm-ind-hero { background: var(--surface-dark); padding: 92px var(--gutter) 84px; text-align: center; }
.kkm-ind-hero-sm { padding: 84px var(--gutter) 76px; }
.kkm-ind-hero-inner { max-width: 860px; margin: 0 auto; }
.kkm-ind-hero-h1 { font-family: var(--font-serif); font-size: var(--type-hero); line-height: var(--leading-hero); font-weight: var(--weight-medium); color: var(--text-on-dark); margin: 0 0 var(--space-8); text-wrap: pretty; }
.kkm-ind-hero-h1-sm { font-size: var(--type-h1); line-height: var(--leading-heading); margin: 0; }
.kkm-ind-hero-h1-sm span { display: block; }
.kkm-ind-hero-lead { font-size: var(--type-lead); line-height: var(--leading-body); color: var(--text-on-dark-muted); max-width: 34em; margin: 0 auto var(--space-10); }
.kkm-ind-hero-actions { display: flex; gap: var(--space-6); justify-content: center; flex-wrap: wrap; }

.kkm-ind-heading-center { text-align: center; }

/* WORRIES */
.kkm-ind-worries-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--col-gap); }
.kkm-ind-worry-card { background: var(--surface-card); border: 1px solid var(--border-card); border-radius: var(--radius-card); padding: var(--card-pad); }
.kkm-ind-worry-title { font-family: var(--font-serif); font-size: var(--type-h4); line-height: var(--leading-heading); font-weight: var(--weight-medium); color: var(--text-heading); margin: 0 0 var(--space-8); }
.kkm-ind-worry-list { display: grid; gap: var(--space-5); font-size: var(--type-body); line-height: var(--leading-body); color: var(--text-muted); list-style: none; margin: 0; padding: 0; }
.kkm-ind-worry-list li { position: relative; padding-left: 20px; }
.kkm-ind-worry-list li::before { content: '・'; position: absolute; left: 0; color: var(--green-300); }
.kkm-ind-worries-note { max-width: var(--measure-text); margin: var(--space-14) auto 0; border-left: 2px solid var(--accent-rule); padding-left: var(--space-8); }
.kkm-ind-worries-note p { font-size: var(--type-body); line-height: var(--leading-body); color: var(--text-body); margin: 0; }

/* SERVICE */
.kkm-ind-service-intro { max-width: var(--measure-text); margin: var(--space-14) auto 0; }
.kkm-ind-service-title { font-family: var(--font-serif); font-size: var(--type-h3); line-height: var(--leading-heading); font-weight: var(--weight-medium); color: var(--text-heading); margin: 0 0 var(--space-8); text-wrap: pretty; }
.kkm-ind-service-body { display: grid; gap: var(--space-6); font-size: var(--type-body); line-height: var(--leading-body); color: var(--text-muted); }
.kkm-ind-service-body p { margin: 0; }
.kkm-ind-jump-links { display: grid; gap: var(--space-3); margin-top: var(--space-8); font-size: var(--type-body); color: var(--text-body); }
.kkm-ind-jump-link-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-3); }
.kkm-ind-jump-arrow { color: var(--green-600); }

.kkm-ind-courses-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap-lg); margin-top: var(--space-14); align-items: start; }
.kkm-ind-course-heading { font-family: var(--font-serif); font-size: var(--type-h4); font-weight: var(--weight-medium); color: var(--text-heading); margin: 0 0 var(--space-5); }
.kkm-ind-coaching-note { display: grid; gap: var(--space-4); margin-top: var(--space-6); font-size: var(--type-caption); line-height: var(--leading-body); color: var(--text-subtle); }
.kkm-ind-coaching-note p { margin: 0; }

.kkm-ind-cost-box { background: var(--surface-dark); border-radius: var(--radius-card); padding: var(--card-pad); margin-top: var(--space-14); }
.kkm-ind-cost-title { font-family: var(--font-serif); font-size: var(--type-h4); font-weight: var(--weight-medium); color: var(--text-on-dark); margin: 0 0 var(--space-8); }
.kkm-ind-cost-body { display: grid; gap: var(--space-6); max-width: var(--measure-text); font-size: var(--type-body); line-height: var(--leading-body); color: var(--text-on-dark-muted); }
.kkm-ind-cost-body p { margin: 0; }
.kkm-ind-cost-contact { margin-top: var(--space-10); padding-top: var(--space-6); border-top: 1px solid var(--line-dark); display: flex; align-items: baseline; gap: var(--space-4); flex-wrap: wrap; font-size: var(--type-ui); color: var(--on-dark-500); }
.kkm-ind-cost-contact-label { font-family: var(--font-mono); font-size: var(--type-eyebrow); letter-spacing: var(--tracking-eyebrow); }
.kkm-ind-cost-contact-link { color: var(--on-dark-900); }
.kkm-ind-cost-contact-link:hover { color: var(--on-dark-900); opacity: 0.85; }

/* COURSES */
.kkm-ind-courses-heading-wrap { max-width: var(--measure-text); margin: 0 auto var(--space-14); text-align: center; }
.kkm-ind-courses-heading { font-family: var(--font-serif); font-size: var(--type-h3); line-height: var(--leading-heading); font-weight: var(--weight-medium); color: var(--text-heading); margin: 0; }
.kkm-ind-courses-heading span { display: block; }

.kkm-ind-course-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); align-items: start; }
.kkm-ind-course-card { background: var(--surface-card); border: 1px solid var(--border-card); border-radius: var(--radius-card); padding: 34px 30px; }
.kkm-ind-course-title { font-family: var(--font-serif); font-size: var(--type-h5); font-weight: var(--weight-medium); color: var(--text-heading); margin: 0 0 var(--space-2); }
.kkm-ind-course-meta { font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); letter-spacing: var(--tracking-eyebrow-tight); color: var(--text-label); margin-bottom: var(--space-5); }
.kkm-ind-course-desc { font-size: var(--type-body-sm); line-height: var(--leading-body); color: var(--text-muted); margin: 0 0 var(--space-6); }
.kkm-ind-course-limit { font-size: var(--type-caption); line-height: var(--leading-body); color: var(--text-subtle); margin: 0; padding-top: var(--space-5); border-top: 1px solid var(--border-hairline); }

.kkm-ind-schedule { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--border-hairline); }
.kkm-ind-schedule-label { font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); letter-spacing: var(--tracking-eyebrow-tight); color: var(--text-label); margin-bottom: var(--space-5); }
.kkm-ind-format-row { display: grid; justify-items: start; gap: var(--space-2); margin-bottom: var(--space-3); }
.kkm-ind-format-badge { font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); letter-spacing: var(--tracking-eyebrow-tight); color: var(--green-600); border: 1px solid var(--border-strong); border-radius: var(--radius-button); padding: 3px 8px; white-space: nowrap; }
.kkm-ind-format-badge-dark { color: var(--on-dark-900); background: var(--surface-dark-deep); border-color: var(--surface-dark-deep); }
.kkm-ind-format-desc { font-size: var(--type-caption); color: var(--text-muted); }

.kkm-ind-slot-list { display: grid; gap: var(--space-2); margin: 0 0 var(--space-6); list-style: none; padding: 0; }
.kkm-ind-slot-list-tight { margin-bottom: var(--space-5); }
.kkm-ind-slot-link {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--border-card);
  border-radius: var(--radius-button);
  color: var(--text-body);
  font-size: var(--type-body-sm);
  line-height: var(--leading-heading);
  word-break: keep-all;
  text-decoration: none;
}
.kkm-ind-slot-link:hover { border-color: var(--border-strong); color: var(--link); }
.kkm-ind-slot-capacity { font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); letter-spacing: var(--tracking-eyebrow-tight); color: var(--text-label); white-space: nowrap; text-align: right; }
.kkm-ind-schedule-note { margin: 0; font-size: var(--type-caption); line-height: var(--leading-body); color: var(--text-subtle); }

.kkm-ind-diagnosis-note { text-align: center; font-size: var(--type-caption); color: var(--text-subtle); margin: var(--space-8) 0 0; }

.kkm-ind-course-figure { margin: var(--space-14) 0 0; }
.kkm-ind-course-figure img { display: block; width: 100%; height: 420px; object-fit: cover; object-position: center 40%; border-radius: var(--radius-card); }
.kkm-ind-course-figcaption { margin-top: var(--space-4); font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); letter-spacing: var(--tracking-eyebrow-tight); color: var(--text-label); }

/* VOICE */
.kkm-ind-voice-subheading { font-family: var(--font-serif); font-size: var(--type-h5); font-weight: var(--weight-medium); color: var(--text-heading); margin: var(--space-14) 0 var(--space-6); }
.kkm-ind-voice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); align-items: start; }
.kkm-ind-voice-quote { background: var(--surface-card); border: 1px solid var(--border-card); border-radius: var(--radius-card); padding: 34px 30px; margin: 0; font-size: var(--type-body-sm); line-height: var(--leading-body); color: var(--text-muted); }

.kkm-ind-coaching-result-box { background: var(--surface-card); border: 1px solid var(--border-card); border-radius: var(--radius-card); padding: var(--card-pad); display: grid; gap: var(--space-6); }
.kkm-ind-coaching-result-p { margin: 0; font-size: var(--type-body); line-height: var(--leading-body); color: var(--text-muted); }
.kkm-ind-coaching-quote { margin: 0; border-left: 2px solid var(--accent-rule); padding-left: var(--space-8); font-family: var(--font-serif); font-size: var(--type-h6); line-height: var(--leading-heading); color: var(--text-heading); }

/* PROFILE */
.kkm-ind-profile-grid { display: grid; grid-template-columns: 300px 1fr; gap: var(--col-gap); margin-top: var(--space-14); align-items: start; }
.kkm-ind-profile-photo { display: block; width: 100%; height: 340px; object-fit: cover; object-position: center 30%; border-radius: var(--radius-card); }
.kkm-ind-profile-name-wrap { margin-top: var(--space-5); }
.kkm-ind-profile-name { font-family: var(--font-serif); font-size: var(--type-h4); font-weight: var(--weight-medium); color: var(--text-heading); margin: 0 0 var(--space-2); }
.kkm-ind-profile-role { margin: 0; font-size: var(--type-caption); line-height: var(--leading-body); color: var(--text-subtle); }
.kkm-ind-profile-body { display: grid; gap: var(--space-6); max-width: var(--measure-text); font-size: var(--type-body); line-height: var(--leading-body); color: var(--text-muted); }
.kkm-ind-profile-body p { margin: 0; }
.kkm-ind-profile-lead { font-family: var(--font-serif); font-size: var(--type-h6); line-height: var(--leading-heading); color: var(--text-heading); }
.kkm-ind-profile-quote { border-left: 2px solid var(--accent-rule); padding-left: var(--space-8); font-family: var(--font-serif); font-size: var(--type-h6); line-height: var(--leading-heading); color: var(--text-heading); }
.kkm-ind-profile-note { font-size: var(--type-caption); color: var(--text-label); line-height: var(--leading-body); margin: 0; }
.kkm-ind-profile-note a { color: var(--text-label); text-decoration: underline; }

/* CONTACT（個人向けページ下部） */
.kkm-ind-contact-section { background: var(--surface-dark); padding: var(--section-y) var(--gutter); text-align: center; }
.kkm-ind-contact-inner { max-width: 720px; margin: 0 auto; }
.kkm-ind-contact-title { font-family: var(--font-serif); font-size: var(--type-h2); line-height: var(--leading-heading); font-weight: var(--weight-medium); color: var(--text-on-dark); margin: 0 0 var(--space-6); }
.kkm-ind-contact-desc { font-size: var(--type-body); line-height: var(--leading-body); color: var(--text-on-dark-muted); margin: 0 0 var(--space-10); }

.kkm-ind-cta-inline { background: var(--surface-dark); border-radius: var(--radius-card); padding: var(--card-pad) var(--card-pad-sm); text-align: center; margin: var(--space-14) 0; }
.kkm-ind-cta-inline .kkm-ind-contact-title { font-size: var(--type-h3); margin: 0 0 var(--space-3); }
.kkm-ind-cta-inline .kkm-ind-contact-desc { margin: 0 0 var(--space-6); }

/* 申込フォームページ */
.kkm-ind-apply-section { padding: var(--section-y) var(--gutter); }
.kkm-ind-apply-inner { max-width: 720px; margin: 0 auto; }
.kkm-ind-apply-notes { border-left: 2px solid var(--accent-rule); padding-left: var(--space-8); display: grid; gap: var(--space-5); font-size: var(--type-body-sm); line-height: var(--leading-body); color: var(--text-muted); }
.kkm-ind-apply-notes p { margin: 0; }
.kkm-ind-apply-form-box { margin-top: var(--space-14); background: var(--surface-card); border: 1px solid var(--border-card); border-radius: var(--radius-card); padding: var(--card-pad); }
.kkm-ind-apply-note { margin: var(--space-6) 0 0; max-width: 30em; text-align: center; font-size: var(--type-caption); line-height: var(--leading-body); color: var(--text-subtle); }
.kkm-ind-apply-back-wrap { margin-top: var(--space-14); text-align: center; }

.kkm-ind-gridtiles-3 { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 900px) {
  .kkm-ind-worries-grid,
  .kkm-ind-courses-grid-2,
  .kkm-ind-course-cards,
  .kkm-ind-voice-grid,
  .kkm-ind-profile-grid {
    grid-template-columns: 1fr !important;
  }
  .kkm-ind-gridtiles-3 { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 480px) {
  .kkm-ind-gridtiles-3 { grid-template-columns: 1fr !important; }
}
