/* 整理版（2026-09-18）: 演出を増やさず、最終頁を電話番号の主役に整える。 */

/* 奥付の金線は右端まで走らせない。本文幅に収め、右へ向かって薄れて収束する。 */
footer { border-top: 0; position: relative; }
footer::before {
  content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(780px, calc(100% - 80px)); height: 1px;
  background: linear-gradient(90deg, rgba(156,127,67,.42), rgba(156,127,67,.30) 55%, rgba(156,127,67,0));
}

/* 最終頁: 締めの余韻。要素の間を少し広げ、電話番号の下の金線は番号の幅に留める。 */
@media (min-width: 821px) and (min-height: 700px) {
  html:not(.off-pages) .call .kicker { margin-bottom: 6px; }
  html:not(.off-pages) .call .tel { margin: 40px 0 24px; }
  html:not(.off-pages) .call .map { margin-top: 60px; }
}
.call .tel { align-self: center; }

/* 表紙の下線は右列の縦線まで伸ばさない。本文側（左の余白から右列の手前）だけに引く。 */
@media (min-width: 1080px) and (min-height: 700px) {
  .cover { border-bottom: 0; }
  .cover::before {
    content: ""; position: absolute; left: 56px; right: 232px; bottom: 0; height: 1px; background: var(--rule);
  }
  /* 1画面1章では表紙も1画面に収め、スクロール途中で下線が縦線を横切らないようにする。 */
  html:not(.off-pages) .cover { min-height: 100svh; }
}

/* 奥付は電話番号と同じ中心軸。事務所名と所在地を1行に中央揃え。高さは従来どおり約86px。 */
footer { padding: 25px 0 24px; }
footer .wrap {
  justify-content: center; align-items: baseline; gap: 6px 28px; text-align: center;
  padding-right: 40px; /* 右余白90pxの補正を戻し、電話番号の中心と揃える */
}
footer .wrap::before { display: none; }
footer .name { font-size: 14px; letter-spacing: .22em; }
footer p { font-size: 12px; letter-spacing: .14em; }
/* follow.css の右余白90px（詳細度 html:not(.off-follow) footer .wrap）より優先させる。 */
@media (min-width: 1080px) { html:root footer .wrap { padding-right: 40px; } }
@media (max-width: 820px) {
  footer .wrap { flex-direction: column; align-items: center; gap: 2px; padding-right: 28px; }
}

/* 章切替の受け渡し: 見出しがまず収まり、本文が半歩遅れて続く。跳ねない曲線。 */
@media (min-width: 821px) {
  html.has-motion:not(.off-settle) main > section.wrap > * { transition-duration: 1s; transition-timing-function: cubic-bezier(.2, .7, .2, 1); }
  html.has-motion:not(.off-settle) main > section.wrap > * + * { transition-delay: .16s; }
}
