/* 産業医への道：全ページ共通のフッター（2026-10 デザイン）。クラスは rff- で始まり、ほかには効かない。
   新しいデザインが有効なとき（表示設定のチェック・プレビュー）だけ読み込まれ、SWELL の1行のフッターを置き換える。 */
#footer.l-footer { display: none; }
.rff { --navy: #1F2A44; --navy-d: #18213A; --ink: #CFD6E4; --dim: #9AA6BD; --blue-l: #8EC2F2; --line: rgba(255,255,255,.12);
  background: var(--navy); color: var(--ink); font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif; line-height: 1.8; }
.rff *, .rff *::before, .rff *::after { box-sizing: border-box; }
.rff a { color: inherit; text-decoration: none; }
.rff a:hover { color: #fff; }
.rff ul { margin: 0; padding: 0; list-style: none; }
.rff p { margin: 0; }
.rff__in { width: min(1200px, 100% - 64px); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
  gap: 40px; padding: 56px 0 44px; }

/* サイト名・紹介・執筆者 */
.rff__logo { display: inline-grid; gap: 8px; }
.rff__logo img { height: 50px; width: auto; }
.rff__logo small { color: var(--dim); font-size: 12px; letter-spacing: .05em; }
.rff__desc { margin-top: 16px; font-size: 13.5px; }
.rff__author { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.rff__author img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,.7); }
.rff__author span { display: grid; line-height: 1.5; }
.rff__author b { color: #fff; font-size: 14px; }
.rff__author small { color: var(--dim); font-size: 11.5px; }

/* リンクの列 */
.rff__ttl { color: #fff; font-weight: 700; font-size: 15px; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--line); letter-spacing: .04em; }
.rff__col li a { display: flex; align-items: baseline; gap: 8px; padding: 5px 0; font-size: 13.5px; }
.rff__col li a::before { content: ""; flex: none; width: 6px; height: 6px; margin-top: .55em; border-top: 2px solid var(--blue-l); border-right: 2px solid var(--blue-l);
  transform: rotate(45deg); }
.rff__col li small { color: var(--dim); font-size: 11.5px; }

/* 一番下 */
.rff__bottom { background: var(--navy-d); border-top: 1px solid var(--line); }
.rff__bottomIn { width: min(1200px, 100% - 64px); margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 6px 24px; padding: 16px 0; font-size: 12px; color: var(--dim); }

/* 960px 未満：2列 */
@media (max-width: 959px) {
  .rff__in { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; width: min(1200px, 100% - 48px); }
  .rff__brand { grid-column: 1 / -1; }
  .rff__bottomIn { width: min(1200px, 100% - 48px); }
}
/* 〜719px：1列（リンクは2列） */
@media (max-width: 719px) {
  .rff__in { grid-template-columns: 1fr; gap: 28px; width: calc(100% - 32px); padding: 40px 0 32px; }
  .rff__col ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
  .rff__in > .rff__col:nth-child(2) ul { grid-template-columns: 1fr; }   /* まずはここから：題名が長いので1列 */
  .rff__col li a { font-size: 13px; }
  .rff__bottomIn { width: calc(100% - 32px); flex-direction: column; align-items: flex-start; padding-bottom: 80px; }
}
