/* TOCボトルネック：原理から仕事へ、操作による発見を促す */
.toc-constraint { position: relative; }
.toc-constraint__legacy { position: absolute; top: 0; left: 0; width: 1px; height: 1px; scroll-margin-top: calc(var(--gs-header-height, 76px) + 24px); }
.toc-constraint .toc-section__head { text-align: center; }
.toc-constraint__sentence-unit { display: inline-block; max-width: 100%; }
.toc-constraint__phrase { display: inline-block; white-space: nowrap; }
.toc-bottleneck, .toc-workflow__intro { text-align: center; }
.toc-bottleneck__label { font-family: var(--font-serif); font-size: 17px; letter-spacing: .13em; color: #866128; }
.toc-bottleneck__title, .toc-workflow__title { margin: 10px 0 14px; font-size: clamp(23px, 2.6vw, 34px); font-weight: var(--heading-weight); line-height: 1.5; color: var(--world-navy); }
.toc-bottleneck__lead, .toc-workflow__desc { max-width: 50em; margin-inline: auto; font-size: 16px; line-height: 1.95; }
.toc-bottleneck__figure { display: grid; justify-items: center; margin: 32px 0 0; padding: clamp(16px, 3vw, 34px); border: 1px solid #E4E0D5; background: #F8F7F3; }
.toc-bottleneck__figure img { display: block; width: min(100%, 950px); height: auto; }
.toc-bottleneck__figure figcaption { margin-top: 8px; font-size: 13px; line-height: 1.6; color: var(--color-muted); }
.toc-workflow { position: relative; margin-top: clamp(54px, 7vw, 88px); }
.toc-workflow__intro { margin-bottom: 28px; }
.toc-nitto { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: clamp(18px, 3vw, 30px); margin-top: clamp(44px, 6vw, 72px); padding: clamp(20px, 3vw, 28px); border-top: 1px solid var(--color-border); background: #FAFAF8; scroll-margin-top: calc(var(--gs-header-height) + 24px); }
.toc-nitto > img { display: block; width: 100%; aspect-ratio: 7/8; object-fit: cover; object-position: center 20%; }
.toc-nitto__label { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: #84632C; }
.toc-nitto h3 { margin-top: 4px; font-size: 19px; font-weight: var(--heading-weight); color: var(--world-navy); }
.toc-nitto h3 span { display: inline-block; margin-left: 10px; font-size: 12px; font-weight: 400; color: var(--color-muted); }
.toc-nitto__body { margin-top: 8px; max-width: 65em; font-size: 14px; line-height: 1.85; }
.toc-nitto .toc-story-link { margin-top: 8px; }
.toc-bottleneck__lead, .toc-workflow__desc, .toc-nitto__body { text-align: justify; text-align-last: start; text-justify: inter-character; }

@media (max-width: 700px) {
  .toc-bottleneck__lead, .toc-workflow__desc { font-size: 15px; }
  .toc-bottleneck__figure { padding: 14px 8px; }
  .toc-nitto { grid-template-columns: 72px minmax(0, 1fr); align-items: start; padding: 16px; gap: 12px; }
  .toc-nitto h3 { font-size: 17px; }
  .toc-nitto h3 span { display: block; margin: 4px 0 0; }
  .toc-nitto .toc-story-link { margin-left: 0; font-size: 12px; }
}
