/* 法人・団体向けページ／同お問い合わせページ 専用スタイル */

.kkm-corp-wrap { max-width: var(--measure); margin: 0 auto; }
.kkm-corp-section-pad { padding: var(--section-y) var(--gutter); }
.kkm-corp-band { background: var(--bg-band); }

/* ボタン（Design System Button コンポーネント相当） */
.kkm-btn {
  display: inline-block;
  border: 0;
  border-radius: var(--radius-button);
  font-family: var(--font-sans);
  font-size: var(--type-ui);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-body);
  cursor: pointer;
  transition: opacity 0.2s ease;
  text-decoration: none;
}
.kkm-btn:hover { opacity: 0.85; }
.kkm-btn-hero-primary { padding: 15px 30px; background: var(--paper-100); color: var(--green-800); }
.kkm-btn-hero-primary:hover { color: var(--green-800); }
.kkm-btn-hero-secondary { padding: 15px 30px; background: transparent; color: var(--paper-100); border: 1px solid oklch(0.55 0.04 150); }
.kkm-btn-hero-secondary:hover { color: var(--paper-100); }
.kkm-btn-closing-cta { padding: 16px 40px; background: var(--paper-100); color: var(--green-800); }
.kkm-btn-closing-cta:hover { color: var(--green-800); }
.kkm-btn-newsletter { padding: 13px 30px; background: var(--green-600); color: var(--paper-100); }
.kkm-btn-newsletter:hover { color: var(--paper-100); }

/* ヒーロー */
.kkm-corp-hero { background: var(--surface-dark); padding: var(--section-y-lg) var(--gutter) var(--section-y); }
.kkm-corp-eyebrow { font-family: var(--font-mono); font-size: var(--type-eyebrow); letter-spacing: var(--tracking-eyebrow); color: var(--on-dark-500); margin-bottom: var(--space-6); }
.kkm-corp-hero-h1 { font-family: var(--font-serif); font-size: var(--type-hero); line-height: var(--leading-hero); color: var(--text-on-dark); max-width: 20em; margin: 0 0 var(--space-8); }
.kkm-corp-hero-h1-sm { font-size: var(--type-h1); line-height: var(--leading-heading); margin: 0; max-width: none; }
.kkm-corp-hero-lead { color: var(--text-on-dark-muted); font-size: var(--type-lead); max-width: var(--measure-text); margin: 0 0 var(--space-10); line-height: var(--leading-body); }
.kkm-corp-hero-actions { display: flex; gap: var(--space-6); flex-wrap: wrap; }

/* 実績バー */
.kkm-corp-trustbar { background: var(--surface-dark-deep); padding: 22px var(--gutter); display: flex; justify-content: center; gap: var(--space-14); flex-wrap: wrap; }
.kkm-corp-trustbar span { color: var(--text-on-dark-muted); font-size: var(--type-ui); font-family: var(--font-sans); letter-spacing: var(--tracking-body); }

/* セクション見出し（SectionHeading） */
.kkm-corp-heading-eyebrow { font-family: var(--font-mono); font-size: var(--type-eyebrow); letter-spacing: var(--tracking-eyebrow); color: var(--green-300); margin-bottom: var(--space-3); text-transform: uppercase; }
.kkm-corp-heading-title { font-size: var(--type-h2); color: var(--text-heading); margin: 0; }
.kkm-corp-section-intro { margin: var(--space-6) 0 var(--space-16); color: var(--text-muted); font-size: var(--type-body); max-width: var(--measure-text); line-height: var(--leading-body); }
.kkm-corp-section-intro-sm { margin-bottom: var(--space-14); }

/* ISSUE 4項目 */
.kkm-corp-issue-list { display: grid; gap: 1px; background: var(--border-hairline); border-top: 2px solid var(--accent-rule); }
.kkm-corp-issue-item { background: var(--surface-card); padding: var(--card-pad) var(--card-pad-sm); display: grid; grid-template-columns: 72px 1fr; gap: var(--space-6); align-items: start; }
.kkm-corp-issue-num { font-family: var(--font-mono); font-size: var(--type-eyebrow); letter-spacing: var(--tracking-eyebrow); color: var(--green-300); padding-top: 6px; }
.kkm-corp-issue-title { font-size: var(--type-h4); margin: 0 0 var(--space-4); }
.kkm-corp-issue-desc { font-size: var(--type-body-sm); color: var(--text-muted); line-height: var(--leading-body); max-width: var(--measure-text); margin: 0; }

