@charset "UTF-8";

/* 下層ページ共通スタイル：トップページのCSSには手を加えず追加で読み込みます */
#nav a.current {
  color:#3f540c;
  background:#f1f5e5;
  box-shadow:inset 0 -4px 0 #6f861f;
}

.breadcrumb-wrap {
  background:#f7f9f2;
  border-bottom:1px solid #e3e8d8;
}
.breadcrumb {
  min-height:46px;
  padding:11px 0 9px;
  box-sizing:border-box;
  color:#626a57;
  font-size:13px;
}
.breadcrumb a {
  color:#4d6610;
  text-decoration:underline;
  text-underline-offset:3px;
}
.breadcrumb span { margin-left:10px; }

.page-title-area {
  padding:54px 0 50px;
  background:#fff;
  border-bottom:1px solid #edf0e5;
}
.page-kicker,
.section-label {
  margin:0 0 5px;
  color:#6a7d2b;
  font-size:12px;
  font-weight:bold;
  letter-spacing:.16em;
}
.page-title-area h1 {
  margin:0;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:38px;
  font-weight:normal;
  letter-spacing:.06em;
  line-height:1.45;
}
.page-lead {
  margin:15px 0 0;
  color:#4d5842;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:20px;
  line-height:1.8;
}

.sub-section { padding:64px 0; }
.narrow { width:920px; }
.sub-section h2 {
  margin:0 0 25px;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:28px;
  line-height:1.5;
  font-weight:normal;
  letter-spacing:.04em;
}
.sub-section p { margin:0 0 17px; line-height:2; }
.intro-section h2 {
  padding-left:18px;
  border-left:5px solid #6f861f;
}
.soft-bg { background:#f7f9f2; }
.section-heading { margin-bottom:30px; }
.section-heading h2 { margin-bottom:0; }

.about-cards { overflow:hidden; }
.about-card {
  float:left;
  width:calc(50% - 12px);
  min-height:300px;
  padding:30px 32px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe5d4;
  border-radius:9px;
  box-shadow:0 3px 12px rgba(40,55,20,.06);
}
.about-card-last { float:right; }
.card-number {
  margin-bottom:8px;
  color:#748735;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  line-height:1;
}
.about-card h3 {
  margin:0 0 16px;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:22px;
  line-height:1.55;
}
.about-card p { font-size:15px; line-height:1.9; }
.about-card .card-note {
  margin-top:20px;
  color:#697060;
  font-size:13px;
}
.three-course-section { border-top:1px solid #edf0e5; }
.text-link {
  display:inline-block;
  min-height:44px;
  padding:9px 18px;
  box-sizing:border-box;
  color:#fff;
  background:#556f0f;
  border-radius:5px;
  font-weight:bold;
}

#footer {
  padding:30px 0;
  color:#fff;
  background:#3d4e18;
}
.footer-name {
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:19px;
  font-weight:bold;
  letter-spacing:.04em;
}
.footer-sub { margin-top:3px; font-size:12px; }

@media screen and (max-width:900px) {
  .narrow { width:auto; }
  .page-title-area { padding:42px 0 38px; }
  .page-title-area h1 { font-size:32px; }
  .page-lead { font-size:18px; }
  .sub-section { padding:52px 0; }
  .about-card { min-height:330px; }
}

@media screen and (max-width:600px) {
  .breadcrumb { font-size:12px; }
  .page-title-area { padding:34px 0 32px; }
  .page-title-area h1 { font-size:27px; }
  .page-lead { margin-top:11px; font-size:16px; }
  .sub-section { padding:42px 0; }
  .sub-section h2 { font-size:23px; }
  .about-card,
  .about-card-last {
    float:none;
    width:100%;
    min-height:0;
    margin-bottom:18px;
    padding:25px 22px;
  }
  .about-card-last { margin-bottom:0; }
  .about-card h3 { font-size:20px; }
}

/* 特色・教育理念ページ */
.feature-grid { overflow:hidden; }
.feature-card {
  float:left;
  width:31.8%;
  min-height:330px;
  margin-right:2.3%;
  padding:28px 26px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe5d4;
  border-radius:9px;
}
.feature-card-last { margin-right:0; }
.feature-card h3,
.point-body h3,
.focus-card h3 {
  margin:0 0 14px;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:21px;
  line-height:1.55;
  font-weight:normal;
}
.feature-card p { font-size:15px; line-height:1.9; }
.point-list { border-top:1px solid #dfe5d4; }
.point-item {
  display:table;
  width:100%;
  padding:28px 0;
  border-bottom:1px solid #dfe5d4;
  box-sizing:border-box;
}
.point-index,
.point-body { display:table-cell; vertical-align:top; }
.point-index {
  width:92px;
  color:#748735;
  font-family:Georgia,"Times New Roman",serif;
  font-size:28px;
}
.point-body p { margin-bottom:0; }
.focus-section { background:#eef3e4; }
.focus-cards { overflow:hidden; }
.focus-card {
  float:left;
  width:calc(50% - 12px);
  min-height:250px;
  padding:30px 32px;
  box-sizing:border-box;
  background:#fff;
  border-top:5px solid #6f861f;
  border-radius:5px;
}
.focus-card-last { float:right; }
.focus-en {
  margin-bottom:7px !important;
  color:#6a7d2b;
  font-size:11px;
  font-weight:bold;
  letter-spacing:.12em;
  line-height:1.5 !important;
}
.next-section { border-top:1px solid #edf0e5; }
.card-note a { color:#556f0f; font-weight:bold; }

@media screen and (max-width:900px) {
  .feature-card { min-height:370px; }
}
@media screen and (max-width:700px) {
  .feature-card,
  .feature-card-last {
    float:none;
    width:100%;
    min-height:0;
    margin:0 0 18px;
  }
  .feature-card-last { margin-bottom:0; }
  .point-item { display:block; padding:24px 0; }
  .point-index,
  .point-body { display:block; width:auto; }
  .point-index { margin-bottom:8px; font-size:24px; }
  .focus-card,
  .focus-card-last {
    float:none;
    width:100%;
    min-height:0;
    margin-bottom:18px;
    padding:26px 22px;
  }
  .focus-card-last { margin-bottom:0; }
}


/* 院生の声ページ */
.source-note { margin-top:22px; padding-left:14px; border-left:3px solid #9aaa63; color:#68705f; font-size:13px; }
.voice-list { display:flex; gap:32px; align-items:stretch; }
.voice-card { flex:1 1 0; padding:30px 28px; box-sizing:border-box; background:#fff; border:1px solid #dfe5d4; border-radius:9px; box-shadow:0 3px 12px rgba(40,55,20,.05); }
.voice-type { margin-bottom:8px; color:#6a7d2b; font-size:11px; font-weight:bold; letter-spacing:.12em; }
.voice-card h3 { margin:0 0 16px; color:#35450f; font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif; font-size:21px; font-weight:normal; }
.voice-key { margin:0 0 18px !important; padding:14px 0; border-top:1px solid #dfe5d4; border-bottom:1px solid #dfe5d4; color:#435718; font-weight:bold; line-height:1.8 !important; }
.voice-card p { font-size:15px; line-height:1.9; }
.voice-message-section { border-top:1px solid #edf0e5; }
@media screen and (max-width:800px) { .voice-list { display:block; } .voice-card { margin-bottom:24px; } .voice-card:last-child { margin-bottom:0; } }
@media screen and (max-width:600px) { .voice-card { padding:25px 22px; } .voice-card h3 { font-size:20px; } }


/* 院生の声：学習環境 */
.learning-environment-section { background:#eef3e4; border-top:1px solid #e2e8d8; }
.environment-intro { max-width:880px; margin-bottom:30px !important; }
.environment-grid { overflow:hidden; }
.environment-card {
  float:left;
  width:calc(50% - 16px);
  min-height:310px;
  padding:32px 34px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe5d4;
  border-top:5px solid #6f861f;
  border-radius:7px;
  box-shadow:0 3px 12px rgba(40,55,20,.05);
}
.environment-card-last { float:right; }
.environment-en {
  margin-bottom:7px;
  color:#6a7d2b;
  font-size:11px;
  font-weight:bold;
  letter-spacing:.12em;
}
.environment-card h3 {
  margin:0 0 18px;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:23px;
  line-height:1.5;
  font-weight:normal;
}
.environment-card p { font-size:15px; line-height:1.9; }
@media screen and (max-width:700px) {
  .environment-card,
  .environment-card-last {
    float:none;
    width:100%;
    min-height:0;
    margin-bottom:24px;
    padding:26px 22px;
  }
  .environment-card-last { margin-bottom:0; }
}

/* コース・学び */
.course-overview-list { display:flex; gap:24px; align-items:stretch; }
.course-overview-card {
  flex:1 1 0;
  padding:30px 27px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe5d4;
  border-top:5px solid #6f861f;
  border-radius:8px;
  box-shadow:0 3px 12px rgba(40,55,20,.05);
}
.course-overview-head { min-height:145px; }
.course-en {
  margin:0 0 7px !important;
  color:#6a7d2b;
  font-size:11px !important;
  font-weight:bold;
  letter-spacing:.12em;
  line-height:1.5 !important;
}
.course-overview-card h3 {
  margin:0 0 12px;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:22px;
  line-height:1.55;
  font-weight:normal;
}
.course-target {
  display:inline-block;
  margin:0 !important;
  padding:5px 9px;
  color:#4c5d27;
  background:#eef3e4;
  border-radius:3px;
  font-size:12px !important;
  font-weight:bold;
  line-height:1.5 !important;
}
.course-overview-card > p { font-size:15px; line-height:1.9; }
.course-keywords { margin:22px 0 5px !important; }
.course-keywords span {
  display:inline-block;
  margin:0 5px 7px 0;
  padding:4px 8px;
  color:#566044;
  background:#f5f7f0;
  border:1px solid #dfe5d4;
  border-radius:3px;
  font-size:12px;
  line-height:1.5;
}
.curriculum-guide-section { border-top:1px solid #edf0e5; }
.reciprocity-model {
  margin:32px 0 30px;
  padding:26px;
  background:#fafbf7;
  border:1px solid #dfe5d4;
  border-radius:8px;
}
.model-title {
  margin:0 0 10px !important;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:19px !important;
  font-weight:bold;
}
.model-intro { margin:0 0 24px !important; color:#596151; font-size:13px !important; line-height:1.85 !important; }
.reciprocity-flow {
  display:grid;
  grid-template-columns:minmax(180px,1fr) 88px minmax(190px,1fr) 88px minmax(180px,1fr);
  align-items:stretch;
  gap:0;
}
.model-main {
  min-width:0;
  padding:20px 16px;
  box-sizing:border-box;
  text-align:center;
  border-radius:6px;
}
.model-practicum { background:#eaf1f7; border:1px solid #d2e0eb; }
.model-research { background:#f7ecef; border:1px solid #ead7dc; }
.model-theory { background:#eef3e4; border:1px solid #dbe4ca; }
.model-kicker { display:block; margin-bottom:7px; color:#68745a; font-size:10px; font-weight:bold; letter-spacing:.12em; }
.model-main > strong, .research-stage strong {
  display:block;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:17px;
  line-height:1.55;
  font-weight:normal;
}
.model-subblock { margin-top:17px; padding-top:14px; border-top:1px solid rgba(65,94,119,.15); }
.model-subblock b { display:block; margin-bottom:5px; color:#51687c; font-size:11px; }
.model-subblock span, .model-detail { display:block; color:#596151; font-size:11px; line-height:1.8; }
.model-divider { width:70%; height:1px; margin:17px auto; background:rgba(93,113,50,.18); }
.model-cycle {
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  align-items:stretch;
  padding:42px 7px 26px;
  box-sizing:border-box;
}
.cycle-set { text-align:center; color:#6b772f; font-size:10px; font-weight:bold; line-height:1.3; }
.cycle-set i { display:block; margin:3px 0; color:#7c8b49; font-style:normal; font-size:25px; line-height:1; }
.model-cycle-practice .cycle-set { color:#54708a; }
.model-cycle-practice .cycle-set i { color:#7691a7; }
.model-cycle-theory .cycle-set { color:#6b772f; }
.model-research { display:flex; flex-direction:column; justify-content:center; }
.research-stage { padding:11px 6px; }
.research-stage small { display:block; margin-bottom:5px; color:#8b6f77; font-size:10px; }
.research-arrow { color:#a47782; font-size:20px; line-height:1.1; }
.research-report { margin-top:2px; padding:12px 8px; color:#6d3846; border-top:1px solid rgba(141,91,105,.18); font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif; font-size:14px; }
.model-key { display:flex; gap:20px; margin-top:18px; padding-top:16px; border-top:1px solid #e5e9db; }
.model-key span { flex:1 1 0; color:#62695c; font-size:11px; line-height:1.7; }
.model-key b { color:#4f5f29; }
.model-note { margin:14px 0 0 !important; color:#586052; font-size:12px !important; line-height:1.8 !important; }

@media screen and (max-width:900px) {
  .course-overview-list { gap:18px; }
  .course-overview-card { padding:27px 22px; }
  .course-overview-head { min-height:160px; }
  .reciprocity-flow { grid-template-columns:minmax(150px,1fr) 68px minmax(165px,1fr) 68px minmax(150px,1fr); }
}
@media screen and (max-width:760px) {
  .course-overview-list { display:block; }
  .course-overview-card { margin-bottom:24px; }
  .course-overview-card-last { margin-bottom:0; }
  .course-overview-head { min-height:0; margin-bottom:18px; }
  .reciprocity-model { padding:18px 14px; }
  .model-intro { margin-bottom:18px !important; }
  .reciprocity-flow { display:flex; flex-direction:column; }
  .model-main { padding:19px 16px; }
  .model-theory { order:1; }
  .model-cycle-theory { order:2; }
  .model-research { order:3; }
  .model-cycle-practice { order:4; }
  .model-practicum { order:5; }
  .model-cycle { display:block; padding:10px 5px; }
  .model-cycle .cycle-set { display:none; }
  .model-cycle .cycle-set:first-child { display:block; }
  .model-cycle .cycle-set i { display:inline-block; margin:0 7px; transform:rotate(90deg); font-size:22px; vertical-align:middle; }
  .model-key { display:block; }
  .model-key span { display:block; margin-top:8px; }
}



/* Brochure image: theory-practice reciprocity model */
.brochure-model-figure { margin:28px 0 20px; }
.brochure-model-frame { padding:18px; background:#fff; border:1px solid #dfe6d2; border-radius:10px; text-align:center; box-sizing:border-box; }
.brochure-model-frame a { display:inline-block; max-width:100%; }
.brochure-model-frame img { display:block; width:100%; max-width:760px; height:auto; margin:0 auto; }
.brochure-model-figure figcaption { margin-top:10px; color:#636b5d; font-size:12px; line-height:1.7; text-align:center; }
@media screen and (max-width:600px) {
  .brochure-model-frame { padding:8px; }
  .brochure-model-figure figcaption { text-align:left; }
}

/* 学校力開発コース */
.course-page-target {
  display:inline-block;
  margin-top:18px;
  padding:6px 12px;
  color:#4c5d27;
  background:#eef3e4;
  border:1px solid #dbe4ca;
  border-radius:4px;
  font-size:13px;
  font-weight:bold;
}
.course-detail-grid { display:flex; gap:24px; align-items:stretch; }
.course-detail-card {
  flex:1 1 0;
  padding:30px 27px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe5d4;
  border-radius:8px;
  box-shadow:0 3px 12px rgba(40,55,20,.05);
}
.course-detail-no {
  margin:0 0 10px !important;
  color:#87964f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px !important;
  letter-spacing:.08em;
}
.course-detail-card h3 {
  margin:0 0 15px;
  color:#35450f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:21px;
  line-height:1.55;
  font-weight:normal;
}
.course-detail-card p { font-size:15px; line-height:1.9; }
.practical-learning-section { border-top:1px solid #edf0e5; }
.practice-points { display:flex; gap:18px; margin-top:30px; }
.practice-points div {
  flex:1 1 0;
  padding:22px 20px;
  box-sizing:border-box;
  background:#fafbf7;
  border-left:4px solid #778b35;
}
.practice-points strong {
  display:block;
  margin-bottom:8px;
  color:#35450f;
  font-size:15px;
}
.practice-points span { display:block; color:#5f6759; font-size:13px; line-height:1.8; }
.subject-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 14px;
  margin-top:26px;
}
.subject-list span {
  display:block;
  padding:13px 15px;
  color:#4d5547;
  background:#fff;
  border:1px solid #dfe5d4;
  border-radius:5px;
  font-size:13px;
  line-height:1.6;
}
.course-subject-note { margin-top:18px !important; color:#61695a; font-size:13px !important; }
.next-course-box {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:30px 32px;
  background:#f6f8f1;
  border:1px solid #dfe5d4;
  border-radius:8px;
}
.next-course-box h2 { margin-bottom:8px; }
.next-course-box p { margin-bottom:0; }
.next-course-box .text-link { flex:0 0 auto; }
.back-to-courses { margin-top:18px !important; }
.back-to-courses a { color:#556f0f; font-weight:bold; }

@media screen and (max-width:760px) {
  .course-detail-grid,
  .practice-points { display:block; }
  .course-detail-card,
  .practice-points div { margin-bottom:20px; }
  .course-detail-card-last,
  .practice-points div:last-child { margin-bottom:0; }
  .subject-list { grid-template-columns:1fr; }
  .next-course-box { display:block; padding:25px 22px; }
  .next-course-box .text-link { margin-top:20px; }
}

/* 授業力開発コース：現職教員院生・学部卒院生 */
.pathway-grid { display:flex; gap:24px; margin-top:28px; align-items:stretch; }
.pathway-card { flex:1 1 0; padding:28px 27px; box-sizing:border-box; background:#fff; border:1px solid #dfe5d4; border-radius:8px; }
.pathway-label { margin:0 0 8px !important; color:#87964f; font-size:10px !important; font-weight:bold; letter-spacing:.12em; }
.pathway-card h3 { margin:0 0 14px; color:#35450f; font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif; font-size:21px; font-weight:normal; }
.pathway-card p { font-size:15px; line-height:1.9; }
@media screen and (max-width:760px) { .pathway-grid { display:block; } .pathway-card { margin-bottom:20px; } .pathway-card:last-child { margin-bottom:0; } }

/* 特別支援力開発コース */
.special-field-section { border-top:1px solid #edf0e5; }
.special-feature-list { margin-top:28px; border-top:1px solid #dfe5d4; }
.special-feature-list div { display:grid; grid-template-columns:minmax(220px, .9fr) 1.4fr; gap:24px; padding:20px 4px; border-bottom:1px solid #dfe5d4; align-items:start; }
.special-feature-list strong { color:#35450f; font-size:15px; line-height:1.7; }
.special-feature-list span { color:#5f6759; font-size:14px; line-height:1.8; }
@media screen and (max-width:700px) { .special-feature-list div { display:block; padding:18px 2px; } .special-feature-list strong,.special-feature-list span { display:block; } .special-feature-list span { margin-top:6px; } }




/* ===== Curriculum & Practicum ===== */
.curriculum-credit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:30px 0 18px;
}
.curriculum-credit-card{
  box-sizing:border-box;
  background:#fff;
  border:1px solid #d8dfcf;
  border-top:4px solid #657f38;
  border-radius:10px;
  padding:24px;
}
.curriculum-credit-card h3{margin:4px 0 8px;font-size:20px;}
.curriculum-credit-card p{line-height:1.85;}
.curriculum-credit-card .credit-en{
  margin:0 0 12px;color:#657f38;font-size:11px;letter-spacing:.09em;
}
.curriculum-credit-card .credit-number{
  margin:12px 0 16px;color:#536d2d;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:29px;font-weight:700;line-height:1.3;
}
.credit-total{text-align:right;font-size:15px;}
.credit-total strong{color:#536d2d;font-size:19px;}
.curriculum-point-box{
  margin-top:28px;padding:24px 28px;background:#f7f9f3;
  border-left:5px solid #657f38;border-radius:6px;
}
.curriculum-point-box h3{margin:0 0 10px;font-size:21px;}
.practicum-network-figure .brochure-model-frame img{max-width:900px;}
.curriculum-related-links{
  display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:26px;
}
@media (max-width:760px){
  .curriculum-credit-grid{grid-template-columns:1fr;gap:14px;}
  .curriculum-credit-card{padding:20px;}
  .curriculum-credit-card .credit-number{font-size:25px;}
  .credit-total{text-align:left;}
  .curriculum-point-box{padding:20px;}
  .curriculum-related-links{display:block;}
  .curriculum-related-links .text-link{display:block;margin:10px 0;}
}

/* Admissions */
.admissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px;}
.admissions-card{box-sizing:border-box;background:#fff;border:1px solid #d8dfcf;border-top:4px solid #657f38;border-radius:10px;padding:25px;display:flex;flex-direction:column;}
.admissions-card h3{margin:5px 0 12px;font-size:21px;}
.admissions-card .card-kicker{margin:0 0 8px;color:#657f38;font-size:11px;letter-spacing:.08em;}
.admissions-card .text-link{margin-top:auto;}
.admissions-latest-box{margin-top:36px;padding:26px 30px;background:#f7f9f3;border-left:5px solid #657f38;border-radius:6px;}
@media(max-width:760px){.admissions-grid{grid-template-columns:1fr;}.admissions-latest-box{padding:22px;}}

.admissions-intro{margin:0 0 28px;font-size:17px;line-height:1.9;}

/* Admissions audience pages */
.audience-intro{margin-bottom:46px;}
.audience-section{margin-top:48px;}
.audience-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;}
.audience-card{box-sizing:border-box;border:1px solid #d8dfcf;border-top:4px solid #657f38;border-radius:9px;background:#fff;padding:22px;display:flex;flex-direction:column;}
.audience-card h3{margin:0 0 12px;}
.audience-card .text-link{margin-top:auto;}
.short-program,.followup-box,.next-guide{padding:28px 30px;border-radius:8px;background:#f7f9f3;}
.requirement-box{margin-top:22px;padding:20px 22px;background:#fff;border:1px solid #d8dfcf;border-radius:7px;}
.requirement-box h3{margin-top:0;}
.short-program-lead{font-size:17px;font-weight:700;line-height:1.9;}
@media(max-width:800px){.audience-course-grid{grid-template-columns:1fr;}}
@media(max-width:600px){.short-program,.followup-box,.next-guide{padding:22px 20px;}.audience-section{margin-top:38px;}}

/* Admissions detail */
.admissions-notice{padding:28px 30px;background:#f7f9f3;border-left:5px solid #657f38;border-radius:8px;}
.admissions-notice h2{margin-top:6px;}
.admissions-section{margin-top:48px;}
.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;}
.schedule-card,.info-panel{box-sizing:border-box;border:1px solid #d8dfcf;border-radius:9px;background:#fff;padding:22px;}
.schedule-card h3,.info-panel h3{margin-top:0;}
.schedule-card dl,.fee-box dl{margin:0;}
.schedule-card dt,.fee-box dt{font-weight:700;margin-top:12px;}
.schedule-card dd,.fee-box dd{margin:3px 0 0;}
.info-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;}
.fee-box{padding:24px 28px;background:#fafafa;border:1px solid #e2e2e2;border-radius:8px;}
.note{font-size:14px;line-height:1.8;color:#555;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:20px;}
.admissions-table{width:100%;border-collapse:collapse;min-width:620px;}
.admissions-table th,.admissions-table td{padding:12px 14px;border:1px solid #d9ddd3;text-align:center;}
.admissions-table thead th{background:#f3f6ee;font-weight:700;}
.admissions-table tbody th{text-align:left;background:#fafbf8;}
.contact-box{padding:26px 30px;background:#f7f9f3;border-radius:8px;}
.strong-link{font-weight:700;}
@media(max-width:800px){.schedule-grid{grid-template-columns:1fr;}.info-pair-grid{grid-template-columns:1fr;}}
@media(max-width:600px){.admissions-notice,.fee-box,.contact-box{padding:22px 20px;}.admissions-section{margin-top:38px;}}


.short-program-figure{margin:26px 0 28px;}
.short-program-figure img{display:block;width:100%;height:auto;border:1px solid #d8dfcf;background:#fff;}
.short-program-figure figcaption{margin-top:8px;font-size:13px;line-height:1.7;color:#555;text-align:right;}

/* Graduate prospective */
.graduate-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.elementary-license{padding:28px 30px;border-radius:8px;background:#f7f9f3}
@media(max-width:760px){.graduate-course-grid{grid-template-columns:1fr}}
@media(max-width:600px){.elementary-license{padding:22px 20px}}

.license-points{margin:24px 0;padding:20px 24px;background:#fff;border:1px solid #d8dfcf;border-radius:7px}
.license-points h3{margin-top:0}
.license-points li{margin:.65em 0;line-height:1.8}

/* Admissions FAQ */
.faq-list{border-top:1px solid #d8dfcf;margin-top:22px}
.faq-list details{border-bottom:1px solid #d8dfcf}
.faq-list summary{cursor:pointer;font-weight:700;padding:20px 42px 20px 8px;line-height:1.6;position:relative}
.faq-list summary:after{content:"＋";position:absolute;right:10px;top:20px}
.faq-list details[open] summary:after{content:"−"}
.faq-list details>div{padding:0 8px 20px}
.contact-box{padding:28px 30px;background:#f7f9f3;border-radius:8px}

/* Activities & outcomes hub */
.outcome-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:10px 0 34px}
.outcome-guide .guide-card{border:1px solid #d9dfd2;border-top:4px solid #65754a;background:#fff;padding:28px 26px;box-sizing:border-box}
.outcome-guide .guide-card h2{margin:.25em 0 .65em;font-size:1.35rem}
.outcome-guide .guide-card p{line-height:1.9}
.outcome-guide .guide-note{margin-top:18px;padding-top:14px;border-top:1px solid #e4e7df;font-size:.92rem;color:#4d5847}
.outcome-policy{margin-top:28px;padding:26px 28px;background:#f5f7f1;border-left:4px solid #65754a}
.outcome-policy h2{margin-top:0;font-size:1.3rem}
@media(max-width:800px){.outcome-guide{grid-template-columns:1fr}.outcome-guide .guide-card{padding:24px 20px}}

/* Research & practice outcomes */
.outcome-category{margin:0 0 48px}
.outcome-category>h2{margin:.25em 0 .35em}
.category-lead{margin:0 0 20px;line-height:1.9}
.outcome-item{margin:0 0 18px;padding:24px 26px;border:1px solid #dde2d8;background:#fff}
.outcome-item h3{margin:0 0 10px;font-size:1.15rem}
.outcome-item p{margin:.55em 0;line-height:1.9}
@media(max-width:700px){.outcome-item{padding:20px 18px}}

/* Outcome usability details */
.outcome-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.outcome-tags span{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef2e8;color:#465238;font-size:.82rem}
.outcome-use{padding:12px 14px;background:#f7f8f4;border-left:3px solid #7a895f}
.outcome-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px}
@media(max-width:600px){.outcome-actions{display:block}.outcome-actions a{display:block;margin:10px 0}}

/* Practical research reports */
.report-guide{padding:26px 28px;background:#f5f7f1;border-left:4px solid #65754a;margin-bottom:44px}
.report-guide h2{margin-top:0}.report-guide p{line-height:1.9}
.report-years,.report-viewing{margin:0 0 50px}
.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.year-card{display:flex;flex-direction:column;gap:7px;min-height:110px;padding:20px;border:1px solid #d9dfd2;background:#fff;text-decoration:none;color:inherit;box-sizing:border-box}
a.year-card:hover,a.year-card:focus{border-color:#65754a;background:#f7f8f4}
.year-card.latest{background:#f7f8f4}
.year-label{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.25rem;font-weight:700}
.year-note,.year-status,.archive-note{font-size:.9rem;color:#56604f}
.viewing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 26px}
.viewing-steps>div{padding:22px;border:1px solid #d9dfd2}
.viewing-steps span{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:#65754a;color:#fff;font-weight:700}
.viewing-steps h3{margin:12px 0 7px;font-size:1.05rem}.viewing-steps p{margin:0;line-height:1.7}
.notice-box,.contact-box{padding:22px 24px;margin-top:18px;background:#f7f8f4}
.notice-box h3,.contact-box h3{margin-top:0}
@media(max-width:800px){.year-grid,.viewing-steps{grid-template-columns:1fr}.report-guide{padding:22px 20px}}

/* Annual research report list */
.r7-note{padding:18px 20px;margin-bottom:30px;background:#f5f7f1;border-left:4px solid #65754a}
.r7-note p{margin:0;line-height:1.9}
.course-report-list{margin:0 0 38px}
.course-report-list h2{padding-bottom:9px;border-bottom:2px solid #65754a}
.course-report-list ol{margin:0;padding-left:1.8em}
.course-report-list li{padding:12px 4px;line-height:1.8;border-bottom:1px solid #e3e6df}

/* Daily life - under construction */
.coming-soon{max-width:760px;margin:30px auto;padding:54px 34px;text-align:center;background:#f7f8f4;border:1px solid #dde2d5}
.coming-soon-en{margin:0 0 10px;color:#65754a;font-size:12px;font-weight:700;letter-spacing:.18em}
.coming-soon h2{margin:0 0 18px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
.coming-soon p:last-child{margin-bottom:0;line-height:1.9}

/* Newsletter archive */
.newsletter-intro{margin-bottom:34px}
.newsletter-year{margin:0 0 42px}
.newsletter-year h2{padding-bottom:10px;border-bottom:2px solid #65754a}
.newsletter-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.newsletter-item{display:flex;min-height:118px;padding:20px;box-sizing:border-box;flex-direction:column;text-decoration:none;border:1px solid #dfe3da;background:#fff;transition:box-shadow .2s,transform .2s}
.newsletter-item:hover{box-shadow:0 5px 16px rgba(0,0,0,.08);transform:translateY(-2px)}
.newsletter-item:focus{outline:3px solid #65754a;outline-offset:2px}
.newsletter-no{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px;font-weight:700;color:#273024}
.newsletter-date{margin-top:6px;font-size:14px;color:#555}
.newsletter-pdf{margin-top:auto;padding-top:14px;color:#65754a;font-weight:700;font-size:14px}
@media(max-width:800px){.newsletter-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.newsletter-list{grid-template-columns:1fr}.coming-soon{padding:38px 22px}}

/* Visible card link */
.card-link{
  display:inline-block;
  margin-top:14px;
  color:#65754a;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Important news */
.news-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 44px;padding:18px;background:#f6f7f2;border:1px solid #dfe3da}
.news-filter a{display:inline-flex;min-height:44px;align-items:center;padding:0 16px;border:1px solid #65754a;background:#fff;color:#39452d;font-weight:700;text-decoration:none}
.news-category{margin:0 0 56px;scroll-margin-top:20px}.news-category>h2{margin-top:4px;padding-bottom:12px;border-bottom:2px solid #65754a}
.news-entry{padding:25px 0;border-bottom:1px solid #dfe3da}.news-entry h3{margin:4px 0 12px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:21px;line-height:1.55}
.news-entry p{line-height:1.85}.news-date{margin:0;color:#66705e;font-size:14px;font-weight:700}.news-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:15px}
.news-priority{padding-left:18px;border-left:4px solid #65754a}.news-ended{opacity:.88}.status-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#eceee8;color:#596151;font-family:"Yu Gothic","Hiragino Sans","Meiryo",sans-serif;font-size:12px;font-weight:700}
@media(max-width:600px){.news-filter{display:grid;grid-template-columns:1fr 1fr}.news-filter a{justify-content:center;padding:0 10px}.news-priority{padding-left:12px}}

/* Important news: current year + three-year archive */
.current-news-heading{margin:0 0 24px}.current-news-heading h2{margin:4px 0 10px}
.category-guide{margin:16px 0 22px;padding:18px 20px;background:#f6f7f2;border-left:4px solid #65754a}
.category-guide p{margin:0 0 8px}.category-guide p:last-child{margin-bottom:0}
.past-news{margin-top:70px;padding-top:8px;border-top:1px solid #dfe3da}
.past-news>h2{margin:4px 0 8px}.archive-lead{margin-bottom:24px}
.archive-year{margin:0 0 14px;border:1px solid #dfe3da;background:#fff}
.archive-year summary{cursor:pointer;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;font-weight:700;background:#f7f8f4}
.archive-year summary span{font-size:13px;color:#68705f}
.archive-list{list-style:none;margin:0;padding:0 18px}
.archive-list li{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:14px 0;border-top:1px solid #eceee8;line-height:1.65}
.archive-list time{font-size:14px;color:#66705e;font-weight:700}
.archive-list a{color:#39452d;text-underline-offset:3px}
@media(max-width:600px){.archive-list li{grid-template-columns:1fr;gap:3px}.archive-year summary{padding:10px 14px}}

/* Archive source links */
.archive-caution{margin:0 0 24px;padding:14px 16px;background:#f6f7f2;border-left:4px solid #65754a;line-height:1.75}
.archive-title{display:block}
.archive-source-link{display:inline-block;margin-top:5px;color:#53643d;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.archive-no-link{display:inline-block;margin-top:5px;color:#777;font-size:13px}

/* Archive titles: linked only when a historical source is available */
.archive-title-link{color:#39452d;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.archive-title-link:hover,.archive-title-link:focus{color:#65754a}

/* Daily life */
.daily-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.daily-card{padding:22px;background:#f7f8f4;border-top:3px solid #65754a}
.daily-card h3{margin:0 0 10px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:19px}
.daily-card p{margin:0}
.daily-date{font-size:14px;font-weight:700;color:#65754a;letter-spacing:.04em}
.daily-related{margin-top:28px;padding:20px 22px;background:#f6f7f2;border-left:4px solid #65754a}
.daily-related p{margin:0 0 8px}.daily-related p:last-child{margin-bottom:0}
@media(max-width:760px){.daily-grid{grid-template-columns:1fr}}

/* Photographs and rolling Daily Life archive */
.sub-visual{padding:6px 0 22px}
.site-photo{max-width:720px;margin:0 auto}
.site-photo img{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:3px}
.site-photo figcaption{margin-top:7px;font-size:13px;color:#68705f}
.daily-post{display:grid;grid-template-columns:minmax(220px,36%) 1fr;gap:24px;align-items:start;padding:22px 0;border-top:1px solid #e1e5dc}
.daily-post:first-child{border-top:0}
.daily-post img{display:block;width:100%;height:170px;object-fit:cover;border-radius:3px}
.daily-post-body h3{margin:3px 0 10px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px}
.daily-post-body p{margin-top:0}
.daily-post-text{display:block}
.daily-archive{margin-top:54px;padding-top:28px;border-top:1px solid #dfe3da}
.daily-archive-note{margin-bottom:22px}
.daily-year{margin:0 0 14px;border:1px solid #dfe3da;background:#fff}
.daily-year summary{cursor:pointer;min-height:52px;display:flex;align-items:center;padding:0 18px;font-weight:700;background:#f7f8f4}
.daily-year-body{padding:0 18px 6px}
@media(max-width:700px){
  .site-photo img{max-height:220px}
  .daily-post{grid-template-columns:1fr;gap:12px}
  .daily-post img{height:190px}
}

/* Two-photo opening entry for Daily Life */
.daily-post-feature{display:block}
.daily-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px}
.daily-photo-pair img{display:block;width:100%;height:245px;object-fit:cover;border-radius:3px}
.daily-post-feature .daily-post-body{max-width:760px}
@media(max-width:700px){
  .daily-photo-pair{grid-template-columns:1fr}
  .daily-photo-pair img{height:auto;max-height:300px;object-fit:cover}
}

/* v39: show the complete 2026 group photographs without cropping */
.daily-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}
.daily-photo-pair img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  border-radius:3px;
  background:#f4f5f1;
}
@media(max-width:700px){
  .daily-photo-pair{grid-template-columns:1fr;gap:12px}
  .daily-photo-pair img{width:100%;height:auto;max-height:none;object-fit:contain}
}

/* Sitemap */
.sitemap-list h2{margin:2rem 0 .55rem;font-size:1.25rem}
.sitemap-list h2:first-child{margin-top:0}
.sitemap-list h2 a,.sitemap-list li a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sitemap-list ul{margin:.25rem 0 1.4rem;padding-left:1.4rem}
.sitemap-list li{margin:.45rem 0}
