/**
 * site-editorial-prose.css
 * トップと共通の編集トーン（幅広リード・日本語本文・リンク行）
 */
:root {
  --font-jp: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  --site-text-measure: min(1120px, 94vw);
  --index-copy-max: min(46em, 90vw);
}

.site-prose,
.index-office {
  width: 100%;
  max-width: var(--site-text-measure);
  margin: 0 auto;
  padding: clamp(20px, 3vw, 28px) clamp(20px, 4vw, 72px) clamp(24px, 3.5vw, 32px);
  box-sizing: border-box;
}
.index-office {
  max-width: var(--index-copy-max, min(46em, 90vw));
  text-align: center;
}
.site-prose--tight {
  padding-top: 0;
  padding-bottom: clamp(16px, 2.5vw, 24px);
}
.site-prose--centered {
  text-align: center;
}
.site-prose--centered .site-prose__eyebrow,
.site-prose--centered .site-prose__tagline,
.site-prose--centered .site-prose__lead,
.site-prose--centered .site-prose__desc {
  text-align: center;
}
.site-prose--centered .site-prose__links {
  justify-content: center;
}

.site-prose__eyebrow,
.index-office-eyebrow {
  font-size: 0.5625rem;
  font-weight: 400;
  letter-spacing: 0.38em;
  line-height: 1.5;
  text-transform: uppercase;
  margin: 0 0 0.65em;
  color: var(--accent, #c9a962) !important;
  font-family: var(--font-body, "Jost", sans-serif) !important;
  text-align: center;
}
.index-office-eyebrow { text-align: center; }
.site-prose__tagline,
.index-office-tagline {
  font-size: clamp(1.125rem, 1.5vw, 1.375rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5;
  color: var(--black, #0a0a0a) !important;
  margin: 0 0 clamp(1rem, 2.2vw, 1.35rem);
  font-family: var(--font-jp) !important;
  text-align: center;
}
.site-prose__body,
.index-office-body {
  display: grid;
  gap: clamp(0.65rem, 1.2vw, 0.9rem);
}
.site-prose__lead,
.index-office-lead {
  font-size: 0.9375rem;
  line-height: 2 !important;
  letter-spacing: 0.04em;
  color: var(--gray-600, #5a5752) !important;
  margin: 0;
  font-family: var(--font-jp) !important;
  text-align: center;
  text-wrap: pretty;
  line-break: strict;
  word-break: normal;
  overflow-wrap: anywhere;
}
.site-prose__desc,
.index-office-desc {
  font-size: 0.875rem;
  line-height: 2 !important;
  letter-spacing: 0.04em;
  color: var(--gray-600, #5a5752) !important;
  margin: 0;
  font-family: var(--font-jp) !important;
  text-align: center;
}
.index-office-body {
  text-align: center;
}
.site-prose__links,
.index-office-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5em 1.35em;
  margin: clamp(1.35rem, 2.8vw, 1.85rem) 0 0;
  padding: clamp(1rem, 2vw, 1.25rem) 0 0;
  border-top: 1px solid var(--gray-100, #edeae5);
}
.index-office-links {
  border-top-color: var(--gray-100, #f0eeeb);
}
.site-prose--centered .site-prose__links {
  border-top: none;
  padding-top: 0.5rem;
}
.site-prose__links a,
.index-office-links a {
  font-family: var(--font-jp) !important;
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.5 !important;
  color: var(--gray-700, #4a4540) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(44, 41, 38, 0.18);
  padding-bottom: 2px;
  transition: border-color 0.22s ease, color 0.22s ease;
}
.site-prose__links a:hover,
.index-office-links a:hover {
  opacity: 1;
  color: var(--black, #0a0a0a) !important;
  border-bottom-color: var(--accent, #c9a962);
}

.jumbotron p.site-hero-dek,
.jumbotron p.index-hero-dek {
  font-size: clamp(11px, 1.15vw, 13px);
  font-weight: 300;
  letter-spacing: 0.12em;
  line-height: 1.55;
  color: var(--gray-500, #857f77) !important;
  margin: 0;
  text-transform: none;
}
.site-hero-dek__sep,
.index-hero-dek__sep {
  margin: 0 0.15em;
  font-weight: 300;
  color: var(--gray-300, #bfb9b0);
}
.site-hero-dek__loc,
.index-hero-dek__loc {
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.92em;
}

@media (max-width: 768px) {
  .site-prose__tagline,
  .index-office-tagline {
    letter-spacing: 0.08em;
  }
  .site-prose__links,
  .index-office-links {
    gap: 0.65em 1.1em;
  }
  .jumbotron p.site-hero-dek .site-hero-dek__loc,
  .jumbotron p.index-hero-dek .index-hero-dek__loc {
    display: block;
    margin-top: 0.35em;
    letter-spacing: 0.14em;
  }
}