/* INVESTMENT 比較 */
.kkm-corp-compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--col-gap); }
.kkm-corp-compare-col { border-top: 2px solid var(--accent-rule); padding-top: var(--space-6); }
.kkm-corp-compare-title { font-size: var(--type-h5); margin: 0 0 var(--space-5); }
.kkm-corp-compare-p { font-size: var(--type-body-sm); color: var(--text-muted); line-height: var(--leading-body); margin: 0 0 var(--space-5); }
.kkm-corp-compare-p:last-child { margin-bottom: 0; }
.kkm-corp-source { margin-top: var(--space-12); font-size: var(--type-micro); color: var(--text-label); }

/* 相談CTA帯 */
.kkm-corp-cta-band-wrap { padding: 0 var(--gutter) var(--section-y); }
.kkm-corp-cta-band {
  background: var(--surface-dark);
  color: var(--text-on-dark);
  border-radius: var(--radius-card);
  padding: var(--card-pad) var(--card-pad-sm);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-10);
  flex-wrap: wrap;
}
.kkm-corp-cta-band-text { max-width: 40em; }
.kkm-corp-cta-band-title { font-size: var(--type-h4); color: var(--text-on-dark); margin: 0 0 var(--space-3); }
.kkm-corp-cta-band-desc { font-size: var(--type-body-sm); color: var(--text-on-dark-muted); line-height: var(--leading-body); margin: 0; }

/* SERVICE 研修メニュー */
.kkm-corp-course-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
.kkm-corp-course-card { background: var(--surface-card); border: 1px solid var(--border-card); border-radius: var(--radius-card); padding: 34px 30px; }
.kkm-corp-course-title { font-size: var(--type-h5); margin: 0 0 var(--space-3); }
.kkm-corp-course-desc { font-size: var(--type-body-sm); color: var(--text-muted); line-height: var(--leading-body); margin: 0 0 var(--space-4); }
.kkm-corp-course-meta { font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); color: var(--text-label); letter-spacing: var(--tracking-eyebrow-tight); }

/* PRICING */
.kkm-corp-pricing-wrap { margin-top: var(--section-y); display: grid; grid-template-columns: 1fr 1fr; gap: var(--col-gap); align-items: start; }
.kkm-corp-pricing-intro-eyebrow { font-family: var(--font-mono); font-size: var(--type-eyebrow); letter-spacing: var(--tracking-eyebrow); color: var(--green-300); margin-bottom: var(--space-3); }
.kkm-corp-pricing-intro-title { font-size: var(--type-h2); margin: 0 0 var(--space-6); }
.kkm-corp-pricing-intro-desc { font-size: var(--type-body-sm); color: var(--text-muted); line-height: var(--leading-body); margin: 0; }
.kkm-corp-pricing-panel { background: var(--surface-card); border: 1px solid var(--border-card); border-radius: var(--radius-card); padding: 48px; }
.kkm-corp-pricing-table { width: 100%; border-collapse: collapse; font-size: var(--type-body-sm); }
.kkm-corp-pricing-table tr { border-bottom: 1px solid var(--border-hairline); }
.kkm-corp-pricing-table tr:last-child { border-bottom: none; }
.kkm-corp-pricing-table td { padding: 14px 18px; color: var(--text-muted); }
.kkm-corp-pricing-table td:last-child { text-align: right; font-family: var(--font-serif); color: var(--text-heading); }

/* WINDOW 外部相談窓口 */
.kkm-corp-window { background: var(--surface-dark); }
.kkm-corp-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  border: 1px solid var(--line-dark-soft);
  border-radius: var(--radius-button);
  padding: 7px 14px;
  font-family: var(--font-mono);
  font-size: var(--type-eyebrow-sm);
  letter-spacing: var(--tracking-badge);
  color: var(--on-dark-500);
  margin-bottom: var(--space-6);
}
.kkm-corp-window-title { font-size: var(--type-h1); color: var(--text-on-dark); max-width: 24em; margin: 0 0 var(--space-6); }
.kkm-corp-window-lead { color: var(--text-on-dark-muted); font-size: var(--type-lead); max-width: var(--measure-text); line-height: var(--leading-body); margin: 0 0 var(--space-14); }
.kkm-corp-window-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: var(--col-gap); align-items: start; }

