/************************************
** フッター（2026-10-18、inc-footer.php）
************************************/
/* 古いフッター（ウィジェットのサイトマップ・ロゴ・メニュー）は使わない */
.footer .footer-widgets,
.footer .footer-widgets-mobile { display: none !important; }

.footer.footer-container { background: #F7F4EA; border-top: 1px solid #E6E1D6; }
.footer .footer-in { max-width: 1200px; padding: 0 24px; }

.etf { padding: 56px 0 24px; color: #526477; font-size: 15px; }
.etf-top { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 3fr); gap: 40px; }
.etf-name {
  display: inline-block;
  font: 700 22px/1.2 var(--et-font-heading, system-ui, sans-serif);
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: #1F3A5F !important;
  text-decoration: none;
}
.etf-tagline { margin: 8px 0 0 !important; font-size: 15px; line-height: 1.5; color: #526477; max-width: 26ch; }

.etf-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.article .etf-h, .etf-h {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  background: none;
  font: 700 13px/1.2 var(--et-font-heading, system-ui, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1F3A5F;
}
.etf-h::before, .etf-h::after { content: none !important; }
.etf-links { list-style: none; margin: 0; padding: 0; }
.etf-links li { margin: 0 0 10px; padding: 0; border: 0; background: none; }
.etf-links li::before { content: none; }
.etf-links a, .etf-legal a {
  color: #526477 !important;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  transition: color .15s ease;
}
.etf-links a:hover, .etf-legal a:hover { color: #C8412A !important; text-decoration: underline; text-underline-offset: 3px; }
.etf-links a:focus-visible, .etf-legal a:focus-visible, .etf-name:focus-visible { outline: 2px solid #1F3A5F; outline-offset: 2px; border-radius: 2px; }

/* SNS：アイコン＋名前 */
.etf-sns a { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; }
.etf-sns-icon {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid #E6E1D6;
  color: #1F3A5F;
  font-size: 16px;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.etf-sns a:hover .etf-sns-icon { background: #C8412A; border-color: #C8412A; color: #FFFFFF; }

/* 最下部：法的情報とコピーライト */
.etf-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #E2DCCD;
}
.etf-legal { display: flex; flex-wrap: wrap; gap: 4px 0; list-style: none; margin: 0; padding: 0; }
.etf-legal li { margin: 0; padding: 0; display: flex; align-items: center; }
.etf-legal li + li::before { content: "|"; margin: 0 12px; color: #B9B2A2; }
.etf-legal a { font-size: 14px; }
.etf-copy { margin: 0 !important; font-size: 13px; color: #7A8796; }

/* ---------- タブレット ---------- */
@media (max-width: 1023px) {
  .etf-top { grid-template-columns: 1fr; gap: 28px; }
  .etf-tagline { max-width: none; }
}

/* ---------- スマートフォン ---------- */
@media (max-width: 767px) {
  .footer .footer-in { padding: 0 16px; }
  .etf { padding: 40px 0 20px; }
  .etf-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  .etf-links li { margin-bottom: 4px; }
  .etf-links a { display: inline-flex; align-items: center; min-height: 40px; }
  .etf-sns a { min-height: 44px; }
  .etf-sns-icon { width: 36px; height: 36px; font-size: 18px; }
  .etf-bottom { flex-direction: column; align-items: flex-start; margin-top: 28px; }
  .etf-legal a { display: inline-flex; align-items: center; min-height: 40px; }
}
@media (max-width: 359px) {
  .etf-cols { grid-template-columns: 1fr; }
}

/* ---------- 2026-11-08 見た目の統一：フッターを紺にして本文との境目をはっきりさせる ---------- */
.footer.footer-container { background: #1F3A5F; border-top: 0; }
.etf, .etf-tagline { color: #D5DEE8; }
.etf-name { color: #FFFFFF !important; }
.article .etf-h, .etf-h { color: #FFFFFF; }
.etf-links a, .etf-legal a { color: #D5DEE8 !important; }
.etf-links a:hover, .etf-legal a:hover { color: #FFFFFF !important; }
.etf-links a:focus-visible, .etf-legal a:focus-visible, .etf-name:focus-visible { outline-color: #FFFFFF; }
.etf-bottom { border-top-color: rgba(255, 255, 255, .2); }
.etf-legal li + li::before { color: rgba(255, 255, 255, .4); }
.etf-copy { color: #AFC0D2; }
/* SNS アイコン：丸い形で統一（紺の背景の上では白い丸に紺のマーク） */
.etf-sns-icon { background: #FFFFFF; border-color: #FFFFFF; color: #1F3A5F; }
.etf-sns a:hover .etf-sns-icon { background: #D5DEE8; border-color: #D5DEE8; color: #1F3A5F; }

/* 2026-11-10 規約などの並び：折り返したとき、行の頭に区切り線「|」が残っていた。
   区切り線を全項目の左に付け、その分だけ左へずらして、はみ出した線（各行の先頭）を見えなくする */
.etf-legal { overflow: hidden; gap: 4px 25px; }
.etf-legal li { margin-left: -25px; }
.etf-legal li::before, .etf-legal li + li::before { content: ""; display: block; width: 1px; height: 14px; margin: 0 12px; background: rgba(255, 255, 255, .4); }
.etf-legal a:focus-visible { outline-offset: -2px; }
