@charset "utf-8";

/* ===================================================================
   共通スタイル（スマホ・PC共通）
   =================================================================== */

/* 20251119 下層アコーディオン追加 */
/*----------------------------------------------------
  出願情報テーブル＋アコーディオン
----------------------------------------------------*/

/* テーブル共通（色・枠線はサイト既存 table に合わせる） */
.entry-table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0 0;
}

.entry-table th,
.entry-table td {
  vertical-align: top;
}

/* 必要ならヘッダー幅だけ補足（任意） */
.entry-table th {
  width: 20%;
}


/* テーブル＋ボタン全体のブロック */
.entry-accordion-block {
  position: relative;
  padding-bottom: 80px; /* ボタン分の余白 */
  margin-bottom: 40px;
}

/* テーブルの「途中まで表示」エリア */
.entry-table-wrapper {
  position: relative;
  max-height: 230px; /* 3つ目くらいまで見せたい高さ。必要に応じて調整 */
  overflow: hidden;
}
.entry-table-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 80px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 1)
  );
  pointer-events: none;
  z-index: 0;
}

/* 「全て表示／閉じる」ボタン（ブロック下中央に配置） */
.entry-accordion-toggle {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  z-index: 2;
}
.entry-accordion-toggle summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 40px;
  border-radius: 9999px;
  border: 2px solid #1b2233;
  background-color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  color: #1b2233;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
}
.entry-accordion-toggle summary::-webkit-details-marker {
  display: none;
}
.entry-accordion-toggle summary::after {
  content: "＋";
  display: inline-block;
  font-size: 16px;
  line-height: 1;
}
.entry-accordion-toggle[open] summary::after {
  content: "－";
}

/* ボタン文言の切り替え */
.entry-accordion__label--close {
  display: none;
}
.entry-accordion-toggle[open] .entry-accordion__label--more {
  display: none;
}
.entry-accordion-toggle[open] .entry-accordion__label--close {
  display: inline;
}

/* 開いたときはテーブル全表示＋グラデーション非表示 */
.entry-accordion-toggle[open] + .entry-table-wrapper {
  max-height: none;
}
.entry-accordion-toggle[open] + .entry-table-wrapper .entry-table-overlay {
  display: none;
}
/*20251119 アコーディオンここまで */


