@charset "UTF-8";
/*
 * 記事の弁護士紹介ブロック（template-parts/lawyer-profile.php）と、記事タイトル下の署名行（template-parts/lawyer-byline.php）。
 * inc/lawyer-profile-block.php が投稿の個別ページだけで読み込む。すべて .fortress-lawyer と .fortress-byline の中に閉じる。
 * 決まり（docs/article-lawyer-profile.md）:
 * - トップのLP（page-top.php・page-top/css/common.css の「事務所概要」.overview）の見た目に合わせる（2026-10-12 所有者決定）:
 *   #fafafa の面、中央の2段の題（小さい事務所名の上に大きい「弁護士紹介」）、下線 #dddddd 区切りの一覧
 *   （dt 太字・幅105px、dd 標準）、文字 #353535、LINE緑 #06c755 に白い太字のボタン。黄色 #ffde46 は使わない。
 * - 書体は記事（SANGO）の書体を継ぐ。LP の A1ゴシック（page-top/fonts の Morisawa の OTF）は記事に @font-face で読み込まない
 *   （記事ページでの利用範囲が未確認のため。所有者が後で決める）。題は font-weight 700 で LP の太いゴシックに寄せる。
 * - 枠・面の左端に強調線（border-left のアクセント）を入れない（所有者判断：AIが作ったような見た目になるため）。
 * - LINE ボタンは、すぐ上にある記事最下部の .info-line-button（幅80%）より小さく静かにする（高さ46px、幅は文字なり）。
 * - 文字は14px未満にしない。幅 640px・340px 以下で調整する。フォーカス枠は橙 #fe7606（article-cta.css と同じ）。
 */

/* ---------- 弁護士紹介ブロック ---------- */
.fortress-lawyer {
  --fl-ink: #353535;
  --fl-sub: #555555;
  --fl-rule: #dddddd;
  --fl-panel: #fafafa;
  --fl-panel-edge: #ececec;
  --fl-red: #af1927;
  --fl-line: #06c755;
  --fl-line-dark: #05b04b;
  --fl-focus: #fe7606;
  --fl-pad-x: 48px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 56px 0 48px;
  padding: 44px var(--fl-pad-x) 40px;
  border: 1px solid var(--fl-panel-edge);
  border-radius: 6px;
  background: var(--fl-panel);
  color: var(--fl-ink);
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: .02em;
  text-align: left;
  overflow-wrap: anywhere;
}
.fortress-lawyer *,
.fortress-lawyer *::before,
.fortress-lawyer *::after { box-sizing: border-box; }

/* SANGO の本文の p・dl・dt・dd の余白・線・色・大きさを打ち消す（:where で詳細度を (0,2,0) に揃え、下の個別指定が勝つ） */
.entry-content .fortress-lawyer :where(p, dl, dt, dd) {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* 題（段落。Hタグにしない）：LP の .tt と .h-small の組み合わせ */
.fortress-lawyer .fortress-lawyer__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
  text-align: center;
}
.fortress-lawyer .fortress-lawyer__title-sub {
  color: var(--fl-sub);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .12em;
}
.fortress-lawyer .fortress-lawyer__title-main {
  margin-top: 2px;
  color: var(--fl-ink);
  font-feature-settings: "palt" 1;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .12em;
}

/* 一覧：LP の .overview-list（下線区切り、dt 太字・幅105px） */
.fortress-lawyer .fortress-lawyer__row {
  display: flex;
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--fl-rule);
}
.fortress-lawyer .fortress-lawyer__row + .fortress-lawyer__row { margin-top: 16px; }
.fortress-lawyer .fortress-lawyer__row dt {
  flex: 0 0 105px;
  padding-right: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}
