

.residents-hero .top-hero__copy--course .top-hero__copy-jp { line-height: 1.2; }
.residents-hero .top-hero__copy-en--jp { font-family: var(--font-jp); font-size: clamp(23px, 3.194444vw, 46px); transform: translateX(-3px) scaleX(1.02); }

.residents-overview .ov-question__cloud { background-image: url("../pageimg/residents/images/residents-overview-cloud.svg"); }
.residents-overview .ov-card { text-align: left; }
.residents-overview .ov-card__lead { font-size: 39px; }
.residents-overview .ov-card__name { line-height: 1.35; }
.residents-target__tail { color: #131936; font-size: 39px; }
.residents-overview .ov-operator__logo { height: 173px; object-fit: contain; }
.residents-overview .ov-operator__text { max-width: 690px; }

.residents-points .cd-grid { row-gap: 0; }

.residents-support__band > .imp-card { padding: 32px; gap: 0; }
.residents-support__primary { align-items: center; }
.residents-support__primary .imp-job__media { width: 573px; }
.residents-support__primary .imp-job__media img { height: 484px; object-fit: cover; }
.residents-support__body { justify-content: center; }
.residents-support__body .imp-body-lg + .imp-body-lg { margin-top: 8px; }
.residents-support__cards { gap: 24px; padding-top: 28px; }
.residents-support__cards .imp-triple__cell { align-items: stretch; padding-inline: 0; }
.residents-support__cards .imp-triple__cell + .imp-triple__cell { border: 0; }
.residents-personas { display: flex; flex-direction: column; gap: 64px; }
.residents-personas .imp-career__card { min-width: 0; }
.residents-personas .imp-career__photo { margin-bottom: 0; }
.residents-personas .imp-career__list { min-height: 132px; padding: 16px; gap: 0; font-size: 16px; line-height: 1.8; }
.residents-personas .imp-career__list li { padding-left: 0; font-size: 16px; font-weight: 400; line-height: 1.8; }
.residents-personas .imp-career__list li::before { position: static; display: inline; content: "・"; background: none; }

.residents-levels { text-align: center; }
.residents-levels h3 { margin: 0 0 24px; font-family: var(--font-jp); font-size: 44px; font-weight: var(--fw-bold); line-height: 1.4; }
.residents-levels__lead { max-width: 1040px; margin: 0 auto 48px; font-size: 20px; line-height: 1.8; }
.residents-levels__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.residents-level { padding: 32px; background: #fff; }
.residents-level b { display: block; margin-bottom: 10px; font: 700 42px/1 var(--font-en); }
.residents-level:nth-child(1) b { color: #2149ff; }
.residents-level:nth-child(2) b { color: #f879ff; }
.residents-level:nth-child(3) b { color: #22c55e; }
.residents-level:nth-child(4) b { color: #eeb300; }
.residents-level strong { display: block; margin-bottom: 12px; font-size: 20px; }
.residents-level p { font-size: 16px; line-height: 1.8; }

.residents-course__data { display: grid; grid-template-columns: 208px 1fr; gap: 8px 32px; align-items: start; width: min(880px, 100%); margin: 32px auto 0; padding: 24px; color: var(--c-brand-900); }
.residents-course__book { grid-row: span 5; width: 208px; height: 304px; object-fit: contain; }
.residents-course__row { display: grid; grid-template-columns: 100px 1fr; gap: 24px; padding-bottom: 8px; border-bottom: 1px solid #d8dfeb; font-size: 20px; line-height: 1.74; }
.residents-course__extra,
.residents-course__career { margin-top: 112px; }
.residents-course__visual { display: block; width: 100%; }
.residents-course__visual--timetable { aspect-ratio: 1260 / 676; object-fit: cover; }
.residents-course__days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.residents-course__days article { display: flex; flex-direction: column; gap: 16px; padding-bottom: 24px; color: var(--c-brand-900); background: var(--c-brand-white); }
.residents-course__days h4 { margin: 0; padding: 8px 16px; background: var(--c-accent-blue); color: var(--c-brand-white); font-size: 20px; font-weight: var(--fw-bold); line-height: 1.6; text-align: center; }
.residents-course__days p { margin: 0; padding: 0 16px; font-size: 16px; line-height: 1.74; }
.residents-course__days strong { font-weight: var(--fw-bold); }

.residents-message .tm-row__text h3 { margin-bottom: 10px; font-family: var(--font-jp); font-size: 34px; font-weight: var(--fw-bold); line-height: 1.45; }
.residents-message .tm-row__text p { font-size: 20px; line-height: 1.6; }
.residents-message__emphasis { font-weight: var(--fw-bold); }
.residents-message .teacher-message__group { width: min(1244px, calc(100% - 17.5px)); aspect-ratio: 1244 / 516; }

.residents-flow { background: #f1f5f9; }
.residents-flow__inner { display: flex; flex-direction: column; gap: 48px; }
.residents-flow__grid { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; padding: 32px; background: #fff; }
.residents-flow__grid::before { content: ""; position: absolute; top: 33px; left: calc(32px + (100% - 184px) / 12); right: calc(32px + (100% - 184px) / 12); height: 1px; background: #2149ff; }
.residents-flow__step { position: relative; z-index: 1; padding: 58px 0 0; }
.residents-flow__step::before { content: attr(data-step); position: absolute; top: -16px; left: 50%; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #2149ff; color: #fff; font: 700 15px/1 var(--font-en); transform: translateX(-50%); }
.residents-flow__step h3 { min-height: 60px; margin: 0 0 16px; padding: 8px; display: grid; place-items: center; background: #2149ff; color: #fff; font-size: 16px; line-height: 1.4; text-align: center; }
.residents-flow__step p { font-size: 16px; line-height: 1.8; }

@media (max-width: 1023px) {
  .residents-flow__grid { grid-template-columns: repeat(3, 1fr); gap: 40px 16px; }
  .residents-flow__grid::before { content: none; }
}

@media (max-width: 767px) {
  .residents-overview .ov-card__lead,
  .residents-overview .ov-card__name,
  .residents-target__tail { font-size: 24px; text-align: center; }
  .residents-support__band > .imp-card { padding: 20px; }
  .residents-support__primary .imp-job__media { width: 100%; }
  .residents-support__primary .imp-job__media img { height: auto; aspect-ratio: 1.45; }
  .residents-personas .imp-h1,
  .residents-levels h3 { font-size: 25px; }
  .residents-levels__grid { grid-template-columns: 1fr; }
  .residents-course__data { grid-template-columns: 1fr; }
  .residents-course__book { grid-row: auto; width: 120px; margin: 0 auto; }
  .residents-course__row { grid-template-columns: 86px 1fr; gap: 12px; font-size: 13px; }
  .residents-course__days { grid-template-columns: 1fr; }
  .residents-message .tm-row__text h3 { font-size: 21px; }
  .residents-message .tm-row__text p { font-size: 14px; }
  .residents-message .teacher-message__group { width: 100%; aspect-ratio: 1225 / 396; }
  .residents-flow__inner { gap: 32px; }
  .residents-flow__grid { grid-template-columns: 1fr; gap: 36px; }
  .residents-flow__step { padding: 32px 20px 24px; }
}

@media (max-width: 479px) {
  .residents-hero .top-hero__copy-en--jp { font-size: clamp(18px, 5.384615vw, 21px); }

  .residents-hero .top-hero__people { width: min(130%, 507px); }
}
