/* =========================================
   NK Biography Page
   path: /css/nk-biography.css
   - layout / visual only
   - font rules removed and consolidated in style.css
   ========================================= */

/* スムーススクロール */
html{
  scroll-behavior: smooth;
}

/* =========================================
   Base layout
   ========================================= */

/* 背景（LIVEと同トーン） */
body.page-template-page-biography .nk-archive-hero{
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
body.page-template-page-biography .nk-archive-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: url("/wp-content/uploads/2026/03/hero1.webp") center/cover no-repeat;
  opacity: .07;
}

/* 全体レイアウト */
body.page-template-page-biography .nk-bio{
  position: relative;
  z-index: 1;
  max-width: 960px;
  margin: 0 auto;
  padding: 120px 16px 80px;
}

body.page-template-page-biography .nk-bio .nk-single-header{
  text-align: center;
  margin-bottom: 22px;
}

body.page-template-page-biography .nk-bio .nk-single-title{
  margin: 0 0 10px;
  font-size: 56px;
  color: #111;
}

body.page-template-page-biography .nk-bio .nk-archive-intro{
  max-width: 680px;
  margin: 30px auto 18px;
  font-size: 14px;
  line-height: 1.85;
  color: rgba(0,0,0,.65);
}

body.page-template-page-biography .nk-bio .nk-archive-intro a{
  color: var(--nk);
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(49,28,255,.25);
}
body.page-template-page-biography .nk-bio .nk-archive-intro a:hover{
  border-bottom-color: rgba(49,28,255,.55);
}

/* =========================================
   TOC
   ========================================= */
body.page-template-page-biography .nk-bio .nk-bio-toc{
  margin-top: 14px;
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

body.page-template-page-biography .nk-bio .nk-bio-toc__a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,.18);
  background: rgba(255,255,255,.72);
  color: #111;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(0,0,0,.05);
  transition:
    transform .16s ease,
    background .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    color .16s ease;
}

body.page-template-page-biography .nk-bio .nk-bio-toc__a:hover{
  transform: translateY(-2px);
  background: #111;
  color: #fff;
  border-color: #111;
  box-shadow: 0 10px 22px rgba(0,0,0,.14);
  text-decoration: none;
}

body.page-template-page-biography .nk-bio .nk-bio-toc__a:focus-visible{
  outline: 2px solid var(--nk);
  outline-offset: 2px;
}

/* =========================================
   Content card
   ========================================= */
body.page-template-page-biography .nk-bio-card{
  margin-top: 18px;
  background: rgba(255,255,255,.90);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.08);
  padding: 26px 24px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* 本文ベース */
body.page-template-page-biography .nk-bio .nk-prose{
  font-size: 15px;
  line-height: 1.95;
  color: rgba(0,0,0,.92);
}
body.page-template-page-biography .nk-bio .nk-prose p{
  margin: 0 0 14px;
}
body.page-template-page-biography .nk-bio .nk-en{
  display: block;
  margin-top: 6px;
  color: rgba(0,0,0,.55);
  font-size: 13px;
  letter-spacing: .02em;
}

/* Biography内リンク */
body.page-template-page-biography .nk-bio a{
  color: var(--nk);
  text-decoration: none;
  font-weight: 800;
}
body.page-template-page-biography .nk-bio a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================================
   Hero image
   ========================================= */
body.page-template-page-biography .nk-bio .wp-block-image:first-child{
  position: relative;
  margin: -27px -24px 18px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 18px 48px rgba(0,0,0,.10);
}

body.page-template-page-biography .nk-bio .wp-block-image:first-child img{
  width: 100%;
  height: auto;
  display: block;
  max-height: 540px;
  object-fit: cover;
  transform: scale(1.01);
  filter: brightness(1.12) contrast(1.04) saturate(1.08);
}

body.page-template-page-biography .nk-bio .wp-block-image:first-child::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 80% at 50% 20%, rgba(0,0,0,.10), rgba(0,0,0,0) 58%),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,0) 44%);
  pointer-events: none;
  z-index: 1;
}

body.page-template-page-biography .nk-bio .wp-block-image:first-child::after{
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.028),
      rgba(255,255,255,.028) 1px,
      rgba(0,0,0,0) 2px,
      rgba(0,0,0,0) 4px
    );
  mix-blend-mode: overlay;
  opacity: .12;
  transform: rotate(-2deg);
  pointer-events: none;
  z-index: 2;
}

/* =========================================
   Section heading
   ========================================= */
