:root {
  --ink: #102942;
  --muted: #5a6d82;
  --blue: #002060;
  --blue-2: #145a96;
  --blue-soft: #e8f2fb;
  --line: #d7e3ef;
  --paper: #ffffff;
  --bg: #f4f8fb;
  --accent: #d73a31;
  --gold: #c69e43;
  --radius: 18px;
  --max: 1180px;
  --font: "Noto Sans JP", "Manrope", sans-serif;
  --display: "Manrope", "Noto Sans JP", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.lp-university-home {
  margin: 0;
  color: var(--ink);
  background: linear-gradient(180deg, #eef6fc 0, #fff 520px, var(--bg) 100%);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.75;
  letter-spacing: 0.02em;
}
a { color: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
img, video, iframe { max-width: 100%; }
button { font: inherit; }

.inner { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.inner.md, .inner.sm { max-width: var(--max); }
section { padding: 76px 0; }
section[id] { scroll-margin-top: 110px; }

.jara-ref-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--blue);
  border-bottom: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(10px);
}
.jara-ref-wrap {
  width: min(1240px, calc(100% - 32px));
  min-height: 52px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.jara-ref-brand { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; min-width: 0; }
.jara-ref-brand__logo { width: 38px; height: auto; display: block; }
.jara-ref-brand__mark { display: flex; align-items: center; }
.jara-ref-brand__mark img { width: auto; height: 44px; max-width: none; display: block; }
.jara-ref-nav__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  white-space: nowrap;
}
.jara-ref-nav a {
  color: #fff;
  font: 800 14px/1 var(--display);
  letter-spacing: 0.04em;
  text-decoration: none;
  padding: 4px 0;
}
.jara-ref-nav a:hover { color: rgba(255,255,255,0.78); }
.jara-ref-nav-toggle {
  display: none;
  min-width: 92px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,0.42);
  background: transparent;
  color: #fff;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
}

#mainvisual { margin-top: 0; background: var(--blue); }
#mainvisual picture, #mainvisual img { display: block; width: 100%; }
#mainvisual img { object-fit: cover; min-height: 330px; }
#top_statement { padding: 0; background: #071a2f; }
.statement_visual {
  position: relative;
  height: 560px;
  overflow: hidden;
}
.statement_visual > img {
  display: block;
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center 25%;
}
.statement_overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  background: transparent;
}
.statement_copy {
  width: min(50%, 700px);
  min-height: 100%;
  padding: 42px 44px;
  background: rgba(0, 0, 0, 0.30);
  backdrop-filter: blur(3px);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.statement_copy p {
  margin: 0;
  font-size: 20px;
  line-height: 1.95;
  letter-spacing: 0.01em;
}
.statement_copy p + p { margin-top: 18px; }
.statement_copy strong { font-weight: 900; }

.team_title { margin-bottom: 28px; text-align: center; }
.team_title h3, .movie h3 {
  margin: 0;
  color: var(--blue);
  font: 900 clamp(32px, 4vw, 58px)/0.95 var(--display);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.team_title .ja_title, .movie .ja_title {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 700;
}

.information_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.information_card {
  display: block;
  min-height: 185px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  text-decoration: none;
}
.information_card__meta { display: flex; align-items: center; gap: 10px; color: var(--blue-2); font-size: 14px; font-weight: 800; }
.information_card__tag { padding: 3px 10px; border-radius: 999px; background: var(--blue-soft); }
.information_card h4 { margin: 18px 0 8px; color: var(--ink); font-size: 20px; line-height: 1.5; }
.information_card p { margin: 0; color: var(--muted); font-size: 15px; }

#top_about { padding: 0; }
.about_project { display: none; }
.about_image img { width: 100%; max-height: 520px; object-fit: cover; object-position: center; display: block; }

#top_team { background: #fff; }
.team_map_selector__eyebrow, .team_map_selector__lead { display: none; }
.team_map_selector__left { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; }
.team_map_selector__columns { display: block; }
.team_region_trigger_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  overflow: visible;
  padding-bottom: 0;
  justify-content: center;
}
.team_region_trigger_grid--misc { margin-left: 0; }
.team_region_trigger {
  flex: 0 0 auto;
  min-width: 105px;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--blue);
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
}
.team_region_trigger.is-active { background: var(--blue); color: #fff; border-color: var(--blue); }
.team_list dl { margin: 0 0 18px; }
.team_list dt { display: none; }
.team_list dd { display: none; margin: 0; }
.team_list .is-open dd, .team_list dd[style*="block"] { display: block; }
.team_list ul {
  list-style: none;
  margin: 0;
  padding: 18px 0 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.team_preview_item { min-width: 0; }
.team_school__trigger, .team_list a {
  width: 100%;
  min-height: 176px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
}
.team_school__trigger.is-active { border-color: var(--blue); background: var(--blue-soft); }
.team_preview_card { display: grid; grid-template-rows: 122px auto; height: 100%; }
.team_preview_card__media { display: block; background: transparent; overflow: hidden; }
.team_preview_card__media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.team_preview_card__body { display: flex; align-items: center; justify-content: center; padding: 10px; }
.team_preview_card__name { color: var(--ink); font-size: 16px; font-weight: 800; line-height: 1.35; text-align: center; }
.team_school_detail {
  margin-top: 28px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}
.team_school_detail__head { display: grid; gap: 10px; justify-items: center; margin-bottom: 20px; text-align: center; }
.team_school_detail__title { margin: 0; width: 100%; color: var(--blue); font-size: 30px; font-weight: 900; text-align: center; }
.team_school_detail__close { border: 0; background: transparent; color: var(--blue); font-size: 26px; cursor: pointer; }
.team_school_detail__status { margin: 0; text-align: center; color: var(--muted); }
.team_profile_layout {
  display: grid;
  gap: 24px;
  align-items: start;
}
.team_profile_top { grid-column: 1 / -1; display: grid; justify-items: center; gap: 12px; text-align: center; }
.team_profile_middle {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.team_profile_top .team { display: grid; justify-items: center; gap: 0; }
.team_profile_top .team img { max-width: 108px; max-height: 108px; object-fit: contain; }
.team_profile_top .team_name { display: none !important; }
.team_profile_copy { margin: 0; max-width: 900px; color: var(--ink); font-size: 17px; font-weight: 600; line-height: 1.7; text-align: center; }
#team_intro {
  display: grid;
  gap: 16px;
  justify-items: stretch;
}
.team_intro_blocks {
  width: min(100%, 980px);
  max-width: 980px;
  display: grid;
  gap: 16px;
  justify-self: stretch;
}
.team_text_panel {
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  text-align: left;
}
.team_text_panel__header { margin-bottom: 12px; }
.team_text_panel__header h3 {
  margin: 0;
  color: var(--blue);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.02em;
}
.team_text_panel p {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.9;
  font-weight: 600;
}
.team_spotlight_panel {
  width: 100%;
  display: grid;
  gap: 14px;
}
.team_spotlight_stack {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px;
}
.team_spotlight_panel .team_text_panel__header {
  margin-bottom: 0;
  text-align: center;
}
.team_spotlight__item {
  display: grid !important;
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) !important;
  gap: 16px;
  align-items: start;
  width: 100%;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.team_spotlight__photo_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  border-radius: 12px;
  background: transparent;
  overflow: hidden;
}
.team_spotlight__photo {
  width: 100%;
  max-height: 220px;
  object-fit: contain;
  display: block;
}
.team_spotlight__body {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
}
.team_spotlight__boat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(12, 58, 109, 0.08);
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
}
.team_spotlight__name {
  margin: 10px 0 8px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
}
.team_spotlight__text {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.8;
  font-weight: 600;
}
.team_link_buttons {
  width: min(100%, 980px);
  max-width: 980px;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  justify-self: stretch;
  align-self: stretch;
  overflow-x: auto;
}
.team_link_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  padding: 3px 12px !important;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff !important;
  color: var(--blue) !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1 !important;
  text-decoration: none;
  box-shadow: none;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.team_link_button:hover {
  transform: translateY(-1px);
  box-shadow: none;
  background: #f3f8fd !important;
}
.team_meta {
  width: min(100%, 980px);
  max-width: 980px;
  margin: 0;
  display: block;
  justify-self: stretch;
  align-self: stretch;
}
.team_meta__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px;
  width: 100%;
}
.team_meta__item {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) !important;
  align-items: center;
  column-gap: 12px;
  row-gap: 2px;
  width: 100% !important;
  max-width: 980px;
  min-height: 0;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.35;
}
.team_meta__label {
  color: var(--blue);
  font-weight: 900;
  white-space: nowrap;
}
.team_meta__value,
.team_meta__item a {
  color: var(--ink);
  font-weight: 700;
  text-decoration: none;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
  line-break: strict;
  text-align: left;
  line-height: 1.35;
}
.team_profile_col { min-width: 0; }
.team_profile_col--chart {
  display: grid;
  gap: 18px;
  align-content: start;
  justify-items: center;
  align-items: center;
  width: 100%;
  min-height: 0;
  max-width: 380px;
  justify-self: center;
}
.team_chart_frame {
  width: min(100%, 380px);
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
}
.team_profile_col--chart canvas {
  width: 100% !important;
  height: 100% !important;
}
.team_feature_list {
  width: min(100%, 380px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  justify-self: center;
}
.team_feature_item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.team_feature_item__label {
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.5;
}
.team_feature_item__score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
.team_features_note {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 220px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  color: var(--muted);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
.team_profile_col--main .team_visual { width: 100%; min-height: 380px; max-height: 420px; object-fit: contain; background: transparent; border-radius: 12px; }
.team_comment, .team_appeal { margin: 0; color: var(--ink); font-size: 17px; font-weight: 600; text-align: center; }
.team_profile_spotlight_row {
  width: 100%;
  max-width: 980px;
  justify-self: center;
}
.team_profile_layout #team_intro, .team_profile_layout #team_detail { display: none !important; }
.team_profile_member_panel {
  margin-top: 28px;
  padding: 0;
  border: 0;
  background: transparent;
}
.member_accordion {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}
.member_accordion[open] .member_accordion__toggle { color: var(--blue); }
.member_accordion[open] .member_accordion__toggle::after { transform: rotate(180deg); }
.member_accordion__summary {
  list-style: none;
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 24px 26px 20px;
  cursor: pointer;
}
.member_accordion__summary::-webkit-details-marker { display: none; }
.member_accordion__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.member_accordion__toggle::after {
  content: "";
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}
.member_accordion__body {
  padding: 10px 26px 26px;
}
.team_profile_member_panel .team_title {
  display: grid;
  gap: 6px;
  justify-items: center;
  margin-bottom: 0;
  text-align: center;
}
.team_profile_member_panel .team_title h3 {
  margin: 0;
  color: var(--blue);
  font-size: 28px;
  font-weight: 900;
}
.team_profile_member_panel .team_title .ja_title {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}
.member_table_wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.member_table {
  width: max(100%, 820px);
  min-width: 820px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13px;
}
.member_table th,
.member_table td {
  height: 38px;
  padding: 5px 6px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  line-height: 1.2;
  vertical-align: middle;
}
.member_table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--blue);
  color: #fff;
  font-weight: 900;
  text-align: center;
  box-shadow: inset 0 -1px 0 var(--line);
}
.member_table td {
  background: #fff;
  color: var(--ink);
}
.member_table th:last-child,
.member_table td:last-child {
  border-right: 0;
}
.member_table tbody tr:last-child td {
  border-bottom: 0;
}
.member_table__cell.is-center {
  text-align: center;
}
.member_table__cell--category {
  text-align: center;
  font-weight: 800;
  color: var(--blue);
}
.member_table__cell--name {
  text-align: left;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.member_table__cell--empty {
  text-align: center;
  color: var(--muted);
  font-weight: 700;
}
.member_table__col--category { width: 108px; }
.member_table__col--name { width: 168px; }
.member_table__col--grade { width: 88px; }
.member_table__col--event { width: 124px; }
.member_table__col--seat { width: 82px; }
.member_table__col--height { width: 88px; }
.member_table__col--weight { width: 88px; }

.team_footer_panels__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: stretch;
  margin-top: 52px;
}
.team_footer_panels__row--access-only {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
}
.team_footer_panels__row--access-only #top_access {
  width: min(100%, 860px);
}
#top_message, #top_access { padding: 0; }
#top_message .inner, #top_access .inner { width: 100%; }
.message-panel, .access_wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  height: 100%;
}
.message-panel__media { margin: 0; height: 330px; position: relative; overflow: hidden; border-radius: 16px; background: #edf4fa; }
.message-panel__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.message-panel__overlay { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px; color: #fff; background: linear-gradient(0deg, rgba(0,0,0,0.55), transparent); }
.message-panel__role, .message-panel__name { display: block; font-weight: 800; }
.message-panel__content, .access_txt { color: var(--ink); font-size: 16px; font-weight: 500; }
.message-panel__content p, .access_txt p { margin: 0 0 12px; }
.message-panel__accordion { margin-top: 8px; }
.message-panel__accordion summary { display: inline-block; cursor: pointer; color: var(--blue); font-weight: 800; border-bottom: 1px solid var(--blue); }
.access_embed_map iframe { width: 100%; height: 330px; border: 0; border-radius: 16px; display: block; }
.access_box, .access_info { border: 0; padding: 0; background: transparent; }
.access_info { display: none; }
.access_txt h4 { margin: 0 0 8px; color: var(--blue); font-size: 22px; }
.textlink { color: var(--blue-2); font-weight: 800; }

#top_time { background: #fff; color: var(--ink); }
#top_time .team_title h3 { color: var(--blue); }
#top_time .team_title .ja_title { color: var(--muted); }
.schedule_box { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.schedule_tab { list-style: none; margin: 0; padding: 0; display: flex; }
.schedule_item { flex: 1 1 0; }
.schedule_link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-height: 58px;
  border-right: 1px solid rgba(255,255,255,0.55);
  background: #fff;
  color: var(--blue);
  font-weight: 900;
  cursor: pointer;
}
.schedule_item:last-child .schedule_link { border-right: 0; }
.schedule_link.on { background: var(--blue-soft); color: var(--blue); }
.schedule_link time { font-size: 22px; }
.schedule-body { background: #fff; color: var(--ink); }
.schedule-body_item { display: none; padding: 22px; }
.schedule-body_item.on { display: block; }
.schedule-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.schedule-list_item { display: flex; flex-direction: column; gap: 10px; }
.schedule-list dl {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  align-items: stretch;
  min-height: 70px;
  border-radius: 12px;
  overflow: hidden;
  background: #f6faff;
}
.schedule-list dt, .schedule-list dd { margin: 0; display: flex; align-items: center; }
.schedule-list dt { padding: 12px 16px; color: var(--blue); font-size: 17px; font-weight: 900; }
.schedule-list dd { justify-content: center; padding: 12px; background: var(--blue-soft); color: var(--blue); font-size: 18px; font-weight: 900; white-space: nowrap; }
.schedule-main, .schedule-sub { display: block; }
.schedule-sub { margin-top: 2px; color: var(--muted); font-size: 15px; font-weight: 800; }

.result_wrap, .kitchen_foods_wrap, .movie_wrap, .jara_lp_sponsor { color: var(--ink); }
.intercollege-results { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 24px; }
.intercollege-results__lead { color: var(--muted); font-size: 15px; margin: 0 0 18px; }
.intercollege-results__filters { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.intercollege-results__filter--search { grid-column: auto; }
.intercollege-results__filter span { display: block; margin-bottom: 5px; color: var(--blue); font-weight: 800; font-size: 14px; }
.intercollege-results__filter { position: relative; }
.intercollege-results__control { width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font-size: 15px; background: #fff; }
.intercollege-results__filter--search .intercollege-results__control {
  padding-right: 10px;
  background: #fff;
}
.intercollege-results__filter--search::after {
  display: none;
}
.intercollege-results__suggestions {
  position: absolute;
  z-index: 12;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  padding: 8px;
  border: 1px solid rgba(11, 47, 87, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 42px rgba(11, 47, 87, 0.14);
  backdrop-filter: blur(8px);
}
.intercollege-results__suggestion {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.intercollege-results__suggestion:hover,
.intercollege-results__suggestion:focus-visible {
  background: var(--blue-soft);
  outline: none;
}
.intercollege-results__suggestionLabel {
  display: block;
  width: 100%;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}
.intercollege-results__toolbar { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin: 18px 0; }
.intercollege-results__action, .intercollege-results__clear, .intercollege-results__more { border: 1px solid var(--blue); border-radius: 8px; background: #fff; color: var(--blue); padding: 10px 14px; font-weight: 800; cursor: pointer; }
.intercollege-results__action--primary { background: var(--blue); color: #fff; }
.intercollege-results__tableWrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; -webkit-overflow-scrolling: touch; background: #fff; }
.intercollege-results__table { width: max(100%, 966px); min-width: 966px; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.intercollege-results__table th, .intercollege-results__table td { height: 38px; padding: 5px 4px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); line-height: 1.2; vertical-align: middle; }
.intercollege-results__table th { background: var(--blue); color: #fff; font-weight: 900; }
.intercollege-results__table thead th {
  position: sticky;
  top: 0;
  z-index: 4;
  box-shadow: inset 0 -1px 0 var(--line);
}
.intercollege-results__table .is-center { text-align: center; }
.intercollege-results__table .is-right { text-align: right; }
.intercollege-results__table tr { cursor: default; }
.result-race-group-hidden { color: transparent !important; background: inherit; border-top-color: transparent !important; border-bottom-color: transparent !important; }
.result-year, .result-raceNo, .result-date, .result-clock, .result-bowNumber, .result-rank, .result-time { white-space: nowrap; }
.result-qualify { font-size: 13px; }

#top_simulation { background: #fff; }
.race-sim {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  padding: 24px;
}
.race-sim__lead {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 15px;
}
.race-sim__filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}
.race-sim__filter span {
  display: block;
  margin-bottom: 5px;
  color: var(--blue);
  font-size: 14px;
  font-weight: 800;
}
.race-sim__control,
.race-sim__search {
  width: 100%;
  min-height: 42px;
  border-radius: 8px;
  font-size: 15px;
}
.race-sim__control {
  border: 1px solid var(--line);
  padding: 8px 10px;
  background: #fff;
}
.race-sim__search,
.race-sim__action,
.race-sim__raceChip,
.race-sim__checkpoint {
  border: 1px solid var(--blue);
  background: #fff;
  color: var(--blue);
  font-weight: 800;
  cursor: pointer;
}
.race-sim__search,
.race-sim__action {
  padding: 10px 14px;
}
.race-sim__search {
  background: var(--blue);
  color: #fff;
}
.race-sim__status {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 14px;
}
.race-sim__racePicker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.race-sim__raceChip {
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 14px;
}
.race-sim__raceChip.is-active {
  background: var(--blue);
  color: #fff;
}
.race-sim__viewer {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.race-sim__viewerHead {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}
.race-sim__meta {
  margin: 0;
  color: var(--blue);
  font-size: 18px;
  font-weight: 900;
}
.race-sim__submeta {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
.race-sim__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  align-items: center;
}
.race-sim__action {
  border-radius: 8px;
  min-height: 40px;
  font-size: 14px;
}
.race-sim__checkpoints {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0;
}
.race-sim__checkpoint {
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 8px;
  font-size: 14px;
}
.race-sim__checkpoint.is-active {
  background: var(--blue);
  color: #fff;
}
.race-sim__body {
  display: grid;
  gap: 16px;
  padding: 12px 20px 20px;
}
.race-sim__group {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.race-sim__groupHead {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  background: #f8fbff;
  border-bottom: 1px solid var(--line);
}
.race-sim__groupTitle {
  margin: 0;
  color: var(--blue);
  font-size: 16px;
  font-weight: 900;
}
.race-sim__groupStage {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.race-sim__table {
  width: 100%;
}
.race-sim__tableHead,
.race-sim__lane {
  display: grid;
  grid-template-columns: 72px minmax(180px, 260px) minmax(280px, 1fr) 120px 68px;
  align-items: center;
}
.race-sim__tableHead {
  min-height: 40px;
  padding: 0 16px;
  background: #002060;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.race-sim__lane {
  min-height: 56px;
  padding: 0 16px;
  border-top: 1px solid var(--line);
}
.race-sim__cell--bow {
  color: var(--blue);
  font-size: 14px;
  font-weight: 900;
  text-align: center;
}
.race-sim__team strong {
  display: block;
}
.race-sim__team strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
}
.race-sim__trackWrap {
  position: relative;
  padding: 0 10px 0 0;
}
.race-sim__track {
  position: relative;
  height: 24px;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}
.race-sim__track::before {
  content: "";
  position: absolute;
  inset: 50% 12px auto 12px;
  height: 1px;
  background: rgba(0, 32, 96, 0.18);
  transform: translateY(-50%);
}
.race-sim__trackMarker {
  position: absolute;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: rgba(0, 32, 96, 0.14);
}
.race-sim__marker {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--boat-color, var(--blue));
  box-shadow: 0 0 0 1px rgba(0, 32, 96, 0.18);
  transform: translate(-50%, -50%);
}
.race-sim__finish,
.race-sim__place {
  color: var(--blue);
  font-size: 14px;
  font-weight: 900;
  text-align: right;
}
.race-sim__finish {
  font-variant-numeric: tabular-nums;
}

#top_interview { background: #fff; }
.interview_wrap { width: min(1280px, 100%); margin: 0 auto; }
.interview_rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(240px, 1fr));
  gap: 16px;
  align-items: start;
}
.interview_embed { background: transparent; }
.interview_embed iframe {
  display: block;
  width: 100%;
  height: 660px;
  border: 0;
  background: transparent;
}

#top_kitchen { background: #fff; }
.kitchen_foods_wrap .schedule_tab { margin-bottom: 18px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.kitchen_foods_wrap .schedule_link { color: var(--blue); background: #fff; border-color: var(--line); }
.kitchen_foods_wrap .schedule_link.on { color: #fff; background: var(--blue); }
.foods { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.foods li { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; }
.foods .img { aspect-ratio: 4 / 3; background: transparent; }
.foods .img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.foods .info { padding: 16px; }
.foods .tit { margin: 0 0 8px; color: var(--blue); font-size: 19px; font-weight: 900; }
.foods .date { display: none; }
.foods p { color: var(--ink); font-size: 15px; margin: 0; }
.foods .food_menu,
.foods .food_comment { line-height: 1.75; }
.foods .food_menu { margin-top: 10px; }
.foods .food_comment { margin-top: 10px; color: var(--muted); }
.food_none { padding: 28px; border: 1px solid var(--line); border-radius: 14px; background: #fff; text-align: center; color: var(--muted); }

#top_notice { background: #fff; }
.information_stack {
  display: grid;
  gap: 32px;
}
.notice_layout {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 28px;
  align-items: start;
}
.notice_layout__media,
.notice_layout__content { min-width: 0; }
.notice_poster {
  width: 100%;
  display: block;
  border-radius: 0;
  box-shadow: none;
}
.notice_layout__content {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.notice_title {
  margin: 0;
  color: var(--blue);
  font-size: 30px;
  font-weight: 900;
  line-height: 1.3;
}
.notice_title--compact { font-size: 28px; }
.notice_label {
  margin: 0 0 8px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.12em;
}
.notice_lead {
  margin: 14px 0 0;
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.8;
}
.notice_lead--compact {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.75;
}
.notice_block { margin-top: 20px; }
.notice_block__title {
  margin: 0 0 10px;
  color: var(--blue);
  font-size: 18px;
  font-weight: 900;
}
.notice_list {
  margin: 0;
  padding-left: 20px;
  color: var(--ink);
}
.notice_list li {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  font-weight: 600;
}
.notice_schedule {
  margin: 0;
  display: grid;
  gap: 10px;
}
.notice_schedule div {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 14px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.notice_schedule div:first-child { border-top: 0; padding-top: 0; }
.notice_schedule dt {
  color: var(--blue);
  font-weight: 900;
}
.notice_schedule dd {
  margin: 0;
  color: var(--ink);
  line-height: 1.7;
  font-weight: 600;
}
.notice_note {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
  font-weight: 700;
}
.notice_layout--cleanwater .notice_layout__content { padding: 0; }
.notice_layout__content--compact .notice_block { margin-top: 16px; }
.notice_schedule--compact div {
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
}
.notice_paragraphs {
  display: grid;
  gap: 10px;
}
.notice_paragraphs p,
.notice_small {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.75;
  font-weight: 600;
}
.notice_wide_block {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.notice_wide_block__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 26px;
}
.notice_wide_block .notice_block { margin-top: 0; }
.notice_block--closing { grid-column: 1 / -1; }

#souji_video { background: #fff; }
.movie { text-align: center; }
.movie_wrap a { color: var(--blue); text-decoration: none; }
.movie_wrap center, .movie_wrap font { color: var(--blue) !important; font-size: 17px !important; }
.movie_wrap img.schedule-img { width: 120px !important; height: auto !important; }
.movie_wrap video { display: block; width: 100%; margin: 18px 0 0; border-radius: 16px; background: #000; }
.souji_video_sponsor { color: var(--ink); font-weight: 900; }
.request_layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-top: 22px;
}
.request_layout__media,
.request_layout__content {
  min-width: 0;
}
.request_layout__media {
  display: grid;
  align-content: start;
}
.request_layout__content {
  display: grid;
  gap: 20px;
  align-content: start;
}
.request_poster {
  display: block;
  width: 100%;
  border-radius: 18px;
  box-shadow: 0 18px 38px rgba(11, 47, 87, 0.16);
}
.request_card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  align-items: center;
  gap: 18px;
  width: 100%;
  margin: 0;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  color: var(--blue);
  text-align: left;
  font-weight: 800;
  text-decoration: none;
}
.request_card--article {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 18px;
  color: var(--ink);
  font-weight: 400;
}
.request_eyebrow {
  margin: 0;
  color: var(--blue);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.12em;
}
.request_heading {
  margin: -6px 0 0;
  color: var(--blue);
  font-size: 34px;
  line-height: 1.2;
  font-weight: 900;
}
.request_lead {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.9;
  font-weight: 700;
}
.request_meta {
  margin: 0;
  display: grid;
  gap: 10px;
}
.request_meta div {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.request_meta dt,
.request_meta dd {
  margin: 0;
}
.request_meta dt {
  color: var(--blue);
  font-weight: 900;
}
.request_meta dd {
  color: var(--ink);
  font-weight: 700;
}
.request_section {
  display: grid;
  gap: 8px;
}
.request_section h5 {
  margin: 0;
  color: var(--blue);
  font-size: 20px;
  font-weight: 900;
}
.request_section p {
  margin: 0;
  color: var(--ink);
  line-height: 1.9;
}
.request_section--accent {
  padding: 18px 20px;
  border-radius: 14px;
  background: linear-gradient(180deg, #f4f8fc 0%, #ffffff 100%);
}
.request_note {
  color: var(--muted);
  font-size: 14px;
}
.request_closing {
  margin: 0;
  color: var(--blue);
  font-size: 20px;
  line-height: 1.8;
  font-weight: 900;
}
#top_partners { background: #fff; }
.jara_lp_inner { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
.sponsor-tier { margin-top: 16px; }
.sponsor-tier__title { margin: 0 0 10px; color: var(--blue); font-size: 22px; font-weight: 900; }
.sponsor-logos { list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 18px; }
.sponsor-logos > li { display: flex; justify-content: center; }
.sponsor-logo { min-height: 96px; border: 0; border-radius: 0; background: transparent; display: flex; align-items: center; justify-content: center; padding: 10px; }
.sponsor-logo img { max-width: 92%; max-height: 76px; object-fit: contain; }
.sponsor-tier--supporting .sponsor-logos > li,
.sponsor-tier--cohost .sponsor-logos > li { flex: 0 1 180px; }
.sponsor-tier--supporting .sponsor-logo,
.sponsor-tier--cohost .sponsor-logo {
  width: 180px;
  min-height: 84px;
  padding: 10px 14px;
}
.sponsor-tier--supporting .sponsor-logo img,
.sponsor-tier--cohost .sponsor-logo img {
  width: 100%;
  height: 54px;
  max-width: 152px;
  max-height: 54px;
  margin: 0 auto;
}
.sponsor-text-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
}
.sponsor-text-list li {
  margin: 0;
}
.sponsor-text-list a {
  color: var(--ink);
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}
.sponsor-text-list a:hover {
  color: var(--blue);
}

.lp-floating-live { position: fixed; right: 24px; bottom: 24px; z-index: 40; }
.lp-floating-live a { display: block; padding: 16px 22px; border-radius: 999px; background: linear-gradient(135deg, #0b2f57, #1475bd); color: #fff; text-decoration: none; border: 2px solid #fff; }
.lp-floating-live .main { display: block; font-weight: 900; font-size: 16px; }
.lp-floating-live .sub { display: block; font-size: 12px; font-weight: 700; opacity: 0.92; }

.footer-home { padding: 38px 0; background: var(--blue); color: #fff; text-align: center; }
.footer_top_icon img { width: 86px; }
.copylight { margin: 16px 0 0; font-size: 13px; }

@media (max-width: 980px) {
  body.lp-university-home { font-size: 16px; }
  .inner { width: min(100% - 28px, var(--max)); }
  .jara-ref-wrap { min-height: 50px; }
  .jara-ref-brand { min-width: 0; }
  .jara-ref-brand__logo { width: 34px; }
  .jara-ref-brand__mark img { height: 40px; }
  .jara-ref-nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .jara-ref-nav {
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    display: none;
    background: var(--blue);
    border-bottom: 1px solid rgba(255,255,255,0.16);
    padding: 12px 16px 18px;
  }
  .jara-ref-nav.open { display: block; }
  .jara-ref-nav__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; white-space: normal; }
  .jara-ref-nav a { display: block; padding: 9px 4px; text-align: center; font-size: 13px; color: #fff; }
  section { padding: 50px 0; }
  .statement_visual,
  .statement_visual > img { height: 420px; }
  .statement_copy { width: min(58%, 100%); padding: 32px 28px; }
  .statement_copy p { font-size: 17px; line-height: 1.8; }
  .information_wrap { grid-template-columns: 1fr; }
  .team_list ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .team_preview_card { grid-template-rows: 112px auto; }
  .team_school__trigger, .team_list a { min-height: 168px; }
  .team_profile_middle { grid-template-columns: 1fr; gap: 22px; }
  .team_profile_col--chart { max-width: 360px; }
  .team_chart_frame { width: min(100%, 360px); }
  .team_footer_panels__row { grid-template-columns: 1fr; }
  .schedule-list { grid-template-columns: 1fr; }
  .schedule-list dl { grid-template-columns: minmax(0, 1fr) 130px; }
  .intercollege-results__filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .foods { grid-template-columns: 1fr 1fr; }
  .sponsor-logos { grid-template-columns: repeat(3, minmax(140px, 220px)); transform-origin: top center; }
  .interview_rail { grid-template-columns: repeat(2, minmax(240px, 1fr)); }
  .interview_embed iframe { height: 620px; }
  .notice_layout { grid-template-columns: 1fr; }
  .notice_wide_block__grid { grid-template-columns: 1fr; }
  .request_layout { grid-template-columns: 1fr; gap: 22px; }
  .request_heading { font-size: 30px; }
  .team_spotlight__item {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
}

@media (max-width: 560px) {
  .team_title h3, .movie h3 { font-size: 34px; }
  #mainvisual img { min-height: 250px; }
  .statement_visual,
  .statement_visual > img { height: 460px; }
  .statement_copy { width: 100%; padding: 20px 16px; border-radius: 0; }
  .statement_copy p { font-size: 14px; line-height: 1.75; }
  .statement_copy p + p { margin-top: 14px; }
  .jara-ref-wrap { gap: 10px; }
  .jara-ref-brand { gap: 6px; }
  .jara-ref-brand__logo { width: 30px; }
  .jara-ref-brand__mark img { height: 34px; }
  .jara-ref-nav-toggle { min-width: 88px; height: 38px; padding: 0 12px; font-size: 12px; }
  .jara-ref-nav__list { grid-template-columns: repeat(2, 1fr); }
  .team_region_trigger { min-width: 112px; font-size: 15px; }
  .team_list ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .team_preview_card__name { font-size: 15px; }
  .team_preview_card { grid-template-rows: 102px auto; }
  .team_school_detail { padding: 18px; }
  .team_profile_top .team { display: grid; justify-items: center; }
  .team_profile_copy { font-size: 15px; }
  .team_text_panel { padding: 18px; }
  .team_spotlight__photo_wrap { min-height: 180px; }
  .team_link_buttons { gap: 6px; }
  .team_link_button {
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 2px 10px !important;
    font-size: 12px;
  }
  .team_meta__item {
    width: 100%;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    column-gap: 10px;
    padding: 1px 0;
    border-radius: 0;
  }
  .team_profile_col--chart { max-width: 320px; }
  .team_chart_frame { width: min(100%, 320px); }
  .team_profile_col--main .team_visual { min-height: 300px; max-height: 340px; }
  .member_accordion__summary { padding: 20px 18px 16px; }
  .member_accordion__body { padding: 8px 18px 20px; }
  .member_table { display: table; width: 820px; min-width: 820px; font-size: 11px; }
  .member_table colgroup { display: table-column-group; }
  .member_table thead { display: table-header-group; }
  .member_table tbody { display: table-row-group; }
  .member_table tr { display: table-row; }
  .member_table th,
  .member_table td { display: table-cell; height: 34px; padding: 4px 3px; }
  .member_table__col--category { width: 92px; }
  .member_table__col--name { width: 150px; }
  .member_table__col--grade { width: 74px; }
  .member_table__col--event { width: 112px; }
  .member_table__col--seat { width: 74px; }
  .member_table__col--height { width: 74px; }
  .member_table__col--weight { width: 74px; }
  .message-panel__media, .access_embed_map iframe { height: 260px; }
  .interview_rail { grid-template-columns: 1fr; gap: 14px; }
  .interview_embed iframe { height: 560px; }
  .notice_layout__content { padding: 20px; }
  .notice_title { font-size: 24px; }
  .notice_title--compact { font-size: 23px; }
  .notice_schedule div { grid-template-columns: 1fr; gap: 6px; }
  .notice_schedule--compact div { grid-template-columns: 1fr; gap: 6px; }
  .notice_wide_block { padding: 20px; }
  .request_card { grid-template-columns: 1fr; text-align: center; }
  .request_card--article { text-align: left; }
  .request_card__qr { width: 112px; }
  .schedule_tab { overflow-x: auto; }
  .schedule_item { min-width: 86px; }
  .schedule-list dl { grid-template-columns: minmax(0, 1fr) 94px; min-height: 58px; }
  .schedule-list dt { padding: 10px 12px; font-size: 13px; white-space: nowrap; }
  .schedule-list dd { justify-content: center; padding: 10px 8px; font-size: 14px; white-space: nowrap; }
  .schedule-main, .schedule-sub { display: inline; }
  .schedule-sub { margin-top: 0; margin-left: 0.35em; font-size: 12px; }
  .intercollege-results { padding: 16px; }
  .intercollege-results__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .intercollege-results__filter--search { grid-column: auto; }
  .intercollege-results__toolbar { align-items: stretch; flex-direction: column; }
  .race-sim { padding: 16px; }
  .race-sim__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .race-sim__viewerHead { flex-direction: column; align-items: stretch; padding: 16px; }
  .race-sim__actions { justify-content: flex-start; }
  .race-sim__checkpoints { padding: 0; }
  .race-sim__body { padding: 10px 16px 16px; }
  .race-sim__groupHead { flex-direction: column; align-items: flex-start; }
  .race-sim__table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .race-sim__tableHead,
  .race-sim__lane {
    width: 840px;
    min-width: 840px;
    grid-template-columns: 70px 200px minmax(280px, 1fr) 110px 64px;
  }
  .intercollege-results__tableWrap { overflow-x: auto; border: 1px solid var(--line); }
  .intercollege-results__table { display: table; width: 966px; min-width: 966px; font-size: 11px; }
  .intercollege-results__table colgroup { display: table-column-group; }
  .intercollege-results__table thead { display: table-header-group; }
  .intercollege-results__table tbody { display: table-row-group; }
  .intercollege-results__table tr { display: table-row; margin: 0; border: 0; border-radius: 0; background: transparent; }
  .intercollege-results__table th, .intercollege-results__table td { display: table-cell; height: 34px; padding: 4px 3px; }
  .intercollege-results__table td { white-space: normal; text-align: center !important; }
  .intercollege-results__table td::before { content: none; }
  .intercollege-results__table td.result-team,
  .intercollege-results__table td.result-qualify,
  .intercollege-results__table td.result-text--strong { grid-column: auto; }
  .intercollege-results__table td.result-race-group-hidden {
    display: table-cell;
    color: transparent !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
    background: inherit;
  }
  .foods { grid-template-columns: 1fr; }
  .sponsor-logos { gap: 16px; }
  .jara_lp_sponsor { overflow-x: auto; }
  .lp-floating-live { right: 12px; bottom: 12px; }
  .lp-floating-live a { padding: 12px 16px; }
  .request_card { padding: 18px; }
  .request_heading { font-size: 26px; }
  .request_lead,
  .request_section p,
  .request_closing { font-size: 16px; }
  .request_meta div { grid-template-columns: 72px minmax(0, 1fr); gap: 10px; }
  .request_section h5 { font-size: 18px; }
}
.jara-ref-social {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  margin-left: auto;
}
.jara-ref-social a {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.jara-ref-social img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: block;
}
body.lp-university-home:not(.team-js-ready) .team_list dl[data-team-region="kanto"] > dd {
  display: block;
}
body.lp-university-home:not(.team-js-ready) .intercollege-results__list::before {
  content: "結果データを読み込み中です。";
  display: block;
  padding: 18px;
  color: var(--muted);
}

@media (max-width: 980px) {
  .jara-ref-social { order: 3; margin-left: 0; }
  .jara-ref-social a { width: 26px; height: 26px; }
  .jara-ref-social img { width: 20px; height: 20px; }
}
@media (max-width: 560px) {
  .jara-ref-social { display: none !important; }
}
/* Current presentation fixes */
.jara-ref-nav { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
.schedule_link { border-right-color: var(--line); background: #fff; color: var(--blue); }
#top_time { background: #fff; color: var(--ink); }
#top_time .team_title h3 { color: var(--blue); }
#top_time .team_title .ja_title { color: var(--muted); }
#souji_video { background: #fff; }
#top_partners .team_title { text-align: center; }
.sponsor-tier { text-align: center; }
.sponsor-logo { border: 0; background: transparent; box-shadow: none; }
.lp-floating-live a { background: linear-gradient(135deg, #0b2f57, #1475bd); }
@media (max-width: 980px) {
  .jara-ref-nav { display: none; }
  .jara-ref-nav.open { display: block; }
}
