@charset "UTF-8";
/* ===================================
	alumni.scss - Alumni Recruit (ns)
	Location: css/ns/alumni/
====================================== */
/**
 * _color.scss - サイト共通カラー（一元管理）
 * 直感的な名前 + 類似色は1色に統一
 *
 * 使用: @import '../common/color'; または @use '../common/color' as *;
 */
/*===== メインカラー（ブランド・アクセント） =====*/
/*===== 白・黒・グレー =====*/
/*===== 背景 =====*/
/*===== 状態 =====*/
/* ホバー等 */
/*===== その他 =====*/
/* 固定ヘッダーの透明領域がMVロゴのクリックを奪わない（jobs と同対応） */
body:has(.alumni_wrap) .header {
  pointer-events: none; }

body:has(.alumni_wrap) .header_menu,
body:has(.alumni_wrap) .header_gnav,
body:has(.alumni_wrap) .header_gnav_entry,
body:has(.alumni_wrap) .header_entry,
body:has(.alumni_wrap) .header .g_hamb {
  pointer-events: auto; }

body:has(.alumni_wrap) .header_logo.g_pagetop_fixed:not(.js_show) {
  pointer-events: none; }

body:has(.alumni_wrap) .header_logo.js_show,
body:has(.alumni_wrap) .header_logo.g_pagetop_fixed.js_show {
  pointer-events: auto; }

