/* =============================================================================
   article-template-go-forth.css — GO FORTH記事ページ共通【固定済み・2026-08-26】
   article-template.css の後に読み込む。
   ・固定基準記事: articles/fukuoka/mothers-dogs/go-forth/2026-06-28-001/
   ・新テンプレート（.gf-article）：基準記事の完成値を正本とする
   ・旧構造（bs-lead / bs-body）：未移行記事向けに当面維持
   ・HERO（GO FORTH／サブコピー）は全記事共通。個別調整禁止
   ・Related Stories 本人情報2行目の縮小は PC（min-width:769px）のみ。SPへ適用しない
   ・明示指示がない限り、見た目に影響する数値変更・最適化を行わない
   記事ごとのヒーロー画像は HTML 内 <style> で指定。
   ============================================================================= */

/* --- 旧構造向け（正本7記事。新テンプレート展開まで維持） --- */
body.page-go-forth.page-legacy-article {
  --feature-accent: #8f3a32;
  --feature-accent-bg: #8f3a32;
  --feature-accent-editorial: #8f3a32;
}

body.page-go-forth.page-legacy-article .bs-body-subhead {
  margin: 30px 0 12px;
  padding: 0;
  font-family: var(--bs-font-yumin, YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.8;
  color: #333333;
}

body.page-go-forth.page-legacy-article .bs-body-text + .bs-body-image {
  margin-top: 40px;
}

@media screen and (max-width: 1023px) {
  body.page-go-forth.page-legacy-article .bs-lead-entity {
    padding-top: 40px;
  }

  body.page-go-forth.page-legacy-article .bs-lead-title {
    padding-bottom: 43px;
  }

  body.page-go-forth.page-legacy-article .bs-body-subhead {
    margin-top: 10px;
  }

  body.page-go-forth.page-legacy-article .bs-body-text h2 {
    padding-bottom: 34px;
  }

  body.page-go-forth.page-legacy-article.page-article .bs-body > .bs-body-text .bs-body-text-inner > p:has(+ .bs-body-subhead) {
    padding-bottom: 70px;
  }

  body.page-go-forth.page-legacy-article.page-article .bs-body > .bs-body-text .bs-body-text-inner > p:has(> strong):has(+ .bs-body-subhead) {
    padding-top: 20px;
  }
}

@media screen and (min-width: 1024px) {
  body.page-go-forth.page-legacy-article .bs-lead-entity {
    padding-top: 95px;
    padding-bottom: 55px;
    font-size: 13px;
  }

  body.page-go-forth.page-legacy-article .bs-lead-title {
    margin-top: -24px;
    font-size: 41px;
  }

  body.page-go-forth.page-legacy-article .bs-body-subhead {
    font-size: 25px;
  }

  body.page-go-forth.page-legacy-article .bs-lead-body .bs-body-subhead {
    margin-top: 0;
    margin-bottom: 24px;
  }
}

/* --- 新テンプレート（.gf-article）— 固定基準記事 2026-06-28-001 の完成値 --- */
/* --- 変数（旧 --ep-article-*） --- */
body.page-go-forth.page-legacy-article:has(.gf-article) {
  --gf-article-max: 1080px;
  --gf-article-gutter: clamp(22px, 4vw, 48px);
  --gf-article-ink: #1a1816;
  --gf-article-paper: #faf8f5;
  --gf-article-paper-deep: #f3efe9;
  overflow-x: hidden;
}

/* --- HERO見出し（全GO FORTH記事共通。正本は 2026-06-30-001。画像・高さは記事側） ---
   道 / 斜線 / GO FORTH / 補助文 の1組だけ。
   PC: 道 105.930396px / 74.3994px / GO FORTH 38.68155648px / 補助文 18.435465216px
   SP: 道 62.189702484px / 40.0476px / GO FORTH 24.288px / 補助文 10.820304px */
body.page-go-forth.page-legacy-article .gf-hero-compare-lockup {
  display: none;
}

body.page-go-forth.page-legacy-article.gf-hero-compare .bs-hero-inner {
  width: auto;
  max-width: calc(100% - 56px);
  transform: none;
}

body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-lockup {
  --gf-hero-lead-size: 18.435465216px;
  --gf-hero-copy-gap: 4.96px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  column-gap: 22px;
  max-width: 100%;
  padding-bottom: 34px;
}

body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-title {
  margin: calc(107.0004px - 117.70044px) 0 0 calc(107.0004px - 117.70044px);
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 105.930396px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  color: #ffffff;
  transform: translateY(3.41px);
}

body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-group {
  display: flex;
  align-items: flex-end;
  column-gap: 14px;
}

body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-slash {
  display: block;
  margin: 0;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 74.3994px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 0.89625;
  color: #ffffff;
  transform: translateY(1.74px);
}

body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-brand {
  margin: 0;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 38.68155648px;
  font-weight: 500;
  letter-spacing: 0.22em;
  line-height: 1;
  color: #ffffff;
  padding-left: 2px;
}

body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-lead {
  margin: var(--gf-hero-copy-gap) 0 0;
  white-space: nowrap;
  font-family: var(--font-page-serif);
  font-size: var(--gf-hero-lead-size);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #ffffff;
  transform: translateX(3px);
}

@media screen and (min-width: 769px) {
  body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-stack {
    margin-right: 18.539px;
  }
}

@media screen and (max-width: 768px) {
  body.page-go-forth.page-legacy-article.gf-hero-compare .bs-hero-inner {
    max-width: calc(100% - 32px);
  }

  body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-lockup {
    --gf-hero-lead-size: 10.820304px;
    --gf-hero-copy-gap: 2.85px;
    column-gap: 12.5px;
    padding-bottom: 29.49px;
  }

  body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-title {
    font-size: 62.189702484px;
    margin-top: calc(61.902475px - 67.5975027px);
    margin-left: calc(61.902475px - 67.5975027px);
    transform: translateY(1.98px);
  }

  body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-group {
    column-gap: 8px;
  }

  body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-slash {
    font-size: 40.0476px;
    transform: translateY(0.94px);
  }

  body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-brand {
    font-size: 24.288px;
    font-weight: 700;
    letter-spacing: 0.12em;
    padding-left: 1.17px;
  }

  body.page-go-forth.page-legacy-article.gf-hero-compare .gf-hero-compare-lead {
    letter-spacing: 0.04em;
    transform: translateX(4px);
  }
}

/* --- 本文ラッパー（.gf-article があるページ） --- */
body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--gf-article-ink);
  background: var(--gf-article-paper);
}

