/*!****************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/scss/style.scss ***!
  \****************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*  width
======================== */
/*  PCでもハンバーガーがある時はtrueに変更
======================== */
/*  font
 */
/*  lang="en" の要素に当てる欧文フォント。
    --ff-title（Noto Sans JP）だと和文書体で英字が組まれてしまうため、
    欧文用の --ff-en（Poppins）を指定する。
    呼び出し元の `body *:lang(en)` は詳細度 (0,1,1) で
    .c-head-en / .c-head-dot__text の (0,1,0) より強く、
    ここが誤っていると英字見出しがすべて和文書体に落ちる。  */
/*  transition
======================== */
/*  CSS変数
======================== */
:root {
  --base: 16;
  --wide-hamburger: true;
  --hamburger-breakpoint: 1024px;
  --size-header-h: 60px;
  scroll-padding-top: calc(var(--size-header-h) + 16px);
  --z-go-top: 10;
  --z-drawer: 150;
  --z-header: 200;
  --z-header-logo: 300;
  --z-hamburger: 500;
  --z-skip-main: 999;
  --z-modal: 9999;
  --z-loading: calc(infinity);
  --clr_default: #1f1f1f;
  --clr_primary: #0077ef;
  --clr_bg: #efefef;
  --clr_border: #707070;
  --clr_text: #1f1f1f;
  --clr_muted: #676f7b;
  --clr_line: #e3e3e3;
  --clr_surface: #f1f1e9;
  --clr_surface_alt: #f1f2f4;
  --clr_yellow: #ffd700;
  --clr_sky: #35a9ff;
  --clr_orange: #ffa600;
  --clr_pink: #f93055;
  --clr_pink_light: #ffb6c1;
  --clr_lime: #a4c639;
  --clr_aqua: #86cfec;
  --clr_progress: #86cfec;
  --clr_peach: #ffdab9;
  --clr_green: #23ac38;
  --grad_oc: linear-gradient(180deg, #a4c639 0%, #86cfec 100%);
  --grad_voice: linear-gradient(90deg, #30b8f1 0%, #86cfec 100%);
  --inner: calc(1080 / var(--base) * 1rem);
  --inner-lg: calc(1200 / var(--base) * 1rem);
  --inner-sm: calc(960 / var(--base) * 1rem);
  --inner-sp: 90%;
  --ff-body: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
  --ff-title: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
  --ff-en: 'Poppins', var(--ff-body);
  --ff-date: 'Open Sans', var(--ff-body);
  --transition: 0.3s ease-in-out;
  --ease-hover: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-hover: 0.45s;
  --dur-hover-slow: 0.6s;
}

/*  一覧を見る / 詳しく見る（Figma 798:2352）
----------------------------------- */
.c-more {
  box-sizing: border-box;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  min-width: 200px;
  height: 64px;
  padding: 0 28px;
  gap: 12px;
  border: 1px solid var(--clr_line);
  border-radius: 32px;
  background: #fff;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  transition: color 0.7s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.c-more::before {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--clr_line);
  content: "";
  transition: background-color 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.c-more span {
  margin-right: auto;
}
.c-more img {
  flex: 0 0 auto;
  width: 16px;
  height: 12px;
  transition: filter 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.c-more:focus-visible {
  background: var(--clr_green);
  color: #fff;
}
.c-more:focus-visible::before {
  background: #fff;
}
.c-more:focus-visible img {
  filter: brightness(0) invert(1);
}
.c-more.-wide {
  min-width: 290px;
}

.c-form {
  --layout-gap: 16px;
  --label-gap: 8px;
  --form_border: var(--clr_border, #707070);
  --form_placeholder: var(--clr_text_gray, #616165);
  --form_check_size: 12px;
  --form_radio_size: 12px;
  padding-block: 80px;
}
.c-form input,
.c-form textarea {
  border: 1px solid var(--form_border);
  border-radius: 0;
  background: #fff;
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel],
.c-form textarea {
  width: 100%;
  padding: 8px 12px;
  font-size: calc(16 / var(--base) * 1rem);
}
.c-form input::-webkit-input-placeholder {
  color: var(--form_placeholder);
}
.c-form input::-moz-placeholder {
  color: var(--form_placeholder);
}
.c-form input::placeholder {
  color: var(--form_placeholder);
}
.c-form input:-ms-input-placeholder {
  color: var(--form_placeholder);
}
.c-form input::-ms-input-placeholder {
  color: var(--form_placeholder);
}
.c-form button {
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: currentColor;
  cursor: pointer;
}
.c-form label {
  cursor: pointer;
}
.c-form .wpcf7-form-control-wrap[data-name=select] {
  position: relative;
}
.c-form .wpcf7-form-control-wrap[data-name=select]::after {
  width: 12px;
  height: 8px;
  background-color: var(--clr_default);
  content: "";
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  pointer-events: none;
}
.c-form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 8px 30px 8px 12px;
  border: 1px solid var(--clr_border);
  border-radius: 0;
  background: #fff;
  color: var(--clr_default);
  cursor: pointer;
}
.c-form select:focus-visible {
  outline: auto;
  outline: auto -webkit-focus-ring-color;
}
.c-form select::-ms-expand {
  display: none;
}
.c-form input[type=radio] {
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  margin: -1px;
          clip-path: inset(50%);
}
.c-form input[type=radio]:focus-visible + span::before {
  background: var(--clr_bg);
}
.c-form input[type=radio] + span {
  display: grid;
  grid-template-columns: var(--form_radio_size) 1fr;
  align-items: center;
  gap: 6px;
}
.c-form input[type=radio] + span::before, .c-form input[type=radio] + span::after {
  grid-row: 1/2;
  grid-column: 1/2;
  width: var(--form_radio_size);
  height: var(--form_radio_size);
  border-radius: 50%;
  content: "";
}
.c-form input[type=radio] + span::before {
  border: 1px solid var(--form_border);
  background: #fff;
}
.c-form input[type=radio] + span::after {
  scale: 0.6;
  background: var(--clr_primary);
  opacity: 0;
  transition: 0.16s;
  transition-property: opacity;
}
.c-form input[type=radio]:checked + span::after {
  opacity: 1;
}
.c-form input[type=checkbox] {
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  margin: -1px;
          clip-path: inset(50%);
}
.c-form input[type=checkbox]:focus-visible + span::before {
  background: var(--clr_bg);
}
.c-form input[type=checkbox] + span {
  display: grid;
  grid-template-columns: var(--form_radio_size) 1fr;
  align-items: center;
  gap: 6px;
}
.c-form input[type=checkbox] + span::before, .c-form input[type=checkbox] + span::after {
  grid-row: 1/2;
  grid-column: 1/2;
  width: var(--form_radio_size);
  height: var(--form_radio_size);
  content: "";
}
.c-form input[type=checkbox] + span::before {
  border: 1px solid var(--form_border);
  background: #fff;
}
.c-form input[type=checkbox] + span::after {
  width: 12px;
  height: 5px;
  transform: translate(20%, -35%) rotate(-45deg);
  border: solid var(--clr_primary);
  border-width: 0 0 2px 2px;
  opacity: 0;
  transition: 0.16s;
  transition-property: opacity;
}
.c-form input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.c-form .c-form__wrap {
  display: flex;
  flex-direction: column;
  gap: var(--layout-gap);
}
.c-form .c-form__content, .c-form .c-form__content > label {
  display: flex;
  flex-direction: column;
  gap: var(--label-gap);
}
.c-form .c-form__label {
  display: flex;
  align-items: first baseline;
  gap: 4px;
  font-weight: 400;
}
.c-form .-required {
  color: red;
  font-size: 0.75rem;
}
.c-form .wpcf7-checkbox,
.c-form .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
.c-form .wpcf7-list-item {
  display: flex;
  margin: 0;
}
.c-form .wpcf7-list-item label {
  display: flex;
}
.c-form .c-form__btnWrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.c-form .c-form__btnWrap .wpcf7-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 40px;
  background-color: var(--clr_default);
  color: #fff;
}

/*  c-head01
----------------------------------- */
.c-head01 {
  position: relative;
  padding-left: 20px;
  font-weight: 700;
}
.c-head01::before {
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 2px;
  height: 20px;
  background: var(--clr_primary);
  content: "";
}

/*  c-head02
----------------------------------- */
.c-head02 {
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--clr_border);
  font-weight: 700;
}

/*  c-head-dot（セクション見出し／二重丸つき）
----------------------------------- */
.c-head-dot {
  --head-dot-color: var(--clr_yellow);
  --head-dot-size: 20px;
  --head-dot-lap: 10px;
  display: flex;
  align-items: center;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.c-head-dot.-sub {
  --head-dot-size: 20px;
  --head-dot-lap: 10px;
  font-size: 20px;
}
.c-head-dot.-yellow {
  --head-dot-color: var(--clr_yellow);
}
.c-head-dot.-aqua {
  --head-dot-color: var(--clr_aqua);
}
.c-head-dot.-sky {
  --head-dot-color: var(--clr_sky);
}
.c-head-dot.-orange {
  --head-dot-color: var(--clr_orange);
}
.c-head-dot.-peach {
  --head-dot-color: var(--clr_peach);
}
.c-head-dot.-white {
  --head-dot-color: rgb(255 255 255 / 0.25);
  color: #fff;
}

.c-head-dot__dots {
  flex: 0 0 auto;
  height: var(--head-dot-size);
  margin-right: calc(var(--head-dot-lap) * -1);
  /* stroke リング（opencampus 等）が viewBox 端で見切れないようにする */
  overflow: visible;
  color: var(--head-dot-color);
}
.c-head-dot__dots svg {
  display: block;
  width: auto;
  height: 100%;
  overflow: visible;
}

.c-head-dot__text {
  min-width: 0;
}

/*  c-head-en（セクション英字ラベル）
----------------------------------- */
.c-head-en {
  --head-en-color: var(--clr_text);
  margin: 0;
  color: var(--head-en-color);
  font-weight: 800;
  font-size: 28px;
  line-height: 1;
  font-family: var(--ff-en);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.c-head-en {
  /*  暗い背景に載せる版  */
}
.c-head-en.-white {
  --head-en-color: #fff;
}
.c-head-en {
  /*  1語目と2語目の間隔（Figma 実測 9px @80px）  */
}
.c-head-en span {
  margin-right: 0.11em;
}

.c-inner {
  width: var(--inner-sp);
  max-width: var(--inner);
  margin-inline: auto;
}
.c-inner.-lg {
  max-width: var(--inner-lg);
}
.c-inner.-sm {
  max-width: var(--inner-sm);
}

.c-loop-news {
  display: flex;
  position: relative;
  flex-direction: column;
}
.c-loop-news .c-loop-news__link {
  z-index: 1;
  position: absolute;
  inset: 0;
}
.c-loop-news .c-loop-news__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.c-loop-news .c-loop-news__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.c-loop-news .c-loop-news__time {
  flex-shrink: 0;
}
.c-loop-news .c-loop-news__img {
  aspect-ratio: 16/9;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.c-loop-news .c-loop-news__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.c-cats .c-cats__link {
  display: inline-block;
  z-index: 2;
  position: relative;
}
.c-cats .c-cats__link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.c-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.c-tags .c-tags__link {
  display: inline-block;
  z-index: 2;
  position: relative;
  color: var(--clr_text_gray, #616165);
  font-size: calc(14 / var(--base) * 1rem);
}
.c-tags .c-tags__link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.c-pager-archive {
  --pager-gap: 40px;
  --pager-child-gap: 16px;
  --btn-size: 40px;
  --number-size: 40px;
  margin-block: 60px 80px;
}
.c-pager-archive .c-pager-archive__inner {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - var(--pager-gap) * 2 - var(--btn-size) * 2);
  margin-inline: auto;
}
.c-pager-archive .c-pager-archive__prev,
.c-pager-archive .c-pager-archive__next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.c-pager-archive .c-pager-archive__prev {
  right: calc(100% + var(--pager-gap));
}
.c-pager-archive .c-pager-archive__next {
  left: calc(100% + var(--pager-gap));
}
.c-pager-archive .c-pager-archive__prev-link,
.c-pager-archive .c-pager-archive__next-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--btn-size);
  height: var(--btn-size);
  border: 1px solid var(--clr_border);
  transition: var(--transition);
  transition-property: background-color;
}
.c-pager-archive .c-pager-archive__prev-link::before,
.c-pager-archive .c-pager-archive__next-link::before {
  width: 10px;
  height: 12px;
  background-color: var(--clr_default);
  content: "";
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
  transition: var(--transition);
  transition-property: background-color;
}
.c-pager-archive .c-pager-archive__prev-link:focus-visible,
.c-pager-archive .c-pager-archive__next-link:focus-visible {
  background-color: var(--clr_default);
}
.c-pager-archive .c-pager-archive__prev-link:focus-visible::before,
.c-pager-archive .c-pager-archive__next-link:focus-visible::before {
  background-color: #fff;
}
.c-pager-archive .c-pager-archive__prev-link::before {
  rotate: 180deg;
}
.c-pager-archive .c-pager-archive__number-child {
  display: flex;
  align-items: center;
  gap: var(--pager-child-gap);
}
.c-pager-archive .c-pager-archive__number-child-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--number-size);
  height: var(--number-size);
  border-radius: 50%;
}
.c-pager-archive .c-pager-archive__number-child-link.-current {
  background-color: var(--clr_default);
  color: #fff;
}
.c-pager-archive .c-pager-archive__number-child-link:not(.-current) {
  border: 1px solid var(--clr_default);
  transition: var(--transition);
  transition-property: color, background-color;
}
.c-pager-archive .c-pager-archive__number-child-link:not(.-current):focus-visible {
  background-color: var(--clr_default);
  color: #fff;
}

.c-pager-single {
  --pager-gap: 40px;
  --btn-size: 40px;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - var(--pager-gap) * 2 - var(--btn-size) * 2);
  min-height: var(--btn-size);
  margin: 60px auto 80px;
}
.c-pager-single .c-pager-single-prev,
.c-pager-single .c-pager-single-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.c-pager-single .c-pager-single-prev {
  right: calc(100% + var(--pager-gap));
}
.c-pager-single .c-pager-single-next {
  left: calc(100% + var(--pager-gap));
}
.c-pager-single .c-pager-single-prev__link,
.c-pager-single .c-pager-single-next__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--btn-size);
  height: var(--btn-size);
  border: 1px solid var(--clr_default);
  transition: var(--transition);
  transition-property: background-color;
}
.c-pager-single .c-pager-single-prev__link::before,
.c-pager-single .c-pager-single-next__link::before {
  width: 10px;
  height: 12px;
  background-color: var(--clr_default);
  content: "";
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
  transition: var(--transition);
  transition-property: background-color;
}
.c-pager-single .c-pager-single-prev__link:focus-visible,
.c-pager-single .c-pager-single-next__link:focus-visible {
  background-color: var(--clr_default);
}
.c-pager-single .c-pager-single-prev__link:focus-visible::before,
.c-pager-single .c-pager-single-next__link:focus-visible::before {
  background-color: #fff;
}
.c-pager-single .c-pager-single-prev__link::before {
  rotate: 180deg;
}

.c-breadcrumb {
  --gap: 10px;
  width: var(--inner-sp);
  max-width: var(--inner);
  margin-inline: auto;
}
.c-breadcrumb .c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}
.c-breadcrumb .c-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: var(--gap);
}
.c-breadcrumb .c-breadcrumb__item:not(:last-of-type)::after {
  width: 6px;
  height: 10px;
  background-color: var(--clr_border);
  content: "";
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.c-breadcrumb .c-breadcrumb__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-breadcrumb .c-breadcrumb__link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/*  c-list01
----------------------------------- */
.c-list01 .c-list01__item {
  position: relative;
  padding-left: 8px;
}
.c-list01 .c-list01__item::before {
  display: block;
  position: absolute;
  top: 13px;
  left: 0;
  width: 6px;
  height: 2px;
  background: var(--clr_primary);
  content: "";
}

/*  c-table01
----------------------------------- */
.c-table01 table {
  border: 1px solid var(--clr_border);
  table-layout: fixed;
}
.c-table01 th,
.c-table01 td {
  display: block;
  width: auto;
  padding: 15px 20px;
  border: 1px solid var(--clr_border);
}
.c-table01 th {
  background: var(--clr_bg);
}

/*  スライダー（Splide）の初期化前スタイル
    Splide 本体の CSS は bundle.js から実行時に注入されるため、
    JS が動くまで本来の .splide{visibility:hidden} が効かず、
    全スライドが縦積みのまま一瞬表示されてしまう（ファーストビューの MV で目立つ）。
    head で読まれるこのファイル側に初期状態を持たせて、それを防ぐ。
    初期化が終わると Splide が .is-initialized を付けて可視化する。
---------------------------------------------*/
.splide:not(.is-initialized) {
  visibility: hidden;
  /* 縦積みで高さが確定してからの再計算（CLS）を避けるため、初期化前から横並びにしておく */
}
.splide:not(.is-initialized) .splide__list {
  display: flex;
}
.splide:not(.is-initialized) .splide__slide {
  flex-shrink: 0;
}

/*  MicroModal（.js-modal）
----------------------------------- */
.js-modal {
  display: none;
  z-index: var(--z-modal);
  position: fixed;
  inset: 0;
}
.js-modal.is-open {
  display: block;
}

.js-modal__overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 24px;
  background: rgba(31, 31, 31, 0.56);
}

.js-modal__container {
  width: min(100%, 520px);
  padding: 28px 24px;
  border-radius: 12px;
  background: #fff;
}

.js-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  gap: 16px;
}
.js-modal__header h2 {
  margin: 0;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
}

.js-modal__close {
  position: relative;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.js-modal__close::before, .js-modal__close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  background: var(--clr_text);
  content: "";
}
.js-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.js-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.js-modal__content {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.7;
}

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  min-width: 0;
  border-width: 0;
  border-style: solid;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  margin: 0;
  clear: both;
  overflow: visible; /* 2 */
  border-top-width: 1px;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-size: inherit; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-size: inherit; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-transform: inherit; /* 2 */
  vertical-align: middle;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

html,
body {
  scrollbar-gutter: stable;
}

html {
  font-size: 100%;
}
html:not([lang=ja]) {
  word-break: break-word;
}

body {
  -webkit-font-smoothing: antialiased;
  background-color: #fff;
  color: var(--clr_default);
  font-weight: 400;
  font-size: calc(15 / var(--base) * 1rem);
  line-height: 1.6;
  font-family: var(--ff-body);
  letter-spacing: 0.05em;
}
body *:lang(en) {
  font-family: var(--ff-en);
}

body *,
body *::before,
body *::after {
  margin: 0;
  padding: 0;
  border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: revert;
}

:where(a:not(.wp-element-button)) {
  display: inline-block;
  color: currentColor;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

button {
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
}

dt {
  font-weight: 700;
}

summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

span {
  font-weight: inherit;
}

small {
  font-size: 100%;
}

button,
input,
select,
textarea {
  -webkit-appearance: revert;
     -moz-appearance: revert;
          appearance: revert;
  border-width: 1px;
  background-color: transparent;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  width: 100%;
  border-spacing: 0;
  table-layout: fixed;
}

address {
  font-style: normal;
}

/* 選択系パーツ */
input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select,
option {
  display: block;
  width: 100%;
  border-radius: 0;
  font: inherit;
}

textarea {
  resize: vertical;
}

input[type=radio],
input[type=checkbox] {
  vertical-align: revert;
  cursor: pointer;
}

svg {
  width: 100%;
  height: auto;
}

/* 	スクリーンリーダー
---------------------------------------------*/
.visually-hidden:not(:focus-visible),
.sr-only:not(:focus-visible) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  white-space: nowrap;
          clip-path: inset(50%);
}

/* 	lenis推奨スタイル
---------------------------------------------*/
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: clip;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* 	アクセシビリティ
---------------------------------------------*/
:focus-visible {
  outline: 2px solid var(--clr_default);
  outline-offset: 2px;
}
.l-sidebar .l-sidebar__list {
  display: flex;
  flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 12px;
}
.l-sidebar .l-sidebar__link {
  display: block;
}

/*  白パネル上で見える薄い学部色（rgba を #fff に乗せると透けて写真が見えるためベタ）  */
.p-home__campuses-life, .p-home__about-cta {
  box-sizing: border-box;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 600px);
  min-height: 88px;
  padding: 20px 16px;
  gap: 16px;
  border: 1px solid var(--clr_text);
  border-radius: 8px;
  background: #fff;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  transition: color var(--dur-hover) var(--ease-hover), background-color var(--dur-hover) var(--ease-hover);
}
.p-home__campuses-life:focus-visible, .p-home__about-cta:focus-visible {
  background: var(--clr_green);
  color: #fff;
}

.p-home {
  margin-top: var(--size-header-h);
  overflow-x: clip;
  background: #fff;
  color: var(--clr_text);
}
.p-home img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.p-home .c-more img {
  width: 16px;
  height: 12px;
}
.p-home .p-home__inner {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}
.p-home ul {
  list-style: none;
}
.p-home .p-home__watermark {
  margin: 0;
  font-weight: 800;
  font-size: clamp(56px, 11.11vw, 160px);
  line-height: 1;
  font-family: var(--ff-en);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.p-home .p-home__watermark::before {
  content: attr(data-text);
}
.p-home .p-home__empty {
  padding: 24px 0;
}
.p-home a:focus-visible,
.p-home button:focus-visible {
  outline: 3px solid #1b7f31;
  outline-offset: 3px;
}

/*  MV
----------------------------------- */
.p-home__mv {
  position: relative;
  overflow: hidden;
  background: var(--clr_surface_alt);
}

.p-home__mv-stage {
  position: relative;
  height: 311px;
  overflow: hidden;
}

.p-home__mv-media {
  position: absolute;
  margin: 0;
  inset: 0;
}
.p-home__mv-media video,
.p-home__mv-media .p-home__mv-poster {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-home__mv-copy {
  display: flex;
  z-index: 1;
  position: absolute;
  align-items: center;
  justify-content: center;
  inset: 0;
  padding: 24px;
  pointer-events: none;
}

.p-home__mv-wordmark {
  display: block;
  width: min(73.33vw, 275px);
  height: auto;
  overflow: visible;
  filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.18));
}

.p-home__mv-wordmark-path {
  fill: #fff;
  fill-opacity: 1;
  stroke: transparent;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-opacity: 1;
  stroke-width: 2px;
}

.p-home__mv-wordmark.is-anim-ready .p-home__mv-wordmark-path {
  fill-opacity: 0;
  stroke: #fff;
  stroke-dasharray: var(--path-length, 1000);
  stroke-dashoffset: var(--path-length, 1000);
}

.p-home__mv-wordmark.is-animating .p-home__mv-wordmark-path {
  animation: p-home-mv-stroke-draw var(--mv-draw-duration, 1.2s) ease forwards;
  animation-delay: var(--path-delay, 0s);
}

/*  線描画完了 → 塗りフェードイン（線は残す）→ 線フェードアウト で途切れさせない  */
.p-home__mv-wordmark.is-complete .p-home__mv-wordmark-path {
  fill: #fff;
  fill-opacity: 1;
  stroke: #fff;
  stroke-dasharray: var(--path-length, 1000);
  stroke-dashoffset: 0;
  stroke-opacity: 0;
  animation: none;
  transition: fill-opacity var(--mv-fill-duration, 0.5s) ease, stroke-opacity calc(var(--mv-fill-duration, 0.5s) * 0.55) ease calc(var(--mv-fill-duration, 0.5s) * 0.45);
}

@keyframes p-home-mv-stroke-draw {
  to {
    stroke-dashoffset: 0;
  }
}
/*  pickup（OC + topics）
----------------------------------- */
.p-home__pickup {
  display: grid;
  padding: 0 0 48px;
  gap: 40px;
  background: #fff;
}

.p-home__pickup-oc {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 449px;
  padding: 40px 20px;
  background: linear-gradient(180deg, #a4c639 0%, #86cfec 100%);
}

.p-home__pickup-topics {
  padding: 0;
}
.p-home__pickup-topics .c-head-dot {
  padding-left: 20px;
}
.p-home__pickup-topics .p-home__topics-controls {
  padding-right: 20px;
  padding-left: 20px;
}

.p-home__pickup-oc .c-head-dot {
  --head-dot-lap: 5px;
  margin-bottom: 20px;
}
.p-home__pickup-oc .c-head-dot .c-head-dot__text {
  padding-left: 4px;
}

.p-home__pickup-oc .c-more {
  display: flex;
  margin: 24px auto 0;
}

/*  緑帯上の c-more は緑塗りだと同化するため、白のまま背景をゆったり変える  */
.p-home__pickup-oc .c-more:focus-visible,
.p-home__opencampus .c-more:focus-visible {
  background: #fff;
  color: var(--clr_green);
}
.p-home__pickup-oc .c-more:focus-visible::before,
.p-home__opencampus .c-more:focus-visible::before {
  background: var(--clr_green);
}
.p-home__pickup-oc .c-more:focus-visible img,
.p-home__opencampus .c-more:focus-visible img {
  filter: none;
}

.p-home__pickup-topics .c-head-dot {
  margin-bottom: 24px;
}

.p-home__oc-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: start;
  width: 100%;
  margin: 15px 0 0;
  padding: 0 0 15px;
  gap: 4px;
  list-style: none;
}

.p-home__oc-campuses {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: min(100%, 416px);
  margin-bottom: -5px;
}

.p-home__oc-campus {
  width: min(100%, 416px);
}
.p-home__oc-campus::after {
  display: block;
  width: 100%;
  height: 1px;
  background-image: radial-gradient(circle, #fff 0.5px, transparent 0.5px);
  background-size: 7px 1px;
  background-repeat: repeat-x;
  content: "";
}
.p-home__oc-campus + .p-home__oc-campus {
  margin-top: 14px;
}
.p-home__oc-campus-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.p-home__oc-campus-time {
  margin: 0;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.75;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-home__oc-campus-time span {
  display: block;
  white-space: nowrap;
}

.p-home__oc-campus-label {
  box-sizing: border-box;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 36px;
  margin: 0;
  padding: 2px;
  border-radius: 4px;
  background: #fff;
  color: var(--clr_green);
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.26px;
}

.p-home__oc-campus-label-inner {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: 32px;
  padding: 0 8px;
  gap: 5px;
  border: 1px solid var(--clr_green);
  border-radius: 4px;
  white-space: nowrap;
}
.p-home__oc-campus-label-inner img {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  filter: brightness(0) saturate(100%) invert(55%) sepia(96%) saturate(498%) hue-rotate(58deg) brightness(88%) contrast(88%);
}
.p-home__oc-item {
  box-sizing: border-box;
  position: relative;
  aspect-ratio: 105/44;
  height: auto;
  padding: 2px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.02);
}
.p-home__oc-item[data-wday=sat] {
  --oc-wday-bg: #33b9fc;
}
.p-home__oc-item[data-wday=other] {
  --oc-wday-bg: var(--clr_text);
}

.p-home__oc-inner {
  box-sizing: border-box;
  display: grid;
  position: relative;
  grid-template-rows: auto 1fr;
  /*  1行目=年（左寄せ）、2行目=日付＋バッジ。
      先頭の 1fr が余りを吸収するので、日付とバッジは右寄せになる（Figma 1431:49691）  */
  grid-template-columns: 1fr auto auto;
  align-items: end;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 1px solid var(--clr_green);
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
}

/*  URL がある日程のみ <a>。ホバーで透過（div の非リンクは対象外）  */
a.p-home__oc-inner {
  transition: opacity var(--dur-hover) var(--ease-hover);
}
a.p-home__oc-inner:focus-visible {
  opacity: 0.7;
}

.p-home__oc-year {
  grid-column: 1/-1;
  justify-self: start;
  margin: 0;
  color: var(--clr_text);
  font-weight: 800;
  font-size: 10px;
  line-height: 1;
  font-family: var(--ff-en);
  letter-spacing: 0.2px;
  /*  SP は上下セクション共通（Figma 1431:49691）。
      年テキストは内枠左から 6px / 上から 4.5px  */
}

.p-home__oc-date {
  grid-row: 2;
  grid-column: 2;
  margin: 0;
  padding: 0 0 4px;
  color: var(--clr_text);
  font-weight: 800;
  font-size: 24px;
  line-height: 1;
  font-family: var(--ff-en);
}
.p-home__oc-date--lg {
  gap: 8px;
  font-size: 40px;
}

.p-home__oc-wday {
  display: inline-flex;
  grid-row: 2;
  grid-column: 3;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  background: var(--oc-wday-bg, #fc3333);
  color: #fff;
  font-weight: 700;
  font-size: 8px;
  line-height: 1;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.16px;
}

/*  日程カードの PC レイアウトはセクションで別物なので、ここで完全に分ける。
    SP（105×44 の横長）は上下で共通なので、共通ルール側に置いたまま触らない。
    仕様: docs/SPEC-oc-split.md  */
/*  MV下: 101×101 の正方形。年 → 日付 → バッジ を縦3段に積む（Figma 1419:49688）  */
/*  下部OC: 190×86 の横長。年は左上、その下に 日付＋バッジ を横並び（Figma 1674:4480）  */
/*  SP は各キャンパス3枚まで。並びが日付の近い順なので、4枚目以降＝遠い日付が隠れる  */
.p-home__topic {
  box-sizing: border-box;
  display: block;
  aspect-ratio: 208/123;
  width: 100%;
  padding: 4px;
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.02);
}
.p-home__topic img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: opacity var(--dur-hover) var(--ease-hover);
}
.p-home__topic:focus-visible img {
  opacity: 0.7;
}

.p-home__topics-viewport {
  container-type: inline-size;
  margin-right: 0;
  margin-left: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}
.p-home__topics-viewport::-webkit-scrollbar {
  display: none;
}

.p-home__topics-list {
  --topics-gap: 10px;
  --topics-visible: 2;
  display: grid;
  grid-template-rows: repeat(2, auto);
  /*  SP: インナー幅に2枚収める  */
  grid-auto-columns: calc((100cqi - var(--topics-gap) * (var(--topics-visible) - 1)) / var(--topics-visible));
  grid-auto-flow: column;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0;
  padding: 0 0 8px;
  gap: 12px var(--topics-gap);
}

.p-home__topics-controls {
  display: flex;
  align-items: center;
  margin-top: 16px;
  gap: 0;
}

.p-home__topics-prev,
.p-home__topics-next {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid var(--clr_line);
  border-radius: 50%;
  background: #fff;
  color: var(--clr_text);
  cursor: pointer;
}
.p-home__topics-prev::before,
.p-home__topics-next::before {
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 auto;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  content: "";
}
.p-home__topics-prev:disabled,
.p-home__topics-next:disabled {
  cursor: default;
  opacity: 0.35;
}
.p-home__topics-prev:focus-visible,
.p-home__topics-next:focus-visible {
  outline: 2px solid #1b7f31;
  outline-offset: 2px;
}

.p-home__topics-prev {
  margin-right: 10px;
}

.p-home__topics-next {
  margin-right: 20px;
}

.p-home__topics-prev::before {
  transform: rotate(45deg);
}

.p-home__topics-next::before {
  transform: rotate(-135deg);
}

.p-home__topics-progress {
  flex: 1 1 auto;
  height: 6px;
  overflow: hidden;
  border-radius: 15px;
  background: var(--clr_surface_alt);
}
.p-home__topics-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  border-radius: 15px;
  background: linear-gradient(90deg, #ffa07a 0%, var(--clr_yellow) 100%);
}

.p-home__topics.is-static .p-home__topics-viewport {
  margin-right: 20px;
  overflow: visible;
}
.p-home__topics.is-static .p-home__topics-list {
  grid-template-rows: repeat(2, auto);
  width: 100%;
}

/*  news
----------------------------------- */
.p-home__news {
  padding: 48px 0 64px;
  background: #fff;
}
.p-home__news .c-head-dot {
  margin-bottom: 20px;
}

.p-home__news-tabs {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 24px;
  padding-top: 16px;
  overflow-x: auto;
  gap: 8px;
  border-top: 1px solid var(--clr_line);
  scrollbar-width: none;
}
.p-home__news-tabs::-webkit-scrollbar {
  display: none;
}

.p-home__news-tab {
  flex: 0 0 auto;
  width: auto;
  min-height: 25px;
  padding: 0 12px;
  border: 0;
  border-radius: 4px;
  background: var(--clr_surface_alt);
  color: var(--clr_muted);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: opacity var(--dur-hover) var(--ease-hover);
}
.p-home__news-tab:focus-visible:not(.is-active) {
  opacity: 0.65;
}
.p-home__news-tab.is-active {
  background: var(--clr_text);
  color: #fff;
}

.p-home__news-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 5px;
}

.p-home__news-item {
  display: block;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--clr_line);
  border-radius: 4px;
  background: #fff;
  isolation: isolate;
}
.p-home__news-item::before {
  display: block;
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 165/80;
  width: 100%;
  height: auto;
  background: url("../images/home/news-card-deco-sp.svg") left top/100% 100% no-repeat;
  content: "";
  pointer-events: none;
}
.p-home__news-item {
  /*  hidden 属性（初期表示の絞り込み）とJS付与クラスの両方で非表示にする  */
}
.p-home__news-item.is-hidden, .p-home__news-item[hidden] {
  display: none;
}
.p-home__news-item {
  transition: background-color var(--dur-hover) var(--ease-hover);
}
.p-home__news-item:focus-visible {
  background-color: #f7fbf4;
}
.p-home__news-item:focus-visible .p-home__news-thumb img {
  transform: scale(1.06);
}
.p-home__news-item:focus-visible .p-home__news-body p {
  color: var(--clr_green);
}

.p-home__news-thumb {
  z-index: 1;
  position: relative;
  aspect-ratio: 145/80;
  width: auto;
  height: auto;
  margin: 12px 10px 0;
  overflow: hidden;
  border-radius: 4px;
  background: var(--clr_surface_alt);
}
.p-home__news-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform var(--dur-hover-slow) var(--ease-hover);
}

.p-home__news-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px 10px;
}
.p-home__news-body time {
  color: var(--clr_muted);
  font-weight: 700;
  font-size: 8px;
  font-family: var(--ff-date);
  letter-spacing: 0.02em;
}
.p-home__news-body p {
  margin: 8px 0 0;
  font-weight: 700;
  font-size: 11px;
  line-height: 1.5;
  transition: color var(--dur-hover) var(--ease-hover);
}

.p-home__news-cats {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8px;
  gap: 6px;
}
.p-home__news-cats li {
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--clr_text);
  color: #fff;
  font-weight: 700;
  font-size: 10px;
}

.p-home__news-more {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

/*  catch
----------------------------------- */
.p-home__catch {
  display: block;
  position: relative;
  padding: 40px 0 128px;
  overflow: hidden;
  background-image: url("../images/home/catch-bg.jpg");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #fff;
  isolation: isolate;
}
.p-home__catch::before, .p-home__catch::after {
  z-index: 0;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-home__catch::before {
  top: 72px;
  left: -8%;
  width: min(92%, 640px);
  height: 240px;
  background-image: url("../images/home/catch-left.svg");
  background-position: left top;
  opacity: 0.9;
}
.p-home__catch::after {
  top: 160px;
  right: -6%;
  width: min(48%, 320px);
  height: 180px;
  background-image: url("../images/home/catch-right.svg");
  background-position: right top;
  opacity: 0.85;
}
.p-home__catch .p-home__inner {
  z-index: 1;
  position: relative;
}

.p-home__catch-lead {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin: 0;
  padding: 10px 14px;
  gap: 0 2px;
  border-radius: 10px;
  background: #fff;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.45;
  letter-spacing: 0.02em;
}

.p-home__catch-accent,
.p-home__catch-color {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.p-home__catch-accent {
  background-image: linear-gradient(99deg, #a4c639 0%, #86cfec 100%);
}

.p-home__catch-color {
  background-image: linear-gradient(99deg, #ca6fdf 0%, #ffb6c1 100%);
}

.p-home__catch-and {
  margin: 0 2px;
}

.p-home__catch-copy {
  display: inline-block;
  margin: 10px 0 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: #fff;
  font-weight: 700;
  font-size: clamp(0.8125rem, -0.4453125rem + 3.59375vw, 2.25rem);
  line-height: 1.5;
  font-family: "LINE Seed JP", "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}

.p-home__catch-scroll {
  z-index: 1;
  position: relative;
  margin-top: 28px;
}

.p-home__catch-illust {
  box-sizing: border-box;
  position: relative;
  pointer-events: none;
}

.p-home__catch-sp-photo {
  display: block;
  width: 100%;
  height: auto;
}

.p-home__catch-photo {
  display: block;
  pointer-events: none;
}

.p-home__catch-bubble {
  box-sizing: border-box;
  display: flex;
  z-index: 3;
  position: absolute;
  align-items: center;
  justify-content: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 64px;
  height: auto;
  min-height: 52px;
  padding: 10px 14px 6px;
  /*  閉じ幅の半分を足して -50% するので、開閉とも中心が同じ点に留まる  */
  transform: translateX(calc(-50% + 32px));
  border: 0;
  background: transparent;
  color: var(--clr_text);
  pointer-events: none;
}
.p-home__catch-bubble::before {
  box-sizing: border-box;
  visibility: hidden;
  z-index: 0;
  position: absolute;
  inset: 0;
  transform: scale(0.7, 0.85);
  transform-origin: center center;
  border: 1.5px solid #1f1f1f;
  border-radius: 16px;
  background: #fff;
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-hover) var(--ease-hover), transform var(--dur-hover-slow) var(--ease-hover), visibility var(--dur-hover) var(--ease-hover);
}
.p-home__catch-bubble::after {
  visibility: hidden;
  z-index: 1;
  position: absolute;
  bottom: -6px;
  left: 50%;
  width: 12px;
  height: 12px;
  transform: translateX(-50%) rotate(45deg) scale(0.7);
  transform-origin: center center;
  border-right: 1.5px solid #1f1f1f;
  border-bottom: 1.5px solid #1f1f1f;
  background: #fff;
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-hover) var(--ease-hover), transform var(--dur-hover-slow) var(--ease-hover), visibility var(--dur-hover) var(--ease-hover);
}
.p-home__catch-bubble svg {
  display: block;
  width: 100%;
  height: 100%;
}
.p-home__catch-bubble.is-open::before {
  visibility: visible;
  transform: scale(1);
  opacity: 1;
}
.p-home__catch-bubble.is-open::after {
  visibility: visible;
  transform: translateX(-50%) rotate(45deg) scale(1);
  opacity: 1;
}
.p-home__catch-bubble.is-open .p-home__catch-bubble-face {
  visibility: hidden;
  transform: translate(-50%, -50%) scale(0.92);
  opacity: 0;
}
.p-home__catch-bubble.is-open .p-home__catch-bubble-text {
  visibility: visible;
  transform: translateY(0) scale(1);
  opacity: 1;
  transition-delay: 0.12s;
}
.p-home__catch-bubble.is-open .p-home__catch-dot {
  animation: none;
}
.p-home__catch-bubble {
  /*  img が 1 番目なので吹き出しは 2 始まり（7個）  */
}
.p-home__catch-bubble:nth-child(2) {
  top: 20.5%;
  left: 22%;
}
.p-home__catch-bubble:nth-child(3) {
  top: 24%;
  left: 36.5%;
}
.p-home__catch-bubble:nth-child(4) {
  top: 5%;
  left: 53.5%;
}
.p-home__catch-bubble:nth-child(5) {
  top: 28.5%;
  left: 50.5%;
}
.p-home__catch-bubble:nth-child(6) {
  top: 39.5%;
  left: 68.5%;
}
.p-home__catch-bubble:nth-child(7) {
  top: 44.5%;
  left: 52%;
}
.p-home__catch-bubble:nth-child(8) {
  top: 52.5%;
  left: 38.75%;
}

.p-home__catch-bubble-face {
  display: block;
  visibility: visible;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 58px;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center center;
  opacity: 1;
  pointer-events: none;
  transition: opacity var(--dur-hover) var(--ease-hover), transform var(--dur-hover-slow) var(--ease-hover), visibility var(--dur-hover) var(--ease-hover);
}

.p-home__catch-bubble-text {
  display: block;
  visibility: hidden;
  z-index: 2;
  position: relative;
  margin: 0;
  transform: translateY(6px) scale(0.96);
  transform-origin: center center;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-hover) var(--ease-hover) 0s, transform var(--dur-hover-slow) var(--ease-hover) 0s, visibility var(--dur-hover) var(--ease-hover) 0s;
}

.p-home__catch-dot {
  transform-box: fill-box;
  transform-origin: center;
  animation: catch-dot-bounce var(--dot-duration, 1.8s) ease-in-out infinite;
}
.p-home__catch-dot:nth-child(1) {
  animation-delay: var(--dot-delay, 0s);
}
.p-home__catch-dot:nth-child(2) {
  animation-delay: calc(var(--dot-delay, 0s) + 0.22s);
}
.p-home__catch-dot:nth-child(3) {
  animation-delay: calc(var(--dot-delay, 0s) + 0.44s);
}

@keyframes catch-dot-bounce {
  0%, 70%, 100% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-4px);
  }
}
/*  about
----------------------------------- */
.p-home__about {
  position: relative;
  margin-top: -40px;
  padding: 120px 0 0;
  overflow: hidden;
  border-radius: 40px 40px 0 0;
  background: var(--clr_surface);
}
.p-home__about .p-home__watermark {
  color: #fff;
  text-align: right;
}

.p-home__about-intro {
  margin-top: 20px;
}

.p-home__about-head {
  max-width: 600px;
}
.p-home__about-head h2 {
  margin: 24px 0 24px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.6;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-home__about-head h2 + p {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.8;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}

.p-home__about-people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 0;
       column-gap: 0;
  row-gap: 0;
  width: 100vw;
  max-width: none;
  margin: 24px calc(50% - 50vw) 0;
  padding: 0;
}
.p-home__about-people li {
  aspect-ratio: 1;
  overflow: visible;
}
.p-home__about-people img {
  display: block;
  aspect-ratio: 1;
  width: 100%;
  max-width: none;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home__about-logo {
  box-sizing: border-box;
  display: inline-flex;
  position: relative;
  align-items: center;
  height: 50px;
  margin: 0;
  padding: 0 12px 0 8px;
  overflow: visible;
  gap: 8px;
  border: 0;
  border-radius: 4px;
  background: #fff;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-home__about-logo span {
  padding-top: 8px;
}
.p-home__about-logo .p-home__about-logo-mark {
  flex: 0 1 auto;
  width: 215px;
  max-width: calc(100% - 72px);
  height: 25px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
.p-home__about-logo .p-home__about-logo-tail {
  position: absolute;
  top: 100%;
  left: 20px;
  width: 20px;
  max-width: none;
  height: 20px;
  transform: scaleY(-1);
}

.p-home__about-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 40px;
  /*  Figma SP: 列 gap 5 → (335 - 5) / 2 = 165  */
  gap: 10px 5px;
}
.p-home__about-stats li {
  position: relative;
  padding: 30px 10px 20px;
  border-radius: 8px;
  background: #fff;
  /*  SP: アイコンと見出しを横並びにする（Figma SP）。
      高さは中身なり。行内の高さは grid の stretch で自然に揃う  */
}
.p-home__about-stats li {
  /*  丸の色は Figma SP から画素で実測した値（SP で見えるのは 1・3・4・5 の4枚）  */
}
.p-home__about-stats li::before {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--clr_aqua); /*  #86cfec  */
  content: "";
}
.p-home__about-stats li:nth-child(2)::before {
  background: var(--clr_orange);
}
.p-home__about-stats li:nth-child(3)::before {
  background: var(--clr_yellow); /*  #ffd700  */
}
.p-home__about-stats li:nth-child(4)::before {
  background: var(--clr_pink_light); /*  #ffb6c1  */
}
.p-home__about-stats li:nth-child(5)::before {
  background: var(--clr_yellow); /*  #ffd700  */
}
.p-home__about-stats li.p-home__about-stat--campus {
  display: none;
}
.p-home__about-stats .p-home__about-stat-icon {
  display: flex;
  justify-content: center;
  width: 50px;
  margin: 0 0 10px;
}
.p-home__about-stats .p-home__about-stat-icon img {
  display: block;
  width: 50px;
  max-width: none;
  height: auto;
}
.p-home__about-stats h3 {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.4;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-home__about-stats p {
  margin: 0;
  color: var(--clr_text);
  font-weight: 400;
  font-size: 11px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}

.p-home__about-more {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.p-home__about-cta-icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--clr_text);
}
.p-home__about-cta-icon img {
  width: 16px;
  height: 12px;
  filter: invert(1);
}

/*  campuses intro
----------------------------------- */
.p-home__campuses {
  padding: 48px 0 64px;
  background: var(--clr_surface);
}
.p-home__campuses h2 {
  margin: 0 0 16px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.4;
}

.p-home__campuses-lead {
  margin: 0 0 32px;
  font-size: 14px;
  line-height: 1.8;
}

.p-home__campuses-grid {
  display: grid;
  gap: 40px;
}

.p-home__campuses-card img {
  display: block;
  aspect-ratio: 335/188;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.p-home__campuses-card h3 {
  margin: 12px 0 8px;
  font-weight: 700;
  font-size: 18px;
}
.p-home__campuses-card p {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.7;
}

.p-home__campuses-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 15px;
}
.p-home__campuses-actions .c-more {
  box-sizing: border-box;
  flex: 1 1 0;
  flex-wrap: nowrap;
  min-width: 0;
}
.p-home__campuses-actions .c-more span {
  min-width: 0;
  line-height: 1.4;
  white-space: normal;
}
.p-home__campuses-actions .c-more img {
  flex-shrink: 0;
}
.p-home__campuses-actions .c-more {
  /*  1つだけのときは伸ばさない。flex-basis を 0 のままにすると
      内容が入らない幅（約30px）まで潰れるので基準値を 160px にする  */
}
.p-home__campuses-actions .c-more:only-child {
  flex: 0 1 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-home__campuses-life {
  margin: 40px auto 0;
}

/*  department
----------------------------------- */
.p-home__department {
  padding: 48px 0 24px;
  background: #fff;
}
.p-home__department .p-home__inner {
  position: relative;
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
  /*  h2 の margin-top は inner の外へ抜ける（マージン相殺）ため、
      絶対配置の透かしの基準位置が 102px 下にずれる。padding で押し出して防ぐ  */
}
.p-home__department .p-home__watermark {
  z-index: 0;
  position: absolute;
  top: 63px;
  left: 0;
  margin: 0;
  margin-left: -31px;
  color: var(--clr_surface);
  font-size: 80px;
  line-height: 1;
  pointer-events: none;
}
.p-home__department h2 {
  z-index: 1;
  position: relative;
  /*  SP の 102px は inner の padding-top で確保している（マージン相殺対策）  */
  margin: 0 0 32px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.6;
}

.p-home__dept {
  position: relative;
  min-height: 0;
  padding: 10px;
  overflow: hidden;
  /*  Figma SP のカードは 772 / 772 / 806。中身の下端は 734 なので下だけ 38 空ける
      （内部の写真 355×219 +20・白パネル +249 は Figma と一致済み。触らない）  */
}
.p-home__dept {
  border-radius: 24px;
  background-position: center;
  background-size: cover;
}
.p-home__dept::before {
  z-index: 0;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255, 215, 0, 0.6);
  content: "";
  pointer-events: none;
  -webkit-backdrop-filter: blur(25px);
  backdrop-filter: blur(25px);
}
.p-home__dept + .p-home__dept {
  margin-top: 16px;
}

/*  スクロールでカードが重なっていくスタック演出。
    基準点（中心から上 --dept-stack-anchor）は Home.js が実測し、画面中心で sticky になる。
    奥へ回ったカードは --dept-stack-dim で黒く重なる  */
.p-home__department.is-dept-stacked {
  /*  カードに振る z-index を、このセクションの中だけで完結させる  */
  isolation: isolate;
}
.p-home__department.is-dept-stacked .p-home__dept {
  position: -webkit-sticky;
  position: sticky;
  top: var(--dept-stack-top, 0px);
  transform-origin: center calc(50% - var(--dept-stack-anchor, 0px));
  will-change: transform;
}
.p-home__department.is-dept-stacked .p-home__dept::after {
  z-index: 0;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #000;
  content: "";
  opacity: var(--dept-stack-dim, 0);
  pointer-events: none;
}

.p-home__dept--social {
  background-image: url("../images/home/dept-card-bg-01.jpg");
}
.p-home__dept--social::before {
  background: rgba(255, 215, 0, 0.6);
}
.p-home__dept--social .p-home__dept-photo::after {
  background: #ffb6c1;
}
.p-home__dept--social .p-home__dept-fields li::before {
  color: var(--clr_yellow);
}
.p-home__dept--social .p-home__dept-go {
  background: var(--clr_yellow);
}

.p-home__dept--management {
  background-image: url("../images/home/dept-card-bg-02.jpg");
}
.p-home__dept--management::before {
  background: rgba(255, 166, 0, 0.6);
}
.p-home__dept--management .p-home__dept-photo::after {
  background: var(--clr_yellow);
}
.p-home__dept--management .p-home__dept-fields li::before {
  color: var(--clr_orange);
}
.p-home__dept--management .p-home__dept-go {
  background: var(--clr_orange);
}

.p-home__dept--sports {
  background-image: url("../images/home/dept-card-bg-03.jpg");
}
.p-home__dept--sports::before {
  background: rgba(53, 169, 255, 0.6);
}
.p-home__dept--sports .p-home__dept-photo::after {
  background: var(--clr_aqua);
}
.p-home__dept--sports .p-home__dept-fields li::before {
  color: var(--clr_sky);
}
.p-home__dept--sports .p-home__dept-go {
  background: var(--clr_sky);
}

.p-home__dept-photo,
.p-home__dept-body {
  z-index: 1;
  position: relative;
}

.p-home__dept-photo {
  display: block;
  position: relative;
  aspect-ratio: 355/219;
  height: auto;
  overflow: hidden;
  border-radius: 16px;
}
.p-home__dept-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: 1.02;
}
.p-home__dept-photo::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  content: "";
  mix-blend-mode: screen;
  opacity: 0.15;
  pointer-events: none;
}

.p-home__dept--social .p-home__dept-body:has(h3 a:hover) .p-home__dept-summary,
.p-home__dept--social .p-home__dept-body:has(h3 a:focus-visible) .p-home__dept-summary {
  background-color: #fff6b8;
}

.p-home__dept--management .p-home__dept-body:has(h3 a:hover) .p-home__dept-summary,
.p-home__dept--management .p-home__dept-body:has(h3 a:focus-visible) .p-home__dept-summary {
  background-color: #ffe8c4;
}

.p-home__dept--sports .p-home__dept-body:has(h3 a:hover) .p-home__dept-summary,
.p-home__dept--sports .p-home__dept-body:has(h3 a:focus-visible) .p-home__dept-summary {
  background-color: #d7efff;
}

.p-home__dept-summary {
  position: relative;
  margin-top: 10px;
  padding: 20px 16px 24px;
  border-radius: 16px;
  background: #fff;
  transition: background-color var(--dur-hover) var(--ease-hover);
}

.p-home__dept-faculty,
.p-home__dept-fields,
.p-home__dept-campuses,
.p-home__dept-go {
  pointer-events: none;
}

.p-home__dept-faculty {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0 0 8px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--clr_text);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
}

.p-home__dept-body h3 {
  max-width: calc(100% - 48px);
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.p-home__dept-body h3 a {
  color: inherit;
}
.p-home__dept-body h3 a::after {
  z-index: 2;
  position: absolute;
  inset: 0;
  content: "";
}

.p-home__dept-fields {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 12px;
  gap: 8px 15px;
}
.p-home__dept-fields li {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  gap: 6px;
  border-radius: 4px;
  background: var(--clr_surface);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.02em;
}
.p-home__dept-fields li::before {
  flex: 0 0 auto;
  content: "#";
  color: var(--clr_yellow);
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
}

.p-home__dept-campuses {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.p-home__dept-campus {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0;
  padding: 0 12px 0 10px;
  gap: 10px;
  border: 1px solid var(--clr_text);
  border-radius: 4px;
  background: #fff;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
}
.p-home__dept-campus img {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}

.p-home__dept-go {
  display: flex;
  z-index: 1;
  position: absolute;
  top: 16px;
  right: 16px;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--clr_yellow);
  pointer-events: none;
}
.p-home__dept-go::before,
.p-home__dept-go img {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform var(--dur-hover-slow) var(--ease-hover), opacity var(--dur-hover) var(--ease-hover);
}
.p-home__dept-go::before {
  width: 16px;
  height: 12px;
  transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
  background: url("../images/common/arrow-right.svg") center/contain no-repeat;
  content: "";
  filter: brightness(0) invert(1);
  opacity: 0;
}
.p-home__dept-go img {
  width: 16px;
  height: 12px;
  transform: translate(-50%, -50%);
  filter: brightness(0) invert(1);
}

.p-home__dept-body:has(h3 a:hover) .p-home__dept-go img,
.p-home__dept-body:has(h3 a:focus-visible) .p-home__dept-go img {
  transform: translate(-50%, -50%) translate3d(220%, 0, 0);
  opacity: 0;
}
.p-home__dept-body:has(h3 a:hover) .p-home__dept-go::before,
.p-home__dept-body:has(h3 a:focus-visible) .p-home__dept-go::before {
  transform: translate(-50%, -50%);
  opacity: 1;
}

.p-home__dept-news {
  padding: 20px 8px 8px;
}
.p-home__dept-news h4 {
  display: flex;
  align-items: center;
  margin: 0 0 16px;
  gap: 10px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
}
.p-home__dept-news h4::before {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.p-home__dept-news-list {
  display: grid;
  gap: 0;
}

.p-home__dept-news-item {
  display: grid;
  padding: 12px 0;
  gap: 8px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-home__dept-news-item.is-featured {
  display: grid;
  grid-template-columns: minmax(0, 145fr) minmax(0, 180fr);
  align-items: start;
  margin-bottom: 16px;
  gap: 10px;
}
.p-home__dept-news-item:not(.is-featured) {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-top: 1px dashed #fff;
}
.p-home__dept-news-item small {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  margin-bottom: 6px;
  padding: 0 10px;
  border-radius: 4px;
  background: var(--clr_text);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
}
.p-home__dept-news-item:focus-visible .p-home__dept-news-text > span {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.p-home__dept-news-item:focus-visible .p-home__dept-news-thumb img {
  transform: scale(1.08);
}

.p-home__dept-news-text {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
}
.p-home__dept-news-text > span {
  display: -webkit-box;
  overflow: hidden;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  transition: -webkit-text-decoration-color var(--dur-hover) var(--ease-hover);
  transition: text-decoration-color var(--dur-hover) var(--ease-hover);
  transition: text-decoration-color var(--dur-hover) var(--ease-hover), -webkit-text-decoration-color var(--dur-hover) var(--ease-hover);
}

.p-home__dept-news-thumb {
  display: block;
  aspect-ratio: 145/80;
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.28);
}
.p-home__dept-news-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform var(--dur-hover-slow) var(--ease-hover);
}

.p-home__dept-news-go {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-top: 22px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: transparent;
}
.p-home__dept-news-go img {
  width: 12px;
  height: 9px;
  filter: brightness(0) invert(1);
}

/*  match
  仕様: docs/match-section-spec.md（375px / 1440px で Figma 実測値と一致）
----------------------------------- */
.p-home__match {
  position: relative;
  padding: clamp(16px, 4.27vw, 24px) 0 48px;
  overflow: visible;
  background: transparent;
  /*  背景帯。カード上端より 10px（PC は 16px）下から始まる  */
}
.p-home__match::before {
  z-index: 0;
  position: absolute;
  top: calc(clamp(20px, 5.33vw, 32px) + 10px);
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--clr_surface);
  content: "";
  pointer-events: none;
}
.p-home__match {
  /*  背景帯（::before）より前に出す。SP でも効かせないと h3 が帯に隠れる  */
}
.p-home__match .p-home__inner {
  z-index: 1;
  position: relative;
}
.p-home__match .p-home__match-label {
  box-sizing: border-box;
  display: inline-flex;
  position: relative;
  align-items: center;
  width: auto;
  /*  高さ・余白は文字サイズと同じ係数で伸ばす（375px で Figma の 28 / 8）  */
  min-height: clamp(28px, 7.47vw, 44.8px);
  margin: 0 0 clamp(20px, 5.33vw, 32px);
  padding: 0 clamp(8px, 2.13vw, 12.8px);
  border-radius: 4px;
  background: #fff;
  color: var(--clr_green);
  font-weight: 700;
  font-size: clamp(14px, 3.73vw, 22.4px);
  line-height: 1;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-home__match .p-home__match-label .p-home__match-label-tail {
  display: none;
}
.p-home__match .p-home__match-label::after {
  position: absolute;
  bottom: calc(clamp(4px, 1.07vw, 6.4px) * -1);
  left: clamp(8px, 2.13vw, 12.8px);
  width: clamp(8px, 2.13vw, 12.8px);
  height: clamp(4px, 1.07vw, 6.4px);
  background: #fff;
  content: "";
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.p-home__match h2 {
  margin: 0 0 clamp(16px, 4.27vw, 25.6px);
  color: #fff;
  font-weight: 700;
  font-size: clamp(28px, 7.47vw, 44.8px);
  line-height: 1;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-home__match h3 {
  display: flex;
  align-items: center;
  margin: 40px 0 16px;
  gap: 10px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-home__match h3::before {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--clr_green);
  content: "";
}

.p-home__match-card {
  z-index: 1;
  position: relative;
  width: calc(100% - clamp(20px, 5.33vw, 32px) * 2);
  margin-inline: auto;
  padding: clamp(112px, 30vw, 180px) clamp(16px, 4.27vw, 24px) clamp(32px, 8.53vw, 48px);
  overflow: visible;
  border-radius: 0 0 clamp(20px, 5.33vw, 32px) clamp(20px, 5.33vw, 32px);
  background-image: url("../images/home/match-noise.png");
  background-size: 160px 160px;
  background-repeat: repeat;
  background-color: var(--clr_green);
  isolation: isolate;
  color: #fff;
}
.p-home__match-card img.p-home__match-fold {
  z-index: 4;
  position: absolute;
  top: 0;
  width: 10px;
  max-width: none;
  height: 10px;
  pointer-events: none;
}

.p-home__match-fold--left {
  left: -10px;
}

.p-home__match-fold--right {
  right: -10px;
}

.p-home__match-body {
  z-index: 2;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 520px;
}

.p-home__match-coming-soon {
  font-weight: 700;
  font-size: clamp(1.25rem, 0.15625rem + 3.125vw, 2.5rem);
  letter-spacing: 0.02em;
}

img.p-home__match-illustration {
  display: block;
  z-index: 1;
  position: absolute;
  top: calc(clamp(16px, 4.27vw, 24px) * -1);
  right: clamp(16px, 4.27vw, 24px);
  width: clamp(160px, 42.67vw, 240px);
  max-width: none;
  height: auto;
  margin: 0;
  pointer-events: none;
}

.p-home__keywords {
  display: flex;
  z-index: 1;
  position: relative;
  flex-wrap: wrap;
  gap: 8px;
}
.p-home__keywords a {
  display: inline-flex;
  position: relative;
  align-items: center;
  min-height: 24px;
  padding: 2px 7px 0 24px;
  border: 1px solid var(--clr_line);
  border-radius: 12px;
  background: #fff;
  font-weight: 700;
  font-size: 11px;
  line-height: 1;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  transition: background-color var(--dur-hover) var(--ease-hover), color var(--dur-hover) var(--ease-hover), border-color var(--dur-hover) var(--ease-hover);
}
.p-home__keywords a::before {
  position: absolute;
  left: 10px;
  content: "#";
  color: var(--clr_muted);
  font-weight: 800;
  font-size: 12px;
  line-height: 1;
  transition: color var(--dur-hover) var(--ease-hover);
}
.p-home__keywords a:focus-visible {
  background: #e8f6ea;
  color: var(--clr_green);
}
.p-home__keywords a:focus-visible::before {
  color: var(--clr_green);
}

/*  voice
----------------------------------- */
.p-home__voice {
  padding: 48px 0 28px;
  overflow: hidden;
  background: #fff;
}
.p-home__voice .c-head-en {
  margin-bottom: 8px;
  font-size: clamp(2.5rem, 0.3125rem + 6.25vw, 5rem);
}
.p-home__voice .c-head-en span {
  color: var(--clr_aqua);
}

.p-home__voice-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 16px;
}

.p-home__voice-more-pc {
  display: none;
}

.p-home__voice-more-sp {
  display: inline-flex;
  align-self: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-top: 20px;
  margin-inline: auto;
}
.p-home__voice-more-sp.c-more {
  display: inline-flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}

.p-home__voice-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-scroll-snap-type: x mandatory;
  margin-right: calc(50% - 50vw);
  /*  カード列のみ全幅。controls / 一覧ボタンは .p-home__inner 内  */
  margin-left: calc(50% - 50vw);
  scroll-padding-inline: calc((100vw - (100vw - 16px) / 1.5) / 2);
          scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.p-home__voice-viewport::-webkit-scrollbar {
  display: none;
}

.p-home__voice-list {
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0;
  padding: 0 calc((100vw - (100vw - 16px) / 1.5) / 2) 12px;
  gap: 16px;
}

.p-home__voice-controls {
  display: flex;
  align-items: center;
  margin-top: 16px;
  gap: 15px;
}

.p-home__voice-prev,
.p-home__voice-next {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid var(--clr_line);
  border-radius: 50%;
  background: #fff;
  color: var(--clr_text);
  cursor: pointer;
}
.p-home__voice-prev::before,
.p-home__voice-next::before {
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 auto;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  content: "";
}
.p-home__voice-prev:disabled,
.p-home__voice-next:disabled {
  cursor: default;
  opacity: 0.35;
}

.p-home__voice-prev::before {
  transform: rotate(45deg);
}

.p-home__voice-next::before {
  transform: rotate(-135deg);
}

.p-home__voice-progress {
  flex: 1 1 auto;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--clr_line);
}
.p-home__voice-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0.2);
  transform-origin: left center;
  border-radius: inherit;
  background: var(--clr_progress);
}

.p-home__voice-card {
  --voice-blob: #30b8f1;
  --voice-tag: var(--grad_voice);
  --voice-play: #86cfec;
  display: flex;
  flex: 0 0 calc((100vw - 16px) / 1.5);
  flex-direction: column;
  min-width: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--clr_line);
  scroll-snap-align: center;
}

.p-home__voice-card:nth-child(6n+2),
.p-home__voice-card:nth-child(6n+4) {
  --voice-blob: #3cdbd6;
  --voice-tag: linear-gradient(90deg, #3cdbd6 0%, #a4c639 100%);
  --voice-play: #a4c639;
}

.p-home__voice-card:nth-child(6n+3),
.p-home__voice-card:nth-child(6n+5) {
  --voice-blob: #ca6fdf;
  --voice-tag: linear-gradient(90deg, #ca6fdf 0%, #ffb6c1 100%);
  --voice-play: #ffb6c1;
}

.p-home__voice-card:nth-child(6n) {
  --voice-blob: #fc5977;
  --voice-tag: linear-gradient(90deg, #fc5977 0%, #ffa07a 100%);
  --voice-play: #ffa07a;
}

.p-home__voice-link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
  width: 100%;
  min-height: 100%;
  color: inherit;
  text-decoration: none;
}
.p-home__voice-link:focus-visible {
  outline: 3px solid #1b7f31;
  outline-offset: 3px;
}
.p-home__voice-link:focus-visible .p-home__voice-play {
  background: var(--voice-play, #86cfec);
  color: #fff;
}
.p-home__voice-link:focus-visible .p-home__voice-play .p-home__voice-play-icon {
  background-color: #fff;
}

.p-home__voice-media {
  position: relative;
  width: 100%;
  height: 426px;
  margin: 0 0 20px;
  isolation: isolate;
  /*  SP も PC と同じ 400×426 を描き、カード幅へ縮小するだけ。マスク座標は変えない  */
}

.p-home__voice-blob {
  z-index: 0;
  position: absolute;
  top: 44px;
  left: 0;
  width: 100%;
  height: 382px;
  background-color: var(--voice-blob);
  -webkit-mask: url("../images/home/voice-blob.svg") center/contain no-repeat;
  mask: url("../images/home/voice-blob.svg") center/contain no-repeat;
  pointer-events: none;
}

.p-home__voice-photo {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 40px;
  width: 320px;
  height: 426px;
  overflow: hidden;
  border-radius: 8px;
}
.p-home__voice-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  border-radius: 8px;
  -webkit-mask-image: linear-gradient(#000, #000), url("../images/home/voice-blob.svg");
  -webkit-mask-size: 100% 166px, 400px 382px;
  -webkit-mask-position: 0 0, -40px 44px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: source-over;
  mask-image: linear-gradient(#000, #000), url("../images/home/voice-blob.svg");
  mask-position: 0 0, -40px 44px;
  mask-repeat: no-repeat;
  mask-size: 100% 166px, 400px 382px;
  -webkit-mask-composite: source-over;
          mask-composite: add;
}

.p-home__voice-course,
.p-home__voice-name {
  box-sizing: border-box;
  display: inline-flex;
  z-index: 2;
  position: absolute;
  left: 0;
  align-items: center;
  min-height: 30px;
  margin: 0;
  padding: 0 12px;
  border-radius: 4px;
  background: var(--voice-tag, var(--grad_voice));
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-home__voice-course {
  top: 361px;
}

.p-home__voice-name {
  top: 396px;
}

.p-home__voice-message {
  margin: 0 0 auto;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}

.p-home__voice-play {
  display: flex;
  align-items: center;
  align-self: flex-end;
  justify-content: flex-end;
  width: auto;
  max-width: 100%;
  margin: 10px 0 0;
  padding: 4px 8px;
  gap: 6px;
  border-radius: 999px;
  background: transparent;
  color: var(--voice-play, #86cfec);
  font-weight: 800;
  font-size: 12px;
  line-height: 1.5;
  font-family: var(--ff-en);
  letter-spacing: 0.02em;
  transition: color var(--dur-hover) var(--ease-hover), background-color var(--dur-hover) var(--ease-hover);
}

.p-home__voice-play-icon {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  background-color: var(--voice-play, #86cfec);
  -webkit-mask: url("../images/home/icon-play.svg") center/contain no-repeat;
  mask: url("../images/home/icon-play.svg") center/contain no-repeat;
}

/*  campus
----------------------------------- */
.p-home__campus {
  padding: 64px 0 80px;
  background: #fff;
}
.p-home__campus .c-head-en {
  margin-bottom: 3px;
  font-size: clamp(2.5rem, 0.3125rem + 6.25vw, 5rem);
}
.p-home__campus .c-head-dot {
  margin: 0 0 32px;
  font-size: 15px;
}

.p-home__instagram::before, .p-home__campus-cards a::before, .p-home__instagram::after, .p-home__campus-cards a::after {
  z-index: 0;
  position: absolute;
  width: 143px;
  height: 96px;
  background: url("../images/home/campuslife-wave.svg") center/contain no-repeat;
  content: "";
  pointer-events: none;
}
.p-home__instagram::before, .p-home__campus-cards a::before {
  top: -59px;
  left: -55px;
}
.p-home__instagram::after, .p-home__campus-cards a::after {
  top: 93px;
  left: 42px;
}

.p-home__campus-cards {
  display: contents;
}
.p-home__campus-cards li:nth-child(1) a > img {
  top: 80px;
  width: 40px;
  height: 48px;
}
.p-home__campus-cards li:nth-child(2) a > img {
  top: 80px;
  width: 50px;
  height: 40px;
}
.p-home__campus-cards li:nth-child(3) a > img {
  top: 80px;
  width: 32px;
  height: 47px;
}
.p-home__campus-cards a {
  display: block;
  position: relative;
  aspect-ratio: 165/170;
  height: auto;
  overflow: hidden;
  border-radius: 8px;
  background-image: url("../images/home/campuslife-card-deco.svg");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-color: var(--clr_surface_alt);
  transition: box-shadow var(--dur-hover) var(--ease-hover);
}
.p-home__campus-cards a:focus-visible {
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
}
.p-home__campus-cards a:focus-visible > span:not(.p-home__campus-go) {
  color: var(--clr_aqua);
}
.p-home__campus-cards a:focus-visible .p-home__campus-go img {
  transform: translate(-50%, -50%) translate3d(220%, 0, 0);
  opacity: 0;
}
.p-home__campus-cards a:focus-visible .p-home__campus-go::before {
  transform: translate(-50%, -50%);
  opacity: 1;
}
.p-home__campus-cards a > span:not(.p-home__campus-go) {
  display: block;
  z-index: 1;
  position: relative;
  padding: 40px 4px 0;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  text-align: center;
  transition: color var(--dur-hover) var(--ease-hover);
}
.p-home__campus-cards a > img {
  z-index: 1;
  position: absolute;
  left: 50%;
  -o-object-fit: contain;
     object-fit: contain;
  transform: translateX(-50%);
}

.p-home__campus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.p-home__campus-go {
  display: flex;
  z-index: 2;
  position: absolute;
  right: 8px;
  bottom: 8px;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}
.p-home__campus-go::before,
.p-home__campus-go img {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform var(--dur-hover-slow) var(--ease-hover), opacity var(--dur-hover) var(--ease-hover);
}
.p-home__campus-go::before {
  width: 12px;
  height: 9px;
  transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
  background: url("../images/common/arrow-right.svg") center/contain no-repeat;
  content: "";
  opacity: 0;
}
.p-home__campus-go img {
  width: 12px;
  height: 9px;
  transform: translate(-50%, -50%);
}

.p-home__instagram {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  aspect-ratio: 165/170;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 36px 12px 12px;
  overflow: hidden;
  gap: 8px;
  border-radius: 8px;
  background-image: url("../images/home/campuslife-card-deco.svg");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-color: var(--clr_surface);
  color: var(--clr_text);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  text-align: center;
}
.p-home__instagram > * {
  z-index: 1;
  position: relative;
}
.p-home__instagram > img {
  width: 30px;
  height: 30px;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-home__instagram span:not(.p-home__instagram-arrow) {
  display: block;
  transition: color var(--dur-hover) var(--ease-hover);
}
.p-home__instagram {
  transition: box-shadow var(--dur-hover) var(--ease-hover);
}
.p-home__instagram:focus-visible {
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
}
.p-home__instagram:focus-visible span:not(.p-home__instagram-arrow) {
  color: var(--clr_aqua);
}
.p-home__instagram:focus-visible .p-home__instagram-arrow img {
  transform: translate(-50%, -50%) translate3d(220%, 0, 0);
  opacity: 0;
}
.p-home__instagram:focus-visible .p-home__instagram-arrow::before {
  transform: translate(-50%, -50%);
  opacity: 1;
}

.p-home__instagram-arrow {
  display: flex;
  z-index: 2;
  position: absolute;
  right: 8px;
  bottom: 8px;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}
.p-home__instagram-arrow::before,
.p-home__instagram-arrow img {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform var(--dur-hover-slow) var(--ease-hover), opacity var(--dur-hover) var(--ease-hover);
}
.p-home__instagram-arrow::before {
  width: 12px;
  height: 9px;
  transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
  background: url("../images/common/arrow-right.svg") center/contain no-repeat;
  content: "";
  opacity: 0;
}
.p-home__instagram-arrow img {
  width: 12px;
  height: 9px;
  transform: translate(-50%, -50%);
}

/*  open campus lower
----------------------------------- */
.p-home__opencampus {
  position: relative;
  height: auto;
  overflow: hidden;
  color: #fff;
  /*  Figma 1674:4480: 二重丸は 25% 白の塗り（stroke 輪郭ではない）  */
}
.p-home__opencampus .c-head-dot__dots circle,
.p-home__opencampus .c-head-dot__dots ellipse,
.p-home__opencampus .c-head-dot__dots path {
  fill: currentColor;
  stroke: none;
}
.p-home__opencampus {
  /*  375px 幅前提の合成画像。768px 以上へ伸ばすと写真とストライプの構図が壊れるので 768px 未満に閉じる  */
}
.p-home__opencampus .p-home__opencampus-bg {
  display: none;
  pointer-events: none;
}
.p-home__opencampus .p-home__opencampus-bg-stripe--left {
  left: -3.2639%;
}
.p-home__opencampus .p-home__opencampus-bg-stripe--right {
  left: 50.7639%;
}
.p-home__opencampus .p-home__opencampus-bg-stripe--top {
  top: -24px;
}
.p-home__opencampus .p-home__opencampus-bg-stripe--bottom {
  bottom: 0;
}
.p-home__opencampus .p-home__inner {
  display: flex;
  z-index: 1;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  height: auto;
  padding-top: 100px;
  /*  Figma SP 1131:5656 — 帯下端まで 80。JPG 下端に合わせて余分な下帯を出さない  */
  padding-bottom: 64px;
}
.p-home__opencampus .c-head-en {
  /*  EN→JA = 15（Figma SP）。2行高さ ≈68（40×0.856×2）  */
  margin: 0 0 15px;
  color: #fff;
  font-size: clamp(2.5rem, 0.3125rem + 6.25vw, 5rem);
}
.p-home__opencampus .c-head-dot {
  --head-dot-size: 12px;
  --head-dot-lap: 5px;
  margin: 0 0 40px;
  color: #fff;
  font-size: 15px;
}
.p-home__opencampus .c-head-dot .c-head-dot__text {
  padding-left: 6px;
}
.p-home__opencampus .p-home__oc-campuses {
  width: 100%;
  max-width: 100%;
  margin-bottom: 0;
}
.p-home__opencampus .p-home__oc-campus {
  width: 100%;
  max-width: 100%;
}
.p-home__opencampus .c-more {
  margin: 24px 0 0;
}

/*  career / audience / international
----------------------------------- */
.p-home__career-area {
  position: relative;
  background-color: #fff;
  isolation: isolate;
}
.p-home__career-area::before {
  z-index: 0;
  position: absolute;
  inset: 0;
  background-image: url("../images/home/career-bg_S.png");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  mix-blend-mode: exclusion;
  pointer-events: none;
}
.p-home__career-area > * {
  z-index: 1;
  position: relative;
}

.p-home__career {
  padding: 80px 0 30px;
}
.p-home__career .c-head-en {
  margin-bottom: 8px;
  color: var(--clr_text);
  font-size: clamp(2.5rem, 0.3125rem + 6.25vw, 5rem);
  line-height: 1;
}
.p-home__career .c-head-dot {
  margin: 0;
  font-size: 15px;
}

.p-home__career-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 41px;
  gap: 10px 5px;
}
.p-home__career-cards a {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  aspect-ratio: 165/102;
  height: auto;
  padding: 20px 10px 10px;
  border: 1px solid var(--clr_text);
  border-radius: 8px;
  background: #fff;
  color: var(--clr_text);
  transition: color var(--dur-hover) var(--ease-hover), background-color var(--dur-hover) var(--ease-hover);
}
.p-home__career-cards a:focus-visible {
  background: var(--clr_green);
  color: #fff;
}
.p-home__career-cards a:focus-visible .p-home__career-go {
  background: #fff;
}
.p-home__career-cards a:focus-visible .p-home__career-go img {
  filter: none;
}
.p-home__career-cards span:not(.p-home__career-go) {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.p-home__career-go {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  align-self: flex-end;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--clr_text);
  transition: background-color var(--dur-hover) var(--ease-hover);
}
.p-home__career-go img {
  width: 10px;
  height: 8px;
  filter: brightness(0) invert(1);
  transition: filter var(--dur-hover) var(--ease-hover);
}

.p-home__audience {
  padding: 0 0 30px;
}
.p-home__audience .p-home__inner {
  padding: 10px;
  border-radius: 8px;
  background: #f1f2f4;
}
.p-home__audience ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 5px;
}
.p-home__audience a {
  box-sizing: border-box;
  display: block;
  position: relative;
  border-radius: 8px;
  background: #fff;
  color: var(--clr_text);
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: color var(--dur-hover) var(--ease-hover), background-color var(--dur-hover) var(--ease-hover);
}
.p-home__audience a::before {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d9d9d9;
  content: "";
}
.p-home__audience a img {
  position: absolute;
  width: 12px;
  height: 9px;
  margin: 0;
  transition: filter var(--dur-hover) var(--ease-hover);
}
.p-home__audience a {
  /*  Figma 1137:5921 — 155×71。文字+ドットは上、矢印は右下  */
}
.p-home__audience a:focus-visible {
  background-color: var(--clr_green);
  color: #fff;
}
.p-home__audience a:focus-visible img {
  filter: brightness(0) invert(1);
}

.p-home__international {
  padding: 0 0 80px;
}

.p-home__international-card {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--clr_text);
  border-radius: 8px;
  background-color: #fff;
  transition: var(--transition);
  transition-property: background-color;
}
.p-home__international-card:focus-visible {
  background-color: var(--clr_green);
}
.p-home__international-card:focus-visible .p-home__international-body {
  color: #fff;
}
.p-home__international-card:focus-visible .p-home__international-go {
  border-color: var(--clr_green);
}
.p-home__international-card:focus-visible .p-home__international-go img {
  transform: translate(-50%, -50%) translate3d(220%, 0, 0);
  opacity: 0;
}
.p-home__international-card:focus-visible .p-home__international-go::before {
  transform: translate(-50%, -50%);
  opacity: 1;
}

.p-home__international-photo {
  display: block;
  aspect-ratio: 333/112;
  height: auto;
  overflow: hidden;
}
.p-home__international-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home__international-body {
  display: flex;
  position: relative;
  flex-direction: column;
  min-height: 0;
  padding: 16px 52px 16px 16px;
  gap: 10px;
  color: var(--clr_text);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  transition: var(--transition);
  transition-property: color;
}

.p-home__international-title {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-home__international-go {
  display: flex;
  position: absolute;
  right: 20px;
  bottom: 20px;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  overflow: hidden;
  border: 1px solid var(--clr_text);
  border-radius: 50%;
  background: #fff;
  transition: background-color var(--dur-hover) var(--ease-hover), border-color var(--dur-hover) var(--ease-hover);
}
.p-home__international-go::before,
.p-home__international-go img {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform var(--dur-hover-slow) var(--ease-hover), opacity var(--dur-hover-slow) var(--ease-hover), filter var(--dur-hover) var(--ease-hover);
}
.p-home__international-go::before {
  width: 10px;
  height: 8px;
  transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
  background: url("../images/common/arrow-right.svg") center/contain no-repeat;
  content: "";
  opacity: 0;
}
.p-home__international-go img {
  width: 10px;
  height: 8px;
  transform: translate(-50%, -50%);
}

.p-dept {
  --dept-accent: var(--clr_sky);
  --dept-accent-soft: var(--clr_aqua);
  --dept-overlay: rgb(53 169 255 / 0.6);
  --dept-chip: var(--clr_sky);
  --dept-dot: var(--clr_aqua);
  margin-top: var(--size-header-h);
  background: #fff;
  color: var(--clr_text);
  font-family: "IBM Plex Sans JP", var(--ff-body);
}
.p-dept img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.p-dept ul {
  list-style: none;
}

.p-dept--management {
  --dept-accent: #ff9d26;
  --dept-accent-soft: #ffd700;
  --dept-overlay: rgb(255 166 0 / 0.6);
  --dept-chip: #ff9d26;
  --dept-dot: var(--clr_peach);
  --dept-blob-01: url('../images/department/management/band-blob-01.svg');
  --dept-blob-02: url('../images/department/management/band-blob-02.svg');
  --dept-quote-from: #ff9d26;
  --dept-quote-to: #ffd700;
}

.p-dept--social {
  --dept-accent: var(--clr_yellow);
  --dept-accent-text: #ebb000;
  --dept-accent-ink: var(--clr_text);
  --dept-accent-soft: #ffe766;
  --dept-overlay: rgb(255 215 0 / 0.6);
  --dept-chip: var(--clr_yellow);
  --dept-dot: var(--clr_yellow);
  --dept-quote-from: #ffd700;
  --dept-quote-to: #ffe766;
}

.p-dept__inner {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}

.p-dept__head {
  margin-bottom: 40px;
}
.p-dept__head .p-dept__head-ja {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: clamp(2rem, 1.125rem + 2.5vw, 3rem);
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-dept__head .c-head-dot.p-dept__head-en {
  font-weight: 800;
  font-size: clamp(0.9375rem, 0.6640625rem + 0.78125vw, 1.25rem);
  line-height: 1.5;
  font-family: var(--ff-en);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.p-dept__head .c-head-dot.p-dept__head-en.-white {
  --head-dot-color: #fff;
}
.p-dept__head .c-head-dot.p-dept__head-en.-en-accent {
  color: var(--dept-accent);
}
.p-dept__head .c-head-dot.p-dept__head-en.-en-text {
  color: var(--clr_text);
}

.p-dept--social .p-dept__attraction .p-dept__head .c-head-dot.p-dept__head-en {
  color: var(--dept-accent-text);
}

.p-dept__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 20px;
  padding: 10px 24px;
  border-radius: 24px;
  background: var(--dept-chip);
  color: #fff;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
}

.p-dept__subhead {
  display: flex;
  align-items: center;
  margin: 40px 0 20px;
  gap: 12px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__subhead::before {
  flex: 0 0 6px;
  align-self: stretch;
  width: 6px;
  border-radius: 2px;
  background: var(--dept-accent);
  content: "";
}

.p-dept__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}
.p-dept__more-wrap .c-more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}

.p-dept__hero {
  position: relative;
  color: #fff;
}

.p-dept__hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.p-dept__hero-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-dept__hero-bg::after {
  position: absolute;
  inset: 0;
  background: var(--dept-overlay);
  content: "";
  -webkit-backdrop-filter: blur(25px);
          backdrop-filter: blur(25px);
}

.p-dept .p-home__news-list {
  margin-top: 32px;
}

.p-dept .p-home__news-more {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}
.p-dept .p-home__news-more .c-more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}

.p-dept .p-home__voice-viewport {
  /*  カードは photo 320px + left 40px を前提にした固定400px設計のため縮められない。
      1280pxのトラック（400x3 + gap40x2）が1200レールから左右40pxはみ出す前提も含めて
      収まりきる幅でだけ overflow を解放する。それ未満は横スクロールで逃がす  */
}

.p-dept .p-home__voice-card {
  min-width: 0;
}

.p-dept .p-home__voice-photo img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.p-dept__hero-inner {
  display: grid;
  z-index: 1;
  position: relative;
  padding: 40px 20px 40px;
  gap: 24px;
}

.p-dept__hero-copy {
  z-index: 1;
  position: relative;
}

.p-dept__hero-faculty {
  display: inline-flex;
  align-items: center;
  margin: 0 0 16px;
  border-radius: 30px;
  background: var(--clr_text);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.p-dept__hero-title {
  margin: 0 0 16px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.p-dept--social .p-dept__hero-title {
  color: var(--clr_default);
}

.p-dept__hero-tags {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 12px;
  gap: 8px;
}
.p-dept__hero-tags li {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--dept-accent);
  border-radius: 4px;
  background: var(--clr_surface);
  /*  Figma: タグ文字は学科共通で標準色。`#` アイコンだけ学科カラーを残す  */
  color: var(--clr_text);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.02em;
}
.p-dept__hero-tags li img {
  width: 10px;
  padding-bottom: 4px;
}

.p-dept__hero-campuses {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 24px;
  padding: 0;
  gap: 8px;
}

.p-dept__hero-campus {
  display: inline-flex;
  align-items: center;
  margin: 0 0 24px;
  gap: 6px;
  border: 1px solid var(--clr_text);
  border-radius: 4px;
  background: #fff;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
}
.p-dept__hero-campus img {
  width: 15px;
}

.p-dept__hero-campuses .p-dept__hero-campus {
  margin: 0;
}

.p-dept__hero-catch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.p-dept__hero-catch p {
  display: inline-block;
  margin: 0;
  border-radius: 4px;
  background: #fff;
  color: var(--clr_text);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.p-dept__hero-catch p.-accent {
  color: var(--dept-accent);
}
.p-dept__hero-catch em {
  color: var(--dept-accent);
  font-style: normal;
}

.p-dept__hero-photo {
  height: 100%;
  margin: 0;
  overflow: hidden;
}
.p-dept__hero-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 45% 40%;
     object-position: 45% 40%;
}

.p-dept__toc {
  display: flex;
  z-index: calc(var(--z-header) - 20);
  position: fixed;
  top: calc(var(--size-header-h) + 80px);
  right: 0;
  align-items: flex-start;
  --dept-toc-panel-w: 225px;
}

.p-dept__toc-tab {
  display: flex;
  z-index: 2;
  position: relative;
  flex-direction: column;
  align-items: center;
  align-self: start;
  justify-content: center;
  width: 40px;
  padding: 20px 0 16px;
  gap: 8px;
  border: 0;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.05);
  cursor: pointer;
}
.p-dept__toc-tab:focus-visible {
  outline: 2px solid var(--clr_primary);
  outline-offset: 2px;
}

.p-dept__toc-tab-chevron {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  margin-bottom: 2px;
  transform: rotate(135deg) translateX(-2px);
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transition: transform 0.2s ease;
}

.p-dept__toc.is-open .p-dept__toc-tab-chevron {
  transform: rotate(-45deg) translateX(2px);
}

.p-dept__toc-tab-label {
  -webkit-writing-mode: vertical-rl;
  max-height: 9em;
  overflow: hidden;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.2em;
  text-overflow: ellipsis;
          writing-mode: vertical-rl;
}

.p-dept__toc-panel {
  visibility: hidden;
  z-index: 1;
  position: relative;
  max-height: calc(100vh - var(--size-header-h) - 32px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateX(12px);
  background: #fff;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.05);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.p-dept__toc.is-open .p-dept__toc-panel {
  visibility: visible;
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.p-dept__toc.is-reduced-motion,
.p-dept__toc.is-reduced-motion .p-dept__toc-panel,
.p-dept__toc.is-reduced-motion .p-dept__toc-tab-chevron {
  transition: none;
}

.p-dept__toc-list {
  margin: 0;
  padding: 0;
}
.p-dept__toc-list li {
  border-bottom: 1px solid var(--clr_line);
}
.p-dept__toc-list li:last-child {
  border-bottom: 0;
}
.p-dept__toc-list li:last-child > a {
  min-height: 60px;
}
.p-dept__toc-list a {
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 8px minmax(0, 1fr) 12px;
  min-height: 59px;
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 2px;
  align-content: center;
  padding: 16px 32px 8px 20px;
  color: var(--clr_text);
  text-decoration: none;
}
.p-dept__toc-list a:focus-visible {
  outline: 2px solid var(--clr_primary);
  outline-offset: -2px;
}
.p-dept__toc-list a::before {
  grid-row: 1;
  grid-column: 1;
  align-self: center;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--clr_line);
  content: "";
  transition: background-color 0.2s ease;
}
.p-dept__toc-list a::after {
  box-sizing: border-box;
  grid-row: 1/-1;
  grid-column: 3;
  align-self: center;
  justify-self: end;
  width: 12px;
  height: 7px;
  border: 0;
  background: none;
  background-color: var(--clr_muted);
  content: "";
  -webkit-clip-path: polygon(0 0, 6px 5px, 12px 0, 12px 2px, 6px 7px, 0 2px);
  transform: none;
          clip-path: polygon(0 0, 6px 5px, 12px 0, 12px 2px, 6px 7px, 0 2px);
}
.p-dept__toc-list a.is-active {
  background: var(--clr_surface_alt);
}
.p-dept__toc-list a.is-active::before {
  background: var(--dept-accent);
}

.p-dept__toc-ja {
  display: block;
  grid-row: 1;
  grid-column: 2;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.p-dept .p-dept__toc-en {
  display: block;
  grid-row: 2;
  grid-column: 2;
  min-width: 0;
  color: var(--clr_line);
  font-weight: 800;
  font-size: 11px;
  line-height: 1.5;
  font-family: var(--ff-en);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.p-dept__crumb {
  padding: 16px 0 24px;
}
.p-dept__crumb ol {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 8px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
  list-style: none;
}
.p-dept__crumb li:not(:last-child)::after {
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-left: 8px;
  border-radius: 50%;
  background: var(--clr_text);
  content: "";
  vertical-align: middle;
}
.p-dept__crumb a {
  color: var(--clr_text);
}
.p-dept__crumb li:last-child {
  color: var(--dept-accent-ink, var(--dept-accent));
}

.p-dept__vision {
  padding-block: 40px 60px;
}

.p-dept__vision .p-dept__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 36px;
  margin: 0 0 20px;
  padding: 4px 16px 0;
  border-radius: 30px;
  font-weight: 700;
  font-size: clamp(0.9375rem, 0.6640625rem + 0.78125vw, 1.25rem);
}

.p-dept__vision-grid {
  display: grid;
  gap: 24px;
}
.p-dept__vision-grid h2 {
  margin: 0;
  font-weight: 700;
  font-size: clamp(1.75rem, 1.3125rem + 1.25vw, 2.25rem);
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.p-dept__vision-grid p {
  margin: 0;
  font-weight: 700;
  font-size: clamp(0.9375rem, 0.6640625rem + 0.78125vw, 1.25rem);
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-dept__attraction {
  padding-block: 80px;
  background: var(--clr_surface_alt);
}

.p-dept__attract-cards {
  display: grid;
  margin: 0 auto;
  padding: 0;
  gap: 20px;
}
.p-dept__attract-cards li {
  padding: 20px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.p-dept__attract-cards figure {
  aspect-ratio: 275/170;
  margin: 0 0 16px;
  overflow: hidden;
  border-radius: 8px;
}
.p-dept__attract-cards img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-dept__attract-cards h3 {
  display: flex;
  align-items: flex-start;
  margin: 0 0 12px;
  gap: 8px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.p-dept__attract-cards h3 span {
  min-width: 0;
}
.p-dept__attract-cards p {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.p-dept__strip-area {
  position: relative;
  width: 100vw;
  margin: 40px calc(50% - 50vw) 0;
  background: linear-gradient(#eee 1px, transparent 1px), linear-gradient(90deg, #eee 1px, transparent 1px);
  background-size: 68px 68px;
  background-color: #fff;
}

.p-dept__strip {
  z-index: 1;
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  overflow: hidden;
}

.p-dept__strip-track {
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  animation: p-dept-strip-scroll var(--dept-strip-duration, 50s) linear infinite;
}

.p-dept__strip-list {
  box-sizing: border-box;
  display: flex;
  margin: 0;
  padding: 0 20px 0 0;
  gap: 20px;
  list-style: none;
}
.p-dept__strip-list li {
  flex: 0 0 auto;
}
.p-dept__strip-list img {
  display: block;
  max-width: none;
  -o-object-fit: cover;
  aspect-ratio: 1/1;
  height: auto;
     object-fit: cover;
  border-radius: 8px;
}

.p-dept__strip--fields {
  position: relative;
  top: 0;
  width: 100%;
  overflow: hidden;
}
.p-dept__strip--fields .p-dept__strip-list img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

@keyframes p-dept-strip-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.p-dept__pillars {
  z-index: 2;
  position: absolute;
  left: 50%;
  width: min(92%, 640px);
  margin: 0;
  padding: 0;
  transform: translateX(-50%);
  background: none;
  pointer-events: none;
}
.p-dept__pillars img {
  display: block;
  width: 100%;
  height: auto;
}

.p-dept__courses {
  padding: 60px 0 80px;
  background: var(--clr_surface);
}

.p-dept__course {
  margin-bottom: 16px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--dept-accent);
}

.p-dept__course-head {
  display: grid;
  padding: 16px 20px;
  gap: 8px;
  color: #fff;
}

.p-dept__course-name {
  margin: 0;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__course-blurb {
  margin: 0;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__course-body {
  margin: 0 16px 16px;
  padding: 24px 16px 20px;
  border-radius: 0 0 8px 8px;
  background: #fff;
}
.p-dept__course-body > p:not(.p-dept__course-lead):not(.p-dept__course-points-label):not(.p-dept__course-arrow):not(.p-dept__course-quote) {
  margin: 0 0 16px;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.p-dept__course-body em {
  color: var(--dept-accent);
  font-style: normal;
}
.p-dept__course-body > .p-dept__ig {
  margin-top: 16px;
}

.p-dept__course-lead {
  position: relative;
  margin: 0 0 20px;
  padding-bottom: 10px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__course-lead::after {
  position: absolute;
  height: 4px;
  inset: auto 0 0;
  background-image: radial-gradient(circle at 2px 2px, var(--clr_text) 2px, transparent 2px);
  background-size: 9px 4px;
  background-repeat: repeat-x;
  content: "";
}
.p-dept__course-lead em {
  color: var(--dept-accent);
  font-style: normal;
}

.p-dept__course-split {
  display: grid;
  margin: 0 0 16px;
  gap: 12px;
}
.p-dept__course-split > p:not(.p-dept__course-lead),
.p-dept__course-split > ul {
  align-self: center;
  margin: 0;
}
.p-dept__course-split ul {
  padding: 0;
  list-style: none;
}
.p-dept__course-split li {
  margin: 0;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.p-dept__course-split > p:not(.p-dept__course-lead) {
  font-weight: 500;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.p-dept__course-split figure {
  margin: 0;
}
.p-dept__course-split img {
  aspect-ratio: 290/179;
  width: 100%;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-dept__course-gallery {
  margin: 16px 0 0;
}
.p-dept__course-gallery img {
  width: 100%;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-dept__course-gallery.-tiles {
  display: grid;
  gap: 12px;
}
.p-dept__course-gallery.-tiles img {
  aspect-ratio: 1/1;
}
.p-dept__course-gallery.-strip {
  display: grid;
  gap: 12px;
}
.p-dept__course-gallery.-strip img {
  aspect-ratio: 254.6/157;
}
.p-dept__course-gallery.-grid {
  display: grid;
  gap: 12px;
}
.p-dept__course-gallery.-grid img {
  box-sizing: border-box;
  aspect-ratio: 530/330;
  width: 100%;
  padding: 6% 4%;
  background: var(--clr_surface);
  -o-object-fit: contain;
     object-fit: contain;
}
.p-dept__course-gallery {
  /*  Figma 1607:4480 — 写真 530x220 を横2列（gap 20px）  */
}
.p-dept__course-gallery.-pair {
  display: grid;
  gap: 12px;
}
.p-dept__course-gallery.-pair img {
  aspect-ratio: 530/220;
}

.p-dept__course-points-label {
  display: flex;
  align-items: center;
  margin: 20px 0 12px;
  gap: 10px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__course-lead + .p-dept__course-points-label {
  margin-top: 0;
}
.p-dept__course-points-label::before {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dept-accent);
  content: "";
}

.p-dept__course-points {
  display: grid;
  margin: 0 0 16px;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.p-dept__course-points li {
  display: grid;
  grid-template-columns: 50px 1fr;
  align-items: start;
  padding: 20px 12px;
  gap: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px var(--clr_line);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__course-points span {
  color: var(--dept-accent);
  font-weight: 800;
  font-size: 20px;
  line-height: 1.5;
  font-family: var(--ff-en);
}
.p-dept__course-points.-stacked li > div p {
  margin: 10px 0 0;
  color: var(--clr_text);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__course-points.-stacked strong {
  display: block;
  color: var(--dept-accent);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__course-arrow {
  margin: 20px 0 0;
  text-align: center;
}
.p-dept__course-arrow img {
  display: inline-block;
  width: 50px;
  height: auto;
}

.p-dept__course-quote {
  position: relative;
  margin: 12px 0 0;
  padding: 20px 16px;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--dept-quote-from, var(--clr_sky)) 0%, var(--dept-quote-to, #005eff) 100%);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.02em;
  text-align: center;
}
.p-dept__course-quote::before, .p-dept__course-quote::after {
  position: absolute;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-dept__course-quote::before {
  top: -21px;
  left: -11px;
  width: 89px;
  height: 60px;
  background-image: var(--dept-blob-01, url("../images/department/sports/band-blob-01.svg"));
}
.p-dept__course-quote::after {
  right: -19px;
  bottom: -43px;
  width: 121px;
  height: 82px;
  background-image: var(--dept-blob-02, url("../images/department/sports/band-blob-02.svg"));
}
.p-dept__course-quote > span:not(.p-dept__course-quote-main):not(.p-dept__course-quote-caret) {
  display: block;
  z-index: 1;
  position: relative;
  margin: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.p-dept__course-quote-main {
  display: block;
  z-index: 1;
  position: relative;
  margin: 0;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.p-dept__course-quote-main + .p-dept__course-quote-main {
  margin-top: 5px;
}
.p-dept__course-quote-main + span:not(.p-dept__course-quote-main):not(.p-dept__course-quote-caret) {
  margin-top: 10px;
}
.p-dept__course-quote-caret {
  display: block;
  width: 0;
  height: 0;
  margin: 10px auto;
  border-top: 10px solid rgba(255, 255, 255, 0.9);
  border-right: 12.5px solid transparent;
  border-left: 12.5px solid transparent;
}
.p-dept__course-quote mark {
  background: linear-gradient(rgba(255, 255, 255, 0.33), rgba(255, 255, 255, 0.33)) 0 100%/100% 13px no-repeat;
  color: inherit;
}
.p-dept__course-quote + .p-dept__course-gallery {
  margin-top: 16px;
}

.p-dept__course-skills,
.p-dept__course-cases {
  display: grid;
  margin: 12px 0 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.p-dept__course-cases li {
  padding: 20px;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px var(--clr_line);
}
.p-dept__course-cases strong,
.p-dept__course-cases span,
.p-dept__course-cases p {
  display: block;
  margin: 0;
  letter-spacing: 0.02em;
}
.p-dept__course-cases strong {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}
.p-dept__course-cases span {
  margin-top: 2px;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
}
.p-dept__course-cases p {
  margin-top: 15px;
  color: var(--clr_text);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
}
.p-dept__course-skills li {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px var(--clr_line);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
}

.p-dept__ig {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  gap: 10px;
  border-radius: 8px;
  background: var(--clr_surface_alt);
  color: var(--clr_text);
  font-weight: 700;
  font-size: 13px;
}
.p-dept__ig img {
  width: 24px;
}

.p-dept--sports .p-dept__ig-banner {
  box-sizing: border-box;
  display: flex;
  position: relative;
  align-items: center;
  width: 100%;
  min-height: 100px;
  margin-top: 40px;
  padding: 20px 20px 20px 24px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  isolation: isolate;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  text-decoration: none;
}

.p-dept--sports .p-dept__ig-banner-deco {
  z-index: -1;
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-dept--sports .p-dept__ig-banner-deco img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-dept--sports .p-dept__ig-banner-icon {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  margin-right: 12px;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-dept--sports .p-dept__ig-banner-text {
  flex: 1 1 auto;
  min-width: 0;
  transition: color var(--dur-hover) var(--ease-hover);
}

.p-dept--sports .p-dept__ig-banner-arrow {
  display: grid;
  position: relative;
  flex: 0 0 auto;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-left: 12px;
  overflow: hidden;
  border-radius: 50%;
  background: #f1f1e9;
}
.p-dept--sports .p-dept__ig-banner-arrow {
  /*  円は固定。矢印グリフだけ TOP と同じスライド  */
}
.p-dept--sports .p-dept__ig-banner-arrow::before,
.p-dept--sports .p-dept__ig-banner-arrow img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 9px;
  transition: transform var(--dur-hover-slow) var(--ease-hover), opacity var(--dur-hover) var(--ease-hover);
}
.p-dept--sports .p-dept__ig-banner-arrow::before {
  transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
  background: url("../images/common/arrow-right.svg") center/contain no-repeat;
  content: "";
  opacity: 0;
}
.p-dept--sports .p-dept__ig-banner-arrow img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  transform: translate(-50%, -50%);
}

.p-dept--sports .p-dept__ig-banner:hover .p-dept__ig-banner-text,
.p-dept--sports .p-dept__ig-banner:focus-visible .p-dept__ig-banner-text {
  color: var(--dept-accent);
}

.p-dept__want {
  padding: 10px 0 48px;
  background: #fff;
}

.p-dept--sports .p-dept__want-panel {
  width: calc(100% - 10px);
  margin-inline: auto;
  padding: 48px 20px;
  overflow: hidden;
  border-radius: 16px;
  background: url("../images/department/sports/want-bg-figma.png") center/cover no-repeat;
}

.p-dept--management .p-dept__want {
  background: #fff;
}

.p-dept--management .p-dept__want-panel {
  width: calc(100% - 10px);
  margin-inline: auto;
  padding: 48px 20px;
  overflow: hidden;
  border-radius: 16px;
  background: url("../images/department/management/want-bg.jpg") center/cover no-repeat;
}

.p-dept__want .p-dept__chip {
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 320px);
  margin: 0 auto 32px;
}

.p-dept__want-cards {
  display: grid;
  gap: 20px;
}
.p-dept__want-cards li {
  padding: 20px 26px;
  border-radius: 8px;
  background: #fff;
  isolation: isolate;
}
.p-dept__want-cards figure {
  aspect-ratio: 330/240;
  margin: 0 0 16px;
  overflow: hidden;
  border-radius: 8px;
}
.p-dept__want-cards img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-dept__want-cards h3 {
  margin: 0 0 12px;
  color: var(--dept-accent);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__want-cards p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.p-dept__career .p-dept__subhead,
.p-dept__employment .p-dept__subhead {
  gap: 10px;
  font-weight: 700;
  font-size: clamp(1.25rem, 0.8125rem + 1.25vw, 1.75rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__career .p-dept__subhead::before,
.p-dept__employment .p-dept__subhead::before {
  flex: 0 0 8px;
  align-self: center;
  width: 8px;
  height: 36px;
}

.p-dept__career,
.p-dept__employment,
.p-dept__faculty {
  padding: 80px 0;
}
.p-dept__career .c-head-dot,
.p-dept__employment .c-head-dot,
.p-dept__faculty .c-head-dot {
  --head-dot-color: var(--dept-dot);
}

.p-dept__quali,
.p-dept__jobs {
  display: grid;
  margin: 0;
}
.p-dept__quali li,
.p-dept__jobs li {
  display: flex;
  align-items: center;
  padding: 12px 8px;
  border: 1px solid var(--clr_line);
  border-radius: 8px;
  background: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__jobs li {
  padding: 20px 16px;
}

.p-dept__flow {
  max-width: 1040px;
  margin: 40px auto;
}
.p-dept__flow img {
  width: 100%;
  height: auto;
}

.p-dept__career-photos {
  display: grid;
  margin-top: 40px;
  gap: 20px;
}
.p-dept__career-photos figure {
  aspect-ratio: 580/400;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
}
.p-dept__career-photos img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-dept__emp-grid {
  display: grid;
  gap: 32px;
}

.p-dept__emp-group h4,
.p-dept__emp-grid > div h4 {
  display: flex;
  align-items: center;
  min-height: 71px;
  margin: 0 0 16px;
  padding: 12px 0;
  border-top: 1px solid var(--clr_line);
  border-bottom: 1px solid var(--clr_line);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__emp-group h4:not(:first-child),
.p-dept__emp-grid > div h4:not(:first-child) {
  margin-top: 24px;
}
.p-dept__emp-group p,
.p-dept__emp-grid > div p {
  margin: 0 0 4px;
  margin-top: 20px;
  padding-left: 20px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__emp-group p::before,
.p-dept__emp-grid > div p::before {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  margin-left: -20px;
  border-radius: 50%;
  background: var(--dept-accent);
  content: "";
  vertical-align: middle;
}
.p-dept__emp-group ul,
.p-dept__emp-grid > div ul {
  margin: 0 0 12px;
  padding: 0 0 0 14px;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__emp-group p.p-dept__emp-line,
.p-dept__emp-grid > div p.p-dept__emp-line {
  margin: 0;
  padding-left: 20px;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__emp-group p.p-dept__emp-line::before,
.p-dept__emp-grid > div p.p-dept__emp-line::before {
  display: none;
}

.p-dept__initiatives {
  position: relative;
  margin: 56px 0 64px;
}
.p-dept__initiatives::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(100% - 40px, 1200px);
  height: 2px;
  transform: translateX(-50%);
  background-image: radial-gradient(circle, var(--clr_default) 1px, transparent 1px);
  background-position: top;
  background-size: 9px 2px;
  background-repeat: repeat-x;
  content: "";
}
.p-dept__initiatives .c-head-dot {
  margin-bottom: 20px;
  font-weight: 700;
  font-size: clamp(1.25rem, 1.03125rem + 0.625vw, 1.5rem);
  --head-dot-color: var(--clr_surface_alt);
}

.p-dept__curriculum {
  padding: 48px 0 80px;
  background: var(--clr_surface);
}
.p-dept__curriculum .p-dept__head {
  margin-bottom: 24px;
}

.p-dept__curriculum-intro {
  position: relative;
  margin-bottom: 30px;
  padding-left: 18px;
}
.p-dept__curriculum-intro::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 88px;
  border-radius: 2px;
  background: var(--dept-accent);
  content: "";
}
.p-dept__curriculum-intro .p-dept__subhead {
  margin: 0 0 4px;
  gap: 0;
  font-weight: 700;
  font-size: clamp(1.25rem, 0.59375rem + 1.875vw, 2rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__curriculum-intro .p-dept__subhead::before {
  display: none;
}
.p-dept__curriculum-intro .p-dept__curriculum-lead {
  margin: 0;
  color: var(--dept-accent);
  font-weight: 700;
  font-size: clamp(0.9375rem, 0.6640625rem + 0.78125vw, 1.25rem);
  line-height: 1.5;
}

.p-dept__curriculum-lead {
  margin: 0 0 32px;
  color: var(--dept-accent);
  font-weight: 700;
  font-size: 15px;
}

.p-dept__rule {
  display: flex;
  align-items: center;
  margin: 32px 0 24px;
  gap: 16px;
  font-weight: 700;
  font-size: clamp(1rem, 0.78125rem + 0.625vw, 1.25rem);
}
.p-dept__rule::before, .p-dept__rule::after {
  flex: 1;
  height: 2px;
  background: var(--clr_muted);
  content: "";
}

.p-dept__years {
  display: grid;
  margin: 0 0 48px;
  padding: 0;
  gap: 16px;
  list-style: none;
}

.p-dept__years-card {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  padding: 30px 20px 31px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  text-align: center;
}

.p-dept__years-decoration {
  z-index: 1;
  position: absolute;
  top: -25px;
  left: 50%;
  width: 40px;
  height: auto;
  transform: translateX(-50%);
}

.p-dept__years-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  height: 36px;
  margin: 0 0 15px;
  padding: 0 16px;
  border-radius: 23px;
  background: var(--dept-accent);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
}

.p-dept__years-card h4 {
  margin: 0 0 15px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__years-card figure {
  display: grid;
  place-items: center;
  aspect-ratio: 242/150;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  border-radius: 8px;
  background: var(--clr_surface_alt);
}

.p-dept__years-card figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-dept__years-arrow {
  display: none;
}

.p-dept__curr-cols {
  display: grid;
  gap: 32px;
}

.p-dept__curr-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.p-dept__curr-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 8px;
  background: #35a9ff;
}
.p-dept__curr-card ul {
  display: grid;
  flex: 0 0 auto;
  align-content: start;
  margin: 0;
  padding: 0 15px 20px;
  gap: 5px;
}
.p-dept__curr-card li {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 48px;
  padding: 8px 10px;
  gap: 10px;
  border-radius: 4px;
  background: #fff;
  color: var(--clr_text);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.32px;
}

.p-dept__curr-head {
  flex: 0 0 auto;
  margin: 0;
  padding: 30px 15px 15px;
  color: #fff;
}

.p-dept__curr-num {
  display: block;
  font-weight: 800;
  font-size: 40px;
  line-height: 1;
  font-family: var(--ff-en);
  letter-spacing: -0.02em;
}

.p-dept__curr-col:first-child .p-dept__curr-num {
  font-size: 42px;
}

.p-dept__curr-title {
  display: block;
  margin-top: 5px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__curr-col:first-child .p-dept__curr-title {
  margin-top: 3px;
}

.p-dept__curr-title-row {
  display: block;
  margin-top: 5px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__curr-title-row .p-dept__curr-title {
  display: inline;
  margin-top: 0;
  font-size: inherit;
}

.p-dept__curr-item-icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 2px;
  background: var(--clr_surface_alt);
}
.p-dept__curr-item-icon img {
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-dept__curr-note {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.02em;
}

.p-dept__curr-arrow {
  display: block;
  flex: 0 0 auto;
  width: 40px;
  height: 16px;
  margin: 20px auto 10px;
}

.p-dept__curr-summary {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 84px;
  margin: 0;
  padding: 10px 16px 10px 10px;
  gap: 10px;
  border-radius: 8px;
  background: #35a9ff;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__curr-summary-icon {
  display: flex;
  flex: 0 0 64px;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 4px;
  background: var(--clr_surface_alt);
}
.p-dept__curr-summary-icon img {
  display: block;
  flex: 0 0 auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-dept__curr-summary-text {
  flex: 1;
  min-width: 0;
}

.p-dept__curr-col:nth-child(2) .p-dept__curr-card,
.p-dept__curr-col:nth-child(2) .p-dept__curr-summary {
  background: #a2c642;
}

.p-dept__curr-col:nth-child(3) .p-dept__curr-card,
.p-dept__curr-col:nth-child(3) .p-dept__curr-summary {
  background: #005eff;
}

.p-dept__faculty-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0;
  gap: 16px;
}
.p-dept__faculty-list a {
  display: block;
  color: var(--clr_text);
}
.p-dept__faculty-list figure {
  aspect-ratio: 282/220;
  margin: 0 0 8px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--clr_surface_alt);
}
.p-dept__faculty-list img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-dept__faculty-list p {
  margin: 0;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
}

.p-dept--management .p-dept__hero-photo {
  position: relative;
}
.p-dept--management .p-dept__hero-photo::after {
  z-index: 1;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #ffd700;
  content: "";
  mix-blend-mode: screen;
  opacity: 0.15;
  pointer-events: none;
}
.p-dept--management .p-dept__hero-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-dept--sports .p-dept__attraction {
  padding-bottom: 0;
}

.p-dept--management .p-dept__attraction {
  background-color: #f7f6f5;
}
.p-dept--management .p-dept__attract-cards h3 {
  font-size: clamp(0.9375rem, 0.6640625rem + 0.78125vw, 1.25rem);
}
.p-dept--management .p-dept__attract-cards p {
  font-size: clamp(0.8125rem, 0.703125rem + 0.3125vw, 0.9375rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept--management .p-dept__fields {
  background: linear-gradient(#eee 1px, transparent 1px), linear-gradient(90deg, #eee 1px, transparent 1px);
  background-size: 68px 68px;
  background-color: #fff;
}

.p-dept--management .p-dept__syllabus-foot {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, #f93055 0%, #ff9d26 100%);
  isolation: isolate;
}
.p-dept--management .p-dept__syllabus-foot::before, .p-dept--management .p-dept__syllabus-foot::after {
  z-index: -1;
  position: absolute;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-dept--management .p-dept__syllabus-foot::before {
  top: -21px;
  left: -11px;
  width: 89px;
  height: 60px;
  background-image: var(--dept-blob-01, url("../images/department/management/band-blob-01.svg"));
}
.p-dept--management .p-dept__syllabus-foot::after {
  right: -19px;
  bottom: -43px;
  width: 121px;
  height: 82px;
  background-image: var(--dept-blob-02, url("../images/department/management/band-blob-02.svg"));
}

.p-dept__fields {
  padding: 80px 0;
  background: linear-gradient(#eee 1px, transparent 1px), linear-gradient(90deg, #eee 1px, transparent 1px);
  background-size: 48px 48px;
  background-color: #fff;
}

.p-dept__field-list {
  margin-top: 24px;
}

.p-dept__field {
  display: grid;
}

.p-dept__field-photo {
  margin: 0;
  overflow: hidden;
}
.p-dept__field-photo img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-dept__field-copy {
  padding: 32px 20px 48px;
}
.p-dept__field-copy h3 {
  margin: 0 0 12px;
  color: var(--dept-accent);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__field-copy p {
  margin: 0 0 16px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.p-dept__field-lead {
  margin-bottom: 24px;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.6;
}

.p-dept__field-label {
  display: inline-flex;
  align-items: center;
  margin: 8px 0;
  padding: 4px 12px;
  border-radius: 4px;
  background: var(--dept-accent);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.4;
}
.p-dept__jobs--icons li {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  height: 98px;
  padding: 16px;
  gap: 16px;
  border: 1px solid var(--clr_line);
  border-radius: 8px;
  background: #fff;
  text-align: left;
}
.p-dept__jobs--icons img {
  width: 100%;
  height: auto;
}

.p-dept__job-icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 8px;
  background: var(--clr_surface_alt);
}
.p-dept__job-icon img {
  width: 40px;
  height: auto;
}
.p-dept__job-icon--tile {
  border-radius: 0;
  background: none;
}
.p-dept__job-icon--tile img {
  width: 66px;
  height: 66px;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-dept__job-label {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__donuts {
  display: grid;
  margin: 0 0 48px;
  gap: 16px;
}
.p-dept__donuts img {
  width: 100%;
  height: auto;
  border: 1px solid var(--clr_line);
  border-radius: 8px;
  background: #f8ecec;
}
.p-dept--sports .p-dept__initiatives .p-home__news-item::before {
  background-image: none;
  background-color: var(--dept-accent);
  -webkit-mask-image: url("../images/home/news-card-deco-sp.svg");
  mask-image: url("../images/home/news-card-deco-sp.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: left top;
  mask-position: left top;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.p-dept__steps {
  display: grid;
  margin: 0 0 64px;
  padding: 0;
  gap: 24px;
}
.p-dept__steps > li:not(.p-dept__step-arrow) {
  position: relative;
  padding: 48px 20px 24px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}
.p-dept__steps h3 {
  margin: 0 0 12px;
  font-weight: 700;
  font-size: clamp(1.125rem, 0.796875rem + 0.9375vw, 1.5rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__steps > li:not(.p-dept__step-arrow) > p:not(.p-dept__step-num) {
  margin: 0 0 16px;
  font-weight: 400;
  font-size: clamp(0.8125rem, 0.703125rem + 0.3125vw, 0.9375rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__steps ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 10px 12px;
}
.p-dept__steps li li {
  display: inline-flex;
  align-items: center;
  padding: 8px 15px 6px;
  border: none;
  border-radius: 23px;
  background: var(--clr_surface_alt);
  color: var(--clr_muted);
  font-weight: 400;
  font-size: clamp(0.75rem, 0.6953125rem + 0.15625vw, 0.8125rem);
  line-height: 1;
  letter-spacing: 0.02em;
}

.p-dept__step-decoration {
  z-index: 1;
  position: absolute;
  top: -25px;
  left: 50%;
  width: 40px;
  height: auto;
  transform: translateX(-50%);
}

.p-dept__step-num {
  margin: 0 0 8px;
  color: var(--dept-accent);
  font-weight: 800;
  font-size: clamp(0.8125rem, 0.703125rem + 0.3125vw, 0.9375rem);
  line-height: 1.5;
  font-family: var(--ff-en);
  letter-spacing: 0.02em;
}

.p-dept__step-arrow {
  display: none;
}

.p-dept__syllabus {
  margin: 0 0 48px;
}

.p-dept__syllabus-lead {
  margin: -8px 0 24px;
  color: var(--dept-accent);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.7;
}

.p-dept__syllabus-grid {
  display: grid;
  gap: 0;
}
.p-dept__syllabus-grid > div {
  padding: 20px 0;
  border-top: 1px solid var(--clr_line);
}
.p-dept__syllabus-grid h4 {
  display: flex;
  align-items: center;
  margin: 0 0 8px;
  gap: 8px;
  font-weight: 700;
  font-size: 15px;
}
.p-dept__syllabus-grid h4::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dept-accent);
  content: "";
}
.p-dept__syllabus-grid p {
  margin: 0;
  padding-left: 16px;
  font-size: 14px;
  line-height: 1.7;
}

.p-dept__syllabus-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px 0 0;
  padding: 16px 24px;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--dept-accent) 0%, var(--dept-accent-soft) 100%);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
}

.p-dept--management .p-dept__timetable {
  --timetable-accent: #ff9d26;
  --timetable-online-tint: rgb(255 215 0 / 0.08);
  --timetable-grid-width: 960px;
  min-width: 0;
  margin-top: 64px;
}

.p-dept--management .p-dept__timetable-head {
  display: flex;
  align-items: center;
  margin: 0 0 30px;
  gap: 0;
  font-weight: 700;
  font-size: clamp(1.125rem, 0.796875rem + 0.9375vw, 1.5rem);
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
}
.p-dept--management .p-dept__timetable-head::before {
  flex: 0 0 27px;
  width: 27px;
  height: 16px;
  margin-right: -8px;
  background: radial-gradient(circle at 8px 8px, var(--clr_yellow) 0 7.5px, transparent 8px), radial-gradient(circle at 19px 8px, var(--timetable-accent) 0 7.5px, transparent 8px);
  content: "";
}

.p-dept--management .p-dept__timetable-student-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.p-dept--management .p-dept__timetable-student-tabs button {
  box-sizing: border-box;
  min-width: 0;
  min-height: 52px;
  padding: 10px clamp(8px, 3vw, 24px);
  border: 0;
  border-bottom: 1px solid var(--clr_text);
  background: #e3e3db;
  color: var(--clr_muted);
  font-weight: 700;
  font-size: clamp(0.875rem, 0.546875rem + 0.9375vw, 1.25rem);
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  text-align: center;
  cursor: pointer;
}
.p-dept--management .p-dept__timetable-student-tabs button + button {
  border-left: 1px solid var(--clr_text);
}
.p-dept--management .p-dept__timetable-student-tabs button[aria-selected=true] {
  border-top: 1px solid var(--clr_text);
  border-bottom-color: transparent;
  background: var(--clr_surface);
  color: var(--clr_text);
}
.p-dept--management .p-dept__timetable-student-tabs button:first-child[aria-selected=true] {
  border-left: 1px solid var(--clr_text);
}
.p-dept--management .p-dept__timetable-student-tabs button:last-child[aria-selected=true] {
  border-right: 1px solid var(--clr_text);
}
.p-dept--management .p-dept__timetable-student-tabs button:focus-visible {
  z-index: 1;
  position: relative;
  outline: 3px solid var(--timetable-accent);
  outline-offset: -4px;
}

.p-dept--management .p-dept__timetable-student-panel[hidden],
.p-dept--management .p-dept__timetable-term-panel[hidden] {
  display: none;
}

.p-dept--management .p-dept__timetable-body {
  width: min(100%, var(--timetable-grid-width));
  margin-inline: auto;
  padding-top: 30px;
}

.p-dept--management .p-dept__timetable-term-tabs {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  height: 40px;
  min-height: 40px;
  padding: 4px;
  gap: 4px;
  border-radius: 4px;
  background: #fff;
}
.p-dept--management .p-dept__timetable-term-tabs button {
  min-width: 0;
  height: 32px;
  min-height: 32px;
  padding: 5px 12px;
  border: 0;
  border-radius: 4px;
  background: var(--clr_surface_alt);
  color: var(--clr_muted);
  font-weight: 700;
  font-size: calc(13 / var(--base) * 1rem);
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  text-align: center;
  cursor: pointer;
}
.p-dept--management .p-dept__timetable-term-tabs button[aria-selected=true] {
  background: var(--timetable-accent);
  color: #fff;
}
.p-dept--management .p-dept__timetable-term-tabs button:focus-visible {
  outline: 2px solid var(--clr_text);
  outline-offset: -3px;
}

.p-dept--management .p-dept__timetable-term-panel {
  margin-top: 12px;
}

.p-dept--management .p-dept__timetable-scroll {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.p-dept--management .p-dept__timetable-scroll:focus-visible {
  outline: 3px solid var(--timetable-accent);
  outline-offset: 2px;
}

.p-dept--management .p-dept__timetable-table-wrap {
  position: relative;
  width: var(--timetable-grid-width);
}

.p-dept--management .p-dept__timetable-table {
  z-index: 1;
  position: relative;
  width: var(--timetable-grid-width);
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
  color: var(--clr_text);
  font-weight: 500;
  font-size: calc(14 / var(--base) * 1rem);
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", var(--ff-body);
  letter-spacing: 0.02em;
  table-layout: fixed;
}
.p-dept--management .p-dept__timetable-table th,
.p-dept--management .p-dept__timetable-table td {
  box-sizing: border-box;
  border: 0;
  border-right: 6px solid transparent;
  border-bottom: 6px solid transparent;
  background-clip: padding-box;
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.p-dept--management .p-dept__timetable-table tr > :last-child {
  border-right: 0;
}
.p-dept--management .p-dept__timetable-table thead th {
  width: 140px;
  height: 46px;
  padding: 8px;
  border-radius: 4px;
  background-color: var(--timetable-accent);
  color: #fff;
  font-weight: 700;
  font-size: calc(15 / var(--base) * 1rem);
  text-align: center;
}
.p-dept--management .p-dept__timetable-table thead th:first-child {
  width: 61px;
  background-color: transparent;
}
.p-dept--management .p-dept__timetable-table thead th:last-child {
  width: 140px;
}
.p-dept--management .p-dept__timetable-table tbody th,
.p-dept--management .p-dept__timetable-table tbody td {
  height: 100px;
  padding: 12px 16px 18px;
  border-radius: 4px;
  background-color: #fff;
  text-align: left;
}
.p-dept--management .p-dept__timetable-table tbody td {
  vertical-align: middle;
}
.p-dept--management .p-dept__timetable-table tbody th {
  width: 61px;
  padding-inline: 4px;
  font-weight: 700;
  font-size: calc(15 / var(--base) * 1rem);
  text-align: center;
}
.p-dept--management .p-dept__timetable-table tbody td:empty {
  background-color: rgba(255, 255, 255, 0.5);
}
.p-dept--management .p-dept__timetable-table tbody tr:last-child th,
.p-dept--management .p-dept__timetable-table tbody tr:last-child td {
  height: 102px;
  padding-bottom: 12px;
  border-bottom: 0;
}
.p-dept--management .p-dept__timetable-table.-student-b tbody tr:last-child th, .p-dept--management .p-dept__timetable-table.-student-b tbody tr:last-child td {
  height: 60px;
}
.p-dept--management .p-dept__timetable-table .p-dept__timetable-online {
  position: relative;
  background-color: #fff;
  color: var(--timetable-accent);
}
.p-dept--management .p-dept__timetable-table .p-dept__timetable-online::after {
  z-index: 0;
  position: absolute;
  inset: 5px 5px -6px;
  background: var(--timetable-online-tint);
  content: "";
  pointer-events: none;
}
.p-dept--management .p-dept__timetable-table .p-dept__timetable-online:first-of-type::after {
  top: 5px;
}
.p-dept--management .p-dept__timetable-table tbody td.p-dept__timetable-online {
  isolation: isolate;
}
.p-dept--management .p-dept__timetable-table tbody tr:last-child .p-dept__timetable-online::after {
  bottom: 5px;
}
.p-dept--management .p-dept__timetable-table td.p-dept__timetable-online:not(:has(.p-dept__timetable-online-chip)):empty {
  background-color: rgba(255, 255, 255, 0.5);
}

.p-dept--management .p-dept__timetable-online-chip {
  display: grid;
  z-index: 3;
  position: absolute;
  top: -3px;
  left: 50%;
  place-items: center;
  width: 106px;
  height: 22px;
  transform: translateX(-50%);
  border-radius: 4px;
  background: linear-gradient(90deg, #ffa07a 0%, var(--clr_yellow) 100%);
  color: #fff;
  font-weight: 700;
  font-size: calc(12 / var(--base) * 1rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-dept__head-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 40px;
  gap: 16px;
}
.p-dept__head-row .p-dept__head {
  margin-bottom: 0;
}
.p-dept__head-row .c-more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
}

.p-dept__faculty-cards {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0;
  padding: 0;
  gap: 16px;
}
.p-dept__faculty-cards a {
  display: block;
  position: relative;
  min-height: 100%;
  padding: 30px;
  border: 1px solid var(--clr_line);
  border-radius: 4px;
  background: #fff;
  color: var(--clr_text);
}
.p-dept__faculty-cards a:focus-visible .p-dept__faculty-name {
  color: var(--dept-accent);
}
.p-dept__faculty-cards p:not(.p-dept__faculty-name):not(.p-dept__faculty-label) {
  margin: 0 0 10px;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__faculty-name {
  margin: 0 0 16px;
  padding: 0 28px 5px 0;
  border-bottom: 1px solid var(--clr_line);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  transition: color var(--dur-hover) var(--ease-hover);
}

.p-dept__faculty-arrow {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1px solid #e3e3e3;
  border-radius: 50%;
  background: #fff;
}
.p-dept__faculty-arrow:focus-visible {
  outline: 2px solid var(--clr_green);
  outline-offset: 2px;
}
.p-dept__faculty-arrow {
  position: absolute;
  top: 33px;
  right: 30px;
  overflow: hidden;
  pointer-events: none;
}
.p-dept__faculty-arrow::before, .p-dept__faculty-arrow::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background: url("../images/common/arrow-right.svg") center/contain no-repeat;
  content: "";
  transition: transform var(--dur-hover-slow) var(--ease-hover), opacity var(--dur-hover) var(--ease-hover);
}
.p-dept__faculty-arrow::before {
  transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
  opacity: 0;
}
.p-dept__faculty-arrow::after {
  transform: translate(-50%, -50%);
}

.p-dept__faculty-label {
  display: inline-flex;
  align-items: center;
  height: 20px;
  margin: 0 0 5px;
  padding: 0 15px;
  border-radius: 23px;
  background: var(--clr_surface_alt);
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
}
.p-dept__faculty-label + p {
  margin-bottom: 10px;
}
.p-dept__faculty-label + p:last-child {
  margin-bottom: 0;
}

.p-dept__hero-catch--sp {
  display: none;
}

.p-dept__hero-title-break {
  display: none;
}

.p-dept__hero-catch p > .-accent {
  color: var(--dept-accent);
}

/*  Figma SP 1701:3514 — 「人を」と「笑顔にする仕組み」を は別々の白背景で 2px 空ける  */
.p-dept__hero-catch-row {
  display: flex;
  align-items: flex-start;
  gap: 2px;
}

.p-dept__wide {
  width: min(100% - 40px, 1400px);
  margin-inline: auto;
}

.p-dept--social .p-dept__hero-faculty {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 6px 18px;
  border-radius: 30px;
  background: var(--clr_text);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__hero-labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 12px;
  gap: 10px;
}

.p-dept__hero-badge {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 6px 18px;
  border-radius: 30px;
  background: #17872b;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-dept--social .p-dept__hero-tags li {
  border: 0;
  border-radius: 4px;
  background: var(--clr_surface);
  color: var(--clr_text);
}

.p-dept--social .p-dept__hero-campus {
  border: 1px solid var(--clr_text);
  border-radius: 4px;
  background: #fff;
  color: var(--clr_text);
}

.p-dept--social .p-dept__hero-catch p {
  font-size: clamp(19px, 2.4vw, 28px);
  letter-spacing: 0.02em;
}

.p-dept__hero-mark {
  color: var(--dept-accent);
}

.p-dept--social .p-dept__hero-mark {
  color: var(--dept-accent-text);
}

.p-dept--social .p-dept__chip {
  border-radius: 30px;
  color: var(--clr_text);
}

.p-dept--social .p-dept__hero-badge {
  background: var(--clr_green);
}

.p-dept__barhead {
  display: flex;
  flex-wrap: wrap;
  align-items: first baseline;
  margin: 0 0 8px;
  gap: 20px;
  font-weight: 700;
  font-size: clamp(20px, 2.6vw, 28px);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__barhead::before {
  flex: 0 0 8px;
  align-self: stretch;
  width: 8px;
  border-radius: 2px;
  background: var(--dept-accent);
  content: "";
}

.p-dept__barhead-note {
  margin: 0 0 32px;
  padding-left: 28px;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-dept--social .p-dept__attraction {
  padding-bottom: 0;
  background-color: #f5f5f5;
}

.p-dept--social .p-dept__attract-cards {
  margin-bottom: 40px;
}

.p-dept--social .p-dept__strip--fields,
.p-dept--social .p-dept__courses {
  background-image: linear-gradient(#eee 1px, transparent 1px), linear-gradient(90deg, #eee 1px, transparent 1px);
  background-size: 68px 68px;
  background-color: #fff;
}
.p-dept--social .p-dept__courses .p-dept__head {
  margin-bottom: 60px;
}

.p-dept--social .p-dept__attract-cards .p-dept__attract-eyebrow {
  margin: 0 0 6px;
  color: var(--clr_muted);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__twocourse {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  margin: 0;
  padding: 0;
  gap: clamp(24px, 5.6vw, 80px);
  list-style: none;
}
.p-dept__twocourse > li {
  display: grid;
  align-content: start;
  gap: 20px;
}
.p-dept__twocourse h3 {
  margin: 0;
  font-weight: 700;
  font-size: clamp(21px, 2.6vw, 32px);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__twocourse p {
  margin: 0;
  font-weight: 500;
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.8;
  letter-spacing: 0.02em;
}

.p-dept__twocourse-figure {
  aspect-ratio: 560/396;
  min-height: 0;
  margin: 0;
  padding: 0;
}
.p-dept__twocourse-figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-dept--social .p-dept__twocourse-figure {
  aspect-ratio: 1120/792;
}
.p-dept--social .p-dept__twocourse-figure img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-dept--social .p-dept__twocourse h3 {
  color: var(--dept-accent-text);
}

.p-dept--social .p-dept__twocourse > li > p {
  font-weight: 700;
  line-height: 1.8;
}

.p-dept--social .p-dept__course-tags {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}
.p-dept--social .p-dept__course-tags li {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 6px 12px 2px;
  gap: 4px;
  border-radius: 23px;
  background: var(--clr_surface_alt);
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept--social .p-dept__course-tags img {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  margin-bottom: 4px;
}

.p-dept__fieldcards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  margin: 0;
  padding: 0;
  gap: clamp(24px, 3vw, 40px);
  list-style: none;
}
.p-dept__fieldcards > li {
  display: grid;
  align-content: start;
  gap: 16px;
}
.p-dept__fieldcards > li > figure {
  aspect-ratio: 440/272;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
}
.p-dept__fieldcards > li > figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-dept__fieldcards h3 {
  margin: 0;
  font-weight: 700;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__fieldcards > li > p {
  margin: 0;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

.p-dept__fieldcards > li > .p-dept__fieldcards-lead {
  color: var(--clr_muted);
  font-weight: 700;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-dept__fieldcards-jobs {
  padding: 20px;
  border-radius: 8px;
  background: #fff;
}
.p-dept__fieldcards-jobs ul {
  display: grid;
  margin: 14px 0 0;
  padding: 0;
  gap: 6px;
  list-style: none;
}
.p-dept__fieldcards-jobs li {
  position: relative;
  padding-left: 20px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.p-dept__fieldcards-jobs li::before {
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--dept-accent);
  content: "";
}

.p-dept__fieldcards-label {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 4px 16px;
  border-radius: 8px;
  background: var(--dept-accent);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__fieldcards > li > .p-dept__fieldcards-note {
  margin: 0;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

.p-dept__yearsteps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  margin: 20px 0 64px;
  padding: 0;
  gap: clamp(16px, 2vw, 24px);
  list-style: none;
}
.p-dept__yearsteps > li {
  display: grid;
  position: relative;
  padding: 36px 20px 24px;
  gap: 12px;
  border-radius: 8px;
  background: #fff;
}
.p-dept__yearsteps h4 {
  margin: 0;
  font-weight: 700;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__yearsteps > li > p:last-of-type {
  margin: 0;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.p-dept__yearstep-pin {
  position: absolute;
  top: -20px;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translateX(-50%);
}

.p-dept__yearsteps > li + li {
  position: relative;
}
.p-dept__yearstep-num {
  display: inline-flex;
  align-items: baseline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  padding: 3px 14px;
  gap: 2px;
  border-radius: 20px;
  background: var(--dept-accent);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__yearstep-num span {
  font-weight: 800;
  font-size: 15px;
  font-family: var(--ff-en);
}

.p-dept__yearstep-lead {
  margin-top: -10px;
  color: var(--clr_muted);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept__yearstep-tags {
  display: grid;
  margin: auto 0 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}
.p-dept__yearstep-tags li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  padding: 8px;
  gap: 10px;
  border-radius: 4px;
  background: #f5f5f5;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__yearstep-tags img {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-dept__skills {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  margin: 0 0 64px;
  padding: 0;
  gap: 0;
  list-style: none;
}
.p-dept__skills > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  padding: clamp(20px, 3vw, 32px) 0;
  gap: clamp(16px, 2vw, 30px);
}
.p-dept__skills h4 {
  margin: 0 0 10px;
  font-weight: 700;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__skills p {
  margin: 0;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
.p-dept__skills figure {
  aspect-ratio: 1;
  width: clamp(80px, 9vw, 120px);
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
}
.p-dept__skills figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-dept__projects {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  margin: 0;
  padding: 0;
  gap: clamp(20px, 3vw, 40px);
  list-style: none;
}
.p-dept__projects > li {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 16px;
}
.p-dept__projects figure {
  aspect-ratio: 200/141;
  width: 100%;
  max-width: 200px;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
}
.p-dept__projects figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-dept__projects h4 {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__projects p {
  margin: 0;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.p-dept__rates {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 15px;
  list-style: none;
}
.p-dept__rates > li > img {
  display: block;
  width: 100%;
  height: auto;
}

.p-dept__rates-term {
  display: flex;
  align-items: center;
  margin: 0 0 12px;
  gap: 10px;
  font-weight: 700;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-dept__rates-term::before {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--dept-dot);
  content: "";
}

.p-dept--social .p-dept__ratepanel {
  padding: clamp(30px, 4vw, 60px) clamp(20px, 3vw, 40px);
  border-radius: 32px;
  background: #fff;
  /*  外パネルは1400ワイドだが、中のチャート列は1200レールに載せる  */
}

.p-dept--social .p-dept__rates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  margin: 0;
  margin-top: 24px;
  padding: 0;
  gap: clamp(20px, 3vw, 32px);
  list-style: none;
}
.p-dept--social .p-dept__rates > li {
  display: flex;
  flex-direction: column;
}

.p-dept--social .p-dept__rates-term::before {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--dept-accent);
  content: "";
}

.p-dept--social .p-dept__rates-chart {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 20px;
  border: 1px solid var(--clr_muted);
  border-radius: 8px;
  background: #fff;
}

.p-dept--social .p-dept__rates-value {
  margin: 0 0 4px;
  color: var(--dept-accent-text);
  font-weight: 800;
  font-size: clamp(28px, 3.4vw, 36px);
  line-height: 1.5;
  font-family: var(--ff-en);
  letter-spacing: 0.02em;
  text-align: right;
}
.p-dept--social .p-dept__rates-value span {
  font-size: 0.56em;
}

.p-dept--social .p-dept__rates-track {
  box-sizing: border-box;
  position: relative;
  height: 50px;
  padding: 4px;
  border-radius: 2px;
  background: var(--clr_surface_alt);
}
.p-dept--social .p-dept__rates-track::before {
  position: absolute;
  height: 12px;
  inset: auto 4px calc(100% + 4px);
  background-image: linear-gradient(var(--clr_muted), var(--clr_muted)), linear-gradient(var(--clr_muted), var(--clr_muted)), linear-gradient(var(--clr_muted), var(--clr_muted));
  background-position: left bottom, 50% bottom, right bottom;
  background-size: 2px 12px, 2px 6px, 2px 12px;
  background-repeat: no-repeat;
  content: "";
}
.p-dept--social .p-dept__rates-track::after {
  position: absolute;
  bottom: calc(100% + 4px);
  left: calc(4px + (100% - 8px) * var(--rate, 0) / 100);
  width: 2px;
  height: 12px;
  transform: translateX(-1px);
  background: var(--dept-accent-text);
  content: "";
}
.p-dept--social .p-dept__rates-track span {
  display: block;
  height: 42px;
  border-radius: 2px;
  background: var(--dept-accent);
}

.p-dept--social .p-dept__rates-zero {
  margin: 0 0 17px;
  color: var(--clr_muted);
  font-weight: 700;
  font-size: 11px;
  line-height: 1.5;
  font-family: var(--ff-en);
}

.p-dept--social .p-dept__crumb li:last-child {
  color: var(--dept-accent-text);
}
.p-dept--social .p-dept__vision .p-dept__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 45px;
  padding-top: 4px;
  padding-inline: 30px;
}

.p-dept--social .p-dept__vision-copy {
  display: grid;
  gap: 30px;
}
.p-dept--social .p-dept__vision-copy p {
  margin: 0;
  font-weight: 700;
  font-size: clamp(15px, 1.5vw, 20px);
  line-height: 2;
  letter-spacing: 0.02em;
}

.p-dept--social .p-dept__career {
  background: var(--clr_surface);
}

.p-dept--social .p-dept__career .p-dept__head {
  margin-inline: auto;
}

.p-dept--social .p-dept__fieldcards > li > figure {
  border-radius: 16px;
}

.p-dept--social .p-dept__fieldcards-label {
  font-size: 15px;
}

.p-dept--social .p-dept__fieldcards-jobs {
  height: auto;
  min-height: 0;
}

.p-dept--social .p-dept__career .p-dept__fieldcards-note {
  width: min(100%, 900px);
  margin: 40px auto 0;
  color: var(--clr_muted);
  font-weight: 500;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

.p-dept--social .p-dept__initiatives::before {
  content: none;
}

.p-dept--social .p-dept__barhead-block {
  position: relative;
  margin-bottom: 32px;
  padding-left: 28px;
}
.p-dept--social .p-dept__barhead-block .p-dept__barhead {
  margin: 0 0 8px;
  padding-left: 0;
}
.p-dept--social .p-dept__barhead-block .p-dept__barhead::before {
  content: none;
}
.p-dept--social .p-dept__barhead-block .p-dept__barhead-note {
  margin: 0;
  padding-left: 0;
  color: var(--dept-accent-text);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}
.p-dept--social .p-dept__barhead-block::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 8px;
  border-radius: 2px;
  background: var(--dept-accent);
  content: "";
}

.p-dept--social .p-dept__projects {
  margin-top: 40px;
}
.p-dept--social .p-dept__projects > li {
  box-sizing: border-box;
  position: relative;
  padding: 30px 20px;
  overflow: hidden;
  border-radius: 8px;
  background-image: linear-gradient(var(--clr_line) 1px, transparent 1px), linear-gradient(90deg, var(--clr_line) 1px, transparent 1px);
  background-size: 68px 68px;
  background-color: #fff;
}
.p-dept--social .p-dept__projects > li::before {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--dept-accent);
  content: "";
  pointer-events: none;
}
.p-dept--social .p-dept__projects figure,
.p-dept--social .p-dept__projects > li > div {
  position: relative;
}

.p-dept--social .p-dept__employment {
  background: var(--clr_surface);
}

.p-dept--social .p-dept__employment-note {
  font-weight: 700;
  font-size: clamp(15px, 1.6vw, 20px);
}

.p-dept--social .p-dept__social-employment-grid {
  display: grid;
  margin-top: 24px;
  gap: 32px;
}

.p-dept--social .p-dept__social-employment-title {
  display: flex;
  align-items: center;
  min-height: 71px;
  margin: 0 0 16px;
  padding: 12px 0;
  border-top: 1px solid var(--clr_line);
  border-bottom: 1px solid var(--clr_line);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-dept--social .p-dept__social-employment-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-dept--social .p-dept__social-employment-item {
  margin: 0 0 12px;
  padding-left: 15px;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.p-dept--social .p-dept__social-employment-item::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  margin-left: -15px;
  transform: translateY(-35%);
  border-radius: 50%;
  background: var(--dept-accent);
  content: "";
  vertical-align: middle;
}

.p-error {
  margin-top: calc(var(--size-header-h) + 40px);
}
.p-error .p-error__textWrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.p-archive.-news .p-archive__wrap {
  display: grid;
  gap: 24px;
}

.p-archive__dropdownWrap {
  position: relative;
}
.p-archive__dropdownWrap::after {
  width: 12px;
  height: 8px;
  background-color: var(--clr_default);
  content: "";
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  pointer-events: none;
}

.p-archive__dropdown {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 8px 30px 8px 12px;
  border: 1px solid var(--clr_border);
  border-radius: 0;
  background: #fff;
  color: var(--clr_default);
  cursor: pointer;
}
.p-archive__dropdown:focus-visible {
  outline: auto;
  outline: auto -webkit-focus-ring-color;
}
.p-archive__dropdown::-ms-expand {
  display: none;
}

.p-single .p-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.p-single .p-single__time {
  flex-shrink: 0;
}
.p-single .p-single__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/*  p-privacy
----------------------------------- */
.p-privacy .p-privacy__item:nth-child(n+2) {
  margin-top: 10px;
}

.u-mt-0 {
  margin-top: 0px !important;
}

.u-mb-0 {
  margin-bottom: 0px !important;
}

.u-pt-0 {
  padding-top: 0px !important;
}

.u-pb-0 {
  padding-bottom: 0px !important;
}

.u-mt-1 {
  margin-top: 1px !important;
}

.u-mb-1 {
  margin-bottom: 1px !important;
}

.u-pt-1 {
  padding-top: 1px !important;
}

.u-pb-1 {
  padding-bottom: 1px !important;
}

.u-mt-2 {
  margin-top: 2px !important;
}

.u-mb-2 {
  margin-bottom: 2px !important;
}

.u-pt-2 {
  padding-top: 2px !important;
}

.u-pb-2 {
  padding-bottom: 2px !important;
}

.u-mt-3 {
  margin-top: 3px !important;
}

.u-mb-3 {
  margin-bottom: 3px !important;
}

.u-pt-3 {
  padding-top: 3px !important;
}

.u-pb-3 {
  padding-bottom: 3px !important;
}

.u-mt-4 {
  margin-top: 4px !important;
}

.u-mb-4 {
  margin-bottom: 4px !important;
}

.u-pt-4 {
  padding-top: 4px !important;
}

.u-pb-4 {
  padding-bottom: 4px !important;
}

.u-mt-5 {
  margin-top: 5px !important;
}

.u-mb-5 {
  margin-bottom: 5px !important;
}

.u-pt-5 {
  padding-top: 5px !important;
}

.u-pb-5 {
  padding-bottom: 5px !important;
}

.u-mt-6 {
  margin-top: 6px !important;
}

.u-mb-6 {
  margin-bottom: 6px !important;
}

.u-pt-6 {
  padding-top: 6px !important;
}

.u-pb-6 {
  padding-bottom: 6px !important;
}

.u-mt-7 {
  margin-top: 7px !important;
}

.u-mb-7 {
  margin-bottom: 7px !important;
}

.u-pt-7 {
  padding-top: 7px !important;
}

.u-pb-7 {
  padding-bottom: 7px !important;
}

.u-mt-8 {
  margin-top: 8px !important;
}

.u-mb-8 {
  margin-bottom: 8px !important;
}

.u-pt-8 {
  padding-top: 8px !important;
}

.u-pb-8 {
  padding-bottom: 8px !important;
}

.u-mt-9 {
  margin-top: 9px !important;
}

.u-mb-9 {
  margin-bottom: 9px !important;
}

.u-pt-9 {
  padding-top: 9px !important;
}

.u-pb-9 {
  padding-bottom: 9px !important;
}

.u-mt-10 {
  margin-top: 10px !important;
}

.u-mb-10 {
  margin-bottom: 10px !important;
}

.u-pt-10 {
  padding-top: 10px !important;
}

.u-pb-10 {
  padding-bottom: 10px !important;
}

.u-mt-11 {
  margin-top: 11px !important;
}

.u-mb-11 {
  margin-bottom: 11px !important;
}

.u-pt-11 {
  padding-top: 11px !important;
}

.u-pb-11 {
  padding-bottom: 11px !important;
}

.u-mt-12 {
  margin-top: 12px !important;
}

.u-mb-12 {
  margin-bottom: 12px !important;
}

.u-pt-12 {
  padding-top: 12px !important;
}

.u-pb-12 {
  padding-bottom: 12px !important;
}

.u-mt-13 {
  margin-top: 13px !important;
}

.u-mb-13 {
  margin-bottom: 13px !important;
}

.u-pt-13 {
  padding-top: 13px !important;
}

.u-pb-13 {
  padding-bottom: 13px !important;
}

.u-mt-14 {
  margin-top: 14px !important;
}

.u-mb-14 {
  margin-bottom: 14px !important;
}

.u-pt-14 {
  padding-top: 14px !important;
}

.u-pb-14 {
  padding-bottom: 14px !important;
}

.u-mt-15 {
  margin-top: 15px !important;
}

.u-mb-15 {
  margin-bottom: 15px !important;
}

.u-pt-15 {
  padding-top: 15px !important;
}

.u-pb-15 {
  padding-bottom: 15px !important;
}

.u-mt-16 {
  margin-top: 16px !important;
}

.u-mb-16 {
  margin-bottom: 16px !important;
}

.u-pt-16 {
  padding-top: 16px !important;
}

.u-pb-16 {
  padding-bottom: 16px !important;
}

.u-mt-17 {
  margin-top: 17px !important;
}

.u-mb-17 {
  margin-bottom: 17px !important;
}

.u-pt-17 {
  padding-top: 17px !important;
}

.u-pb-17 {
  padding-bottom: 17px !important;
}

.u-mt-18 {
  margin-top: 18px !important;
}

.u-mb-18 {
  margin-bottom: 18px !important;
}

.u-pt-18 {
  padding-top: 18px !important;
}

.u-pb-18 {
  padding-bottom: 18px !important;
}

.u-mt-19 {
  margin-top: 19px !important;
}

.u-mb-19 {
  margin-bottom: 19px !important;
}

.u-pt-19 {
  padding-top: 19px !important;
}

.u-pb-19 {
  padding-bottom: 19px !important;
}

.u-mt-20 {
  margin-top: 20px !important;
}

.u-mb-20 {
  margin-bottom: 20px !important;
}

.u-pt-20 {
  padding-top: 20px !important;
}

.u-pb-20 {
  padding-bottom: 20px !important;
}

.u-mt-21 {
  margin-top: 21px !important;
}

.u-mb-21 {
  margin-bottom: 21px !important;
}

.u-pt-21 {
  padding-top: 21px !important;
}

.u-pb-21 {
  padding-bottom: 21px !important;
}

.u-mt-22 {
  margin-top: 22px !important;
}

.u-mb-22 {
  margin-bottom: 22px !important;
}

.u-pt-22 {
  padding-top: 22px !important;
}

.u-pb-22 {
  padding-bottom: 22px !important;
}

.u-mt-23 {
  margin-top: 23px !important;
}

.u-mb-23 {
  margin-bottom: 23px !important;
}

.u-pt-23 {
  padding-top: 23px !important;
}

.u-pb-23 {
  padding-bottom: 23px !important;
}

.u-mt-24 {
  margin-top: 24px !important;
}

.u-mb-24 {
  margin-bottom: 24px !important;
}

.u-pt-24 {
  padding-top: 24px !important;
}

.u-pb-24 {
  padding-bottom: 24px !important;
}

.u-mt-25 {
  margin-top: 25px !important;
}

.u-mb-25 {
  margin-bottom: 25px !important;
}

.u-pt-25 {
  padding-top: 25px !important;
}

.u-pb-25 {
  padding-bottom: 25px !important;
}

.u-mt-26 {
  margin-top: 26px !important;
}

.u-mb-26 {
  margin-bottom: 26px !important;
}

.u-pt-26 {
  padding-top: 26px !important;
}

.u-pb-26 {
  padding-bottom: 26px !important;
}

.u-mt-27 {
  margin-top: 27px !important;
}

.u-mb-27 {
  margin-bottom: 27px !important;
}

.u-pt-27 {
  padding-top: 27px !important;
}

.u-pb-27 {
  padding-bottom: 27px !important;
}

.u-mt-28 {
  margin-top: 28px !important;
}

.u-mb-28 {
  margin-bottom: 28px !important;
}

.u-pt-28 {
  padding-top: 28px !important;
}

.u-pb-28 {
  padding-bottom: 28px !important;
}

.u-mt-29 {
  margin-top: 29px !important;
}

.u-mb-29 {
  margin-bottom: 29px !important;
}

.u-pt-29 {
  padding-top: 29px !important;
}

.u-pb-29 {
  padding-bottom: 29px !important;
}

.u-mt-30 {
  margin-top: 30px !important;
}

.u-mb-30 {
  margin-bottom: 30px !important;
}

.u-pt-30 {
  padding-top: 30px !important;
}

.u-pb-30 {
  padding-bottom: 30px !important;
}

.u-mt-31 {
  margin-top: 31px !important;
}

.u-mb-31 {
  margin-bottom: 31px !important;
}

.u-pt-31 {
  padding-top: 31px !important;
}

.u-pb-31 {
  padding-bottom: 31px !important;
}

.u-mt-32 {
  margin-top: 32px !important;
}

.u-mb-32 {
  margin-bottom: 32px !important;
}

.u-pt-32 {
  padding-top: 32px !important;
}

.u-pb-32 {
  padding-bottom: 32px !important;
}

.u-mt-33 {
  margin-top: 33px !important;
}

.u-mb-33 {
  margin-bottom: 33px !important;
}

.u-pt-33 {
  padding-top: 33px !important;
}

.u-pb-33 {
  padding-bottom: 33px !important;
}

.u-mt-34 {
  margin-top: 34px !important;
}

.u-mb-34 {
  margin-bottom: 34px !important;
}

.u-pt-34 {
  padding-top: 34px !important;
}

.u-pb-34 {
  padding-bottom: 34px !important;
}

.u-mt-35 {
  margin-top: 35px !important;
}

.u-mb-35 {
  margin-bottom: 35px !important;
}

.u-pt-35 {
  padding-top: 35px !important;
}

.u-pb-35 {
  padding-bottom: 35px !important;
}

.u-mt-36 {
  margin-top: 36px !important;
}

.u-mb-36 {
  margin-bottom: 36px !important;
}

.u-pt-36 {
  padding-top: 36px !important;
}

.u-pb-36 {
  padding-bottom: 36px !important;
}

.u-mt-37 {
  margin-top: 37px !important;
}

.u-mb-37 {
  margin-bottom: 37px !important;
}

.u-pt-37 {
  padding-top: 37px !important;
}

.u-pb-37 {
  padding-bottom: 37px !important;
}

.u-mt-38 {
  margin-top: 38px !important;
}

.u-mb-38 {
  margin-bottom: 38px !important;
}

.u-pt-38 {
  padding-top: 38px !important;
}

.u-pb-38 {
  padding-bottom: 38px !important;
}

.u-mt-39 {
  margin-top: 39px !important;
}

.u-mb-39 {
  margin-bottom: 39px !important;
}

.u-pt-39 {
  padding-top: 39px !important;
}

.u-pb-39 {
  padding-bottom: 39px !important;
}

.u-mt-40 {
  margin-top: 40px !important;
}

.u-mb-40 {
  margin-bottom: 40px !important;
}

.u-pt-40 {
  padding-top: 40px !important;
}

.u-pb-40 {
  padding-bottom: 40px !important;
}

.u-mt-41 {
  margin-top: 41px !important;
}

.u-mb-41 {
  margin-bottom: 41px !important;
}

.u-pt-41 {
  padding-top: 41px !important;
}

.u-pb-41 {
  padding-bottom: 41px !important;
}

.u-mt-42 {
  margin-top: 42px !important;
}

.u-mb-42 {
  margin-bottom: 42px !important;
}

.u-pt-42 {
  padding-top: 42px !important;
}

.u-pb-42 {
  padding-bottom: 42px !important;
}

.u-mt-43 {
  margin-top: 43px !important;
}

.u-mb-43 {
  margin-bottom: 43px !important;
}

.u-pt-43 {
  padding-top: 43px !important;
}

.u-pb-43 {
  padding-bottom: 43px !important;
}

.u-mt-44 {
  margin-top: 44px !important;
}

.u-mb-44 {
  margin-bottom: 44px !important;
}

.u-pt-44 {
  padding-top: 44px !important;
}

.u-pb-44 {
  padding-bottom: 44px !important;
}

.u-mt-45 {
  margin-top: 45px !important;
}

.u-mb-45 {
  margin-bottom: 45px !important;
}

.u-pt-45 {
  padding-top: 45px !important;
}

.u-pb-45 {
  padding-bottom: 45px !important;
}

.u-mt-46 {
  margin-top: 46px !important;
}

.u-mb-46 {
  margin-bottom: 46px !important;
}

.u-pt-46 {
  padding-top: 46px !important;
}

.u-pb-46 {
  padding-bottom: 46px !important;
}

.u-mt-47 {
  margin-top: 47px !important;
}

.u-mb-47 {
  margin-bottom: 47px !important;
}

.u-pt-47 {
  padding-top: 47px !important;
}

.u-pb-47 {
  padding-bottom: 47px !important;
}

.u-mt-48 {
  margin-top: 48px !important;
}

.u-mb-48 {
  margin-bottom: 48px !important;
}

.u-pt-48 {
  padding-top: 48px !important;
}

.u-pb-48 {
  padding-bottom: 48px !important;
}

.u-mt-49 {
  margin-top: 49px !important;
}

.u-mb-49 {
  margin-bottom: 49px !important;
}

.u-pt-49 {
  padding-top: 49px !important;
}

.u-pb-49 {
  padding-bottom: 49px !important;
}

.u-mt-50 {
  margin-top: 50px !important;
}

.u-mb-50 {
  margin-bottom: 50px !important;
}

.u-pt-50 {
  padding-top: 50px !important;
}

.u-pb-50 {
  padding-bottom: 50px !important;
}

.u-mt-51 {
  margin-top: 51px !important;
}

.u-mb-51 {
  margin-bottom: 51px !important;
}

.u-pt-51 {
  padding-top: 51px !important;
}

.u-pb-51 {
  padding-bottom: 51px !important;
}

.u-mt-52 {
  margin-top: 52px !important;
}

.u-mb-52 {
  margin-bottom: 52px !important;
}

.u-pt-52 {
  padding-top: 52px !important;
}

.u-pb-52 {
  padding-bottom: 52px !important;
}

.u-mt-53 {
  margin-top: 53px !important;
}

.u-mb-53 {
  margin-bottom: 53px !important;
}

.u-pt-53 {
  padding-top: 53px !important;
}

.u-pb-53 {
  padding-bottom: 53px !important;
}

.u-mt-54 {
  margin-top: 54px !important;
}

.u-mb-54 {
  margin-bottom: 54px !important;
}

.u-pt-54 {
  padding-top: 54px !important;
}

.u-pb-54 {
  padding-bottom: 54px !important;
}

.u-mt-55 {
  margin-top: 55px !important;
}

.u-mb-55 {
  margin-bottom: 55px !important;
}

.u-pt-55 {
  padding-top: 55px !important;
}

.u-pb-55 {
  padding-bottom: 55px !important;
}

.u-mt-56 {
  margin-top: 56px !important;
}

.u-mb-56 {
  margin-bottom: 56px !important;
}

.u-pt-56 {
  padding-top: 56px !important;
}

.u-pb-56 {
  padding-bottom: 56px !important;
}

.u-mt-57 {
  margin-top: 57px !important;
}

.u-mb-57 {
  margin-bottom: 57px !important;
}

.u-pt-57 {
  padding-top: 57px !important;
}

.u-pb-57 {
  padding-bottom: 57px !important;
}

.u-mt-58 {
  margin-top: 58px !important;
}

.u-mb-58 {
  margin-bottom: 58px !important;
}

.u-pt-58 {
  padding-top: 58px !important;
}

.u-pb-58 {
  padding-bottom: 58px !important;
}

.u-mt-59 {
  margin-top: 59px !important;
}

.u-mb-59 {
  margin-bottom: 59px !important;
}

.u-pt-59 {
  padding-top: 59px !important;
}

.u-pb-59 {
  padding-bottom: 59px !important;
}

.u-mt-60 {
  margin-top: 60px !important;
}

.u-mb-60 {
  margin-bottom: 60px !important;
}

.u-pt-60 {
  padding-top: 60px !important;
}

.u-pb-60 {
  padding-bottom: 60px !important;
}

.u-mt-61 {
  margin-top: 61px !important;
}

.u-mb-61 {
  margin-bottom: 61px !important;
}

.u-pt-61 {
  padding-top: 61px !important;
}

.u-pb-61 {
  padding-bottom: 61px !important;
}

.u-mt-62 {
  margin-top: 62px !important;
}

.u-mb-62 {
  margin-bottom: 62px !important;
}

.u-pt-62 {
  padding-top: 62px !important;
}

.u-pb-62 {
  padding-bottom: 62px !important;
}

.u-mt-63 {
  margin-top: 63px !important;
}

.u-mb-63 {
  margin-bottom: 63px !important;
}

.u-pt-63 {
  padding-top: 63px !important;
}

.u-pb-63 {
  padding-bottom: 63px !important;
}

.u-mt-64 {
  margin-top: 64px !important;
}

.u-mb-64 {
  margin-bottom: 64px !important;
}

.u-pt-64 {
  padding-top: 64px !important;
}

.u-pb-64 {
  padding-bottom: 64px !important;
}

.u-mt-65 {
  margin-top: 65px !important;
}

.u-mb-65 {
  margin-bottom: 65px !important;
}

.u-pt-65 {
  padding-top: 65px !important;
}

.u-pb-65 {
  padding-bottom: 65px !important;
}

.u-mt-66 {
  margin-top: 66px !important;
}

.u-mb-66 {
  margin-bottom: 66px !important;
}

.u-pt-66 {
  padding-top: 66px !important;
}

.u-pb-66 {
  padding-bottom: 66px !important;
}

.u-mt-67 {
  margin-top: 67px !important;
}

.u-mb-67 {
  margin-bottom: 67px !important;
}

.u-pt-67 {
  padding-top: 67px !important;
}

.u-pb-67 {
  padding-bottom: 67px !important;
}

.u-mt-68 {
  margin-top: 68px !important;
}

.u-mb-68 {
  margin-bottom: 68px !important;
}

.u-pt-68 {
  padding-top: 68px !important;
}

.u-pb-68 {
  padding-bottom: 68px !important;
}

.u-mt-69 {
  margin-top: 69px !important;
}

.u-mb-69 {
  margin-bottom: 69px !important;
}

.u-pt-69 {
  padding-top: 69px !important;
}

.u-pb-69 {
  padding-bottom: 69px !important;
}

.u-mt-70 {
  margin-top: 70px !important;
}

.u-mb-70 {
  margin-bottom: 70px !important;
}

.u-pt-70 {
  padding-top: 70px !important;
}

.u-pb-70 {
  padding-bottom: 70px !important;
}

.u-mt-71 {
  margin-top: 71px !important;
}

.u-mb-71 {
  margin-bottom: 71px !important;
}

.u-pt-71 {
  padding-top: 71px !important;
}

.u-pb-71 {
  padding-bottom: 71px !important;
}

.u-mt-72 {
  margin-top: 72px !important;
}

.u-mb-72 {
  margin-bottom: 72px !important;
}

.u-pt-72 {
  padding-top: 72px !important;
}

.u-pb-72 {
  padding-bottom: 72px !important;
}

.u-mt-73 {
  margin-top: 73px !important;
}

.u-mb-73 {
  margin-bottom: 73px !important;
}

.u-pt-73 {
  padding-top: 73px !important;
}

.u-pb-73 {
  padding-bottom: 73px !important;
}

.u-mt-74 {
  margin-top: 74px !important;
}

.u-mb-74 {
  margin-bottom: 74px !important;
}

.u-pt-74 {
  padding-top: 74px !important;
}

.u-pb-74 {
  padding-bottom: 74px !important;
}

.u-mt-75 {
  margin-top: 75px !important;
}

.u-mb-75 {
  margin-bottom: 75px !important;
}

.u-pt-75 {
  padding-top: 75px !important;
}

.u-pb-75 {
  padding-bottom: 75px !important;
}

.u-mt-76 {
  margin-top: 76px !important;
}

.u-mb-76 {
  margin-bottom: 76px !important;
}

.u-pt-76 {
  padding-top: 76px !important;
}

.u-pb-76 {
  padding-bottom: 76px !important;
}

.u-mt-77 {
  margin-top: 77px !important;
}

.u-mb-77 {
  margin-bottom: 77px !important;
}

.u-pt-77 {
  padding-top: 77px !important;
}

.u-pb-77 {
  padding-bottom: 77px !important;
}

.u-mt-78 {
  margin-top: 78px !important;
}

.u-mb-78 {
  margin-bottom: 78px !important;
}

.u-pt-78 {
  padding-top: 78px !important;
}

.u-pb-78 {
  padding-bottom: 78px !important;
}

.u-mt-79 {
  margin-top: 79px !important;
}

.u-mb-79 {
  margin-bottom: 79px !important;
}

.u-pt-79 {
  padding-top: 79px !important;
}

.u-pb-79 {
  padding-bottom: 79px !important;
}

.u-mt-80 {
  margin-top: 80px !important;
}

.u-mb-80 {
  margin-bottom: 80px !important;
}

.u-pt-80 {
  padding-top: 80px !important;
}

.u-pb-80 {
  padding-bottom: 80px !important;
}

.u-mt-81 {
  margin-top: 81px !important;
}

.u-mb-81 {
  margin-bottom: 81px !important;
}

.u-pt-81 {
  padding-top: 81px !important;
}

.u-pb-81 {
  padding-bottom: 81px !important;
}

.u-mt-82 {
  margin-top: 82px !important;
}

.u-mb-82 {
  margin-bottom: 82px !important;
}

.u-pt-82 {
  padding-top: 82px !important;
}

.u-pb-82 {
  padding-bottom: 82px !important;
}

.u-mt-83 {
  margin-top: 83px !important;
}

.u-mb-83 {
  margin-bottom: 83px !important;
}

.u-pt-83 {
  padding-top: 83px !important;
}

.u-pb-83 {
  padding-bottom: 83px !important;
}

.u-mt-84 {
  margin-top: 84px !important;
}

.u-mb-84 {
  margin-bottom: 84px !important;
}

.u-pt-84 {
  padding-top: 84px !important;
}

.u-pb-84 {
  padding-bottom: 84px !important;
}

.u-mt-85 {
  margin-top: 85px !important;
}

.u-mb-85 {
  margin-bottom: 85px !important;
}

.u-pt-85 {
  padding-top: 85px !important;
}

.u-pb-85 {
  padding-bottom: 85px !important;
}

.u-mt-86 {
  margin-top: 86px !important;
}

.u-mb-86 {
  margin-bottom: 86px !important;
}

.u-pt-86 {
  padding-top: 86px !important;
}

.u-pb-86 {
  padding-bottom: 86px !important;
}

.u-mt-87 {
  margin-top: 87px !important;
}

.u-mb-87 {
  margin-bottom: 87px !important;
}

.u-pt-87 {
  padding-top: 87px !important;
}

.u-pb-87 {
  padding-bottom: 87px !important;
}

.u-mt-88 {
  margin-top: 88px !important;
}

.u-mb-88 {
  margin-bottom: 88px !important;
}

.u-pt-88 {
  padding-top: 88px !important;
}

.u-pb-88 {
  padding-bottom: 88px !important;
}

.u-mt-89 {
  margin-top: 89px !important;
}

.u-mb-89 {
  margin-bottom: 89px !important;
}

.u-pt-89 {
  padding-top: 89px !important;
}

.u-pb-89 {
  padding-bottom: 89px !important;
}

.u-mt-90 {
  margin-top: 90px !important;
}

.u-mb-90 {
  margin-bottom: 90px !important;
}

.u-pt-90 {
  padding-top: 90px !important;
}

.u-pb-90 {
  padding-bottom: 90px !important;
}

.u-mt-91 {
  margin-top: 91px !important;
}

.u-mb-91 {
  margin-bottom: 91px !important;
}

.u-pt-91 {
  padding-top: 91px !important;
}

.u-pb-91 {
  padding-bottom: 91px !important;
}

.u-mt-92 {
  margin-top: 92px !important;
}

.u-mb-92 {
  margin-bottom: 92px !important;
}

.u-pt-92 {
  padding-top: 92px !important;
}

.u-pb-92 {
  padding-bottom: 92px !important;
}

.u-mt-93 {
  margin-top: 93px !important;
}

.u-mb-93 {
  margin-bottom: 93px !important;
}

.u-pt-93 {
  padding-top: 93px !important;
}

.u-pb-93 {
  padding-bottom: 93px !important;
}

.u-mt-94 {
  margin-top: 94px !important;
}

.u-mb-94 {
  margin-bottom: 94px !important;
}

.u-pt-94 {
  padding-top: 94px !important;
}

.u-pb-94 {
  padding-bottom: 94px !important;
}

.u-mt-95 {
  margin-top: 95px !important;
}

.u-mb-95 {
  margin-bottom: 95px !important;
}

.u-pt-95 {
  padding-top: 95px !important;
}

.u-pb-95 {
  padding-bottom: 95px !important;
}

.u-mt-96 {
  margin-top: 96px !important;
}

.u-mb-96 {
  margin-bottom: 96px !important;
}

.u-pt-96 {
  padding-top: 96px !important;
}

.u-pb-96 {
  padding-bottom: 96px !important;
}

.u-mt-97 {
  margin-top: 97px !important;
}

.u-mb-97 {
  margin-bottom: 97px !important;
}

.u-pt-97 {
  padding-top: 97px !important;
}

.u-pb-97 {
  padding-bottom: 97px !important;
}

.u-mt-98 {
  margin-top: 98px !important;
}

.u-mb-98 {
  margin-bottom: 98px !important;
}

.u-pt-98 {
  padding-top: 98px !important;
}

.u-pb-98 {
  padding-bottom: 98px !important;
}

.u-mt-99 {
  margin-top: 99px !important;
}

.u-mb-99 {
  margin-bottom: 99px !important;
}

.u-pt-99 {
  padding-top: 99px !important;
}

.u-pb-99 {
  padding-bottom: 99px !important;
}

.u-mt-100 {
  margin-top: 100px !important;
}

.u-mb-100 {
  margin-bottom: 100px !important;
}

.u-pt-100 {
  padding-top: 100px !important;
}

.u-pb-100 {
  padding-bottom: 100px !important;
}

.u-mt-101 {
  margin-top: 101px !important;
}

.u-mb-101 {
  margin-bottom: 101px !important;
}

.u-pt-101 {
  padding-top: 101px !important;
}

.u-pb-101 {
  padding-bottom: 101px !important;
}

.u-mt-102 {
  margin-top: 102px !important;
}

.u-mb-102 {
  margin-bottom: 102px !important;
}

.u-pt-102 {
  padding-top: 102px !important;
}

.u-pb-102 {
  padding-bottom: 102px !important;
}

.u-mt-103 {
  margin-top: 103px !important;
}

.u-mb-103 {
  margin-bottom: 103px !important;
}

.u-pt-103 {
  padding-top: 103px !important;
}

.u-pb-103 {
  padding-bottom: 103px !important;
}

.u-mt-104 {
  margin-top: 104px !important;
}

.u-mb-104 {
  margin-bottom: 104px !important;
}

.u-pt-104 {
  padding-top: 104px !important;
}

.u-pb-104 {
  padding-bottom: 104px !important;
}

.u-mt-105 {
  margin-top: 105px !important;
}

.u-mb-105 {
  margin-bottom: 105px !important;
}

.u-pt-105 {
  padding-top: 105px !important;
}

.u-pb-105 {
  padding-bottom: 105px !important;
}

.u-mt-106 {
  margin-top: 106px !important;
}

.u-mb-106 {
  margin-bottom: 106px !important;
}

.u-pt-106 {
  padding-top: 106px !important;
}

.u-pb-106 {
  padding-bottom: 106px !important;
}

.u-mt-107 {
  margin-top: 107px !important;
}

.u-mb-107 {
  margin-bottom: 107px !important;
}

.u-pt-107 {
  padding-top: 107px !important;
}

.u-pb-107 {
  padding-bottom: 107px !important;
}

.u-mt-108 {
  margin-top: 108px !important;
}

.u-mb-108 {
  margin-bottom: 108px !important;
}

.u-pt-108 {
  padding-top: 108px !important;
}

.u-pb-108 {
  padding-bottom: 108px !important;
}

.u-mt-109 {
  margin-top: 109px !important;
}

.u-mb-109 {
  margin-bottom: 109px !important;
}

.u-pt-109 {
  padding-top: 109px !important;
}

.u-pb-109 {
  padding-bottom: 109px !important;
}

.u-mt-110 {
  margin-top: 110px !important;
}

.u-mb-110 {
  margin-bottom: 110px !important;
}

.u-pt-110 {
  padding-top: 110px !important;
}

.u-pb-110 {
  padding-bottom: 110px !important;
}

.u-mt-111 {
  margin-top: 111px !important;
}

.u-mb-111 {
  margin-bottom: 111px !important;
}

.u-pt-111 {
  padding-top: 111px !important;
}

.u-pb-111 {
  padding-bottom: 111px !important;
}

.u-mt-112 {
  margin-top: 112px !important;
}

.u-mb-112 {
  margin-bottom: 112px !important;
}

.u-pt-112 {
  padding-top: 112px !important;
}

.u-pb-112 {
  padding-bottom: 112px !important;
}

.u-mt-113 {
  margin-top: 113px !important;
}

.u-mb-113 {
  margin-bottom: 113px !important;
}

.u-pt-113 {
  padding-top: 113px !important;
}

.u-pb-113 {
  padding-bottom: 113px !important;
}

.u-mt-114 {
  margin-top: 114px !important;
}

.u-mb-114 {
  margin-bottom: 114px !important;
}

.u-pt-114 {
  padding-top: 114px !important;
}

.u-pb-114 {
  padding-bottom: 114px !important;
}

.u-mt-115 {
  margin-top: 115px !important;
}

.u-mb-115 {
  margin-bottom: 115px !important;
}

.u-pt-115 {
  padding-top: 115px !important;
}

.u-pb-115 {
  padding-bottom: 115px !important;
}

.u-mt-116 {
  margin-top: 116px !important;
}

.u-mb-116 {
  margin-bottom: 116px !important;
}

.u-pt-116 {
  padding-top: 116px !important;
}

.u-pb-116 {
  padding-bottom: 116px !important;
}

.u-mt-117 {
  margin-top: 117px !important;
}

.u-mb-117 {
  margin-bottom: 117px !important;
}

.u-pt-117 {
  padding-top: 117px !important;
}

.u-pb-117 {
  padding-bottom: 117px !important;
}

.u-mt-118 {
  margin-top: 118px !important;
}

.u-mb-118 {
  margin-bottom: 118px !important;
}

.u-pt-118 {
  padding-top: 118px !important;
}

.u-pb-118 {
  padding-bottom: 118px !important;
}

.u-mt-119 {
  margin-top: 119px !important;
}

.u-mb-119 {
  margin-bottom: 119px !important;
}

.u-pt-119 {
  padding-top: 119px !important;
}

.u-pb-119 {
  padding-bottom: 119px !important;
}

.u-mt-120 {
  margin-top: 120px !important;
}

.u-mb-120 {
  margin-bottom: 120px !important;
}

.u-pt-120 {
  padding-top: 120px !important;
}

.u-pb-120 {
  padding-bottom: 120px !important;
}

.u-mt-121 {
  margin-top: 121px !important;
}

.u-mb-121 {
  margin-bottom: 121px !important;
}

.u-pt-121 {
  padding-top: 121px !important;
}

.u-pb-121 {
  padding-bottom: 121px !important;
}

.u-mt-122 {
  margin-top: 122px !important;
}

.u-mb-122 {
  margin-bottom: 122px !important;
}

.u-pt-122 {
  padding-top: 122px !important;
}

.u-pb-122 {
  padding-bottom: 122px !important;
}

.u-mt-123 {
  margin-top: 123px !important;
}

.u-mb-123 {
  margin-bottom: 123px !important;
}

.u-pt-123 {
  padding-top: 123px !important;
}

.u-pb-123 {
  padding-bottom: 123px !important;
}

.u-mt-124 {
  margin-top: 124px !important;
}

.u-mb-124 {
  margin-bottom: 124px !important;
}

.u-pt-124 {
  padding-top: 124px !important;
}

.u-pb-124 {
  padding-bottom: 124px !important;
}

.u-mt-125 {
  margin-top: 125px !important;
}

.u-mb-125 {
  margin-bottom: 125px !important;
}

.u-pt-125 {
  padding-top: 125px !important;
}

.u-pb-125 {
  padding-bottom: 125px !important;
}

.u-mt-126 {
  margin-top: 126px !important;
}

.u-mb-126 {
  margin-bottom: 126px !important;
}

.u-pt-126 {
  padding-top: 126px !important;
}

.u-pb-126 {
  padding-bottom: 126px !important;
}

.u-mt-127 {
  margin-top: 127px !important;
}

.u-mb-127 {
  margin-bottom: 127px !important;
}

.u-pt-127 {
  padding-top: 127px !important;
}

.u-pb-127 {
  padding-bottom: 127px !important;
}

.u-mt-128 {
  margin-top: 128px !important;
}

.u-mb-128 {
  margin-bottom: 128px !important;
}

.u-pt-128 {
  padding-top: 128px !important;
}

.u-pb-128 {
  padding-bottom: 128px !important;
}

.u-mt-129 {
  margin-top: 129px !important;
}

.u-mb-129 {
  margin-bottom: 129px !important;
}

.u-pt-129 {
  padding-top: 129px !important;
}

.u-pb-129 {
  padding-bottom: 129px !important;
}

.u-mt-130 {
  margin-top: 130px !important;
}

.u-mb-130 {
  margin-bottom: 130px !important;
}

.u-pt-130 {
  padding-top: 130px !important;
}

.u-pb-130 {
  padding-bottom: 130px !important;
}

.u-mt-131 {
  margin-top: 131px !important;
}

.u-mb-131 {
  margin-bottom: 131px !important;
}

.u-pt-131 {
  padding-top: 131px !important;
}

.u-pb-131 {
  padding-bottom: 131px !important;
}

.u-mt-132 {
  margin-top: 132px !important;
}

.u-mb-132 {
  margin-bottom: 132px !important;
}

.u-pt-132 {
  padding-top: 132px !important;
}

.u-pb-132 {
  padding-bottom: 132px !important;
}

.u-mt-133 {
  margin-top: 133px !important;
}

.u-mb-133 {
  margin-bottom: 133px !important;
}

.u-pt-133 {
  padding-top: 133px !important;
}

.u-pb-133 {
  padding-bottom: 133px !important;
}

.u-mt-134 {
  margin-top: 134px !important;
}

.u-mb-134 {
  margin-bottom: 134px !important;
}

.u-pt-134 {
  padding-top: 134px !important;
}

.u-pb-134 {
  padding-bottom: 134px !important;
}

.u-mt-135 {
  margin-top: 135px !important;
}

.u-mb-135 {
  margin-bottom: 135px !important;
}

.u-pt-135 {
  padding-top: 135px !important;
}

.u-pb-135 {
  padding-bottom: 135px !important;
}

.u-mt-136 {
  margin-top: 136px !important;
}

.u-mb-136 {
  margin-bottom: 136px !important;
}

.u-pt-136 {
  padding-top: 136px !important;
}

.u-pb-136 {
  padding-bottom: 136px !important;
}

.u-mt-137 {
  margin-top: 137px !important;
}

.u-mb-137 {
  margin-bottom: 137px !important;
}

.u-pt-137 {
  padding-top: 137px !important;
}

.u-pb-137 {
  padding-bottom: 137px !important;
}

.u-mt-138 {
  margin-top: 138px !important;
}

.u-mb-138 {
  margin-bottom: 138px !important;
}

.u-pt-138 {
  padding-top: 138px !important;
}

.u-pb-138 {
  padding-bottom: 138px !important;
}

.u-mt-139 {
  margin-top: 139px !important;
}

.u-mb-139 {
  margin-bottom: 139px !important;
}

.u-pt-139 {
  padding-top: 139px !important;
}

.u-pb-139 {
  padding-bottom: 139px !important;
}

.u-mt-140 {
  margin-top: 140px !important;
}

.u-mb-140 {
  margin-bottom: 140px !important;
}

.u-pt-140 {
  padding-top: 140px !important;
}

.u-pb-140 {
  padding-bottom: 140px !important;
}

.u-mt-141 {
  margin-top: 141px !important;
}

.u-mb-141 {
  margin-bottom: 141px !important;
}

.u-pt-141 {
  padding-top: 141px !important;
}

.u-pb-141 {
  padding-bottom: 141px !important;
}

.u-mt-142 {
  margin-top: 142px !important;
}

.u-mb-142 {
  margin-bottom: 142px !important;
}

.u-pt-142 {
  padding-top: 142px !important;
}

.u-pb-142 {
  padding-bottom: 142px !important;
}

.u-mt-143 {
  margin-top: 143px !important;
}

.u-mb-143 {
  margin-bottom: 143px !important;
}

.u-pt-143 {
  padding-top: 143px !important;
}

.u-pb-143 {
  padding-bottom: 143px !important;
}

.u-mt-144 {
  margin-top: 144px !important;
}

.u-mb-144 {
  margin-bottom: 144px !important;
}

.u-pt-144 {
  padding-top: 144px !important;
}

.u-pb-144 {
  padding-bottom: 144px !important;
}

.u-mt-145 {
  margin-top: 145px !important;
}

.u-mb-145 {
  margin-bottom: 145px !important;
}

.u-pt-145 {
  padding-top: 145px !important;
}

.u-pb-145 {
  padding-bottom: 145px !important;
}

.u-mt-146 {
  margin-top: 146px !important;
}

.u-mb-146 {
  margin-bottom: 146px !important;
}

.u-pt-146 {
  padding-top: 146px !important;
}

.u-pb-146 {
  padding-bottom: 146px !important;
}

.u-mt-147 {
  margin-top: 147px !important;
}

.u-mb-147 {
  margin-bottom: 147px !important;
}

.u-pt-147 {
  padding-top: 147px !important;
}

.u-pb-147 {
  padding-bottom: 147px !important;
}

.u-mt-148 {
  margin-top: 148px !important;
}

.u-mb-148 {
  margin-bottom: 148px !important;
}

.u-pt-148 {
  padding-top: 148px !important;
}

.u-pb-148 {
  padding-bottom: 148px !important;
}

.u-mt-149 {
  margin-top: 149px !important;
}

.u-mb-149 {
  margin-bottom: 149px !important;
}

.u-pt-149 {
  padding-top: 149px !important;
}

.u-pb-149 {
  padding-bottom: 149px !important;
}

.u-mt-150 {
  margin-top: 150px !important;
}

.u-mb-150 {
  margin-bottom: 150px !important;
}

.u-pt-150 {
  padding-top: 150px !important;
}

.u-pb-150 {
  padding-bottom: 150px !important;
}

.u-mt-151 {
  margin-top: 151px !important;
}

.u-mb-151 {
  margin-bottom: 151px !important;
}

.u-pt-151 {
  padding-top: 151px !important;
}

.u-pb-151 {
  padding-bottom: 151px !important;
}

.u-mt-152 {
  margin-top: 152px !important;
}

.u-mb-152 {
  margin-bottom: 152px !important;
}

.u-pt-152 {
  padding-top: 152px !important;
}

.u-pb-152 {
  padding-bottom: 152px !important;
}

.u-mt-153 {
  margin-top: 153px !important;
}

.u-mb-153 {
  margin-bottom: 153px !important;
}

.u-pt-153 {
  padding-top: 153px !important;
}

.u-pb-153 {
  padding-bottom: 153px !important;
}

.u-mt-154 {
  margin-top: 154px !important;
}

.u-mb-154 {
  margin-bottom: 154px !important;
}

.u-pt-154 {
  padding-top: 154px !important;
}

.u-pb-154 {
  padding-bottom: 154px !important;
}

.u-mt-155 {
  margin-top: 155px !important;
}

.u-mb-155 {
  margin-bottom: 155px !important;
}

.u-pt-155 {
  padding-top: 155px !important;
}

.u-pb-155 {
  padding-bottom: 155px !important;
}

.u-mt-156 {
  margin-top: 156px !important;
}

.u-mb-156 {
  margin-bottom: 156px !important;
}

.u-pt-156 {
  padding-top: 156px !important;
}

.u-pb-156 {
  padding-bottom: 156px !important;
}

.u-mt-157 {
  margin-top: 157px !important;
}

.u-mb-157 {
  margin-bottom: 157px !important;
}

.u-pt-157 {
  padding-top: 157px !important;
}

.u-pb-157 {
  padding-bottom: 157px !important;
}

.u-mt-158 {
  margin-top: 158px !important;
}

.u-mb-158 {
  margin-bottom: 158px !important;
}

.u-pt-158 {
  padding-top: 158px !important;
}

.u-pb-158 {
  padding-bottom: 158px !important;
}

.u-mt-159 {
  margin-top: 159px !important;
}

.u-mb-159 {
  margin-bottom: 159px !important;
}

.u-pt-159 {
  padding-top: 159px !important;
}

.u-pb-159 {
  padding-bottom: 159px !important;
}

.u-mt-160 {
  margin-top: 160px !important;
}

.u-mb-160 {
  margin-bottom: 160px !important;
}

.u-pt-160 {
  padding-top: 160px !important;
}

.u-pb-160 {
  padding-bottom: 160px !important;
}

.u-mt-161 {
  margin-top: 161px !important;
}

.u-mb-161 {
  margin-bottom: 161px !important;
}

.u-pt-161 {
  padding-top: 161px !important;
}

.u-pb-161 {
  padding-bottom: 161px !important;
}

.u-mt-162 {
  margin-top: 162px !important;
}

.u-mb-162 {
  margin-bottom: 162px !important;
}

.u-pt-162 {
  padding-top: 162px !important;
}

.u-pb-162 {
  padding-bottom: 162px !important;
}

.u-mt-163 {
  margin-top: 163px !important;
}

.u-mb-163 {
  margin-bottom: 163px !important;
}

.u-pt-163 {
  padding-top: 163px !important;
}

.u-pb-163 {
  padding-bottom: 163px !important;
}

.u-mt-164 {
  margin-top: 164px !important;
}

.u-mb-164 {
  margin-bottom: 164px !important;
}

.u-pt-164 {
  padding-top: 164px !important;
}

.u-pb-164 {
  padding-bottom: 164px !important;
}

.u-mt-165 {
  margin-top: 165px !important;
}

.u-mb-165 {
  margin-bottom: 165px !important;
}

.u-pt-165 {
  padding-top: 165px !important;
}

.u-pb-165 {
  padding-bottom: 165px !important;
}

.u-mt-166 {
  margin-top: 166px !important;
}

.u-mb-166 {
  margin-bottom: 166px !important;
}

.u-pt-166 {
  padding-top: 166px !important;
}

.u-pb-166 {
  padding-bottom: 166px !important;
}

.u-mt-167 {
  margin-top: 167px !important;
}

.u-mb-167 {
  margin-bottom: 167px !important;
}

.u-pt-167 {
  padding-top: 167px !important;
}

.u-pb-167 {
  padding-bottom: 167px !important;
}

.u-mt-168 {
  margin-top: 168px !important;
}

.u-mb-168 {
  margin-bottom: 168px !important;
}

.u-pt-168 {
  padding-top: 168px !important;
}

.u-pb-168 {
  padding-bottom: 168px !important;
}

.u-mt-169 {
  margin-top: 169px !important;
}

.u-mb-169 {
  margin-bottom: 169px !important;
}

.u-pt-169 {
  padding-top: 169px !important;
}

.u-pb-169 {
  padding-bottom: 169px !important;
}

.u-mt-170 {
  margin-top: 170px !important;
}

.u-mb-170 {
  margin-bottom: 170px !important;
}

.u-pt-170 {
  padding-top: 170px !important;
}

.u-pb-170 {
  padding-bottom: 170px !important;
}

.u-mt-171 {
  margin-top: 171px !important;
}

.u-mb-171 {
  margin-bottom: 171px !important;
}

.u-pt-171 {
  padding-top: 171px !important;
}

.u-pb-171 {
  padding-bottom: 171px !important;
}

.u-mt-172 {
  margin-top: 172px !important;
}

.u-mb-172 {
  margin-bottom: 172px !important;
}

.u-pt-172 {
  padding-top: 172px !important;
}

.u-pb-172 {
  padding-bottom: 172px !important;
}

.u-mt-173 {
  margin-top: 173px !important;
}

.u-mb-173 {
  margin-bottom: 173px !important;
}

.u-pt-173 {
  padding-top: 173px !important;
}

.u-pb-173 {
  padding-bottom: 173px !important;
}

.u-mt-174 {
  margin-top: 174px !important;
}

.u-mb-174 {
  margin-bottom: 174px !important;
}

.u-pt-174 {
  padding-top: 174px !important;
}

.u-pb-174 {
  padding-bottom: 174px !important;
}

.u-mt-175 {
  margin-top: 175px !important;
}

.u-mb-175 {
  margin-bottom: 175px !important;
}

.u-pt-175 {
  padding-top: 175px !important;
}

.u-pb-175 {
  padding-bottom: 175px !important;
}

.u-mt-176 {
  margin-top: 176px !important;
}

.u-mb-176 {
  margin-bottom: 176px !important;
}

.u-pt-176 {
  padding-top: 176px !important;
}

.u-pb-176 {
  padding-bottom: 176px !important;
}

.u-mt-177 {
  margin-top: 177px !important;
}

.u-mb-177 {
  margin-bottom: 177px !important;
}

.u-pt-177 {
  padding-top: 177px !important;
}

.u-pb-177 {
  padding-bottom: 177px !important;
}

.u-mt-178 {
  margin-top: 178px !important;
}

.u-mb-178 {
  margin-bottom: 178px !important;
}

.u-pt-178 {
  padding-top: 178px !important;
}

.u-pb-178 {
  padding-bottom: 178px !important;
}

.u-mt-179 {
  margin-top: 179px !important;
}

.u-mb-179 {
  margin-bottom: 179px !important;
}

.u-pt-179 {
  padding-top: 179px !important;
}

.u-pb-179 {
  padding-bottom: 179px !important;
}

.u-mt-180 {
  margin-top: 180px !important;
}

.u-mb-180 {
  margin-bottom: 180px !important;
}

.u-pt-180 {
  padding-top: 180px !important;
}

.u-pb-180 {
  padding-bottom: 180px !important;
}

.u-mt-181 {
  margin-top: 181px !important;
}

.u-mb-181 {
  margin-bottom: 181px !important;
}

.u-pt-181 {
  padding-top: 181px !important;
}

.u-pb-181 {
  padding-bottom: 181px !important;
}

.u-mt-182 {
  margin-top: 182px !important;
}

.u-mb-182 {
  margin-bottom: 182px !important;
}

.u-pt-182 {
  padding-top: 182px !important;
}

.u-pb-182 {
  padding-bottom: 182px !important;
}

.u-mt-183 {
  margin-top: 183px !important;
}

.u-mb-183 {
  margin-bottom: 183px !important;
}

.u-pt-183 {
  padding-top: 183px !important;
}

.u-pb-183 {
  padding-bottom: 183px !important;
}

.u-mt-184 {
  margin-top: 184px !important;
}

.u-mb-184 {
  margin-bottom: 184px !important;
}

.u-pt-184 {
  padding-top: 184px !important;
}

.u-pb-184 {
  padding-bottom: 184px !important;
}

.u-mt-185 {
  margin-top: 185px !important;
}

.u-mb-185 {
  margin-bottom: 185px !important;
}

.u-pt-185 {
  padding-top: 185px !important;
}

.u-pb-185 {
  padding-bottom: 185px !important;
}

.u-mt-186 {
  margin-top: 186px !important;
}

.u-mb-186 {
  margin-bottom: 186px !important;
}

.u-pt-186 {
  padding-top: 186px !important;
}

.u-pb-186 {
  padding-bottom: 186px !important;
}

.u-mt-187 {
  margin-top: 187px !important;
}

.u-mb-187 {
  margin-bottom: 187px !important;
}

.u-pt-187 {
  padding-top: 187px !important;
}

.u-pb-187 {
  padding-bottom: 187px !important;
}

.u-mt-188 {
  margin-top: 188px !important;
}

.u-mb-188 {
  margin-bottom: 188px !important;
}

.u-pt-188 {
  padding-top: 188px !important;
}

.u-pb-188 {
  padding-bottom: 188px !important;
}

.u-mt-189 {
  margin-top: 189px !important;
}

.u-mb-189 {
  margin-bottom: 189px !important;
}

.u-pt-189 {
  padding-top: 189px !important;
}

.u-pb-189 {
  padding-bottom: 189px !important;
}

.u-mt-190 {
  margin-top: 190px !important;
}

.u-mb-190 {
  margin-bottom: 190px !important;
}

.u-pt-190 {
  padding-top: 190px !important;
}

.u-pb-190 {
  padding-bottom: 190px !important;
}

.u-mt-191 {
  margin-top: 191px !important;
}

.u-mb-191 {
  margin-bottom: 191px !important;
}

.u-pt-191 {
  padding-top: 191px !important;
}

.u-pb-191 {
  padding-bottom: 191px !important;
}

.u-mt-192 {
  margin-top: 192px !important;
}

.u-mb-192 {
  margin-bottom: 192px !important;
}

.u-pt-192 {
  padding-top: 192px !important;
}

.u-pb-192 {
  padding-bottom: 192px !important;
}

.u-mt-193 {
  margin-top: 193px !important;
}

.u-mb-193 {
  margin-bottom: 193px !important;
}

.u-pt-193 {
  padding-top: 193px !important;
}

.u-pb-193 {
  padding-bottom: 193px !important;
}

.u-mt-194 {
  margin-top: 194px !important;
}

.u-mb-194 {
  margin-bottom: 194px !important;
}

.u-pt-194 {
  padding-top: 194px !important;
}

.u-pb-194 {
  padding-bottom: 194px !important;
}

.u-mt-195 {
  margin-top: 195px !important;
}

.u-mb-195 {
  margin-bottom: 195px !important;
}

.u-pt-195 {
  padding-top: 195px !important;
}

.u-pb-195 {
  padding-bottom: 195px !important;
}

.u-mt-196 {
  margin-top: 196px !important;
}

.u-mb-196 {
  margin-bottom: 196px !important;
}

.u-pt-196 {
  padding-top: 196px !important;
}

.u-pb-196 {
  padding-bottom: 196px !important;
}

.u-mt-197 {
  margin-top: 197px !important;
}

.u-mb-197 {
  margin-bottom: 197px !important;
}

.u-pt-197 {
  padding-top: 197px !important;
}

.u-pb-197 {
  padding-bottom: 197px !important;
}

.u-mt-198 {
  margin-top: 198px !important;
}

.u-mb-198 {
  margin-bottom: 198px !important;
}

.u-pt-198 {
  padding-top: 198px !important;
}

.u-pb-198 {
  padding-bottom: 198px !important;
}

.u-mt-199 {
  margin-top: 199px !important;
}

.u-mb-199 {
  margin-bottom: 199px !important;
}

.u-pt-199 {
  padding-top: 199px !important;
}

.u-pb-199 {
  padding-bottom: 199px !important;
}

.u-mt-200 {
  margin-top: 200px !important;
}

.u-mb-200 {
  margin-bottom: 200px !important;
}

.u-pt-200 {
  padding-top: 200px !important;
}

.u-pb-200 {
  padding-bottom: 200px !important;
}
.u-ml-auto {
  margin-right: 0 !important;
  margin-left: auto !important;
}

.u-mr-auto {
  margin-right: auto !important;
  margin-left: 0 !important;
}

.u-m-center {
  margin-right: auto !important;
  margin-left: auto !important;
}

.u-tal {
  text-align: left !important;
}

.u-tac {
  text-align: center !important;
}

.u-tar {
  text-align: right !important;
}

.u-txt-uppercase {
  text-transform: uppercase;
}

@media screen and (min-width: 768px) and (max-width: 1023.98px){
  .p-home__opencampus {
    background: var(--grad_oc);
  }
}

@media screen and (min-width: 768px){
  body {
    font-size: calc(16 / var(--base) * 1rem);
  }
  .p-dept__twocourse {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-dept__yearsteps > li + li::before {
    position: absolute;
    top: 50%;
    left: calc(clamp(16px, 2vw, 24px) / -2);
    width: 14px;
    height: 16px;
    transform: translate(-50%, -50%);
    background: url("../images/department/social/step-arrow.png") center/contain no-repeat;
    content: "";
  }
  .p-dept__skills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: clamp(32px, 5vw, 60px);
         column-gap: clamp(32px, 5vw, 60px);
  }
  .p-dept__skills > li:nth-child(odd) {
    padding-right: clamp(32px, 5vw, 60px);
    border-right: 1px solid var(--clr_text);
  }
  .p-dept__skills > li:nth-child(-n+2) {
    border-bottom: 1px solid var(--clr_text);
  }
  .p-dept__projects > li {
    grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
  }
  .p-dept--social .p-dept__skills {
    position: relative;
  }
  .p-dept--social .p-dept__skills > li:nth-child(odd) {
    border-right: 0;
  }
  .p-dept--social .p-dept__skills > li:nth-child(-n+2) {
    border-bottom: 0;
  }
  .p-dept--social .p-dept__skills::before, .p-dept--social .p-dept__skills::after {
    position: absolute;
    background: var(--clr_text);
    content: "";
  }
  .p-dept--social .p-dept__skills::before {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
  }
  .p-dept--social .p-dept__skills::after {
    top: 50%;
    right: 0;
    left: 0;
    height: 1px;
  }
  .p-dept--social .p-dept__projects > li {
    align-items: center;
    gap: 20px;
  }
  .u-view-small {
    display: none !important;
  }
}

@media not screen and (min-width: 768px){
  .p-home__opencampus {
    /*  Figma SP は 375×625 の帯。中身は 579px しかないので下限で高さを作る。
        min- なので日程カードが増えても伸びる（固定 height にはしない）  */
    min-height: 625px;
    /*  375×625 の合成 JPG。cover+center だと帯が伸びたとき右上の顔クロップが脚側へずれる  */
    background: url("../images/home/oc-band-bg-sp.jpg") right top/100% auto no-repeat;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1399px){
  .p-dept--sports .p-dept__want-panel {
    height: auto;
    min-height: 824px;
    overflow: hidden;
  }
  .p-dept--management .p-dept__want-panel {
    height: auto;
    min-height: 848px;
    overflow: hidden;
  }
}

@media screen and (min-width: 1024px){
  :root {
    --size-header-h: 96px;
  }
  .c-form {
    --layout-gap: 24px;
    --label-gap: 12px;
    --form_check_size: 16px;
    --form_radio_size: 16px;
  }
  .c-head-dot {
    --head-dot-size: 16px;
    --head-dot-lap: 8px;
    font-size: 24px;
  }
  .c-head-en {
    font-size: clamp(40px, 5.56vw, 80px);
  }
  .c-pager-archive {
    --pager-gap: 60px;
    --pager-child-gap: 24px;
    --btn-size: 60px;
    --number-size: 60px;
  }
  .c-pager-single {
    --pager-gap: 60px;
    --btn-size: 60px;
  }
  .c-table01 th, .c-table01 td {
    display: table-cell;
  }
  .p-home__campuses-life, .p-home__about-cta {
    min-height: 120px;
    padding: 24px 24px 24px 40px;
    font-size: 20px;
  }
  .p-home .p-home__br-sp {
    display: none;
  }
  .p-home__mv {
    height: calc(100lvh - var(--size-header-h));
  }
  .p-home__mv-stage {
    aspect-ratio: auto;
    height: 100%;
  }
  .p-home__mv-wordmark {
    width: min(80vw, 713.989px);
  }
  .p-home__pickup {
    --pickup-inner-left: max(20px, calc((100% - 1200px) / 2));
    --pickup-oc-width: calc(var(--pickup-inner-left) + 416px + 40px);
    grid-template-columns: var(--pickup-oc-width) 1fr;
    padding: 0;
    gap: 60px;
  }
  .p-home__pickup-oc {
    min-height: 666px;
    padding: 60px 40px 80px max(20px, 100% - 456px);
    /*  SP は角丸なし（Figma SP は下端まで幅375のまま）。角丸は PC だけ  */
    border-radius: 0 0 32px 0;
  }
  .p-home__pickup-topics {
    padding: 60px max(20px, (100% - 1200px) / 2) 24px 0;
  }
  .p-home__pickup-topics .c-head-dot {
    padding-left: 0;
  }
  .p-home__pickup-topics .p-home__topics-controls {
    padding-right: 0;
    padding-left: 0;
  }
  .p-home__pickup-oc .c-head-dot {
    --head-dot-lap: 4px;
    margin-bottom: 30px;
  }
  .p-home__pickup-oc .c-more {
    width: 300px;
    /*  Figma ではカード列（416px）の右端に揃う（x236〜536）。
        45px = カード下端から点線までの 15px ＋ 点線からボタンまでの 30px  */
    margin: 45px 0 0 auto;
  }
  .p-home__pickup-topics .c-head-dot {
    margin-bottom: 30px;
  }
  .p-home__oc-list {
    padding-bottom: 20px;
    gap: 12px;
  }
  .p-home__pickup-oc .p-home__oc-list {
    /*  Figma 1419:49688: 4列・隙間4px（カード101 + 4 = 105px 間隔）  */
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
  }
  .p-home__opencampus .p-home__oc-list {
    /*  Figma 1419:49689: 6列・隙間12px（カード190 + 12 = 202px 間隔）  */
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
  }
  .p-home__oc-campus + .p-home__oc-campus {
    margin-top: 19px;
  }
  .p-home__oc-campuses {
    margin-bottom: -16px;
  }
  /*  MV下: 4列 = 101*4 + 4*3 = 416px（Figma 1419:49688）  */
  .p-home__pickup-oc .p-home__oc-campuses,
  .p-home__pickup-oc .p-home__oc-campus {
    width: 100%;
    max-width: 416px;
  }
  /*  下部OC: 6列 = 190*6 + 12*5 = 1200px（Figma 1419:49689 のインナー幅）  */
  .p-home__opencampus .p-home__oc-campuses,
  .p-home__opencampus .p-home__oc-campus {
    width: 100%;
    max-width: 1200px;
  }
  .p-home__oc-campus-time {
    font-size: 13px;
    line-height: 1.7;
  }
  .p-home__pickup-oc .c-head-dot {
    font-size: 24px;
  }
  .p-home__opencampus .p-home__oc-campus-label {
    height: 50px;
    padding: 4px;
    font-size: 15px;
    letter-spacing: normal;
  }
  .p-home__opencampus .p-home__oc-campus-label-inner {
    height: 42px;
    padding: 0 12px;
    gap: 8px;
  }
  .p-home__opencampus .p-home__oc-campus-label-inner img {
    width: 20px;
    height: 20px;
  }
  .p-home__oc-item {
    aspect-ratio: auto;
    padding: 4px;
  }
  .p-home__oc-inner {
    width: 100%;
    height: 100%;
    min-height: 0;
  }
  .p-home__oc-year {
    font-size: 13px;
    letter-spacing: 0.26px;
  }
  .p-home__oc-date {
    font-size: 32px;
  }
  .p-home__oc-wday {
    width: 1.667em;
    height: 1.667em;
    font-size: 12px;
    letter-spacing: 0.24px;
  }
  .p-home__pickup-oc {
    /*  幅はグリッド側（1fr）が決め、高さは比率で追従させる  */
  }
  .p-home__pickup-oc .p-home__oc-item {
    aspect-ratio: 1;
  }
  .p-home__pickup-oc {
    /*  年 / 日付 / バッジ を縦3段。日付とバッジは幅を共有する 1 列に入れ、
        バッジを右寄せすることで「日付の右端に揃う」Figma の見た目を作る。
        （列幅を日付に合わせるため grid-template-columns は max-content）  */
  }
  .p-home__pickup-oc .p-home__oc-inner {
    grid-template-rows: auto auto auto;
    grid-template-columns: -webkit-max-content;
    grid-template-columns: max-content;
    align-content: start;
    justify-content: center;
    /*  Figma: 年テキストの上端は外枠上から 21.5px  */
    padding: 19px 0 0;
  }
  .p-home__pickup-oc .p-home__oc-year {
    grid-row: 1;
    grid-column: 1;
    justify-self: center;
    padding: 0;
  }
  .p-home__pickup-oc .p-home__oc-date {
    grid-row: 2;
    grid-column: 1;
    justify-self: center;
    padding: 6px 0 0;
  }
  .p-home__pickup-oc .p-home__oc-wday {
    grid-row: 3;
    grid-column: 1;
    justify-self: end;
    margin: 0;
  }
  .p-home__opencampus {
    /*  幅はグリッド側（1fr）が決め、高さは比率で追従させる  */
  }
  .p-home__opencampus .p-home__oc-item {
    aspect-ratio: 190/86;
  }
  .p-home__opencampus {
    /*  Figma 1674:4480 実測:
          年      … 外枠左から 15px / 上から 16px / 14px
          日付    … 右端が内枠右から 37px / 外枠上から 38px / 40px
          バッジ  … 内枠右から 15px、日付との間隔 6px、外枠上から 46px  */
  }
  .p-home__opencampus .p-home__oc-year {
    padding: 11px 0 0 10px;
    font-size: 14px;
    line-height: 0.709;
    letter-spacing: 0.28px;
  }
  @supports (text-box-trim: trim-both) {
    .p-home__opencampus .p-home__oc-year {
      line-height: 1;
      text-box-trim: trim-both;
      text-box-edge: cap alphabetic;
    }
  }
  .p-home__opencampus {
    /*  日付とバッジは grid の end 揃えで下端を一致させる。
        行全体の下オフセットは内枠側の padding-bottom で持たせる  */
  }
  .p-home__opencampus .p-home__oc-inner {
    padding-bottom: 15px;
  }
  .p-home__opencampus .p-home__oc-date {
    padding: 0;
    font-size: clamp(28px, 2.78vw, 40px);
    line-height: 0.709;
    letter-spacing: 0.05em;
  }
  @supports (text-box-trim: trim-both) {
    .p-home__opencampus .p-home__oc-date {
      line-height: 1;
      text-box-trim: trim-both;
      text-box-edge: cap alphabetic;
    }
  }
  .p-home__opencampus .p-home__oc-wday {
    margin: 0 10px 0 6px;
  }
  .p-home__opencampus .p-home__oc-campus-label {
    border-radius: 8px;
    letter-spacing: 0.02em;
  }
  .p-home__opencampus .p-home__oc-campus-label-inner {
    padding-inline: 15px;
    gap: 10px;
    border-radius: 8px;
  }
  .p-home__topic {
    aspect-ratio: 353/206;
    padding: 6px;
  }
  .p-home__topics-viewport {
    margin-right: 0;
    margin-left: 0;
  }
  .p-home__topics-list {
    --topics-gap: 20px;
    --topics-visible: 2.2;
    grid-auto-columns: calc((100cqi - var(--topics-gap) * 2) / var(--topics-visible));
    gap: 25px var(--topics-gap);
  }
  .p-home__topics-controls {
    max-width: 684px;
    margin-top: 26px;
  }
  .p-home__topics-prev,
  .p-home__topics-next {
    width: 30px;
    height: 30px;
  }
  .p-home__topics-next {
    margin-right: 30px;
  }
  .p-home__topics-progress {
    height: 4px;
  }
  .p-home__topics.is-static .p-home__topics-viewport {
    margin-right: 0;
  }
  .p-home__topics.is-static .p-home__topics-list {
    --topics-visible: 2;
    grid-auto-columns: calc((100cqi - var(--topics-gap) * (var(--topics-visible) - 1)) / var(--topics-visible));
  }
  .p-home__news .c-head-dot {
    margin-bottom: 30px;
  }
  .p-home__news {
    padding: 64px 0 73px;
  }
  .p-home__news-tabs {
    flex-wrap: wrap;
    margin-bottom: 30px;
    padding-top: 31px;
    overflow-x: visible;
    gap: 10px;
  }
  .p-home__news-tab {
    min-height: 34px;
    padding: 0 20px;
    border-radius: 8px;
    font-size: 14px;
  }
  .p-home__news-list {
    grid-template-columns: 1fr 1fr;
    gap: 15px 40px;
  }
  .p-home__news-item {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    align-items: start;
    min-height: 142px;
    padding: 15px 19px; /*  border 1px を含めて Figma の 16px / 20px になる  */
    gap: 0 20px;
    border-radius: 8px;
  }
  .p-home__news-item::before {
    aspect-ratio: auto;
    width: 200px;
    height: 142px;
    background: url("../images/home/news-card-deco.svg") left top/contain no-repeat;
  }
  .p-home__news-thumb {
    aspect-ratio: auto;
    width: 200px;
    height: 110px;
    margin: 0;
    border-radius: 4px;
  }
  .p-home__news-body {
    justify-content: flex-start;
    width: auto;
    min-width: 0;
    padding: 0;
  }
  .p-home__news-body time {
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.5;
  }
  .p-home__news-body p {
    margin-top: 12px;
    font-size: 15px;
    letter-spacing: 0.02em;
  }
  .p-home__news-cats {
    margin-top: 6px;
    gap: 5px;
  }
  .p-home__news-cats li {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 0 10px;
    font-size: 12px;
  }
  .p-home__news-more {
    margin-top: 30px;
  }
  .p-home__catch {
    min-height: 1491px;
    padding: 235px 0 35px;
  }
  .p-home__catch::before {
    top: 120px;
    left: -4%;
    width: min(84%, 1216px);
    height: 474px;
  }
  .p-home__catch::after {
    top: 280px;
    right: -2%;
    width: min(42%, 620px);
    height: 320px;
  }
  .p-home__catch-lead {
    padding: 16px 24px;
    gap: 0 4px;
    border-radius: 12px;
    font-size: 48px;
    line-height: 1.4;
  }
  .p-home__catch-and {
    margin: 0 4px;
  }
  .p-home__catch-copy {
    margin: 16px 0 0;
    padding: 14px 24px;
    border-radius: 12px;
  }
  .p-home__catch-scroll {
    margin-top: 0;
    overflow: visible;
  }
  .p-home__catch-illust {
    width: min(1354px, 100% - 40px);
    margin: 144px auto 0;
  }
  .p-home__catch-sp {
    display: none;
  }
  .p-home__catch-photo {
    width: 100%;
    height: auto;
  }
  .p-home__catch-bubble {
    min-width: 80px;
    min-height: 72px;
    padding: 16px 18px 12px;
    transform: translateX(calc(-50% + 40px));
  }
  .p-home__catch-bubble::before {
    border-radius: 18px;
  }
  .p-home__catch-bubble-face {
    width: 80px;
    height: 72px;
  }
  .p-home__catch-bubble-text {
    font-size: 15px;
  }
  .p-home__about .p-home__watermark {
    z-index: 0;
    position: absolute;
    top: 24px;
    right: 0;
    margin: 0;
    font-size: 160px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    white-space: nowrap;
    pointer-events: none;
  }
  .p-home__about {
    margin-top: -32px;
    padding: 120px 0 32px;
    border-radius: 48px 48px 0 0;
  }
  .p-home__about-intro {
    display: grid;
    z-index: 1;
    position: relative;
    grid-template-columns: minmax(0, 600px) 536px;
    align-items: start;
    justify-content: space-between;
    -moz-column-gap: 64px;
         column-gap: 64px;
    margin-top: 0;
  }
  .p-home__about-head h2 {
    margin: 30px 0 40px;
    font-size: 40px;
  }
  .p-home__about-head h2 + p {
    font-size: 16px;
  }
  .p-home__about-people {
    grid-template-columns: 258px 258px;
    width: 536px;
    margin: 16px 0 0;
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 12px;
  }
  .p-home__about-people li {
    aspect-ratio: auto;
    width: 258px;
    height: 258px;
  }
  .p-home__about-people img {
    aspect-ratio: auto;
    width: 278px;
    max-width: none;
    height: 278px;
    margin: -10px;
    -o-object-fit: initial;
       object-fit: initial;
  }
  .p-home__about-logo {
    padding: 0 20px 0 10px;
    gap: 10px;
    font-size: 16px;
  }
  .p-home__about-logo .p-home__about-logo-mark {
    width: 240px;
  }
  .p-home__about-stats {
    z-index: 1;
    position: relative;
    grid-template-columns: repeat(4, minmax(0, 285px));
    justify-content: space-between;
    margin-top: 60px;
    gap: 20px;
  }
  .p-home__about-stats li:nth-child(3), .p-home__about-stats li:nth-child(4) {
    min-height: 295px;
  }
  .p-home__about-stats li {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 285px;
    height: 295px;
    min-height: 295px;
    padding: 139px 20px 24px;
    text-align: center;
  }
  .p-home__about-stats .p-home__about-stat-icon {
    position: absolute;
    left: 50%;
    width: 100px;
    margin: 0;
    transform: translateX(-50%);
  }
  .p-home__about-stats .p-home__about-stat-icon img {
    width: 100px;
    height: auto;
  }
  .p-home__about-stats .p-home__about-stat-icon--cap {
    top: 46px;
  }
  .p-home__about-stats .p-home__about-stat-icon--globe {
    top: 33px;
  }
  .p-home__about-stats .p-home__about-stat-icon--hands {
    top: 40px;
  }
  .p-home__about-stats .p-home__about-stat-icon--sprout {
    top: 43px;
  }
  .p-home__about-stats h3 {
    margin: 0 0 20px;
    font-size: 18px;
  }
  .p-home__about-stats p {
    width: 185px;
    font-size: 15px;
  }
  .p-home__about-more {
    z-index: 1;
    position: relative;
    margin-top: 48px;
  }
  .p-home__about-cta {
    height: 120px;
    min-height: 120px;
    padding: 40px;
    font-size: 20px;
    font-family: "LINE Seed JP", "IBM Plex Sans JP", var(--ff-body);
    letter-spacing: 0.02em;
  }
  .p-home__campuses h2 {
    font-size: 36px;
    letter-spacing: 0.02em;
  }
  .p-home__campuses-lead {
    font-size: 16px;
  }
  .p-home__campuses-grid {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
  .p-home__campuses-card img {
    aspect-ratio: auto;
    height: 320px;
  }
  .p-home__campuses-card h3 {
    margin-top: 20px;
    font-size: 24px;
  }
  .p-home__campuses-card p {
    min-height: 46px;
    font-size: 15px;
  }
  .p-home__campuses-actions .c-more {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    width: 200px;
    min-width: 200px;
    max-width: none;
    height: 64px;
    padding: 0 20px;
    gap: 8px;
    font-size: 14px;
  }
  .p-home__campuses-actions .c-more:nth-child(2) {
    flex: 0 0 215px;
    width: 215px;
    min-width: 215px;
  }
  .p-home__campuses-actions {
    flex-wrap: wrap;
    gap: 8px;
  }
  .p-home__campuses-life {
    margin-top: 108px;
  }
  .p-home__department {
    padding: 85px 0 135px;
  }
  .p-home__department .p-home__watermark {
    position: static;
    top: auto;
    margin-left: calc(50% - 50vw);
    font-size: clamp(56px, 11.11vw, 160px);
  }
  .p-home__department h2 {
    margin: 8px 0 40px;
    font-size: 40px;
    line-height: 64px;
  }
  .p-home__dept {
    display: grid;
    grid-template-columns: minmax(0, 430fr) minmax(0, 730fr);
    -moz-column-gap: 40px;
         column-gap: 40px;
    justify-content: center;
    min-height: 780px;
    padding: 80px max(20px, (100vw - 1200px) / 2);
    border-radius: 32px;
  }
  .p-home__dept::before {
    display: block;
    opacity: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .p-home__dept + .p-home__dept {
    margin-top: 40px;
  }
  .p-home__dept--social::before {
    background: rgba(255, 215, 0, 0.22);
  }
  .p-home__dept--management::before {
    background: rgba(255, 166, 0, 0.22);
  }
  .p-home__dept--sports::before {
    background: rgba(53, 169, 255, 0.22);
  }
  .p-home__dept-body {
    display: flex;
    flex-direction: column;
    min-height: 620px;
  }
  .p-home__dept-photo {
    aspect-ratio: auto;
    height: 620px;
    border-radius: 32px;
  }
  .p-home__dept-photo img {
    -o-object-position: center;
       object-position: center;
  }
  .p-home__dept--sports .p-home__dept-photo img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .p-home__dept-summary {
    width: 100%;
    min-width: 0;
    min-height: 327px;
    margin-top: 0;
    padding: 50px 40px;
    border-radius: 32px;
    box-shadow: 0 0 15px 4px rgba(0, 0, 0, 0.04);
  }
  .p-home__dept-faculty {
    min-height: 45px;
    margin-bottom: 20px;
    padding: 0 30px;
    font-size: 20px;
    letter-spacing: 0.02em;
  }
  .p-home__dept-body h3 {
    max-width: 650px;
    margin-bottom: 16px;
    font-size: 36px;
    letter-spacing: 0.02em;
  }
  .p-home__dept-fields li {
    min-height: 40px;
    padding: 0 16px 0 12px;
    font-size: 15px;
    letter-spacing: 0.02em;
  }
  .p-home__dept-fields li::before {
    font-size: 15px;
  }
  .p-home__dept-campus {
    min-height: 40px;
    padding: 0 16px 0 20px;
    font-size: 15px;
  }
  .p-home__dept-go {
    top: auto;
    right: 40px;
    bottom: 50px;
    width: 80px;
    height: 80px;
  }
  .p-home__dept-go::before {
    width: 20px;
    height: 15px;
  }
  .p-home__dept-go img {
    width: 20px;
    height: 15px;
  }
  .p-home__dept-news {
    display: grid;
    grid-template-columns: 200px minmax(0, 460px);
    -moz-column-gap: 70px;
    position: relative;
         column-gap: 70px;
    flex: 1 1 auto;
    min-height: 253px;
    padding: 40px 0 0;
  }
  .p-home__dept-news::before {
    position: absolute;
    top: 83px;
    left: 235px;
    width: 0;
    height: 210px;
    border-left: 1px dashed #fff;
    content: "";
    pointer-events: none;
  }
  .p-home__dept-news h4 {
    grid-column: 1/-1;
    margin-bottom: 20px;
    font-size: 16px;
  }
  .p-home__dept-news-item.is-featured.is-no-thumbnail {
    grid-template-columns: minmax(0, 1fr);
  }
  .p-home__dept-news-list {
    grid-row: 2;
    grid-column: 2;
    min-height: 210px;
  }
  .p-home__dept-news-item.is-featured {
    display: flex;
    grid-template-columns: none;
    grid-row: 2;
    grid-column: 1;
    flex-direction: column;
    min-height: 210px;
    margin: 0;
    padding: 0;
    gap: 12px;
  }
  .p-home__dept-news-item:not(.is-featured) {
    min-height: 105px;
    padding: 0;
    border-top: 0;
  }
  .p-home__dept-news-item:not(.is-featured):first-child {
    padding-top: 26px;
  }
  .p-home__dept-news-item:not(.is-featured) + .p-home__dept-news-item:not(.is-featured) {
    padding-top: 26px;
    border-top: 1px dashed #fff;
  }
  .p-home__dept-news-text > span {
    font-size: 15px;
  }
  .p-home__dept-news-thumb {
    flex: 0 0 110px;
    aspect-ratio: auto;
    width: 200px;
    height: 110px;
  }
  .p-home__dept-news-go {
    width: 30px;
    height: 30px;
  }
  .p-home__match .p-home__match-label {
    min-height: clamp(40px, 3.47vw, 50px);
    margin-bottom: clamp(20px, 2.08vw, 30px);
    padding: 0 clamp(14px, 1.39vw, 20px);
    font-size: clamp(18px, 1.53vw, 22px);
    line-height: 1.5;
  }
  .p-home__match .p-home__match-label::after {
    display: none;
  }
  .p-home__match .p-home__match-label .p-home__match-label-tail {
    display: block;
    position: absolute;
    top: 100%;
    left: clamp(14px, 1.39vw, 20px);
    width: 20px;
    max-width: none;
    height: 20px;
    transform: scaleY(-1);
  }
  .p-home__match h2 {
    margin-bottom: clamp(28px, 2.78vw, 40px);
    font-size: clamp(36px, 4.17vw, 60px);
    line-height: 1.6;
  }
  .p-home__match h3 {
    margin: 56px 0 20px;
  }
  .p-home__match {
    padding: 80px 0 120px;
  }
  .p-home__match::before {
    top: 96px;
  }
  .p-home__match-card {
    width: min(100% - 80px, 1360px);
    min-height: clamp(400px, 34.72vw, 500px);
    padding: clamp(64px, 6.94vw, 100px) clamp(40px, 5.56vw, 80px) clamp(80px, 8.33vw, 120px);
    border-radius: 0 0 32px 32px;
  }
  .p-home__match-card img.p-home__match-fold {
    width: 16px;
    height: 16px;
  }
  .p-home__match-fold--left {
    left: -16px;
  }
  .p-home__match-fold--right {
    right: -16px;
  }
  img.p-home__match-illustration {
    top: calc(clamp(40px, 5.56vw, 80px) * -1);
    right: clamp(20px, 2.78vw, 40px);
    width: clamp(360px, 50vw, 720px);
  }
  .p-home__keywords {
    gap: 15px 10px;
  }
  .p-home__keywords a {
    min-height: 40px;
    padding: 4px 20px 0 44px;
    border-radius: 20px;
    font-size: 18px;
    letter-spacing: 0.02em;
  }
  .p-home__keywords a::before {
    left: 20px;
    font-size: 14px;
  }
  .p-home__voice .c-head-en {
    /*  英字の文字下端〜見出しを Figma 実測の 23px にする値。
        c-more の高さぶん見出しが中央揃えで下がるため負値になる  */
    margin-bottom: -6px;
  }
  .p-home__voice {
    padding: 120px 0 30px;
    overflow: visible;
  }
  .p-home__voice-more-pc {
    display: inline-flex;
  }
  .p-home__voice-more-sp {
    display: none;
  }
  .p-home__voice-viewport {
    overflow: visible;
    -webkit-scroll-snap-type: none;
    margin-right: 0;
    margin-left: 0;
    scroll-padding-inline: 0;
            scroll-snap-type: none;
  }
  .p-home__voice-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    -moz-column-gap: 40px;
         column-gap: 40px;
    row-gap: 0;
    align-items: start;
    width: calc(100% + 80px);
    max-width: 1280px;
    margin-left: -40px;
    padding: 0;
  }
  .p-home__voice-controls {
    display: none;
  }
  .p-home__voice-prev,
  .p-home__voice-next {
    width: 30px;
    height: 30px;
  }
  .p-home__voice-card {
    flex: initial;
    min-width: 0;
    min-height: 558px;
    padding-bottom: 25px;
    scroll-snap-align: none;
  }
  .p-home__voice-card:nth-child(3n+2) {
    margin-top: 120px;
  }
  .p-home__voice-card:nth-child(3n) {
    margin-top: 60px;
  }
  .p-home__voice-card:nth-child(3n+1) {
    margin-top: 0;
  }
  .p-home__voice-message {
    font-size: 24px;
    letter-spacing: 0.02em;
  }
  .p-home__voice-play {
    margin: 12px 0 0;
    padding: 6px 10px;
    gap: 8px;
    font-size: 14px;
  }
  .p-home__voice-play-icon {
    width: 20px;
    height: 20px;
  }
  .p-home__campus .c-head-en {
    margin-bottom: 11px;
  }
  .p-home__campus .c-head-dot {
    margin: 0 0 40px;
    font-size: 20px;
  }
  .p-home__campus {
    padding: 50px 0 77px;
  }
  .p-home__instagram::before, .p-home__campus-cards a::before, .p-home__instagram::after, .p-home__campus-cards a::after {
    width: 312px;
    height: 210px;
  }
  .p-home__instagram::before, .p-home__campus-cards a::before {
    top: -129px;
    left: -119px;
  }
  .p-home__instagram::after, .p-home__campus-cards a::after {
    top: 202px;
    left: 91px;
  }
  .p-home__campus-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 35px;
    gap: 60px;
  }
  .p-home__campus-cards li:nth-child(1) a > img {
    top: 108px;
    width: 60px;
    height: 72px;
  }
  .p-home__campus-cards li:nth-child(2) a > img {
    top: 125px;
    width: 69px;
    height: 55px;
  }
  .p-home__campus-cards li:nth-child(3) a > img {
    top: 112px;
    width: 50px;
    height: 68px;
  }
  .p-home__campus-cards a {
    aspect-ratio: auto;
    height: 280px;
    background-image: none;
  }
  .p-home__campus-cards a::before, .p-home__campus-cards a::after {
    display: block;
    content: "";
  }
  .p-home__campus-cards a > span:not(.p-home__campus-go) {
    padding: 60px 20px 0;
    font-size: 20px;
  }
  .p-home__campus-grid {
    display: block;
  }
  .p-home__campus-go {
    right: 20px;
    bottom: 20px;
    width: 30px;
    height: 30px;
  }
  .p-home__campus-go::before {
    width: 12px;
    height: 9px;
  }
  .p-home__campus-go img {
    width: 12px;
    height: 9px;
  }
  .p-home__instagram {
    display: block;
    aspect-ratio: auto;
    width: 100%;
    max-width: 1200px;
    height: 160px;
    /*  Figma 1131:5898 — icon x160、arrow 右 inset 160  */
    padding: 0;
    background-image: none;
    background-color: #f1f1e9;
    font-size: 20px;
    letter-spacing: 0.02em;
    text-align: left;
    /*  波: top-left (-119,-129) / bottom-right (916, 80)  */
  }
  .p-home__instagram::before {
    top: -129px;
    left: -119px;
  }
  .p-home__instagram::after {
    top: 80px;
    left: 76.333333%;
  }
  .p-home__instagram > img {
    position: absolute;
    top: 60px;
    left: 13.333333%;
    width: 50px;
    height: 50px;
  }
  .p-home__instagram span:not(.p-home__instagram-arrow) {
    position: absolute;
    top: 70px;
    left: calc(13.333333% + 70px);
    white-space: nowrap;
  }
  .p-home__instagram span:not(.p-home__instagram-arrow) br {
    display: none;
  }
  .p-home__instagram-arrow {
    top: 65px;
    right: 13.333333%;
    bottom: auto;
    width: 40px;
    height: 40px;
    transform: none;
  }
  .p-home__instagram-arrow::before {
    width: 16px;
    height: 12px;
  }
  .p-home__instagram-arrow img {
    width: 16px;
    height: 12px;
  }
  .p-home__opencampus .p-home__opencampus-bg {
    display: block;
    z-index: 0;
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: var(--grad_oc);
  }
  .p-home__opencampus .p-home__opencampus-bg-frame {
    position: absolute;
    width: 100%;
    min-height: 883px;
    inset: 0;
  }
  .p-home__opencampus .p-home__opencampus-bg-confetti,
  .p-home__opencampus .p-home__opencampus-bg-stripe,
  .p-home__opencampus .p-home__opencampus-bg-photo {
    display: block;
    position: absolute;
    max-width: none;
    pointer-events: none;
  }
  .p-home__opencampus .p-home__opencampus-bg-confetti {
    top: 62px;
    left: 0;
    width: 100%;
    height: auto;
    opacity: 0.33;
  }
  .p-home__opencampus .p-home__opencampus-bg-stripe {
    width: 57.3828%;
    height: auto;
    opacity: 0.33;
  }
  .p-home__opencampus .p-home__opencampus-bg-photo {
    top: -120px;
    left: 50%;
    aspect-ratio: 1255/732;
    width: 87.1528%;
    background: url("../images/home/oc-band-photo.png") left top/100% 100% no-repeat;
  }
  .p-home__opencampus {
    height: auto;
    min-height: 883px;
    background: none;
  }
  .p-home__opencampus .p-home__inner {
    box-sizing: border-box;
    height: 100%;
    min-height: 0;
    padding-top: 120px;
    padding-bottom: 80px;
  }
  .p-home__opencampus .c-head-en {
    margin-top: -0.141em;
    margin-bottom: calc(20px - 0.15em);
    letter-spacing: 0.02em;
  }
  @supports (text-box-trim: trim-both) {
    .p-home__opencampus .c-head-en {
      margin-top: 0;
      margin-bottom: 20px;
      text-box-trim: trim-both;
      text-box-edge: cap alphabetic;
    }
  }
  .p-home__opencampus .c-head-dot {
    --head-dot-size: 20px;
    --head-dot-lap: 10px;
    /*  JA→姫路ラベル = 40  */
    margin-bottom: 40px;
    font-size: 20px;
    letter-spacing: 0.02em;
  }
  .p-home__opencampus .c-head-dot .c-head-dot__text {
    padding-left: 0;
  }
  .p-home__opencampus .c-head-dot__dots {
    transform: translateY(-2px);
  }
  .p-home__opencampus .c-more {
    /*  点線の実体 1px + 29px = Figma 30px  */
    margin: 29px 0 0 auto;
  }
  .p-home__career-area::before {
    background-image: url("../images/home/career-bg.png");
  }
  .p-home__career .p-home__inner {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    -moz-column-gap: 0;
         column-gap: 0;
    align-items: center;
  }
  .p-home__career {
    padding: 120px 0 60px;
  }
  .p-home__career .c-head-en {
    margin-bottom: 11px;
  }
  .p-home__career .c-head-dot {
    font-size: 20px;
  }
  .p-home__career-cards a {
    aspect-ratio: auto;
    height: 200px;
  }
  .p-home__career-cards {
    grid-template-columns: repeat(2, minmax(0, 340px));
    justify-content: end;
    margin-top: 0;
    gap: 30px 40px;
  }
  .p-home__career-cards a {
    flex-direction: row;
    align-items: center;
    aspect-ratio: auto;
    height: 200px;
    padding: 0 20px;
  }
  .p-home__career-cards span:not(.p-home__career-go) {
    max-width: 240px;
    font-size: 20px;
    line-height: 1.5;
  }
  .p-home__career-go {
    align-self: center;
    width: 40px;
    height: 40px;
  }
  .p-home__career-go img {
    width: 16px;
    height: 12px;
  }
  .p-home__audience .p-home__inner {
    padding: 30px 50px;
  }
  .p-home__audience ul {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
  }
  .p-home__audience a {
    display: flex;
    align-items: center;
    aspect-ratio: auto;
    height: 100px;
    padding: 0 20px;
    font-size: 16px;
    line-height: 1.5;
  }
  .p-home__audience a::before {
    position: static;
    flex: 0 0 auto;
    margin-right: 10px;
  }
  .p-home__audience a img {
    position: static;
    width: 16px;
    height: 12px;
    margin-left: auto;
  }
  .p-home__audience {
    padding: 0 0 60px;
  }
  .p-home__international {
    padding: 0 0 120px;
  }
  .p-home__international-card {
    grid-template-columns: minmax(0, 600px) minmax(0, 1fr);
    height: 322px;
  }
  .p-home__international-photo {
    aspect-ratio: auto;
    height: 320px;
  }
  .p-home__international-body {
    justify-content: flex-start;
    min-height: 0;
    padding: 72px 110px 0 60px;
    gap: 16px;
    font-weight: 700;
    font-size: 16px;
  }
  .p-home__international-title {
    font-size: 24px;
  }
  .p-home__international-go {
    right: 60px;
    bottom: 60px;
    width: 50px;
    height: 50px;
  }
  .p-home__international-go::before {
    width: 16px;
    height: 12px;
  }
  .p-home__international-go img {
    width: 16px;
    height: 12px;
  }
  .p-dept__more-wrap {
    margin-top: 30px;
  }
  .p-dept__more-sp {
    display: none !important;
  }
  .p-dept__hero {
    min-height: 640px;
  }
  .p-dept .p-home__news-more {
    margin-top: 30px;
  }
  .p-dept .p-home__voice-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
  .p-dept .p-home__voice-viewport::-webkit-scrollbar {
    display: none;
  }
  .p-dept .p-home__voice-list,
  .p-dept__voice-list {
    display: grid;
    grid-template-columns: repeat(3, 400px);
    width: 1280px;
    max-width: 1280px;
    margin-right: -40px;
    margin-left: -40px;
    padding: 0;
    -moz-column-gap: 40px;
         column-gap: 40px;
    row-gap: 0;
    align-items: stretch;
  }
  .p-dept .p-home__voice-list > .p-home__voice-card,
  .p-dept .p-dept__voice-list > .p-home__voice-card {
    margin-top: 0;
  }
  .p-dept .p-home__voice-card .p-home__voice-play {
    margin-top: auto;
  }
  .p-dept__hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(280px, min(577px, 42vw));
    align-items: start;
    max-width: 1440px;
    margin-inline: auto;
    padding: 32px clamp(20px, 4.2vw, 60px) 32px;
  }
  .p-dept__hero-copy {
    padding-top: 122px;
  }
  .p-dept__hero-faculty {
    min-height: 34px;
    padding: 2px 16px;
    font-size: 18px;
    line-height: 1.4;
  }
  .p-dept__hero-title {
    font-size: clamp(26px, 2.5vw, 36px);
  }
  .p-dept__hero-tags li {
    padding: 4px 8px 0;
  }
  .p-dept__hero-campus {
    min-height: 31px;
    padding: 0 10px;
  }
  .p-dept__hero-catch {
    margin-top: 33px;
  }
  .p-dept__hero-catch p {
    padding: 8px 8px 4px;
    font-size: clamp(20px, 1.95vw, 28px);
  }
  .p-dept__hero-photo {
    border-radius: 32px;
  }
  .p-dept__toc {
    top: 312px;
    transform: translateX(var(--dept-toc-panel-w));
    transition: transform 0.2s ease;
  }
  .p-dept__toc.is-open {
    transform: translateX(0);
  }
  .p-dept__toc-tab {
    min-height: 160px;
    background: #fff;
    color: var(--clr_text);
  }
  .p-dept__toc-panel {
    width: var(--dept-toc-panel-w);
  }
  .p-dept__crumb {
    padding: 20px 0 40px;
  }
  .p-dept__vision {
    padding-block: 60px 100px;
  }
  .p-dept__vision-grid {
    grid-template-columns: minmax(0, 600px) minmax(0, 574px);
    align-items: start;
    gap: 40px;
  }
  .p-dept__vision-grid p {
    line-height: 2;
  }
  .p-dept__attraction {
    padding-bottom: 100px;
  }
  .p-dept__attract-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-content: center;
    width: min(100% - 40px, 1400px);
  }
  .p-dept__attract-cards > li {
    min-width: 0;
    padding: 30px 26px;
  }
  .p-dept__strip-area {
    min-height: 768px;
    background-size: 128px 128px;
  }
  .p-dept__strip-list img {
    width: min(62vw, 300px);
  }
  .p-dept__strip--fields .p-dept__strip-list img {
    width: min(62vw, 300px);
  }
  .p-dept__pillars {
    top: auto;
    bottom: 96px;
    width: min(92%, 640px);
  }
  .p-dept__courses {
    padding-top: 120px;
  }
  .p-dept__course-head {
    grid-template-columns: 380px 1fr;
    align-items: center;
    padding: 35px 60px;
    gap: 20px;
  }
  .p-dept__course-name {
    font-size: 24px;
  }
  .p-dept__course-blurb {
    font-size: 15px;
  }
  .p-dept__course-body {
    margin: 0 20px 20px;
    padding: 40px;
  }
  .p-dept__course-body > p:not(.p-dept__course-lead):not(.p-dept__course-points-label):not(.p-dept__course-arrow):not(.p-dept__course-quote) {
    margin-bottom: 20px;
    font-size: 16px;
  }
  .p-dept__course-body > .p-dept__ig {
    margin-top: 20px;
  }
  .p-dept__course-lead {
    margin-bottom: 30px;
    font-size: 20px;
  }
  .p-dept__course-split {
    grid-template-columns: 460px 1fr 1fr;
    -moz-column-gap: 20px;
         column-gap: 20px;
    margin-bottom: 20px;
  }
  .p-dept__course-split.-lead-inside {
    grid-template-rows: auto 1fr;
    row-gap: 0;
  }
  .p-dept__course-split.-lead-inside > .p-dept__course-lead {
    grid-row: 1;
    grid-column: 1;
    align-self: start;
    margin-bottom: 20px;
    padding-right: 20px;
  }
  .p-dept__course-split.-lead-inside > .p-dept__course-lead::after {
    right: 20px;
  }
  .p-dept__course-split.-lead-inside > ul,
  .p-dept__course-split.-lead-inside > p:not(.p-dept__course-lead) {
    grid-row: 2;
    grid-column: 1;
    align-self: start;
  }
  .p-dept__course-split.-lead-inside > figure {
    grid-row: 1/-1;
    align-self: start;
  }
  .p-dept__course-split.-lead-inside > figure:nth-of-type(1) {
    grid-column: 2;
  }
  .p-dept__course-split.-lead-inside > figure:nth-of-type(2) {
    grid-column: 3;
  }
  .p-dept__course-split > p:not(.p-dept__course-lead),
  .p-dept__course-split > ul {
    padding-right: 20px;
  }
  .p-dept__course-split li {
    font-size: 16px;
  }
  .p-dept__course-split > p:not(.p-dept__course-lead) {
    font-size: 16px;
  }
  .p-dept__course-gallery.-tiles {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
  }
  .p-dept__course-gallery.-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
  }
  .p-dept__course-gallery.-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 10px;
    margin-top: 30px;
  }
  .p-dept__course-gallery.-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 30px;
    gap: 20px;
  }
  .p-dept__course-points-label {
    margin: 20px 0 15px;
  }
  .p-dept__course-lead + .p-dept__course-points-label {
    margin-top: 0;
  }
  .p-dept__course-body > p:not(.p-dept__course-lead) + .p-dept__course-points-label, .p-dept__course-points + .p-dept__course-points-label {
    margin-top: 30px;
  }
  .p-dept__course-quote + .p-dept__course-points-label {
    margin-top: 30px;
  }
  .p-dept__course-points {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0;
    gap: 15px;
  }
  .p-dept__course-points li {
    padding: 20px;
    font-size: 16px;
  }
  .p-dept__course-points span {
    font-size: 24px;
  }
  .p-dept__course-points.-stacked li > div p {
    font-size: 16px;
  }
  .p-dept__course-points.-stacked strong {
    margin-right: -0.02em;
    font-size: 16px;
  }
  .p-dept__course-arrow {
    margin-top: 30px;
  }
  .p-dept__course-quote {
    margin-top: 15px;
    padding: 20px 40px;
    font-size: 18px;
  }
  .p-dept__course-quote.-loose {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .p-dept__course-quote::before {
    top: -35px;
    left: -19px;
    width: 148px;
    height: 100px;
  }
  .p-dept__course-quote::after {
    right: -31.68px;
    bottom: -71px;
    width: 201.68px;
    height: 136px;
  }
  .p-dept__course-quote > span:not(.p-dept__course-quote-main):not(.p-dept__course-quote-caret) {
    font-size: 15px;
  }
  .p-dept__course-quote-main {
    font-size: 18px;
  }
  .p-dept__course-quote + .p-dept__course-gallery {
    margin-top: 20px;
  }
  .p-dept__course-skills,
  .p-dept__course-cases {
    margin-top: 15px;
    gap: 15px;
  }
  .p-dept__course-cases {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-dept__course-cases li {
    padding: 30px 20px;
  }
  .p-dept__course-skills {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
  }
  .p-dept__course-skills li {
    box-sizing: border-box;
    min-height: 73px;
    padding: 12px 16px;
    font-size: 15px;
  }
  .p-dept__course-split + .p-dept__course-points-label {
    margin-top: 30px;
  }
  .p-dept__course-points + .p-dept__course-split {
    margin-top: 30px;
  }
  .p-dept__course-cases + .p-dept__course-quote {
    margin-top: 20px;
  }
  .p-dept__course-body > p:not(.p-dept__course-lead) + .p-dept__course-points-label {
    margin-top: 30px;
  }
  .p-dept__ig {
    box-sizing: border-box;
    min-height: 60px;
    font-size: 14px;
  }
  .p-dept--sports .p-dept__ig-banner {
    min-height: 160px;
    margin-top: 60px;
    padding: 0 80px 0 160px;
    font-size: 20px;
  }
  .p-dept--sports .p-dept__ig-banner-icon {
    width: 50px;
    height: 50px;
    margin-right: 20px;
  }
  .p-dept--sports .p-dept__ig-banner-arrow {
    width: 40px;
    height: 40px;
    margin-left: auto;
  }
  .p-dept--sports .p-dept__ig-banner-arrow::before,
  .p-dept--sports .p-dept__ig-banner-arrow img {
    width: 16px;
    height: 12px;
  }
  .p-dept__want {
    padding: 10px 0 80px;
  }
  .p-dept--sports .p-dept__want-panel {
    box-sizing: border-box;
    height: 824px;
    padding: 80px 80px 100px;
    overflow: hidden;
    background-position: 50% 0;
    background-size: cover;
  }
  .p-dept--management .p-dept__want-panel {
    box-sizing: border-box;
    height: 848px;
    padding: 80px 80px 100px;
    overflow: hidden;
    background-position: 50% 0;
    background-size: cover;
  }
  .p-dept--management .p-dept__want .p-dept__chip {
    width: 648px;
    min-width: 648px;
    height: 68px;
    margin: 0 auto 40px;
    padding: 0;
    border-radius: 8px;
    font-size: 40px;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }
  .p-dept--management .p-dept__want-cards {
    grid-template-columns: repeat(3, minmax(0, 390px));
    justify-content: center;
    gap: 15px;
  }
  .p-dept--management .p-dept__want-cards li {
    box-sizing: border-box;
    width: 100%;
    max-width: 390px;
    min-height: 536px;
    padding: 30px 26px;
  }
  .p-dept--management .p-dept__want-cards figure {
    aspect-ratio: auto;
    width: 100%;
    height: 240px;
    margin: 0 0 20px;
  }
  .p-dept--management .p-dept__want-cards img {
    width: 100%;
    height: 240px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-dept--management .p-dept__want-cards h3 {
    width: 100%;
    min-height: 72px;
    margin: 0 0 20px;
    color: var(--dept-accent);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.48px;
  }
  .p-dept--management .p-dept__want-cards p {
    width: 100%;
    color: #1f1f1f;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.3px;
  }
  .p-dept__want .p-dept__chip {
    justify-content: center;
    min-width: min(100%, 648px);
    padding: 16px 40px;
    font-size: 22px;
  }
  .p-dept--sports .p-dept__want .p-dept__chip {
    width: 648px;
    min-width: 648px;
    height: 68px;
    margin: 0 auto 40px;
    padding: 0;
    border-radius: 8px;
    font-size: 40px;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }
  .p-dept__want-cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
  }
  .p-dept__want-cards > li {
    padding: 30px;
  }
  .p-dept--sports .p-dept__want-cards {
    grid-template-columns: repeat(3, minmax(0, 390px));
    justify-content: center;
    gap: 15px;
  }
  .p-dept--sports .p-dept__want-cards li {
    box-sizing: border-box;
    width: 100%;
    max-width: 390px;
    min-height: 536px;
    padding: 30px;
  }
  .p-dept--sports .p-dept__want-cards figure {
    aspect-ratio: auto;
    width: 100%;
    max-width: 330px;
    height: 240px;
    margin: 0 0 20px;
  }
  .p-dept--sports .p-dept__want-cards img {
    width: 100%;
    max-width: 330px;
    height: 240px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-dept--sports .p-dept__want-cards h3 {
    width: 100%;
    max-width: 330px;
    min-height: 72px;
    margin: 0 0 20px;
    color: var(--dept-accent);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.48px;
  }
  .p-dept--sports .p-dept__want-cards p {
    width: 100%;
    max-width: 330px;
    color: #1f1f1f;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.3px;
  }
  .p-dept__career .p-dept__subhead,
  .p-dept__employment .p-dept__subhead {
    gap: 20px;
  }
  .p-dept__career .p-dept__subhead::before,
  .p-dept__employment .p-dept__subhead::before {
    height: 48px;
  }
  .p-dept__quali,
  .p-dept__jobs {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px 20px;
  }
  .p-dept__career-photos {
    grid-template-columns: 1fr 1fr;
  }
  .p-dept__emp-grid {
    grid-template-columns: repeat(2, minmax(0, 570px));
    justify-content: space-between;
    gap: 40px 60px;
  }
  .p-dept__initiatives .c-head-dot {
    margin-bottom: 30px;
  }
  .p-dept__initiatives {
    padding: 64px 0 73px;
  }
  .p-dept__curriculum .p-dept__head {
    margin-bottom: 60px;
  }
  .p-dept__curriculum {
    padding: 120px 0 80px;
  }
  .p-dept__curriculum-intro {
    padding-left: 36px;
  }
  .p-dept__curriculum-intro::before {
    width: 16px;
  }
  .p-dept__years {
    grid-template-columns: minmax(0, 282px) auto minmax(0, 282px) auto minmax(0, 282px) auto minmax(0, 282px);
    align-items: stretch;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 12px;
    justify-content: center;
  }
  .p-dept__years-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 282px;
    min-height: 313px;
  }
  .p-dept__years-arrow {
    display: block;
    align-self: center;
    width: 0;
    height: 0;
    margin: 0 5px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 14px solid var(--dept-accent);
  }
  .p-dept__curr-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 15px;
  }
  .p-dept__curr-card {
    height: 507px;
  }
  .p-dept__curr-summary {
    height: 84px;
    padding: 10px;
    font-size: 20px;
  }
  .p-dept__faculty-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 18px;
  }
  .p-dept--sports .p-dept__attract-cards {
    grid-template-columns: repeat(4, minmax(0, 335px));
    justify-content: center;
    width: min(100% - 20px, 1420px);
    gap: 20px;
  }
  .p-dept--sports .p-dept__attract-cards > li {
    box-sizing: border-box;
    width: 100%;
    min-height: 505px;
    padding: 30px;
  }
  .p-dept--sports .p-dept__attract-cards figure {
    aspect-ratio: 275/170;
    width: 100%;
    max-width: 275px;
    height: auto;
    margin: 0 0 20px;
  }
  .p-dept--sports .p-dept__attract-cards img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-dept--sports .p-dept__attract-cards h3 {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.4px;
  }
  .p-dept--sports .p-dept__attract-cards p {
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.3px;
  }
  .p-dept--sports .p-dept__strip-area {
    min-height: 820px;
  }
  .p-dept--sports .p-dept__courses {
    padding-bottom: 88px;
  }
  .p-dept--sports .p-dept__career {
    padding-bottom: 36px;
  }
  .p-dept--sports .p-dept__employment {
    padding-top: 40px;
    padding-bottom: 48px;
  }
  .p-dept--sports .p-dept__initiatives {
    margin-top: 100px;
    margin-bottom: 64px;
  }
  .p-dept--sports .p-dept__voice {
    padding-top: 110px;
    padding-bottom: 0;
  }
  .p-dept--sports .p-dept__faculty {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .p-dept--management .p-dept__attract-cards {
    grid-template-columns: repeat(4, minmax(0, 335px));
    justify-content: center;
    width: min(100% - 20px, 1420px);
    gap: 20px;
  }
  .p-dept--management .p-dept__attract-cards > li {
    box-sizing: border-box;
    width: 100%;
    padding: 30px 38px;
  }
  .p-dept--management .p-dept__attract-cards figure {
    aspect-ratio: 275/170;
    width: 100%;
    height: auto;
    margin: 0 0 20px;
  }
  .p-dept--management .p-dept__attract-cards img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-dept--management .p-dept__attract-cards h3 {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: 1.5;
  }
  .p-dept--management .p-dept__fields {
    padding-bottom: 120px;
    background-size: 128px 128px;
  }
  .p-dept--management .p-dept__fields .p-dept__strip--fields {
    margin-bottom: 64px;
  }
  .p-dept--management .p-dept__fields .p-dept__head {
    margin-bottom: 41px;
  }
  .p-dept--management .p-dept__field-list {
    display: flex;
    flex-direction: column;
    margin-top: 14px;
    gap: 40px;
  }
  .p-dept--management .p-dept__career {
    padding-top: 48px;
    padding-bottom: 12px;
  }
  .p-dept--management .p-dept__career .p-dept__head {
    margin-bottom: 46px;
  }
  .p-dept--management .p-dept__career .p-dept__subhead {
    margin-top: 48px;
    margin-bottom: 32px;
  }
  .p-dept--management .p-dept__career .p-dept__subhead:first-of-type {
    margin-top: 0;
  }
  .p-dept--management .p-dept__career .p-dept__subhead:nth-of-type(2) {
    margin-top: 81px;
  }
  .p-dept--management .p-dept__quali {
    row-gap: 27px;
    -moz-column-gap: 20px;
         column-gap: 20px;
    margin-bottom: 40px;
  }
  .p-dept--management .p-dept__quali li {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 15px 20px;
    font-size: clamp(0.8125rem, 0.703125rem + 0.3125vw, 0.9375rem);
  }
  .p-dept--sports .p-dept__quali {
    grid-template-columns: repeat(3, minmax(0, 390px));
    row-gap: 27px;
    justify-content: center;
    -moz-column-gap: 15px;
         column-gap: 15px;
    margin-bottom: 40px;
  }
  .p-dept--sports .p-dept__quali li {
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 390px;
    height: 61px;
    min-height: 61px;
    max-height: 61px;
    padding: 0 20px;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
  }
  .p-dept--management .p-dept__jobs--icons {
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 40px;
    gap: 24px;
  }
  .p-dept--management .p-dept__jobs--icons li {
    box-sizing: border-box;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: 139px;
    padding: 20px;
    gap: 12px;
    text-align: left;
  }
  .p-dept--management .p-dept__jobs--icons .p-dept__job-icon {
    width: 60px;
    height: 60px;
  }
  .p-dept--management .p-dept__jobs--icons .p-dept__job-icon img {
    width: 32px;
    height: 32px;
  }
  .p-dept--management .p-dept__jobs--icons .p-dept__job-label {
    font-size: 18px;
  }
  .p-dept--management .p-dept__career-photos {
    margin-top: 40px;
    gap: 40px;
  }
  .p-dept--management .p-dept__career-photos figure {
    max-width: 580px;
  }
  .p-dept--management .p-dept__employment {
    padding-top: 91px;
    padding-bottom: 113px;
  }
  .p-dept--management .p-dept__employment .p-dept__head {
    margin-bottom: 46px;
  }
  .p-dept--management .p-dept__employment .p-dept__subhead {
    margin-bottom: 32px;
  }
  .p-dept--management .p-dept__employment .p-dept__subhead:first-of-type {
    margin-bottom: 44px;
  }
  .p-dept--management .p-dept__initiatives {
    margin-top: 48px;
    margin-bottom: 96px;
  }
  .p-dept--management .p-dept__curriculum .p-dept__head {
    margin-bottom: 42px;
  }
  .p-dept--management .p-dept__curriculum .p-dept__steps {
    margin-bottom: 84px;
  }
  .p-dept--management .p-dept__syllabus {
    margin-bottom: 64px;
  }
  .p-dept--management .p-dept__syllabus .p-dept__subhead {
    margin-top: 0;
    margin-bottom: 8px;
    padding-left: 28px;
    font-size: 28px;
    letter-spacing: 0.02em;
  }
  .p-dept--management .p-dept__syllabus .p-dept__subhead::before {
    display: none;
  }
  .p-dept--management .p-dept__syllabus {
    position: relative;
  }
  .p-dept--management .p-dept__syllabus::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 76px;
    border-radius: 2px;
    background: var(--dept-accent);
    content: "";
  }
  .p-dept--management .p-dept__syllabus-lead {
    margin-top: 0;
    margin-bottom: 46px;
    padding-left: 28px;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .p-dept--management .p-dept__syllabus-grid {
    grid-template-columns: repeat(2, minmax(0, 570px));
    justify-content: space-between;
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
  .p-dept--management .p-dept__syllabus-grid > div {
    min-height: 134px;
    padding: 24px 0;
    border-top: 1px solid #000;
  }
  .p-dept--management .p-dept__syllabus-grid > div:nth-last-child(-n+2) {
    border-bottom: 1px solid #000;
  }
  .p-dept--management .p-dept__syllabus-grid h4 {
    margin-bottom: 12px;
    padding-left: 20px;
    gap: 10px;
    font-size: 20px;
    letter-spacing: 0.02em;
  }
  .p-dept--management .p-dept__syllabus-grid h4::before {
    width: 12px;
    height: 12px;
  }
  .p-dept--management .p-dept__syllabus-grid p {
    padding-left: 20px;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .p-dept--management .p-dept__syllabus-foot::before {
    top: -35px;
    left: -19px;
    width: 148px;
    height: 100px;
  }
  .p-dept--management .p-dept__syllabus-foot::after {
    right: -31.68px;
    bottom: -71px;
    width: 201.68px;
    height: 136px;
  }
  .p-dept--management .p-dept__syllabus-foot {
    box-sizing: border-box;
    width: 1080px;
    max-width: calc(100% - 60px);
    min-height: 102px;
    margin: 24px 0 0 60px;
    padding: 24px 40px;
    font-size: clamp(0.9375rem, 0.7734375rem + 0.46875vw, 1.125rem);
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .p-dept--management .p-dept__voice {
    padding-top: 172px;
    padding-bottom: 0;
  }
  .p-dept--management .p-dept__voice .p-dept__head-row {
    margin-bottom: 42px;
  }
  .p-dept--management .p-home__voice-carousel .p-home__voice-more-sp {
    display: none;
  }
  .p-dept--management .p-dept__voice-list > .p-home__voice-card {
    box-sizing: border-box;
    height: 558px;
    min-height: 558px;
    padding-bottom: 0;
  }
  .p-dept--management .p-dept__faculty {
    padding-top: 86px;
    padding-bottom: 72px;
  }
  .p-dept--management .p-dept__faculty .p-dept__head-row {
    margin-bottom: 42px;
  }
  .p-dept--management .p-dept__faculty-cards {
    grid-template-rows: 323px 283px 263px 283px 283px;
  }
  .p-dept--management .p-dept__faculty-cards > li {
    height: 100%;
    min-height: 0;
  }
  .p-dept--management .p-dept__faculty-cards a {
    box-sizing: border-box;
    height: 100%;
    min-height: 0;
  }
  .p-dept__field {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
  }
  .p-dept__field.-reverse .p-dept__field-copy {
    order: -1;
    margin-right: clamp(16px, 3vw, 40px);
    margin-left: clamp(24px, 5vw, 120px);
  }
  .p-dept__field-photo {
    border-radius: 0 24px 24px 0;
  }
  .p-dept__field.-reverse .p-dept__field-photo {
    border-radius: 24px 0 0 24px;
  }
  .p-dept__field-photo img {
    aspect-ratio: 720/445;
    height: auto;
  }
  .p-dept__field-copy {
    max-width: min(640px, 100%);
    padding: 40px 0px 40px clamp(24px, 4vw, 60px);
  }
  .p-dept__jobs--icons {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 15px;
         column-gap: 15px;
    row-gap: 20px;
  }
  .p-dept__job-label {
    font-size: 18px;
  }
  .p-dept__donuts {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
  }
  .p-dept--sports .p-dept__initiatives .p-home__news-item {
    min-height: 142px;
  }
  .p-dept--sports .p-dept__initiatives .p-home__news-item::before {
    aspect-ratio: auto;
    width: 200px;
    height: 142px;
    -webkit-mask-image: url("../images/home/news-card-deco.svg");
    mask-image: url("../images/home/news-card-deco.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .p-dept__steps {
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: stretch;
    gap: 12px;
  }
  .p-dept__steps > li:not(.p-dept__step-arrow) {
    justify-self: center;
    width: 100%;
    max-width: 320px;
    min-height: 317px;
    padding: 48px 30px 30px;
  }
  .p-dept__step-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    gap: 12px;
    color: var(--clr_text);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    -webkit-writing-mode: horizontal-tb;
            writing-mode: horizontal-tb;
  }
  .p-dept__step-arrow img {
    display: block;
    flex: 0 0 auto;
    width: 30px;
    height: 24px;
  }
  .p-dept__syllabus-grid {
    grid-template-columns: 1fr 1fr;
  }
  .p-dept--management .p-dept__timetable {
    margin-top: 80px;
  }
  .p-dept--management .p-dept__timetable-student-tabs button {
    min-height: 60px;
  }
  .p-dept__faculty-cards {
    grid-template-columns: repeat(4, 1fr);
    align-items: stretch;
    justify-content: center;
    gap: 16px 24px;
  }
  .p-dept__hero-catch--sp {
    display: none;
  }
  .p-dept__hero-catch--pc {
    display: flex;
  }
  .p-dept--social .p-dept__attract-cards {
    margin-bottom: 80px;
  }
  .p-dept--social .p-dept__strip--fields,
  .p-dept--social .p-dept__courses {
    background-size: 128px 128px;
  }
  .p-dept--social .p-dept__strip--fields {
    padding-top: 80px;
  }
  .p-dept--social .p-dept__courses {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .p-dept--social .p-dept__attract-cards h3 {
    font-size: clamp(17px, 1.6vw, 20px);
    line-height: 1.4;
  }
  .p-dept--social .p-dept__twocourse h3 {
    font-size: 32px;
  }
  .p-dept--social .p-dept__twocourse > li > p {
    font-size: 16px;
  }
  .p-dept__fieldcards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-dept__projects {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-dept__rates {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-dept--social .p-dept__rates {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-dept--social .p-dept__hero-faculty,
  .p-dept--social .p-dept__hero-badge {
    min-height: 34px;
    padding: 2px 16px;
    font-size: 18px;
    line-height: 1.4;
  }
  .p-dept--social .p-dept__career .p-dept__head {
    width: min(100% - 40px, 1200px);
  }
  .p-dept--social .p-dept__social-employment-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 15px;
  }
  .p-archive.-news .p-archive__wrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 24px;
  }
  .u-upper-mt-0 {
    margin-top: 0px !important;
  }
  .u-upper-mb-0 {
    margin-bottom: 0px !important;
  }
  .u-upper-pt-0 {
    padding-top: 0px !important;
  }
  .u-upper-pb-0 {
    padding-bottom: 0px !important;
  }
  .u-upper-mt-1 {
    margin-top: 1px !important;
  }
  .u-upper-mb-1 {
    margin-bottom: 1px !important;
  }
  .u-upper-pt-1 {
    padding-top: 1px !important;
  }
  .u-upper-pb-1 {
    padding-bottom: 1px !important;
  }
  .u-upper-mt-2 {
    margin-top: 2px !important;
  }
  .u-upper-mb-2 {
    margin-bottom: 2px !important;
  }
  .u-upper-pt-2 {
    padding-top: 2px !important;
  }
  .u-upper-pb-2 {
    padding-bottom: 2px !important;
  }
  .u-upper-mt-3 {
    margin-top: 3px !important;
  }
  .u-upper-mb-3 {
    margin-bottom: 3px !important;
  }
  .u-upper-pt-3 {
    padding-top: 3px !important;
  }
  .u-upper-pb-3 {
    padding-bottom: 3px !important;
  }
  .u-upper-mt-4 {
    margin-top: 4px !important;
  }
  .u-upper-mb-4 {
    margin-bottom: 4px !important;
  }
  .u-upper-pt-4 {
    padding-top: 4px !important;
  }
  .u-upper-pb-4 {
    padding-bottom: 4px !important;
  }
  .u-upper-mt-5 {
    margin-top: 5px !important;
  }
  .u-upper-mb-5 {
    margin-bottom: 5px !important;
  }
  .u-upper-pt-5 {
    padding-top: 5px !important;
  }
  .u-upper-pb-5 {
    padding-bottom: 5px !important;
  }
  .u-upper-mt-6 {
    margin-top: 6px !important;
  }
  .u-upper-mb-6 {
    margin-bottom: 6px !important;
  }
  .u-upper-pt-6 {
    padding-top: 6px !important;
  }
  .u-upper-pb-6 {
    padding-bottom: 6px !important;
  }
  .u-upper-mt-7 {
    margin-top: 7px !important;
  }
  .u-upper-mb-7 {
    margin-bottom: 7px !important;
  }
  .u-upper-pt-7 {
    padding-top: 7px !important;
  }
  .u-upper-pb-7 {
    padding-bottom: 7px !important;
  }
  .u-upper-mt-8 {
    margin-top: 8px !important;
  }
  .u-upper-mb-8 {
    margin-bottom: 8px !important;
  }
  .u-upper-pt-8 {
    padding-top: 8px !important;
  }
  .u-upper-pb-8 {
    padding-bottom: 8px !important;
  }
  .u-upper-mt-9 {
    margin-top: 9px !important;
  }
  .u-upper-mb-9 {
    margin-bottom: 9px !important;
  }
  .u-upper-pt-9 {
    padding-top: 9px !important;
  }
  .u-upper-pb-9 {
    padding-bottom: 9px !important;
  }
  .u-upper-mt-10 {
    margin-top: 10px !important;
  }
  .u-upper-mb-10 {
    margin-bottom: 10px !important;
  }
  .u-upper-pt-10 {
    padding-top: 10px !important;
  }
  .u-upper-pb-10 {
    padding-bottom: 10px !important;
  }
  .u-upper-mt-11 {
    margin-top: 11px !important;
  }
  .u-upper-mb-11 {
    margin-bottom: 11px !important;
  }
  .u-upper-pt-11 {
    padding-top: 11px !important;
  }
  .u-upper-pb-11 {
    padding-bottom: 11px !important;
  }
  .u-upper-mt-12 {
    margin-top: 12px !important;
  }
  .u-upper-mb-12 {
    margin-bottom: 12px !important;
  }
  .u-upper-pt-12 {
    padding-top: 12px !important;
  }
  .u-upper-pb-12 {
    padding-bottom: 12px !important;
  }
  .u-upper-mt-13 {
    margin-top: 13px !important;
  }
  .u-upper-mb-13 {
    margin-bottom: 13px !important;
  }
  .u-upper-pt-13 {
    padding-top: 13px !important;
  }
  .u-upper-pb-13 {
    padding-bottom: 13px !important;
  }
  .u-upper-mt-14 {
    margin-top: 14px !important;
  }
  .u-upper-mb-14 {
    margin-bottom: 14px !important;
  }
  .u-upper-pt-14 {
    padding-top: 14px !important;
  }
  .u-upper-pb-14 {
    padding-bottom: 14px !important;
  }
  .u-upper-mt-15 {
    margin-top: 15px !important;
  }
  .u-upper-mb-15 {
    margin-bottom: 15px !important;
  }
  .u-upper-pt-15 {
    padding-top: 15px !important;
  }
  .u-upper-pb-15 {
    padding-bottom: 15px !important;
  }
  .u-upper-mt-16 {
    margin-top: 16px !important;
  }
  .u-upper-mb-16 {
    margin-bottom: 16px !important;
  }
  .u-upper-pt-16 {
    padding-top: 16px !important;
  }
  .u-upper-pb-16 {
    padding-bottom: 16px !important;
  }
  .u-upper-mt-17 {
    margin-top: 17px !important;
  }
  .u-upper-mb-17 {
    margin-bottom: 17px !important;
  }
  .u-upper-pt-17 {
    padding-top: 17px !important;
  }
  .u-upper-pb-17 {
    padding-bottom: 17px !important;
  }
  .u-upper-mt-18 {
    margin-top: 18px !important;
  }
  .u-upper-mb-18 {
    margin-bottom: 18px !important;
  }
  .u-upper-pt-18 {
    padding-top: 18px !important;
  }
  .u-upper-pb-18 {
    padding-bottom: 18px !important;
  }
  .u-upper-mt-19 {
    margin-top: 19px !important;
  }
  .u-upper-mb-19 {
    margin-bottom: 19px !important;
  }
  .u-upper-pt-19 {
    padding-top: 19px !important;
  }
  .u-upper-pb-19 {
    padding-bottom: 19px !important;
  }
  .u-upper-mt-20 {
    margin-top: 20px !important;
  }
  .u-upper-mb-20 {
    margin-bottom: 20px !important;
  }
  .u-upper-pt-20 {
    padding-top: 20px !important;
  }
  .u-upper-pb-20 {
    padding-bottom: 20px !important;
  }
  .u-upper-mt-21 {
    margin-top: 21px !important;
  }
  .u-upper-mb-21 {
    margin-bottom: 21px !important;
  }
  .u-upper-pt-21 {
    padding-top: 21px !important;
  }
  .u-upper-pb-21 {
    padding-bottom: 21px !important;
  }
  .u-upper-mt-22 {
    margin-top: 22px !important;
  }
  .u-upper-mb-22 {
    margin-bottom: 22px !important;
  }
  .u-upper-pt-22 {
    padding-top: 22px !important;
  }
  .u-upper-pb-22 {
    padding-bottom: 22px !important;
  }
  .u-upper-mt-23 {
    margin-top: 23px !important;
  }
  .u-upper-mb-23 {
    margin-bottom: 23px !important;
  }
  .u-upper-pt-23 {
    padding-top: 23px !important;
  }
  .u-upper-pb-23 {
    padding-bottom: 23px !important;
  }
  .u-upper-mt-24 {
    margin-top: 24px !important;
  }
  .u-upper-mb-24 {
    margin-bottom: 24px !important;
  }
  .u-upper-pt-24 {
    padding-top: 24px !important;
  }
  .u-upper-pb-24 {
    padding-bottom: 24px !important;
  }
  .u-upper-mt-25 {
    margin-top: 25px !important;
  }
  .u-upper-mb-25 {
    margin-bottom: 25px !important;
  }
  .u-upper-pt-25 {
    padding-top: 25px !important;
  }
  .u-upper-pb-25 {
    padding-bottom: 25px !important;
  }
  .u-upper-mt-26 {
    margin-top: 26px !important;
  }
  .u-upper-mb-26 {
    margin-bottom: 26px !important;
  }
  .u-upper-pt-26 {
    padding-top: 26px !important;
  }
  .u-upper-pb-26 {
    padding-bottom: 26px !important;
  }
  .u-upper-mt-27 {
    margin-top: 27px !important;
  }
  .u-upper-mb-27 {
    margin-bottom: 27px !important;
  }
  .u-upper-pt-27 {
    padding-top: 27px !important;
  }
  .u-upper-pb-27 {
    padding-bottom: 27px !important;
  }
  .u-upper-mt-28 {
    margin-top: 28px !important;
  }
  .u-upper-mb-28 {
    margin-bottom: 28px !important;
  }
  .u-upper-pt-28 {
    padding-top: 28px !important;
  }
  .u-upper-pb-28 {
    padding-bottom: 28px !important;
  }
  .u-upper-mt-29 {
    margin-top: 29px !important;
  }
  .u-upper-mb-29 {
    margin-bottom: 29px !important;
  }
  .u-upper-pt-29 {
    padding-top: 29px !important;
  }
  .u-upper-pb-29 {
    padding-bottom: 29px !important;
  }
  .u-upper-mt-30 {
    margin-top: 30px !important;
  }
  .u-upper-mb-30 {
    margin-bottom: 30px !important;
  }
  .u-upper-pt-30 {
    padding-top: 30px !important;
  }
  .u-upper-pb-30 {
    padding-bottom: 30px !important;
  }
  .u-upper-mt-31 {
    margin-top: 31px !important;
  }
  .u-upper-mb-31 {
    margin-bottom: 31px !important;
  }
  .u-upper-pt-31 {
    padding-top: 31px !important;
  }
  .u-upper-pb-31 {
    padding-bottom: 31px !important;
  }
  .u-upper-mt-32 {
    margin-top: 32px !important;
  }
  .u-upper-mb-32 {
    margin-bottom: 32px !important;
  }
  .u-upper-pt-32 {
    padding-top: 32px !important;
  }
  .u-upper-pb-32 {
    padding-bottom: 32px !important;
  }
  .u-upper-mt-33 {
    margin-top: 33px !important;
  }
  .u-upper-mb-33 {
    margin-bottom: 33px !important;
  }
  .u-upper-pt-33 {
    padding-top: 33px !important;
  }
  .u-upper-pb-33 {
    padding-bottom: 33px !important;
  }
  .u-upper-mt-34 {
    margin-top: 34px !important;
  }
  .u-upper-mb-34 {
    margin-bottom: 34px !important;
  }
  .u-upper-pt-34 {
    padding-top: 34px !important;
  }
  .u-upper-pb-34 {
    padding-bottom: 34px !important;
  }
  .u-upper-mt-35 {
    margin-top: 35px !important;
  }
  .u-upper-mb-35 {
    margin-bottom: 35px !important;
  }
  .u-upper-pt-35 {
    padding-top: 35px !important;
  }
  .u-upper-pb-35 {
    padding-bottom: 35px !important;
  }
  .u-upper-mt-36 {
    margin-top: 36px !important;
  }
  .u-upper-mb-36 {
    margin-bottom: 36px !important;
  }
  .u-upper-pt-36 {
    padding-top: 36px !important;
  }
  .u-upper-pb-36 {
    padding-bottom: 36px !important;
  }
  .u-upper-mt-37 {
    margin-top: 37px !important;
  }
  .u-upper-mb-37 {
    margin-bottom: 37px !important;
  }
  .u-upper-pt-37 {
    padding-top: 37px !important;
  }
  .u-upper-pb-37 {
    padding-bottom: 37px !important;
  }
  .u-upper-mt-38 {
    margin-top: 38px !important;
  }
  .u-upper-mb-38 {
    margin-bottom: 38px !important;
  }
  .u-upper-pt-38 {
    padding-top: 38px !important;
  }
  .u-upper-pb-38 {
    padding-bottom: 38px !important;
  }
  .u-upper-mt-39 {
    margin-top: 39px !important;
  }
  .u-upper-mb-39 {
    margin-bottom: 39px !important;
  }
  .u-upper-pt-39 {
    padding-top: 39px !important;
  }
  .u-upper-pb-39 {
    padding-bottom: 39px !important;
  }
  .u-upper-mt-40 {
    margin-top: 40px !important;
  }
  .u-upper-mb-40 {
    margin-bottom: 40px !important;
  }
  .u-upper-pt-40 {
    padding-top: 40px !important;
  }
  .u-upper-pb-40 {
    padding-bottom: 40px !important;
  }
  .u-upper-mt-41 {
    margin-top: 41px !important;
  }
  .u-upper-mb-41 {
    margin-bottom: 41px !important;
  }
  .u-upper-pt-41 {
    padding-top: 41px !important;
  }
  .u-upper-pb-41 {
    padding-bottom: 41px !important;
  }
  .u-upper-mt-42 {
    margin-top: 42px !important;
  }
  .u-upper-mb-42 {
    margin-bottom: 42px !important;
  }
  .u-upper-pt-42 {
    padding-top: 42px !important;
  }
  .u-upper-pb-42 {
    padding-bottom: 42px !important;
  }
  .u-upper-mt-43 {
    margin-top: 43px !important;
  }
  .u-upper-mb-43 {
    margin-bottom: 43px !important;
  }
  .u-upper-pt-43 {
    padding-top: 43px !important;
  }
  .u-upper-pb-43 {
    padding-bottom: 43px !important;
  }
  .u-upper-mt-44 {
    margin-top: 44px !important;
  }
  .u-upper-mb-44 {
    margin-bottom: 44px !important;
  }
  .u-upper-pt-44 {
    padding-top: 44px !important;
  }
  .u-upper-pb-44 {
    padding-bottom: 44px !important;
  }
  .u-upper-mt-45 {
    margin-top: 45px !important;
  }
  .u-upper-mb-45 {
    margin-bottom: 45px !important;
  }
  .u-upper-pt-45 {
    padding-top: 45px !important;
  }
  .u-upper-pb-45 {
    padding-bottom: 45px !important;
  }
  .u-upper-mt-46 {
    margin-top: 46px !important;
  }
  .u-upper-mb-46 {
    margin-bottom: 46px !important;
  }
  .u-upper-pt-46 {
    padding-top: 46px !important;
  }
  .u-upper-pb-46 {
    padding-bottom: 46px !important;
  }
  .u-upper-mt-47 {
    margin-top: 47px !important;
  }
  .u-upper-mb-47 {
    margin-bottom: 47px !important;
  }
  .u-upper-pt-47 {
    padding-top: 47px !important;
  }
  .u-upper-pb-47 {
    padding-bottom: 47px !important;
  }
  .u-upper-mt-48 {
    margin-top: 48px !important;
  }
  .u-upper-mb-48 {
    margin-bottom: 48px !important;
  }
  .u-upper-pt-48 {
    padding-top: 48px !important;
  }
  .u-upper-pb-48 {
    padding-bottom: 48px !important;
  }
  .u-upper-mt-49 {
    margin-top: 49px !important;
  }
  .u-upper-mb-49 {
    margin-bottom: 49px !important;
  }
  .u-upper-pt-49 {
    padding-top: 49px !important;
  }
  .u-upper-pb-49 {
    padding-bottom: 49px !important;
  }
  .u-upper-mt-50 {
    margin-top: 50px !important;
  }
  .u-upper-mb-50 {
    margin-bottom: 50px !important;
  }
  .u-upper-pt-50 {
    padding-top: 50px !important;
  }
  .u-upper-pb-50 {
    padding-bottom: 50px !important;
  }
  .u-upper-mt-51 {
    margin-top: 51px !important;
  }
  .u-upper-mb-51 {
    margin-bottom: 51px !important;
  }
  .u-upper-pt-51 {
    padding-top: 51px !important;
  }
  .u-upper-pb-51 {
    padding-bottom: 51px !important;
  }
  .u-upper-mt-52 {
    margin-top: 52px !important;
  }
  .u-upper-mb-52 {
    margin-bottom: 52px !important;
  }
  .u-upper-pt-52 {
    padding-top: 52px !important;
  }
  .u-upper-pb-52 {
    padding-bottom: 52px !important;
  }
  .u-upper-mt-53 {
    margin-top: 53px !important;
  }
  .u-upper-mb-53 {
    margin-bottom: 53px !important;
  }
  .u-upper-pt-53 {
    padding-top: 53px !important;
  }
  .u-upper-pb-53 {
    padding-bottom: 53px !important;
  }
  .u-upper-mt-54 {
    margin-top: 54px !important;
  }
  .u-upper-mb-54 {
    margin-bottom: 54px !important;
  }
  .u-upper-pt-54 {
    padding-top: 54px !important;
  }
  .u-upper-pb-54 {
    padding-bottom: 54px !important;
  }
  .u-upper-mt-55 {
    margin-top: 55px !important;
  }
  .u-upper-mb-55 {
    margin-bottom: 55px !important;
  }
  .u-upper-pt-55 {
    padding-top: 55px !important;
  }
  .u-upper-pb-55 {
    padding-bottom: 55px !important;
  }
  .u-upper-mt-56 {
    margin-top: 56px !important;
  }
  .u-upper-mb-56 {
    margin-bottom: 56px !important;
  }
  .u-upper-pt-56 {
    padding-top: 56px !important;
  }
  .u-upper-pb-56 {
    padding-bottom: 56px !important;
  }
  .u-upper-mt-57 {
    margin-top: 57px !important;
  }
  .u-upper-mb-57 {
    margin-bottom: 57px !important;
  }
  .u-upper-pt-57 {
    padding-top: 57px !important;
  }
  .u-upper-pb-57 {
    padding-bottom: 57px !important;
  }
  .u-upper-mt-58 {
    margin-top: 58px !important;
  }
  .u-upper-mb-58 {
    margin-bottom: 58px !important;
  }
  .u-upper-pt-58 {
    padding-top: 58px !important;
  }
  .u-upper-pb-58 {
    padding-bottom: 58px !important;
  }
  .u-upper-mt-59 {
    margin-top: 59px !important;
  }
  .u-upper-mb-59 {
    margin-bottom: 59px !important;
  }
  .u-upper-pt-59 {
    padding-top: 59px !important;
  }
  .u-upper-pb-59 {
    padding-bottom: 59px !important;
  }
  .u-upper-mt-60 {
    margin-top: 60px !important;
  }
  .u-upper-mb-60 {
    margin-bottom: 60px !important;
  }
  .u-upper-pt-60 {
    padding-top: 60px !important;
  }
  .u-upper-pb-60 {
    padding-bottom: 60px !important;
  }
  .u-upper-mt-61 {
    margin-top: 61px !important;
  }
  .u-upper-mb-61 {
    margin-bottom: 61px !important;
  }
  .u-upper-pt-61 {
    padding-top: 61px !important;
  }
  .u-upper-pb-61 {
    padding-bottom: 61px !important;
  }
  .u-upper-mt-62 {
    margin-top: 62px !important;
  }
  .u-upper-mb-62 {
    margin-bottom: 62px !important;
  }
  .u-upper-pt-62 {
    padding-top: 62px !important;
  }
  .u-upper-pb-62 {
    padding-bottom: 62px !important;
  }
  .u-upper-mt-63 {
    margin-top: 63px !important;
  }
  .u-upper-mb-63 {
    margin-bottom: 63px !important;
  }
  .u-upper-pt-63 {
    padding-top: 63px !important;
  }
  .u-upper-pb-63 {
    padding-bottom: 63px !important;
  }
  .u-upper-mt-64 {
    margin-top: 64px !important;
  }
  .u-upper-mb-64 {
    margin-bottom: 64px !important;
  }
  .u-upper-pt-64 {
    padding-top: 64px !important;
  }
  .u-upper-pb-64 {
    padding-bottom: 64px !important;
  }
  .u-upper-mt-65 {
    margin-top: 65px !important;
  }
  .u-upper-mb-65 {
    margin-bottom: 65px !important;
  }
  .u-upper-pt-65 {
    padding-top: 65px !important;
  }
  .u-upper-pb-65 {
    padding-bottom: 65px !important;
  }
  .u-upper-mt-66 {
    margin-top: 66px !important;
  }
  .u-upper-mb-66 {
    margin-bottom: 66px !important;
  }
  .u-upper-pt-66 {
    padding-top: 66px !important;
  }
  .u-upper-pb-66 {
    padding-bottom: 66px !important;
  }
  .u-upper-mt-67 {
    margin-top: 67px !important;
  }
  .u-upper-mb-67 {
    margin-bottom: 67px !important;
  }
  .u-upper-pt-67 {
    padding-top: 67px !important;
  }
  .u-upper-pb-67 {
    padding-bottom: 67px !important;
  }
  .u-upper-mt-68 {
    margin-top: 68px !important;
  }
  .u-upper-mb-68 {
    margin-bottom: 68px !important;
  }
  .u-upper-pt-68 {
    padding-top: 68px !important;
  }
  .u-upper-pb-68 {
    padding-bottom: 68px !important;
  }
  .u-upper-mt-69 {
    margin-top: 69px !important;
  }
  .u-upper-mb-69 {
    margin-bottom: 69px !important;
  }
  .u-upper-pt-69 {
    padding-top: 69px !important;
  }
  .u-upper-pb-69 {
    padding-bottom: 69px !important;
  }
  .u-upper-mt-70 {
    margin-top: 70px !important;
  }
  .u-upper-mb-70 {
    margin-bottom: 70px !important;
  }
  .u-upper-pt-70 {
    padding-top: 70px !important;
  }
  .u-upper-pb-70 {
    padding-bottom: 70px !important;
  }
  .u-upper-mt-71 {
    margin-top: 71px !important;
  }
  .u-upper-mb-71 {
    margin-bottom: 71px !important;
  }
  .u-upper-pt-71 {
    padding-top: 71px !important;
  }
  .u-upper-pb-71 {
    padding-bottom: 71px !important;
  }
  .u-upper-mt-72 {
    margin-top: 72px !important;
  }
  .u-upper-mb-72 {
    margin-bottom: 72px !important;
  }
  .u-upper-pt-72 {
    padding-top: 72px !important;
  }
  .u-upper-pb-72 {
    padding-bottom: 72px !important;
  }
  .u-upper-mt-73 {
    margin-top: 73px !important;
  }
  .u-upper-mb-73 {
    margin-bottom: 73px !important;
  }
  .u-upper-pt-73 {
    padding-top: 73px !important;
  }
  .u-upper-pb-73 {
    padding-bottom: 73px !important;
  }
  .u-upper-mt-74 {
    margin-top: 74px !important;
  }
  .u-upper-mb-74 {
    margin-bottom: 74px !important;
  }
  .u-upper-pt-74 {
    padding-top: 74px !important;
  }
  .u-upper-pb-74 {
    padding-bottom: 74px !important;
  }
  .u-upper-mt-75 {
    margin-top: 75px !important;
  }
  .u-upper-mb-75 {
    margin-bottom: 75px !important;
  }
  .u-upper-pt-75 {
    padding-top: 75px !important;
  }
  .u-upper-pb-75 {
    padding-bottom: 75px !important;
  }
  .u-upper-mt-76 {
    margin-top: 76px !important;
  }
  .u-upper-mb-76 {
    margin-bottom: 76px !important;
  }
  .u-upper-pt-76 {
    padding-top: 76px !important;
  }
  .u-upper-pb-76 {
    padding-bottom: 76px !important;
  }
  .u-upper-mt-77 {
    margin-top: 77px !important;
  }
  .u-upper-mb-77 {
    margin-bottom: 77px !important;
  }
  .u-upper-pt-77 {
    padding-top: 77px !important;
  }
  .u-upper-pb-77 {
    padding-bottom: 77px !important;
  }
  .u-upper-mt-78 {
    margin-top: 78px !important;
  }
  .u-upper-mb-78 {
    margin-bottom: 78px !important;
  }
  .u-upper-pt-78 {
    padding-top: 78px !important;
  }
  .u-upper-pb-78 {
    padding-bottom: 78px !important;
  }
  .u-upper-mt-79 {
    margin-top: 79px !important;
  }
  .u-upper-mb-79 {
    margin-bottom: 79px !important;
  }
  .u-upper-pt-79 {
    padding-top: 79px !important;
  }
  .u-upper-pb-79 {
    padding-bottom: 79px !important;
  }
  .u-upper-mt-80 {
    margin-top: 80px !important;
  }
  .u-upper-mb-80 {
    margin-bottom: 80px !important;
  }
  .u-upper-pt-80 {
    padding-top: 80px !important;
  }
  .u-upper-pb-80 {
    padding-bottom: 80px !important;
  }
  .u-upper-mt-81 {
    margin-top: 81px !important;
  }
  .u-upper-mb-81 {
    margin-bottom: 81px !important;
  }
  .u-upper-pt-81 {
    padding-top: 81px !important;
  }
  .u-upper-pb-81 {
    padding-bottom: 81px !important;
  }
  .u-upper-mt-82 {
    margin-top: 82px !important;
  }
  .u-upper-mb-82 {
    margin-bottom: 82px !important;
  }
  .u-upper-pt-82 {
    padding-top: 82px !important;
  }
  .u-upper-pb-82 {
    padding-bottom: 82px !important;
  }
  .u-upper-mt-83 {
    margin-top: 83px !important;
  }
  .u-upper-mb-83 {
    margin-bottom: 83px !important;
  }
  .u-upper-pt-83 {
    padding-top: 83px !important;
  }
  .u-upper-pb-83 {
    padding-bottom: 83px !important;
  }
  .u-upper-mt-84 {
    margin-top: 84px !important;
  }
  .u-upper-mb-84 {
    margin-bottom: 84px !important;
  }
  .u-upper-pt-84 {
    padding-top: 84px !important;
  }
  .u-upper-pb-84 {
    padding-bottom: 84px !important;
  }
  .u-upper-mt-85 {
    margin-top: 85px !important;
  }
  .u-upper-mb-85 {
    margin-bottom: 85px !important;
  }
  .u-upper-pt-85 {
    padding-top: 85px !important;
  }
  .u-upper-pb-85 {
    padding-bottom: 85px !important;
  }
  .u-upper-mt-86 {
    margin-top: 86px !important;
  }
  .u-upper-mb-86 {
    margin-bottom: 86px !important;
  }
  .u-upper-pt-86 {
    padding-top: 86px !important;
  }
  .u-upper-pb-86 {
    padding-bottom: 86px !important;
  }
  .u-upper-mt-87 {
    margin-top: 87px !important;
  }
  .u-upper-mb-87 {
    margin-bottom: 87px !important;
  }
  .u-upper-pt-87 {
    padding-top: 87px !important;
  }
  .u-upper-pb-87 {
    padding-bottom: 87px !important;
  }
  .u-upper-mt-88 {
    margin-top: 88px !important;
  }
  .u-upper-mb-88 {
    margin-bottom: 88px !important;
  }
  .u-upper-pt-88 {
    padding-top: 88px !important;
  }
  .u-upper-pb-88 {
    padding-bottom: 88px !important;
  }
  .u-upper-mt-89 {
    margin-top: 89px !important;
  }
  .u-upper-mb-89 {
    margin-bottom: 89px !important;
  }
  .u-upper-pt-89 {
    padding-top: 89px !important;
  }
  .u-upper-pb-89 {
    padding-bottom: 89px !important;
  }
  .u-upper-mt-90 {
    margin-top: 90px !important;
  }
  .u-upper-mb-90 {
    margin-bottom: 90px !important;
  }
  .u-upper-pt-90 {
    padding-top: 90px !important;
  }
  .u-upper-pb-90 {
    padding-bottom: 90px !important;
  }
  .u-upper-mt-91 {
    margin-top: 91px !important;
  }
  .u-upper-mb-91 {
    margin-bottom: 91px !important;
  }
  .u-upper-pt-91 {
    padding-top: 91px !important;
  }
  .u-upper-pb-91 {
    padding-bottom: 91px !important;
  }
  .u-upper-mt-92 {
    margin-top: 92px !important;
  }
  .u-upper-mb-92 {
    margin-bottom: 92px !important;
  }
  .u-upper-pt-92 {
    padding-top: 92px !important;
  }
  .u-upper-pb-92 {
    padding-bottom: 92px !important;
  }
  .u-upper-mt-93 {
    margin-top: 93px !important;
  }
  .u-upper-mb-93 {
    margin-bottom: 93px !important;
  }
  .u-upper-pt-93 {
    padding-top: 93px !important;
  }
  .u-upper-pb-93 {
    padding-bottom: 93px !important;
  }
  .u-upper-mt-94 {
    margin-top: 94px !important;
  }
  .u-upper-mb-94 {
    margin-bottom: 94px !important;
  }
  .u-upper-pt-94 {
    padding-top: 94px !important;
  }
  .u-upper-pb-94 {
    padding-bottom: 94px !important;
  }
  .u-upper-mt-95 {
    margin-top: 95px !important;
  }
  .u-upper-mb-95 {
    margin-bottom: 95px !important;
  }
  .u-upper-pt-95 {
    padding-top: 95px !important;
  }
  .u-upper-pb-95 {
    padding-bottom: 95px !important;
  }
  .u-upper-mt-96 {
    margin-top: 96px !important;
  }
  .u-upper-mb-96 {
    margin-bottom: 96px !important;
  }
  .u-upper-pt-96 {
    padding-top: 96px !important;
  }
  .u-upper-pb-96 {
    padding-bottom: 96px !important;
  }
  .u-upper-mt-97 {
    margin-top: 97px !important;
  }
  .u-upper-mb-97 {
    margin-bottom: 97px !important;
  }
  .u-upper-pt-97 {
    padding-top: 97px !important;
  }
  .u-upper-pb-97 {
    padding-bottom: 97px !important;
  }
  .u-upper-mt-98 {
    margin-top: 98px !important;
  }
  .u-upper-mb-98 {
    margin-bottom: 98px !important;
  }
  .u-upper-pt-98 {
    padding-top: 98px !important;
  }
  .u-upper-pb-98 {
    padding-bottom: 98px !important;
  }
  .u-upper-mt-99 {
    margin-top: 99px !important;
  }
  .u-upper-mb-99 {
    margin-bottom: 99px !important;
  }
  .u-upper-pt-99 {
    padding-top: 99px !important;
  }
  .u-upper-pb-99 {
    padding-bottom: 99px !important;
  }
  .u-upper-mt-100 {
    margin-top: 100px !important;
  }
  .u-upper-mb-100 {
    margin-bottom: 100px !important;
  }
  .u-upper-pt-100 {
    padding-top: 100px !important;
  }
  .u-upper-pb-100 {
    padding-bottom: 100px !important;
  }
  .u-upper-mt-101 {
    margin-top: 101px !important;
  }
  .u-upper-mb-101 {
    margin-bottom: 101px !important;
  }
  .u-upper-pt-101 {
    padding-top: 101px !important;
  }
  .u-upper-pb-101 {
    padding-bottom: 101px !important;
  }
  .u-upper-mt-102 {
    margin-top: 102px !important;
  }
  .u-upper-mb-102 {
    margin-bottom: 102px !important;
  }
  .u-upper-pt-102 {
    padding-top: 102px !important;
  }
  .u-upper-pb-102 {
    padding-bottom: 102px !important;
  }
  .u-upper-mt-103 {
    margin-top: 103px !important;
  }
  .u-upper-mb-103 {
    margin-bottom: 103px !important;
  }
  .u-upper-pt-103 {
    padding-top: 103px !important;
  }
  .u-upper-pb-103 {
    padding-bottom: 103px !important;
  }
  .u-upper-mt-104 {
    margin-top: 104px !important;
  }
  .u-upper-mb-104 {
    margin-bottom: 104px !important;
  }
  .u-upper-pt-104 {
    padding-top: 104px !important;
  }
  .u-upper-pb-104 {
    padding-bottom: 104px !important;
  }
  .u-upper-mt-105 {
    margin-top: 105px !important;
  }
  .u-upper-mb-105 {
    margin-bottom: 105px !important;
  }
  .u-upper-pt-105 {
    padding-top: 105px !important;
  }
  .u-upper-pb-105 {
    padding-bottom: 105px !important;
  }
  .u-upper-mt-106 {
    margin-top: 106px !important;
  }
  .u-upper-mb-106 {
    margin-bottom: 106px !important;
  }
  .u-upper-pt-106 {
    padding-top: 106px !important;
  }
  .u-upper-pb-106 {
    padding-bottom: 106px !important;
  }
  .u-upper-mt-107 {
    margin-top: 107px !important;
  }
  .u-upper-mb-107 {
    margin-bottom: 107px !important;
  }
  .u-upper-pt-107 {
    padding-top: 107px !important;
  }
  .u-upper-pb-107 {
    padding-bottom: 107px !important;
  }
  .u-upper-mt-108 {
    margin-top: 108px !important;
  }
  .u-upper-mb-108 {
    margin-bottom: 108px !important;
  }
  .u-upper-pt-108 {
    padding-top: 108px !important;
  }
  .u-upper-pb-108 {
    padding-bottom: 108px !important;
  }
  .u-upper-mt-109 {
    margin-top: 109px !important;
  }
  .u-upper-mb-109 {
    margin-bottom: 109px !important;
  }
  .u-upper-pt-109 {
    padding-top: 109px !important;
  }
  .u-upper-pb-109 {
    padding-bottom: 109px !important;
  }
  .u-upper-mt-110 {
    margin-top: 110px !important;
  }
  .u-upper-mb-110 {
    margin-bottom: 110px !important;
  }
  .u-upper-pt-110 {
    padding-top: 110px !important;
  }
  .u-upper-pb-110 {
    padding-bottom: 110px !important;
  }
  .u-upper-mt-111 {
    margin-top: 111px !important;
  }
  .u-upper-mb-111 {
    margin-bottom: 111px !important;
  }
  .u-upper-pt-111 {
    padding-top: 111px !important;
  }
  .u-upper-pb-111 {
    padding-bottom: 111px !important;
  }
  .u-upper-mt-112 {
    margin-top: 112px !important;
  }
  .u-upper-mb-112 {
    margin-bottom: 112px !important;
  }
  .u-upper-pt-112 {
    padding-top: 112px !important;
  }
  .u-upper-pb-112 {
    padding-bottom: 112px !important;
  }
  .u-upper-mt-113 {
    margin-top: 113px !important;
  }
  .u-upper-mb-113 {
    margin-bottom: 113px !important;
  }
  .u-upper-pt-113 {
    padding-top: 113px !important;
  }
  .u-upper-pb-113 {
    padding-bottom: 113px !important;
  }
  .u-upper-mt-114 {
    margin-top: 114px !important;
  }
  .u-upper-mb-114 {
    margin-bottom: 114px !important;
  }
  .u-upper-pt-114 {
    padding-top: 114px !important;
  }
  .u-upper-pb-114 {
    padding-bottom: 114px !important;
  }
  .u-upper-mt-115 {
    margin-top: 115px !important;
  }
  .u-upper-mb-115 {
    margin-bottom: 115px !important;
  }
  .u-upper-pt-115 {
    padding-top: 115px !important;
  }
  .u-upper-pb-115 {
    padding-bottom: 115px !important;
  }
  .u-upper-mt-116 {
    margin-top: 116px !important;
  }
  .u-upper-mb-116 {
    margin-bottom: 116px !important;
  }
  .u-upper-pt-116 {
    padding-top: 116px !important;
  }
  .u-upper-pb-116 {
    padding-bottom: 116px !important;
  }
  .u-upper-mt-117 {
    margin-top: 117px !important;
  }
  .u-upper-mb-117 {
    margin-bottom: 117px !important;
  }
  .u-upper-pt-117 {
    padding-top: 117px !important;
  }
  .u-upper-pb-117 {
    padding-bottom: 117px !important;
  }
  .u-upper-mt-118 {
    margin-top: 118px !important;
  }
  .u-upper-mb-118 {
    margin-bottom: 118px !important;
  }
  .u-upper-pt-118 {
    padding-top: 118px !important;
  }
  .u-upper-pb-118 {
    padding-bottom: 118px !important;
  }
  .u-upper-mt-119 {
    margin-top: 119px !important;
  }
  .u-upper-mb-119 {
    margin-bottom: 119px !important;
  }
  .u-upper-pt-119 {
    padding-top: 119px !important;
  }
  .u-upper-pb-119 {
    padding-bottom: 119px !important;
  }
  .u-upper-mt-120 {
    margin-top: 120px !important;
  }
  .u-upper-mb-120 {
    margin-bottom: 120px !important;
  }
  .u-upper-pt-120 {
    padding-top: 120px !important;
  }
  .u-upper-pb-120 {
    padding-bottom: 120px !important;
  }
  .u-upper-mt-121 {
    margin-top: 121px !important;
  }
  .u-upper-mb-121 {
    margin-bottom: 121px !important;
  }
  .u-upper-pt-121 {
    padding-top: 121px !important;
  }
  .u-upper-pb-121 {
    padding-bottom: 121px !important;
  }
  .u-upper-mt-122 {
    margin-top: 122px !important;
  }
  .u-upper-mb-122 {
    margin-bottom: 122px !important;
  }
  .u-upper-pt-122 {
    padding-top: 122px !important;
  }
  .u-upper-pb-122 {
    padding-bottom: 122px !important;
  }
  .u-upper-mt-123 {
    margin-top: 123px !important;
  }
  .u-upper-mb-123 {
    margin-bottom: 123px !important;
  }
  .u-upper-pt-123 {
    padding-top: 123px !important;
  }
  .u-upper-pb-123 {
    padding-bottom: 123px !important;
  }
  .u-upper-mt-124 {
    margin-top: 124px !important;
  }
  .u-upper-mb-124 {
    margin-bottom: 124px !important;
  }
  .u-upper-pt-124 {
    padding-top: 124px !important;
  }
  .u-upper-pb-124 {
    padding-bottom: 124px !important;
  }
  .u-upper-mt-125 {
    margin-top: 125px !important;
  }
  .u-upper-mb-125 {
    margin-bottom: 125px !important;
  }
  .u-upper-pt-125 {
    padding-top: 125px !important;
  }
  .u-upper-pb-125 {
    padding-bottom: 125px !important;
  }
  .u-upper-mt-126 {
    margin-top: 126px !important;
  }
  .u-upper-mb-126 {
    margin-bottom: 126px !important;
  }
  .u-upper-pt-126 {
    padding-top: 126px !important;
  }
  .u-upper-pb-126 {
    padding-bottom: 126px !important;
  }
  .u-upper-mt-127 {
    margin-top: 127px !important;
  }
  .u-upper-mb-127 {
    margin-bottom: 127px !important;
  }
  .u-upper-pt-127 {
    padding-top: 127px !important;
  }
  .u-upper-pb-127 {
    padding-bottom: 127px !important;
  }
  .u-upper-mt-128 {
    margin-top: 128px !important;
  }
  .u-upper-mb-128 {
    margin-bottom: 128px !important;
  }
  .u-upper-pt-128 {
    padding-top: 128px !important;
  }
  .u-upper-pb-128 {
    padding-bottom: 128px !important;
  }
  .u-upper-mt-129 {
    margin-top: 129px !important;
  }
  .u-upper-mb-129 {
    margin-bottom: 129px !important;
  }
  .u-upper-pt-129 {
    padding-top: 129px !important;
  }
  .u-upper-pb-129 {
    padding-bottom: 129px !important;
  }
  .u-upper-mt-130 {
    margin-top: 130px !important;
  }
  .u-upper-mb-130 {
    margin-bottom: 130px !important;
  }
  .u-upper-pt-130 {
    padding-top: 130px !important;
  }
  .u-upper-pb-130 {
    padding-bottom: 130px !important;
  }
  .u-upper-mt-131 {
    margin-top: 131px !important;
  }
  .u-upper-mb-131 {
    margin-bottom: 131px !important;
  }
  .u-upper-pt-131 {
    padding-top: 131px !important;
  }
  .u-upper-pb-131 {
    padding-bottom: 131px !important;
  }
  .u-upper-mt-132 {
    margin-top: 132px !important;
  }
  .u-upper-mb-132 {
    margin-bottom: 132px !important;
  }
  .u-upper-pt-132 {
    padding-top: 132px !important;
  }
  .u-upper-pb-132 {
    padding-bottom: 132px !important;
  }
  .u-upper-mt-133 {
    margin-top: 133px !important;
  }
  .u-upper-mb-133 {
    margin-bottom: 133px !important;
  }
  .u-upper-pt-133 {
    padding-top: 133px !important;
  }
  .u-upper-pb-133 {
    padding-bottom: 133px !important;
  }
  .u-upper-mt-134 {
    margin-top: 134px !important;
  }
  .u-upper-mb-134 {
    margin-bottom: 134px !important;
  }
  .u-upper-pt-134 {
    padding-top: 134px !important;
  }
  .u-upper-pb-134 {
    padding-bottom: 134px !important;
  }
  .u-upper-mt-135 {
    margin-top: 135px !important;
  }
  .u-upper-mb-135 {
    margin-bottom: 135px !important;
  }
  .u-upper-pt-135 {
    padding-top: 135px !important;
  }
  .u-upper-pb-135 {
    padding-bottom: 135px !important;
  }
  .u-upper-mt-136 {
    margin-top: 136px !important;
  }
  .u-upper-mb-136 {
    margin-bottom: 136px !important;
  }
  .u-upper-pt-136 {
    padding-top: 136px !important;
  }
  .u-upper-pb-136 {
    padding-bottom: 136px !important;
  }
  .u-upper-mt-137 {
    margin-top: 137px !important;
  }
  .u-upper-mb-137 {
    margin-bottom: 137px !important;
  }
  .u-upper-pt-137 {
    padding-top: 137px !important;
  }
  .u-upper-pb-137 {
    padding-bottom: 137px !important;
  }
  .u-upper-mt-138 {
    margin-top: 138px !important;
  }
  .u-upper-mb-138 {
    margin-bottom: 138px !important;
  }
  .u-upper-pt-138 {
    padding-top: 138px !important;
  }
  .u-upper-pb-138 {
    padding-bottom: 138px !important;
  }
  .u-upper-mt-139 {
    margin-top: 139px !important;
  }
  .u-upper-mb-139 {
    margin-bottom: 139px !important;
  }
  .u-upper-pt-139 {
    padding-top: 139px !important;
  }
  .u-upper-pb-139 {
    padding-bottom: 139px !important;
  }
  .u-upper-mt-140 {
    margin-top: 140px !important;
  }
  .u-upper-mb-140 {
    margin-bottom: 140px !important;
  }
  .u-upper-pt-140 {
    padding-top: 140px !important;
  }
  .u-upper-pb-140 {
    padding-bottom: 140px !important;
  }
  .u-upper-mt-141 {
    margin-top: 141px !important;
  }
  .u-upper-mb-141 {
    margin-bottom: 141px !important;
  }
  .u-upper-pt-141 {
    padding-top: 141px !important;
  }
  .u-upper-pb-141 {
    padding-bottom: 141px !important;
  }
  .u-upper-mt-142 {
    margin-top: 142px !important;
  }
  .u-upper-mb-142 {
    margin-bottom: 142px !important;
  }
  .u-upper-pt-142 {
    padding-top: 142px !important;
  }
  .u-upper-pb-142 {
    padding-bottom: 142px !important;
  }
  .u-upper-mt-143 {
    margin-top: 143px !important;
  }
  .u-upper-mb-143 {
    margin-bottom: 143px !important;
  }
  .u-upper-pt-143 {
    padding-top: 143px !important;
  }
  .u-upper-pb-143 {
    padding-bottom: 143px !important;
  }
  .u-upper-mt-144 {
    margin-top: 144px !important;
  }
  .u-upper-mb-144 {
    margin-bottom: 144px !important;
  }
  .u-upper-pt-144 {
    padding-top: 144px !important;
  }
  .u-upper-pb-144 {
    padding-bottom: 144px !important;
  }
  .u-upper-mt-145 {
    margin-top: 145px !important;
  }
  .u-upper-mb-145 {
    margin-bottom: 145px !important;
  }
  .u-upper-pt-145 {
    padding-top: 145px !important;
  }
  .u-upper-pb-145 {
    padding-bottom: 145px !important;
  }
  .u-upper-mt-146 {
    margin-top: 146px !important;
  }
  .u-upper-mb-146 {
    margin-bottom: 146px !important;
  }
  .u-upper-pt-146 {
    padding-top: 146px !important;
  }
  .u-upper-pb-146 {
    padding-bottom: 146px !important;
  }
  .u-upper-mt-147 {
    margin-top: 147px !important;
  }
  .u-upper-mb-147 {
    margin-bottom: 147px !important;
  }
  .u-upper-pt-147 {
    padding-top: 147px !important;
  }
  .u-upper-pb-147 {
    padding-bottom: 147px !important;
  }
  .u-upper-mt-148 {
    margin-top: 148px !important;
  }
  .u-upper-mb-148 {
    margin-bottom: 148px !important;
  }
  .u-upper-pt-148 {
    padding-top: 148px !important;
  }
  .u-upper-pb-148 {
    padding-bottom: 148px !important;
  }
  .u-upper-mt-149 {
    margin-top: 149px !important;
  }
  .u-upper-mb-149 {
    margin-bottom: 149px !important;
  }
  .u-upper-pt-149 {
    padding-top: 149px !important;
  }
  .u-upper-pb-149 {
    padding-bottom: 149px !important;
  }
  .u-upper-mt-150 {
    margin-top: 150px !important;
  }
  .u-upper-mb-150 {
    margin-bottom: 150px !important;
  }
  .u-upper-pt-150 {
    padding-top: 150px !important;
  }
  .u-upper-pb-150 {
    padding-bottom: 150px !important;
  }
  .u-upper-mt-151 {
    margin-top: 151px !important;
  }
  .u-upper-mb-151 {
    margin-bottom: 151px !important;
  }
  .u-upper-pt-151 {
    padding-top: 151px !important;
  }
  .u-upper-pb-151 {
    padding-bottom: 151px !important;
  }
  .u-upper-mt-152 {
    margin-top: 152px !important;
  }
  .u-upper-mb-152 {
    margin-bottom: 152px !important;
  }
  .u-upper-pt-152 {
    padding-top: 152px !important;
  }
  .u-upper-pb-152 {
    padding-bottom: 152px !important;
  }
  .u-upper-mt-153 {
    margin-top: 153px !important;
  }
  .u-upper-mb-153 {
    margin-bottom: 153px !important;
  }
  .u-upper-pt-153 {
    padding-top: 153px !important;
  }
  .u-upper-pb-153 {
    padding-bottom: 153px !important;
  }
  .u-upper-mt-154 {
    margin-top: 154px !important;
  }
  .u-upper-mb-154 {
    margin-bottom: 154px !important;
  }
  .u-upper-pt-154 {
    padding-top: 154px !important;
  }
  .u-upper-pb-154 {
    padding-bottom: 154px !important;
  }
  .u-upper-mt-155 {
    margin-top: 155px !important;
  }
  .u-upper-mb-155 {
    margin-bottom: 155px !important;
  }
  .u-upper-pt-155 {
    padding-top: 155px !important;
  }
  .u-upper-pb-155 {
    padding-bottom: 155px !important;
  }
  .u-upper-mt-156 {
    margin-top: 156px !important;
  }
  .u-upper-mb-156 {
    margin-bottom: 156px !important;
  }
  .u-upper-pt-156 {
    padding-top: 156px !important;
  }
  .u-upper-pb-156 {
    padding-bottom: 156px !important;
  }
  .u-upper-mt-157 {
    margin-top: 157px !important;
  }
  .u-upper-mb-157 {
    margin-bottom: 157px !important;
  }
  .u-upper-pt-157 {
    padding-top: 157px !important;
  }
  .u-upper-pb-157 {
    padding-bottom: 157px !important;
  }
  .u-upper-mt-158 {
    margin-top: 158px !important;
  }
  .u-upper-mb-158 {
    margin-bottom: 158px !important;
  }
  .u-upper-pt-158 {
    padding-top: 158px !important;
  }
  .u-upper-pb-158 {
    padding-bottom: 158px !important;
  }
  .u-upper-mt-159 {
    margin-top: 159px !important;
  }
  .u-upper-mb-159 {
    margin-bottom: 159px !important;
  }
  .u-upper-pt-159 {
    padding-top: 159px !important;
  }
  .u-upper-pb-159 {
    padding-bottom: 159px !important;
  }
  .u-upper-mt-160 {
    margin-top: 160px !important;
  }
  .u-upper-mb-160 {
    margin-bottom: 160px !important;
  }
  .u-upper-pt-160 {
    padding-top: 160px !important;
  }
  .u-upper-pb-160 {
    padding-bottom: 160px !important;
  }
  .u-upper-mt-161 {
    margin-top: 161px !important;
  }
  .u-upper-mb-161 {
    margin-bottom: 161px !important;
  }
  .u-upper-pt-161 {
    padding-top: 161px !important;
  }
  .u-upper-pb-161 {
    padding-bottom: 161px !important;
  }
  .u-upper-mt-162 {
    margin-top: 162px !important;
  }
  .u-upper-mb-162 {
    margin-bottom: 162px !important;
  }
  .u-upper-pt-162 {
    padding-top: 162px !important;
  }
  .u-upper-pb-162 {
    padding-bottom: 162px !important;
  }
  .u-upper-mt-163 {
    margin-top: 163px !important;
  }
  .u-upper-mb-163 {
    margin-bottom: 163px !important;
  }
  .u-upper-pt-163 {
    padding-top: 163px !important;
  }
  .u-upper-pb-163 {
    padding-bottom: 163px !important;
  }
  .u-upper-mt-164 {
    margin-top: 164px !important;
  }
  .u-upper-mb-164 {
    margin-bottom: 164px !important;
  }
  .u-upper-pt-164 {
    padding-top: 164px !important;
  }
  .u-upper-pb-164 {
    padding-bottom: 164px !important;
  }
  .u-upper-mt-165 {
    margin-top: 165px !important;
  }
  .u-upper-mb-165 {
    margin-bottom: 165px !important;
  }
  .u-upper-pt-165 {
    padding-top: 165px !important;
  }
  .u-upper-pb-165 {
    padding-bottom: 165px !important;
  }
  .u-upper-mt-166 {
    margin-top: 166px !important;
  }
  .u-upper-mb-166 {
    margin-bottom: 166px !important;
  }
  .u-upper-pt-166 {
    padding-top: 166px !important;
  }
  .u-upper-pb-166 {
    padding-bottom: 166px !important;
  }
  .u-upper-mt-167 {
    margin-top: 167px !important;
  }
  .u-upper-mb-167 {
    margin-bottom: 167px !important;
  }
  .u-upper-pt-167 {
    padding-top: 167px !important;
  }
  .u-upper-pb-167 {
    padding-bottom: 167px !important;
  }
  .u-upper-mt-168 {
    margin-top: 168px !important;
  }
  .u-upper-mb-168 {
    margin-bottom: 168px !important;
  }
  .u-upper-pt-168 {
    padding-top: 168px !important;
  }
  .u-upper-pb-168 {
    padding-bottom: 168px !important;
  }
  .u-upper-mt-169 {
    margin-top: 169px !important;
  }
  .u-upper-mb-169 {
    margin-bottom: 169px !important;
  }
  .u-upper-pt-169 {
    padding-top: 169px !important;
  }
  .u-upper-pb-169 {
    padding-bottom: 169px !important;
  }
  .u-upper-mt-170 {
    margin-top: 170px !important;
  }
  .u-upper-mb-170 {
    margin-bottom: 170px !important;
  }
  .u-upper-pt-170 {
    padding-top: 170px !important;
  }
  .u-upper-pb-170 {
    padding-bottom: 170px !important;
  }
  .u-upper-mt-171 {
    margin-top: 171px !important;
  }
  .u-upper-mb-171 {
    margin-bottom: 171px !important;
  }
  .u-upper-pt-171 {
    padding-top: 171px !important;
  }
  .u-upper-pb-171 {
    padding-bottom: 171px !important;
  }
  .u-upper-mt-172 {
    margin-top: 172px !important;
  }
  .u-upper-mb-172 {
    margin-bottom: 172px !important;
  }
  .u-upper-pt-172 {
    padding-top: 172px !important;
  }
  .u-upper-pb-172 {
    padding-bottom: 172px !important;
  }
  .u-upper-mt-173 {
    margin-top: 173px !important;
  }
  .u-upper-mb-173 {
    margin-bottom: 173px !important;
  }
  .u-upper-pt-173 {
    padding-top: 173px !important;
  }
  .u-upper-pb-173 {
    padding-bottom: 173px !important;
  }
  .u-upper-mt-174 {
    margin-top: 174px !important;
  }
  .u-upper-mb-174 {
    margin-bottom: 174px !important;
  }
  .u-upper-pt-174 {
    padding-top: 174px !important;
  }
  .u-upper-pb-174 {
    padding-bottom: 174px !important;
  }
  .u-upper-mt-175 {
    margin-top: 175px !important;
  }
  .u-upper-mb-175 {
    margin-bottom: 175px !important;
  }
  .u-upper-pt-175 {
    padding-top: 175px !important;
  }
  .u-upper-pb-175 {
    padding-bottom: 175px !important;
  }
  .u-upper-mt-176 {
    margin-top: 176px !important;
  }
  .u-upper-mb-176 {
    margin-bottom: 176px !important;
  }
  .u-upper-pt-176 {
    padding-top: 176px !important;
  }
  .u-upper-pb-176 {
    padding-bottom: 176px !important;
  }
  .u-upper-mt-177 {
    margin-top: 177px !important;
  }
  .u-upper-mb-177 {
    margin-bottom: 177px !important;
  }
  .u-upper-pt-177 {
    padding-top: 177px !important;
  }
  .u-upper-pb-177 {
    padding-bottom: 177px !important;
  }
  .u-upper-mt-178 {
    margin-top: 178px !important;
  }
  .u-upper-mb-178 {
    margin-bottom: 178px !important;
  }
  .u-upper-pt-178 {
    padding-top: 178px !important;
  }
  .u-upper-pb-178 {
    padding-bottom: 178px !important;
  }
  .u-upper-mt-179 {
    margin-top: 179px !important;
  }
  .u-upper-mb-179 {
    margin-bottom: 179px !important;
  }
  .u-upper-pt-179 {
    padding-top: 179px !important;
  }
  .u-upper-pb-179 {
    padding-bottom: 179px !important;
  }
  .u-upper-mt-180 {
    margin-top: 180px !important;
  }
  .u-upper-mb-180 {
    margin-bottom: 180px !important;
  }
  .u-upper-pt-180 {
    padding-top: 180px !important;
  }
  .u-upper-pb-180 {
    padding-bottom: 180px !important;
  }
  .u-upper-mt-181 {
    margin-top: 181px !important;
  }
  .u-upper-mb-181 {
    margin-bottom: 181px !important;
  }
  .u-upper-pt-181 {
    padding-top: 181px !important;
  }
  .u-upper-pb-181 {
    padding-bottom: 181px !important;
  }
  .u-upper-mt-182 {
    margin-top: 182px !important;
  }
  .u-upper-mb-182 {
    margin-bottom: 182px !important;
  }
  .u-upper-pt-182 {
    padding-top: 182px !important;
  }
  .u-upper-pb-182 {
    padding-bottom: 182px !important;
  }
  .u-upper-mt-183 {
    margin-top: 183px !important;
  }
  .u-upper-mb-183 {
    margin-bottom: 183px !important;
  }
  .u-upper-pt-183 {
    padding-top: 183px !important;
  }
  .u-upper-pb-183 {
    padding-bottom: 183px !important;
  }
  .u-upper-mt-184 {
    margin-top: 184px !important;
  }
  .u-upper-mb-184 {
    margin-bottom: 184px !important;
  }
  .u-upper-pt-184 {
    padding-top: 184px !important;
  }
  .u-upper-pb-184 {
    padding-bottom: 184px !important;
  }
  .u-upper-mt-185 {
    margin-top: 185px !important;
  }
  .u-upper-mb-185 {
    margin-bottom: 185px !important;
  }
  .u-upper-pt-185 {
    padding-top: 185px !important;
  }
  .u-upper-pb-185 {
    padding-bottom: 185px !important;
  }
  .u-upper-mt-186 {
    margin-top: 186px !important;
  }
  .u-upper-mb-186 {
    margin-bottom: 186px !important;
  }
  .u-upper-pt-186 {
    padding-top: 186px !important;
  }
  .u-upper-pb-186 {
    padding-bottom: 186px !important;
  }
  .u-upper-mt-187 {
    margin-top: 187px !important;
  }
  .u-upper-mb-187 {
    margin-bottom: 187px !important;
  }
  .u-upper-pt-187 {
    padding-top: 187px !important;
  }
  .u-upper-pb-187 {
    padding-bottom: 187px !important;
  }
  .u-upper-mt-188 {
    margin-top: 188px !important;
  }
  .u-upper-mb-188 {
    margin-bottom: 188px !important;
  }
  .u-upper-pt-188 {
    padding-top: 188px !important;
  }
  .u-upper-pb-188 {
    padding-bottom: 188px !important;
  }
  .u-upper-mt-189 {
    margin-top: 189px !important;
  }
  .u-upper-mb-189 {
    margin-bottom: 189px !important;
  }
  .u-upper-pt-189 {
    padding-top: 189px !important;
  }
  .u-upper-pb-189 {
    padding-bottom: 189px !important;
  }
  .u-upper-mt-190 {
    margin-top: 190px !important;
  }
  .u-upper-mb-190 {
    margin-bottom: 190px !important;
  }
  .u-upper-pt-190 {
    padding-top: 190px !important;
  }
  .u-upper-pb-190 {
    padding-bottom: 190px !important;
  }
  .u-upper-mt-191 {
    margin-top: 191px !important;
  }
  .u-upper-mb-191 {
    margin-bottom: 191px !important;
  }
  .u-upper-pt-191 {
    padding-top: 191px !important;
  }
  .u-upper-pb-191 {
    padding-bottom: 191px !important;
  }
  .u-upper-mt-192 {
    margin-top: 192px !important;
  }
  .u-upper-mb-192 {
    margin-bottom: 192px !important;
  }
  .u-upper-pt-192 {
    padding-top: 192px !important;
  }
  .u-upper-pb-192 {
    padding-bottom: 192px !important;
  }
  .u-upper-mt-193 {
    margin-top: 193px !important;
  }
  .u-upper-mb-193 {
    margin-bottom: 193px !important;
  }
  .u-upper-pt-193 {
    padding-top: 193px !important;
  }
  .u-upper-pb-193 {
    padding-bottom: 193px !important;
  }
  .u-upper-mt-194 {
    margin-top: 194px !important;
  }
  .u-upper-mb-194 {
    margin-bottom: 194px !important;
  }
  .u-upper-pt-194 {
    padding-top: 194px !important;
  }
  .u-upper-pb-194 {
    padding-bottom: 194px !important;
  }
  .u-upper-mt-195 {
    margin-top: 195px !important;
  }
  .u-upper-mb-195 {
    margin-bottom: 195px !important;
  }
  .u-upper-pt-195 {
    padding-top: 195px !important;
  }
  .u-upper-pb-195 {
    padding-bottom: 195px !important;
  }
  .u-upper-mt-196 {
    margin-top: 196px !important;
  }
  .u-upper-mb-196 {
    margin-bottom: 196px !important;
  }
  .u-upper-pt-196 {
    padding-top: 196px !important;
  }
  .u-upper-pb-196 {
    padding-bottom: 196px !important;
  }
  .u-upper-mt-197 {
    margin-top: 197px !important;
  }
  .u-upper-mb-197 {
    margin-bottom: 197px !important;
  }
  .u-upper-pt-197 {
    padding-top: 197px !important;
  }
  .u-upper-pb-197 {
    padding-bottom: 197px !important;
  }
  .u-upper-mt-198 {
    margin-top: 198px !important;
  }
  .u-upper-mb-198 {
    margin-bottom: 198px !important;
  }
  .u-upper-pt-198 {
    padding-top: 198px !important;
  }
  .u-upper-pb-198 {
    padding-bottom: 198px !important;
  }
  .u-upper-mt-199 {
    margin-top: 199px !important;
  }
  .u-upper-mb-199 {
    margin-bottom: 199px !important;
  }
  .u-upper-pt-199 {
    padding-top: 199px !important;
  }
  .u-upper-pb-199 {
    padding-bottom: 199px !important;
  }
  .u-upper-mt-200 {
    margin-top: 200px !important;
  }
  .u-upper-mb-200 {
    margin-bottom: 200px !important;
  }
  .u-upper-pt-200 {
    padding-top: 200px !important;
  }
  .u-upper-pb-200 {
    padding-bottom: 200px !important;
  }
  .u-upper-ml-auto {
    margin-right: 0 !important;
    margin-left: auto !important;
  }
  .u-upper-mr-auto {
    margin-right: auto !important;
    margin-left: 0 !important;
  }
  .u-upper-m-center {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .u-view-medium {
    display: none !important;
  }
  .u-view-under-medium,
  .sp-only {
    display: none !important;
  }
}

@media screen and (hover: hover) and (pointer: fine) and (min-width: 1024px){
  .p-dept__toc:hover:not(.is-suppressed) {
    transform: translateX(0);
  }
  .p-dept__toc:hover:not(.is-suppressed) .p-dept__toc-panel {
    visibility: visible;
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }
}

@media not screen and (min-width: 1024px){
  .c-more {
    width: auto;
    min-width: 0;
    max-width: 100%;
    height: auto;
    min-height: 0;
    padding: 10px 16px;
    gap: 8px;
    font-size: 14px;
  }
  .c-more::before {
    width: 7px;
    height: 7px;
  }
  .c-more img {
    width: 14px;
    height: 10px;
  }
  .c-more.-wide {
    width: auto;
    min-width: 0;
  }
  .p-home__pickup-oc .c-more {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
  .p-home__oc-year {
    padding: 5px 0 0 6px;
  }
  .p-home__oc-wday {
    margin: 0 6px 8px 4px;
    padding-top: 2px;
  }
  .p-home__oc-item:nth-child(n+4) {
    display: none;
  }
  .p-home__catch-lead {
    display: block;
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 32px;
    line-height: 66px;
  }
  .p-home__catch-copy {
    display: block;
    margin-top: 6px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 22px;
    line-height: 49px;
  }
  .p-home__catch-chip {
    display: inline;
    box-decoration-break: clone;
    border-radius: 8px;
    background: #fff;
    -webkit-box-decoration-break: clone;
    padding: 8px 0 8px 12px;
  }
  .p-home__catch-copy .p-home__catch-chip {
    padding: 6px 0 6px 12px;
  }
  .p-home__catch-scroll {
    display: none;
  }
  .p-home__catch-sp {
    display: grid;
    width: min(95%, 600px);
    margin: 80px auto 0;
    gap: 24px;
  }
  .p-home__catch-photo {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .p-home__about .p-home__inner {
    position: relative;
  }
  .p-home__about .p-home__watermark {
    z-index: 0;
    position: absolute;
    top: -100px;
    right: -5%;
    margin: 0;
    font-size: 80px;
    line-height: 1;
    letter-spacing: 0.02em;
    white-space: nowrap;
    pointer-events: none;
  }
  .p-home__about-stats li {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-areas: "icon  title" "desc  desc";
    align-items: center;
    -moz-column-gap: 8px;
         column-gap: 8px;
    row-gap: 14px;
    /*  右 20px は Figma 実測。説明文の折返し位置（3行）がこれで一致する
        本文幅 = 165 - 10 - 20 = 135 → 「多彩な視点で社会を支える」(12字×12px=144) が折り返る  */
    padding: 30px 20px 24px 10px;
  }
  .p-home__about-stats .p-home__about-stat-icon {
    grid-area: icon;
    width: 40px;
    margin: 0;
  }
  .p-home__about-stats .p-home__about-stat-icon img {
    width: 40px;
  }
  .p-home__about-stats h3 {
    grid-area: title;
    margin: 0;
    font-size: 14px;
    line-height: 1.4285714286;
  }
  .p-home__about-stats p {
    grid-area: desc;
    /*  Figma 実測: 字高 12px・行ピッチ 20px  */
    font-size: 12px;
    line-height: 1.6666666667;
  }
  .p-home__about-stats .p-home__about-stat-icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-home__about-stats h3 {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-home__about-stats p {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .p-home__about-cta {
    height: 88px;
    min-height: 88px;
    padding-block: 19px;
  }
  .p-home__about-cta-icon {
    width: 32px;
    height: 32px;
  }
  .p-home__campuses-actions .c-more {
    flex: 1 1 calc(50% - 5px);
    padding: 10px 12px;
    gap: 8px;
    font-size: 12px;
  }
  .p-home__department {
    padding-top: 18px;
  }
  .p-home__department .p-home__inner {
    padding-top: 102px;
  }
  .p-home__dept {
    padding-bottom: 38px;
  }
  .p-home__dept-photo {
    margin-top: 10px;
  }
  .p-home__dept-summary {
    padding: 20px 10px 26px;
  }
  .p-home__dept-faculty {
    min-height: 23px;
    margin-bottom: 10px;
    padding: 0 12px;
    font-size: 10px;
  }
  .p-home__dept-body h3 {
    max-width: none;
    margin-bottom: 10px;
    line-height: 1.545;
  }
  .p-home__dept-fields {
    flex-wrap: nowrap;
    margin-bottom: 10px;
    gap: 4px;
  }
  .p-home__dept-fields li {
    position: relative;
    height: 20px;
    min-height: 20px;
    padding: 0 8px 0 22px;
    gap: 0;
    font-size: 10px;
    white-space: nowrap;
  }
  .p-home__dept-fields li::before {
    position: absolute;
    top: 50%;
    left: 8px;
    flex: none;
    transform: translateY(-50%);
    font-size: 10px;
  }
  .p-home__dept-campus {
    min-height: 28px;
    padding: 0 8px 0 6px;
    gap: 6px;
    font-size: 11px;
  }
  .p-home__dept-campus img {
    width: 18px;
    height: 18px;
  }
  .p-home__dept-go {
    top: 127px;
    right: 10px;
  }
  .p-home__dept-news {
    padding: 20px 10px 0;
  }
  .p-home__dept-news h4 {
    margin-bottom: 12px;
  }
  .p-home__dept-news-item.is-featured {
    align-items: center;
    padding: 0;
  }
  .p-home__dept-news-item small {
    min-height: 16px;
    margin-bottom: 4px;
    padding: 0 6px;
    font-size: 10px;
  }
  .p-home__match-body .c-more {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
  .p-home__voice-carousel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .p-home__voice-card {
    --voice-scale: calc(((100vw - 16px) / 1.5) / 400px);
  }
  .p-home__voice-media {
    width: 400px;
    height: 426px;
    margin: 0 0 12px;
    margin-right: calc(400px * (var(--voice-scale) - 1));
    margin-bottom: calc(426px * (var(--voice-scale) - 1) + 12px);
    transform: scale(var(--voice-scale));
    transform-origin: top left;
  }
  .p-home__campus-cards a::before, .p-home__campus-cards a::after {
    display: none;
    content: none;
  }
  .p-home__instagram::before, .p-home__instagram::after {
    display: none;
    content: none;
  }
  .p-home__audience a {
    aspect-ratio: 155/71;
    height: auto;
    padding: 20px 10px 10px 23px;
    font-size: 13px;
    line-height: 1.4;
  }
  .p-home__audience a::before {
    top: 25px;
    left: 10px;
  }
  .p-home__audience a img {
    right: 10px;
    bottom: 11px;
  }
  .p-dept__head {
    margin-bottom: 24px;
  }
  .p-dept__more-pc {
    display: none !important;
  }
  .p-dept .p-home__voice-list,
  .p-dept__voice-list {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: none;
    margin: 0;
    padding: 0 calc((100vw - 275px) / 2) 12px;
  }
  .p-dept .p-home__voice-list > .p-home__voice-card,
  .p-dept .p-dept__voice-list > .p-home__voice-card {
    flex: 0 0 275px;
    --voice-scale: calc(275px / 400px);
  }
  .p-dept__hero-copy {
    padding-top: 0;
  }
  .p-dept__hero-faculty {
    margin-bottom: 10px;
    padding: 2px 16px;
    font-size: calc(14 / var(--base) * 1rem);
    line-height: 1.4;
  }
  .p-dept__hero-tags {
    margin-bottom: 8px;
    gap: 4px;
  }
  .p-dept__hero-tags li {
    padding: 6px 6px 2px;
    gap: 3px;
    font-size: calc(10 / var(--base) * 1rem);
  }
  .p-dept__hero-tags li img {
    width: 12px;
  }
  .p-dept__hero-campus img {
    width: 12px;
  }
  .p-dept__hero-campus {
    margin-bottom: 32px;
    padding: 4px 8px;
    gap: 4px;
    font-size: calc(11 / var(--base) * 1rem);
  }
  .p-dept__hero-catch p {
    padding: 4px 6px 2px;
    font-size: clamp(1.125rem, 1.015625rem + 0.3125vw, 1.25rem);
    line-height: 1.3;
  }
  .p-dept__hero-photo {
    aspect-ratio: 335/207;
    border-radius: 20px;
  }
  .p-dept__toc {
    --dept-toc-panel-w: 160px;
    visibility: hidden;
    top: 50%;
    flex-direction: row;
    align-items: center;
    transform: translateY(-50%) translateX(var(--dept-toc-panel-w));
    pointer-events: none;
    transition: transform 0.2s ease;
  }
  .p-dept__toc.is-sticky {
    visibility: visible;
    pointer-events: auto;
  }
  .p-dept__toc.is-open {
    transform: translateY(-50%) translateX(0);
  }
  .p-dept__toc-tab {
    flex-direction: column;
    width: 40px;
    height: 120px;
    min-height: 120px;
    padding: 14px 0 12px;
    gap: 6px;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    color: var(--clr_muted);
  }
  .p-dept__toc-tab-chevron {
    width: 7px;
    height: 4px;
    margin-bottom: 0;
    border: 0;
    background-image: url("../images/department/toc-tab-chevron.svg");
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-color: transparent;
    -webkit-clip-path: none;
    transform: rotate(-90deg);
            clip-path: none;
  }
  .p-dept__toc.is-open .p-dept__toc-tab-chevron {
    transform: rotate(90deg);
  }
  .p-dept__toc-tab-label {
    max-height: none;
    font-weight: 700;
    font-size: calc(12 / var(--base) * 1rem);
    line-height: 1.25;
    letter-spacing: 0.02em;
  }
  .p-dept__toc-panel {
    width: var(--dept-toc-panel-w);
    max-height: calc(100dvh - 80px);
    border-radius: 0;
    box-shadow: none;
  }
  .p-dept__toc.is-reduced-motion {
    transition: none;
  }
  .p-dept__toc-list li {
    border-bottom: 0;
  }
  .p-dept__toc-list li:last-child > a {
    min-height: 40px;
  }
  .p-dept__toc-list a.is-active {
    background: #fff;
  }
  .p-dept__toc-list a {
    align-content: center;
    min-height: 40px;
    padding: 0 10px;
    -moz-column-gap: 5px;
    grid-template-columns: 6px minmax(0, 1fr) 11.5px;
         column-gap: 5px;
    row-gap: 0;
  }
  .p-dept__toc-list a::before {
    width: 6px;
    height: 6px;
    background: var(--dept-accent);
  }
  .p-dept__toc-list a::after {
    width: 11.5px;
    height: 6.5px;
    background-image: url("../images/department/toc-chevron.svg");
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-color: transparent;
    -webkit-clip-path: none;
            clip-path: none;
  }
  .p-dept__toc-ja {
    font-weight: 700;
    font-size: calc(12 / var(--base) * 1rem);
    line-height: 1;
  }
  .p-dept .p-dept__toc-en {
    font-size: calc(10 / var(--base) * 1rem);
  }
  .p-dept__attract-cards {
    max-width: calc(100% - 40px);
    margin: 0 auto;
    padding: 0;
    gap: 10px;
  }
  .p-dept__attract-cards > li {
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding: 15px 20px 20px;
    overflow: hidden;
  }
  .p-dept__attract-cards figure {
    aspect-ratio: auto;
    width: 120px;
    height: 74px;
    margin: 0 0 15px;
    border-radius: 8px;
  }
  .p-dept__attract-cards img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-dept__attract-cards h3 {
    max-width: 100%;
    margin: 0 0 10px;
    font-weight: 700;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.02em;
  }
  .p-dept__attract-cards p {
    max-width: 100%;
    margin: 0;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 0.04em;
  }
  .p-dept__strip-area {
    min-height: 0;
    margin-bottom: 0;
    padding: 40px 0 40px;
  }
  .p-dept__strip {
    position: relative;
    top: 0;
  }
  .p-dept__strip-list img {
    width: min(50vw, 240px);
  }
  .p-dept__strip--fields .p-dept__strip-list img {
    width: min(50vw, 240px);
  }
  .p-dept__pillars {
    position: relative;
    top: auto;
    left: auto;
    width: min(88vw, 320px);
    margin: -15% auto 0;
    transform: none;
  }
  .p-dept__courses {
    padding-top: 60px;
    padding-bottom: 48px;
  }
  .p-dept__course-split.-lead-inside > .p-dept__course-lead {
    margin-bottom: 8px;
  }
  .p-dept__course-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-dept__course-split > p,
  .p-dept__course-split > ul {
    grid-column: 1/-1;
  }
  .p-dept__course-gallery.-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-dept__course-gallery.-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-dept__course-skills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-dept__want {
    padding-top: 10px;
    padding-bottom: 48px;
  }
  .p-dept__career,
  .p-dept__employment,
  .p-dept__faculty {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .p-dept__quali,
  .p-dept__jobs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .p-dept__quali {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 5px;
         column-gap: 5px;
    row-gap: 10px;
    justify-content: center;
  }
  .p-dept__quali li {
    box-sizing: border-box;
    justify-content: center;
    min-height: 85px;
    padding: 12px 8px;
    font-weight: 700;
    font-size: 15px;
    text-align: center;
  }
  .p-dept__initiatives {
    padding-top: 40px;
    padding-bottom: 36px;
  }
  .p-dept__curriculum {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .p-dept__years-num {
    min-width: 84px;
    height: 27px;
    font-size: 12px;
  }
  .p-dept__years-card h4 {
    font-size: 18px;
  }
  .p-dept--sports .p-dept__attraction .p-dept__head {
    margin-bottom: 16px;
  }
  .p-dept--sports .p-dept__courses {
    padding-top: 32px;
    padding-bottom: 20px;
  }
  .p-dept--sports .p-dept__course {
    margin-bottom: 8px;
  }
  .p-dept--sports .p-dept__course-body {
    padding-top: 20px;
    padding-bottom: 16px;
  }
  .p-dept--sports .p-dept__want {
    padding-top: 0;
    padding-bottom: 28px;
  }
  .p-dept--sports .p-dept__career {
    padding-top: 40px;
    padding-bottom: 36px;
  }
  .p-dept--sports .p-dept__employment {
    padding-top: 40px;
    padding-bottom: 36px;
  }
  .p-dept--sports .p-dept__curriculum {
    padding-top: 40px;
    padding-bottom: 36px;
  }
  .p-dept--sports .p-dept__voice {
    padding-top: 40px;
    padding-bottom: 36px;
  }
  .p-dept--sports .p-dept__faculty {
    padding-top: 40px;
    padding-bottom: 48px;
  }
  .p-dept--sports .p-dept__crumb {
    padding-bottom: 16px;
  }
  .p-dept--sports .p-dept__hero {
    box-sizing: border-box;
    min-height: 644px;
  }
  .p-dept--sports .p-dept__hero-faculty {
    margin-bottom: 8px;
  }
  .p-dept--sports .p-dept__hero-title {
    margin-bottom: 12px;
  }
  .p-dept--sports .p-dept__hero-campus {
    margin-bottom: 20px;
  }
  .p-dept--sports .p-dept__toc-item--courses {
    display: none;
  }
  .p-dept--management .p-dept__fields .p-dept__strip--fields {
    margin-bottom: 40px;
  }
  .p-dept--management .p-dept__jobs--icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-dept--social .p-dept__initiatives {
    margin-top: 24px;
  }
  .p-dept--management .p-dept__syllabus-foot {
    box-sizing: border-box;
    min-height: 72px;
    padding: 16px 32px;
  }
  .p-dept__fields {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .p-dept__field-photo img {
    aspect-ratio: 720/445;
    height: auto;
  }
  .p-dept__jobs--icons li {
    height: 98px;
    padding: 10px;
    gap: 10px;
  }
  .p-dept__job-icon {
    width: 40px;
    height: 40px;
  }
  .p-dept__job-icon img {
    width: 24px;
  }
  .p-dept__job-icon--tile img {
    width: 50px;
    height: 50px;
  }
  .p-dept__job-label {
    font-size: 13px;
  }
  .p-dept__head-row {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 24px;
    gap: 20px;
  }
  .p-dept__head-row .c-more {
    align-self: center;
    margin-left: 0;
  }
  .p-dept__faculty-cards {
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    gap: 16px 5px;
  }
  .p-dept__faculty-cards a {
    padding: 12px 10px 14px;
  }
  .p-dept__faculty-cards .p-dept__faculty-name {
    margin-bottom: 8px;
    padding: 0 22px 4px 0;
    font-size: 14px;
  }
  .p-dept__faculty-cards .p-dept__faculty-arrow {
    top: 14px;
    right: 8px;
  }
  .p-dept__faculty-cards .p-dept__faculty-label {
    height: 18px;
    margin-bottom: 4px;
    padding: 0 10px;
    font-size: 10px;
  }
  .p-dept__faculty-cards p:not(.p-dept__faculty-name):not(.p-dept__faculty-label) {
    margin-bottom: 6px;
    font-size: 11px;
    line-height: 1.4;
  }
  .p-dept--sports .p-dept__years {
    gap: 0;
  }
  .p-dept--sports .p-dept__years-arrow {
    display: block;
    width: 16px;
    height: 14px;
    margin: 12px auto 20px;
    border: 0;
    background: url("../images/department/sports/years-arrow-sp.svg") center/contain no-repeat;
  }
  .p-dept--sports .p-dept__years-card {
    display: grid;
    grid-template-rows: 40px 37px;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 10px;
    box-sizing: border-box;
         column-gap: 10px;
    row-gap: 0;
    align-items: stretch;
    width: 100%;
    max-width: 420px;
    min-height: 97px;
    margin: 0 auto;
    padding: 10px;
    border-radius: 4px;
    box-shadow: none;
    text-align: left;
  }
  .p-dept--sports .p-dept__years-decoration {
    top: -15px;
    width: 32px;
    height: auto;
  }
  .p-dept--sports .p-dept__years-num {
    display: flex;
    grid-row: 1;
    grid-column: 2;
    align-items: first baseline;
    align-self: end;
    justify-self: start;
    width: 62px;
    min-width: 62px;
    height: 22px;
    margin: 0;
    padding: 0;
    gap: 0px;
    font-weight: 700;
    font-size: 12px;
    font-family: "IBM Plex Sans JP", var(--ff-body);
    letter-spacing: 0.02em;
  }
  .p-dept--sports .p-dept__years-num .p-dept__years-num-value {
    font-weight: 800;
    font-size: 20px;
    line-height: 1;
    font-family: var(--ff-en);
    letter-spacing: 0.02em;
  }
  .p-dept--sports .p-dept__years-num .p-dept__years-num-unit {
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    font-family: "IBM Plex Sans JP", var(--ff-body);
    letter-spacing: 0.02em;
  }
  .p-dept--sports .p-dept__years-card h4 {
    grid-row: 2;
    grid-column: 2;
    align-self: center;
    margin: 0;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    font-family: "IBM Plex Sans JP", var(--ff-body);
    letter-spacing: 0.02em;
  }
  .p-dept--sports .p-dept__years-card figure {
    display: flex;
    grid-row: 1/3;
    grid-column: 1;
    align-items: center;
    align-self: center;
    justify-content: center;
    aspect-ratio: auto;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 4px;
  }
  .p-dept--sports .p-dept__years-card figure img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 60px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .p-dept--sports .p-dept__curr-card {
    height: auto;
  }
  .p-dept--sports .p-dept__curr-card ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }
  .p-dept--sports .p-dept__curr-card ul li {
    height: auto;
    min-height: 40px;
    padding: 6px 8px;
    font-size: 12px;
    letter-spacing: 0.02em;
  }
  .p-dept--sports .p-dept__curr-item-icon {
    width: 24px;
    height: 24px;
  }
  .p-dept--sports .p-dept__curr-item-icon img {
    width: 18px;
    height: 18px;
  }
  .p-dept__hero-catch--sp {
    display: flex;
  }
  .p-dept__hero-title-break {
    display: block;
  }
  .p-dept__hero-catch--pc {
    display: none;
  }
  .p-dept--social .p-dept__strip--fields {
    padding-top: 40px;
  }
  .p-dept--social .p-dept__courses {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .p-dept--social .p-dept__courses .p-dept__head {
    margin-bottom: 32px;
  }
  .u-under-mt-0 {
    margin-top: 0px !important;
  }
  .u-under-mb-0 {
    margin-bottom: 0px !important;
  }
  .u-under-pt-0 {
    padding-top: 0px !important;
  }
  .u-under-pb-0 {
    padding-bottom: 0px !important;
  }
  .u-under-mt-1 {
    margin-top: 1px !important;
  }
  .u-under-mb-1 {
    margin-bottom: 1px !important;
  }
  .u-under-pt-1 {
    padding-top: 1px !important;
  }
  .u-under-pb-1 {
    padding-bottom: 1px !important;
  }
  .u-under-mt-2 {
    margin-top: 2px !important;
  }
  .u-under-mb-2 {
    margin-bottom: 2px !important;
  }
  .u-under-pt-2 {
    padding-top: 2px !important;
  }
  .u-under-pb-2 {
    padding-bottom: 2px !important;
  }
  .u-under-mt-3 {
    margin-top: 3px !important;
  }
  .u-under-mb-3 {
    margin-bottom: 3px !important;
  }
  .u-under-pt-3 {
    padding-top: 3px !important;
  }
  .u-under-pb-3 {
    padding-bottom: 3px !important;
  }
  .u-under-mt-4 {
    margin-top: 4px !important;
  }
  .u-under-mb-4 {
    margin-bottom: 4px !important;
  }
  .u-under-pt-4 {
    padding-top: 4px !important;
  }
  .u-under-pb-4 {
    padding-bottom: 4px !important;
  }
  .u-under-mt-5 {
    margin-top: 5px !important;
  }
  .u-under-mb-5 {
    margin-bottom: 5px !important;
  }
  .u-under-pt-5 {
    padding-top: 5px !important;
  }
  .u-under-pb-5 {
    padding-bottom: 5px !important;
  }
  .u-under-mt-6 {
    margin-top: 6px !important;
  }
  .u-under-mb-6 {
    margin-bottom: 6px !important;
  }
  .u-under-pt-6 {
    padding-top: 6px !important;
  }
  .u-under-pb-6 {
    padding-bottom: 6px !important;
  }
  .u-under-mt-7 {
    margin-top: 7px !important;
  }
  .u-under-mb-7 {
    margin-bottom: 7px !important;
  }
  .u-under-pt-7 {
    padding-top: 7px !important;
  }
  .u-under-pb-7 {
    padding-bottom: 7px !important;
  }
  .u-under-mt-8 {
    margin-top: 8px !important;
  }
  .u-under-mb-8 {
    margin-bottom: 8px !important;
  }
  .u-under-pt-8 {
    padding-top: 8px !important;
  }
  .u-under-pb-8 {
    padding-bottom: 8px !important;
  }
  .u-under-mt-9 {
    margin-top: 9px !important;
  }
  .u-under-mb-9 {
    margin-bottom: 9px !important;
  }
  .u-under-pt-9 {
    padding-top: 9px !important;
  }
  .u-under-pb-9 {
    padding-bottom: 9px !important;
  }
  .u-under-mt-10 {
    margin-top: 10px !important;
  }
  .u-under-mb-10 {
    margin-bottom: 10px !important;
  }
  .u-under-pt-10 {
    padding-top: 10px !important;
  }
  .u-under-pb-10 {
    padding-bottom: 10px !important;
  }
  .u-under-mt-11 {
    margin-top: 11px !important;
  }
  .u-under-mb-11 {
    margin-bottom: 11px !important;
  }
  .u-under-pt-11 {
    padding-top: 11px !important;
  }
  .u-under-pb-11 {
    padding-bottom: 11px !important;
  }
  .u-under-mt-12 {
    margin-top: 12px !important;
  }
  .u-under-mb-12 {
    margin-bottom: 12px !important;
  }
  .u-under-pt-12 {
    padding-top: 12px !important;
  }
  .u-under-pb-12 {
    padding-bottom: 12px !important;
  }
  .u-under-mt-13 {
    margin-top: 13px !important;
  }
  .u-under-mb-13 {
    margin-bottom: 13px !important;
  }
  .u-under-pt-13 {
    padding-top: 13px !important;
  }
  .u-under-pb-13 {
    padding-bottom: 13px !important;
  }
  .u-under-mt-14 {
    margin-top: 14px !important;
  }
  .u-under-mb-14 {
    margin-bottom: 14px !important;
  }
  .u-under-pt-14 {
    padding-top: 14px !important;
  }
  .u-under-pb-14 {
    padding-bottom: 14px !important;
  }
  .u-under-mt-15 {
    margin-top: 15px !important;
  }
  .u-under-mb-15 {
    margin-bottom: 15px !important;
  }
  .u-under-pt-15 {
    padding-top: 15px !important;
  }
  .u-under-pb-15 {
    padding-bottom: 15px !important;
  }
  .u-under-mt-16 {
    margin-top: 16px !important;
  }
  .u-under-mb-16 {
    margin-bottom: 16px !important;
  }
  .u-under-pt-16 {
    padding-top: 16px !important;
  }
  .u-under-pb-16 {
    padding-bottom: 16px !important;
  }
  .u-under-mt-17 {
    margin-top: 17px !important;
  }
  .u-under-mb-17 {
    margin-bottom: 17px !important;
  }
  .u-under-pt-17 {
    padding-top: 17px !important;
  }
  .u-under-pb-17 {
    padding-bottom: 17px !important;
  }
  .u-under-mt-18 {
    margin-top: 18px !important;
  }
  .u-under-mb-18 {
    margin-bottom: 18px !important;
  }
  .u-under-pt-18 {
    padding-top: 18px !important;
  }
  .u-under-pb-18 {
    padding-bottom: 18px !important;
  }
  .u-under-mt-19 {
    margin-top: 19px !important;
  }
  .u-under-mb-19 {
    margin-bottom: 19px !important;
  }
  .u-under-pt-19 {
    padding-top: 19px !important;
  }
  .u-under-pb-19 {
    padding-bottom: 19px !important;
  }
  .u-under-mt-20 {
    margin-top: 20px !important;
  }
  .u-under-mb-20 {
    margin-bottom: 20px !important;
  }
  .u-under-pt-20 {
    padding-top: 20px !important;
  }
  .u-under-pb-20 {
    padding-bottom: 20px !important;
  }
  .u-under-mt-21 {
    margin-top: 21px !important;
  }
  .u-under-mb-21 {
    margin-bottom: 21px !important;
  }
  .u-under-pt-21 {
    padding-top: 21px !important;
  }
  .u-under-pb-21 {
    padding-bottom: 21px !important;
  }
  .u-under-mt-22 {
    margin-top: 22px !important;
  }
  .u-under-mb-22 {
    margin-bottom: 22px !important;
  }
  .u-under-pt-22 {
    padding-top: 22px !important;
  }
  .u-under-pb-22 {
    padding-bottom: 22px !important;
  }
  .u-under-mt-23 {
    margin-top: 23px !important;
  }
  .u-under-mb-23 {
    margin-bottom: 23px !important;
  }
  .u-under-pt-23 {
    padding-top: 23px !important;
  }
  .u-under-pb-23 {
    padding-bottom: 23px !important;
  }
  .u-under-mt-24 {
    margin-top: 24px !important;
  }
  .u-under-mb-24 {
    margin-bottom: 24px !important;
  }
  .u-under-pt-24 {
    padding-top: 24px !important;
  }
  .u-under-pb-24 {
    padding-bottom: 24px !important;
  }
  .u-under-mt-25 {
    margin-top: 25px !important;
  }
  .u-under-mb-25 {
    margin-bottom: 25px !important;
  }
  .u-under-pt-25 {
    padding-top: 25px !important;
  }
  .u-under-pb-25 {
    padding-bottom: 25px !important;
  }
  .u-under-mt-26 {
    margin-top: 26px !important;
  }
  .u-under-mb-26 {
    margin-bottom: 26px !important;
  }
  .u-under-pt-26 {
    padding-top: 26px !important;
  }
  .u-under-pb-26 {
    padding-bottom: 26px !important;
  }
  .u-under-mt-27 {
    margin-top: 27px !important;
  }
  .u-under-mb-27 {
    margin-bottom: 27px !important;
  }
  .u-under-pt-27 {
    padding-top: 27px !important;
  }
  .u-under-pb-27 {
    padding-bottom: 27px !important;
  }
  .u-under-mt-28 {
    margin-top: 28px !important;
  }
  .u-under-mb-28 {
    margin-bottom: 28px !important;
  }
  .u-under-pt-28 {
    padding-top: 28px !important;
  }
  .u-under-pb-28 {
    padding-bottom: 28px !important;
  }
  .u-under-mt-29 {
    margin-top: 29px !important;
  }
  .u-under-mb-29 {
    margin-bottom: 29px !important;
  }
  .u-under-pt-29 {
    padding-top: 29px !important;
  }
  .u-under-pb-29 {
    padding-bottom: 29px !important;
  }
  .u-under-mt-30 {
    margin-top: 30px !important;
  }
  .u-under-mb-30 {
    margin-bottom: 30px !important;
  }
  .u-under-pt-30 {
    padding-top: 30px !important;
  }
  .u-under-pb-30 {
    padding-bottom: 30px !important;
  }
  .u-under-mt-31 {
    margin-top: 31px !important;
  }
  .u-under-mb-31 {
    margin-bottom: 31px !important;
  }
  .u-under-pt-31 {
    padding-top: 31px !important;
  }
  .u-under-pb-31 {
    padding-bottom: 31px !important;
  }
  .u-under-mt-32 {
    margin-top: 32px !important;
  }
  .u-under-mb-32 {
    margin-bottom: 32px !important;
  }
  .u-under-pt-32 {
    padding-top: 32px !important;
  }
  .u-under-pb-32 {
    padding-bottom: 32px !important;
  }
  .u-under-mt-33 {
    margin-top: 33px !important;
  }
  .u-under-mb-33 {
    margin-bottom: 33px !important;
  }
  .u-under-pt-33 {
    padding-top: 33px !important;
  }
  .u-under-pb-33 {
    padding-bottom: 33px !important;
  }
  .u-under-mt-34 {
    margin-top: 34px !important;
  }
  .u-under-mb-34 {
    margin-bottom: 34px !important;
  }
  .u-under-pt-34 {
    padding-top: 34px !important;
  }
  .u-under-pb-34 {
    padding-bottom: 34px !important;
  }
  .u-under-mt-35 {
    margin-top: 35px !important;
  }
  .u-under-mb-35 {
    margin-bottom: 35px !important;
  }
  .u-under-pt-35 {
    padding-top: 35px !important;
  }
  .u-under-pb-35 {
    padding-bottom: 35px !important;
  }
  .u-under-mt-36 {
    margin-top: 36px !important;
  }
  .u-under-mb-36 {
    margin-bottom: 36px !important;
  }
  .u-under-pt-36 {
    padding-top: 36px !important;
  }
  .u-under-pb-36 {
    padding-bottom: 36px !important;
  }
  .u-under-mt-37 {
    margin-top: 37px !important;
  }
  .u-under-mb-37 {
    margin-bottom: 37px !important;
  }
  .u-under-pt-37 {
    padding-top: 37px !important;
  }
  .u-under-pb-37 {
    padding-bottom: 37px !important;
  }
  .u-under-mt-38 {
    margin-top: 38px !important;
  }
  .u-under-mb-38 {
    margin-bottom: 38px !important;
  }
  .u-under-pt-38 {
    padding-top: 38px !important;
  }
  .u-under-pb-38 {
    padding-bottom: 38px !important;
  }
  .u-under-mt-39 {
    margin-top: 39px !important;
  }
  .u-under-mb-39 {
    margin-bottom: 39px !important;
  }
  .u-under-pt-39 {
    padding-top: 39px !important;
  }
  .u-under-pb-39 {
    padding-bottom: 39px !important;
  }
  .u-under-mt-40 {
    margin-top: 40px !important;
  }
  .u-under-mb-40 {
    margin-bottom: 40px !important;
  }
  .u-under-pt-40 {
    padding-top: 40px !important;
  }
  .u-under-pb-40 {
    padding-bottom: 40px !important;
  }
  .u-under-mt-41 {
    margin-top: 41px !important;
  }
  .u-under-mb-41 {
    margin-bottom: 41px !important;
  }
  .u-under-pt-41 {
    padding-top: 41px !important;
  }
  .u-under-pb-41 {
    padding-bottom: 41px !important;
  }
  .u-under-mt-42 {
    margin-top: 42px !important;
  }
  .u-under-mb-42 {
    margin-bottom: 42px !important;
  }
  .u-under-pt-42 {
    padding-top: 42px !important;
  }
  .u-under-pb-42 {
    padding-bottom: 42px !important;
  }
  .u-under-mt-43 {
    margin-top: 43px !important;
  }
  .u-under-mb-43 {
    margin-bottom: 43px !important;
  }
  .u-under-pt-43 {
    padding-top: 43px !important;
  }
  .u-under-pb-43 {
    padding-bottom: 43px !important;
  }
  .u-under-mt-44 {
    margin-top: 44px !important;
  }
  .u-under-mb-44 {
    margin-bottom: 44px !important;
  }
  .u-under-pt-44 {
    padding-top: 44px !important;
  }
  .u-under-pb-44 {
    padding-bottom: 44px !important;
  }
  .u-under-mt-45 {
    margin-top: 45px !important;
  }
  .u-under-mb-45 {
    margin-bottom: 45px !important;
  }
  .u-under-pt-45 {
    padding-top: 45px !important;
  }
  .u-under-pb-45 {
    padding-bottom: 45px !important;
  }
  .u-under-mt-46 {
    margin-top: 46px !important;
  }
  .u-under-mb-46 {
    margin-bottom: 46px !important;
  }
  .u-under-pt-46 {
    padding-top: 46px !important;
  }
  .u-under-pb-46 {
    padding-bottom: 46px !important;
  }
  .u-under-mt-47 {
    margin-top: 47px !important;
  }
  .u-under-mb-47 {
    margin-bottom: 47px !important;
  }
  .u-under-pt-47 {
    padding-top: 47px !important;
  }
  .u-under-pb-47 {
    padding-bottom: 47px !important;
  }
  .u-under-mt-48 {
    margin-top: 48px !important;
  }
  .u-under-mb-48 {
    margin-bottom: 48px !important;
  }
  .u-under-pt-48 {
    padding-top: 48px !important;
  }
  .u-under-pb-48 {
    padding-bottom: 48px !important;
  }
  .u-under-mt-49 {
    margin-top: 49px !important;
  }
  .u-under-mb-49 {
    margin-bottom: 49px !important;
  }
  .u-under-pt-49 {
    padding-top: 49px !important;
  }
  .u-under-pb-49 {
    padding-bottom: 49px !important;
  }
  .u-under-mt-50 {
    margin-top: 50px !important;
  }
  .u-under-mb-50 {
    margin-bottom: 50px !important;
  }
  .u-under-pt-50 {
    padding-top: 50px !important;
  }
  .u-under-pb-50 {
    padding-bottom: 50px !important;
  }
  .u-under-mt-51 {
    margin-top: 51px !important;
  }
  .u-under-mb-51 {
    margin-bottom: 51px !important;
  }
  .u-under-pt-51 {
    padding-top: 51px !important;
  }
  .u-under-pb-51 {
    padding-bottom: 51px !important;
  }
  .u-under-mt-52 {
    margin-top: 52px !important;
  }
  .u-under-mb-52 {
    margin-bottom: 52px !important;
  }
  .u-under-pt-52 {
    padding-top: 52px !important;
  }
  .u-under-pb-52 {
    padding-bottom: 52px !important;
  }
  .u-under-mt-53 {
    margin-top: 53px !important;
  }
  .u-under-mb-53 {
    margin-bottom: 53px !important;
  }
  .u-under-pt-53 {
    padding-top: 53px !important;
  }
  .u-under-pb-53 {
    padding-bottom: 53px !important;
  }
  .u-under-mt-54 {
    margin-top: 54px !important;
  }
  .u-under-mb-54 {
    margin-bottom: 54px !important;
  }
  .u-under-pt-54 {
    padding-top: 54px !important;
  }
  .u-under-pb-54 {
    padding-bottom: 54px !important;
  }
  .u-under-mt-55 {
    margin-top: 55px !important;
  }
  .u-under-mb-55 {
    margin-bottom: 55px !important;
  }
  .u-under-pt-55 {
    padding-top: 55px !important;
  }
  .u-under-pb-55 {
    padding-bottom: 55px !important;
  }
  .u-under-mt-56 {
    margin-top: 56px !important;
  }
  .u-under-mb-56 {
    margin-bottom: 56px !important;
  }
  .u-under-pt-56 {
    padding-top: 56px !important;
  }
  .u-under-pb-56 {
    padding-bottom: 56px !important;
  }
  .u-under-mt-57 {
    margin-top: 57px !important;
  }
  .u-under-mb-57 {
    margin-bottom: 57px !important;
  }
  .u-under-pt-57 {
    padding-top: 57px !important;
  }
  .u-under-pb-57 {
    padding-bottom: 57px !important;
  }
  .u-under-mt-58 {
    margin-top: 58px !important;
  }
  .u-under-mb-58 {
    margin-bottom: 58px !important;
  }
  .u-under-pt-58 {
    padding-top: 58px !important;
  }
  .u-under-pb-58 {
    padding-bottom: 58px !important;
  }
  .u-under-mt-59 {
    margin-top: 59px !important;
  }
  .u-under-mb-59 {
    margin-bottom: 59px !important;
  }
  .u-under-pt-59 {
    padding-top: 59px !important;
  }
  .u-under-pb-59 {
    padding-bottom: 59px !important;
  }
  .u-under-mt-60 {
    margin-top: 60px !important;
  }
  .u-under-mb-60 {
    margin-bottom: 60px !important;
  }
  .u-under-pt-60 {
    padding-top: 60px !important;
  }
  .u-under-pb-60 {
    padding-bottom: 60px !important;
  }
  .u-under-mt-61 {
    margin-top: 61px !important;
  }
  .u-under-mb-61 {
    margin-bottom: 61px !important;
  }
  .u-under-pt-61 {
    padding-top: 61px !important;
  }
  .u-under-pb-61 {
    padding-bottom: 61px !important;
  }
  .u-under-mt-62 {
    margin-top: 62px !important;
  }
  .u-under-mb-62 {
    margin-bottom: 62px !important;
  }
  .u-under-pt-62 {
    padding-top: 62px !important;
  }
  .u-under-pb-62 {
    padding-bottom: 62px !important;
  }
  .u-under-mt-63 {
    margin-top: 63px !important;
  }
  .u-under-mb-63 {
    margin-bottom: 63px !important;
  }
  .u-under-pt-63 {
    padding-top: 63px !important;
  }
  .u-under-pb-63 {
    padding-bottom: 63px !important;
  }
  .u-under-mt-64 {
    margin-top: 64px !important;
  }
  .u-under-mb-64 {
    margin-bottom: 64px !important;
  }
  .u-under-pt-64 {
    padding-top: 64px !important;
  }
  .u-under-pb-64 {
    padding-bottom: 64px !important;
  }
  .u-under-mt-65 {
    margin-top: 65px !important;
  }
  .u-under-mb-65 {
    margin-bottom: 65px !important;
  }
  .u-under-pt-65 {
    padding-top: 65px !important;
  }
  .u-under-pb-65 {
    padding-bottom: 65px !important;
  }
  .u-under-mt-66 {
    margin-top: 66px !important;
  }
  .u-under-mb-66 {
    margin-bottom: 66px !important;
  }
  .u-under-pt-66 {
    padding-top: 66px !important;
  }
  .u-under-pb-66 {
    padding-bottom: 66px !important;
  }
  .u-under-mt-67 {
    margin-top: 67px !important;
  }
  .u-under-mb-67 {
    margin-bottom: 67px !important;
  }
  .u-under-pt-67 {
    padding-top: 67px !important;
  }
  .u-under-pb-67 {
    padding-bottom: 67px !important;
  }
  .u-under-mt-68 {
    margin-top: 68px !important;
  }
  .u-under-mb-68 {
    margin-bottom: 68px !important;
  }
  .u-under-pt-68 {
    padding-top: 68px !important;
  }
  .u-under-pb-68 {
    padding-bottom: 68px !important;
  }
  .u-under-mt-69 {
    margin-top: 69px !important;
  }
  .u-under-mb-69 {
    margin-bottom: 69px !important;
  }
  .u-under-pt-69 {
    padding-top: 69px !important;
  }
  .u-under-pb-69 {
    padding-bottom: 69px !important;
  }
  .u-under-mt-70 {
    margin-top: 70px !important;
  }
  .u-under-mb-70 {
    margin-bottom: 70px !important;
  }
  .u-under-pt-70 {
    padding-top: 70px !important;
  }
  .u-under-pb-70 {
    padding-bottom: 70px !important;
  }
  .u-under-mt-71 {
    margin-top: 71px !important;
  }
  .u-under-mb-71 {
    margin-bottom: 71px !important;
  }
  .u-under-pt-71 {
    padding-top: 71px !important;
  }
  .u-under-pb-71 {
    padding-bottom: 71px !important;
  }
  .u-under-mt-72 {
    margin-top: 72px !important;
  }
  .u-under-mb-72 {
    margin-bottom: 72px !important;
  }
  .u-under-pt-72 {
    padding-top: 72px !important;
  }
  .u-under-pb-72 {
    padding-bottom: 72px !important;
  }
  .u-under-mt-73 {
    margin-top: 73px !important;
  }
  .u-under-mb-73 {
    margin-bottom: 73px !important;
  }
  .u-under-pt-73 {
    padding-top: 73px !important;
  }
  .u-under-pb-73 {
    padding-bottom: 73px !important;
  }
  .u-under-mt-74 {
    margin-top: 74px !important;
  }
  .u-under-mb-74 {
    margin-bottom: 74px !important;
  }
  .u-under-pt-74 {
    padding-top: 74px !important;
  }
  .u-under-pb-74 {
    padding-bottom: 74px !important;
  }
  .u-under-mt-75 {
    margin-top: 75px !important;
  }
  .u-under-mb-75 {
    margin-bottom: 75px !important;
  }
  .u-under-pt-75 {
    padding-top: 75px !important;
  }
  .u-under-pb-75 {
    padding-bottom: 75px !important;
  }
  .u-under-mt-76 {
    margin-top: 76px !important;
  }
  .u-under-mb-76 {
    margin-bottom: 76px !important;
  }
  .u-under-pt-76 {
    padding-top: 76px !important;
  }
  .u-under-pb-76 {
    padding-bottom: 76px !important;
  }
  .u-under-mt-77 {
    margin-top: 77px !important;
  }
  .u-under-mb-77 {
    margin-bottom: 77px !important;
  }
  .u-under-pt-77 {
    padding-top: 77px !important;
  }
  .u-under-pb-77 {
    padding-bottom: 77px !important;
  }
  .u-under-mt-78 {
    margin-top: 78px !important;
  }
  .u-under-mb-78 {
    margin-bottom: 78px !important;
  }
  .u-under-pt-78 {
    padding-top: 78px !important;
  }
  .u-under-pb-78 {
    padding-bottom: 78px !important;
  }
  .u-under-mt-79 {
    margin-top: 79px !important;
  }
  .u-under-mb-79 {
    margin-bottom: 79px !important;
  }
  .u-under-pt-79 {
    padding-top: 79px !important;
  }
  .u-under-pb-79 {
    padding-bottom: 79px !important;
  }
  .u-under-mt-80 {
    margin-top: 80px !important;
  }
  .u-under-mb-80 {
    margin-bottom: 80px !important;
  }
  .u-under-pt-80 {
    padding-top: 80px !important;
  }
  .u-under-pb-80 {
    padding-bottom: 80px !important;
  }
  .u-under-mt-81 {
    margin-top: 81px !important;
  }
  .u-under-mb-81 {
    margin-bottom: 81px !important;
  }
  .u-under-pt-81 {
    padding-top: 81px !important;
  }
  .u-under-pb-81 {
    padding-bottom: 81px !important;
  }
  .u-under-mt-82 {
    margin-top: 82px !important;
  }
  .u-under-mb-82 {
    margin-bottom: 82px !important;
  }
  .u-under-pt-82 {
    padding-top: 82px !important;
  }
  .u-under-pb-82 {
    padding-bottom: 82px !important;
  }
  .u-under-mt-83 {
    margin-top: 83px !important;
  }
  .u-under-mb-83 {
    margin-bottom: 83px !important;
  }
  .u-under-pt-83 {
    padding-top: 83px !important;
  }
  .u-under-pb-83 {
    padding-bottom: 83px !important;
  }
  .u-under-mt-84 {
    margin-top: 84px !important;
  }
  .u-under-mb-84 {
    margin-bottom: 84px !important;
  }
  .u-under-pt-84 {
    padding-top: 84px !important;
  }
  .u-under-pb-84 {
    padding-bottom: 84px !important;
  }
  .u-under-mt-85 {
    margin-top: 85px !important;
  }
  .u-under-mb-85 {
    margin-bottom: 85px !important;
  }
  .u-under-pt-85 {
    padding-top: 85px !important;
  }
  .u-under-pb-85 {
    padding-bottom: 85px !important;
  }
  .u-under-mt-86 {
    margin-top: 86px !important;
  }
  .u-under-mb-86 {
    margin-bottom: 86px !important;
  }
  .u-under-pt-86 {
    padding-top: 86px !important;
  }
  .u-under-pb-86 {
    padding-bottom: 86px !important;
  }
  .u-under-mt-87 {
    margin-top: 87px !important;
  }
  .u-under-mb-87 {
    margin-bottom: 87px !important;
  }
  .u-under-pt-87 {
    padding-top: 87px !important;
  }
  .u-under-pb-87 {
    padding-bottom: 87px !important;
  }
  .u-under-mt-88 {
    margin-top: 88px !important;
  }
  .u-under-mb-88 {
    margin-bottom: 88px !important;
  }
  .u-under-pt-88 {
    padding-top: 88px !important;
  }
  .u-under-pb-88 {
    padding-bottom: 88px !important;
  }
  .u-under-mt-89 {
    margin-top: 89px !important;
  }
  .u-under-mb-89 {
    margin-bottom: 89px !important;
  }
  .u-under-pt-89 {
    padding-top: 89px !important;
  }
  .u-under-pb-89 {
    padding-bottom: 89px !important;
  }
  .u-under-mt-90 {
    margin-top: 90px !important;
  }
  .u-under-mb-90 {
    margin-bottom: 90px !important;
  }
  .u-under-pt-90 {
    padding-top: 90px !important;
  }
  .u-under-pb-90 {
    padding-bottom: 90px !important;
  }
  .u-under-mt-91 {
    margin-top: 91px !important;
  }
  .u-under-mb-91 {
    margin-bottom: 91px !important;
  }
  .u-under-pt-91 {
    padding-top: 91px !important;
  }
  .u-under-pb-91 {
    padding-bottom: 91px !important;
  }
  .u-under-mt-92 {
    margin-top: 92px !important;
  }
  .u-under-mb-92 {
    margin-bottom: 92px !important;
  }
  .u-under-pt-92 {
    padding-top: 92px !important;
  }
  .u-under-pb-92 {
    padding-bottom: 92px !important;
  }
  .u-under-mt-93 {
    margin-top: 93px !important;
  }
  .u-under-mb-93 {
    margin-bottom: 93px !important;
  }
  .u-under-pt-93 {
    padding-top: 93px !important;
  }
  .u-under-pb-93 {
    padding-bottom: 93px !important;
  }
  .u-under-mt-94 {
    margin-top: 94px !important;
  }
  .u-under-mb-94 {
    margin-bottom: 94px !important;
  }
  .u-under-pt-94 {
    padding-top: 94px !important;
  }
  .u-under-pb-94 {
    padding-bottom: 94px !important;
  }
  .u-under-mt-95 {
    margin-top: 95px !important;
  }
  .u-under-mb-95 {
    margin-bottom: 95px !important;
  }
  .u-under-pt-95 {
    padding-top: 95px !important;
  }
  .u-under-pb-95 {
    padding-bottom: 95px !important;
  }
  .u-under-mt-96 {
    margin-top: 96px !important;
  }
  .u-under-mb-96 {
    margin-bottom: 96px !important;
  }
  .u-under-pt-96 {
    padding-top: 96px !important;
  }
  .u-under-pb-96 {
    padding-bottom: 96px !important;
  }
  .u-under-mt-97 {
    margin-top: 97px !important;
  }
  .u-under-mb-97 {
    margin-bottom: 97px !important;
  }
  .u-under-pt-97 {
    padding-top: 97px !important;
  }
  .u-under-pb-97 {
    padding-bottom: 97px !important;
  }
  .u-under-mt-98 {
    margin-top: 98px !important;
  }
  .u-under-mb-98 {
    margin-bottom: 98px !important;
  }
  .u-under-pt-98 {
    padding-top: 98px !important;
  }
  .u-under-pb-98 {
    padding-bottom: 98px !important;
  }
  .u-under-mt-99 {
    margin-top: 99px !important;
  }
  .u-under-mb-99 {
    margin-bottom: 99px !important;
  }
  .u-under-pt-99 {
    padding-top: 99px !important;
  }
  .u-under-pb-99 {
    padding-bottom: 99px !important;
  }
  .u-under-mt-100 {
    margin-top: 100px !important;
  }
  .u-under-mb-100 {
    margin-bottom: 100px !important;
  }
  .u-under-pt-100 {
    padding-top: 100px !important;
  }
  .u-under-pb-100 {
    padding-bottom: 100px !important;
  }
  .u-under-mt-101 {
    margin-top: 101px !important;
  }
  .u-under-mb-101 {
    margin-bottom: 101px !important;
  }
  .u-under-pt-101 {
    padding-top: 101px !important;
  }
  .u-under-pb-101 {
    padding-bottom: 101px !important;
  }
  .u-under-mt-102 {
    margin-top: 102px !important;
  }
  .u-under-mb-102 {
    margin-bottom: 102px !important;
  }
  .u-under-pt-102 {
    padding-top: 102px !important;
  }
  .u-under-pb-102 {
    padding-bottom: 102px !important;
  }
  .u-under-mt-103 {
    margin-top: 103px !important;
  }
  .u-under-mb-103 {
    margin-bottom: 103px !important;
  }
  .u-under-pt-103 {
    padding-top: 103px !important;
  }
  .u-under-pb-103 {
    padding-bottom: 103px !important;
  }
  .u-under-mt-104 {
    margin-top: 104px !important;
  }
  .u-under-mb-104 {
    margin-bottom: 104px !important;
  }
  .u-under-pt-104 {
    padding-top: 104px !important;
  }
  .u-under-pb-104 {
    padding-bottom: 104px !important;
  }
  .u-under-mt-105 {
    margin-top: 105px !important;
  }
  .u-under-mb-105 {
    margin-bottom: 105px !important;
  }
  .u-under-pt-105 {
    padding-top: 105px !important;
  }
  .u-under-pb-105 {
    padding-bottom: 105px !important;
  }
  .u-under-mt-106 {
    margin-top: 106px !important;
  }
  .u-under-mb-106 {
    margin-bottom: 106px !important;
  }
  .u-under-pt-106 {
    padding-top: 106px !important;
  }
  .u-under-pb-106 {
    padding-bottom: 106px !important;
  }
  .u-under-mt-107 {
    margin-top: 107px !important;
  }
  .u-under-mb-107 {
    margin-bottom: 107px !important;
  }
  .u-under-pt-107 {
    padding-top: 107px !important;
  }
  .u-under-pb-107 {
    padding-bottom: 107px !important;
  }
  .u-under-mt-108 {
    margin-top: 108px !important;
  }
  .u-under-mb-108 {
    margin-bottom: 108px !important;
  }
  .u-under-pt-108 {
    padding-top: 108px !important;
  }
  .u-under-pb-108 {
    padding-bottom: 108px !important;
  }
  .u-under-mt-109 {
    margin-top: 109px !important;
  }
  .u-under-mb-109 {
    margin-bottom: 109px !important;
  }
  .u-under-pt-109 {
    padding-top: 109px !important;
  }
  .u-under-pb-109 {
    padding-bottom: 109px !important;
  }
  .u-under-mt-110 {
    margin-top: 110px !important;
  }
  .u-under-mb-110 {
    margin-bottom: 110px !important;
  }
  .u-under-pt-110 {
    padding-top: 110px !important;
  }
  .u-under-pb-110 {
    padding-bottom: 110px !important;
  }
  .u-under-mt-111 {
    margin-top: 111px !important;
  }
  .u-under-mb-111 {
    margin-bottom: 111px !important;
  }
  .u-under-pt-111 {
    padding-top: 111px !important;
  }
  .u-under-pb-111 {
    padding-bottom: 111px !important;
  }
  .u-under-mt-112 {
    margin-top: 112px !important;
  }
  .u-under-mb-112 {
    margin-bottom: 112px !important;
  }
  .u-under-pt-112 {
    padding-top: 112px !important;
  }
  .u-under-pb-112 {
    padding-bottom: 112px !important;
  }
  .u-under-mt-113 {
    margin-top: 113px !important;
  }
  .u-under-mb-113 {
    margin-bottom: 113px !important;
  }
  .u-under-pt-113 {
    padding-top: 113px !important;
  }
  .u-under-pb-113 {
    padding-bottom: 113px !important;
  }
  .u-under-mt-114 {
    margin-top: 114px !important;
  }
  .u-under-mb-114 {
    margin-bottom: 114px !important;
  }
  .u-under-pt-114 {
    padding-top: 114px !important;
  }
  .u-under-pb-114 {
    padding-bottom: 114px !important;
  }
  .u-under-mt-115 {
    margin-top: 115px !important;
  }
  .u-under-mb-115 {
    margin-bottom: 115px !important;
  }
  .u-under-pt-115 {
    padding-top: 115px !important;
  }
  .u-under-pb-115 {
    padding-bottom: 115px !important;
  }
  .u-under-mt-116 {
    margin-top: 116px !important;
  }
  .u-under-mb-116 {
    margin-bottom: 116px !important;
  }
  .u-under-pt-116 {
    padding-top: 116px !important;
  }
  .u-under-pb-116 {
    padding-bottom: 116px !important;
  }
  .u-under-mt-117 {
    margin-top: 117px !important;
  }
  .u-under-mb-117 {
    margin-bottom: 117px !important;
  }
  .u-under-pt-117 {
    padding-top: 117px !important;
  }
  .u-under-pb-117 {
    padding-bottom: 117px !important;
  }
  .u-under-mt-118 {
    margin-top: 118px !important;
  }
  .u-under-mb-118 {
    margin-bottom: 118px !important;
  }
  .u-under-pt-118 {
    padding-top: 118px !important;
  }
  .u-under-pb-118 {
    padding-bottom: 118px !important;
  }
  .u-under-mt-119 {
    margin-top: 119px !important;
  }
  .u-under-mb-119 {
    margin-bottom: 119px !important;
  }
  .u-under-pt-119 {
    padding-top: 119px !important;
  }
  .u-under-pb-119 {
    padding-bottom: 119px !important;
  }
  .u-under-mt-120 {
    margin-top: 120px !important;
  }
  .u-under-mb-120 {
    margin-bottom: 120px !important;
  }
  .u-under-pt-120 {
    padding-top: 120px !important;
  }
  .u-under-pb-120 {
    padding-bottom: 120px !important;
  }
  .u-under-mt-121 {
    margin-top: 121px !important;
  }
  .u-under-mb-121 {
    margin-bottom: 121px !important;
  }
  .u-under-pt-121 {
    padding-top: 121px !important;
  }
  .u-under-pb-121 {
    padding-bottom: 121px !important;
  }
  .u-under-mt-122 {
    margin-top: 122px !important;
  }
  .u-under-mb-122 {
    margin-bottom: 122px !important;
  }
  .u-under-pt-122 {
    padding-top: 122px !important;
  }
  .u-under-pb-122 {
    padding-bottom: 122px !important;
  }
  .u-under-mt-123 {
    margin-top: 123px !important;
  }
  .u-under-mb-123 {
    margin-bottom: 123px !important;
  }
  .u-under-pt-123 {
    padding-top: 123px !important;
  }
  .u-under-pb-123 {
    padding-bottom: 123px !important;
  }
  .u-under-mt-124 {
    margin-top: 124px !important;
  }
  .u-under-mb-124 {
    margin-bottom: 124px !important;
  }
  .u-under-pt-124 {
    padding-top: 124px !important;
  }
  .u-under-pb-124 {
    padding-bottom: 124px !important;
  }
  .u-under-mt-125 {
    margin-top: 125px !important;
  }
  .u-under-mb-125 {
    margin-bottom: 125px !important;
  }
  .u-under-pt-125 {
    padding-top: 125px !important;
  }
  .u-under-pb-125 {
    padding-bottom: 125px !important;
  }
  .u-under-mt-126 {
    margin-top: 126px !important;
  }
  .u-under-mb-126 {
    margin-bottom: 126px !important;
  }
  .u-under-pt-126 {
    padding-top: 126px !important;
  }
  .u-under-pb-126 {
    padding-bottom: 126px !important;
  }
  .u-under-mt-127 {
    margin-top: 127px !important;
  }
  .u-under-mb-127 {
    margin-bottom: 127px !important;
  }
  .u-under-pt-127 {
    padding-top: 127px !important;
  }
  .u-under-pb-127 {
    padding-bottom: 127px !important;
  }
  .u-under-mt-128 {
    margin-top: 128px !important;
  }
  .u-under-mb-128 {
    margin-bottom: 128px !important;
  }
  .u-under-pt-128 {
    padding-top: 128px !important;
  }
  .u-under-pb-128 {
    padding-bottom: 128px !important;
  }
  .u-under-mt-129 {
    margin-top: 129px !important;
  }
  .u-under-mb-129 {
    margin-bottom: 129px !important;
  }
  .u-under-pt-129 {
    padding-top: 129px !important;
  }
  .u-under-pb-129 {
    padding-bottom: 129px !important;
  }
  .u-under-mt-130 {
    margin-top: 130px !important;
  }
  .u-under-mb-130 {
    margin-bottom: 130px !important;
  }
  .u-under-pt-130 {
    padding-top: 130px !important;
  }
  .u-under-pb-130 {
    padding-bottom: 130px !important;
  }
  .u-under-mt-131 {
    margin-top: 131px !important;
  }
  .u-under-mb-131 {
    margin-bottom: 131px !important;
  }
  .u-under-pt-131 {
    padding-top: 131px !important;
  }
  .u-under-pb-131 {
    padding-bottom: 131px !important;
  }
  .u-under-mt-132 {
    margin-top: 132px !important;
  }
  .u-under-mb-132 {
    margin-bottom: 132px !important;
  }
  .u-under-pt-132 {
    padding-top: 132px !important;
  }
  .u-under-pb-132 {
    padding-bottom: 132px !important;
  }
  .u-under-mt-133 {
    margin-top: 133px !important;
  }
  .u-under-mb-133 {
    margin-bottom: 133px !important;
  }
  .u-under-pt-133 {
    padding-top: 133px !important;
  }
  .u-under-pb-133 {
    padding-bottom: 133px !important;
  }
  .u-under-mt-134 {
    margin-top: 134px !important;
  }
  .u-under-mb-134 {
    margin-bottom: 134px !important;
  }
  .u-under-pt-134 {
    padding-top: 134px !important;
  }
  .u-under-pb-134 {
    padding-bottom: 134px !important;
  }
  .u-under-mt-135 {
    margin-top: 135px !important;
  }
  .u-under-mb-135 {
    margin-bottom: 135px !important;
  }
  .u-under-pt-135 {
    padding-top: 135px !important;
  }
  .u-under-pb-135 {
    padding-bottom: 135px !important;
  }
  .u-under-mt-136 {
    margin-top: 136px !important;
  }
  .u-under-mb-136 {
    margin-bottom: 136px !important;
  }
  .u-under-pt-136 {
    padding-top: 136px !important;
  }
  .u-under-pb-136 {
    padding-bottom: 136px !important;
  }
  .u-under-mt-137 {
    margin-top: 137px !important;
  }
  .u-under-mb-137 {
    margin-bottom: 137px !important;
  }
  .u-under-pt-137 {
    padding-top: 137px !important;
  }
  .u-under-pb-137 {
    padding-bottom: 137px !important;
  }
  .u-under-mt-138 {
    margin-top: 138px !important;
  }
  .u-under-mb-138 {
    margin-bottom: 138px !important;
  }
  .u-under-pt-138 {
    padding-top: 138px !important;
  }
  .u-under-pb-138 {
    padding-bottom: 138px !important;
  }
  .u-under-mt-139 {
    margin-top: 139px !important;
  }
  .u-under-mb-139 {
    margin-bottom: 139px !important;
  }
  .u-under-pt-139 {
    padding-top: 139px !important;
  }
  .u-under-pb-139 {
    padding-bottom: 139px !important;
  }
  .u-under-mt-140 {
    margin-top: 140px !important;
  }
  .u-under-mb-140 {
    margin-bottom: 140px !important;
  }
  .u-under-pt-140 {
    padding-top: 140px !important;
  }
  .u-under-pb-140 {
    padding-bottom: 140px !important;
  }
  .u-under-mt-141 {
    margin-top: 141px !important;
  }
  .u-under-mb-141 {
    margin-bottom: 141px !important;
  }
  .u-under-pt-141 {
    padding-top: 141px !important;
  }
  .u-under-pb-141 {
    padding-bottom: 141px !important;
  }
  .u-under-mt-142 {
    margin-top: 142px !important;
  }
  .u-under-mb-142 {
    margin-bottom: 142px !important;
  }
  .u-under-pt-142 {
    padding-top: 142px !important;
  }
  .u-under-pb-142 {
    padding-bottom: 142px !important;
  }
  .u-under-mt-143 {
    margin-top: 143px !important;
  }
  .u-under-mb-143 {
    margin-bottom: 143px !important;
  }
  .u-under-pt-143 {
    padding-top: 143px !important;
  }
  .u-under-pb-143 {
    padding-bottom: 143px !important;
  }
  .u-under-mt-144 {
    margin-top: 144px !important;
  }
  .u-under-mb-144 {
    margin-bottom: 144px !important;
  }
  .u-under-pt-144 {
    padding-top: 144px !important;
  }
  .u-under-pb-144 {
    padding-bottom: 144px !important;
  }
  .u-under-mt-145 {
    margin-top: 145px !important;
  }
  .u-under-mb-145 {
    margin-bottom: 145px !important;
  }
  .u-under-pt-145 {
    padding-top: 145px !important;
  }
  .u-under-pb-145 {
    padding-bottom: 145px !important;
  }
  .u-under-mt-146 {
    margin-top: 146px !important;
  }
  .u-under-mb-146 {
    margin-bottom: 146px !important;
  }
  .u-under-pt-146 {
    padding-top: 146px !important;
  }
  .u-under-pb-146 {
    padding-bottom: 146px !important;
  }
  .u-under-mt-147 {
    margin-top: 147px !important;
  }
  .u-under-mb-147 {
    margin-bottom: 147px !important;
  }
  .u-under-pt-147 {
    padding-top: 147px !important;
  }
  .u-under-pb-147 {
    padding-bottom: 147px !important;
  }
  .u-under-mt-148 {
    margin-top: 148px !important;
  }
  .u-under-mb-148 {
    margin-bottom: 148px !important;
  }
  .u-under-pt-148 {
    padding-top: 148px !important;
  }
  .u-under-pb-148 {
    padding-bottom: 148px !important;
  }
  .u-under-mt-149 {
    margin-top: 149px !important;
  }
  .u-under-mb-149 {
    margin-bottom: 149px !important;
  }
  .u-under-pt-149 {
    padding-top: 149px !important;
  }
  .u-under-pb-149 {
    padding-bottom: 149px !important;
  }
  .u-under-mt-150 {
    margin-top: 150px !important;
  }
  .u-under-mb-150 {
    margin-bottom: 150px !important;
  }
  .u-under-pt-150 {
    padding-top: 150px !important;
  }
  .u-under-pb-150 {
    padding-bottom: 150px !important;
  }
  .u-under-mt-151 {
    margin-top: 151px !important;
  }
  .u-under-mb-151 {
    margin-bottom: 151px !important;
  }
  .u-under-pt-151 {
    padding-top: 151px !important;
  }
  .u-under-pb-151 {
    padding-bottom: 151px !important;
  }
  .u-under-mt-152 {
    margin-top: 152px !important;
  }
  .u-under-mb-152 {
    margin-bottom: 152px !important;
  }
  .u-under-pt-152 {
    padding-top: 152px !important;
  }
  .u-under-pb-152 {
    padding-bottom: 152px !important;
  }
  .u-under-mt-153 {
    margin-top: 153px !important;
  }
  .u-under-mb-153 {
    margin-bottom: 153px !important;
  }
  .u-under-pt-153 {
    padding-top: 153px !important;
  }
  .u-under-pb-153 {
    padding-bottom: 153px !important;
  }
  .u-under-mt-154 {
    margin-top: 154px !important;
  }
  .u-under-mb-154 {
    margin-bottom: 154px !important;
  }
  .u-under-pt-154 {
    padding-top: 154px !important;
  }
  .u-under-pb-154 {
    padding-bottom: 154px !important;
  }
  .u-under-mt-155 {
    margin-top: 155px !important;
  }
  .u-under-mb-155 {
    margin-bottom: 155px !important;
  }
  .u-under-pt-155 {
    padding-top: 155px !important;
  }
  .u-under-pb-155 {
    padding-bottom: 155px !important;
  }
  .u-under-mt-156 {
    margin-top: 156px !important;
  }
  .u-under-mb-156 {
    margin-bottom: 156px !important;
  }
  .u-under-pt-156 {
    padding-top: 156px !important;
  }
  .u-under-pb-156 {
    padding-bottom: 156px !important;
  }
  .u-under-mt-157 {
    margin-top: 157px !important;
  }
  .u-under-mb-157 {
    margin-bottom: 157px !important;
  }
  .u-under-pt-157 {
    padding-top: 157px !important;
  }
  .u-under-pb-157 {
    padding-bottom: 157px !important;
  }
  .u-under-mt-158 {
    margin-top: 158px !important;
  }
  .u-under-mb-158 {
    margin-bottom: 158px !important;
  }
  .u-under-pt-158 {
    padding-top: 158px !important;
  }
  .u-under-pb-158 {
    padding-bottom: 158px !important;
  }
  .u-under-mt-159 {
    margin-top: 159px !important;
  }
  .u-under-mb-159 {
    margin-bottom: 159px !important;
  }
  .u-under-pt-159 {
    padding-top: 159px !important;
  }
  .u-under-pb-159 {
    padding-bottom: 159px !important;
  }
  .u-under-mt-160 {
    margin-top: 160px !important;
  }
  .u-under-mb-160 {
    margin-bottom: 160px !important;
  }
  .u-under-pt-160 {
    padding-top: 160px !important;
  }
  .u-under-pb-160 {
    padding-bottom: 160px !important;
  }
  .u-under-mt-161 {
    margin-top: 161px !important;
  }
  .u-under-mb-161 {
    margin-bottom: 161px !important;
  }
  .u-under-pt-161 {
    padding-top: 161px !important;
  }
  .u-under-pb-161 {
    padding-bottom: 161px !important;
  }
  .u-under-mt-162 {
    margin-top: 162px !important;
  }
  .u-under-mb-162 {
    margin-bottom: 162px !important;
  }
  .u-under-pt-162 {
    padding-top: 162px !important;
  }
  .u-under-pb-162 {
    padding-bottom: 162px !important;
  }
  .u-under-mt-163 {
    margin-top: 163px !important;
  }
  .u-under-mb-163 {
    margin-bottom: 163px !important;
  }
  .u-under-pt-163 {
    padding-top: 163px !important;
  }
  .u-under-pb-163 {
    padding-bottom: 163px !important;
  }
  .u-under-mt-164 {
    margin-top: 164px !important;
  }
  .u-under-mb-164 {
    margin-bottom: 164px !important;
  }
  .u-under-pt-164 {
    padding-top: 164px !important;
  }
  .u-under-pb-164 {
    padding-bottom: 164px !important;
  }
  .u-under-mt-165 {
    margin-top: 165px !important;
  }
  .u-under-mb-165 {
    margin-bottom: 165px !important;
  }
  .u-under-pt-165 {
    padding-top: 165px !important;
  }
  .u-under-pb-165 {
    padding-bottom: 165px !important;
  }
  .u-under-mt-166 {
    margin-top: 166px !important;
  }
  .u-under-mb-166 {
    margin-bottom: 166px !important;
  }
  .u-under-pt-166 {
    padding-top: 166px !important;
  }
  .u-under-pb-166 {
    padding-bottom: 166px !important;
  }
  .u-under-mt-167 {
    margin-top: 167px !important;
  }
  .u-under-mb-167 {
    margin-bottom: 167px !important;
  }
  .u-under-pt-167 {
    padding-top: 167px !important;
  }
  .u-under-pb-167 {
    padding-bottom: 167px !important;
  }
  .u-under-mt-168 {
    margin-top: 168px !important;
  }
  .u-under-mb-168 {
    margin-bottom: 168px !important;
  }
  .u-under-pt-168 {
    padding-top: 168px !important;
  }
  .u-under-pb-168 {
    padding-bottom: 168px !important;
  }
  .u-under-mt-169 {
    margin-top: 169px !important;
  }
  .u-under-mb-169 {
    margin-bottom: 169px !important;
  }
  .u-under-pt-169 {
    padding-top: 169px !important;
  }
  .u-under-pb-169 {
    padding-bottom: 169px !important;
  }
  .u-under-mt-170 {
    margin-top: 170px !important;
  }
  .u-under-mb-170 {
    margin-bottom: 170px !important;
  }
  .u-under-pt-170 {
    padding-top: 170px !important;
  }
  .u-under-pb-170 {
    padding-bottom: 170px !important;
  }
  .u-under-mt-171 {
    margin-top: 171px !important;
  }
  .u-under-mb-171 {
    margin-bottom: 171px !important;
  }
  .u-under-pt-171 {
    padding-top: 171px !important;
  }
  .u-under-pb-171 {
    padding-bottom: 171px !important;
  }
  .u-under-mt-172 {
    margin-top: 172px !important;
  }
  .u-under-mb-172 {
    margin-bottom: 172px !important;
  }
  .u-under-pt-172 {
    padding-top: 172px !important;
  }
  .u-under-pb-172 {
    padding-bottom: 172px !important;
  }
  .u-under-mt-173 {
    margin-top: 173px !important;
  }
  .u-under-mb-173 {
    margin-bottom: 173px !important;
  }
  .u-under-pt-173 {
    padding-top: 173px !important;
  }
  .u-under-pb-173 {
    padding-bottom: 173px !important;
  }
  .u-under-mt-174 {
    margin-top: 174px !important;
  }
  .u-under-mb-174 {
    margin-bottom: 174px !important;
  }
  .u-under-pt-174 {
    padding-top: 174px !important;
  }
  .u-under-pb-174 {
    padding-bottom: 174px !important;
  }
  .u-under-mt-175 {
    margin-top: 175px !important;
  }
  .u-under-mb-175 {
    margin-bottom: 175px !important;
  }
  .u-under-pt-175 {
    padding-top: 175px !important;
  }
  .u-under-pb-175 {
    padding-bottom: 175px !important;
  }
  .u-under-mt-176 {
    margin-top: 176px !important;
  }
  .u-under-mb-176 {
    margin-bottom: 176px !important;
  }
  .u-under-pt-176 {
    padding-top: 176px !important;
  }
  .u-under-pb-176 {
    padding-bottom: 176px !important;
  }
  .u-under-mt-177 {
    margin-top: 177px !important;
  }
  .u-under-mb-177 {
    margin-bottom: 177px !important;
  }
  .u-under-pt-177 {
    padding-top: 177px !important;
  }
  .u-under-pb-177 {
    padding-bottom: 177px !important;
  }
  .u-under-mt-178 {
    margin-top: 178px !important;
  }
  .u-under-mb-178 {
    margin-bottom: 178px !important;
  }
  .u-under-pt-178 {
    padding-top: 178px !important;
  }
  .u-under-pb-178 {
    padding-bottom: 178px !important;
  }
  .u-under-mt-179 {
    margin-top: 179px !important;
  }
  .u-under-mb-179 {
    margin-bottom: 179px !important;
  }
  .u-under-pt-179 {
    padding-top: 179px !important;
  }
  .u-under-pb-179 {
    padding-bottom: 179px !important;
  }
  .u-under-mt-180 {
    margin-top: 180px !important;
  }
  .u-under-mb-180 {
    margin-bottom: 180px !important;
  }
  .u-under-pt-180 {
    padding-top: 180px !important;
  }
  .u-under-pb-180 {
    padding-bottom: 180px !important;
  }
  .u-under-mt-181 {
    margin-top: 181px !important;
  }
  .u-under-mb-181 {
    margin-bottom: 181px !important;
  }
  .u-under-pt-181 {
    padding-top: 181px !important;
  }
  .u-under-pb-181 {
    padding-bottom: 181px !important;
  }
  .u-under-mt-182 {
    margin-top: 182px !important;
  }
  .u-under-mb-182 {
    margin-bottom: 182px !important;
  }
  .u-under-pt-182 {
    padding-top: 182px !important;
  }
  .u-under-pb-182 {
    padding-bottom: 182px !important;
  }
  .u-under-mt-183 {
    margin-top: 183px !important;
  }
  .u-under-mb-183 {
    margin-bottom: 183px !important;
  }
  .u-under-pt-183 {
    padding-top: 183px !important;
  }
  .u-under-pb-183 {
    padding-bottom: 183px !important;
  }
  .u-under-mt-184 {
    margin-top: 184px !important;
  }
  .u-under-mb-184 {
    margin-bottom: 184px !important;
  }
  .u-under-pt-184 {
    padding-top: 184px !important;
  }
  .u-under-pb-184 {
    padding-bottom: 184px !important;
  }
  .u-under-mt-185 {
    margin-top: 185px !important;
  }
  .u-under-mb-185 {
    margin-bottom: 185px !important;
  }
  .u-under-pt-185 {
    padding-top: 185px !important;
  }
  .u-under-pb-185 {
    padding-bottom: 185px !important;
  }
  .u-under-mt-186 {
    margin-top: 186px !important;
  }
  .u-under-mb-186 {
    margin-bottom: 186px !important;
  }
  .u-under-pt-186 {
    padding-top: 186px !important;
  }
  .u-under-pb-186 {
    padding-bottom: 186px !important;
  }
  .u-under-mt-187 {
    margin-top: 187px !important;
  }
  .u-under-mb-187 {
    margin-bottom: 187px !important;
  }
  .u-under-pt-187 {
    padding-top: 187px !important;
  }
  .u-under-pb-187 {
    padding-bottom: 187px !important;
  }
  .u-under-mt-188 {
    margin-top: 188px !important;
  }
  .u-under-mb-188 {
    margin-bottom: 188px !important;
  }
  .u-under-pt-188 {
    padding-top: 188px !important;
  }
  .u-under-pb-188 {
    padding-bottom: 188px !important;
  }
  .u-under-mt-189 {
    margin-top: 189px !important;
  }
  .u-under-mb-189 {
    margin-bottom: 189px !important;
  }
  .u-under-pt-189 {
    padding-top: 189px !important;
  }
  .u-under-pb-189 {
    padding-bottom: 189px !important;
  }
  .u-under-mt-190 {
    margin-top: 190px !important;
  }
  .u-under-mb-190 {
    margin-bottom: 190px !important;
  }
  .u-under-pt-190 {
    padding-top: 190px !important;
  }
  .u-under-pb-190 {
    padding-bottom: 190px !important;
  }
  .u-under-mt-191 {
    margin-top: 191px !important;
  }
  .u-under-mb-191 {
    margin-bottom: 191px !important;
  }
  .u-under-pt-191 {
    padding-top: 191px !important;
  }
  .u-under-pb-191 {
    padding-bottom: 191px !important;
  }
  .u-under-mt-192 {
    margin-top: 192px !important;
  }
  .u-under-mb-192 {
    margin-bottom: 192px !important;
  }
  .u-under-pt-192 {
    padding-top: 192px !important;
  }
  .u-under-pb-192 {
    padding-bottom: 192px !important;
  }
  .u-under-mt-193 {
    margin-top: 193px !important;
  }
  .u-under-mb-193 {
    margin-bottom: 193px !important;
  }
  .u-under-pt-193 {
    padding-top: 193px !important;
  }
  .u-under-pb-193 {
    padding-bottom: 193px !important;
  }
  .u-under-mt-194 {
    margin-top: 194px !important;
  }
  .u-under-mb-194 {
    margin-bottom: 194px !important;
  }
  .u-under-pt-194 {
    padding-top: 194px !important;
  }
  .u-under-pb-194 {
    padding-bottom: 194px !important;
  }
  .u-under-mt-195 {
    margin-top: 195px !important;
  }
  .u-under-mb-195 {
    margin-bottom: 195px !important;
  }
  .u-under-pt-195 {
    padding-top: 195px !important;
  }
  .u-under-pb-195 {
    padding-bottom: 195px !important;
  }
  .u-under-mt-196 {
    margin-top: 196px !important;
  }
  .u-under-mb-196 {
    margin-bottom: 196px !important;
  }
  .u-under-pt-196 {
    padding-top: 196px !important;
  }
  .u-under-pb-196 {
    padding-bottom: 196px !important;
  }
  .u-under-mt-197 {
    margin-top: 197px !important;
  }
  .u-under-mb-197 {
    margin-bottom: 197px !important;
  }
  .u-under-pt-197 {
    padding-top: 197px !important;
  }
  .u-under-pb-197 {
    padding-bottom: 197px !important;
  }
  .u-under-mt-198 {
    margin-top: 198px !important;
  }
  .u-under-mb-198 {
    margin-bottom: 198px !important;
  }
  .u-under-pt-198 {
    padding-top: 198px !important;
  }
  .u-under-pb-198 {
    padding-bottom: 198px !important;
  }
  .u-under-mt-199 {
    margin-top: 199px !important;
  }
  .u-under-mb-199 {
    margin-bottom: 199px !important;
  }
  .u-under-pt-199 {
    padding-top: 199px !important;
  }
  .u-under-pb-199 {
    padding-bottom: 199px !important;
  }
  .u-under-mt-200 {
    margin-top: 200px !important;
  }
  .u-under-mb-200 {
    margin-bottom: 200px !important;
  }
  .u-under-pt-200 {
    padding-top: 200px !important;
  }
  .u-under-pb-200 {
    padding-bottom: 200px !important;
  }
  .u-under-ml-auto {
    margin-right: 0 !important;
    margin-left: auto !important;
  }
  .u-under-mr-auto {
    margin-right: auto !important;
    margin-left: 0 !important;
  }
  .u-under-m-center {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .u-view-medium {
    display: none !important;
  }
  .u-view-large {
    display: none !important;
  }
  .u-view-full {
    display: none !important;
  }
  .u-view-upper-large,
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 1024px) and (max-width: 1399px){
  .p-dept--management .p-dept__want-cards li {
    height: auto;
    min-height: 0;
    padding: 24px 18px;
  }
  .p-dept--management .p-dept__want-cards li figure {
    height: 200px;
    margin-bottom: 14px;
  }
  .p-dept--management .p-dept__want-cards li img {
    height: 200px;
  }
  .p-dept--management .p-dept__want-cards li h3 {
    min-height: 0;
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 1.4;
  }
  .p-dept--management .p-dept__want-cards li p {
    font-size: 14px;
    line-height: 1.45;
  }
  .p-dept--sports .p-dept__want-cards li {
    height: auto;
    min-height: 0;
    padding: 24px 18px;
  }
  .p-dept--sports .p-dept__want-cards li figure {
    height: 200px;
    margin-bottom: 14px;
  }
  .p-dept--sports .p-dept__want-cards li img {
    height: 200px;
  }
  .p-dept--sports .p-dept__want-cards li h3 {
    min-height: 0;
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 1.4;
  }
  .p-dept--sports .p-dept__want-cards li p {
    font-size: 14px;
    line-height: 1.45;
  }
  .p-dept--management .p-dept__faculty-cards {
    grid-template-rows: none;
    grid-auto-rows: auto;
  }
  .p-dept--management .p-dept__faculty-cards > li {
    height: auto;
  }
  .p-dept--management .p-dept__faculty-cards a {
    height: auto;
  }
}

@media screen and (min-width: 1320px){
  .p-dept .p-home__voice-viewport {
    overflow-x: visible;
    overflow-y: visible;
  }
}

@media screen and (min-width: 1400px){
  .p-dept__projects {
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
  .p-dept--social .p-dept__ratepanel {
    padding-inline: 100px;
  }
  .p-dept--social .p-dept__rates {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
  .u-view-large {
    display: none !important;
  }
}

@media (min-width: 1400px){
  .p-dept--management .p-dept__want-cards li {
    height: 536px;
    min-height: 536px;
    max-height: 536px;
    padding: 30px 26px;
  }
  .p-dept--management .p-dept__want-cards li h3 {
    min-height: 65px;
    margin-bottom: 13px;
  }
  .p-dept--sports .p-dept__want-cards li {
    height: 536px;
    min-height: 536px;
    max-height: 536px;
  }
}

@media (hover: hover) and (pointer: fine){
  .c-more:hover {
    background: var(--clr_green);
    color: #fff;
  }
  .c-more:hover::before {
    background: #fff;
  }
  .c-more:hover img {
    filter: brightness(0) invert(1);
  }
  .c-cats .c-cats__link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .c-tags .c-tags__link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .c-pager-archive .c-pager-archive__prev-link:hover,
  .c-pager-archive .c-pager-archive__next-link:hover {
    background-color: var(--clr_default);
  }
  .c-pager-archive .c-pager-archive__prev-link:hover::before,
  .c-pager-archive .c-pager-archive__next-link:hover::before {
    background-color: #fff;
  }
  .c-pager-archive .c-pager-archive__number-child-link:not(.-current):hover {
    background-color: var(--clr_default);
    color: #fff;
  }
  .c-pager-single .c-pager-single-prev__link:hover,
  .c-pager-single .c-pager-single-next__link:hover {
    background-color: var(--clr_default);
  }
  .c-pager-single .c-pager-single-prev__link:hover::before,
  .c-pager-single .c-pager-single-next__link:hover::before {
    background-color: #fff;
  }
  .c-breadcrumb .c-breadcrumb__link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .p-home__campuses-life:hover, .p-home__about-cta:hover {
    background: var(--clr_green);
    color: #fff;
  }
  .p-home__pickup-oc .c-more:hover,
  .p-home__opencampus .c-more:hover {
    background: #fff;
    color: var(--clr_green);
  }
  .p-home__pickup-oc .c-more:hover::before,
  .p-home__opencampus .c-more:hover::before {
    background: var(--clr_green);
  }
  .p-home__pickup-oc .c-more:hover img,
  .p-home__opencampus .c-more:hover img {
    filter: none;
  }
  a.p-home__oc-inner:hover {
    opacity: 0.7;
  }
  .p-home__topic:hover img {
    opacity: 0.7;
  }
  .p-home__topics:not(.is-static) .p-home__topics-viewport {
    cursor: grab;
  }
  .p-home__topics:not(.is-static) .p-home__topics-viewport.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  .p-home__news-tab:hover:not(.is-active) {
    opacity: 0.65;
  }
  .p-home__news-item:hover {
    background-color: #f7fbf4;
  }
  .p-home__news-item:hover .p-home__news-thumb img {
    transform: scale(1.06);
  }
  .p-home__news-item:hover .p-home__news-body p {
    color: var(--clr_green);
  }
  .p-home__dept-news-item:hover .p-home__dept-news-text > span {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  .p-home__dept-news-item:hover .p-home__dept-news-thumb img {
    transform: scale(1.08);
  }
  .p-home__keywords a:hover {
    background: #e8f6ea;
    color: var(--clr_green);
  }
  .p-home__keywords a:hover::before {
    color: var(--clr_green);
  }
  .p-home__voice-link:hover .p-home__voice-play {
    background: var(--voice-play, #86cfec);
    color: #fff;
  }
  .p-home__voice-link:hover .p-home__voice-play .p-home__voice-play-icon {
    background-color: #fff;
  }
  .p-home__campus-cards a:hover {
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
  }
  .p-home__campus-cards a:hover > span:not(.p-home__campus-go) {
    color: var(--clr_aqua);
  }
  .p-home__campus-cards a:hover .p-home__campus-go img {
    transform: translate(-50%, -50%) translate3d(220%, 0, 0);
    opacity: 0;
  }
  .p-home__campus-cards a:hover .p-home__campus-go::before {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__instagram:hover {
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
  }
  .p-home__instagram:hover span:not(.p-home__instagram-arrow) {
    color: var(--clr_aqua);
  }
  .p-home__instagram:hover .p-home__instagram-arrow img {
    transform: translate(-50%, -50%) translate3d(220%, 0, 0);
    opacity: 0;
  }
  .p-home__instagram:hover .p-home__instagram-arrow::before {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__career-cards a:hover {
    background: var(--clr_green);
    color: #fff;
  }
  .p-home__career-cards a:hover .p-home__career-go {
    background: #fff;
  }
  .p-home__career-cards a:hover .p-home__career-go img {
    filter: none;
  }
  .p-home__audience a:hover {
    background-color: var(--clr_green);
    color: #fff;
  }
  .p-home__audience a:hover img {
    filter: brightness(0) invert(1);
  }
  .p-home__international-card:hover {
    background-color: var(--clr_green);
  }
  .p-home__international-card:hover .p-home__international-body {
    color: #fff;
  }
  .p-home__international-card:hover .p-home__international-go {
    border-color: var(--clr_green);
  }
  .p-home__international-card:hover .p-home__international-go img {
    transform: translate(-50%, -50%) translate3d(220%, 0, 0);
    opacity: 0;
  }
  .p-home__international-card:hover .p-home__international-go::before {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-dept__faculty-cards a:hover .p-dept__faculty-name {
    color: var(--dept-accent);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference){
  .p-dept__faculty-cards a:hover .p-dept__faculty-arrow::after {
    transform: translate(-50%, -50%) translate3d(220%, 0, 0);
    opacity: 0;
  }
  .p-dept__faculty-cards a:hover .p-dept__faculty-arrow::before {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce){
  .p-home__news-item:hover .p-home__news-thumb img {
    transform: none;
  }
  .p-home__campus-cards a:hover .p-home__campus-go img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__campus-cards a:hover .p-home__campus-go::before {
    transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
    opacity: 0;
  }
  .p-home__instagram:hover .p-home__instagram-arrow img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__instagram:hover .p-home__instagram-arrow::before {
    transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
    opacity: 0;
  }
  .p-home__international-card:hover .p-home__international-go::before {
    transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: no-preference){
  .p-dept--sports .p-dept__ig-banner:hover .p-dept__ig-banner-arrow img,
  .p-dept--sports .p-dept__ig-banner:focus-visible .p-dept__ig-banner-arrow img {
    transform: translate(-50%, -50%) translate3d(220%, 0, 0);
    opacity: 0;
  }
  .p-dept--sports .p-dept__ig-banner:hover .p-dept__ig-banner-arrow::before,
  .p-dept--sports .p-dept__ig-banner:focus-visible .p-dept__ig-banner-arrow::before {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-dept__faculty-cards a:focus-visible .p-dept__faculty-arrow::after {
    transform: translate(-50%, -50%) translate3d(220%, 0, 0);
    opacity: 0;
  }
  .p-dept__faculty-cards a:focus-visible .p-dept__faculty-arrow::before {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-dept__faculty-cards a:focus-visible .p-dept__faculty-arrow::after {
    transform: translate(-50%, -50%) translate3d(220%, 0, 0);
    opacity: 0;
  }
  .p-dept__faculty-cards a:focus-visible .p-dept__faculty-arrow::before {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce){
  .c-more {
    transition: none;
  }
  .c-more::before,
  .c-more img {
    transition: none;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .p-home__campuses-life, .p-home__about-cta {
    transition: none;
  }
  .p-home__mv-wordmark.is-anim-ready .p-home__mv-wordmark-path,
  .p-home__mv-wordmark.is-animating .p-home__mv-wordmark-path {
    fill-opacity: 1;
    stroke: transparent;
    stroke-dashoffset: 0;
    animation: none;
  }
  a.p-home__oc-inner {
    transition: none;
  }
  .p-home__news-tab {
    transition: none;
  }
  .p-home__news-item:focus-visible .p-home__news-thumb img {
    transform: none;
  }
  .p-home__news-item {
    transition: none;
  }
  .p-home__news-item .p-home__news-thumb img {
    transition: none;
  }
  .p-home__news-item .p-home__news-body p {
    transition: none;
  }
  .p-home__catch-bubble::before, .p-home__catch-bubble::after,
  .p-home__catch-bubble .p-home__catch-bubble-face,
  .p-home__catch-bubble .p-home__catch-bubble-text {
    transition: none;
  }
  .p-home__catch-bubble-face {
    transition: none;
  }
  .p-home__catch-bubble-text {
    transition: none;
  }
  .p-home__catch-dot {
    animation: none;
  }
  .p-home__dept-summary {
    transition: none;
  }
  .p-home__dept-go::before,
  .p-home__dept-go img {
    transition: none;
  }
  .p-home__dept-go::before {
    opacity: 0;
  }
  .p-home__dept-go img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__dept-body:has(h3 a:hover) .p-home__dept-go img,
  .p-home__dept-body:has(h3 a:focus-visible) .p-home__dept-go img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__dept-body:has(h3 a:hover) .p-home__dept-go::before,
  .p-home__dept-body:has(h3 a:focus-visible) .p-home__dept-go::before {
    transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
    opacity: 0;
  }
  .p-home__keywords a {
    transition: none;
  }
  .p-home__keywords a::before {
    transition: none;
  }
  .p-home__campus-cards a:focus-visible .p-home__campus-go img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__campus-cards a:focus-visible .p-home__campus-go::before {
    transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
    opacity: 0;
  }
  .p-home__campus-cards a {
    transition: none;
  }
  .p-home__campus-cards a > span:not(.p-home__campus-go) {
    transition: none;
  }
  .p-home__campus-go::before,
  .p-home__campus-go img {
    transition: none;
  }
  .p-home__campus-go::before {
    opacity: 0;
  }
  .p-home__campus-go img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__instagram span:not(.p-home__instagram-arrow) {
    transition: none;
  }
  .p-home__instagram:focus-visible .p-home__instagram-arrow img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__instagram:focus-visible .p-home__instagram-arrow::before {
    transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
    opacity: 0;
  }
  .p-home__instagram {
    transition: none;
  }
  .p-home__instagram-arrow::before,
  .p-home__instagram-arrow img {
    transition: none;
  }
  .p-home__instagram-arrow::before {
    opacity: 0;
  }
  .p-home__instagram-arrow img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-home__career-cards a {
    transition: none;
  }
  .p-home__audience a {
    transition: none;
  }
  .p-home__audience a img {
    transition: none;
  }
  .p-home__international-card:focus-visible .p-home__international-go::before {
    transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
    opacity: 0;
  }
  .p-home__international-go {
    transition: none;
  }
  .p-home__international-go::before,
  .p-home__international-go img {
    transition: none;
  }
  .p-home__international-go::before {
    opacity: 0;
  }
  .p-home__international-go img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-dept__strip-track {
    animation: none;
  }
  .p-dept--sports .p-dept__ig-banner-arrow::before,
  .p-dept--sports .p-dept__ig-banner-arrow img {
    transition: none;
  }
  .p-dept--sports .p-dept__ig-banner-arrow::before {
    transform: translate(-50%, -50%) translate3d(-220%, 0, 0);
    opacity: 0;
  }
  .p-dept--sports .p-dept__ig-banner-arrow img {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .p-dept__faculty-name {
    transition: none;
  }
  .p-dept__faculty-arrow::before, .p-dept__faculty-arrow::after {
    transition: none;
  }
  .p-dept__faculty-arrow::before {
    opacity: 0;
  }
  .p-dept__faculty-arrow::after {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}

@media screen{
  .p-dept__hero-tags li img {
    width: 10px;
    padding-bottom: 2px;
  }
}

/*# sourceMappingURL=add.css.map*/