.kkm-corp-price-box { background: var(--surface-dark-deep); border: 1px solid var(--line-dark); border-radius: var(--radius-card); padding: var(--card-pad); }
.kkm-corp-price-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-6); padding-bottom: var(--space-5); border-bottom: 1px solid var(--line-dark); }
.kkm-corp-price-head-label { font-size: var(--type-ui-sm); color: var(--on-dark-500); margin-bottom: 2px; }
.kkm-corp-price-head-old { font-family: var(--font-serif); font-size: var(--type-h5); color: var(--on-dark-400); text-decoration: line-through; }
.kkm-corp-price-head-new { font-family: var(--font-serif); font-size: var(--type-h4); color: var(--text-on-dark); white-space: nowrap; }
.kkm-corp-price-note { font-size: var(--type-caption); color: var(--on-dark-500); margin: var(--space-3) 0 var(--space-8); }
.kkm-corp-price-rows { display: grid; gap: var(--space-5); }
.kkm-corp-price-row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-6); border-left: 2px solid var(--line-dark-soft); padding-left: var(--space-5); }
.kkm-corp-price-row-accent { border-left-color: var(--green-200); }
.kkm-corp-price-row-label { font-size: var(--type-body-sm); color: var(--text-on-dark); white-space: nowrap; }
.kkm-corp-price-row-sub { font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); letter-spacing: var(--tracking-eyebrow-tight); color: var(--on-dark-400); }
.kkm-corp-price-row-value-lg { font-family: var(--font-serif); font-size: var(--type-h3); color: var(--text-on-dark); white-space: nowrap; }
.kkm-corp-price-row-value-md { font-family: var(--font-serif); font-size: var(--type-h4b); color: var(--on-dark-700); white-space: nowrap; }
.kkm-corp-price-row-value-unit { font-size: var(--type-caption); color: var(--on-dark-500); }
.kkm-corp-price-footnote { margin: 0; padding-left: var(--space-5); font-size: var(--type-caption); color: var(--on-dark-500); line-height: var(--leading-body); }

.kkm-corp-window-features { display: grid; gap: var(--space-8); }
.kkm-corp-feature { border-top: 1px solid var(--line-dark); padding-top: var(--space-5); }
.kkm-corp-feature-accent { border-top: 2px solid var(--green-200); }
.kkm-corp-feature-title { font-size: var(--type-h5); color: var(--text-on-dark); margin: 0 0 var(--space-3); }
.kkm-corp-feature-desc { font-size: var(--type-body-sm); color: var(--text-on-dark-muted); line-height: var(--leading-body); margin: 0; }
.kkm-corp-window-disclaimer {
	font-size: var(--type-caption);
	color: var(--on-dark-500);
	line-height: var(--leading-body);
	margin: 0;
}

/* RESULTS */
.kkm-corp-results-list { display: grid; gap: var(--space-12); }
.kkm-corp-result-row { display: grid; grid-template-columns: 260px 1fr; gap: var(--col-gap); align-items: start; border-top: 1px solid var(--border-hairline); padding-top: var(--space-8); }
.kkm-corp-result-title { font-size: var(--type-h6); margin: 0 0 var(--space-2); }
.kkm-corp-result-meta { font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); letter-spacing: var(--tracking-eyebrow-tight); color: var(--text-label); }
.kkm-corp-result-desc { font-size: var(--type-body-sm); color: var(--text-muted); line-height: var(--leading-body); max-width: var(--measure-text); margin: 0; }
.kkm-corp-result-desc-mb { margin-bottom: var(--space-6); }

.kkm-corp-gridtiles { display: grid; gap: 1px; background: var(--border-hairline); }
.kkm-corp-gridtile { background: var(--paper-050); padding: 22px 24px; }
.kkm-corp-gridtile-label { font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); color: var(--text-label); letter-spacing: var(--tracking-eyebrow-tight); margin-bottom: var(--space-2); }
.kkm-corp-gridtile-value { font-family: var(--font-serif); font-size: var(--type-stat); color: var(--text-heading); }

.kkm-corp-quote { margin: 0; font-family: var(--font-serif); font-size: var(--type-h6b); line-height: var(--leading-heading); border-left: 2px solid var(--accent-rule); padding-left: var(--space-6); max-width: var(--measure-text); color: var(--text-heading); }
.kkm-corp-quote-mt { margin-top: var(--space-6); }
.kkm-corp-quote-subtle { color: var(--text-subtle); border-left-color: var(--line-300); }
.kkm-corp-quote-group { display: grid; gap: var(--space-5); max-width: var(--measure-text); }
.kkm-corp-note-caption { font-size: var(--type-caption); color: var(--text-label); margin-top: var(--space-4); }

