/* 業績・教育活動 page (Figma 13:4980) */

/* Figma frame differences from the shared chrome */
.brand-name .jp { color: var(--text); }
.site-footer { background: var(--white); border-top: 1px solid var(--line); }

.ach .kicker { font-size: 11px; letter-spacing: 2px; }
.ach .lbl { font-size: 11px; line-height: 1.95; color: var(--muted); }

/* Intro */
.ach-intro { padding: 48px var(--gutter); display: flex; flex-direction: column; gap: 28px; }
.crumb { font-size: 11px; color: var(--muted); white-space: pre; }
.crumb a { color: var(--muted); text-decoration: none; }
.crumb a:hover { text-decoration: underline; }
.ach-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.ach-title { display: flex; flex-direction: column; gap: 12px; }
.ach-title h1 { font-size: 36px; line-height: 1.6; }
.ach-num { font-family: "Cormorant Garamond", Georgia, serif; font-size: 88px; line-height: 1; color: #96a59a; }
.ach-lead { font-size: 15px; line-height: 1.95; max-width: 850px; }

/* In-page anchors */
.ach-anchors { padding: 0 var(--gutter) 48px; }
.ach-anchors ul { display: flex; flex-wrap: wrap; gap: 12px; }
.ach-anchors a {
  display: block; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius);
  font-size: 12px; font-weight: 700; color: var(--text); text-decoration: none; white-space: nowrap;
}
.ach-anchors a:hover { background: var(--mint); }

/* Publications */
.ach-pubs { padding: 0 var(--gutter) 80px; display: flex; flex-direction: column; gap: 24px; }
.sec-head { display: flex; flex-direction: column; gap: 12px; }
.sec-head h2 { font-size: 28px; line-height: 1.5; }
.sec-head .sub { font-size: 13px; line-height: 1.95; color: var(--muted); }
.pub-table-wrap { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.pub-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.pub-table th, .pub-table td { padding: 16px 8px; text-align: left; vertical-align: top; }
.pub-table th:first-child, .pub-table td:first-child { padding-left: 16px; }
.pub-table th:last-child, .pub-table td:last-child { padding-right: 16px; }
.pub-table thead { background: var(--beige); }
.pub-table th { font-size: 11px; font-weight: 700; }
.pub-table td { border-top: 1px solid var(--line); font-size: 13px; line-height: 1.95; }
.pub-table .c-date { width: 144px; }
.pub-table .c-kind { width: 136px; }
.pub-table .c-author { width: 196px; }
.pub-table .c-venue { width: 276px; color: var(--muted); }
.pub-table .c-pages { width: 144px; color: var(--muted); }
.pub-table th.c-venue, .pub-table th.c-pages { color: var(--text); }
.pub-table td.c-date { line-height: normal; }
.pub-table td.c-title { font-size: 14px; }
.pub-table .tag { display: inline-block; }
.ach-pubs .note { font-size: 11px; line-height: 1.95; color: var(--muted); }

/* Award / teaching blocks */
.ach-block { padding: 48px var(--gutter); display: flex; flex-direction: column; gap: 24px; }
.band {
  background: var(--beige); border: 1px solid var(--line); border-radius: var(--radius);
  min-height: 44px; padding: 0 16px; display: flex; align-items: center; font-size: 16px;
}
.card {
  border: 1px solid var(--line); border-radius: var(--radius); padding: 20px;
  display: flex; flex-direction: column; gap: 16px; align-items: flex-start;
}
.card > * { width: 100%; }
.card > .btn { width: auto; }
.award-head { display: flex; justify-content: space-between; gap: 24px; }
.award-sum { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; line-height: 1.95; }
.award-sum h3 { font-size: 27px; font-weight: 500; }
.award-sum .who { font-size: 14px; }
.award-date { width: 160px; flex-shrink: 0; display: flex; flex-direction: column; gap: 6px; }
.award-date .lbl { line-height: normal; }
.award-date .val { font-size: 36px; font-weight: 700; }
.card-sub { border-top: 1px solid var(--line); padding-top: 16px; display: flex; flex-direction: column; gap: 12px; line-height: 1.95; }
.card-sub .target { font-size: 17px; }
.card-sub .venue { font-size: 13px; }

.class-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.class-head h3 { font-size: 31px; font-weight: 500; line-height: 1.95; }
.class-head .tag { flex-shrink: 0; }
.card .aff { font-size: 16px; line-height: 1.95; }
.card hr { border: 0; height: 1px; background: var(--line); margin: 0; }
.class-detail { display: flex; gap: 70px; line-height: 1.95; margin: 0; }
.class-detail > div { display: flex; flex-direction: column; gap: 12px; }
.class-detail .d1 { width: 360px; flex-shrink: 0; }
.class-detail .d2 { flex: 1 1 0; min-width: 0; }
.class-detail dt { font-size: 11px; color: var(--muted); }
.class-detail dd { font-size: 16px; }

/* researchmap band */
.ach-rm {
  border-top: 1px solid var(--line); padding: 52px var(--gutter);
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
}
.rm-text { max-width: 850px; display: flex; flex-direction: column; gap: 12px; line-height: 1.95; }
.rm-lead { font-size: 18px; }
.rm-url { font-size: 12px; }
.rm-btn { height: 50px; gap: 32px; border-radius: 0; font-weight: 500; flex-shrink: 0; }
.rm-btn .arrow { font-size: 21px; }

/* Responsive */
@media (max-width: 1200px) {
  .pub-table .c-date, .pub-table .c-pages { width: 110px; }
  .pub-table .c-author { width: 150px; }
  .pub-table .c-venue { width: 200px; }
}
@media (max-width: 860px) {
  .ach-intro { padding-top: 32px; padding-bottom: 32px; }
  .ach-title h1 { font-size: 28px; }
  .ach-num { font-size: 56px; }
  .pub-table, .pub-table tbody, .pub-table tr, .pub-table td { display: block; width: auto !important; }
  .pub-table thead { display: none; }
  .pub-table tr { border-top: 1px solid var(--line); padding: 16px; display: flex; flex-direction: column; gap: 6px; }
  .pub-table tbody tr:first-child { border-top: 0; }
  .pub-table td { border: 0; padding: 0 !important; }
  .award-head, .class-head, .class-detail, .ach-rm { flex-direction: column; align-items: flex-start; }
  .class-detail { gap: 16px; }
  .class-detail .d1 { width: 100%; }
  .award-date { width: 100%; }
  .award-sum h3 { font-size: 22px; }
  .award-date .val { font-size: 28px; }
  .class-head h3 { font-size: 24px; }
}
