/* ── Training Page ── */

.orange { color:#e7903f; }
.yellow { color:#fff048; }

/* Hero */
.tr-hero {
  position:relative; width:100%; overflow:hidden;
  display:flex; align-items:center;
  min-height:400px;
}
.tr-hero-bg {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; pointer-events:none;
}
.tr-hero-text {
  position:relative; z-index:1;
  padding:60px clamp(24px, 5vw, 96px);
  display:flex; flex-direction:column; gap:16px;
}
.tr-hero-label {
  font-size:14px; font-weight:600; color:#23b253;
  letter-spacing:3px; text-transform:uppercase;
}
.tr-hero h1 {
  font-size:52px; font-weight:800; letter-spacing:-1px; line-height:1.15;
  color:#333;
}
.tr-hero-sub {
  font-size:20px; font-weight:500; color:#555;
  letter-spacing:-0.12px; line-height:1.55; max-width:480px;
}
.tr-hero-tags {
  display:flex; gap:10px; flex-wrap:wrap; margin-top:8px;
}
.tr-hero-tag {
  font-size:13px; font-weight:600; color:#23b253;
  background:rgba(35,178,83,0.08); border:1px solid rgba(35,178,83,0.2);
  padding:6px 14px; border-radius:20px;
}
.tr-hero-tag--orange {
  color:#ff8d0c;
  background:rgba(255,141,12,0.08); border-color:rgba(255,141,12,0.2);
}

/* CTA Buttons */
.tr-cta-buttons {
  display:flex; gap:30px; justify-content:center; flex-wrap:wrap;
  padding:30px clamp(24px, 5vw, 64px);
}
.btn-orange-outline-pill {
  display:inline-flex; align-items:center; justify-content:center;
  padding:20px 75px; background:#fff; color:#ff8d0c;
  font-size:18px; font-weight:700; border-radius:10000px;
  border:2px solid #ff8d0c;
  box-shadow:0 14px 40px rgba(255,141,12,0.2);
  letter-spacing:-0.09px; line-height:1.45; white-space:nowrap; transition:transform 0.2s;
}
.btn-orange-outline-pill:hover { transform:translateY(-2px); }

/* 助成金バナー */
.tr-subsidy-banner {
  background:#23b253; text-align:center; padding:20px clamp(24px, 5vw, 64px);
}
.tr-subsidy-banner p {
  font-size:21px; font-weight:700; color:#fff;
  letter-spacing:-0.42px; line-height:1.2;
}

/* 助成金詳細 */
.tr-subsidy-detail {
  background:#f4fbf6; padding:40px clamp(24px, 5vw, 64px);
}
.tr-subsidy-inner {
  max-width:1152px; margin:0 auto;
  display:flex; gap:70px; align-items:center; justify-content:center;
  flex-wrap:wrap;
}
.tr-subsidy-headline {
  font-size:28px; font-weight:700; color:#23b253;
  letter-spacing:-0.56px; line-height:1.2; text-align:center;
}
.tr-subsidy-body {
  max-width:446px; font-size:18px; font-weight:400;
  color:#4b4b4b; letter-spacing:-0.36px; line-height:1.2;
}
.tr-subsidy-body a {
  text-decoration:underline; color:#4b4b4b;
}

/* Section Header (centered) */
.tr-section-header {
  display:flex; flex-direction:column; align-items:center; gap:16px;
  padding:80px clamp(24px, 5vw, 64px) 40px;
}
.tr-header-bar {
  width:206px; height:6px; background:#23b253;
}
.tr-section-header h2 {
  font-size:40px; font-weight:700; letter-spacing:-1px; line-height:1.1;
  text-align:center;
}
.tr-header-sub {
  font-size:18px; font-weight:500; color:rgba(0,0,0,0.55);
  letter-spacing:-0.09px; line-height:1.45; text-align:center;
}

/* Course Cards */
.tr-course-cards {
  display:flex; gap:32px; justify-content:center; align-items:center;
  max-width:960px; margin:0 auto;
  padding:30px clamp(24px, 5vw, 64px) 60px;
  background:#fff;
  border-radius:20px;
  box-shadow:0 4px 8px rgba(0,0,0,0.25);
}
.tr-course-card {
  display:flex; flex-direction:column; align-items:center; gap:10px;
  flex:1; min-width:0;
}
.tr-course-label {
  font-size:21px; font-weight:700; letter-spacing:-0.42px; line-height:1.2;
}
.tr-course-label.orange { color:#e7903f; }
.tr-course-card-inner {
  border-radius:16px; padding:24px; width:430px; max-width:100%;
}
.tr-bg-green { background:#eaf7f2; }
.tr-bg-orange { background:#fcf4eb; }
.tr-course-card-inner h3 {
  font-size:22px; font-weight:600; letter-spacing:-0.48px; line-height:1.45;
  margin-bottom:8px;
}
.tr-course-card-inner h3 .green { font-size:24px; }
.tr-course-card-inner h3 .orange { font-size:24px; }
.tr-course-card-inner p {
  font-size:18px; font-weight:500; color:rgba(0,0,0,0.55);
  letter-spacing:-0.09px; line-height:1.4;
}

/* Detail Section */
.tr-detail-section {
  padding:0 clamp(24px, 5vw, 64px) 80px;
}
.tr-detail-inner {
  max-width:1152px; margin:0 auto;
  display:flex; flex-direction:column; gap:20px;
}
.tr-detail-heading {
  display:flex; align-items:center; gap:16px;
  margin-top:40px;
}
.tr-heading-bar {
  width:4px; height:39px; background:#23b253; flex-shrink:0;
}
.tr-detail-heading h3 {
  font-size:30px; font-weight:700; letter-spacing:-0.6px; line-height:1.2;
}
.tr-detail-text {
  padding-left:20px;
}
.tr-big-text {
  font-size:25px; font-weight:700; letter-spacing:-0.5px; line-height:1.6;
}
.tr-note {
  font-size:15px; font-weight:500; color:#404040;
  letter-spacing:-0.3px; line-height:1.6;
}
.tr-note-inline {
  font-size:15px; font-weight:500; color:#3a3a3a;
  letter-spacing:-0.3px; line-height:1.6;
}
.tr-cta-inline {
  padding:10px 0 0;
}

/* Curriculum Table */
.tr-curriculum-table {
  width:100%; overflow-x:auto; margin-top:10px;
}
.tr-curriculum-table table {
  width:100%; border-collapse:collapse;
  font-size:16px; font-weight:500; letter-spacing:-0.09px; line-height:1.45;
}
.tr-curriculum-table thead tr {
  background:#f4fbf6;
}
.tr-curriculum-table th, .tr-curriculum-table td {
  padding:8px 12px; text-align:center;
  border:1px solid rgba(0,0,0,0.1);
  font-size:16px;
}
.tr-curriculum-table th {
  font-weight:500; white-space:nowrap;
}
.tr-curriculum-table .col-num { width:60px; }
.tr-curriculum-table .col-format { width:60px; }
.tr-curriculum-table .col-area { width:130px; }
.tr-curriculum-table .col-theme { width:220px; }
.tr-curriculum-table td:first-child {
  font-family:'Inter',sans-serif;
}
.tr-curriculum-table thead th:first-child { border-top-left-radius:20px; }
.tr-curriculum-table thead th:last-child { border-top-right-radius:20px; }

/* Cases */
.tr-cases {
  background:#f4fbf6;
  padding:0 clamp(24px, 5vw, 64px) 48px;
}
.tr-cases .tr-section-header {
  padding-bottom:20px;
}
.tr-cases-filter {
  max-width:1081px; margin:0 auto;
  background:#f2f2f2; padding:16px 30px;
  box-shadow:0 4px 8px rgba(0,0,0,0.25);
}
.tr-filter-inner {
  background:#fff; display:flex; align-items:center; gap:20px;
  padding:12px 24px;
}
.tr-filter-icon {
  font-size:18px; color:#000;
}
.tr-filter-inner span:last-child {
  font-size:18px; font-weight:500; letter-spacing:-0.09px;
}
.tr-cases-list {
  max-width:1152px; margin:0 auto;
  padding:48px 0;
}

/* Company (reuse) */
.tr-company {
  display:flex; flex-direction:column; gap:8px;
  align-items:center; padding:48px clamp(24px, 5vw, 64px); text-align:center;
}
.tr-company .company-logo {
  width:120px;
}

/* Responsive moved to training-sp.css */
