/* Scoped to generated output: activating the plugin does not restyle old page HTML. */
.orc-managed, .orc-managed * { box-sizing: border-box; }
.orc-managed {
  --orc-program-blue: #17448e;
  --orc-program-line: #89a3cb;
  --orc-program-border: #bdcadc;
  --orc-program-bg: #f7f9fc;
  width: 100%; margin: 0; padding: 30px 0 74px;
  color: var(--orc-program-blue); background: #fff; text-align: left;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 400;
}
.orc-managed .orc-programs__inner { width: calc(100% - 106px); max-width: 1490px; margin: 0 auto; }
.orc-managed .orc-programs__heading { margin: 0; padding: 0 0 38px; border-bottom: 1px solid var(--orc-program-line); text-align: center; }
.orc-managed .orc-programs__heading-en { display: block; font-family: Arial, Helvetica, sans-serif; font-size: 52px; font-weight: 300; line-height: 1.08; letter-spacing: .025em; }
.orc-managed .orc-programs__heading-ja { display: block; margin-top: 11px; font-size: 14px; font-weight: 700; line-height: 1.3; letter-spacing: .04em; }
.orc-managed .orc-programs__months { margin-top: 20px; }
.orc-managed .orc-programs__month { margin: 0; padding: 0; }
.orc-managed .orc-programs__month + .orc-programs__month { margin-top: 62px; }
.orc-managed .orc-programs__month-heading { display: flex; align-items: center; gap: 22px; margin: 0; color: #fff; font-size: 16px; font-weight: 400; line-height: 1.3; text-align: center; }
.orc-managed .orc-programs__month-heading::before,
.orc-managed .orc-programs__month-heading::after { content: ""; flex: 1 1 auto; min-width: 20px; border-top: 1px solid var(--orc-program-line); }
.orc-managed .orc-programs__month-label { display: inline-flex; align-items: baseline; justify-content: center; gap: .35em; min-width: 270px; padding: 10px 25px 11px; border-radius: 2px; background: var(--orc-program-blue); letter-spacing: .04em; }
.orc-managed .orc-programs__month-label strong { font-size: 25px; font-weight: 700; line-height: 1; }
.orc-managed .orc-programs__month-year { font-size: 14px; }
.orc-managed .orc-programs__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 52px; margin-top: 27px; }
.orc-managed .orc-program-card { min-width: 0; min-height: 205px; margin: 0; padding: 7px 31px 12px; border: 1px solid var(--orc-program-border); background: var(--orc-program-bg); }
.orc-managed .orc-program-card__list { margin: 0; padding: 0; }
.orc-managed .orc-program-card__row { display: grid; grid-template-columns: 142px minmax(0, 1fr); align-items: center; min-width: 0; min-height: 46px; margin: 0; padding: 6px 7px; }
.orc-managed .orc-program-card__row:not(:last-child) { border-bottom: 1px solid var(--orc-program-line); }
.orc-managed .orc-program-card__label, .orc-managed .orc-program-card__value { min-width: 0; margin: 0; padding: 0; font-size: 18px; line-height: 1.35; letter-spacing: .07em; }
.orc-managed .orc-program-card__label { font-weight: 700; }
.orc-managed .orc-program-card__value { overflow-wrap: anywhere; white-space: normal; }
.orc-managed .orc-programs__years { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 26px 0 22px; }
.orc-managed .orc-programs__years a { display: inline-block; padding: 8px 18px; border: 1px solid var(--orc-program-border); border-radius: 999px; text-decoration: none; color: var(--orc-program-blue); background: #fff; font-size: 15px; line-height: 1.4; }
.orc-managed .orc-programs__years a[aria-current="page"] { background: var(--orc-program-blue); color: #fff; border-color: var(--orc-program-blue); }
.orc-managed a:focus-visible { outline: 3px solid var(--orc-program-blue); outline-offset: 3px; }
.orc-managed .orc-programs__year { margin: 24px 0 0; font-size: 20px; font-weight: 700; line-height: 1.4; }
.orc-managed .orc-programs__more { margin: 1rem 0 0; text-align: right; }
.orc-managed .orc-programs__more a { color: var(--orc-program-blue); }
.orc-managed .orc-programs__empty { grid-column: 1 / -1; margin: 0; padding: 24px; background: var(--orc-program-bg); font-size: 16px; line-height: 1.7; }
.orc-managed--latest { padding: 0; }
.orc-managed--latest .orc-programs__heading { margin-bottom: 24px; }
/* The top-page template supplies its existing colors, spacing, and heading. */
.tp-card--program .orc-latest-table { padding: 0; margin: 0; }
.tp-card--program .orc-latest-table .tp-program-table__row { padding-top: 6px; padding-bottom: 6px; }
.tp-card--program .orc-latest-table .tp-program-table__value { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.tp-card--program .orc-latest-empty { margin: 20px 0; font-size: 16px; line-height: 1.7; }
@media (max-width: 820px) {
  .orc-managed { padding: 38px 0 50px; }
  .orc-managed .orc-programs__inner { width: calc(100% - 32px); }
  .orc-managed .orc-programs__heading { padding-bottom: 25px; }
  .orc-managed .orc-programs__heading-en { font-size: 39px; }
  .orc-managed .orc-programs__heading-ja { margin-top: 7px; font-size: 12px; }
  .orc-managed .orc-programs__months { margin-top: 17px; }
  .orc-managed .orc-programs__month + .orc-programs__month { margin-top: 44px; }
  .orc-managed .orc-programs__month-heading { gap: 10px; }
  .orc-managed .orc-programs__month-label { min-width: 0; padding: 9px 18px 10px; }
  .orc-managed .orc-programs__month-label strong { font-size: 21px; }
  .orc-managed .orc-programs__month-year { font-size: 12px; }
  .orc-managed .orc-programs__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 21px; }
  .orc-managed .orc-program-card { min-height: 0; padding: 6px 16px 9px; }
  .orc-managed .orc-program-card__row { grid-template-columns: 88px minmax(0, 1fr); min-height: 42px; padding: 6px 5px; }
  .orc-managed .orc-program-card__label, .orc-managed .orc-program-card__value { font-size: 14px; letter-spacing: .04em; }
  .orc-managed--latest { padding: 0; }
}
@media (max-width: 380px) {
  .orc-managed .orc-programs__inner { width: calc(100% - 20px); }
  .orc-managed .orc-program-card { padding-right: 10px; padding-left: 10px; }
  .orc-managed .orc-program-card__row { grid-template-columns: 78px minmax(0, 1fr); }
  .orc-managed .orc-program-card__label, .orc-managed .orc-program-card__value { font-size: 13px; }
}