/* チェックリスト（negativeカテトップ） */
/* 全体の枠組み */
.static-checklist-box {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 30px 20px;
    margin: 40px 0;
    font-family: sans-serif;
    color: #333;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* タイトル周り */
.cl-title {
    text-align: center;
    font-size: 1.6em;
    margin-bottom: 20px;
    color: #111;
    border-bottom: 3px solid #eee;
    padding-bottom: 15px;
    line-height: 1.4;
}

.cl-intro {
    margin-bottom: 30px;
    line-height: 1.6;
    font-size: 0.95em;
    text-align: center;
}

/* 2カラムレイアウト */
.cl-flex-container {
    display: flex;
    gap: 25px;
    flex-wrap: wrap; /* スマホで折り返し */
}

.cl-column {
    flex: 1;
    min-width: 280px; /* スマホでの最小幅 */
    background: #fdfdfd;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #eee;
}

/* カラムごとのテーマカラー */
/* A:専門学校（赤系） */
.type-school {
    border-top: 5px solid #ff6b6b;
}
.type-school .cl-col-header {
    color: #e03131;
}
.type-school .cl-result h4 span {
    background: linear-gradient(transparent 70%, #ffc9c9 70%); /* マーカー風 */
}

/* B:大学（青系） */
.type-univ {
    border-top: 5px solid #4dabf7;
}
.type-univ .cl-col-header {
    color: #1971c2;
}
.type-univ .cl-result h4 span {
    background: linear-gradient(transparent 70%, #d0ebff 70%); /* マーカー風 */
}

.cl-col-header {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.2em;
    border-bottom: 1px dashed #ccc;
    padding-bottom: 10px;
}

/* リスト（読み物用の装飾） */
.cl-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cl-list li {
    position: relative;
    padding-left: 26px; /* 四角の分だけ空ける */
    margin-bottom: 15px;
    line-height: 1.6;
    font-size: 0.95em;
}
/* CSSで四角（□）を描く */
.cl-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 16px;
    height: 16px;
    border: 2px solid #bbb; /* 枠線の色 */
    border-radius: 3px;
    background: #fff;
    box-sizing: border-box;
}

/* 結果エリア */
.cl-result {
    margin-top: 25px;
    background: #f8f9fa;
    padding: 15px;
    border-radius: 6px;
}
.cl-result h4 {
    margin: 0 0 10px 0;
    font-size: 1.1em;
    line-height: 1.4;
}
.cl-result p {
    margin: 0;
    font-size: 0.9em;
    color: #555;
}

/* フッター */
.cl-footer {
    margin-top: 40px;
    background: #f4f4f4;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
}
.cl-footer h3 {
    margin-top: 0;
    font-size: 1.2em;
    color: #333;
}
.cl-footer p {
    font-size: 0.95em;
    line-height: 1.6;
    margin-bottom: 10px;
}
/* チェックリストここまで */


/* =========================
   YouTube responsive embed (共通設定)
   ※ここに移動しました
   ========================= */
.video-embed {
  box-sizing: border-box;     /* パディング込みで最大幅を制御 */
  max-width: 960px;           /* デフォルト最大幅 */
  margin: 2rem auto;          /* 中央寄せ＆上下余白 */
  padding: 0 1rem;            /* 端末幅が狭い時の左右余白 */
}

.video-embed__inner {
  position: relative;
  width: 100%;
  background: #000;
  aspect-ratio: 16 / 9;       /* 近代ブラウザ用：アスペクト比固定 */
}

/* 古いブラウザ向けフォールバック（aspect-ratio未対応時） */
.video-embed__inner::before {
  content: "";
  display: block;
  padding-top: 56.25%; /* 16:9 */
}
@supports (aspect-ratio: 16 / 9) {
  .video-embed__inner::before { display: none; }
}

.video-embed__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* 任意のキャプション */
.video-embed__caption {
  font-size: 0.95rem;
  line-height: 1.6;
  text-align: center;
  margin-top: 0.75rem;
  opacity: 0.8;
}

/* 20251223 
トップページ 3選詳細　就職先の一例　*/
/* ----------------------------------------------------
  2025xxxx 就職先リスト（既存ul装飾を利用：余白のみ調整）
  ※「青い丸」はサイト既存のul装飾に任せる（list-styleは触らない）
----------------------------------------------------*/
.employment-box {
  margin-top: 16px;
  padding: 18px 20px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #eee;
}

.employment-box__title {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 700;
}

/* ここが重要：マーカーそのもの（list-style等）は指定しない */
.employment-box__list {
  margin: 0;
  padding-left: 1.2em; /* 既存の青丸が見切れないための保険 */
}

.employment-box__list li {
  margin: 0 0 8px;
}

.employment-box__list li:last-child {
  margin-bottom: 0;
}




/* ===================================================================
    PCサイトcss (768px以上)
   =================================================================== */
@media screen and (min-width: 768px) {

  html {
    scroll-padding-top: 74px;
  }

  .sec04 {
    padding-top: 15rem;
  }

  .sec01.bg-01 {
    background: url(./img/bg-01.jpg) repeat top left;
    background-size: cover;
    padding-top: 15rem;
    margin-top: 0rem;
  }

  .sec01 .arrow-title#kani3sen-1,
  .sec01 .arrow-title#kani3sen-2,
  .sec01 .arrow-title#kani3sen-3 {
    scroll-padding-top: 10rem;
  }

  /* ▼▼▼ 動画埋め込み調整（PC用追加） ▼▼▼ */
  .video-embed {
    max-width: 560px;         /* PCでの最大幅を上書き */
    max-inline-size: 560px;   /* 論理プロパティ */
    margin-inline: auto;      /* 中央寄せ */
  }

  /* 20251223 1分でわかる要約 */
  /* ▼▼▼ 1分要約（スクルリー風）：PC用追加 ▼▼▼ */
  /* コンテナ全体 */
  .sukurie-summary-container {
    border: 3px solid #222;
    border-radius: 10px;
    background-color: #fff;
    margin: 50px 0;
    font-family: "Helvetica Neue", Arial, sans-serif;
    color: #333;
    line-height: 1.6;
    overflow: hidden;
    box-sizing: border-box;
  }

  /* ヘッダー */
  .sukurie-summary-header {
    background-color: #222;
    color: #fff;
    font-weight: bold;
    font-size: 1.5em;
    padding: 15px 20px;
    text-align: center;
    line-height: 1.4;
  }

  /* 要約エリア */
  .sukurie-summary-content {
    padding: 30px 40px;
  }

  /* POINTブロック（PCは横並び flex） */
  .sk-point {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 2px dashed #ddd;
    display: flex; 
    align-items: flex-start;
  }
  .sk-point:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }

  /* POINTラベル */
  .sk-point-label {
    display: inline-block;
    background-color: #ffd900;
    color: #222;
    font-size: 1em;
    font-weight: bold;
    padding: 8px 10px;
    border-radius: 5px;
    margin-right: 20px;
    min-width: 80px;
    text-align: center;
    border: 2px solid #222;
    flex-shrink: 0;
  }

  .sk-point-text {
    margin: 0;
    font-size: 1em;
    flex-grow: 1;
  }
  .sk-point-text strong {
    color: #0044cc;
    background: linear-gradient(transparent 70%, #b3d9ff 0%);
  }

  /* 下段：導線エリア */
  .sukurie-guide-section {
    background-color: #e6f0ff;
    border-top: 3px solid #222;
    padding: 40px;
    text-align: center;
  }

  /* 下段見出し */
  .guide-ttl {
    font-size: 1.6em;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.4;
    color: #222;
    display: inline-block;
  }

  /* 本文 */
  .guide-block .txt {
    text-align: left;
    margin-bottom: 15px;
    color: #333;
  }

  /* PCでは改行タグ無効 */
  .sp_br { display: none; }

  /* ボタンエリア */
  .btn-internal {
    margin-top: 30px;
    text-align: center;
  }

} /* ←PC用メディアクエリの閉じカッコ */


/* ===================================================================
    SPサイトcss (767px以下)
   =================================================================== */
@media screen and (max-width: 767px) {
  .mainvisual-bg {
    bottom: -5rem;
  }

  .sec04 {
    padding-top: 6rem;
  }

  .sec06 {
    padding: 2rem 0 0;
  }

  .sec01 .arrow-title#kani3sen-1,
  .sec01 .arrow-title#kani3sen-2,
  .sec01 .arrow-title#kani3sen-3 {
    scroll-padding-top: 10rem;
  }

  /* ▼▼▼ 動画埋め込み調整（SP用追加） ▼▼▼ */
  .video-embed { margin: 1.5rem auto; }

  /* 20251223 1分でわかる要約 */
  /* ▼▼▼ 1分要約（スクルリー風）：SP用追加 ▼▼▼ */
  /* コンテナ全体 */
  .sukurie-summary-container {
    border: 2px solid #222;
    border-radius: 8px;
    background-color: #fff;
    margin: 30px 0;
    font-family: "Helvetica Neue", Arial, sans-serif;
    color: #333;
    line-height: 1.6;
    overflow: hidden;
    box-sizing: border-box;
  }

  /* ヘッダー */
  .sukurie-summary-header {
    background-color: #222;
    color: #fff;
    font-weight: bold;
    font-size: 1.2em;
    padding: 15px;
    text-align: center;
    line-height: 1.4;
  }

  /* 要約エリア */
  .sukurie-summary-content {
    padding: 20px 15px;
  }

  /* POINTブロック（SPは縦並び block） */
  .sk-point {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 2px dashed #ddd;
    display: block;
  }
  .sk-point:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }

  /* POINTラベル */
  .sk-point-label {
    display: inline-block;
    background-color: #ffd900;
    color: #222;
    font-size: 0.9em;
    font-weight: bold;
    padding: 5px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
    margin-right: 0;
    min-width: auto;
    border: 2px solid #222;
  }

  .sk-point-text {
    margin: 0;
    font-size: 0.95em;
  }
  .sk-point-text strong {
    color: #0044cc;
    background: linear-gradient(transparent 70%, #b3d9ff 0%);
  }

  /* 下段：導線エリア */
  .sukurie-guide-section {
    background-color: #e6f0ff;
    border-top: 2px solid #222;
    padding: 25px 15px;
    text-align: center;
  }

  /* 下段見出し */
  .guide-ttl {
    font-size: 1.3em;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.4;
    color: #222;
  }

  /* 本文 */
  .guide-block .txt {
    text-align: left;
    margin-bottom: 15px;
    color: #333;
  }

  /* SPのみ改行有効 */
  .sp_br { display: block; }

  /* ボタンエリア */
  .btn-internal {
    margin-top: 20px;
    text-align: center;
  }

} /* ←SP用メディアクエリの閉じカッコ */