.kkm-corp-results-subheading { font-family: var(--font-serif); font-size: var(--type-h4); font-weight: var(--weight-medium); color: var(--text-heading); margin: var(--space-12) 0 var(--space-6); }
.kkm-corp-results-subheading:first-of-type { margin-top: var(--space-6); }

.kkm-corp-featured-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); }
.kkm-corp-featured-card {
  background: var(--surface-card);
  border: 1px solid var(--border-card);
  border-top: 3px solid var(--accent-rule);
  border-radius: var(--radius-card);
  padding: var(--card-pad-sm);
  text-align: center;
}
.kkm-corp-featured-name { font-family: var(--font-serif); font-size: var(--type-h6); color: var(--text-heading); line-height: var(--leading-heading); }

.kkm-corp-all-results { display: grid; gap: var(--space-10); }
.kkm-corp-year-label { font-family: var(--font-mono); font-size: var(--type-eyebrow); letter-spacing: var(--tracking-eyebrow); color: var(--green-300); margin-bottom: var(--space-4); border-bottom: 1px solid var(--border-hairline); padding-bottom: var(--space-3); }
.kkm-corp-year-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--grid-gap); list-style: none; margin: 0; padding: 0; font-size: var(--type-body-sm); color: var(--text-muted); }
.kkm-corp-year-list li { padding: 9px 0; border-bottom: 1px solid var(--border-hairline); }

/* メルマガ登録バナー（固定表示。front-page.php の kkm-newsletter-bar と完全同一のクラス・スタイル・アニメーション） */
.kkm-newsletter-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  background: var(--bg-band);
  border-top: 2px solid var(--green-600);
  box-shadow: 0 -6px 24px oklch(0.28 0.045 162 / 0.12);
  animation: kkm-glow var(--duration-banner-cycle) ease-in-out infinite;
}
.kkm-newsletter-inner {
  max-width: var(--measure);
  margin: 0 auto;
  padding: 16px var(--gutter);
  display: flex;
  align-items: center;
  gap: var(--grid-gap-lg);
  flex-wrap: wrap;
}
.kkm-newsletter-badge {
  white-space: nowrap;
  font-family: var(--font-mono);
  font-size: var(--type-eyebrow-sm);
  letter-spacing: var(--tracking-eyebrow-tight);
  color: oklch(0.5 0.06 158);
  border: 1px solid oklch(0.75 0.05 155);
  padding: 5px 10px;
  animation: kkm-drift var(--duration-banner-cycle) ease-in-out infinite;
}
.kkm-newsletter-text { flex: 1; min-width: 300px; display: flex; flex-direction: column; gap: 3px; }
.kkm-newsletter-title { font-family: var(--font-serif); font-size: var(--type-h6c); color: var(--green-700); letter-spacing: 0.03em; }
.kkm-newsletter-sub { font-size: var(--type-caption); color: var(--ink-600); }
.kkm-newsletter-btn {
  background: var(--green-600);
  color: var(--paper-100);
  padding: 13px 30px;
  border-radius: var(--radius-button);
  font-size: var(--type-body-sm);
  font-weight: var(--weight-medium);
  white-space: nowrap;
  animation: kkm-breath var(--duration-banner-cycle) ease-in-out infinite;
}
.kkm-newsletter-btn:hover { background: var(--green-700); color: var(--paper-100); }

@media (max-width: 760px) {
  .kkm-newsletter-inner { padding: 10px 16px !important; gap: 10px !important; }
  .kkm-newsletter-title { font-size: 13.5px !important; }
  .kkm-newsletter-sub { font-size: 11.5px !important; line-height: 1.6 !important; }
  .kkm-newsletter-btn { padding: 10px 16px !important; font-size: 13px !important; }
  .kkm-newsletter-text { min-width: 0 !important; }
}

@keyframes kkm-glow {
  0%, 100% { box-shadow: 0 -6px 24px oklch(0.28 0.045 162 / 0.12); border-top-color: var(--green-600); }
  50% { box-shadow: 0 -10px 40px oklch(0.36 0.06 162 / 0.32); border-top-color: oklch(0.52 0.11 148); }
}
@keyframes kkm-breath {
  0%, 100% { transform: scale(1); background: var(--green-600); }
  50% { transform: scale(1.045); background: var(--green-500); }
}
@keyframes kkm-drift {
  0%, 100% { opacity: 0.85; transform: translateX(0); }
  50% { opacity: 1; transform: translateX(4px); }
}