/* --- 共通メディア --- */
body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-media--pos-center {
  object-position: center center;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-figure {
  margin: 0;
  width: 100%;
}

/* --- INTRO --- */
body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(52px, 6vw, 84px) var(--gf-article-gutter) clamp(80px, 9vw, 128px);
  background: var(--gf-article-paper);
  border-bottom: none;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-inner {
  max-width: var(--gf-article-max);
  margin: 0 auto;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label {
  display: inline-block;
  margin: 0 0 59px;
  padding-bottom: 4.2px;
  border-bottom: 1px solid rgba(26, 24, 22, 0.38);
  font-family: var(--font-page-serif);
  font-size: 13px;
  font-weight: 350;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: none;
  color: var(--gf-article-ink);
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-primary,
body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-secondary {
  display: block;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-primary {
  font-size: 23.1px;
  font-weight: 500;
  color: #3f6070;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-secondary {
  margin-top: 0.286em;
  font-size: 10.34px;
  font-weight: 300;
  font-synthesis: none;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-heading {
  max-width: none;
  margin: 0 0 clamp(56px, 5.83vw, 79px);
  font-family: var(--font-page-serif);
  font-size: clamp(34px, 2.4vw + 16px, 44px);
  font-weight: 500;
  line-height: 1.78;
  letter-spacing: 0.04em;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-body {
  max-width: none;
  width: 100%;
  font-size: clamp(16px, 0.3vw + 15px, 18px);
  line-height: 2;
  letter-spacing: 0.03em;
  color: var(--gf-article-ink);
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-body p {
  margin: 0;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-body p + p {
  margin-top: 1.12em;
}

/* --- 本文セクション 001–003 --- */
body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 var(--gf-article-gutter);
  background: var(--gf-article-paper);
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section.gf-article-section-001,
body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section.gf-article-section-002,
body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section.gf-article-section-003 {
  background: var(--gf-article-paper-deep);
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section.gf-article-section-003 {
  padding-bottom: clamp(68px, 7vw, 112px);
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  align-items: start;
  max-width: var(--gf-article-max);
  margin: 0 auto;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-body {
  min-width: 0;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-001 .gf-article-section-body,
body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-003 .gf-article-section-body {
  padding-right: clamp(28px, 4vw, 56px);
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-002 .gf-article-section-body {
  padding-left: clamp(28px, 4vw, 56px);
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-heading {
  margin-top: clamp(48px, 5.2vw, 80px);
  margin-bottom: clamp(28px, 3.2vw, 44px);
  margin-left: 0;
  margin-right: 0;
  font-family: var(--font-page-serif);
  font-size: clamp(18px, 1.25vw + 13px, 24px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-text {
  font-size: clamp(14px, 0.25vw + 13px, 15px);
  line-height: 2;
  letter-spacing: 0.03em;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-text p {
  margin: 0;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-text p + p {
  margin-top: 1.25em;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-image {
  min-width: 0;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-image .gf-article-figure {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #e8e2da;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-image .gf-article-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- Related Stories（HOME同型） --- */
body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-link {
  --gf-rs-text-pad-x: clamp(18px, 2vw, 24px);
  --gf-rs-foot-bottom: clamp(22px, 2.4vw, 30px);
  --gf-rs-foot-h: clamp(78px, 8vw, 96px);
  --gf-rs-title-foot-gap: clamp(8px, 0.9vw, 12px);
  --gf-rs-desc-cta-gap: clamp(8px, 0.9vw, 12px);
  --gf-rs-cta-block-h: calc(
    clamp(4px, 0.5vw, 8px) + (clamp(7px, 0.7vw, 9px) * 2) +
      (clamp(11px, 0.32vw + 9px, 12px) * 1.3)
  );
  --gf-rs-title-top: calc(52% + clamp(12px, 1.1vw, 18px) + 10px);
  --gf-rs-heading-line-h: calc(clamp(16px, 0.55vw + 13px, 20px) * 1.4 + 6px);
}

body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-content {
  inset: 0;
  display: block;
  gap: 0;
  padding: 0;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-heading {
  position: absolute;
  top: var(--gf-rs-title-top);
  left: var(--gf-rs-text-pad-x);
  right: var(--gf-rs-text-pad-x);
  bottom: calc(var(--gf-rs-foot-bottom) + var(--gf-rs-foot-h) + var(--gf-rs-title-foot-gap));
  margin: 0;
  overflow: hidden;
}

body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-desc {
  position: absolute;
  left: var(--gf-rs-text-pad-x);
  right: var(--gf-rs-text-pad-x);
  bottom: calc(var(--gf-rs-foot-bottom) + var(--gf-rs-cta-block-h) + var(--gf-rs-desc-cta-gap));
  margin: 0;
}

body.page-go-forth.page-legacy-article .bs-curious-card-desc-primary,
body.page-go-forth.page-legacy-article .bs-curious-card-desc-secondary {
  display: inline;
}

/* PCのみ：本人情報2行目（所属／職種）を一段小さく【固定・11.5px】。SPへは適用しない */
@media screen and (min-width: 769px) {
  body.page-go-forth.page-legacy-article .bs-curious-card-desc-secondary {
    font-size: 11.5px;
  }
}

body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-cta {
  position: absolute;
  left: var(--gf-rs-text-pad-x);
  bottom: var(--gf-rs-foot-bottom);
  margin-top: 0;
}

/* --- PC（769px〜） --- */
@media screen and (min-width: 769px) {
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-sp-only-break {
    display: none;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-link {
    --gf-rs-title-top: calc(
      52% + clamp(12px, 1.1vw, 18px) + 10px - var(--gf-rs-heading-line-h)
    );
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-heading {
    font-weight: 575;
  }
}

/* --- PC（1024px〜） --- */
@media screen and (min-width: 1024px) {
  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-company > .bs-split.container {
    width: 100%;
    max-width: min(var(--gf-article-max), calc(100% - 2 * var(--gf-article-gutter)));
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1199px) {
  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-inner {
    max-width: min(100%, calc((var(--bs-section-max-lg) + 78px) * 1.045));
  }
}

@media screen and (min-width: 1200px) and (max-width: 1399px) {
  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-inner {
    max-width: min(100%, calc((var(--bs-section-max-xl) + 78px) * 1.045));
  }
}

@media screen and (min-width: 1400px) {
  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-inner {
    max-width: min(100%, calc((var(--bs-section-max-xxl) + 78px) * 1.045));
  }
}

/* --- SP（〜768px） --- */
@media screen and (max-width: 768px) {
  body.page-go-forth.page-legacy-article:has(.gf-article) {
    --gf-article-gutter: 22px;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-pc-only-break {
    display: none;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .bg-switcher.bs-hero {
    height: 528px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro {
    padding: 36px var(--gf-article-gutter) 80px;
    border-bottom: none;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-inner {
    max-width: none;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label {
    margin-bottom: 50px;
    padding-bottom: 3.15px;
    font-size: 12px;
    font-weight: 350;
    letter-spacing: 0.12em;
  }

  /* GO FORTH個別記事 SP 導入部 完成仕様。幅768px以下の導入文字サイズ。 */
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-primary {
    font-size: 17.1px;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-secondary {
    margin-top: 2.6884px;
    font-size: 8.46px;
  }

  /* 区切り線はラベル幅。縮小前の文字幅を高さ0で保持し、線の長さを変えない */
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-primary::before,
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-secondary::before {
    content: attr(data-line);
    content: attr(data-line) / "";
    display: block;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden;
    margin: 0;
    padding: 0;
    pointer-events: none;
    user-select: none;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-primary::before {
    font-size: 19px;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-label .gf-intro-label-secondary::before {
    font-size: 9.4px;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-heading {
    max-width: none;
    margin-bottom: 53px;
    font-size: 26.46px;
    line-height: 1.78;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-body {
    max-width: none;
    width: 100%;
    font-size: 15.3px;
    line-height: 2;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-body p + p {
    margin-top: 19.04px;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section {
    padding: 0 var(--gf-article-gutter);
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-heading {
    margin-top: 52px;
    margin-bottom: 28px;
    font-size: 21px;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    max-width: none;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-image {
    order: 1;
    width: 100%;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-body {
    order: 2;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-001 .gf-article-section-body,
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-002 .gf-article-section-body,
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-003 .gf-article-section-body {
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding-left: 14px;
    padding-right: 14px;
    padding-bottom: 64px;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section.gf-article-section-003 {
    padding-bottom: 0;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-image .gf-article-figure {
    aspect-ratio: 4 / 5;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-section-image .gf-article-media {
    object-position: center center;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-heading {
    font-size: clamp(19.1px, 0.66vw + 15.6px, 24px);
    letter-spacing: 0.055em;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .bs-curious-card-link {
    --gf-rs-heading-size-sp: clamp(19.1px, 0.66vw + 15.6px, 24px);
    --gf-rs-title-top-sp-sub: calc(52% + clamp(12px, 1.1vw, 18px) + 10px);
    --gf-rs-title-top-offset: clamp(8px, 2.2vw, 10px);
    --gf-rs-title-top-safe-limit: calc(
      100% - var(--gf-rs-foot-bottom) - var(--gf-rs-foot-h) - var(--gf-rs-title-foot-gap) -
        ((var(--gf-rs-heading-size-sp) * 1.4 * 3) + clamp(8px, 0.9vw, 12px))
    );
    --gf-rs-title-top-safe: min(var(--gf-rs-title-top-sp-sub), var(--gf-rs-title-top-safe-limit));
    --gf-rs-title-top-headroom: max(
      0px,
      calc(var(--gf-rs-title-top-safe-limit) - var(--gf-rs-title-top-sp-sub))
    );
    --gf-rs-title-top-nudge: min(
      var(--gf-rs-title-top-offset),
      max(0px, calc(var(--gf-rs-title-top-headroom) - var(--gf-rs-title-top-offset) - 1px))
    );
    --gf-rs-title-top: calc(
      var(--gf-rs-title-top-safe) + var(--gf-rs-title-top-offset) + var(--gf-rs-title-top-nudge)
    );
  }
}

@media screen and (min-width: 376px) {
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-max-375-break {
    display: none;
  }
}

/*
 * 375px以下: 大見出し（.gf-article-intro-heading）の明示<br>を解除し、
 * 一続きの文としてブラウザの自然折り返しに任せる。
 * 390px以上では編集指定の明示改行を維持する。
 * font-size / width / gutter / margin / letter-spacing / line-height は変更しない。
 */
@media screen and (max-width: 375px) {
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-heading br {
    display: none;
  }

  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-heading br.gf-sp-only-break,
  body.page-go-forth.page-legacy-article:has(.gf-article) .gf-article-intro-heading br.gf-max-375-break {
    display: inline;
  }
}

/* --- INSIGHT（共通。正本は 2026-06-30-001 / 2026-06-28-001 / 2026-06-25-001 の同一指定） ---
   背景画像と背景位置は各記事の gf-article.css。
   2026-06-30-001 だけ PC の MY DAY 補助文下を 73.63px に上書きする。
   記事タイトルサイズは INSIGHT がある記事だけ。 */
body.page-go-forth.page-legacy-article .gf-insight-pilot {
  --gf-insight-ink: #1c1916;
  --gf-insight-muted: rgba(28, 25, 22, 0.62);
  --gf-insight-line: rgba(28, 25, 22, 0.14);
  --gf-insight-paper: #f6f3ee;
  --gf-insight-panel: #f0ebe4;
  --gf-insight-max: var(--gf-article-max, 1080px);
  --gf-insight-gutter: var(--gf-article-gutter, clamp(22px, 4vw, 48px));
  background: var(--gf-insight-paper);
  color: var(--gf-insight-ink);
  font-family: var(--font-page-serif);
}

body.page-go-forth.page-legacy-article .gf-insight-pilot header {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  max-width: none;
}

body.page-go-forth.page-legacy-article .gf-insight-main {
  max-width: var(--gf-insight-max);
  margin: 0 auto;
  padding: 0 var(--gf-insight-gutter) clamp(64px, 8vw, 96px);
}

body.page-go-forth.page-legacy-article .gf-insight-pilot .gf-insight-intro {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 650px;
  padding: 0 28px;
  color: #ffffff;
  background-color: #141210;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  body.page-go-forth.page-legacy-article .gf-insight-pilot {
    --gf-insight-gutter: 22px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-pilot .gf-insight-intro {
    height: 360px;
    padding: 0 16px;
  }
}

body.page-go-forth.page-legacy-article .gf-insight-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
  text-align: center;
}

body.page-go-forth.page-legacy-article .gf-insight-heading-en {
  margin: 0;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 76.8px;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1;
  color: #ffffff;
  padding-left: 0.18em;
}

body.page-go-forth.page-legacy-article .gf-insight-heading-ja {
  margin: 18px 0 0;
  font-family: var(--font-page-serif);
  font-size: 17.6px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5;
  color: #ffffff;
  padding-left: 0.06em;
}

@media screen and (max-width: 768px) {
  body.page-go-forth.page-legacy-article .gf-insight-heading-en {
    font-size: 38.4px;
    letter-spacing: 0.12em;
    padding-left: 0.12em;
  }

  body.page-go-forth.page-legacy-article .gf-insight-heading-ja {
    margin-top: 9px;
    font-size: 12px;
    letter-spacing: 0.04em;
    padding-left: 0.04em;
  }
}

body.page-go-forth.page-legacy-article .gf-insight-block {
  padding: 50px 0 0;
  border-bottom: 1px solid var(--gf-insight-line);
}

body.page-go-forth.page-legacy-article .gf-insight-block--shop {
  border-bottom: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-pilot .gf-insight-block-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0 0 30px;
  padding: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-en {
  margin: 0;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #8E8275;
}

body.page-go-forth.page-legacy-article .gf-insight-block h3 {
  margin: 8px 0 0;
  font-family: var(--font-page-serif);
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

body.page-go-forth.page-legacy-article .gf-insight-block-lead {
  margin: 8px 0 0;
  font-size: 13.5px;
  letter-spacing: 0.04em;
  line-height: 1.7;
  color: var(--gf-insight-muted);
}

body.page-go-forth.page-legacy-article .gf-insight-tl {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-tl li {
  display: grid;
  grid-template-columns: 3.4rem 14px minmax(0, 1fr);
  column-gap: 0.7rem;
  position: relative;
  padding-bottom: 1.15rem;
}

body.page-go-forth.page-legacy-article .gf-insight-tl li:last-child {
  padding-bottom: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-tl li::before {
  content: "";
  position: absolute;
  left: calc(3.4rem + 0.7rem + 6.5px);
  top: 0.55em;
  bottom: 0;
  width: 1px;
  background: #C8BCAB;
}

body.page-go-forth.page-legacy-article .gf-insight-tl li:last-child::before {
  bottom: auto;
  height: 0.55em;
}

body.page-go-forth.page-legacy-article .gf-insight-tl li::after {
  content: "";
  position: absolute;
  left: calc(3.4rem + 0.7rem + 3.5px);
  top: 0.38em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #A7977D;
}

body.page-go-forth.page-legacy-article .gf-insight-tl-time,
body.page-go-forth.page-legacy-article .gf-insight-tl-title,
body.page-go-forth.page-legacy-article .gf-insight-tl-detail {
  margin: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-tl-time {
  grid-column: 1;
  text-align: right;
  font-family: "Jost", "IBM Plex Sans", sans-serif;
  font-size: 13px;
  font-weight: 500;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: 0.02em;
  line-height: 1.45;
  padding-top: 0.05em;
  color: #8E8275;
}

body.page-go-forth.page-legacy-article .gf-insight-tl-body {
  grid-column: 3;
  min-width: 0;
  padding-top: 0.02em;
}

body.page-go-forth.page-legacy-article .gf-insight-tl-title {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.55;
  color: #38332F;
}

body.page-go-forth.page-legacy-article .gf-insight-tl-detail {
  margin-top: 0.15em;
  font-size: 11.7px;
  letter-spacing: 0.03em;
  line-height: 1.75;
  color: #817A72;
}

body.page-go-forth.page-legacy-article .gf-insight-day-photo,
body.page-go-forth.page-legacy-article .gf-insight-shop-photo {
  margin: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-day-photo img,
body.page-go-forth.page-legacy-article .gf-insight-shop-photo img {
  display: block;
  width: 100%;
  height: auto;
}

body.page-go-forth.page-legacy-article .gf-insight-strength {
  padding: 22px 24px 24px;
  background: var(--gf-insight-panel);
}

body.page-go-forth.page-legacy-article .gf-insight-strength-name {
  margin: 0 0 0.55em;
  font-family: var(--font-page-serif);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
  color: #625A52;
}

body.page-go-forth.page-legacy-article .gf-insight-strength p,
body.page-go-forth.page-legacy-article .gf-insight-notes p {
  margin: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-strength p {
  font-size: 14.5px;
  letter-spacing: 0.03em;
  line-height: 1.9;
}

body.page-go-forth.page-legacy-article .gf-insight-notes {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-notes li {
  display: grid;
  grid-template-columns: 8.5em minmax(0, 1fr);
  gap: 0.35em 1.75rem;
  align-items: baseline;
  padding: 0.85em 0;
  border-top: 1px solid var(--gf-insight-line);
}

body.page-go-forth.page-legacy-article .gf-insight-notes h4 {
  margin: 0;
  font-family: var(--font-page-serif);
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

body.page-go-forth.page-legacy-article .gf-insight-notes p {
  font-size: 12.6px;
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: var(--gf-insight-muted);
}

body.page-go-forth.page-legacy-article .gf-insight-shop-name {
  margin: 0 0 0.55em;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5;
}

body.page-go-forth.page-legacy-article .gf-insight-facts {
  margin: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-facts div {
  display: grid;
  grid-template-columns: 8.2em minmax(0, 1fr);
  gap: 0.2em 1em;
  padding: 0.15em 0;
  font-size: 13.5px;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

body.page-go-forth.page-legacy-article .gf-insight-facts dt,
body.page-go-forth.page-legacy-article .gf-insight-facts dd {
  margin: 0;
}

body.page-go-forth.page-legacy-article .gf-insight-facts dt {
  font-weight: 500;
}

body.page-go-forth.page-legacy-article .gf-insight-facts dd {
  color: var(--gf-insight-muted);
}

@media screen and (min-width: 769px) {
  body.page-go-forth.page-legacy-article .gf-insight-main {
    max-width: 925.344px;
    padding-bottom: 0;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block {
    padding-top: 90px;
    padding-bottom: 75px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--strengths,
  body.page-go-forth.page-legacy-article .gf-insight-block--advice,
  body.page-go-forth.page-legacy-article .gf-insight-block--shop {
    padding-top: 75px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--shop {
    padding-bottom: 120px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-pilot .gf-insight-block-head {
    margin-bottom: 33.6px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-en {
    font-size: 16.128px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block h3 {
    margin-top: 8.96px;
    font-size: 35.84px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block-lead {
    margin-top: 8.96px;
    font-size: 15.12px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--day .gf-insight-block-head {
    display: grid;
    grid-template-columns: max-content max-content;
    column-gap: 20px;
    align-items: baseline;
    justify-content: start;
    margin-bottom: 53.63px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--day .gf-insight-en {
    grid-column: 1 / -1;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--day .gf-insight-block-lead {
    transform: translateY(5.01px);
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--day .gf-insight-block-lead::before {
    content: "/ ";
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl li {
    grid-template-columns: 3.808rem 15.68px minmax(0, 1fr);
    column-gap: 0.784rem;
    padding-bottom: 1.288rem;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl li::before {
    left: calc(3.808rem + 0.784rem + 7.28px);
    top: 0.616em;
    width: 1.12px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl li:last-child::before {
    height: 0.616em;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl li::after {
    left: calc(3.808rem + 0.784rem + 3.92px);
    top: 0.4256em;
    width: 7.84px;
    height: 7.84px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl-time {
    font-size: 14.56px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl-title {
    font-size: 16.8px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl-detail {
    font-size: 12.376px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-strength {
    padding: 24.64px 26.88px 26.88px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-strength-name {
    font-size: 17.92px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-strength p {
    font-size: 16.24px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-notes li {
    grid-template-columns: 9.52em minmax(0, 1fr);
    gap: 0.392em 1.96rem;
    padding: 0.952em 0;
  }

  body.page-go-forth.page-legacy-article .gf-insight-notes h4 {
    font-size: 16.24px;
    color: #625A52;
  }

  body.page-go-forth.page-legacy-article .gf-insight-notes p {
    font-size: 15.68px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-shop-name {
    font-size: 19.04px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-facts div {
    font-size: 15.12px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-day-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 268.8px;
    gap: 26.88px 40px;
    align-items: center;
  }

  body.page-go-forth.page-legacy-article .gf-insight-shop-layout {
    display: grid;
    grid-template-columns: 268.8px minmax(0, 1fr);
    gap: 22.4px 36px;
    align-items: center;
  }
}

@media screen and (max-width: 768px) {
  body.page-go-forth.page-legacy-article .gf-insight-day-layout {
    display: flex;
    flex-direction: column;
  }

  body.page-go-forth.page-legacy-article .gf-insight-day-photo {
    width: 56.7%;
    margin: 50px auto 30px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block {
    padding-bottom: 40px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--strengths,
  body.page-go-forth.page-legacy-article .gf-insight-block--advice,
  body.page-go-forth.page-legacy-article .gf-insight-block--shop {
    padding-top: 40px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--strengths {
    padding-bottom: 60px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--advice {
    padding-bottom: 45px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--shop {
    padding-bottom: 0;
  }

  body.page-go-forth.page-legacy-article .gf-insight-pilot .gf-insight-block-head {
    margin-bottom: 27px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block--day .gf-insight-block-head {
    margin-bottom: 39px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-en {
    font-size: 10.8px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block h3 {
    margin-top: 7.2px;
    font-size: 21.6px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-block-lead {
    margin-top: 7.2px;
    font-size: 12.15px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl li {
    grid-template-columns: 3.06rem 12.6px minmax(0, 1fr);
    column-gap: 0.63rem;
    padding-bottom: 1.035rem;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl li::before {
    left: calc(3.06rem + 0.63rem + 5.85px);
    top: 0.495em;
    width: 0.9px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl li:last-child::before {
    height: 0.495em;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl li::after {
    left: calc(3.06rem + 0.63rem + 3.15px);
    top: 0.342em;
    width: 6.3px;
    height: 6.3px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl-time {
    font-size: 11.7px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl-title {
    font-size: 13.5px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-tl-detail {
    font-size: 10.53px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-strength {
    padding: 19.8px 21.6px 21.6px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-strength-name {
    font-size: 14.4px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-strength p {
    font-size: 11.777625px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-notes li {
    grid-template-columns: 35% 65%;
    gap: 0;
    align-items: start;
    padding: 0.765em 0;
  }

  body.page-go-forth.page-legacy-article .gf-insight-notes h4 {
    font-size: 13.05px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-notes p {
    font-size: 11.34px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-shop-photo {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 16.2px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-shop-name {
    font-size: 15.3px;
  }

  body.page-go-forth.page-legacy-article .gf-insight-facts div {
    grid-template-columns: 35% 65%;
    gap: 0;
    align-items: start;
    padding: 0.135em 0;
    font-size: 12.15px;
  }
}


@media screen and (min-width: 769px) {
  body.page-go-forth.page-legacy-article:has(.gf-insight-pilot) .gf-article-intro-heading {
    font-size: clamp(30.6px, 2.16vw + 14.4px, 39.6px);
  }
}

@media screen and (max-width: 768px) {
  body.page-go-forth.page-legacy-article:has(.gf-insight-pilot) .gf-article-intro-heading {
    font-size: 23.814px;
  }
}