body.page-template-page-biography .nk-bio h2.wp-block-heading{
  margin: 30px 0 14px;
  padding: 10px 12px;
  border-radius: 4px;
  background: linear-gradient(
    to right,
    rgba(0,0,0,.08),
    rgba(0,0,0,.03)
  );
  border: 1px solid rgba(0,0,0,.10);
  color: #111;
  box-shadow: none;
}

body.page-template-page-biography .nk-bio h2.wp-block-heading::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading::after{
  content: none;
  display: none;
}

/* =========================================
   Member cards
   ========================================= */
body.page-template-page-biography .nk-bio .wp-block-columns{
  gap: 14px;
}

body.page-template-page-biography .nk-bio .wp-block-column{
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  padding: 12px 12px 10px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    border-color .18s ease;
  overflow: hidden;
}

body.page-template-page-biography .nk-bio .wp-block-column:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(0,0,0,.10);
  background: rgba(255,255,255,.88);
  border-color: rgba(0,0,0,.10);
}

body.page-template-page-biography .nk-bio .wp-block-column .wp-block-image{
  margin: 0 0 10px;
  border-radius: 12px;
  overflow: hidden;
}

body.page-template-page-biography .nk-bio .wp-block-column .wp-block-image img{
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  transform: scale(1);
  filter: brightness(1.08) contrast(1.03) saturate(1.04);
  transition: transform .25s ease, filter .25s ease;
}

body.page-template-page-biography .nk-bio .wp-block-column:hover .wp-block-image img{
  transform: scale(1.04);
  filter: brightness(1.12) contrast(1.05) saturate(1.06);
}

body.page-template-page-biography .nk-bio .wp-block-column h4{
  margin: 2px 0 0;
  text-align: center;
}

/* =========================================
   History timeline
   - only History section shows line / dots
   - Member / Profile(= #english) and after are reset
   ========================================= */

/* まず残骸を初期化 */
body.page-template-page-biography .nk-bio h2.wp-block-heading,
body.page-template-page-biography .nk-bio h3.wp-block-heading,
body.page-template-page-biography .nk-bio p,
body.page-template-page-biography .nk-bio ul,
body.page-template-page-biography .nk-bio ol,
body.page-template-page-biography .nk-bio li{
  background-image: none;
  background-repeat: no-repeat;
  background-size: 0 0;
}

body.page-template-page-biography .nk-bio h3.wp-block-heading::before,
body.page-template-page-biography .nk-bio h3.wp-block-heading::after,
body.page-template-page-biography .nk-bio p::before,
body.page-template-page-biography .nk-bio p::after,
body.page-template-page-biography .nk-bio ul::before,
body.page-template-page-biography .nk-bio ul::after,
body.page-template-page-biography .nk-bio ol::before,
body.page-template-page-biography .nk-bio ol::after,
body.page-template-page-biography .nk-bio li::before,
body.page-template-page-biography .nk-bio li::after{
  content: none;
  display: none;
  box-shadow: none;
}

/* History見出し */
body.page-template-page-biography .nk-bio h2.wp-block-heading#history{
  scroll-margin-top: 120px;
}

/* Historyの年見出し・本文 */
body.page-template-page-biography .nk-bio h2.wp-block-heading#history ~ h3.wp-block-heading,
body.page-template-page-biography .nk-bio h2.wp-block-heading#history ~ p{
  position: relative;
}

body.page-template-page-biography .nk-bio h2.wp-block-heading#history ~ h3.wp-block-heading{
  margin: 22px 0 10px;
  padding-left: 34px;
  color: #111;
  background-image: linear-gradient(rgba(0,0,0,.10), rgba(0,0,0,.10));
  background-repeat: no-repeat;
  background-size: 1px 100%;
  background-position: 12px 0;
}

body.page-template-page-biography .nk-bio h2.wp-block-heading#history ~ h3.wp-block-heading::before{
  content: "";
  display: block;
  position: absolute;
  left: 8px;
  top: .78em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(0,0,0,.22);
  box-shadow: 0 0 0 4px rgba(255,255,255,.75);
}

body.page-template-page-biography .nk-bio h2.wp-block-heading#history ~ p{
  margin: 0 0 10px;
  padding-left: 34px;
  line-height: 2;
  color: rgba(0,0,0,.86);
  background-image: linear-gradient(rgba(0,0,0,.10), rgba(0,0,0,.10));
  background-repeat: no-repeat;
  background-size: 1px 100%;
  background-position: 12px 0;
}

body.page-template-page-biography .nk-bio h2.wp-block-heading#history ~ p::before{
  content: "";
  display: block;
  position: absolute;
  left: 11px;
  top: 1.05em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(0,0,0,.25);
  opacity: .65;
}

/* History内リスト */
body.page-template-page-biography .nk-bio h2.wp-block-heading#history ~ ul{
  margin: 0 0 12px;
  padding-left: 52px;
}

