/* Approved corrections, 2026-09-10 */
.bousai-phase2-materials__steps article { display: block; min-height: 0; padding: 0 0 2rem 2rem; }
.bousai-phase2-materials__steps article:last-child { padding-bottom: 0; }
.bousai-phase2-materials__steps article::after { position: absolute; top: 0.7rem; bottom: -0.7rem; left: 0.58rem; margin: 0; width: 0.24rem; }
.bousai-phase2-materials__steps article:last-child::after { display: none; }
.bousai-phase2-materials__steps article > p { padding: 0; flex-direction: row; align-items: baseline; gap: 0.5rem; }
.bousai-phase2-materials__steps article > p::before { left: -2rem; top: 0.5rem; }
.bousai-phase2-materials__steps article > div { margin-top: 0.6rem; }
.bousai-phase2-materials__steps article div > p { font-size: 1rem; }
.bousai-exam-modal__dialog { width: min(100%, 56rem); padding: 2.5rem; border-radius: 1rem; }
.bousai-exam-modal__header { position: static; display: block; padding: 0 0 1.75rem; border: 0; text-align: center; }
.bousai-exam-modal__header::before { content: ''; display: block; width: 3rem; height: 0.45rem; margin: 0 auto 1.25rem; border-radius: 1rem; background: #ff6b19; }
.bousai-exam-modal__header h2 { font-size: 1.75rem; }
.bousai-exam-table { width: 100%; border-collapse: collapse; table-layout: fixed; color: #333; font-size: 1rem; }
.bousai-exam-table caption { padding: 1rem; background: #7095af; color: white; font-weight: 700; text-align: center; }
.bousai-exam-table th, .bousai-exam-table td { padding: 1rem; border: 1px solid #d7d7cd; background: #fffef6; vertical-align: top; text-align: left; overflow-wrap: anywhere; line-height: 1.8; }
.bousai-exam-table th { width: 28%; background: #f5f3e8; }
.bousai-exam-notes { margin-top: 1rem; color: #555; font-size: 0.875rem; line-height: 1.8; }
.bousai-exam-modal__close { display: block; width: min(16rem, 100%); height: auto; min-height: 3rem; margin: 2rem auto 0; border-radius: 2rem; background: #58cbb4; color: white; font-size: 1rem; font-weight: 700; }
.bousai-exam-modal__close:hover { background: #32aa94; }
.l-headerNavButton__line { background: #06c755; gap: 0.4rem; }
.l-headerNavButton__line img { width: 1.75rem; height: 1.75rem; }
.l-headerNavMenu.hasIcon a::before { display: none; }
.l-headerNavMenu.hasIcon svg { flex: 0 0 1.75rem; width: 1.75rem; height: 1.75rem; stroke: currentColor; fill: none; stroke-width: 2; }
.l-headerNavMenu .book svg { color: #f78227; }
.l-headerNavMenu .search svg { color: #75bf43; }
.l-headerNavMenu .chat svg { color: #f2b528; }
.l-headerNavMenu .question svg { color: #37b5d2; }
.l-headerNavMenu .support svg { color: #3693c9; }

/* Learning-support composition and course qualification, 2026-09-11 */
@media (min-width: 64rem) {
  .bousai-phase2-support__body {
    min-height: 34rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 0.44fr) minmax(0, 0.56fr);
  }
  .bousai-phase2-support__photo {
    display: block;
    min-width: 0;
    grid-column: 1;
    grid-row: 1 / 3;
    overflow: hidden;
  }
  .bousai-phase2-support__body img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .bousai-phase2-support__panel--question {
    grid-column: 2;
    grid-row: 1;
    background: #fff;
  }
  .bousai-phase2-support__panel--long-term {
    grid-column: 2;
    grid-row: 2;
  }
  .bousai-phase2-support__panel {
    padding: clamp(1.25rem, 2vw, 2rem) clamp(2rem, 4vw, 4rem);
  }
}

.bousai-phase2-support__panel--long-term > .bousai-phase2-support__days {
  display: block;
  margin-block: 0.9rem 0.65rem;
  line-height: 1;
}
.bousai-phase2-support__panel--long-term > .bousai-phase2-support__days .bousai-phase2-support__course {
  display: block;
  width: auto;
  margin-bottom: 0.45rem;
  color: #fff;
  font-size: clamp(1.1rem, 1.55vw, 1.4rem);
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
}
.bousai-phase2-support__days-value {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  color: var(--bousai-color-orange-500);
  white-space: nowrap;
}
.bousai-phase2-support__days-value { gap: 0.2rem; }
.bousai-phase2-support__panel--long-term > .bousai-phase2-support__days .bousai-phase2-support__days-value strong {
  color: inherit;
  font-size: clamp(4.6rem, 7.7vw, 7.2rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 0.9;
}
.bousai-phase2-support__panel--long-term > .bousai-phase2-support__days .bousai-phase2-support__days-value > span {
  color: inherit;
  font-size: clamp(2rem, 3.5vw, 3.4rem);
  font-weight: 900;
}

@media (max-width: 47.999rem) {
  .bousai-phase2-support__panel--long-term > .bousai-phase2-support__days {
    margin-block: 1.2rem 1rem;
  }
  .bousai-phase2-support__panel--long-term > .bousai-phase2-support__days .bousai-phase2-support__course {
    margin-bottom: 0.6rem;
    font-size: clamp(1.15rem, 5.2vw, 1.4rem);
  }
  .bousai-phase2-support__panel--long-term > .bousai-phase2-support__days .bousai-phase2-support__days-value strong {
    font-size: clamp(4.6rem, 24vw, 6.3rem);
  }
  .bousai-phase2-support__panel--long-term > .bousai-phase2-support__days .bousai-phase2-support__days-value > span {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }
}

/* Font-independent, geometrically centered CTA chevrons. */
.bousai-cta-card strong::after,
.bousai-cta-pair--apply-request .bousai-cta-card strong::after,
.bousai-course-apply-button::after,
.bousai-sp-fixed-cta a::after {
  content: "";
  flex-shrink: 0;
  align-self: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m8 6 4 4-4 4' fill='none' stroke='%23d93542' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.bousai-cta-pair--apply-request .bousai-cta-card--request strong::after,
.bousai-cta-card--request strong::after,
.bousai-sp-fixed-cta .bousai-sp-fixed-cta-request::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m8 6 4 4-4 4' fill='none' stroke='%23176db3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.bousai-cta-card--line strong::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m8 6 4 4-4 4' fill='none' stroke='%23209948' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (min-width: 1024px) {
  .l-footerSitemapList .l-footerSitemapList__customer { order: 9; grid-column: 1 / -1; }
}

/* Supervisor portrait replacement, 2026-09-11 */
.bousai-phase2-supervisor__grid {
  grid-template-columns: minmax(20rem, 0.92fr) minmax(0, 1.08fr);
  column-gap: clamp(2.5rem, 5vw, 5rem);
}
.bousai-phase2-supervisor__figure {
  width: 100%;
  max-width: 34rem;
  justify-self: center;
}
.bousai-phase2-supervisor__photo {
  aspect-ratio: 1;
  background: #d9d7d6;
}
.bousai-phase2-supervisor__photo img {
  object-fit: cover;
  object-position: center;
}

@media (max-width: 47.999rem) {
 .bousai-phase2-supervisor__grid { grid-template-areas: "figure" "intro" "details"; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
 .bousai-phase2-supervisor__figure { width: 100%; max-width: 25rem; }
 .bousai-phase2-supervisor__photo { aspect-ratio: 1; }
 .bousai-phase2-supervisor__label { text-align: center; }
 .bousai-phase2-supervisor__intro,
 .bousai-phase2-supervisor__details { text-align: left; }
 .bousai-phase2-supervisor__achievement { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: baseline; gap: 0.35rem 0.5rem; }
 .bousai-phase2-supervisor__achievement strong { display: inline; margin: 0; }
 .bousai-phase2-curriculum__month-heading { grid-template-columns: 4rem minmax(0, 1fr); gap: 0.8rem; }
 .bousai-phase2-curriculum__month-heading > p { flex-direction: column; align-items: center; gap: 0.35rem; }
 .bousai-phase2-curriculum__month-heading strong { font-size: 3.4rem; }
 .bousai-phase2-curriculum__month-heading span { font-size: 1rem; }
 .bousai-phase2-curriculum__month-heading h3 { min-width: 0; font-size: 1rem; padding-left: 0.8rem; overflow-wrap: anywhere; }
 .bousai-sp-fixed-cta { padding-top: 1rem; gap: 0.5rem; }
 .bousai-sp-fixed-cta a { position: relative; padding-top: 0.4rem; }
 .bousai-sp-fixed-cta a small { position: absolute; top: -0.65rem; left: 0.25rem; right: 0.25rem; background: white; border: 1px solid currentColor; border-radius: 2rem; font-size: 0.75rem; line-height: 1.4; text-align: center; }
 .bousai-sp-fixed-cta-apply small { color: #d93542; }
 .bousai-sp-fixed-cta-request small { color: #176db3; }
 .bousai-exam-modal { padding: 0.75rem; }
 .bousai-exam-modal__dialog { padding: 1.5rem 0.8rem; max-height: calc(100dvh - 1.5rem); }
 .bousai-exam-table th, .bousai-exam-table td { padding: 0.75rem 0.5rem; font-size: 0.875rem; }
 .bousai-exam-table th { width: 29%; }
 .c-pageTop { bottom: calc(6rem + env(safe-area-inset-bottom)); }
}
