/* ============================================================== B16 */
/* フッター（LP の末尾＋法務2ページ）と、法務ページの本文。            */
/* ★色は --c-bg / --c-ink / --c-accent だけを使う。                   */
/*   値は config（part3Palette）から JS が置く。ここで色を作らない。   */
/* ★_kit のセレクタとは重ならない名前にしてある（K2）。               */
/* ============================================================== */

/* 法務ページの地。★色は :root へ config から置かれた値をそのまま使う */
.page {
  background: var(--c-bg);
  color: var(--c-ink);
  font-family: var(--f-body);
  -webkit-font-smoothing: antialiased;
}

.page :focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }

.ft {
  position: relative;
  /* 固定ステージ（z-index 100 台）より前に出す。でないと最後の章の絵に隠れる */
  z-index: 200;
  display: block;
  background: var(--c-bg);
  color: var(--c-ink);
  font-family: var(--f-body);
  line-height: 1.9;
  border-top: 1px solid color-mix(in srgb, var(--c-ink) 18%, transparent);
  padding: clamp(2.2rem, 7vw, 4rem) clamp(1.15rem, 5vw, 3rem) clamp(1.6rem, 5vw, 2.4rem);
}

.ft__in {
  display: grid;
  gap: clamp(1.6rem, 5vw, 3rem);
  margin: 0 auto;
  max-width: 1080px;
}

@media (min-width: 860px) {
  .ft__in { grid-template-columns: 1.4fr 1fr 1fr; align-items: start; }
}

.ft__logo {
  display: block;
  width: clamp(148px, 34vw, 208px);
  height: auto;
  /* 素材は暗背景前提。明地では反転させて置く（新しい画像を作らない） */
  filter: invert(1) grayscale(1) contrast(1.08);
  opacity: .92;
}

.ft__operator { margin: 1rem 0 0; font-size: 14px; }

.ft__label {
  display: inline-block;
  margin-right: .6em;
  font-size: 13px;
  letter-spacing: .04em;
  /* ★B16: 66% だと実描画 3.36:1 しか出なかった。基準ではなく色のほうを上げる */
  color: color-mix(in srgb, var(--c-ink) 86%, var(--c-bg));
}

.ft__value { font-size: 14px; }

.ft__head {
  margin: 0 0 .7rem;
  font-family: var(--f-display);
  font-weight: var(--f-display-weight, 700);
  font-size: 14px;
  letter-spacing: .06em;
}

.ft__go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 1.3em;
  border-radius: 6px;
  border-left: 3px solid var(--c-accent);
  background: color-mix(in srgb, var(--c-accent) 26%, #FFFFFF);
  color: var(--c-ink);
  font-size: 15px;
  text-decoration: none;
}

.ft__go:hover { background: color-mix(in srgb, var(--c-accent) 42%, #FFFFFF); }

.ft__mail { margin: .9rem 0 0; font-size: 14px; }

.ft__list { margin: 0; padding: 0; list-style: none; }

.ft__item + .ft__item { margin-top: .2rem; }

.ft__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  color: var(--c-ink);
  text-underline-offset: 4px;
}

.ft__copy {
  margin: clamp(1.6rem, 5vw, 2.6rem) auto 0;
  max-width: 1080px;
  font-size: 13px;
  /* ★B16: 70% → 86%（実描画コントラストのため） */
  color: color-mix(in srgb, var(--c-ink) 86%, var(--c-bg));
}

/* ------------------------------------------------ 法務ページの本文 */

.doc {
  margin: 0 auto;
  max-width: 760px;
  padding: clamp(2.4rem, 8vw, 4.4rem) clamp(1.15rem, 5vw, 2rem) clamp(2.4rem, 8vw, 4rem);
  color: var(--c-ink);
  font-family: var(--f-body);
  line-height: 1.95;
  font-size: 15px;
}

.doc__title {
  margin: 0 0 .6rem;
  font-family: var(--f-display);
  font-weight: var(--f-display-weight, 700);
  font-size: clamp(1.5rem, 5.4vw, 2.2rem);
  line-height: 1.35;
  letter-spacing: -.01em;
}

.doc__stamp {
  margin: 0 0 2.2rem;
  font-size: 13px;
  /* ★B16: 68% → 86%（実描画コントラストのため） */
  color: color-mix(in srgb, var(--c-ink) 86%, var(--c-bg));
}

.doc__h2 {
  margin: 2.4rem 0 .6rem;
  font-family: var(--f-display);
  font-weight: var(--f-display-weight, 700);
  font-size: 16px;
  letter-spacing: .02em;
}

.doc__p { margin: 0 0 .9rem; font-size: 15px; }

.doc__dl { margin: 0; }

.doc__dt {
  margin-top: 1.5rem;
  font-size: 14px;
  letter-spacing: .03em;
  /* ★B16: 72% → 88%（実描画コントラストのため） */
  color: color-mix(in srgb, var(--c-ink) 88%, var(--c-bg));
}

.doc__dd { margin: .15rem 0 0; font-size: 15px; }

.doc__note {
  margin: .9rem 0 0;
  padding: .9rem 1.1rem;
  border-left: 3px solid var(--c-accent);
  background: color-mix(in srgb, var(--c-accent) 10%, transparent);
  font-size: 14px;
}

.doc__ul { margin: 0 0 .9rem; padding-left: 1.25em; }

.doc__li { font-size: 15px; }

.doc__back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 2.4rem;
  font-size: 14px;
  color: var(--c-ink);
  text-underline-offset: 4px;
}
