/* 入学を考えている方へ（admission.html）。色は btn-default・お問い合わせフォームと同じ茶色（#6c3b19）に合わせる */
.lab-admission {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
}
.lab-admission p,
.lab-admission li,
.lab-admission dd {
  overflow-wrap: anywhere;
}

/* 見出し */
.lab-admission .lab-h2 {
  margin: 3.2em 0 1em;
  padding: 0.1em 0 0.1em 0.8em;
  border-left: 4px solid #6c3b19;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.lab-admission .lab-h3 {
  margin: 1.8em 0 0.4em;
  color: #6c3b19;
  font-size: 1.05em;
  font-weight: 700;
  line-height: 1.6;
}
.lab-admission .lab-lead {
  font-size: 1.05em;
}
.lab-admission .lab-note {
  color: #666;
  font-size: 0.85em;
  line-height: 1.9;
}
.lab-admission .lab-source {
  margin-top: 0.8em;
  color: #666;
  font-size: 0.8em;
  line-height: 1.8;
}

/* 目次 */
.lab-toc {
  margin: 2.4em 0 0;
  padding: 1.2em 1.6em;
  background: #f7f3ef;
}
.lab-toc-title {
  font-weight: 700;
}
.lab-toc ol {
  margin: 0.4em 0 0;
  padding-left: 1.6em;
  columns: 2;
  column-gap: 2em;
}
.lab-toc li {
  line-height: 2;
  break-inside: avoid;
}

/* 箇条書き */
.lab-admission .lab-list {
  margin: 0.6em 0 0.8em;
  padding-left: 1.4em;
  list-style: disc;
}
.lab-admission .lab-list li {
  margin: 0.2em 0;
  line-height: 1.9;
}

/* 研究キーワード */
.lab-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin: 0.8em 0 0;
  padding: 0;
  list-style: none;
}
.lab-tags li {
  padding: 0.1em 0.9em;
  border: 1px solid #6c3b19;
  color: #6c3b19;
  font-size: 0.9em;
  line-height: 2;
}

/* 入学までの流れ */
.lab-steps {
  margin: 1em 0 0;
  padding: 0;
  list-style: none;
  counter-reset: lab-step;
}
.lab-steps > li {
  position: relative;
  margin: 0 0 1.2em;
  padding: 0 0 0 3.4em;
  counter-increment: lab-step;
}
.lab-steps > li::before {
  content: counter(lab-step);
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 2.2em;
  height: 2.2em;
  border-radius: 50%;
  background: #6c3b19;
  color: #fff;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
}
.lab-steps .lab-step-title {
  margin: 0;
  font-weight: 700;
  line-height: 2.4;
}
.lab-steps .lab-step-title .lab-badge {
  margin-left: 0.6em;
}
.lab-badge {
  display: inline-block;
  padding: 0.2em 0.5em;
  background: #6c3b19;
  color: #fff;
  font-size: 0.75em;
  font-weight: 400;
  line-height: 1.2;
  vertical-align: 0.15em;
}

/* 日程などの囲み */
.lab-box {
  margin: 1em 0 0;
  padding: 1.2em 1.6em;
  border: 1px solid #d9cbbd;
  background: #fff;
}
.lab-box dl {
  margin: 0;
}
.lab-box dt {
  margin: 0.8em 0 0;
  font-weight: 700;
}
.lab-box dt:first-child {
  margin-top: 0;
}
.lab-box dd {
  margin: 0.1em 0 0;
  line-height: 1.9;
}

/* ボタン（サイトの btn-default を使う）を並べる */
.lab-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8em;
  margin: 1.2em 0 0;
}

/* よくある質問 */
.lab-faq {
  margin: 0;
  border-top: 1px solid #e3d9cf;
}
.lab-faq:last-of-type {
  border-bottom: 1px solid #e3d9cf;
}
.lab-faq summary {
  position: relative;
  padding: 0.9em 2.4em 0.9em 2.2em;
  font-weight: 700;
  line-height: 1.8;
  cursor: pointer;
  list-style: none;
}
.lab-faq summary::-webkit-details-marker {
  display: none;
}
.lab-faq summary::before {
  content: "Q";
  position: absolute;
  top: 0.9em;
  left: 0.2em;
  color: #6c3b19;
  font-family: Vollkorn, serif;
  font-size: 1.1em;
}
.lab-faq summary::after {
  content: "+";
  position: absolute;
  top: 0.75em;
  right: 0.6em;
  color: #6c3b19;
  font-size: 1.3em;
  font-weight: 400;
}
.lab-faq[open] summary::after {
  content: "−";
}
.lab-faq summary:focus-visible {
  outline: 2px solid #6c3b19;
  outline-offset: 2px;
}
.lab-faq .lab-faq-answer {
  margin: 0;
  padding: 0 0.8em 1.2em 2.2em;
  line-height: 2;
}

/* 博士論文の一覧 */
.lab-theses {
  margin: 1em 0 0;
  padding: 0;
  list-style: none;
}
.lab-theses li {
  padding: 0.9em 0;
  border-top: 1px solid #e3d9cf;
}
.lab-theses li:last-child {
  border-bottom: 1px solid #e3d9cf;
}
.lab-theses a {
  font-weight: 500;
  line-height: 1.8;
}
.lab-theses .lab-thesis-meta {
  display: block;
  margin-top: 0.2em;
  color: #666;
  font-size: 0.85em;
  line-height: 1.8;
}
.lab-role {
  display: inline-block;
  margin-left: 0.4em;
  padding: 0 0.5em;
  border: 1px solid #8c8c8c;
  font-size: 0.9em;
  line-height: 1.6;
}
.lab-role.-chief {
  border-color: #6c3b19;
  background: #6c3b19;
  color: #fff;
}

/* 研究室の考え方の引用 */
.lab-quote {
  margin: 1em 0;
  padding: 0.8em 1.4em;
  border-left: 3px solid #d9cbbd;
  background: #faf8f6;
}
.lab-quote p {
  margin: 0;
  line-height: 2;
}
.lab-quote cite {
  display: block;
  margin-top: 0.4em;
  color: #666;
  font-size: 0.85em;
  font-style: normal;
}
.lab-criteria {
  margin: 0.6em 0 0;
  padding-left: 1.8em;
  list-style: none;
  counter-reset: lab-criteria;
}
.lab-criteria li {
  position: relative;
  line-height: 2;
  counter-increment: lab-criteria;
}
.lab-criteria li::before {
  content: counter(lab-criteria, decimal) "．";
  position: absolute;
  left: -1.6em;
  color: #6c3b19;
  font-weight: 700;
}

.lab-updated {
  margin-top: 3em;
  color: #666;
  font-size: 0.85em;
  text-align: right;
}

@media only screen and (max-width: 641px) {
  .lab-toc ol {
    columns: 1;
  }
  .lab-toc,
  .lab-box {
    padding: 1em 1.1em;
  }
  .lab-admission .lab-h2 {
    font-size: 1.2em;
  }
}

.lab-nowrap {
  white-space: nowrap;
}