/* PROFILE */
.kkm-corp-profile-grid { margin-top: var(--space-14); display: grid; grid-template-columns: 300px 1fr; gap: var(--col-gap); align-items: start; }
.kkm-corp-profile-card { background: var(--surface-card); border: 1px solid var(--border-card); border-radius: var(--radius-card); padding: var(--card-pad-sm); }
.kkm-corp-profile-name { font-size: var(--type-h4); margin: 0 0 var(--space-2); }
.kkm-corp-profile-kana { font-size: var(--type-caption); color: var(--text-label); margin-bottom: var(--space-5); }
.kkm-corp-profile-role { font-size: var(--type-caption); color: var(--text-muted); line-height: var(--leading-body); margin: 0 0 var(--space-6); }
.kkm-corp-profile-creds { display: grid; gap: var(--space-2); border-top: 1px solid var(--border-hairline); padding-top: var(--space-5); font-family: var(--font-mono); font-size: var(--type-eyebrow-sm); letter-spacing: var(--tracking-eyebrow-tight); color: var(--text-label); }
.kkm-corp-profile-body { display: grid; gap: var(--space-6); max-width: var(--measure-text); }
.kkm-corp-profile-p { font-size: var(--type-body); color: var(--text-muted); line-height: var(--leading-body); margin: 0; }
.kkm-corp-mission { margin-top: var(--space-12); border-top: 2px solid var(--accent-rule); padding-top: var(--space-6); }
.kkm-corp-mission-label { font-family: var(--font-mono); font-size: var(--type-eyebrow); letter-spacing: var(--tracking-eyebrow); color: var(--green-300); margin-bottom: var(--space-4); }
.kkm-corp-mission-text { font-family: var(--font-serif); font-size: var(--type-h3); color: var(--text-heading); line-height: var(--leading-heading); margin: 0; }
.kkm-corp-mission-note { font-size: var(--type-caption); color: var(--text-label); line-height: var(--leading-body); margin: var(--space-4) 0 0; }
.kkm-corp-mission-note a { color: var(--text-label); text-decoration: underline; }

/* CONTACT（法人向けページ下部のCTA） */
.kkm-corp-contact-section { padding: var(--section-y-lg) var(--gutter); background: var(--surface-dark-deep); text-align: center; }
.kkm-corp-contact-inner { max-width: 720px; margin: 0 auto; }
.kkm-corp-contact-title { font-size: var(--type-h1); color: var(--text-on-dark); margin: 0 0 var(--space-6); }
.kkm-corp-contact-desc { color: var(--text-on-dark-muted); font-size: var(--type-lead); line-height: var(--leading-body); margin: 0 0 var(--space-10); }

/* 法人向けお問い合わせページ */
.kkm-corp-form-section { padding: var(--section-y) var(--gutter); }
.kkm-corp-form-inner { max-width: 720px; margin: 0 auto; }
.kkm-corp-form-intro { font-size: var(--type-body); color: var(--text-muted); line-height: var(--leading-body); margin: 0 0 var(--space-16); }
.kkm-corp-form-note { font-size: var(--type-caption); color: var(--text-label); line-height: var(--leading-body); margin: var(--space-6) 0 0; max-width: var(--measure-text); }

@media (max-width: 900px) {
  .kkm-corp-compare-grid,
  .kkm-corp-course-grid,
  .kkm-corp-pricing-wrap,
  .kkm-corp-window-grid,
  .kkm-corp-result-row,
  .kkm-corp-profile-grid,
  .kkm-corp-featured-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 620px) {
  .kkm-corp-year-list {
    grid-template-columns: 1fr !important;
  }
  .kkm-corp-price-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: var(--space-3) !important;
  }
  .kkm-corp-price-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: var(--space-2) !important;
  }
  .kkm-corp-price-row-label,
  .kkm-corp-price-row-value-lg,
  .kkm-corp-price-row-value-md,
  .kkm-corp-price-head-new {
    white-space: normal !important;
  }
  .kkm-corp-price-row-value-lg {
    font-size: var(--type-h4) !important;
  }
  .kkm-corp-price-row-value-md {
    font-size: var(--type-h5) !important;
  }
  .kkm-corp-price-box,
  .kkm-corp-window-features {
    min-width: 0 !important;
  }
  .kkm-corp-window-disclaimer {
    overflow-wrap: break-word !important;
    max-width: 100% !important;
  }
}
