/* 講師ページ（見本 koushi/0129.html の CSS をそのまま移したもの。下に PHP 版で足した分） */
*{box-sizing:border-box}
 body{font-family:"Noto Sans JP","Hiragino Kaku Gothic Pro","Yu Gothic",Meiryo,sans-serif;color:#1e293b;background:#fff;line-height:1.7;margin:0;padding:0}
 a{color:#0284c7}
 /* ---- サイトヘッダー（一覧・講座ページと同じ） ---- */
 .sh{position:sticky;top:0;z-index:30;background:#fff;border-top:3px solid #0284c7;border-bottom:1px solid #e2e8f0}
 .sh-in{max-width:1120px;margin:0 auto;padding:0 20px;min-height:64px;display:flex;align-items:center;gap:16px}
 .sh-brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;white-space:nowrap}
 .sh-ic{width:40px;height:40px;flex:none}
 .sh-txt{display:flex;flex-direction:column;line-height:1.25}
 .sh-owner{font-size:13px;font-weight:500;color:#475569;letter-spacing:.1em}
 .sh-name{font-size:22px;font-weight:700;color:#1e3a8a;letter-spacing:.08em}
 .sh-cta{font-size:14px;font-weight:700;color:#fff;background:#0284c7;border-radius:4px;padding:9px 16px;text-decoration:none;white-space:nowrap}
 .sh-cta:hover{background:#1e3a8a}
 /* ---- 本体（講座ページと同じ幅・1カラム） ---- */
 .wrap{max-width:840px;margin:0 auto;padding:20px 20px 60px}
 h2{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;color:#1e3a8a;letter-spacing:.05em;margin:40px 0 14px;padding-bottom:8px;border-bottom:2px solid #0284c7}
 h2 svg{color:#0284c7;flex:none}
 h2 .n{font-size:13.5px;font-weight:400;color:#475569;letter-spacing:0;margin-left:4px}
 /* 講師の箱：写真＋名前・肩書・プロフィール。箱は下の罫線だけ（講座ページの上部の箱にそろえる） */
 .kbox{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"face head" "face prof";column-gap:22px;align-items:start;align-content:start;padding:8px 0 22px;border-bottom:1px solid #e2e8f0;overflow-wrap:anywhere}
 /* 写真は元画像の大きさのまま。拡大しない（講師写真は横90〜96×縦120でそろえてある。2026-10-02 ユーザー） */
 .kface{grid-area:face;width:auto;max-width:100%;height:auto;border-radius:3px;display:block}
 .khead{grid-area:head}
 .kprof{grid-area:prof}
 .klbl{font-size:13px;color:#475569;letter-spacing:.08em}
 .kbox h1{font-size:26px;font-weight:700;line-height:1.3;margin:0;padding-bottom:8px;border-bottom:2px solid #0284c7;display:inline-block}
 .yomi{font-size:12px;font-weight:400;color:#475569;margin-left:6px;letter-spacing:.02em;white-space:nowrap}
 .kkata{font-size:15px;font-weight:500;margin:10px 0 0}
 .kprof{font-size:15px;margin:10px 0 0}
 /* 今後のセミナー：トップの一覧と同じく、左に日付の列（nittei.css）・右に概要。顔写真は全カード同じ人になるので出さない */
 .card{display:flex;gap:16px;border:1px solid #e2e8f0;border-radius:6px;padding:14px 18px 16px;margin-bottom:14px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;background:#fff;overflow-wrap:anywhere}
 .card .body{flex:1;min-width:0}
 .badges{margin-bottom:5px}
 .tag{display:inline-block;font-size:11.5px;border:1px solid #94a3b8;border-radius:4px;padding:0 7px;margin-right:4px;color:#475569}
 .venue{display:inline-block;font-size:11.5px;background:#f1f5f9;border:1px solid #f1f5f9;border-radius:4px;padding:0 7px;margin-right:6px;color:#1e293b;font-weight:500}
 .catch{font-size:14.5px;color:#1e3a8a;font-weight:500;line-height:1.5}
 .ttl{font-size:19px;font-weight:700;line-height:1.4;color:#0284c7;margin-top:2px}
 .meta{display:grid;grid-template-columns:max-content 1fr;gap:5px 10px;margin:10px 0 0;font-size:14px;align-items:start}
 .meta dt{line-height:1.5;padding-top:1px}
 .meta dd{margin:0}
 .lb{display:inline-block;min-width:5.2em;text-align:center;font-size:12px;border:1px solid #cbd5e1;border-radius:0;padding:0 6px;color:#475569;background:#fff}
 .dl{margin-right:14px}
 .dc{display:inline-block;font-weight:700;white-space:nowrap}
 .dc small{font-weight:400;font-size:13px;margin-left:3px}
 .tmx{display:inline-block;white-space:nowrap}
 /* 過去に開催したセミナー：年ごとの簡易リスト。共演講師は出さない（2026-10-02 ユーザー） */
 .py{font-size:15px;font-weight:700;margin:18px 0 4px;color:#1e293b}
 .py:first-of-type{margin-top:4px}
 .pl{list-style:none;margin:0;padding:0;border-top:1px solid #e2e8f0}
 .pl li{border-bottom:1px solid #e2e8f0}
 .pl li{display:flex;gap:16px;padding:9px 4px}
 .pd{width:6.2em;flex:none;font-size:14px;white-space:nowrap;padding-top:1px}
 .pb{flex:1;min-width:0;overflow-wrap:anywhere}
 .pc{display:block;font-size:13px;color:#1e3a8a;line-height:1.5}
 .pt{display:block;font-size:15px;font-weight:700;color:#0284c7;line-height:1.45}
 .totop{position:fixed;right:20px;bottom:24px;z-index:35;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #cbd5e1;color:#0284c7;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(30,41,59,.18)}
 .totop[hidden]{display:none}
 /* ---- フッター（一覧・講座ページと同じ） ---- */
 .sf{background:#f1f5f9;border-top:1px solid #e2e8f0;margin-top:20px}
 .sf-in{max-width:1120px;margin:0 auto;padding:28px 20px 12px;display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
 .sf-name{font-weight:700;margin:0 0 6px;font-size:15px}
 .sf-name span{font-weight:400;font-size:13px}
 .sf address{font-style:normal;font-size:13.5px;line-height:1.8}
 .sf-links{list-style:none;margin:0;padding:0;font-size:14px;line-height:2}
 .sf-links a{color:#1e3a8a}
 .sf-copy{max-width:1120px;margin:0 auto;padding:10px 20px 18px;font-size:12px;color:#475569}
 .sf-tel{font-weight:700;color:#0284c7;text-decoration:none;pointer-events:none}
 @media(max-width:860px){
  .sf-tel{pointer-events:auto;text-decoration:underline;text-underline-offset:3px}
  .sh-in{min-height:58px;padding:0 12px;gap:10px}
  .sh-brand{gap:8px}
  .sh-ic{width:32px;height:32px}
  .sh-owner{font-size:11px;letter-spacing:.08em}
  .sh-name{font-size:18px;letter-spacing:.04em}
  .sh-cta{font-size:12.5px;padding:6px 10px}
  .totop{right:12px}
 }
 @media(max-width:640px){
  .wrap{padding:14px 16px 40px}
  h2{font-size:17.5px;margin-top:34px}
  /* スマホ：写真の横は名前と肩書だけ。プロフィールは下に全幅で */
  .kbox{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"face head" "prof prof";column-gap:14px;padding-bottom:18px}
  .kprof{margin-top:14px}
  .kbox h1{font-size:22px}
  .kkata{font-size:14px}
  .kprof{font-size:14.5px}
  .card{padding:12px 14px 14px}
  .dl{display:block;margin-right:0}
  .ttl{font-size:17px}
  .pl li{flex-direction:column;gap:2px;padding:9px 2px}
  .pd{width:auto}
 }

/* ---- PHP版で足した分 ---- */
.kprof p{margin:0 0 .6em}
.kprof p:last-child{margin-bottom:0}
.dc .dct{font-weight:400;margin-left:5px}
.dc em{font-style:normal;color:#c0504d;border:1px solid #c0504d;border-radius:4px;font-size:11px;font-weight:400;padding:0 4px;margin-left:4px}
/* スマホで右端が1文字ほど切れていた（2026-10-06 ユーザー）。中身の幅で列が広がらないようにし、日程は折り返せるように */
.meta{grid-template-columns:max-content minmax(0,1fr)}
.kbox{grid-template-columns:auto minmax(0,1fr)}
@media(max-width:640px){
 .dc,.tmx{white-space:normal}
 .kbox h1{display:block}
}