@charset "UTF-8";
/* ==========================================================================
   AFP Directory — Header / Footer override
   jinrの既存ヘッダー/フッターを上書きしてオフホワイト+ボルドーに合わせる
   ========================================================================== */

.afp-skin #wrapper { background: var(--afp-bg); }

/* --- Site header ------------------------------------------------------- */
.afp-skin .a--header-style-parts,
.afp-skin #headerBox,
.afp-skin .o--header {
  background: var(--afp-bg-elev) !important;
  border-bottom: 1px solid var(--afp-line);
  box-shadow: 0 1px 0 var(--afp-line-soft);
}
.afp-skin #headerInner {
  max-width: var(--afp-container-wide);
  margin: 0 auto;
  padding: 0 var(--afp-s-5);
}

.afp-skin .c--site-title,
.afp-skin .c--site-title a {
  font-family: var(--afp-serif-jp);
  font-weight: 700;
  color: var(--afp-ink) !important;
  letter-spacing: var(--afp-ls-tight);
}

.afp-skin #headerNav ul li a {
  font-family: var(--afp-sans-jp);
  font-weight: 600;
  font-size: var(--afp-fs-sm) !important;
  letter-spacing: .04em;
  color: var(--afp-ink) !important;
  position: relative;
}
.afp-skin #headerNav ul li a::after {
  content: "";
  position: absolute;
  left: 50%; bottom: -6px;
  width: 0; height: 2px;
  background: var(--afp-bordeaux);
  transition: width var(--afp-dur-base) var(--afp-ease), left var(--afp-dur-base) var(--afp-ease);
}
.afp-skin #headerNav ul li a:hover::after,
.afp-skin #headerNav ul li.current-menu-item a::after { width: 24px; left: calc(50% - 12px); }

/* --- Footer ----------------------------------------------------------- */
.afp-skin #footer {
  background: var(--afp-ink) !important;
  color: var(--afp-bg-tint);
  padding: var(--afp-s-9) 0 var(--afp-s-6);
  margin-top: var(--afp-s-9);
}
.afp-skin #footer a { color: var(--afp-gold-soft); }
.afp-skin #footer a:hover { color: #fff; }
.afp-skin #footer-info,
.afp-skin .c--copyright {
  color: var(--afp-ink-mute);
  font-size: var(--afp-fs-xs);
  letter-spacing: .04em;
}

/* === Sub-area header (固定ページ階層用：エリア名のヘッダー) =================== */
.afp-areahead {
  background: linear-gradient(135deg, var(--afp-bg-tint) 0%, var(--afp-bordeaux-pale) 100%);
  padding: var(--afp-s-7) 0 var(--afp-s-6);
  border-bottom: 1px solid var(--afp-line);
  position: relative;
  overflow: hidden;
}
.afp-areahead::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/areahead-pattern.svg") center / cover no-repeat;
  opacity: .06;
}
.afp-areahead__inner { position: relative; }
.afp-areahead__en {
  font-family: var(--afp-serif-en);
  font-style: italic;
  font-weight: 500;
  color: var(--afp-bordeaux);
  letter-spacing: var(--afp-ls-loose);
  text-transform: uppercase;
  font-size: var(--afp-fs-sm);
  margin-bottom: var(--afp-s-2);
}
.afp-areahead__jp {
  font-family: var(--afp-serif-jp);
  font-weight: 700;
  font-size: clamp(24px, 3.5vw, 38px);
  line-height: 1.45;
  letter-spacing: var(--afp-ls-tight);
  color: var(--afp-ink);
  margin: 0;
}
.afp-areahead__sub {
  margin-top: var(--afp-s-3);
  font-size: var(--afp-fs-sm);
  color: var(--afp-ink-soft);
  line-height: 1.85;
  max-width: 720px;
}
