@charset "utf-8";
/*
  2027年度 入試概要 既存CSSとの競合回避用。
  全て #content #admission2027 の内側に限定。
  既存CSSの examination_sp.css より後に読み込む。
*/

/* 旧サイトの全体スタイル (#content h2, #content h3, table など) を局所的に上書き */
#content #admission2027 {
  display:block; width:100%; max-width:100%;
  box-sizing:border-box; background:#fff; color:#141414;
  font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-size:14px; font-weight:400; line-height:1.75; text-align:left;
  word-break:normal; overflow-wrap:break-word;
}
#content #admission2027 *,
#content #admission2027 *::before,
#content #admission2027 *::after { box-sizing:border-box; }
#content #admission2027 h1,
#content #admission2027 h2,
#content #admission2027 h3,
#content #admission2027 h4 {
  display:block; width:auto; height:auto; max-width:none;
  margin:0; padding:0; background:transparent none;
  border:0; border-radius:0; box-shadow:none;
  color:inherit; font-family:inherit; font-size:inherit;
  font-weight:inherit; line-height:inherit; letter-spacing:normal;
  text-align:left; float:none;
}
#content #admission2027 p {
  display:block; margin:0; padding:0; color:inherit;
  background:transparent; border:0; font-family:inherit;
  font-size:inherit; line-height:inherit; text-align:left;
  font-weight:inherit; text-indent:0; float:none;
}
#content #admission2027 ol {
  display:block; margin:0; padding:0; list-style:none;
  background:transparent;
}
#content #admission2027 table {
  width:100%; margin:0; padding:0; border-collapse:collapse;
  border-spacing:0; table-layout:auto; background:#fff;
  color:inherit; font-family:inherit; font-size:inherit;
  line-height:1.65;
}
#content #admission2027 table th,
#content #admission2027 table td {
  display:table-cell; height:auto; margin:0; padding:0;
  background:transparent; border:0; box-shadow:none;
  color:inherit; font-family:inherit; font-size:inherit;
  line-height:inherit; font-weight:inherit; letter-spacing:normal;
  text-align:left; vertical-align:middle; float:none;
}