.fortress-lawyer .fortress-lawyer__row dd {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  font-variant-numeric: tabular-nums;
}
.fortress-lawyer .fortress-lawyer__bar-link,
.fortress-lawyer .fortress-lawyer__bar-link:visited {
  color: var(--fl-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.fortress-lawyer .fortress-lawyer__bar-link:hover { color: var(--fl-red); }
.fortress-lawyer .fortress-lawyer__bar-link:focus-visible {
  outline: 2px solid var(--fl-focus);
  outline-offset: 2px;
  border-radius: 2px;
}

/* 経歴：LP と同じく1行ずつ（年と内容。内容が折り返しても年の列はそろえる） */
.fortress-lawyer .fortress-lawyer__career-line {
  display: flex;
  gap: 0 1em;
}
.fortress-lawyer .fortress-lawyer__career-year {
  flex: 0 0 5.2em;
  white-space: nowrap;
}
/* 内容は全角空白（「…事務所　設立」）で折り返す。入りきらないときだけ文字の途中で折る（親の overflow-wrap: anywhere） */
.fortress-lawyer .fortress-lawyer__career-text {
  min-width: 0;
  word-break: keep-all;
}

/* 要約とご挨拶の一言 */
.fortress-lawyer .fortress-lawyer__summary {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.85;
  text-wrap: pretty;
}
.fortress-lawyer .fortress-lawyer__message {
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.85;
  text-wrap: pretty;
}

/* LINE ボタン（小さめの緑の角丸。記事最下部のボタンより目立たせない） */
.fortress-lawyer .fortress-lawyer__cta {
  margin-top: 28px;
  text-align: center;
}
.fortress-lawyer .fortress-lawyer__line {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: min(320px, 100%);
  min-height: 46px;
  margin: 0;
  padding: 6px 24px 6px 18px;
  border: 0;
  border-radius: 999px;
  background: var(--fl-line);
  box-shadow: none;
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
  text-align: center;
  cursor: pointer;
  transition: background-color .15s ease;
}
.fortress-lawyer .fortress-lawyer__line:hover { background: var(--fl-line-dark); }
.fortress-lawyer .fortress-lawyer__line:focus-visible {
  outline: 2px solid var(--fl-focus);
  outline-offset: 3px;
}
.fortress-lawyer .fortress-lawyer__line-icon {
  display: inline-flex;
  flex: 0 0 auto;
}
.fortress-lawyer .fortress-lawyer__line-svg {
  display: block;
  width: 30px;
  height: auto;
}

/* ---------- 記事タイトル下の署名行（日付の後ろ） ---------- */
.fortress-byline,
.fortress-byline:visited {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 .45em;
  max-width: 100%;
  margin-left: 4px;
  color: #353535;
  text-decoration: none;
  vertical-align: baseline;
}
.fortress-byline .fortress-byline__role {
  color: #69655e;
  font-size: 14px;
}
.fortress-byline .fortress-byline__name {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: underline;
  text-decoration-color: rgba(53, 53, 53, .35);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.fortress-byline:hover .fortress-byline__name { text-decoration-color: currentColor; }
.fortress-byline:focus-visible {
  outline: 2px solid #fe7606;
  outline-offset: 2px;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .fortress-lawyer .fortress-lawyer__line { transition: none; }
}

/* ---------- 640px以下：スマートフォン（LP と同じく一覧は項目名の下に内容） ---------- */
@media (max-width: 640px) {
  .fortress-lawyer {
    --fl-pad-x: 18px;
    margin: 48px 0 40px;
    padding: 32px var(--fl-pad-x) 30px;
  }
  .fortress-lawyer .fortress-lawyer__title { margin-bottom: 22px; }
  .fortress-lawyer .fortress-lawyer__title-sub { font-size: 14px; }
  .fortress-lawyer .fortress-lawyer__title-main { font-size: 24px; }
  .fortress-lawyer .fortress-lawyer__row { display: block; padding-bottom: 14px; }
  .fortress-lawyer .fortress-lawyer__row + .fortress-lawyer__row { margin-top: 14px; }
  .fortress-lawyer .fortress-lawyer__row dt { padding-right: 0; margin-bottom: 2px; }
  .fortress-lawyer .fortress-lawyer__career-year { flex-basis: 4.8em; }
  .fortress-lawyer .fortress-lawyer__summary { margin-top: 20px; }
  .fortress-lawyer .fortress-lawyer__cta { margin-top: 24px; }
  .fortress-lawyer .fortress-lawyer__line { min-height: 44px; padding: 6px 20px 6px 14px; font-size: 15px; }
  .fortress-lawyer .fortress-lawyer__line-svg { width: 28px; }
}

/* ---------- 340px以下：とても狭い画面 ---------- */
@media (max-width: 340px) {
  .fortress-lawyer { --fl-pad-x: 14px; }
  .fortress-lawyer .fortress-lawyer__title-main { font-size: 22px; }
  .fortress-lawyer .fortress-lawyer__career-line { gap: 0 .6em; }
}