/* Member以降はタイムライン強制停止 */
body.page-template-page-biography .nk-bio h2.wp-block-heading#member,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ h2.wp-block-heading,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ h3.wp-block-heading,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ p,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ ul,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ ol,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ li,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ h2.wp-block-heading,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ h3.wp-block-heading,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ p,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ul,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ol,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ li{
  background-image: none;
  background-repeat: no-repeat;
  background-size: 0 0;
}

body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ h3.wp-block-heading::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ h3.wp-block-heading::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ p::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ p::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ ul::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ ul::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ ol::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ ol::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ li::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ li::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ h3.wp-block-heading::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ h3.wp-block-heading::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ p::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ p::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ul::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ul::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ol::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ol::after,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ li::before,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ li::after{
  content: none;
  display: none;
  box-shadow: none;
}

body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ h3.wp-block-heading,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ p,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ ul,
body.page-template-page-biography .nk-bio h2.wp-block-heading#member ~ ol,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ h3.wp-block-heading,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ p,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ul,
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ol{
  padding-left: 0;
}

/* Profile / English 側の小見出し */
body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ h3.wp-block-heading{
  margin: 22px 0 12px;
  line-height: 1.2;
  color: #111;
  border: 0;
}

body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ ul{
  margin: 8px 0 18px 1.2em;
  padding-left: 1.2em;
}

body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ li{
  margin: 6px 0;
  padding-left: 0;
}

/* =========================================
   Bottom links
   ========================================= */
body.page-template-page-biography .nk-bio-links{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.06);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 12px;
  letter-spacing: .06em;
}

body.page-template-page-biography .nk-bio-links a{
  color: rgba(0,0,0,.55);
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.12);
  padding-bottom: 2px;
}
body.page-template-page-biography .nk-bio-links a:hover{
  color: rgba(0,0,0,.78);
  border-bottom-color: rgba(0,0,0,.26);
}

/* =========================================
   Responsive
   ========================================= */
@media (max-width: 768px){
  body.page-template-page-biography .nk-bio .nk-single-title{
    font-size: 40px;
  }

  body.page-template-page-biography .nk-bio .nk-archive-intro{
    font-size: 13px;
    line-height: 1.75;
    margin-bottom: 14px;
  }
}

@media (max-width: 767px){
  body.page-template-page-biography .nk-bio{
    padding: 96px 14px 64px;
  }

  body.page-template-page-biography .nk-bio .nk-bio-toc__a{
    padding: 9px 11px;
  }

  body.page-template-page-biography .nk-bio-card{
    padding: 18px 14px;
    border-radius: 16px;
  }

  body.page-template-page-biography .nk-bio .wp-block-image:first-child{
    margin: -18px -14px 14px;
    border-radius: 14px;
  }

  body.page-template-page-biography .nk-bio .wp-block-columns{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  body.page-template-page-biography .nk-bio .wp-block-column{
    margin: 0 !important;
    padding: 10px;
  }

  body.page-template-page-biography .nk-bio h2.wp-block-heading#history ~ p{
    line-height: 1.9;
  }

  body.page-template-page-biography .nk-bio h2.wp-block-heading#english ~ h3.wp-block-heading{
    font-size: 20px;
  }
}

/* =========================================
   Frame
   ========================================= */

/* =========================================
   HISTORY table
   枠なし / 左列幅固定 / シンプルで読みやすく
   ========================================= */
.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular {
  margin: 0 0 18px !important;
  width: 100% !important;
  overflow: visible !important;
}

.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  background: transparent !important;
  margin: 0 !important;
}

.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular tbody,
.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular tr,
.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular td,
.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular th {
  border: none !important;
  background: transparent !important;
}

.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
}

.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular tr:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
}

.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular td {
  padding: 3px 0 !important;
  vertical-align: top !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  letter-spacing: 0 !important;
  color: #222 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

/* 左列：月日など */
.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular td:first-child {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  padding-right: 16px !important;
  font-weight: 700 !important;
  color: #666 !important;
  white-space: normal !important;
  text-align: right !important;
}

/* 右列：本文 */
.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular td:last-child {
  width: auto !important;
  padding-left: 0 !important;
  font-weight: 400 !important;
}

/* スマホで少し詰める */
@media (max-width: 767px) {
  .nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular td {
    padding: 5px 0 !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }

  .nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular td:first-child {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    padding-right: 10px !important;
    font-size: 13px !important;
  }
}

.nk-bio-card .nk-bio-prose figure.wp-block-table.is-style-regular tr {
  border: none !important;
}