#content #admission2027 {
  --navy: #000972;
  --heading: #12396c;
  --border: #c9c9c9;
  --table-head: #ededed;
  --table-stripe: #f8f8fa;
  --text: #141414;
}
#content #admission2027 *,
#content #admission2027 *::before,
#content #admission2027 *::after { box-sizing: border-box; }
#content #admission2027 {
  margin: 0;
  color: var(--text);
  background: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere;
}
#content #admission2027 {
  width: min(100%, 900px);
  padding: 24px 22px 90px;
}
#content #admission2027 .page-title {
  margin: 0 0 40px;
  padding: 14px 24px;
  background: var(--navy);
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.45;
}
#content #admission2027 .admission-section { margin: 0 0 58px; }
#content #admission2027 .section-title {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin: 0 0 22px;
  padding: 0 5px 10px;
  border-bottom: 3px solid var(--heading);
  color: var(--heading);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.6;
}
#content #admission2027 .section-title::before {
  content: "";
  flex: none;
  width: 12px;
  height: 12px;
  border: 4px solid var(--heading);
  border-radius: 50%;
  transform: translateY(-1px);
}
#content #admission2027 .minor-heading {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
}
#content #admission2027 .item-block + .item-block { margin-top: 22px; }
#content #admission2027 .item-title {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.65;
  color: var(--heading);
}
#content #admission2027 .detail-title {
  margin: 12px 0 2px 26px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.65;
}
#content #admission2027 .item-body { margin: 0 0 3px 24px; }
#content #admission2027 .detail-body { margin: 0 0 4px 49px; }
#content #admission2027 .indent { margin-left: 24px; }
#content #admission2027 .note { margin-top: 7px; margin-bottom: 2px; font-size: 14px; line-height: 1.75; }
#content #admission2027 .inline-note { margin-left: .4em; font-size: 14px; }
#content #admission2027 .block-note { display: block; font-size: 14px; line-height: 1.6; }
#content #admission2027 .subnote { font-size: 13px; font-weight: 400; color: #4c4c4c; }
#content #admission2027 .table-intro { margin-top: 14px; margin-bottom: 8px; }
#content #admission2027 .emphasis { color: var(--heading); }
#content #admission2027 .sub-item + .sub-item { margin-top: 16px; }
#content #admission2027 .circled-list,
#content #admission2027 .kana-list {
  margin: 5px 0 6px 24px;
  padding-left: 35px;
  list-style: none;
  counter-reset: circle-counter;
}
#content #admission2027 .circled-list > li {
  position: relative;
  margin: 4px 0;
  counter-increment: circle-counter;
}
#content #admission2027 .circled-list > li::before {
  content: counter(circle-counter, cjk-ideographic);
  position: absolute;
  left: -30px;
  width: 24px;
  text-align: center;
  color: var(--heading);
  font-weight: 700;
}
#content #admission2027 .circled-list > li:nth-child(1)::before { content: "①"; }
#content #admission2027 .circled-list > li:nth-child(2)::before { content: "②"; }
#content #admission2027 .circled-list > li:nth-child(3)::before { content: "③"; }
#content #admission2027 .circled-list > li:nth-child(4)::before { content: "④"; }
#content #admission2027 .circled-list > li:nth-child(5)::before { content: "⑤"; }
#content #admission2027 .circled-list > li:nth-child(6)::before { content: "⑥"; }
#content #admission2027 .kana-list { counter-reset: kana-counter; }
#content #admission2027 .kana-list > li { position: relative; margin: 5px 0; }
#content #admission2027 .kana-list > li::before { position: absolute; left: -30px; color: var(--heading); font-weight: 700; }
#content #admission2027 .kana-list > li:nth-child(1)::before { content: "ア．"; }
#content #admission2027 .kana-list > li:nth-child(2)::before { content: "イ．"; }
#content #admission2027 .kana-list > li:nth-child(3)::before { content: "ウ．"; }
#content #admission2027 .kana-list > li:nth-child(4)::before { content: "エ．"; }
#content #admission2027 .table-scroll { max-width: 100%; overflow: visible; margin: 6px 0 9px; }
#content #admission2027 .table-narrow { max-width: 540px; }
#content #admission2027 .table-medium { max-width: 730px; }
#content #admission2027 .data-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  font-size: 14px;
  line-height: 1.65;
}
#content #admission2027 .data-table th,
#content #admission2027 .data-table td {
  padding: 10px 12px;
  border: 1px solid var(--border);
  vertical-align: middle;
}
#content #admission2027 .data-table thead th {
  background: var(--table-head);
  text-align: center;
  font-weight: 700;
}
#content #admission2027 .data-table tbody th { background: var(--table-head); font-weight: 700; }
#content #admission2027 .data-table .center { text-align: center; }
#content #admission2027 .recruitment-table thead th:first-child { width: 29%; }
#content #admission2027 .recruitment-table thead th:nth-child(2) { width: 58%; }
#content #admission2027 .recruitment-table thead th:last-child { width: 13%; }
#content #admission2027 .recruitment-table tbody th { background: #fff; text-align: center; font-weight: 400; }
#content #admission2027 .date-table th { width: 36%; text-align: center; white-space: nowrap; }
#content #admission2027 .date-table td { vertical-align: middle; }
#content #admission2027 .key-value-table th { width: 18%; min-width: 100px; text-align: center; }
#content #admission2027 .choice-table { text-align: center; }
#content #admission2027 .choice-table thead th:first-child { width: 10%; }
#content #admission2027 .choice-table tbody th { width: 10%; text-align: center; background: #fff; font-weight: 400; }
#content #admission2027 .choice-table tbody tr:nth-child(even) td,
#content #admission2027 .choice-table tbody tr:nth-child(even) th { background: var(--table-stripe); }
#content #admission2027 .choice-table .not-applicable { background: #f0f0f1 !important; }
#content #admission2027 .recommend-table tbody th { width: 12%; background: #fff; text-align: center; }
#content #admission2027 .description-table tbody th { width: 20%; min-width: 120px; text-align: center; }
#content #admission2027 .description-table td .note { margin-top: 4px; }
#content #admission2027 .exam-table th,
#content #admission2027 .exam-table td { text-align: center; }
#content #admission2027 .exam-table thead th:first-child { width: 28%; }
#content #admission2027 .exam-table tbody th { background: var(--table-head); }
#content #admission2027 .exam-table tbody tr:nth-child(even) td { background: var(--table-stripe); }
#content #admission2027 .fee-table { min-width: 0; }
#content #admission2027 .fee-table thead th { padding: 8px 6px; }
#content #admission2027 .fee-table thead th:first-child { width: 20%; }
#content #admission2027 .fee-table thead th:nth-child(2) { width: 15%; }
#content #admission2027 .fee-table tbody th { text-align: center; }
#content #admission2027 .fee-table td { padding: 12px 10px; }
#content #admission2027 .fee-table .total-row th,
#content #admission2027 .fee-table .total-row td:nth-child(2) { font-weight: 700; background: var(--table-head); }
#content #admission2027 .campus-table thead th:first-child { width: 20%; }
#content #admission2027 .campus-table thead th:nth-child(2) { width: 38%; }
#content #admission2027 .campus-table tbody th { text-align: center; font-weight: 400; }
#content #admission2027 .campus-table td { padding: 7px 12px; }
@media (max-width: 600px) {
#content #admission2027 { font-size: 14px; line-height: 1.75; }
#content #admission2027 { padding: 16px 14px 64px; }
#content #admission2027 .page-title { margin-bottom: 32px; padding: 13px 16px; font-size: 19px; }
#content #admission2027 .admission-section { margin-bottom: 43px; }
#content #admission2027 .section-title { gap: 8px; margin-bottom: 17px; padding-bottom: 8px; font-size: 17px; }
#content #admission2027 .section-title::before { width: 10px; height: 10px; border-width: 3px; }
#content #admission2027 .minor-heading,
#content #admission2027 .item-title { font-size: 14px; }
#content #admission2027 .detail-title { font-size: 14px; margin-left: 11px; }
#content #admission2027 .item-body,
#content #admission2027 .indent { margin-left: 10px; }
#content #admission2027 .detail-body { margin-left: 22px; }
#content #admission2027 .circled-list,
#content #admission2027 .kana-list { margin-left: 5px; padding-left: 28px; }
#content #admission2027 .circled-list > li::before,
#content #admission2027 .kana-list > li::before { left: -26px; width: 23px; }
#content #admission2027 .item-block + .item-block { margin-top: 18px; }
#content #admission2027 .data-table { font-size: 13px; }
#content #admission2027 .data-table th,
#content #admission2027 .data-table td { padding: 8px 7px; }
#content #admission2027 .note,
#content #admission2027 .inline-note,
#content #admission2027 .block-note { font-size: 12px; }
#content #admission2027 .subnote { font-size: 12px; }
}

