/* 未来ゼミ：活動実績・出前授業。既存の style.css の後に読み込んでください。 */
.track-record {
  padding: clamp(24px, 4vw, 40px);
  margin-bottom: 24px;
  color: var(--text-primary, #17263c);
  background: linear-gradient(145deg, #fff 45%, #f3fafb);
  border: 1px solid #dce9ee;
  scroll-margin-top: 110px;
}
.track-record:hover { transform: none; }
.track-record-heading { margin-bottom: 26px; }
.track-record-kicker {
  display: block; margin-bottom: 8px;
  color: #087e91; font-size: .76rem; font-weight: 800; letter-spacing: .16em;
}
.track-record h2 {
  margin: 0; font-family: var(--font-serif, serif);
  font-size: clamp(1.4rem, 3vw, 1.7rem); line-height: 1.5;
}
.track-record-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) 240px;
  gap: 30px; align-items: start;
}
.track-record-content { min-width: 0; overflow-wrap: anywhere; }
.track-record-label {
  display: inline-block; border-radius: 999px; padding: 5px 12px;
  background: #edf6fa; color: #24647b; font-size: .78rem; font-weight: 700;
}
.track-record h3 { margin: 14px 0 8px; font-size: 1.15rem; line-height: 1.7; }
.track-record-theme { font-weight: 700; color: #28566f; margin-bottom: 18px; line-height: 1.8; }
.track-record-content > p:not([class]) {
  margin: 0 0 14px; color: var(--text-secondary, #475569);
  font-size: .93rem; line-height: 1.95;
}
.track-record-result {
  border-radius: 18px; padding: 25px 16px;
  background: linear-gradient(150deg, #eaf6fc, #ecf9f3);
  border: 1px solid #d0e7e7; text-align: center;
}
.track-record-result-label, .track-record-result-note { margin: 0; font-size: .76rem; color: #466877; }
.track-record-number {
  display: flex; align-items: baseline; justify-content: center; gap: 5px;
  margin: 4px 0 10px; color: #176880; font-size: 1.4rem; font-weight: 800;
}
.track-record-number span { font-family: 'Outfit', sans-serif; font-size: 5rem; line-height: 1.15; }
.track-record-result-text { margin: 0 0 10px; font-size: .86rem; line-height: 1.9; font-weight: 700; color: #254e60; }
.track-record-school-note {
  margin: 24px 0 0; padding-top: 20px; border-top: 1px solid #dce9ee;
  font-size: .8rem; line-height: 1.9; color: var(--text-secondary, #475569);
}
.track-record-school-note a { color: #126c86; text-decoration: underline; text-underline-offset: 3px; }
.track-record-school-note a:focus-visible { outline: 2px solid #126c86; outline-offset: 4px; }

/* 未来ゼミ：ネオンの入口 */
.seminar-neon-hero {
  position: relative; overflow: hidden;
  background:
    radial-gradient(circle at 15% 15%, rgba(32, 201, 182, .20), transparent 30%),
    radial-gradient(circle at 86% 88%, rgba(126, 83, 219, .31), transparent 34%),
    linear-gradient(135deg, #070b17 0%, #101a33 54%, #0a1230 100%) !important;
  border: 1px solid rgba(105, 211, 255, .28);
  box-shadow: 0 20px 48px rgba(10, 16, 40, .32), inset 0 0 40px rgba(61, 188, 255, .05);
}
.seminar-neon-hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .45;
  background-image: radial-gradient(rgba(134, 235, 255, .52) .7px, transparent .7px);
  background-size: 20px 20px; mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}
.seminar-neon-hero > * { position: relative; z-index: 1; }
.seminar-neon-hero .hero-badge {
  color: #9ef5e7; background: rgba(28, 205, 182, .12); border-color: rgba(112, 241, 221, .34);
}
.seminar-neon-hero .hero-title { text-shadow: 0 0 25px rgba(89, 205, 255, .18); }
.seminar-neon-hero div[style*="color: var(--text-primary)"] { color: #f4f8ff !important; }
.seminar-neon-hero p { color: #d5def0 !important; }
.seminar-neon-hero p[style*="color: #24576a"] { color: #8deee0 !important; }
.seminar-neon-hero .seminar-intro-note { color: #b8c6e5 !important; }
.seminar-neon-hero .btn-line { box-shadow: 0 8px 22px rgba(89, 230, 132, .25); }
.seminar-neon-hero .btn-insta { box-shadow: 0 8px 22px rgba(195, 82, 221, .24); }

/* 未来ゼミ：悩みを選んで入る入口 */
.seminar-start {
  padding: clamp(24px, 4vw, 40px);
  margin-bottom: 24px;
  color: #eff6ff;
  background:
    radial-gradient(circle at 8% 20%, rgba(37, 200, 184, .17), transparent 31%),
    radial-gradient(circle at 90% 80%, rgba(130, 76, 229, .20), transparent 34%),
    linear-gradient(135deg, #0b1226, #111e3a 65%, #0d1532);
  border: 1px solid rgba(106, 208, 233, .29);
  box-shadow: 0 16px 38px rgba(11, 22, 48, .22);
}
.seminar-start:hover { transform: none; }
.seminar-start-heading { text-align: center; }
.seminar-start-kicker {
  display: block; margin-bottom: 8px;
  color: #80f4df; font-size: .76rem; font-weight: 800; letter-spacing: .16em;
}
.seminar-start h2 {
  margin: 0 0 8px; font-family: var(--font-serif, serif);
  color: #fff; font-size: clamp(1.4rem, 3vw, 1.7rem); line-height: 1.5;
}
.seminar-start-heading > p {
  margin: 0; color: #c7d2e8; font-size: .9rem; line-height: 1.8;
}
.seminar-start-options {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px; margin: 25px 0 16px;
}
.seminar-start-option {
  min-height: 54px; padding: 12px 16px; border: 1px solid rgba(137, 188, 230, .32); border-radius: 12px;
  color: #e5eeff; background: rgba(255, 255, 255, .06); cursor: pointer;
  font: 700 .9rem var(--font-sans, sans-serif); line-height: 1.5; transition: .2s ease;
}
.seminar-start-option:hover, .seminar-start-option.is-selected {
  color: #bafff1; border-color: #4bd6ce; background: rgba(60, 202, 190, .16);
  box-shadow: 0 5px 14px rgba(43, 212, 204, .15), inset 0 0 18px rgba(79, 228, 218, .05);
}
.seminar-start-option:focus-visible { outline: 3px solid rgba(94, 236, 222, .68); outline-offset: 3px; }
.seminar-start-answer {
  padding: 21px 22px; border-radius: 14px; background: rgba(3, 10, 29, .48);
  border: 1px solid rgba(126, 193, 240, .26);
}
.seminar-start-answer-title {
  margin: 0 0 7px; color: #fff; font-family: var(--font-serif, serif);
  font-size: 1.05rem; font-weight: 700;
}
.seminar-start-answer-text { margin: 0; color: #cbd8ee; font-size: .9rem; line-height: 1.9; }
.seminar-start-line {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 14px;
  color: #83f6e3; font-size: .86rem; font-weight: 800; text-decoration: none;
}
.seminar-start-line:hover { text-decoration: underline; text-underline-offset: 4px; }
.seminar-start-line:focus-visible { outline: 2px solid #83f6e3; outline-offset: 4px; }

/* 未来ゼミ：参加者の声 */
.seminar-voices {
  padding: clamp(24px, 4vw, 40px);
  margin-bottom: 24px;
  color: var(--text-primary, #17263c);
  background: linear-gradient(145deg, #fff 36%, #f7f6ff 100%);
  border: 1px solid #e4e0f7;
}
.seminar-voices:hover { transform: none; }
.seminar-voices-heading { margin-bottom: 24px; }
.seminar-voices-kicker {
  display: block; margin-bottom: 8px;
  color: #7657ca; font-size: .76rem; font-weight: 800; letter-spacing: .16em;
}
.seminar-voices h2 {
  margin: 0 0 7px; font-family: var(--font-serif, serif);
  font-size: clamp(1.4rem, 3vw, 1.7rem); line-height: 1.5;
}
.seminar-voices-heading > p {
  margin: 0; color: var(--text-secondary, #475569); font-size: .9rem; line-height: 1.8;
}
.seminar-voice-card {
  position: relative; overflow: hidden;
  padding: clamp(24px, 4vw, 34px) clamp(20px, 4.5vw, 44px);
  border: 1px solid #e3def8; border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(72, 48, 139, .07);
}
.seminar-voice-mark {
  position: absolute; top: -22px; left: 16px;
  font-family: Georgia, serif; font-size: 7rem; line-height: 1;
  color: #e8e1ff; pointer-events: none;
}
.seminar-voice-content { position: relative; z-index: 1; }
.seminar-voice-content p {
  margin: 0 0 14px; color: var(--text-secondary, #475569);
  font-size: .96rem; line-height: 2;
}
.seminar-voice-content .seminar-voice-lead {
  color: #24364f; font-family: var(--font-serif, serif);
  font-size: clamp(1.05rem, 2.2vw, 1.18rem); font-weight: 700; line-height: 1.9;
}
.seminar-voice-content .seminar-voice-author {
  display: inline-block; margin: 4px 0 0; padding-top: 15px;
  border-top: 1px solid #edeafa; color: #7055af;
  font-size: .82rem; font-weight: 700; letter-spacing: .04em;
}

/* 未来ゼミ：応援パートナー */
.support-partner {
  position: relative; overflow: hidden;
  margin-bottom: 24px; padding: clamp(28px, 5vw, 52px);
  border: 1px solid #d7e8eb;
  background:
    radial-gradient(circle at 95% 7%, rgba(125, 92, 224, .11), transparent 27%),
    radial-gradient(circle at 4% 100%, rgba(21, 186, 169, .12), transparent 32%),
    linear-gradient(145deg, #fff 25%, #f7fcfc 100%);
}
.support-partner:hover { transform: none; }
.support-partner-heading { max-width: 700px; }
.support-partner-kicker {
  display: block; margin-bottom: 9px; color: #168a84;
  font-size: .76rem; font-weight: 800; letter-spacing: .16em;
}
.support-partner h2 {
  margin: 0 0 14px; color: var(--text-primary, #17263c);
  font-family: var(--font-serif, serif); font-size: clamp(1.55rem, 3.4vw, 2rem); line-height: 1.55;
}
.support-partner-heading > p, .support-partner-message p {
  margin: 0; color: var(--text-secondary, #475569); font-size: .95rem; line-height: 1.95;
}
.support-partner-message {
  margin: 28px 0; padding: 22px 24px; border-left: 4px solid #22b8ae;
  border-radius: 0 12px 12px 0; background: rgba(255, 255, 255, .7);
}
.support-partner-message p + p { margin-top: 12px; }
.support-partner-message strong { color: #087d78; font-weight: 800; }
.support-partner-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
  margin-bottom: 24px;
}
.support-partner-card {
  padding: 21px 18px; border: 1px solid #dbe9eb; border-radius: 14px; background: rgba(255,255,255,.86);
}
.support-partner-card > span {
  color: #6c69b7; font-family: 'Outfit', sans-serif; font-size: .76rem; font-weight: 800; letter-spacing: .12em;
}
.support-partner-card h3 { margin: 10px 0 8px; color: var(--text-primary, #17263c); font-family: var(--font-serif, serif); font-size: 1rem; line-height: 1.6; }
.support-partner-card p { margin: 0; color: var(--text-secondary, #475569); font-size: .84rem; line-height: 1.75; }
.support-partner-promise { padding: 22px 24px; border: 1px solid #e4e1f5; border-radius: 14px; background: rgba(247,246,255,.7); }
.support-partner-promise h3 { margin: 0 0 12px; color: #454079; font-size: .98rem; }
.support-partner-promise ul { margin: 0; padding-left: 1.25em; color: var(--text-secondary, #475569); font-size: .88rem; line-height: 1.9; }
.support-partner-action {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  margin-top: 28px; padding-top: 25px; border-top: 1px solid #dce8e9;
}
.support-partner-action p { margin: 0; color: var(--text-secondary, #475569); font-size: .9rem; line-height: 1.75; }
.support-partner-action .support-partner-action-title { color: var(--text-primary, #17263c); font-family: var(--font-serif, serif); font-size: 1.05rem; font-weight: 700; }
.support-partner-button {
  display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; padding: 14px 19px; border-radius: 999px;
  color: #fff; background: linear-gradient(120deg, #119a92, #5e65c7); box-shadow: 0 8px 17px rgba(28, 119, 142, .18);
  font-size: .87rem; font-weight: 800; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease;
}
.support-partner-button:hover { transform: translateY(-2px); box-shadow: 0 11px 21px rgba(28, 119, 142, .25); }
.support-partner-button:focus-visible { outline: 3px solid rgba(22, 138, 132, .42); outline-offset: 4px; }
@media (max-width: 720px) {
  .track-record-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .track-record-result { padding: 20px 16px; }
  .seminar-start-options { grid-template-columns: minmax(0, 1fr); }
  .seminar-voice-card { border-radius: 15px; }
  .seminar-voice-mark { left: 9px; }
  .support-partner-grid { grid-template-columns: minmax(0, 1fr); }
  .support-partner-action { align-items: flex-start; flex-direction: column; }
  .support-partner-button { width: 100%; justify-content: center; }
}