.alumni_wrap {
  /* MV（高さ・パンくずは career-sales 準拠） */
  /* h2タイトル＋装飾 */
  /* h2下コピー（SPは picture で切替） */
  /* Side nav（jobs / career-sales 準拠） */
  /* Sections */
  /* Data / 制度の変遷
     グラフ画像は5等分＋白の縦線。下段（年度・テキスト）も同じ5等分・gap:0で線位置を揃える */
  /* 年度をつなぐ横線・丸枠 */
  /* head/foot の位置基準。スクロール対象は .alumni_data_scroll のみ */
  /* 帯のフォント基準（下位レイヤーの余白確保にも使う） */
  /* 表示領域上部：上・左右 10px（横スクロールしても固定） */
  /* SPのみ改行（PCでは1行） */
  /* 表示領域下部：下・左右 10px（横スクロールしても固定） */
  /* グラフと同幅の5等分グリッド（gapなし＝仕切り位置が画像内の線と一致） */
  /*
   * 年度丸: グラフ下端とテキスト上端の境界中央にまたがる
   * （上下ネガティブマージンで半分ずつ重ね、#00d379 の横線で接続）
   */
  /* #00d379 の横罫線（丸の背後で年をつなぐ）＋上下4pxの白罫 */
  /* Interview（PC：2カラム／SP：1カラム）※罫線なし */
  /* FAQ（既存 /faq/ と同型アコーディオン。回答背景は指定せずページBGを使用） */
  /* Flow（デザイン：Step番号＋縦線＋タイトル／説明の白カード） */
  /* Entry（career-sales の sec_entry と同型／jobs.css 非依存） */
  /* g_btn--line の LINE アイコンを無効化（応募ボタン） */
  /* ========== 詳細ページ（page-alumni-interview） ========== */ }
  .alumni_wrap .alumni_ph {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    background: #e8e8e8;
    color: #888;
    font-size: 14px; }
  .alumni_wrap .alumni_ph_label {
    opacity: 0.8; }
  .alumni_wrap .alumni_mv {
    position: relative;
    width: 100%;
    height: 750px;
    min-height: 750px;
    background: url("../../../img/ns/alumni/bg_mv-alumni_pc.webp") no-repeat center bottom;
    background-size: cover;
    color: #fff;
    overflow: hidden; }
  .alumni_wrap .alumni_mv .g_breadcrumb_lst {
    position: absolute;
    top: auto;
    left: 2.222em;
    bottom: 2.222em;
    color: #fff;
    z-index: 10;
    pointer-events: auto; }
  .alumni_wrap .alumni_mv .g_breadcrumb_lst_li + .g_breadcrumb_lst_li::before {
    background-color: var(--color-white); }
  .alumni_wrap .alumni_mv .g_breadcrumb_lst_li a {
    color: var(--color-white);
    pointer-events: auto; }
  .alumni_wrap .alumni_mv_inner {
    position: relative;
    height: 100%;
    min-height: 750px;
    pointer-events: none; }
  .alumni_wrap .alumni_mv .top_mv_logo {
    position: absolute;
    top: 0;
    left: 30px;
    opacity: 1;
    visibility: visible;
    padding: 25px 0 0;
    width: 179px;
    background: none;
    border: none;
    z-index: 6;
    pointer-events: auto; }
  .alumni_wrap .alumni_mv .mv_logo {
    display: block;
    position: relative;
    z-index: 1;
    pointer-events: auto; }
  .alumni_wrap .alumni_mv .ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 100px;
    right: 0;
    left: 0;
    margin: auto;
    width: 1243px;
    max-width: 86.319vw;
    height: 257px;
    background: url("../../../img/ns/alumni/ttl_main-alumni-en_pc.webp") no-repeat center;
    background-size: contain;
    pointer-events: none;
    z-index: 2; }
  .alumni_wrap .alumni_mv .ttl h2 {
    margin: 0;
    line-height: 0; }
  .alumni_wrap .alumni_mv .ttl img {
    display: block;
    width: 280px;
    height: auto; }
  .alumni_wrap .alumni_mv .txt {
    display: flex;
    justify-content: center;
    position: absolute;
    top: 399px;
    right: 0;
    left: 0;
    margin: auto;
    pointer-events: none;
    z-index: 2; }
  .alumni_wrap .alumni_mv .txt picture {
    display: block;
    line-height: 0; }
  .alumni_wrap .alumni_mv .txt img {
    display: block;
    width: 100%;
    max-width: 780px;
    height: auto; }
  .alumni_wrap .alumni_sideNav {
    position: relative;
    background-color: #f4f4f4;
    border: none; }
  .alumni_wrap .alumni_sideNav::before {
    display: none; }
  .alumni_wrap .alumni_sideNav .g_sideNav_lst {
    position: sticky;
    display: flex;
    flex-direction: column;
    gap: 2.083vw;
    width: 18.25vw;
    top: 0;
    margin-inline: 0;
    padding-top: 5.5vw;
    padding-bottom: 4.167vw;
    z-index: 1; }
  .alumni_wrap .alumni_sideNav .g_sideNav_lst::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 20.833vw;
    height: 978px;
    background-image: url("../../../img/ns/alumni/bg_alumni-recruiting.webp");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: auto;
    pointer-events: none;
    z-index: -1; }
  .alumni_wrap .alumni_sideNav .g_sideNav_itm::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 50px;
    background-color: #0ea962;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity 0.3s; }
  .alumni_wrap .alumni_sideNav .g_sideNav_itm.js_current::before {
    opacity: 1; }
  .alumni_wrap .alumni_sideNav .g_sideNav_itm a {
    opacity: 0.4;
    transition: opacity 0.3s; }
  .alumni_wrap .alumni_sideNav .g_sideNav_itm.js_current a,
  .alumni_wrap .alumni_sideNav .g_sideNav_itm:hover a {
    opacity: 1; }
  @media (any-hover: hover) {
    .alumni_wrap .alumni_sideNav .g_sideNav_itm:hover::before {
      opacity: 1; } }
  .alumni_wrap .ns_ls {
    letter-spacing: 0.06em; }
  .alumni_wrap .alumni_sec {
    padding-bottom: 80px; }
  .alumni_wrap .alumni_sec_ttl {
    margin: 0 0 40px; }
  .alumni_wrap .alumni_about_body {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 0.694vw 0 4.861vw; }
  .alumni_wrap .alumni_about_txt {
    flex: 1; }
  .alumni_wrap .ns_ttl {
    position: relative;
    line-height: 1.4;
    z-index: 0;
    padding: 1.389vw 0 0 2.222vw;
    margin: 3.2vw 0 2.222vw -2.222vw; }
  .alumni_wrap .ns_ttl::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    background: linear-gradient(-45deg, transparent calc(50% - 3px), #2de15d calc(50% - 3px), #00d379 calc(50% + 3px), transparent calc(50% + 3px));
    pointer-events: none;
    z-index: -1; }
  .alumni_wrap .alumni_about_ttl {
    font-size: 32px;
    font-weight: 700; }
  .alumni_wrap .alumni_about_txt p {
    margin-bottom: 1em;
    font-size: 16px;
    line-height: 2.2;
    letter-spacing: 0.04em; }
  .alumni_wrap .alumni_about_media {
    flex: 0 0 432px;
    width: 432px;
    max-width: 40%; }
  .alumni_wrap .alumni_about_media picture {
    display: block;
    line-height: 0; }
  .alumni_wrap .alumni_about_media img {
    display: block;
    width: 100%;
    height: auto; }
  .alumni_wrap .alumni_data_panel {
    /* デザイン比: セクション幅に対しグラフ枠 ≈ 86.5%（左右均等余白） */
    box-sizing: border-box;
    width: 86.5%;
    max-width: 100%;
    margin-inline: auto;
    padding: 0;
    background: transparent; }
  .alumni_wrap .alumni_data_frame {
    position: relative;
    width: 100%; }
  .alumni_wrap .alumni_data_scroll {
    position: relative;
    width: 100%;
    max-width: 100%;
    /* PCは横スクロールなし（中身はパネル幅に収める） */
    overflow-x: visible; }
  .alumni_wrap .alumni_data_scroll_hint {
    display: none;
    /* PCでは出さない（SPで上書き） */ }
  .alumni_wrap .alumni_data_track {
    box-sizing: border-box;
    /* PCはパネル幅に追従（5等分の基準も同じ幅） */
    width: 100%;
    min-width: 0; }
  .alumni_wrap .alumni_data_head,
  .alumni_wrap .alumni_data_foot {
    position: absolute;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: 0.5em 0;
    /* 左右パディングなし */
    background-color: #2e2e2e;
    color: #fff;
    font-size: clamp(12px, 1.05vw, 16px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center; }
  .alumni_wrap .alumni_data_head {
    top: 10px;
    left: 10px;
    right: 10px; }
  .alumni_wrap .alumni_data_head_br {
    display: none; }
  .alumni_wrap .alumni_data_foot {
    left: 10px;
    right: 10px;
    bottom: 10px; }
  .alumni_wrap .alumni_data_head::after,
  .alumni_wrap .alumni_data_foot::before {
    content: '';
    position: absolute;
    left: 50%;
    z-index: 2;
    width: 0;
    height: 0;
    border-left: 0.7em solid transparent;
    border-right: 0.7em solid transparent;
    transform: translateX(-50%); }
  .alumni_wrap .alumni_data_head::after {
    bottom: -0.65em;
    border-top: 0.7em solid #2e2e2e; }
  .alumni_wrap .alumni_data_foot::before {
    top: -0.65em;
    border-bottom: 0.7em solid #2e2e2e; }
  .alumni_wrap .alumni_data_graph {
    margin: 0;
    line-height: 0; }
    .alumni_wrap .alumni_data_graph img {
      display: block;
      width: 100%;
      height: auto; }
  .alumni_wrap .alumni_data_years,
  .alumni_wrap .alumni_data_cols {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0; }
  .alumni_wrap .alumni_data_years {
    position: relative;
    z-index: 4;
    list-style: none;
    height: clamp(52px, 5vw, 72px);
    margin-top: calc(clamp(52px, 5vw, 72px) * -0.5);
    margin-bottom: calc(clamp(52px, 5vw, 72px) * -0.5);
    pointer-events: none; }
  .alumni_wrap .alumni_data_years::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    z-index: 0;
    height: clamp(8px, 0.7em, 12px);
    background-color: #00d379;
    box-shadow: 0 -4px 0 #fff, 0 4px 0 #fff;
    transform: translateY(-50%);
    pointer-events: none; }
  .alumni_wrap .alumni_data_years li {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0;
    background: transparent;
    border: none; }
  .alumni_wrap .alumni_data_years span {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: clamp(52px, 5vw, 72px);
    height: clamp(52px, 5vw, 72px);
    border: 4px solid #00d379;
    border-radius: 50%;
    background: #fff;
    color: #2e2e2e;
    font-size: clamp(14px, 1.25vw, 20px);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1; }
  .alumni_wrap .alumni_data_cols {
    align-items: stretch; }
  .alumni_wrap .alumni_data_col {
    box-sizing: border-box;
    border-right: 2px solid #fff;
    background-color: #eaf0f0;
    /* 上: 年度丸の下半分＋余白 / 下: foot帯分 */
    padding: calc(clamp(52px, 5vw, 72px) * 0.5 + 1.2em) 1.1em calc(1.4em + 10px + 3.7 * clamp(12px, 1.05vw, 16px));
    font-size: clamp(11px, 0.9vw, 14px);
    line-height: 1.7;
    color: #2e2e2e; }
  .alumni_wrap .alumni_data_col:last-child {
    border-right: none; }
  .alumni_wrap .alumni_data_cat {
    margin: 0 0 0.35em;
    font-size: inherit;
    font-weight: 700;
    color: #2e2e2e; }
  .alumni_wrap .alumni_data_cat + .alumni_data_cat,
  .alumni_wrap .alumni_data_col ul + .alumni_data_cat {
    margin-top: 1.1em; }
  .alumni_wrap .alumni_data_col ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .alumni_wrap .alumni_data_col li {
    position: relative;
    padding-left: 1em; }
  .alumni_wrap .alumni_data_col li::before {
    content: '・';
    position: absolute;
    left: 0;
    top: 0; }
  .alumni_wrap .alumni_data_col li sup {
    font-size: 0.75em;
    line-height: 1; }
  .alumni_wrap .alumni_data_notes {
    margin: 1em 0 0;
    font-size: 12px;
    line-height: 1.8;
    color: #888; }
  .alumni_wrap .alumni_interview .alumni_sec_ttl {
    margin-bottom: 0; }
  .alumni_wrap .alumni_interview_body {
    box-sizing: border-box;
    margin-top: 40px;
    /* 罫線廃止に合わせ、カード内側ではなく外側で左右余白を確保 */
    padding: 0 2.778vw; }
  .alumni_wrap .alumni_interview_lst {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.778vw 2.222vw;
    /* row / column */
    margin: 0;
    padding: 0;
    list-style: none; }
  .alumni_wrap .alumni_interview_itm {
    box-sizing: border-box;
    border: none; }
  .alumni_wrap .alumni_interview_card {
    display: block;
    height: 100%;
    padding: 0;
    color: inherit;
    text-decoration: none;
    background: none;
    border: none; }
  .alumni_wrap .alumni_interview_thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 140px;
    margin-bottom: 1.389vw;
    overflow: hidden;
    background: #e8e8e8; }
    .alumni_wrap .alumni_interview_thumb img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      margin: 0;
      /* 枠を埋め、天地左右中央基準ではみ出し分は隠す（余白を作らない） */
      object-fit: cover;
      object-position: center center;
      transform: scale(1);
      transition: transform 0.6s ease; }
  @media (any-hover: hover) {
    .alumni_wrap .alumni_interview_card:hover .alumni_interview_thumb img {
      transform: scale(1.05); } }
  .alumni_wrap .alumni_interview_ttl {
    margin: 0 0 1.111vw;
    font-size: clamp(14px, 1.11vw, 18px);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.04em;
    color: #2e2e2e; }
  .alumni_wrap .alumni_interview_dept {
    margin: 0 0 0.4em;
    font-size: clamp(12px, 0.83vw, 14px);
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #666; }
  .alumni_wrap .alumni_interview_name {
    margin: 0;
    font-size: clamp(14px, 0.97vw, 16px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #2e2e2e; }
  .alumni_wrap .alumni_faq .alumni_sec_ttl {
    margin-bottom: 0; }
  .alumni_wrap .alumni_faq_body {
    box-sizing: border-box;
    margin-top: 0;
    padding: 0; }
  .alumni_wrap .alumni_faq .faq_lst {
    border-top: none; }
  .alumni_wrap .alumni_faq .faq_itm {
    border-bottom: 1px solid #fff; }
  .alumni_wrap .alumni_faq .faq_itm_ttl {
    padding-left: 4.167vw;
    background-color: #efefef; }
  .alumni_wrap .alumni_faq .faq_itm:last-child {
    margin-bottom: 0;
    border-bottom: none; }
  .alumni_wrap .alumni_faq .faq_itm_cont {
    background: none; }
  .alumni_wrap .alumni_faq .faq_itm_cont > * {
    width: auto;
    max-width: none; }
  .alumni_wrap .alumni_flow .alumni_sec_ttl {
    margin-bottom: 0; }
  .alumni_wrap .alumni_flow_body {
    box-sizing: border-box;
    margin-top: 100px;
    padding: 0 70px; }
  .alumni_wrap .alumni_flow_lst {
    display: flex;
    flex-direction: column;
    gap: 1.389vw;
    margin: 0;
    padding: 0;
    list-style: none; }
  .alumni_wrap .alumni_flow_itm {
    display: flex;
    align-items: center;
    gap: 2.083vw;
    padding: 2.222vw 2.778vw;
    background: #fff; }
  .alumni_wrap .alumni_flow_step {
    flex: 0 0 auto;
    min-width: 4.2em;
    margin: 0;
    color: #b7d31b;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2; }
  .alumni_wrap .alumni_flow_cont {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 2.083vw; }
  .alumni_wrap .alumni_flow_cont::before {
    content: '';
    position: absolute;
    top: 0.15em;
    bottom: 0.15em;
    left: 0;
    width: 1px;
    background: #2e2e2e; }
  .alumni_wrap .alumni_flow_ttl {
    margin: 0 0 0.6em;
    font-size: clamp(15px, 1.11vw, 18px);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.04em;
    color: #2e2e2e; }
  .alumni_wrap .alumni_flow_txt {
    margin: 0;
    font-size: clamp(14px, 0.97vw, 16px);
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: #2e2e2e; }
  .alumni_wrap > .sec_entry .sec_entry_batche span {
    white-space: nowrap;
    width: max-content;
    max-width: none; }
  .alumni_wrap.alumni_detail {
    /* PC: 左ナビ / 右（リード→本文）。DOM順は SP 用（リード→ナビ→本文）
       ※ Sass 3.4 は :not(:has()) を壊すため is-has-lead クラスで分岐 */
    /* リードなし：本文を上端から */
    /* リードあり：本文は2行目のみ（リードと重ねない） */
    /* パンくず：MV左下（左ビジュアル上） */
    /* サイド：アルムナイ採用TOP（左緑矢印）※INDEXとは別ブロックのため下余白を広く */
    /* メインカラム（コンテンツ部）全幅の仕切り（PC） */
    /* 01 | は一体。続きの見出しは同じ行から折り返す */ }
    .alumni_wrap.alumni_detail .g_sideClm {
      border-top: none; }
    .alumni_wrap.alumni_detail .alumni_detail_clm {
      display: grid;
      grid-template-columns: 20.833vw minmax(0, 1fr);
      grid-template-rows: auto 1fr;
      align-items: stretch; }
    .alumni_wrap.alumni_detail .alumni_detail_clm .alumni_detail_lead {
      grid-column: 2;
      grid-row: 1;
      margin-top: 4.167vw; }
    .alumni_wrap.alumni_detail .alumni_detail_clm .alumni_detail_sideNav {
      grid-column: 1;
      grid-row: 1 / -1; }
    .alumni_wrap.alumni_detail .alumni_detail_clm .g_sideClm_main {
      grid-column: 2;
      grid-row: 2;
      min-width: 0; }
    .alumni_wrap.alumni_detail .alumni_detail_clm:not(.is-has-lead) .g_sideClm_main {
      grid-row: 1 / -1;
      margin-top: 4.167vw; }
    .alumni_wrap.alumni_detail .alumni_detail_clm.is-has-lead .g_sideClm_main {
      grid-row: 2;
      margin-top: 0; }
    .alumni_wrap.alumni_detail .alumni_detail_mv {
      position: relative;
      display: block;
      height: auto;
      min-height: 0;
      background: #eef8f1;
      overflow: hidden; }
    .alumni_wrap.alumni_detail .alumni_detail_mv .top_mv_logo {
      z-index: 5; }
    .alumni_wrap.alumni_detail .alumni_detail_mv_grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: stretch;
      min-height: 42vw; }
    .alumni_wrap.alumni_detail .alumni_detail_mv_visual {
      position: relative;
      min-height: 42vw;
      background: #e8e8e8; }
    .alumni_wrap.alumni_detail .alumni_detail_mv_visual .g_breadcrumb_lst {
      position: absolute;
      top: auto;
      left: 2.222em;
      bottom: 2.222em;
      z-index: 10;
      color: #fff;
      pointer-events: auto; }
    .alumni_wrap.alumni_detail .alumni_detail_mv_visual .g_breadcrumb_lst_li,
    .alumni_wrap.alumni_detail .alumni_detail_mv_visual .g_breadcrumb_lst_li a {
      color: #fff; }
    .alumni_wrap.alumni_detail .alumni_detail_mv_visual .g_breadcrumb_lst_li + .g_breadcrumb_lst_li::before {
      background-color: #fff; }
    .alumni_wrap.alumni_detail .alumni_detail_mv_img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      background: #e8e8e8; }
      .alumni_wrap.alumni_detail .alumni_detail_mv_img img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        object-fit: cover;
        object-position: center center; }
    .alumni_wrap.alumni_detail .alumni_detail_mv_panel {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      box-sizing: border-box;
      /* 上: 固定ヘッダー(5.556vw) + 余白 */
      padding: 11.112vw 5.556vw 5.556vw 4.167vw;
      color: #2e2e2e;
      background: #eef8f1 url("../../../img/ns/alumni/bg_mv-alumni-interview.webp") no-repeat center center/cover; }
    .alumni_wrap.alumni_detail .alumni_detail_hero_ttl {
      margin: 0 0 1.667vw;
      font-size: clamp(22px, 2.22vw, 36px);
      font-weight: 700;
      line-height: 1.5;
      letter-spacing: 0.04em;
      color: #2e2e2e; }
    .alumni_wrap.alumni_detail .alumni_detail_hero_profile {
      margin: 0 0 1.667vw;
      color: #2e2e2e; }
    .alumni_wrap.alumni_detail .alumni_detail_hero_intro {
      margin: 0;
      font-size: clamp(14px, 1.11vw, 18px);
      line-height: 2;
      color: #2e2e2e; }
      .alumni_wrap.alumni_detail .alumni_detail_hero_intro p {
        margin: 0 0 0.75em; }
        .alumni_wrap.alumni_detail .alumni_detail_hero_intro p:last-child {
          margin-bottom: 0; }
    .alumni_wrap.alumni_detail .alumni_detail_hero_name_row {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 0.556vw 1.111vw;
      margin: 0 0 0.25em; }
    .alumni_wrap.alumni_detail .alumni_detail_hero_name {
      margin: 0;
      font-size: clamp(14px, 1.11vw, 18px);
      font-weight: 700;
      line-height: 1.4;
      color: #2e2e2e; }
    .alumni_wrap.alumni_detail .alumni_detail_hero_name_en {
      margin: 0;
      font-size: clamp(12px, 0.97vw, 14px);
      font-weight: 400;
      line-height: 1.4;
      letter-spacing: 0.04em;
      color: #2e2e2e; }
    .alumni_wrap.alumni_detail .alumni_detail_hero_dept {
      margin: 0;
      font-size: clamp(12px, 0.97vw, 14px);
      line-height: 1.5;
      color: #2e2e2e; }
    .alumni_wrap.alumni_detail .alumni_detail_side_top_itm {
      /* lst gap(2.083vw) と合わせて TOP〜01 ≒ 8.3vw（項目間の約4倍） */
      margin-bottom: 6.25vw; }
      .alumni_wrap.alumni_detail .alumni_detail_side_top_itm::before {
        display: none; }
      .alumni_wrap.alumni_detail .alumni_detail_side_top_itm a {
        opacity: 1; }
    .alumni_wrap.alumni_detail .alumni_detail_side_top {
      display: inline-flex;
      align-items: center;
      gap: 0.5em;
      font-size: clamp(12px, 0.97vw, 14px);
      font-weight: 700;
      line-height: 1.4;
      color: #2e2e2e; }
      .alumni_wrap.alumni_detail .alumni_detail_side_top::before {
        content: '';
        display: block;
        box-sizing: border-box;
        width: 0.5em;
        height: 0.5em;
        border-left: 2px solid #00d379;
        border-bottom: 2px solid #00d379;
        transform: rotate(45deg);
        flex-shrink: 0; }
    .alumni_wrap.alumni_detail .alumni_detail_nav_num {
      display: inline-block;
      margin-right: 0.35em;
      font-weight: 700;
      letter-spacing: 0.04em;
      align-self: flex-start; }
    .alumni_wrap.alumni_detail .alumni_detail_lead {
      margin: 0;
      padding: 0 4.167vw 2.222vw;
      font-size: clamp(15px, 1.25vw, 20px);
      font-weight: 700;
      line-height: 2;
      color: #2e2e2e; }
      .alumni_wrap.alumni_detail .alumni_detail_lead p {
        margin: 0 0 0.75em; }
        .alumni_wrap.alumni_detail .alumni_detail_lead p:last-child {
          margin-bottom: 0; }
    .alumni_wrap.alumni_detail .alumni_detail_divider {
      display: block;
      box-sizing: border-box;
      width: 100%;
      height: 0;
      margin: 0 0 2.778vw;
      padding: 0;
      border: 0;
      border-top: 1px solid #2e2e2e; }
    .alumni_wrap.alumni_detail .alumni_detail_sec + .alumni_detail_sec {
      margin-top: 4.167vw; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_ttl.ns_ttl {
      /* flex-wrap だと「01 |」の直後でタイトル塊が次行落ちするためインライン流し込み */
      display: block;
      margin: 0 0 2.778vw;
      padding: 1.389vw 0 0 2.222vw;
      font-size: clamp(18px, 1.67vw, 28px);
      font-weight: 700;
      line-height: 1.5; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_label {
      display: inline;
      white-space: nowrap;
      margin-right: 0.4em; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_num {
      font-weight: 700;
      letter-spacing: 0.04em; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_sep {
      margin-left: 0.4em;
      opacity: 0.45;
      font-weight: 400; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_hd {
      display: inline;
      font-weight: 700; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_body,
    .alumni_wrap.alumni_detail .alumni_detail_content {
      font-size: clamp(14px, 1.11vw, 18px);
      line-height: 2; }
    .alumni_wrap.alumni_detail .alumni_detail_content {
      padding: 0 4.167vw; }
    .alumni_wrap.alumni_detail .alumni_detail_content > p {
      margin: 0 0 1.2em; }
    .alumni_wrap.alumni_detail .alumni_detail_content img {
      display: block;
      width: 100%;
      height: auto;
      margin: 2.222vw 0; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_fig {
      margin: 2.222vw 0 0; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_img {
      position: relative;
      aspect-ratio: 16 / 9;
      overflow: hidden;
      background: #e8e8e8; }
      .alumni_wrap.alumni_detail .alumni_detail_sec_img img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        object-fit: cover;
        object-position: center center; }
    .alumni_wrap.alumni_detail .alumni_detail_sec_cap {
      margin-top: 0.833vw;
      font-size: clamp(12px, 0.83vw, 14px);
      line-height: 1.6;
      color: #666; }
    .alumni_wrap.alumni_detail .alumni_detail_other {
      box-sizing: border-box;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      /* 本文との間を空ける（黒帯が密着しないように） */
      margin-top: 5.556vw;
      padding: 0 0 5.556vw; }
    .alumni_wrap.alumni_detail .alumni_detail_other_ttl {
      display: flex;
      align-items: center;
      box-sizing: border-box;
      height: 170px;
      /* リスト左右余白(4.167vw)に近い縦間隔 */
      margin: 0 0 4.167vw;
      padding: 0 4.167vw;
      font-size: 36px;
      font-weight: 700;
      letter-spacing: 0.08em;
      line-height: 1.4;
      color: #fff;
      background-color: #2e2e2e; }
    .alumni_wrap.alumni_detail .alumni_detail_other_lst {
      box-sizing: border-box;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      padding: 0 4.167vw;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 2.222vw; }
    .alumni_wrap.alumni_detail .alumni_detail_other_lst .alumni_interview_itm {
      min-width: 0;
      border: none; }
    .alumni_wrap.alumni_detail .alumni_detail_other_lst .alumni_interview_card {
      min-width: 0;
      padding: 0; }
    .alumni_wrap.alumni_detail .alumni_detail_other_lst .alumni_interview_thumb {
      min-height: 0; }

@media screen and (max-width: 700px) {
  .alumni_wrap {
    /* jobs SP と同様：flex子のはみ出しで右余白が潰れるのを防ぐ */
    /* SP: 背景は sideNav 左端基準（lst 中央寄せの余白に引っ張られない） */
    /* PC用 lst::after 背景は SP では使わない */
    /* frame 基準で中央固定（画像ガイド） */
    /* 2行タイトル分、画像上に余白（不足分は背景色で補填） */
    /* 詳細 SP */ }
    .alumni_wrap .alumni_mv {
      /* SP背景 750x700 → 93.333vw */
      height: 93.333vw;
      min-height: 93.333vw;
      background: url("../../../img/ns/alumni/bg_mv-alumni_sp.webp") no-repeat center bottom;
      background-size: cover; }
    .alumni_wrap .alumni_mv_inner {
      height: 100%;
      min-height: 93.333vw; }
    .alumni_wrap .alumni_mv .g_breadcrumb_lst {
      left: 4vw;
      bottom: 4vw; }
    .alumni_wrap .alumni_mv .top_mv_logo {
      left: 3.2vw;
      padding: 3.2vw 0 0;
      width: 29.2vw; }
    .alumni_wrap .alumni_mv .ttl {
      /* SP装飾 750x218 */
      top: 19.066vw;
      width: 100%;
      max-width: none;
      height: 36.667vw;
      background: url("../../../img/ns/alumni/ttl_main-alumni-en_sp.webp") no-repeat center;
      background-size: contain; }
    .alumni_wrap .alumni_mv .ttl img {
      width: 37.333vw; }
    .alumni_wrap .alumni_mv .txt {
      top: auto;
      bottom: 12vw; }
    .alumni_wrap .alumni_mv .txt img {
      /* SPコピー 524x208（デザイン幅750基準） */
      width: 69.867vw;
      max-width: none; }
    .alumni_wrap .g_sideClm_main {
      width: 100%;
      flex: 1 1 auto;
      min-width: 0; }
    .alumni_wrap .alumni_sideNav {
      position: relative;
      box-sizing: border-box;
      width: 94.667vw;
      /* 750基準 710px */
      max-width: 94.667vw;
      padding: 0;
      flex: 0 0 auto;
      margin: 5.333vw auto;
      /* 上下余白 / 左右autoで中央寄せ */
      border-bottom: none;
      overflow-x: visible; }
    .alumni_wrap .alumni_sideNav::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: url("../../../img/ns/alumni/bg_alumni-recruiting.webp");
      background-repeat: no-repeat;
      background-position: left top;
      background-size: auto 100%;
      pointer-events: none;
      z-index: 0; }
    .alumni_wrap .alumni_sideNav .g_sideNav_lst {
      position: sticky;
      display: flex;
      flex-direction: column;
      /* general.css SPの row を打ち消し */
      gap: 0;
      box-sizing: border-box;
      width: 84vw;
      /* 750基準 630px */
      max-width: 84vw;
      min-height: 100%;
      top: 0;
      margin-inline: auto;
      /* general.css SP の padding: 5.5vw 7.692vw を完全リセット */
      padding: 0;
      z-index: 1;
      text-align: left; }
    .alumni_wrap .alumni_sideNav .g_sideNav_lst::after {
      display: none; }
    .alumni_wrap .alumni_sideNav .g_sideNav_itm {
      display: flex;
      align-items: center;
      box-sizing: border-box;
      width: 100%;
      border-bottom: 1px solid #dddddd;
      min-height: 14.666vw;
      height: auto;
      padding-top: 3.733vw;
      padding-bottom: 3.733vw; }
    .alumni_wrap .alumni_sideNav .g_sideNav_itm::after {
      content: '';
      position: absolute;
      top: 50%;
      right: 2.666vw;
      width: 2.133vw;
      height: 2.133vw;
      border-right: 2px solid #0ea962;
      border-bottom: 2px solid #0ea962;
      transform: translateY(-70%) rotate(45deg);
      pointer-events: none; }
    .alumni_wrap .alumni_sideNav .g_sideNav_itm:hover a {
      opacity: 0.4; }
    .alumni_wrap .alumni_sideNav .g_sideNav_itm.js_current a,
    .alumni_wrap .alumni_sideNav .g_sideNav_itm.js_current:hover a {
      opacity: 1; }
    .alumni_wrap .alumni_sideNav .g_sideNav_itm:hover::before {
      opacity: 0; }
    .alumni_wrap .alumni_sideNav .g_sideNav_itm.js_current::before,
    .alumni_wrap .alumni_sideNav .g_sideNav_itm.js_current:hover::before {
      opacity: 1; }
    .alumni_wrap .alumni_sideNav .g_sideNav_itm a {
      display: flex;
      align-items: center;
      width: 100%;
      height: auto;
      min-height: 100%;
      box-sizing: border-box;
      opacity: 1;
      transition: opacity 0.3s;
      font-size: 3.733vw;
      line-height: 1.5;
      /* general.css の padding-left: 1.42em を上書き */
      padding: 0 8vw 0 2.666vw; }
    .alumni_wrap .alumni_about {
      padding-bottom: 0; }
    .alumni_wrap .alumni_about .alumni_sec_ttl {
      margin-bottom: 0; }
    .alumni_wrap .alumni_about_body {
      flex-direction: column;
      gap: 0;
      padding: 10.667vw 5.333vw 0; }
    .alumni_wrap .alumni_about_ttl {
      font-size: 4.8vw;
      /* 750基準 36px → デザイン上の見出し感 */
      line-height: 1.4; }
    .alumni_wrap .alumni_about_txt p {
      margin-bottom: 0;
      font-size: 3.733vw;
      /* 14px */
      line-height: 2;
      letter-spacing: 0.04em; }
    .alumni_wrap .alumni_about_media {
      flex: none;
      /* 親の左右padding内に収めつつ、実寸341pxを上限に */
      width: 100%;
      max-width: 341px;
      margin: 4.2vw 0 0; }
    .alumni_wrap .alumni_about_media img {
      width: 100%;
      height: auto; }
    .alumni_wrap .ns_ttl {
      margin: 0 0 2.222vw -2.222vw; }
    .alumni_wrap .alumni_about_ttl.ns_ttl {
      margin-bottom: 8vw;
      /* 750基準 60px */ }
    .alumni_wrap .ns_ttl::before {
      content: '';
      position: absolute;
      top: 2.75vw;
      left: -4.5vw;
      /* 750基準: 長さ80px / 太さ5px
         ※ linear-gradient の帯幅は calc(50% ± x) の「2x」になる */
      width: 10.667vw;
      height: 10.667vw;
      background: linear-gradient(-45deg, transparent calc(50% - 0.333vw), #2de15d calc(50% - 0.333vw), #00d379 calc(50% + 0.333vw), transparent calc(50% + 0.333vw));
      pointer-events: none;
      z-index: -1; }
    .alumni_wrap .alumni_faq_body {
      padding: 0; }
    .alumni_wrap .alumni_faq .faq_itm_ttl {
      padding: 8.974vw 17.949vw 8.974vw 5.333vw;
      line-height: 1.5;
      background-color: #efefef; }
    .alumni_wrap .alumni_faq .faq_itm_ttl::before {
      right: 5.333vw; }
    .alumni_wrap .alumni_faq .faq_itm_ttl::after {
      right: calc(5.333vw + 0.375em); }
    .alumni_wrap .alumni_faq .faq_itm_cont {
      padding: 6.41vw 5.333vw 10.667vw; }
    .alumni_wrap .alumni_faq .faq_itm_cont > * {
      max-width: none;
      width: 100%;
      font-size: 3.733vw;
      line-height: 1.8; }
    .alumni_wrap .alumni_flow .alumni_sec_ttl {
      margin-bottom: 0; }
    .alumni_wrap .alumni_flow_body {
      margin-top: 0;
      padding: 8vw 5.333vw 0; }
    .alumni_wrap .alumni_flow_lst {
      gap: 2.667vw; }
    .alumni_wrap .alumni_flow_itm {
      flex-direction: column;
      align-items: flex-start;
      gap: 2.667vw;
      padding: 5.333vw; }
    .alumni_wrap .alumni_flow_step {
      min-width: auto;
      font-size: 3.733vw;
      padding-top: 0;
      margin-bottom: 1.333vw;
      line-height: 1; }
    .alumni_wrap .alumni_flow_cont {
      padding-left: 0;
      width: 100%; }
    .alumni_wrap .alumni_flow_cont::before {
      display: none; }
    .alumni_wrap .alumni_flow_ttl {
      margin-bottom: 2.667vw;
      font-size: 4vw;
      line-height: 1.5; }
    .alumni_wrap .alumni_flow_txt {
      font-size: 3.733vw;
      line-height: 1.8; }
    .alumni_wrap .alumni_interview_body {
      margin-top: 6vw;
      padding: 0 5.333vw; }
    .alumni_wrap .alumni_interview_lst {
      grid-template-columns: 1fr;
      gap: 0;
      /* 間隔は itm の margin-top で確保 */ }
    .alumni_wrap .alumni_interview_itm {
      min-width: 0;
      width: 100%;
      border: none; }
    .alumni_wrap .alumni_interview_itm + .alumni_interview_itm {
      margin-top: 8vw; }
    .alumni_wrap .alumni_interview_card {
      box-sizing: border-box;
      width: 100%;
      max-width: 100%;
      padding: 0;
      margin: 0; }
    .alumni_wrap .alumni_interview_thumb {
      position: relative;
      width: 100%;
      max-width: 100%;
      height: auto;
      margin-bottom: 4vw;
      min-height: 0;
      aspect-ratio: 16 / 9;
      overflow: hidden;
      background: #e8e8e8; }
      .alumni_wrap .alumni_interview_thumb img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        object-fit: cover;
        object-position: center center;
        transform: scale(1);
        transition: transform 0.6s ease; }
    .alumni_wrap .alumni_interview_ttl {
      margin-bottom: 3.2vw;
      font-size: 3.733vw;
      line-height: 1.6; }
    .alumni_wrap .alumni_interview_dept {
      margin-bottom: 1.333vw;
      font-size: 3.2vw; }
    .alumni_wrap .alumni_interview_name {
      font-size: 3.733vw; }
    .alumni_wrap .alumni_sec {
      padding-bottom: 12vw; }
    .alumni_wrap .alumni_sec_ttl {
      margin-bottom: 6vw; }
    .alumni_wrap .alumni_data_panel {
      width: 100%;
      padding: 0;
      /* 枠はコンテンツ幅100%。左右余白は track 側へ */ }
    .alumni_wrap .alumni_data_scroll {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch; }
    .alumni_wrap .alumni_data_scroll_hint {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 5;
      padding: 0;
      background: none;
      border-radius: 0;
      transform: translate(-50%, -50%);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s; }
      .alumni_wrap .alumni_data_scroll_hint img {
        display: block;
        width: 45.333vw;
        /* 750基準 340px */
        height: auto; }
    .alumni_wrap .alumni_data_scroll_hint.is_show {
      opacity: 1; }
    .alumni_wrap .alumni_data_track {
      box-sizing: content-box;
      /* 左右に750基準40pxの余白を持たせてスクロール端に空間を確保 */
      min-width: 986px;
      padding-left: 5.333vw;
      padding-right: 5.333vw; }
    .alumni_wrap .alumni_data_head,
    .alumni_wrap .alumni_data_foot {
      left: 0;
      right: 0;
      width: 84vw;
      /* 750基準 630px */
      max-width: 84vw;
      margin-inline: auto;
      font-size: 4.8vw;
      /* 750基準 36px */
      line-height: 1.4; }
    .alumni_wrap .alumni_data_head_br {
      display: inline; }
    .alumni_wrap .alumni_data_graph {
      background-color: #ebf6f1;
      padding-top: 8vw;
      /* 750基準 60px */ }
    .alumni_wrap .alumni_data_col {
      /* foot帯分の下余白は維持（SP詳細は後日） */
      padding: 1.2em 0.9em calc(1.2em + 10px + 3.7 * clamp(14px, 1.25vw, 20px));
      font-size: 12px; }
    .alumni_wrap .alumni_data_notes {
      padding: 0 0 0 5.333vw;
      /* 750基準 左40px */ }
    .alumni_wrap.alumni_detail {
      /* KV上画像: 750基準 800px → 106.667vw */
      /* SP: DOM順のまま縦積み（リード → 目次 → 本文） */
      /* アルムナイ採用TOP: 右下矢印・下部仕切り線なし */
      /* 目次連番は上揃え */
      /* 目次の最後だけ下部仕切り線なし */
      /* SPではリード下の仕切り線なし */ }
      .alumni_wrap.alumni_detail .alumni_detail_mv {
        height: auto;
        min-height: 0; }
      .alumni_wrap.alumni_detail .alumni_detail_mv_grid {
        display: flex;
        flex-direction: column;
        min-height: 0; }
      .alumni_wrap.alumni_detail .alumni_detail_mv_visual {
        height: 106.667vw;
        min-height: 106.667vw;
        aspect-ratio: auto; }
      .alumni_wrap.alumni_detail .alumni_detail_mv_panel {
        /* 上: 固定ヘッダー(15.385vw) + 余白 */
        padding: 20.718vw 5.333vw 10.667vw; }
      .alumni_wrap.alumni_detail .alumni_detail_hero_ttl {
        margin-bottom: 5.333vw;
        font-size: 5.333vw; }
      .alumni_wrap.alumni_detail .alumni_detail_hero_profile {
        margin-bottom: 5.333vw; }
      .alumni_wrap.alumni_detail .alumni_detail_hero_intro {
        font-size: 3.733vw; }
      .alumni_wrap.alumni_detail .alumni_detail_hero_name {
        font-size: 3.733vw; }
      .alumni_wrap.alumni_detail .alumni_detail_hero_name_en,
      .alumni_wrap.alumni_detail .alumni_detail_hero_dept {
        font-size: 3.2vw; }
      .alumni_wrap.alumni_detail .alumni_detail_mv_visual .g_breadcrumb_lst {
        left: 5.333vw;
        bottom: 5.333vw; }
      .alumni_wrap.alumni_detail .alumni_detail_clm {
        display: flex;
        flex-direction: column; }
      .alumni_wrap.alumni_detail .alumni_detail_clm .alumni_detail_lead,
      .alumni_wrap.alumni_detail .alumni_detail_clm .alumni_detail_sideNav,
      .alumni_wrap.alumni_detail .alumni_detail_clm .g_sideClm_main {
        grid-column: auto;
        grid-row: auto; }
      .alumni_wrap.alumni_detail .alumni_detail_sideNav {
        width: 94.667vw;
        /* 750基準 710px */
        max-width: 94.667vw;
        padding: 0;
        margin: 5.333vw auto; }
      .alumni_wrap.alumni_detail .alumni_detail_sideNav .g_sideNav_lst {
        position: static;
        width: 84vw;
        /* 750基準 630px */
        max-width: 84vw;
        margin-inline: auto;
        padding: 0; }
      .alumni_wrap.alumni_detail .alumni_detail_side_top_itm {
        margin-bottom: 0;
        border-bottom: none;
        min-height: 14.666vw;
        height: auto; }
        .alumni_wrap.alumni_detail .alumni_detail_side_top_itm::after {
          display: none; }
      .alumni_wrap.alumni_detail .alumni_detail_side_top {
        font-size: 3.733vw;
        gap: 1.6vw; }
      .alumni_wrap.alumni_detail .alumni_detail_sideNav .g_sideNav_itm.js_indicator {
        align-items: flex-start; }
      .alumni_wrap.alumni_detail .alumni_detail_sideNav .g_sideNav_itm.js_indicator a {
        align-items: flex-start; }
      .alumni_wrap.alumni_detail .alumni_detail_nav_num {
        align-self: flex-start;
        line-height: 1.4; }
      .alumni_wrap.alumni_detail .alumni_detail_sideNav .g_sideNav_itm.js_indicator:last-child {
        border-bottom: none; }
      .alumni_wrap.alumni_detail .alumni_detail_lead {
        margin-top: 8vw;
        padding: 0 5.333vw 6.4vw;
        font-size: 4vw; }
      .alumni_wrap.alumni_detail .alumni_detail_divider {
        display: none; }
      .alumni_wrap.alumni_detail .alumni_detail_sec + .alumni_detail_sec {
        margin-top: 10.667vw; }
      .alumni_wrap.alumni_detail .alumni_detail_sec_ttl.ns_ttl {
        margin-bottom: 4vw;
        padding: 4vw 0 0 0;
        font-size: 4.8vw; }
      .alumni_wrap.alumni_detail .alumni_detail_content {
        padding: 0 5.333vw;
        font-size: 3.733vw; }
      .alumni_wrap.alumni_detail .alumni_detail_other_ttl {
        height: 22.667vw;
        /* 170px / 750 */
        margin-bottom: 5.333vw;
        /* リスト左右余白に近い縦間隔 */
        padding: 0 5.333vw;
        font-size: 4.8vw;
        /* 36px / 750 */ }
      .alumni_wrap.alumni_detail .alumni_detail_other_lst {
        padding: 0 5.333vw;
        grid-template-columns: minmax(0, 1fr);
        gap: 8vw; } }

/* ===================================
	固定エントリーナビ（PC右下 / SP全幅）
====================================== */
.alumni_fixed_entry {
  position: fixed;
  z-index: 20;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  right: 0;
  bottom: 32px;
  width: 297px;
  border: 3px solid #fff;
  border-right: none;
  border-radius: 12px 0 0 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

.alumni_fixed_entry_toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 52px;
  padding: 14px 40px 14px 16px;
  border: none;
  background-color: #00613c;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  cursor: pointer;
  text-align: center;
}

.alumni_fixed_entry_toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 11px;
  height: 6px;
  margin-top: -3px;
  border: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6' viewBox='0 0 11 6' fill='none'%3E%3Cpath d='M1 1l4.5 4L10 1' stroke='%2300ac5a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px 6px no-repeat;
  transform: rotate(180deg);
  transition: transform 0.35s ease;
}

.alumni_fixed_entry.is-open .alumni_fixed_entry_toggle::after {
  transform: rotate(0deg);
}

.alumni_fixed_entry_panel {
  display: grid;
  grid-template-rows: 0fr;
  width: 100%;
  background-color: #222;
  transition: grid-template-rows 0.35s ease;
}

.alumni_fixed_entry.is-open .alumni_fixed_entry_panel {
  grid-template-rows: 1fr;
}

.alumni_fixed_entry_panel_inner {
  overflow: hidden;
  min-height: 0;
}

.alumni_fixed_entry_lst {
  margin: 0;
  padding: 0;
  list-style: none;
}

.alumni_fixed_entry_itm {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.alumni_fixed_entry_itm:first-child {
  border-top: none;
}

.alumni_fixed_entry_lnk {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 16px 40px 16px 18px;
  position: relative;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-decoration: none;
}

.alumni_fixed_entry_lnk::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 6px;
  height: 11px;
  margin-top: -5.5px;
  border: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11' fill='none'%3E%3Cpath d='M1 1l4 4.5L1 10' stroke='%2300ac5a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 6px 11px no-repeat;
}

.alumni_fixed_entry_job {
  font-weight: 700;
}

.alumni_fixed_entry_action {
  font-size: 12px;
  font-weight: 400;
  margin-left: 0.15em;
}

@media (any-hover: hover) {
  .alumni_fixed_entry_lnk:hover {
    background-color: rgba(255, 255, 255, 0.06);
  }
}

@media screen and (max-width: 700px) {
  .alumni_fixed_entry {
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    max-width: 100vw;
    border: 0.53333vw solid #fff;
    border-radius: 0;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.25);
  }

  .alumni_fixed_entry_toggle {
    min-height: 56px;
    padding: 16px 48px 16px 16px;
    font-size: 4vw;
  }

  .alumni_fixed_entry_toggle::after {
    right: 5.333vw;
    width: 3.86667vw;
    height: 2vw;
    margin-top: -1vw;
    background-size: 3.86667vw 2vw;
  }

  .alumni_fixed_entry_lnk {
    padding: 4.8vw 12vw 4.8vw 5.333vw;
    font-size: 3.733vw;
  }

  .alumni_fixed_entry_lnk::after {
    right: 5.333vw;
    width: 2vw;
    height: 3.86667vw;
    margin-top: -1.93333vw;
    background-size: 2vw 3.86667vw;
  }

  .alumni_fixed_entry_action {
    font-size: 3.2vw;
  }

  body:has(.alumni_fixed_entry) {
    padding-bottom: 56px;
  }
}

/*# sourceMappingURL=alumni.css.map */