/* 既存サイトのコンテンツ幅を使い、見出しも表もその範囲に収める */
#content #admission2027 {
  width:100%; max-width:100%; margin:0;
  padding:0 0 45px; font-size:14px; line-height:1.75;
}
#content #admission2027 .page-title { margin-bottom:37px; padding:13px 19px; font-size:20px; }
#content #admission2027 .section-title { width:100%; }
#content #admission2027 .table-scroll { width:100%; }
#content #admission2027 .data-table th,
#content #admission2027 .data-table td { display:table-cell; }
#content #admission2027 .circled-list > li,
#content #admission2027 .kana-list > li { display:list-item; list-style:none; padding:0; background:none; }
#content #admission2027 .section-title::after { content:none; }

/* format_sp.css の画面幅 767px と同じブレークポイント */
@media screen and (max-width:767px) {
  #content #admission2027 { width:100%; max-width:100%; padding:0 0 45px; font-size:13px; }
  #content #admission2027 .page-title { margin-bottom:28px; padding:12px 14px; }
  #content #admission2027 .admission-section { margin-bottom:40px; }
  #content #admission2027 .section-title { font-size:17px; }
}

@media print {
#content #admission2027 { width: 100%; max-width: none; padding: 10mm 12mm; }
#content #admission2027 .admission-section { break-inside: avoid-page; }
#content #admission2027 .table-scroll { overflow: visible; max-width: none; }
#content #admission2027 .data-table { min-width: 0 !important; }
#content #admission2027 .data-table tr { break-inside: avoid; }
#content #admission2027 .page-title,
#content #admission2027 .section-title,
#content #admission2027 .data-table thead th,
#content #admission2027 .data-table tbody th,
#content #admission2027 .data-table td {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* =========================================================
   横スクロール廃止（2026-10-26）
   表は常にコンテンツ幅に収める。小画面は改行／カード表示。
   全セレクタを入試概要内に限定し、既存サイトには影響させない。
   ========================================================= */
#content #admission2027 .table-scroll {
  width: 100%;
  max-width: 100%;
  overflow: visible;
}
#content #admission2027 .table-scroll .data-table {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  table-layout: fixed;
  overflow-wrap: anywhere;
  word-break: normal;
}
#content #admission2027 .table-scroll .data-table th,
#content #admission2027 .table-scroll .data-table td {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}
/* 既存の列の最小幅／nowrap によるテーブルのはみ出しを防止 */
#content #admission2027 .date-table th,
#content #admission2027 .key-value-table th,
#content #admission2027 .description-table tbody th { min-width: 0; white-space: normal; }

