@charset "UTF-8";
/*
 * profile.css — プロフィールページ固有
 *   .kenki-greeting*  ごあいさつ（テキスト + 装飾付きポートレート）
 *   .kenki-basic*     基本情報（左見出し + 定義テーブル kenki-itable）
 *   .kenki-history*   略歴（巨大 HISTORY 透かし + 本文）
 *   .kenki-appear*    主な出演実績（ダーク背景 + NOW ON AIR + 3カラム）
 *   .kenki-igcard*    Instagram カード
 */

/* ============================ ごあいさつ ============================ */
.kenki-greeting { padding: 130px 0 110px; background: #fff; position: relative; overflow: hidden; }
.kenki-greeting__layout { display: grid; grid-template-columns: 1fr 1.15fr; gap: 80px; align-items: center; }
.kenki-greeting .kenki-shead { margin-bottom: 32px; }
.kenki-greeting__quote {
  font-size: clamp(28px, 3.4vw, 44px); font-weight: 700; line-height: 1.5; color: var(--blue-ink);
  margin-bottom: 24px; letter-spacing: .02em;
}
.kenki-greeting__accent { position: relative; display: inline-block; color: var(--ink); }
.kenki-greeting__accent::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 8px; background: var(--yellow); z-index: -1; }
.kenki-greeting__body { font-size: 16px; line-height: 2.2; color: var(--ink); }
.kenki-greeting__frame { position: relative; min-height: 380px; display: flex; align-items: flex-end; justify-content: center; }
.kenki-greeting__disc { position: absolute; right: 4%; top: 4%; width: 78%; aspect-ratio: 1; background: rgba(2,125,197,.08); border-radius: 999px; z-index: 0; }
.kenki-greeting__ring { position: absolute; left: 0; top: 14%; width: 140px; height: 140px; border: 1px solid rgba(2,125,197,.35); border-radius: 999px; z-index: 0; }
.kenki-greeting__dots {
  position: absolute; left: 6%; bottom: 8%; width: 110px; height: 110px; z-index: 0;
  background-image: radial-gradient(rgba(2,125,197,.3) 1.5px, transparent 1.5px);
  background-size: 14px 14px; opacity: .7;
}
.kenki-greeting__en {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  writing-mode: vertical-rl; font-family: var(--font-en); font-weight: 700;
  font-size: 11px; letter-spacing: .42em; color: rgba(1,58,96,.32); z-index: 0;
}
.kenki-greeting__frame img {
  position: relative; z-index: 1; width: auto; height: auto; max-width: 90%; max-height: 440px;
  object-fit: contain; filter: drop-shadow(0 18px 30px rgba(1,58,96,.18));
}
@media (max-width: 960px) {
  .kenki-greeting__layout { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 639px) {
  .kenki-greeting { padding: 50px 0 40px; }
  .kenki-greeting__layout { gap: 24px; }
  .kenki-greeting__frame { min-height: 280px; }
}

/* ============================ 基本情報 ============================ */
.kenki-basic { padding: 40px 0; background: var(--paper-soft); }
.kenki-basic__layout { display: grid; grid-template-columns: 360px 1fr; gap: 64px; align-items: start; }
@media (max-width: 960px) {
  .kenki-basic__layout { grid-template-columns: 1fr; gap: 28px; }
}

/* 定義テーブル（罫線のみ・th=青ラベル） */
.kenki-itable { width: 100%; border-collapse: collapse; font-size: 15px; }
.kenki-itable tr { border-bottom: 1px solid var(--rule); }
.kenki-itable tr:first-child { border-top: 1px solid var(--rule-strong); }
.kenki-itable th, .kenki-itable td { text-align: left; padding: 22px 16px; vertical-align: top; }
.kenki-itable th { width: 200px; font-weight: 700; color: var(--blue); letter-spacing: .06em; font-size: 15px; background: none; border: none; }
.kenki-itable td { color: var(--ink); line-height: 1.9; border: none; }
@media (max-width: 720px) {
  .kenki-itable th, .kenki-itable td { display: block; width: 100%; padding: 12px 0; }
  .kenki-itable th { padding-top: 18px; padding-bottom: 4px; }
}

/* ============================ 略歴 ============================ */
.kenki-history { padding: 130px 0 110px; background: #fff; position: relative; overflow: hidden; }
/* 背景の大きい英字「HISTORY」はデザイン指示により削除 */
.kenki-history .container { position: relative; z-index: 1; }
.kenki-history__layout { display: grid; grid-template-columns: 360px 1fr; gap: 64px; align-items: start; }
.kenki-history__body { font-size: 16px; line-height: 2.2; color: var(--ink); }
.kenki-history__body strong { color: var(--blue); font-weight: 700; }
@media (max-width: 960px) {
  .kenki-history__layout { grid-template-columns: 1fr; gap: 24px; }
}

/* ============================ 主な出演実績 ============================ */
.kenki-appear { padding: 130px 0; background: var(--blue-ink); color: #fff; position: relative; overflow: hidden; }
.kenki-appear::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px;
  background: url('../img/fuji-line.svg') no-repeat center bottom / cover; opacity: .15; pointer-events: none;
}
.kenki-appear .kenki-shead { margin-bottom: 56px; }
.kenki-appear__featured {
  background: var(--blue); padding: 32px 36px; margin-bottom: 56px;
  display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center;
  position: relative; overflow: hidden;
}
.kenki-appear__featured::before {
  content: "NOW ON AIR"; position: absolute; top: -18px; right: -28px;
  background: var(--yellow); color: var(--blue-ink);
  font-family: var(--font-en); font-weight: 800; font-size: 11px; letter-spacing: .22em;
  padding: 32px 42px 8px; transform: rotate(15deg);
}
.kenki-appear__dot {
  width: 12px; height: 12px; border-radius: 999px; background: var(--yellow);
  box-shadow: 0 0 0 0 rgba(242,224,25,.7); animation: kenkiPulse 1.8s infinite;
}
@keyframes kenkiPulse {
  0% { box-shadow: 0 0 0 0 rgba(242,224,25,.7); }
  70% { box-shadow: 0 0 0 14px rgba(242,224,25,0); }
  100% { box-shadow: 0 0 0 0 rgba(242,224,25,0); }
}
.kenki-appear__ft-label { font-family: var(--font-en); font-weight: 700; font-size: 12px; letter-spacing: .22em; color: rgba(255,255,255,.85); }
.kenki-appear__ft-title { font-size: clamp(20px, 2vw, 26px); font-weight: 700; }
.kenki-appear__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 48px; }
.kenki-appear__blk-en { font-family: var(--font-en); font-weight: 700; font-size: 12px; letter-spacing: .2em; color: rgba(255,255,255,.55); margin-bottom: 6px; }
.kenki-appear__blk-ja { font-size: 16px; font-weight: 700; margin-bottom: 18px; }
.kenki-appear__block ul { display: flex; flex-direction: column; }
.kenki-appear__block ul li {
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.15);
  font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.92); display: flex; gap: 10px;
}
.kenki-appear__block ul li::before { content: "\25B8"; color: rgba(255,255,255,.45); flex: 0 0 auto; }
@media (max-width: 960px) {
  .kenki-appear__grid { grid-template-columns: 1fr 1fr; }
  .kenki-appear__featured { grid-template-columns: 1fr; }
}
@media (max-width: 600px) { .kenki-appear__grid { grid-template-columns: 1fr; } }

/* ============================ Instagram カード ============================ */
.kenki-igcard-sec { padding: 110px 0; background: #fff; }
.kenki-igcard { display: grid; grid-template-columns: 1fr 1fr; background: var(--paper-soft); overflow: hidden; position: relative; align-items: center; max-width: 1080px; margin: 0 auto; }
.kenki-igcard .kenki-ig__embed { margin: 50px auto; }
.kenki-igcard__img { background: var(--paper-blue); position: relative; min-height: 360px; }
.kenki-igcard__img img { width: 100%; height: 100%; object-fit: cover; }
.kenki-igcard__body { padding: 56px; }
.kenki-igcard__body .kenki-shead { margin-bottom: 24px; }
.kenki-igcard__body p { font-size: 15px; line-height: 2; color: var(--ink-soft); margin-bottom: 32px; }
@media (max-width: 760px) {
  .kenki-igcard { grid-template-columns: 1fr; }
  .kenki-igcard__body { padding: 36px 28px; }
}
/* スマホ：セクション余白を縮小 */
@media (max-width: 639px) {
  .kenki-history { padding: 60px 0 50px; }
  .kenki-appear { padding: 60px 0; }
  .kenki-igcard-sec { padding: 50px 0; }
}
