@charset "utf-8";
.hero {
  margin-top: 0;
  width: 100vw;
  height: 100vh;
  /* fixed header offset */
  padding-bottom: 0;
}
@media (max-width: 768px) {
  .hero {
    height: 80vh;
  }
}
.hero-inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  max-width: 100vw;
}
.inner.hero-inner {
  padding-inline: 0px;
}
.hero-visual {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  flex: 1;
}
.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-copy {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 7%;
}
.hero-copy-main {
  margin: 0;
  color: #fff;
  text-orientation: mixed;
  font-size: 75px;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
}
.hero-scroll {
  position: absolute;
  right: 32px;
  bottom: 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.hero-scroll-text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 14px;
  letter-spacing: 0.3em;
  font-weight: bold;
  color: rgba(255, 255, 255);
}
@media (max-width: 768px) {
  .hero-scroll-text {
    font-size: 12px;
  }
}
.hero-scroll-line {
  position: relative;
  width: 1px;
  height: 139px;
  overflow: hidden;
}
.hero-scroll-line::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 100px;
  background: #eee;
  animation: pathmove 2.5s ease-in-out infinite;
  opacity: 0;
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0
  }
  30% {
    height: 100px;
    opacity: 1
  }
  100% {
    height: 0;
    top: 150px;
    opacity: 0
  }
}
.hero-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 16px;
}
.hero-breadcrumb {
  font-size: 12px;
}
/* mvの中に不要なら非表示（デザインに合わせる） */
.hero-bottom {
  display: none;
}
.hero-news-pill {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  border-radius: 0 999px 999px 0;
  background: #fff;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.12);
  padding: 16px 28px 16px 32px;
  position: absolute;
  left: 0;
  bottom: 32px;
  z-index: 2;
}
.hero-news-label {
  color: #333;
  letter-spacing: 0.16em;
  font-weight: 500;
}
/* date と text を囲むエリア・その左に縦線 */
.hero-news-body {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  padding-left: 18px;
  margin-left: 4px;
}
.hero-news-body::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 16px;
  background: rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.hero-news-date {
  color: rgba(51, 51, 51, 0.6);
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 14px;
}
.hero-news-text {
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: opacity .25s ease;
  padding-bottom: 5px;
  background-image: linear-gradient(#333, #333);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
.hero-news-text:hover {
  background-position: bottom left;
  background-size: 100% 1px;
}
/* セクション共通 */
.section {
  padding-block: 56px;
}
/* 2カラムセクション共通（私たちについて・人としての学び・脩學生になるには） */
/* .section-block .inner {
  padding-inline: 24px;
} */
.section-block-content {
  margin-top: 0;
}
/* .section-block:not(:first-child) .section-block-content {
  margin-top: 40px;
} */
/* 画像エリア：横幅いっぱい・padding なし（高さ465pxを維持） */
.section-block--images-only {
  padding-block: 0;
}
.section-block--images-only .inner {
  max-width: none;
  width: 100%;
  padding: 0;
}
.section-block--images-only .section-block-images {
  margin-top: 0;
}
/* PC：画像エリアと上下のテキスト・ボタンとの間隔を（padding含めて）100pxに */
.section:has(+ .section-block--images-only) {
  padding-bottom: 100px;
}
.section-block--images-only + .section {
  padding-top: 100px;
}
/* 「私たちについて」セクションの上の間隔を（padding含めて）100pxに */
#about {
  padding-top: 100px;
}
/* お知らせセクション 全体高さ690px（padding含む）・各行90px（padding含む） */
.section-news {
  height: 690px;
  box-sizing: border-box;
}
.news-adjustment {
  height: auto !important;
}
.section-news .news-layout {
  min-height: 100%;
  box-sizing: border-box;
}
.section-news .news-row {
  height: 90px;
  min-height: 90px;
  box-sizing: border-box;
}
.section-layout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 40px;
  align-items: start;
}
/* 私たちについて：左1 右2 の比率 */
.section-block--about .section-layout {
  grid-template-columns: 1fr 2.8fr;
  column-gap: 101px;
}
.section-block--about .section-layout.rev {
  grid-template-columns: 2.8fr 1fr;
}
/* PCのみ：高さを揃えて縦線を section-layout いっぱいまで伸ばす */
@media (min-width: 769px) {
  .section-block--about .section-layout, .section-block--about .section-layout.rev {
    align-items: stretch;
  }
  .section-block--about .section-col-label {
    min-height: 0;
  }
  .section-block--about .section-label-block {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 0;
  }
}
.section-layout-reverse {
  grid-template-columns: minmax(0, 1fr) auto;
}
.section-col-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
}
.section-label-vertical {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.3em;
  font-size: 18px;
}
/* 私たちについて：左側エリア（PCは縦線をレイアウト下端まで伸ばす） */
.section-block--about .section-col-label {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  /* -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; */
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
/* 人としての学び：右側エリア（PCは縦線をレイアウト下端まで伸ばす） */
.rev .section-col-label {
  -webkit-box-align: end;
  -webkit-align-items: end;
  -ms-flex-align: end;
  align-items: end;
}
.section-block--about .section-label-block {
  min-height: 100%;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
/* .section-block--about .section-label-vertical {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
} */
/* PC：私たちについて(縦) の横に We are(縦)、We are の下に縦線 */
.section-label-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 16px;
}
/* PC：横線は非表示、縦線は We are 下に表示 */
.section-label-line {
  display: none;
}
.section-label-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
}
/* PC：We are の直下に縦線（縦線は section-layout の高さいっぱいまで伸ばす） */
.section-block--about .section-label-head {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  width: -webkit-min-content;
  width: min-content;
  max-width: 100%;
}
.section-label-eyebrow {
  font-size: 21px;
  letter-spacing: 0.12em;
  color: #333;
}
/* PC：We are を縦書きに（We と are の間で改行しない） */
.section-label-eyebrow {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
}
/* PC：We are の直下に縦線（私たちについてはエリア下部まで伸ばす） */
.section-label-ashirai {
  display: block;
  width: 1px;
  height: 48px;
  margin-top: 12px;
  background: #8b8881;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}
.section-block--about .section-label-ashirai {
  margin-top: 12px;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  min-height: 80px;
  -webkit-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}
/* PC：画面内に入ったら縦線を上から下へ描画 */
@media (min-width: 769px) {
  .section-block--about .section-label-ashirai {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top center;
    -ms-transform-origin: top center;
    transform-origin: top center;
    -webkit-transition: -webkit-transform 0.8s ease;
    transition: transform 0.8s ease;
  }
  .section-block--about .section-label-ashirai.is-inview {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
  }
}
.section-block--about .section-label-vertical {
  font-size: 57px;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #333;
}
/* 右側：白背景なし・タイトルなし（私たちについてのみ） */
.section-col-body--plain {
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.section-col-body--plain .section-text {
  margin-top: 0;
  /* font-size: 14px; */
  line-height: 2;
  color: #333;
}
.section-col-body--plain .section-text + .section-text {
  margin-top: 1.2em;
}
.section-col-body--plain .section-btn-wrap {
  margin-top: 40px;
}
/* 人としての学びセクション：ボタンを左半分エリア内の右端に配置 */
#learning .section-col-body--plain .section-btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
/* 詳しく見る・一覧を見るボタン：高さ50px・幅250px、白背景・ホバーで黒、テキスト中央・矢印右端（右端から15px）・枠線なし */
.section-col-body--plain .btn-primary-about {
  position: relative;
  overflow: hidden;
  display: block;
  width: 312px;
  height: 63px;
  padding: 0 30px 0 0;
  box-sizing: border-box;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: 0.2em;
  background-color: #333;
  color: #fff;
  border: none;
}
.section-col-body--plain .btn-primary, .section-news .news-btn-wrap .btn-primary {
  position: relative;
  display: block;
  width: 312px;
  height: 63px;
  padding: 0 30px 0 0;
  box-sizing: border-box;
  font-size: 13px;
  letter-spacing: 0.2em;
  background: #fff;
  color: #333;
  border: none;
}
/* ホバー時の背景・文字色は common.css の共通アニメーションで付与 */
.section-col-body--plain .btn-primary-about:hover, .section-news .news-btn-wrap .btn-primary-about:hover {
  color: #333;
  border-color: #fff;
}
.section-col-body--plain .btn-primary-about:hover > *, .section-news .news-btn-wrap .btn-primary-about:hover > * {
  color: #333;
}
.section-col-body--plain .btn-primary:hover, .section-news .news-btn-wrap .btn-primary:hover {
  color: #fff;
  border-color: #333;
}
.section-col-body--plain .btn-primary:hover > *, .section-news .news-btn-wrap .btn-primary:hover > * {
  color: #fff;
}
/* ボタン内テキストを中央に配置 */
.section-col-body--plain .btn-primary > span:first-child, .section-news .news-btn-wrap .btn-primary > span:first-child {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.btn-primary-about span {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
/* 矢印をボタン右端に配置（矢印とボタン右端の間は15px） */
.section-col-body--plain .btn-primary-icon, .section-news .news-btn-wrap .btn-primary-icon {
  position: absolute;
  right: 15px;
  top: 45%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 15px;
  text-align: center;
  font-size: 14px;
  pointer-events: none;
}
span.btn-primary-icon-about {
  position: absolute;
  left: auto;
  right: 15px;
  top: 45%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 15px;
  text-align: center;
  font-size: 14px;
  pointer-events: none;
}
.section-block--about {
  background: #f2f2e9;
}
.section-body-card {
  background: #fdfbf6;
  border-radius: 18px;
  padding: 32px 34px 28px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}
.section-eyebrow {
  font-size: 10px;
  letter-spacing: 0.22em;
  margin: 0 0 6px;
  color: rgba(51, 51, 51, 0.6);
}
.section-title {
  margin: 0;
  font-size: 18px;
  letter-spacing: 0.16em;
}
/* .section-text {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.9;
} */
.section-text + .section-text {
  margin-top: 10px;
}
.section-btn-wrap {
  margin-top: 20px;
}
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  border-radius: 999px;
  border: 1px solid #333;
  background: #fff;
  color: #333;
  font-size: 12px;
  letter-spacing: 0.16em;
  -webkit-transition: color 0.35s ease;
  transition: color 0.35s ease;
}
.btn-primary-icon {
  font-size: 16px;
  transform: translateY(1px);
}
/* ホバー時の背景は common.css、文字色は白に */
.btn-primary:hover {
  color: #fff;
  border-color: #333;
}
.btn-primary:hover > * {
  color: #fff;
}
/* セクション内 2枚並び画像（ギャップなし・角丸なし） */
.section-block-images {
  margin-top: 0;
}
/* 画像エリア：縦幅いっぱい（エリア内で高さを確保） */
/* PC：画像エリアの高さ 465px */
.section-block--images-only .section-block-images {
  height: 465px;
}
.section-images {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  gap: 0;
}
.section-block--images-only .section-images {
  height: 100%;
}
/* 通常の画像比率 左7:右5（私たちについて・脩學生になるにはの下） */
.section-block--images-only .section-img {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 58.3333%;
  /* 7/12 */
  overflow: hidden;
}
.section-block--images-only .section-img:last-child {
  width: 41.6667%;
  /* 5/12 */
}
/* 人としての学びの下のみ 左5:右7 */
.section-block--images-only.section-block--images-7-5 .section-img:first-child {
  width: 41.6667%;
  /* 5/12 */
}
.section-block--images-only.section-block--images-7-5 .section-img:last-child {
  width: 58.3333%;
  /* 7/12 */
}
.section-img {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  overflow: hidden;
}
.section-img img {
  width: 100%;
  height: auto;
  display: block;
}
/* 画像エリア内いっぱいに表示（縦幅も埋める） */
.section-block--images-only .section-img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 100%;
}
.section-block--images-only .section-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
/* お知らせ（PC：2カラム・左あしらい・右リスト） */
.section-title-news {
  font-size: 18px;
  letter-spacing: 0.16em;
  margin: 0 0 20px;
}
/* PC：お知らせセクション 2カラムレイアウト */
.section-news .news-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
  column-gap: 34px;
  align-items: stretch;
}
/* 左カラム：タイトル・News＋横線は左詰め文頭揃え、ボタンは最下部に配置 */
.section-news .news-col-label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
.section-news .news-title {
  margin: 0 0 12px;
  padding: 30px 0 0;
  font-size: 41px;
  font-weight: 500;
  /* letter-spacing: 0.1em; */
  line-height: 1.4;
  color: #333;
  text-align: left;
}
.section-news .news-title-main {
  margin: 0 0 12px;
  padding: 30px 0 0;
  font-size: 42px;
  font-weight: 500;
  /* letter-spacing: 0.1em; */
  line-height: 1.4;
  color: #333;
  text-align: left;
}
/* News ＋ 横線のあしらい（「お知らせ」と文頭を揃える） */
.section-news .news-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin-bottom: 24px;
}
.section-news .news-eyebrow {
  font-size: 21px;
  letter-spacing: 0.12em;
  flex-shrink: 0;
}
/* お知らせの横線（section-label-ashirai と共通：色 #8b8881・1px） */
.section-news .news-head .section-label-ashirai {
  display: block;
  width: auto;
  height: 1px;
  margin-top: 0;
  flex: 1;
  min-width: 0;
  max-width: 230px;
  background: #333;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}
/* 一覧を見るボタンは左カラムの最下部に配置 */
.section-news .news-btn-wrap {
  margin-top: auto;
}
/* 右カラム：お知らせリスト */
.section-news .news-col-body {
  min-width: 0;
}
.news-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.news-row {
  display: flex;
  grid-template-columns: 120px minmax(0, 1fr);
  column-gap: 32px;
  align-items: center;
  box-sizing: border-box;
  padding-block: 15px;
  border-top: 1px solid #292929;
}
.section-news .news-row:first-child {
  border-top: 1px solid #292929;
}
.news-row:last-child {
  border-bottom: 1px solid #292929;
}
.news-row-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  padding-bottom: 3px; /* テキストと下線の間隔 */
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-position: bottom right; /* 下線の初期位置 */
  background-size: 0 1px; /* 下線のサイズ（横幅、高さ） */
  transition: background-size 0.3s;
}
.news-row-link:hover {
  background-position: bottom left; /* 下線のホバー時位置 */
  background-size: 100% 1px; /* 下線の横幅を100%にする */
}
.news-row-date {
  color: rgba(51, 51, 51, 0.7);
  font-size: 15px;
}
.news-row-text {
  margin: 0 0 0 15px;
}
.section-btn-center {
  margin-top: 24px;
  text-align: center;
}
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  border-radius: 999px;
  border: 1px solid #333;
  font-size: 12px;
  letter-spacing: 0.16em;
  background: #fff;
  color: #333;
  transition: background 0.2s ease, color 0.2s ease, transform 0.1s ease, box-shadow 0.1s ease;
}
.btn-secondary:hover {
  background: #333;
  color: #fff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
/* レスポンシブ */
/* SP版：max-width でレイアウトを上書き */
@media (max-width: 768px) {
  #about {
    padding-top: 50px;
  }
  .section-news {
    height: auto;
  }
  .section-news .news-row {
    display: grid;
    height: auto;
    min-height: 0;
  }
  .inner.hero-inner {
    padding-inline: 0;
  }
  .hero-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .hero-copy-main {
    font-size: 50px;
    margin: 0 auto;
  }
  .hero-news-pill {
    left: 0;
    right: auto;
    bottom: 32px;
    width: 80vw;
    max-width: 80vw;
    justify-content: flex-start;
    flex-wrap: nowrap;
    padding: 8px 16px 8px 20px;
    gap: 12px;
  }
  /* SP：お知らせピル内の日付とテキストを縦並びに */
  .hero-news-body {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 4px;
    white-space: normal;
    overflow: visible;
    min-width: 0;
  }
  /* SP：縦並び時も縦線は .hero-news-body の左に表示（高さを伸ばしてブロックに合わせる） */
  .hero-news-body::before {
    top: 0;
    height: 100%;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
  .news-row-link {
    display: contents;
  }
  .news-row-text {
    margin: 0px;
  }
  .hero-news-date {
    font-size: 12px;
  }
  .hero-news-text {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    display: block;
    font-size: 13px;
  }
  .hero-scroll-line {
    height: 77px;
  }
  .section-layout, .section-layout-reverse {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
  .section-col-body--plain .btn-primary, .section-news .news-btn-wrap .btn-primary {
    width: 233px;
    height: 50px;
  }
  .section-col-body--plain .btn-primary-about {
    width: 233px;
    height: 50px;
  }
  /* SP：私たちについて・人としての学び・脩學生になるには いずれも1カラムで縦並び */
  .section-block--about .section-layout, .section-block--about .section-layout.rev {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
  /* SP：rev（人としての学び）はHTML順が逆のため、ラベルを上に表示 */
  .section-block--about .section-layout.rev .section-col-label {
    -webkit-box-ordinal-group: 0;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
  }
  .section-block--about .section-layout.rev .section-col-body {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }
  .section-col-label {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  /* SP：ラベル列を幅いっぱいにし、横線の右端を本文・ボタンと揃える */
  .section-block--about .section-col-label {
    width: 100%;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  /* SP：We are 横 + ライン横、その下に 私たちに ついて（ブロック幅100%で右端揃えの基準に） */
  .section-block--about .section-label-block {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
  }
  /* SP：eyebrow と横線の間隔を 10px に（赤枠の範囲）、横線はコンテンツ幅40％ */
  .section-block--about .section-label-head {
    -webkit-box-ordinal-group: 0;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
  }
  .section-block--about .section-label-vertical {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
    font-size: 38px;
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    text-align: left;
    letter-spacing: 0;
    font-weight: normal;
  }
  .section-block--about .section-label-eyebrow {
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 0;
    padding-right: 0;
    font-size: 13px;
  }
  /*
   * SP：横線の長さを px で調整できます。
   * デフォルトは 120px。セクションごとに変数で上書き可能です。
   * 例）#about { --section-label-ashirai-width: 100px; }
   *    #learning { --section-label-ashirai-width: 150px; }
   *    #scholarship { --section-label-ashirai-width: 130px; }
   */
  .section-block--about .section-label-ashirai {
    display: block;
    width: var(--section-label-ashirai-width, 129px);
    height: 1px;
    min-height: 0;
    -webkit-flex: none;
    -ms-flex: none;
    flex: none;
    margin: 0;
    padding: 0;
    margin-top: 0;
    background: #8b8881;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
    position: relative;
    top: 2px;
  }
  #about {
    --section-label-ashirai-width: 140px;
  }
  #learning {
    --section-label-ashirai-width: 126px;
  }
  #scholarship {
    --section-label-ashirai-width: 108px;
  }
  .section-block--about .section-label-line {
    display: none;
  }
  /* SP: 画像2枚は横並びのまま維持 */
  .section-images {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  /* SP: 画像エリアと上下のテキスト・ボタンとの間隔を（padding含め）50pxに */
  .section:has(+ .section-block--images-only) {
    padding-bottom: 50px;
  }
  .section-block--images-only + .section {
    padding-top: 50px;
  }
  /* SP: 画像エリア 高さ140px・横画面いっぱい・画像が収まる比率で表示 */
  .section-block--images-only .section-block-images {
    height: 140px;
  }
  .section-block--images-only .section-images {
    height: 100%;
  }
  .section-block--images-only .section-img img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
  }
  /* SP：各セクションの「詳しく見る」ボタンは画面中央に配置 */
  .section-block--about .section-btn-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  /* SP：人としての学びもボタンは中央（PCの右寄せを上書き） */
  #learning .section-col-body--plain .section-btn-wrap {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  /* SP：お知らせセクションは1カラム・ボタンは最下部の画面中央に配置 */
  .section-news .news-layout {
    display: flex;
    flex-direction: column;
    grid-template-columns: unset;
    row-gap: 0;
  }
  .section-news .news-eyebrow {
    font-size: 13px;
  }
  .section-news .news-col-label {
    display: contents;
  }
  .section-news .news-title-main {
    order: 0;
    letter-spacing: 0;
    font-weight: normal;
    font-size: 28px;
    padding: 0px;
  }
  .section-news .news-title {
    order: 0;
    letter-spacing: 0;
    font-weight: normal;
    font-size: 25px;
    padding: 0px;
  }
}
.section-news .news-head {
  order: 1;
}
.section-news .news-col-body {
  order: 2;
  margin-top: 50px;
}
.section-news .news-btn-wrap {
  order: 3;
  margin-top: auto;
  padding-top: 60px;
  display: flex;
  justify-content: center;
}
/* SP：news-head と news-row（リスト）の間隔は padding 含めて 50px */
.section-news .news-head {
  margin-bottom: 0;
  gap: 10px;
}
/*
   * SP：お知らせの横線の長さも px で調整できます。
   * 例）#news { --section-label-ashirai-width: 120px; }
   */
.section-news .news-head .section-label-ashirai {
  width: var(--section-label-ashirai-width, 230px);
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
  max-width: none;
  position: relative;
  top: 6px;
}
.news-row {
  grid-template-columns: 1fr;
  row-gap: 4px;
}
/* レスポンシブ */
/* SP版：max-width でレイアウトを上書き */
@media (max-width: 768px) {
  .section-news .news-head .section-label-ashirai {
    width: var(--section-label-ashirai-width, 157px);
  }
}