.professor-redesign{background:var(--color-bg,#fbf9f5);color:var(--color-ink,#2e2e2e);font-family:var(--font-sans,"Noto Sans JP",sans-serif);line-height:1.8}.professor-redesign .container{width:100%;max-width:1200px;margin:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.professor-redesign .section{padding-block:clamp(3.5rem,8vw,6rem)}.professor-hero{position:relative;overflow:hidden;padding-block:clamp(2.5rem,6vw,4rem);border-bottom:1px solid var(--color-line);background:var(--color-surface-soft)}.professor-hero:before{content:"";position:absolute;inset:0;background:url("../img/top/hero_rightlower.webp") center/cover;transform:scale(1.15);filter:blur(48px) saturate(1.15);opacity:.5}.professor-hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-70deg,rgba(255,255,255,.33) 0,rgba(255,255,255,.33) 2px,transparent 2px,transparent 6px)}.professor-hero>.container{position:relative;z-index:1}.professor-hero__en,.professor-hero__title,.professor-hero__lead{display:table;background:#fff;padding:.06em .28em}.professor-hero__en{color:var(--color-primary);font-size:clamp(1.75rem,4.5vw,2.75rem);font-weight:700;line-height:1.1}.professor-hero__title{font-family:var(--font-heading);font-size:clamp(1.05rem,2.5vw,1.4rem);line-height:1.4}.professor-hero__lead{margin-top:1rem;color:var(--color-ink-soft)}.professor-hero__crumbs{display:inline-flex;gap:.65rem;margin-top:1.5rem;padding:.35rem .95rem;border:1px solid var(--color-line);border-radius:999px;background:#fff;box-shadow:var(--shadow-sm);font-size:.82rem;color:var(--color-ink-soft)}.professor-hero__crumbs a{color:var(--color-primary)}.professor-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}.professor-cat{padding:.4rem 1.1rem;border:1px solid var(--color-line);border-radius:999px;background:#fff;color:var(--color-ink-soft);font-size:.8rem;font-weight:600;text-decoration:none}.professor-cat.is-active{box-shadow:0 2px 8px rgba(0,0,0,.12);font-weight:700}.professor-cat.cat-all.is-active{border-color:var(--color-ink-soft);background:var(--color-ink-soft);color:#fff}.professor-cat.cat-artist.is-active{border-color:#00aba8;background:#00aba8;color:#fff}.professor-cat.cat-researcher.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.professor-cat.cat-business.is-active{border-color:#2c3e50;background:#2c3e50;color:#fff}.professor-cat.cat-entertainer.is-active{border-color:#608a78;background:#608a78;color:#fff}.professor-cat.cat-other.is-active{border-color:#646464;background:#646464;color:#fff}.professor-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1.25rem 1rem}.professor-card{display:flex;flex-direction:column;align-items:center;gap:.6rem;color:inherit;text-align:center;text-decoration:none}.professor-avatar-wrap{position:relative;width:100%;aspect-ratio:1}.professor-avatar-deco{position:absolute;inset:-2%;transform:translate(3%,3%);z-index:0;border-radius:50%;background:repeating-linear-gradient(-70deg,rgba(0,171,168,.35) 0,rgba(0,171,168,.35) 2px,transparent 2px,transparent 6px)}.professor-card:nth-child(even) .professor-avatar-deco{background:repeating-linear-gradient(-70deg,rgba(80,79,161,.35) 0,rgba(80,79,161,.35) 2px,transparent 2px,transparent 6px)}.professor-avatar{position:relative;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:50%;background:var(--color-surface-soft)}.professor-avatar img{width:100%;height:100%;object-fit:cover}.professor-tag{margin-top:.35rem;padding:.22rem .85rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.03em}.professor-tag.cat-artist{background:rgba(0,171,168,.22);color:var(--color-accent-dark)}.professor-tag.cat-researcher{background:rgba(58,147,202,.15);color:var(--color-primary-dark)}.professor-tag.cat-business{background:rgba(44,62,80,.15);color:var(--color-navy)}.professor-tag.cat-entertainer{background:rgba(96,138,120,.18);color:#4d7a67}.professor-tag.cat-other{background:rgba(100,100,100,.12);color:var(--color-ink-soft)}.professor-card h2{margin:0;font-family:var(--font-heading);font-size:.97rem;line-height:1.4}.professor-card p{margin:0;color:var(--color-ink-soft);font-size:.75rem;line-height:1.5}.professor-empty{text-align:center}@media(max-width:900px){.professor-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:640px){.professor-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem .75rem}.professor-cat{font-size:.75rem;padding:.35rem .8rem}}

/* Fixed: Hero見出し内の英語ラベルはNext.js版で--font-en（Elms Sans）・
   letter-spacing・text-transform:uppercaseが適用されているが本ファイルには
   無かったため追加（理由: スクリーンショット比較でフォント・大文字化の
   違いが指摘されたため。Elms Sansの@font-faceはamenimo-top-style(top.css)
   経由で全ページ読み込み済み）。 */
.professor-hero__en {
  font-family: "Elms Sans", var(--font-sans, "Noto Sans JP", sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Fixed: 教授カードをa要素からbutton要素に変更したため、リンクとして継承していた
   見た目(cursor等)をボタンにも適用（理由: クリックでポップアップ表示に変更したため）。 */
.professor-card {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
}

/* Fixed: 教授一覧のカードクリック時に表示するポップアップ（モーダル）を追加
   （理由: 正本(Next.js版)がカードクリックでモーダル表示のため）。 */
.professor-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.professor-modal[hidden] { display: none; }
body.professor-modal-open { overflow: hidden; }
.professor-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(30, 28, 24, .55);
}
.professor-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 720px;
  max-height: 85vh;
  overflow-y: auto;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}
.professor-modal__close {
  position: absolute;
  top: .75rem;
  right: .75rem;
  z-index: 2;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--color-ink-soft, #6b6b6b);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.professor-modal__close:hover { background: rgba(0, 0, 0, .06); }
.professor-modal__header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 2rem 2.5rem;
  background: var(--color-surface-soft, #fbf3e7);
  border-radius: 12px 12px 0 0;
}
.professor-modal__avatar {
  flex: none;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
}
.professor-modal__avatar img { width: 100%; height: 100%; object-fit: cover; }
.professor-modal__header-text { min-width: 0; }
.professor-modal__header-text .professor-tag { display: inline-block; margin-bottom: .5rem; }
.professor-modal__name {
  margin: 0 0 .35rem;
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 2.5vw, 1.5rem);
  line-height: 1.3;
  word-break: break-word;
}
.professor-modal__title {
  margin: 0;
  color: var(--color-ink-soft, #6b6b6b);
  font-size: .85rem;
  line-height: 1.6;
}
.professor-modal__body { padding: 1.75rem 2.5rem 2.25rem; }
.professor-modal__block + .professor-modal__block { margin-top: 1.25rem; }
.professor-modal__block-label {
  display: inline-flex;
  align-items: center;
  padding-left: .75rem;
  border-left: 3px solid var(--color-primary, #3a93ca);
  font-size: .8rem;
  font-weight: 700;
  color: var(--color-ink-soft, #6b6b6b);
}
.professor-modal__block p {
  margin: .6rem 0 0;
  font-size: .9rem;
  line-height: 1.8;
  white-space: pre-wrap;
}
@media (max-width: 640px) {
  .professor-modal__header { flex-direction: column; text-align: center; padding: 2rem 1.5rem 1.25rem; }
  .professor-modal__body { padding: 1.25rem 1.5rem 1.75rem; }
}