@media screen and (max-width: 767px) {
  #content #admission2027 .table-scroll .data-table {
    font-size: 12px;
    line-height: 1.55;
  }
  #content #admission2027 .table-scroll .data-table th,
  #content #admission2027 .table-scroll .data-table td {
    padding: 7px 5px;
  }
  #content #admission2027 .recruitment-table thead th:first-child { width: 30%; }
  #content #admission2027 .recruitment-table thead th:nth-child(2) { width: 52%; }
  #content #admission2027 .recruitment-table thead th:last-child { width: 18%; }
  #content #admission2027 .choice-table thead th:first-child { width: 11%; }
  #content #admission2027 .choice-table thead th:not(:first-child) { width: 29.66%; }
  #content #admission2027 .recommend-table thead th:first-child { width: 13%; }
  #content #admission2027 .recommend-table thead th:nth-child(2) { width: 43%; }
  #content #admission2027 .recommend-table thead th:last-child { width: 44%; }
  #content #admission2027 .description-table tbody th { width: 27%; }
  /* 試験時間は途中で改行せず、科目・配点側を柔軟に調整 */
  #content #admission2027 .table-scroll .exam-table { table-layout: auto; }
  #content #admission2027 .exam-table thead th:first-child { width: 20%; }
  #content #admission2027 .exam-table tbody td:nth-child(3) { white-space: nowrap; font-size: 11px; }
  #content #admission2027 .exam-table tbody td:nth-child(4) { white-space: nowrap; }
  #content #admission2027 .exam-table .block-note { font-size: 11px; }
  #content #admission2027 .campus-table thead th:first-child { width: 18%; }
  #content #admission2027 .campus-table thead th:nth-child(2) { width: 40%; }
  #content #admission2027 .campus-table thead th:last-child { width: 42%; }

  /* 5列の「入学手続時費用」はスマホでは縦長のカードにする。
     内容や rowspan を含むHTMLそのものは変更しない。 */
  #content #admission2027 .fee-table,
  #content #admission2027 .fee-table tbody,
  #content #admission2027 .fee-table tbody tr { display: block; width: 100%; }
  #content #admission2027 .fee-table thead { display: none; }
  #content #admission2027 .fee-table tbody tr:not(.total-row) {
    margin: 0 0 13px;
    border: 1px solid var(--border);
  }
  #content #admission2027 .fee-table tbody tr:not(.total-row) > th,
  #content #admission2027 .fee-table tbody tr:not(.total-row) > td {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8px 11px;
    border: 0;
    border-top: 1px solid var(--border);
    text-align: left;
  }
  #content #admission2027 .fee-table tbody tr:not(.total-row) > th {
    border-top: 0;
    background: var(--table-head);
    font-weight: 700;
  }
  #content #admission2027 .fee-table tbody tr:not(.total-row) > td::before {
    display: block;
    margin: 0 0 3px;
    color: var(--heading);
    font-size: 12px;
    font-weight: 700;
  }
  #content #admission2027 .fee-table tbody tr:not(.total-row) > td:nth-child(2)::before {
    content: '納付額';
  }
  #content #admission2027 .fee-table tbody tr:not(.total-row) > td:nth-child(3)::before {
    content: '専願・推薦合格者の納付期日';
  }
  #content #admission2027 .fee-table tbody tr:not(.total-row) > td:nth-child(4)::before {
    content: '併願合格者の納付期日（両項目共通）';
  }
  #content #admission2027 .fee-table tbody tr:not(.total-row) > td:nth-child(5)::before {
    content: '納付場所（両項目共通）';
  }
  #content #admission2027 .fee-table tbody tr.total-row {
    display: grid;
    grid-template-columns: 34% 66%;
    margin-top: 5px;
    background: var(--table-head);
    border: 1px solid var(--border);
  }
  #content #admission2027 .fee-table tbody tr.total-row > th,
  #content #admission2027 .fee-table tbody tr.total-row > td:nth-child(2) {
    display: block;
    width: auto;
    padding: 10px 11px;
    border: 0;
    font-weight: 700;
    background: transparent;
  }
  #content #admission2027 .fee-table tbody tr.total-row > td:last-child { display: none; }
}
