/* TOP's optional あしたのたね continuation. No selectors escape this feature. */
body.home .thoughts[hidden],
body.home .vertical-story[hidden],
.thoughts [hidden] { display: none !important; }

.thoughts {
  --thoughts-ink: #3d342f;
  --thoughts-line: #d9cfc2;
  position: relative;
  color: var(--thoughts-ink);
  background: transparent;
  padding: clamp(62px, 10vw, 120px) 0 120px;
  font-family: var(--at-serif);
  letter-spacing: .035em;
}
.thoughts *, .thoughts *::before, .thoughts *::after { box-sizing: border-box; }
.thoughts__entry, .thoughts__chapters { width: min(100% - 52px, 820px); margin-inline: auto; }
.thoughts__entry { text-align: center; padding-bottom: clamp(65px, 10vw, 120px); }
.thoughts__entry-kicker {
  margin: 0 0 12px;
  font: 400 12px/1.6 var(--at-reference-sans, var(--at-sans));
  letter-spacing: .22em;
  color: #847667;
}
.thoughts__entry h1 {
  margin: 0;
  font: 400 clamp(31px, 6vw, 48px)/1.55 var(--at-serif);
  letter-spacing: .14em;
  color: var(--thoughts-ink);
}
.thoughts__toc { display: grid; margin: 56px auto 0; max-width: 620px; border-top: 1px solid var(--thoughts-line); }
.thoughts__toc a {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  border-bottom: 1px solid var(--thoughts-line);
  padding: 17px 8px;
  color: inherit; text-decoration: none; text-align: left;
  transition: background-color .25s ease, padding-left .25s ease;
}
.thoughts__toc a:hover, .thoughts__toc a:focus-visible { background: #f4eee5; padding-left: 15px; }
.thoughts__toc a span:first-child { font: 400 12px/1.5 var(--at-reference-sans, var(--at-sans)); letter-spacing: .09em; color: #8c796b; white-space: nowrap; }
.thoughts__toc a span:last-child { font-size: 18px; line-height: 1.5; }
.thoughts a:focus-visible, .thoughts button:focus-visible { outline: 2px solid #956c5d; outline-offset: 3px; }
.thoughts__chapter { padding: clamp(64px, 10vw, 110px) 0; border-top: 1px solid #e6ded4; scroll-margin-top: calc(var(--thoughts-sticky-top, 100px) + 65px); }
.thoughts__chapter:first-child { border-top: 0; }
.thoughts__chapter--story {
  --thoughts-story-top-pad: max(18px, calc(clamp(64px, 10vw, 110px) - 38px));
  padding-top: var(--thoughts-story-top-pad);
  /* Land the 02 / Story label about 5 mm below the second header row. */
  scroll-margin-top: calc(var(--thoughts-sticky-top, 100px) + 11px - var(--thoughts-story-top-pad));
}
.thoughts__chapter-head { margin: 0 0 clamp(36px, 6vw, 68px); text-align: center; }
.thoughts__chapter-head p { margin: 0 0 12px; color: #927d6f; font: 400 13px/1.6 var(--at-reference-sans, var(--at-sans)); letter-spacing: .12em; }
.thoughts__chapter-head h2 { margin: 0; color: var(--thoughts-ink); font: 400 clamp(29px, 5vw, 43px)/1.6 var(--at-serif); letter-spacing: .09em; }
.thoughts__chapter-head::after { content: ""; display: block; width: 42px; height: 1px; margin: 25px auto 0; background: #b9a28c; }
.thoughts__prose { max-width: 620px; margin-inline: auto; }
.thoughts__prose p { margin: 0 0 1.8em; font: 400 clamp(16px, 2.2vw, 18px)/2.1 var(--at-serif); letter-spacing: .035em; overflow-wrap: anywhere; }
.thoughts__prose p:last-child { margin-bottom: 0; }
.thoughts__prose .thoughts__lead { font-size: clamp(18px, 2.4vw, 20px); line-height: 2; }
.thoughts__chapter--philosophy .thoughts__lead { max-width: 33rem; margin: 0 auto 2.4em; text-align: center; }
.thoughts__prose .thoughts__after-pause { padding-top: 2.4em; }
.thoughts__story-list { max-width: 680px; margin: 0 auto; border-bottom: 1px solid #d8cabb; }
.thoughts__story-section { border-top: 1px solid #d8cabb; scroll-margin-top: calc(var(--thoughts-sticky-top, 100px) + 143px); }
.thoughts__story-section h3 { margin: 0; font-weight: 400; }
.thoughts__story-heading {
  display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 18px;
  width: 100%; min-height: 69px; margin: 0; padding: 11.5px 4px;
  border: 0; border-radius: 0; box-shadow: none; appearance: none; color: #675043; background: transparent; text-align: left; cursor: pointer;
  transition: background-color .62s cubic-bezier(.22, 1, .36, 1);
}
.thoughts__story-section.is-open .thoughts__story-heading { background: rgba(255, 253, 249, .58); }
.thoughts__story-index, .thoughts__story-state { color: #9a806d; font: 400 11px/1.6 var(--at-reference-sans, var(--at-sans)); letter-spacing: .04em; white-space: nowrap; }
.thoughts__story-title { font: 400 clamp(20px, 3vw, 27px)/1.65 var(--at-serif); letter-spacing: .045em; transition: color .62s cubic-bezier(.22, 1, .36, 1); }
.thoughts__story-state { justify-self: end; min-width: 3.2em; text-align: right; }
.thoughts__story-section.is-open .thoughts__story-title { color: #965f5b; }
.thoughts__story-panel { margin: 0 0 56px 58px; padding: 22px 0 0 28px; border-left: 1px solid #d7c6b6; }
.thoughts__story-panel .thoughts__prose { max-width: 580px; margin: 0; }
.thoughts__seeds-intro { max-width: 680px; padding-left: 87px; margin-bottom: 66px; }
.thoughts__seeds-intro p { max-width: 580px; }
.thoughts__seed-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 14px; }
.thoughts__seed-card { display: flex; flex-direction: column; min-width: 0; padding: 26px 21px 27px; border: 1px solid #e4d9cb; border-top: 2px solid #c9b09e; background: rgba(255,253,249,.9); box-shadow: 0 8px 22px rgba(73,54,41,.045); }
.thoughts__seed-card h3 { margin: 0 0 30px; color: #54443b; font: 400 19px/1.6 var(--at-serif); }
.thoughts__seed-card .thoughts__prose p { font-size: 15px; line-height: 2; margin: 0; }
.thoughts__seed-card .thoughts__prose p + p { margin-top: 1.4em; }
.thoughts__text-link { display: inline-block; width: fit-content; color: #715444; text-decoration: none; border-bottom: 1px solid #b6a595; font: 400 13px/1.8 var(--at-reference-sans, var(--at-sans)); }
.thoughts__seed-card .thoughts__text-link { margin-top: auto; padding-top: 25px; }
.thoughts__next-link { margin: 60px 0 0 max(0px, calc((100% - 680px) / 2)); }
.thoughts__chapter--i-am { padding-bottom: 120px; }
.thoughts__portrait { width: min(100%, 360px); margin: 0 auto 55px; }
.thoughts__portrait img { display: block; width: 100%; height: auto; border-radius: 0 32px 0 32px; }
.thoughts__prose--i-am { max-width: 560px; }
.thoughts__prose--i-am .thoughts__iam-stanza { margin-bottom: 2.5em; }
.thoughts__prose--i-am .thoughts__iam-stanza:first-child { font-size: clamp(18px, 2.4vw, 20px); }
.thoughts__prose--i-am .thoughts__iam-signature { width: calc(100% - 2em); margin-inline: auto; padding-top: 1.7em; text-align: center; font: 400 clamp(14px, 1.9vw, 16px)/1.95 "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Tsukushi A Maru Gothic", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
.thoughts__iam-meta-line { display: inline-block; width: 100%; text-align: left; }

@media (max-width: 720px) {
  .thoughts { padding-top: 78px; padding-bottom: 80px; }
  .thoughts__entry, .thoughts__chapters { width: min(100% - 44px, 640px); }
  .thoughts__entry { padding-bottom: 50px; }
  .thoughts__toc { margin-top: 40px; }
  .thoughts__toc a { display: grid; gap: 4px; padding: 14px 5px; }
  .thoughts__toc a span:first-child { font-size: 11px; }
  .thoughts__toc a span:last-child { font-size: 17px; }
  .thoughts__chapter { padding-block: 57px; }
  .thoughts__chapter--story { --thoughts-story-top-pad: 19px; }
  .thoughts__chapter-head { margin-bottom: 34px; }
  .thoughts__prose p { line-height: 2.03; }
  .thoughts__story-heading { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 8px; min-height: 59px; padding-block: 9.5px; }
  .thoughts__story-title { font-size: clamp(15px, 4.5vw, 22px); white-space: nowrap; }
  .thoughts__story-panel { margin: 0 0 42px 12px; padding: 18px 0 0 20px; }
  .thoughts__seeds-intro { padding-left: 33px; }
  .thoughts__seed-grid { grid-template-columns: 1fr; gap: 16px; }
  .thoughts__seed-card { padding: 27px 25px; }
  .thoughts__seed-card .thoughts__prose p { font-size: 16px; }
  .thoughts__next-link { margin-top: 50px; }
  .thoughts__portrait { width: min(100%, 300px); margin-bottom: 43px; }
}
@media (prefers-reduced-motion: reduce) {
  .thoughts__toc a, .thoughts__story-heading, .thoughts__story-title { transition: none; }
}
