/*
 * 鎌倉御家人御用帳 — 記事ページ専用スタイル
 * v4.9.42
 *
 * 物語は静かに読ませ、答え合わせ以降は実用情報として探しやすくする。
 * 共通CSSへ記事用の上書きを追加せず、このファイルを記事画面の正本とする。
 */

body.gokenin-gacha-article-page {
  max-width: 100%;
  overflow-x: clip;
}

body.gokenin-gacha-article-page .gokenin-article-component,
body.gokenin-gacha-article-page .gokenin-article-component * {
  box-sizing: border-box;
}

body.gokenin-gacha-article-page .gokenin-article-component img {
  display: block;
  max-width: 100%;
  height: auto;
}

body.gokenin-gacha-article-page :is(a, button, summary) {
  touch-action: manipulation;
}

body.gokenin-gacha-article-page {
  --g-article-ink: #29241f;
  --g-article-ink-soft: #554c43;
  --g-article-paper: #fffdf8;
  --g-article-paper-soft: #f7f0e2;
  --g-article-green: #203d33;
  --g-article-red: #a34b36;
  --g-article-gold: #b59655;
  --g-article-line: rgba(70, 53, 39, 0.14);
  --g-article-width: 860px;
  --g-article-reading: 720px;
  --g-article-radius: 22px;
  --g-article-shadow: 0 18px 46px rgba(48, 39, 29, 0.10);
  color: var(--g-article-ink);
}

body.gokenin-gacha-article-page :is(.entry-content, .article-body, .post-content) {
  min-width: 0;
  overflow: visible;
  overflow-wrap: anywhere;
}

body.gokenin-gacha-article-page :is(.entry-title, .article-title, .post-title) {
  box-sizing: border-box !important;
  width: min(var(--g-article-width), calc(100% - 24px)) !important;
  max-width: var(--g-article-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  color: var(--g-article-ink) !important;
  font-size: clamp(1.75rem, 4.5vw, 2.75rem) !important;
  line-height: 1.38 !important;
  letter-spacing: 0.015em !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance;
}

body.gokenin-gacha-article-page .gokenin-article-component,
body.gokenin-gacha-article-page .gokenin-story-section,
body.gokenin-gacha-article-page .gokenin-practical-section,
body.gokenin-gacha-article-page .gokenin-mission-note,
body.gokenin-gacha-article-page .gokenin-route-map,
body.gokenin-gacha-article-page .gokenin-article-cta,
body.gokenin-gacha-article-page .gokenin-related-stories {
  box-sizing: border-box;
  clear: both;
  width: min(var(--g-article-width), calc(100% - 24px));
  max-width: var(--g-article-width);
  min-width: 0;
  margin: clamp(28px, 5vw, 48px) auto;
  overflow-wrap: anywhere;
}

/* -------------------------
 * 物語
 * ------------------------- */
body.gokenin-gacha-article-page .gokenin-story-section {
  position: relative;
  padding: clamp(30px, 6vw, 58px);
  border: 1px solid rgba(92, 70, 49, 0.12);
  border-radius: var(--g-article-radius);
  background:
    radial-gradient(circle at 96% 4%, rgba(181, 150, 85, 0.10), transparent 27%),
    linear-gradient(180deg, #fffefb 0%, #fbf5e9 100%);
  box-shadow: 0 14px 38px rgba(48, 39, 29, 0.07);
}

body.gokenin-gacha-article-page .gokenin-story-section::before {
  content: "物語の記録";
  display: table;
  margin: 0 auto clamp(24px, 4vw, 38px);
  color: rgba(74, 60, 45, 0.50);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.18em;
}

body.gokenin-gacha-article-page .gokenin-story-section::after {
  content: "◇";
  display: block;
  margin: clamp(30px, 5vw, 48px) auto 0;
  color: rgba(163, 75, 54, 0.45);
  font-size: 0.78rem;
  line-height: 1;
  text-align: center;
}

body.gokenin-gacha-article-page .gokenin-story-section > :is(p, ul, ol, blockquote),
body.gokenin-gacha-article-page .gokenin-story-chapter__body > :is(p, ul, ol, blockquote) {
  max-width: var(--g-article-reading);
  margin-right: auto;
  margin-left: auto;
}

body.gokenin-gacha-article-page .gokenin-story-section p,
body.gokenin-gacha-article-page .gokenin-story-chapter__body p {
  margin-top: 0;
  margin-bottom: 1.45em;
  color: var(--g-article-ink);
  font-size: 1.02rem;
  line-height: 2;
  text-wrap: pretty;
}

body.gokenin-gacha-article-page .gokenin-story-section blockquote,
body.gokenin-gacha-article-page .gokenin-story-chapter__body blockquote {
  margin-top: 1.8em;
  margin-bottom: 1.8em;
  padding: 16px 20px;
  border: 0;
  border-left: 3px solid rgba(163, 75, 54, 0.48);
  border-radius: 0 12px 12px 0;
  background: rgba(163, 75, 54, 0.05);
  color: var(--g-article-ink-soft);
}

body.gokenin-gacha-article-page .gokenin-story-section blockquote p:last-child,
body.gokenin-gacha-article-page .gokenin-story-chapter__body blockquote p:last-child {
  margin-bottom: 0;
}

/* Chapter structure. Desktop reads continuously; mobile uses native details. */
body.gokenin-gacha-article-page .gokenin-story-chapter {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body.gokenin-gacha-article-page .gokenin-story-chapter__summary {
  list-style: none;
}

body.gokenin-gacha-article-page .gokenin-story-chapter__summary::-webkit-details-marker {
  display: none;
}

body.gokenin-gacha-article-page .gokenin-story-chapter__summary::marker {
  content: "";
}

body.gokenin-gacha-article-page .gokenin-story-chapter__heading {
  display: grid !important;
  gap: 0.32rem;
  min-width: 0;
}

body.gokenin-gacha-article-page .gokenin-story-chapter__number {
  display: inline-flex;
  width: fit-content;
  color: var(--g-article-red);
  font-size: 0.70rem;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0.16em;
}

body.gokenin-gacha-article-page .gokenin-story-chapter__title {
  display: block;
  min-width: 0;
  color: var(--g-article-ink);
  font-family: serif;
  font-weight: 800;
  overflow-wrap: anywhere;
}

@media (min-width: 641px) {
  body.gokenin-gacha-article-page .gokenin-story-chapter {
    position: relative;
    margin-top: 3.2rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(163, 75, 54, 0.20);
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter:first-of-type {
    margin-top: 0;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 3.8rem;
    height: 2px;
    background: var(--g-article-red);
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__summary {
    max-width: var(--g-article-reading);
    margin: 0 auto 1rem;
    cursor: default;
    pointer-events: none;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__title {
    font-size: clamp(1.23rem, 2.3vw, 1.52rem);
    line-height: 1.5;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter:not([open]) > .gokenin-story-chapter__body {
    display: block !important;
  }
}

/* -------------------------
 * 答え合わせ・実用情報
 * ------------------------- */
body.gokenin-gacha-article-page .gokenin-practical-section {
  position: relative;
  isolation: isolate;
  padding: clamp(30px, 6vw, 54px);
  overflow: visible;
  border: 1px solid rgba(163, 75, 54, 0.18);
  border-top: 4px solid var(--g-article-red);
  border-radius: var(--g-article-radius);
  background:
    radial-gradient(circle at 98% 3%, rgba(163, 75, 54, 0.07), transparent 27%),
    linear-gradient(180deg, #fffdf8 0%, #f6eddd 100%);
  box-shadow: var(--g-article-shadow);
}

body.gokenin-gacha-article-page .gokenin-practical-section::before {
  content: "場所の答え" !important;
  display: inline-flex !important;
  align-items: center;
  min-height: 28px;
  margin: 0 0 12px;
  padding: 5px 11px;
  border: 1px solid rgba(163, 75, 54, 0.15);
  border-radius: 999px;
  background: rgba(163, 75, 54, 0.07);
  color: var(--g-article-red) !important;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}

body.gokenin-gacha-article-page .gokenin-practical-section::after {
  content: "◇";
  position: absolute;
  top: -2.1rem;
  left: 50%;
  padding: 0 0.7rem;
  transform: translateX(-50%);
  color: rgba(163, 75, 54, 0.55);
  background: #f8f2e7;
  font-size: 0.78rem;
  line-height: 1;
}

body.gokenin-gacha-article-page .gokenin-practical-section > :is(h2, h3, h4, p, ul, ol, blockquote) {
  max-width: var(--g-article-reading);
  margin-right: auto;
  margin-left: auto;
}

body.gokenin-gacha-article-page .gokenin-practical-section > h2:first-child {
  position: relative;
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 22px !important;
  padding: 0 0 14px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(163, 75, 54, 0.22) !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--g-article-ink) !important;
  font-size: clamp(1.5rem, 4vw, 2.05rem) !important;
  line-height: 1.42 !important;
  text-wrap: balance;
}

body.gokenin-gacha-article-page .gokenin-practical-section > h2:first-child::before {
  content: "" !important;
  position: absolute !important;
  top: 0.12em !important;
  bottom: 0.88em !important;
  left: 0 !important;
  display: block !important;
  width: 3px !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--g-article-red) !important;
}

body.gokenin-gacha-article-page .gokenin-practical-section > h2:first-child::after {
  content: none !important;
  display: none !important;
}

body.gokenin-gacha-article-page .gokenin-practical-section > :is(h2:not(:first-child), h3, h4) {
  position: relative;
  margin-top: clamp(34px, 6vw, 54px) !important;
  margin-bottom: 16px !important;
  padding: 0 0 10px 17px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(32, 61, 51, 0.13) !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--g-article-ink) !important;
  line-height: 1.5 !important;
}

body.gokenin-gacha-article-page .gokenin-practical-section > :is(h2:not(:first-child), h3, h4)::before {
  content: "" !important;
  position: absolute !important;
  top: 0.18em !important;
  bottom: 0.55em !important;
  left: 0 !important;
  display: block !important;
  width: 3px !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--g-article-red) !important;
}

body.gokenin-gacha-article-page .gokenin-practical-section > :is(h2:not(:first-child), h3, h4)::after {
  content: none !important;
  display: none !important;
}

body.gokenin-gacha-article-page .gokenin-practical-section > p {
  color: var(--g-article-ink-soft);
  font-size: 1rem;
  line-height: 1.92;
}

body.gokenin-gacha-article-page .gokenin-practical-section > p:first-of-type {
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  padding: 16px 18px;
  border-left: 3px solid rgba(163, 75, 54, 0.45);
  border-radius: 0 12px 12px 0;
  background: rgba(255, 255, 255, 0.52);
  color: var(--g-article-ink);
  font-weight: 600;
}

body.gokenin-gacha-article-page .gokenin-practical-section > :is(ul, ol) {
  padding: 18px 20px 18px 42px;
  border: 1px solid rgba(32, 61, 51, 0.10);
  border-radius: 16px;
  background: rgba(32, 61, 51, 0.035);
  color: var(--g-article-ink-soft);
  line-height: 1.85;
}

body.gokenin-gacha-article-page .gokenin-practical-section > :is(ul, ol) li + li {
  margin-top: 0.65em;
}

/* -------------------------
 * 早見表
 * ------------------------- */
body.gokenin-gacha-article-page .gokenin-mission-note {
  position: relative;
  isolation: isolate;
  padding: clamp(25px, 5vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(32, 61, 51, 0.13);
  border-radius: var(--g-article-radius);
  background:
    radial-gradient(circle at 100% 0%, rgba(181, 150, 85, 0.15), transparent 32%),
    linear-gradient(155deg, #fffdf8 0%, #f1e7d4 100%);
  box-shadow: 0 14px 36px rgba(48, 39, 29, 0.08);
}

body.gokenin-gacha-article-page .gokenin-mission-note > :not(.gokenin-mission-note__scroll) {
  position: relative;
  z-index: 2;
}

body.gokenin-gacha-article-page .gokenin-mission-note__scroll {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 1;
  width: clamp(54px, 7vw, 82px);
  opacity: 0.10;
}

body.gokenin-gacha-article-page :is(.gokenin-mission-note__label, .gokenin-route-label, .gokenin-section-kicker) {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0 0 9px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(163, 75, 54, 0.08);
  color: var(--g-article-red) !important;
  font-size: 0.71rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

body.gokenin-gacha-article-page .gokenin-mission-note h2,
body.gokenin-gacha-article-page .gokenin-route-map h2,
body.gokenin-gacha-article-page .gokenin-article-cta h2,
body.gokenin-gacha-article-page .gokenin-related-stories h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--g-article-ink) !important;
  line-height: 1.42 !important;
  text-wrap: balance;
}

body.gokenin-gacha-article-page .gokenin-mission-note h2::before,
body.gokenin-gacha-article-page .gokenin-mission-note h2::after,
body.gokenin-gacha-article-page .gokenin-route-map h2::before,
body.gokenin-gacha-article-page .gokenin-route-map h2::after,
body.gokenin-gacha-article-page .gokenin-article-cta h2::before,
body.gokenin-gacha-article-page .gokenin-article-cta h2::after,
body.gokenin-gacha-article-page .gokenin-related-stories h2::before,
body.gokenin-gacha-article-page .gokenin-related-stories h2::after {
  content: none !important;
  display: none !important;
}

body.gokenin-gacha-article-page .gokenin-mission-note__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

body.gokenin-gacha-article-page .gokenin-mission-note__item {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(32, 61, 51, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.58);
}

body.gokenin-gacha-article-page .gokenin-mission-note__term {
  margin: 0 0 4px;
  color: rgba(41, 36, 31, 0.57);
  font-size: 0.70rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

body.gokenin-gacha-article-page .gokenin-mission-note__value {
  margin: 0;
  color: var(--g-article-ink);
  font-weight: 750;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

/* -------------------------
 * 足取り
 * ------------------------- */
body.gokenin-gacha-article-page .gokenin-route-map {
  position: relative;
  isolation: isolate;
  padding: clamp(25px, 5vw, 42px) clamp(25px, 5vw, 42px) clamp(30px, 6vw, 52px);
  overflow: hidden;
  border: 1px solid rgba(32, 61, 51, 0.14);
  border-top: 4px solid var(--g-article-green);
  border-radius: var(--g-article-radius);
  background:
    radial-gradient(circle at 100% 100%, rgba(32, 61, 51, 0.07), transparent 32%),
    linear-gradient(155deg, #fffdf8 0%, #f1eadb 100%);
  box-shadow: 0 14px 36px rgba(48, 39, 29, 0.08);
}

body.gokenin-gacha-article-page .gokenin-route-note,
body.gokenin-gacha-article-page .gokenin-route-return-note {
  position: relative;
  z-index: 2;
  max-width: 650px;
  color: var(--g-article-ink-soft);
  font-size: 0.93rem;
  line-height: 1.8;
}

body.gokenin-gacha-article-page .gokenin-route-return-note {
  padding: 11px 14px;
  border-left: 3px solid rgba(163, 75, 54, 0.42);
  background: rgba(255, 255, 255, 0.45);
}

body.gokenin-gacha-article-page .gokenin-route-list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 620px;
  margin: 22px 0;
  padding: 0;
  list-style: none;
}

body.gokenin-gacha-article-page .gokenin-route-point {
  min-width: 0;
  padding: 13px 15px;
  border: 1px solid rgba(32, 61, 51, 0.11);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.62);
  color: var(--g-article-ink);
  font-weight: 750;
  line-height: 1.55;
}

body.gokenin-gacha-article-page .gokenin-route-arrow {
  height: 18px;
  color: rgba(163, 75, 54, 0.58);
  font-weight: 800;
  line-height: 18px;
  text-align: center;
}

body.gokenin-gacha-article-page .gokenin-route-map__button,
body.gokenin-gacha-article-page .gokenin-route-map-button {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 22px;
  border: 1px solid var(--g-article-green);
  border-radius: 999px;
  background: var(--g-article-green);
  color: #fffaf1 !important;
  font-weight: 800;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(32, 61, 51, 0.18);
}

body.gokenin-gacha-article-page .gokenin-route-map__button:hover,
body.gokenin-gacha-article-page .gokenin-route-map-button:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

body.gokenin-gacha-article-page .gokenin-route-map__pigeon {
  position: absolute;
  right: clamp(16px, 4vw, 36px);
  bottom: 18px;
  width: clamp(46px, 6vw, 70px);
  opacity: 0.76;
}

body.gokenin-gacha-article-page .gokenin-route-map__zori {
  position: absolute;
  right: clamp(72px, 11vw, 124px);
  bottom: 15px;
  width: clamp(46px, 6vw, 68px);
  opacity: 0.36;
}

/* -------------------------
 * CTA
 * ------------------------- */
body.gokenin-gacha-article-page .gokenin-article-cta {
  position: relative;
  isolation: isolate;
  padding: clamp(30px, 6vw, 54px) clamp(25px, 6vw, 54px) clamp(36px, 7vw, 62px);
  overflow: hidden;
  border: 1px solid rgba(32, 61, 51, 0.14);
  border-top: 4px solid var(--g-article-green);
  border-radius: var(--g-article-radius);
  background:
    radial-gradient(circle at 4% 100%, rgba(32, 61, 51, 0.08), transparent 34%),
    linear-gradient(145deg, #fffdf8 0%, #efe6d5 100%);
  box-shadow: var(--g-article-shadow);
  text-align: center;
}

body.gokenin-gacha-article-page .gokenin-article-cta > :not(.gokenin-article-cta__cat) {
  position: relative;
  z-index: 2;
}

body.gokenin-gacha-article-page .gokenin-article-cta > p:not(.gokenin-section-kicker) {
  max-width: 620px;
  margin-right: auto;
  margin-left: auto;
  color: var(--g-article-ink-soft);
  line-height: 1.9;
}

body.gokenin-gacha-article-page .gokenin-article-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

body.gokenin-gacha-article-page .gokenin-article-cta__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  text-decoration: none !important;
}

body.gokenin-gacha-article-page .gokenin-article-cta__primary {
  border: 1px solid var(--g-article-green);
  background: var(--g-article-green);
  color: #fffaf1 !important;
  box-shadow: 0 10px 24px rgba(32, 61, 51, 0.18);
}

body.gokenin-gacha-article-page .gokenin-article-cta__secondary {
  border: 1px solid rgba(32, 61, 51, 0.24);
  background: rgba(255, 253, 248, 0.70);
  color: var(--g-article-green) !important;
}

body.gokenin-gacha-article-page .gokenin-article-cta__cat {
  position: absolute;
  right: clamp(15px, 4vw, 36px);
  bottom: 0;
  width: auto;
  height: clamp(76px, 10vw, 112px);
  max-width: 150px;
  opacity: 0.82;
}

/* -------------------------
 * 関連する御用帳
 * ------------------------- */
body.gokenin-gacha-article-page .gokenin-related-stories {
  position: relative;
  isolation: isolate;
  padding: clamp(25px, 5vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(70, 53, 39, 0.13);
  border-radius: var(--g-article-radius);
  background: linear-gradient(180deg, #fffdf8 0%, #f6eddd 100%);
  box-shadow: 0 14px 36px rgba(48, 39, 29, 0.08);
}

body.gokenin-gacha-article-page .gokenin-related-stories > :not(.gokenin-related-stories__signpost) {
  position: relative;
  z-index: 2;
}

body.gokenin-gacha-article-page .gokenin-related-stories__signpost {
  position: absolute;
  right: 18px;
  top: 18px;
  width: clamp(48px, 7vw, 72px);
  opacity: 0.10;
}

body.gokenin-gacha-article-page .gokenin-related-stories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.gokenin-gacha-article-page .gokenin-related-story {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(70, 53, 39, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.64);
  box-shadow: none;
}

body.gokenin-gacha-article-page .gokenin-related-story__thumb {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #ebe2d2;
}

body.gokenin-gacha-article-page .gokenin-related-story__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.gokenin-gacha-article-page .gokenin-related-story__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 17px;
}

body.gokenin-gacha-article-page .gokenin-related-story__label {
  margin: 0 0 8px !important;
  color: var(--g-article-red) !important;
  font-size: 0.68rem !important;
  font-weight: 850;
  letter-spacing: 0.12em;
}

body.gokenin-gacha-article-page .gokenin-related-story h3 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  counter-increment: none !important;
  color: var(--g-article-ink) !important;
  font-size: 1.05rem !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
}

body.gokenin-gacha-article-page .gokenin-related-story h3::before,
body.gokenin-gacha-article-page .gokenin-related-story h3::after {
  content: none !important;
  display: none !important;
}

body.gokenin-gacha-article-page .gokenin-related-story h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

body.gokenin-gacha-article-page .gokenin-related-story__body > p:not(.gokenin-related-story__label) {
  margin: 0 0 15px;
  color: var(--g-article-ink-soft);
  font-size: 0.92rem;
  line-height: 1.75;
}

body.gokenin-gacha-article-page .gokenin-related-story__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin-top: auto;
  padding: 10px 16px;
  border: 1px solid rgba(32, 61, 51, 0.22);
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.74);
  color: var(--g-article-green) !important;
  font-weight: 800;
  text-align: center;
  text-decoration: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.gokenin-gacha-article-page .gokenin-related-story {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  }

  body.gokenin-gacha-article-page .gokenin-related-story:hover {
    transform: translateY(-3px);
    border-color: rgba(163, 75, 54, 0.24);
    box-shadow: 0 16px 32px rgba(48, 39, 29, 0.10);
  }
}

/* -------------------------
 * Mobile
 * ------------------------- */
@media (max-width: 640px) {
  body.gokenin-gacha-article-page {
    max-width: 100%;
    overflow-x: clip;
  }

  body.gokenin-gacha-article-page :is(.entry-title, .article-title, .post-title),
  body.gokenin-gacha-article-page .gokenin-article-component,
  body.gokenin-gacha-article-page .gokenin-story-section,
  body.gokenin-gacha-article-page .gokenin-practical-section,
  body.gokenin-gacha-article-page .gokenin-mission-note,
  body.gokenin-gacha-article-page .gokenin-route-map,
  body.gokenin-gacha-article-page .gokenin-article-cta,
  body.gokenin-gacha-article-page .gokenin-related-stories {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
  }

  body.gokenin-gacha-article-page :is(.entry-title, .article-title, .post-title) {
    font-size: clamp(1.55rem, 7.8vw, 2.05rem) !important;
    line-height: 1.42 !important;
  }

  body.gokenin-gacha-article-page .gokenin-story-section,
  body.gokenin-gacha-article-page .gokenin-practical-section {
    padding: 23px 16px 27px;
    border-radius: 18px;
  }

  body.gokenin-gacha-article-page .gokenin-story-section::before {
    margin-bottom: 18px;
    font-size: 0.68rem;
  }

  body.gokenin-gacha-article-page .gokenin-story-section p,
  body.gokenin-gacha-article-page .gokenin-story-chapter__body p,
  body.gokenin-gacha-article-page .gokenin-practical-section > p {
    font-size: 1rem;
    line-height: 1.95;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter {
    margin: 12px 0;
    overflow: hidden;
    border: 1px solid rgba(92, 70, 49, 0.16);
    border-radius: 13px;
    background: rgba(255, 253, 248, 0.76);
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__summary {
    position: relative;
    display: flex;
    align-items: flex-start;
    min-height: 58px;
    padding: 13px 46px 13px 15px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 15px;
    color: var(--g-article-red);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-50%);
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter[open] {
    border-color: rgba(163, 75, 54, 0.28);
    box-shadow: 0 8px 22px rgba(48, 39, 29, 0.06);
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter[open] > .gokenin-story-chapter__summary {
    border-bottom: 1px solid rgba(92, 70, 49, 0.12);
    background: rgba(163, 75, 54, 0.045);
    box-shadow: inset 3px 0 0 var(--g-article-red);
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter[open] > .gokenin-story-chapter__summary::after {
    content: "−";
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__number {
    font-size: 0.66rem;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__title {
    font-size: 1.04rem;
    line-height: 1.5;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__body {
    padding: 7px 15px 18px;
    line-height: 1.95;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__body > :first-child {
    margin-top: 12px !important;
  }

  body.gokenin-gacha-article-page .gokenin-story-chapter__body > :last-child {
    margin-bottom: 0 !important;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section {
    margin-top: 3.8rem;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section::before {
    font-size: 0.68rem;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section > h2:first-child {
    margin-bottom: 18px !important;
    padding-left: 13px !important;
    font-size: clamp(1.32rem, 6.2vw, 1.68rem) !important;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section > :is(h2:not(:first-child), h3, h4) {
    margin-top: 32px !important;
    padding-left: 13px !important;
    font-size: clamp(1.14rem, 5.5vw, 1.40rem) !important;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section > p:first-of-type {
    padding: 14px 15px;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section > :is(ul, ol) {
    padding: 15px 16px 15px 34px;
  }

  body.gokenin-gacha-article-page .gokenin-mission-note,
  body.gokenin-gacha-article-page .gokenin-route-map,
  body.gokenin-gacha-article-page .gokenin-article-cta,
  body.gokenin-gacha-article-page .gokenin-related-stories {
    padding: 22px 16px 24px;
    border-radius: 18px;
  }

  body.gokenin-gacha-article-page .gokenin-mission-note__grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body.gokenin-gacha-article-page .gokenin-mission-note__scroll {
    top: 13px;
    right: 12px;
    width: 46px;
    opacity: 0.08;
  }

  body.gokenin-gacha-article-page .gokenin-route-map {
    padding-bottom: 94px;
  }

  body.gokenin-gacha-article-page .gokenin-route-list {
    max-width: 100%;
  }

  body.gokenin-gacha-article-page .gokenin-route-map__button,
  body.gokenin-gacha-article-page .gokenin-route-map-button {
    width: 100%;
    min-height: 52px;
  }

  body.gokenin-gacha-article-page .gokenin-route-map__pigeon {
    right: 14px;
    bottom: 12px;
    width: 52px;
  }

  body.gokenin-gacha-article-page .gokenin-route-map__zori {
    right: 72px;
    bottom: 11px;
    width: 48px;
  }

  body.gokenin-gacha-article-page .gokenin-article-cta {
    padding-bottom: 102px;
  }

  body.gokenin-gacha-article-page .gokenin-article-cta__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.gokenin-gacha-article-page .gokenin-article-cta__actions a {
    width: 100%;
    min-height: 52px;
  }

  body.gokenin-gacha-article-page .gokenin-article-cta__cat {
    right: 14px;
    height: 78px;
    opacity: 0.78;
  }

  body.gokenin-gacha-article-page .gokenin-related-stories__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.gokenin-gacha-article-page .gokenin-related-stories__signpost {
    top: 12px;
    right: 12px;
    width: 50px;
    opacity: 0.08;
  }
}


/* Auto-added sections must remain siblings, never chapter cards. */
body.gokenin-gacha-article-page .gokenin-article-component--note,
body.gokenin-gacha-article-page .gokenin-article-component--route,
body.gokenin-gacha-article-page .gokenin-article-component--cta,
body.gokenin-gacha-article-page .gokenin-article-component--related {
  clear: both;
}

@media (prefers-reduced-motion: reduce) {
  body.gokenin-gacha-article-page *,
  body.gokenin-gacha-article-page *::before,
  body.gokenin-gacha-article-page *::after {
    scroll-behavior: auto !important;
  }

  body.gokenin-gacha-article-page .gokenin-related-story,
  body.gokenin-gacha-article-page .gokenin-route-map__button,
  body.gokenin-gacha-article-page .gokenin-route-map-button,
  body.gokenin-gacha-article-page .gokenin-article-cta__actions a {
    transition: none !important;
  }
}


/* v4.9.27: playful article companions */
body.gokenin-gacha-article-page .gokenin-practical-section { position: relative; overflow: hidden; }
body.gokenin-gacha-article-page .gokenin-practical-section > :not(.gokenin-practical-section__calico) { position: relative; z-index: 2; }
body.gokenin-gacha-article-page .gokenin-practical-section__calico {
  position: absolute; right: clamp(14px, 4vw, 34px); top: clamp(18px, 4vw, 34px);
  width: clamp(72px, 10vw, 112px); height: auto; opacity: .18;
  filter: drop-shadow(0 10px 16px rgba(35, 28, 20, .12)); transform: translateY(8px) rotate(1deg);
}
body.gokenin-gacha-article-page .gokenin-route-point { cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
body.gokenin-gacha-article-page .gokenin-route-point.is-gokenin-route-current { border-color: rgba(163,75,54,.34); background: rgba(163,75,54,.07); transform: translateX(3px); }
body.gokenin-gacha-article-page .gokenin-route-map__pigeon { top: var(--gokenin-pigeon-y, auto); bottom: auto; transition: top .48s cubic-bezier(.2,.8,.2,1), transform .28s ease; }
body.gokenin-gacha-article-page .gokenin-article-cta__zori { position: absolute; left: clamp(16px,4vw,40px); bottom: 10px; width: clamp(42px,6vw,64px); height: auto; opacity: .42; transform: rotate(-12deg); }
body.gokenin-gacha-article-page .gokenin-article-cta__zori--two { left: clamp(48px,8vw,88px); opacity: 0; transform: translateX(-10px) rotate(8deg); }
@media (max-width: 640px) {
  body.gokenin-gacha-article-page .gokenin-practical-section__calico { right: 10px; top: 12px; width: 74px; opacity: .13; }
  body.gokenin-gacha-article-page .gokenin-article-cta__zori { width: 44px; left: 12px; bottom: 8px; }
  body.gokenin-gacha-article-page .gokenin-article-cta__zori--two { left: 42px; }
}


/* v4.9.29: article cover — a quiet, reusable opening page for every mission */
.gokenin-article-cover {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: min(var(--gokenin-article-width, 860px), calc(100% - 24px));
  margin: 18px auto clamp(30px, 6vw, 54px);
  padding: clamp(30px, 6vw, 58px);
  border: 1px solid rgba(31, 53, 45, .18);
  border-left: 8px solid var(--gokenin-green, #1f352d);
  border-radius: 6px 24px 24px 6px;
  background:
    radial-gradient(circle at 92% 10%, rgba(185, 142, 66, .15), transparent 28%),
    linear-gradient(145deg, #fffdf8 0%, #f2e6ce 100%);
  box-shadow: 0 24px 58px rgba(45, 35, 24, .14);
}

.gokenin-article-cover::before {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: -1;
  border: 1px solid rgba(31, 53, 45, .08);
  border-radius: 3px 16px 16px 3px;
}

.gokenin-article-cover__inner {
  position: relative;
  z-index: 2;
  max-width: 700px;
}

.gokenin-article-cover__eyebrow {
  display: inline-flex;
  margin: 0 0 14px;
  color: var(--gokenin-vermilion, #a34b36);
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .16em;
}

.gokenin-article-cover h2 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--gokenin-ink, #28231e) !important;
  font-family: var(--gokenin-serif, serif);
  font-size: clamp(1.8rem, 5vw, 3rem) !important;
  line-height: 1.34 !important;
  text-wrap: balance;
}

.gokenin-article-cover h2::before,
.gokenin-article-cover h2::after { display: none !important; }

.gokenin-article-cover__description {
  max-width: 620px;
  margin: 0 0 24px;
  color: #51483f;
  font-size: 1rem;
  line-height: 1.9;
}

.gokenin-article-cover__facts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  margin: 0 0 26px;
}

.gokenin-article-cover__fact {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid rgba(31, 53, 45, .10);
  border-radius: 14px;
  background: rgba(255,255,255,.52);
}

.gokenin-article-cover__fact dt {
  margin-bottom: 4px;
  color: rgba(40,35,30,.58);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
}

.gokenin-article-cover__fact dd {
  margin: 0;
  color: var(--gokenin-ink, #28231e);
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.gokenin-article-cover__open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 13px 24px;
  border: 1px solid var(--gokenin-green, #1f352d);
  border-radius: 999px;
  background: var(--gokenin-green, #1f352d);
  color: #fffaf1;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(31,53,45,.18);
}

.gokenin-article-cover__seal {
  position: absolute;
  right: clamp(18px, 4vw, 38px);
  top: clamp(18px, 4vw, 34px);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 58px;
  aspect-ratio: 1;
  border: 3px double rgba(163,75,54,.72);
  border-radius: 50%;
  color: rgba(163,75,54,.86);
  font-family: var(--gokenin-serif, serif);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  transform: rotate(-8deg);
}

.gokenin-article-cover__mark {
  position: absolute;
  right: clamp(18px, 4vw, 42px);
  bottom: clamp(12px, 3vw, 26px);
  z-index: 1;
  width: clamp(76px, 11vw, 120px);
  opacity: .12;
}

@media (max-width: 760px) {
  .gokenin-article-cover__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .gokenin-article-cover {
    width: calc(100% - 16px);
    margin-top: 10px;
    padding: 28px 18px 30px;
    border-left-width: 6px;
    border-radius: 5px 20px 20px 5px;
  }
  .gokenin-article-cover h2 { font-size: clamp(1.65rem, 8vw, 2.25rem) !important; }
  .gokenin-article-cover__description { font-size: .96rem; line-height: 1.85; }
  .gokenin-article-cover__facts { grid-template-columns: 1fr 1fr; gap: 8px; }
  .gokenin-article-cover__fact { padding: 10px 11px; }
  .gokenin-article-cover__open { width: 100%; min-height: 54px; }
  .gokenin-article-cover__seal { width: 48px; right: 16px; top: 15px; font-size: .72rem; }
  .gokenin-article-cover__mark { width: 72px; opacity: .09; }
}


/* v4.9.30: route point double-tap map action and calmer CTA calico sizing */
body.gokenin-gacha-article-page .gokenin-route-point {
  position: relative;
  padding-right: 42px;
  outline: none;
  touch-action: manipulation;
}

body.gokenin-gacha-article-page .gokenin-route-point::after {
  content: "地図";
  position: absolute;
  top: 50%;
  right: 12px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(31, 53, 45, .07);
  color: rgba(31, 53, 45, .62);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .04em;
  transform: translateY(-50%);
}

body.gokenin-gacha-article-page .gokenin-route-point.is-gokenin-route-current::after {
  content: "もう一度";
  background: rgba(163, 75, 54, .11);
  color: var(--g-article-red, #a34b36);
}

body.gokenin-gacha-article-page .gokenin-route-point:focus-visible {
  box-shadow: 0 0 0 3px rgba(163, 75, 54, .18);
}

body.gokenin-gacha-article-page .gokenin-route-map__tap-hint {
  margin: 14px 0 18px !important;
  padding: 10px 13px;
  border-radius: 11px;
  background: rgba(31, 53, 45, .045);
  color: rgba(40, 35, 30, .72) !important;
  font-size: .84rem !important;
  line-height: 1.65 !important;
}

body.gokenin-gacha-article-page .gokenin-article-cta__cat {
  right: clamp(13px, 3vw, 28px);
  bottom: 8px;
  width: auto;
  height: clamp(58px, 7vw, 82px);
  max-width: 112px;
  opacity: .58;
}

body.gokenin-gacha-article-page .gokenin-article-cta__cat[data-gokenin-variant="sleeping-on-stone"] {
  height: clamp(50px, 6vw, 72px);
  max-width: 122px;
}

@media (max-width: 640px) {
  body.gokenin-gacha-article-page .gokenin-route-point { padding-right: 38px; }
  body.gokenin-gacha-article-page .gokenin-route-point::after { right: 9px; font-size: .59rem; }
  body.gokenin-gacha-article-page .gokenin-route-map__tap-hint { font-size: .8rem !important; }
  body.gokenin-gacha-article-page .gokenin-article-cta__cat {
    right: 10px;
    bottom: 9px;
    height: 58px;
    max-width: 86px;
    opacity: .48;
  }
  body.gokenin-gacha-article-page .gokenin-article-cta__cat[data-gokenin-variant="sleeping-on-stone"] {
    height: 50px;
    max-width: 94px;
  }
}


/* v4.9.33: keep the calico in the article CTA as a tiny corner ornament */
body.gokenin-gacha-article-page .gokenin-article-cta {
  padding-right: clamp(30px, 5vw, 48px);
}

body.gokenin-gacha-article-page .gokenin-article-cta__cat,
body.gokenin-gacha-article-page .gokenin-article-cta__cat[data-gokenin-variant] {
  position: absolute !important;
  right: 14px !important;
  bottom: 12px !important;
  width: auto !important;
  height: auto !important;
  max-width: 58px !important;
  max-height: 58px !important;
  opacity: .34 !important;
  object-fit: contain !important;
  transform: none !important;
  filter: none !important;
  pointer-events: none !important;
}

@media (max-width: 640px) {
  body.gokenin-gacha-article-page .gokenin-article-cta {
    padding-right: 18px;
    padding-bottom: 76px;
  }

  body.gokenin-gacha-article-page .gokenin-article-cta__cat,
  body.gokenin-gacha-article-page .gokenin-article-cta__cat[data-gokenin-variant] {
    right: 10px !important;
    bottom: 10px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    opacity: .28 !important;
  }
}


/* v4.9.34: remove theme-level previous/next post navigation from mission articles */
body.gokenin-gacha-article-page #pager-post-navi,
body.gokenin-gacha-article-page .pager-post-navi,
body.gokenin-gacha-article-page .post-navi-default,
body.gokenin-gacha-article-page a.prev-post,
body.gokenin-gacha-article-page a.next-post {
  display: none !important;
}


/* -------------------------
 * v4.9.39 実用情報の開帳
 * ------------------------- */
body.gokenin-gacha-article-page .gokenin-practical-reveal {
  width: min(100%, var(--g-article-wide));
  margin: clamp(34px, 7vw, 68px) auto 0;
  border: 0;
}

body.gokenin-gacha-article-page .gokenin-practical-reveal__summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: min(100%, 560px);
  min-height: 58px;
  margin: 0 auto;
  padding: 14px 20px;
  border: 1px solid rgba(32, 61, 51, 0.24);
  border-radius: 999px;
  background: linear-gradient(180deg, #fffdf8 0%, #f5ecdc 100%);
  box-shadow: 0 10px 24px rgba(40, 37, 28, 0.08);
  color: var(--g-article-green);
  cursor: pointer;
  font-weight: 850;
  letter-spacing: 0.06em;
  list-style: none;
  text-align: center;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

body.gokenin-gacha-article-page .gokenin-practical-reveal__summary::-webkit-details-marker {
  display: none;
}

body.gokenin-gacha-article-page .gokenin-practical-reveal__summary:hover,
body.gokenin-gacha-article-page .gokenin-practical-reveal__summary:focus-visible {
  border-color: rgba(163, 75, 54, 0.42);
  box-shadow: 0 12px 28px rgba(40, 37, 28, 0.12);
  transform: translateY(-1px);
}

body.gokenin-gacha-article-page .gokenin-practical-reveal__summary:focus-visible {
  outline: 3px solid rgba(163, 75, 54, 0.18);
  outline-offset: 4px;
}

body.gokenin-gacha-article-page .gokenin-practical-reveal__mark {
  display: grid;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: rgba(163, 75, 54, 0.1);
  color: var(--g-article-red);
  font-size: 1.08rem;
  line-height: 1;
  transition: transform 160ms ease;
}

body.gokenin-gacha-article-page .gokenin-practical-reveal[open] > .gokenin-practical-reveal__summary .gokenin-practical-reveal__mark {
  transform: rotate(45deg);
}

body.gokenin-gacha-article-page .gokenin-practical-reveal__content {
  padding-top: clamp(24px, 5vw, 44px);
}

html.gokenin-motion-ready body.gokenin-gacha-article-page .gokenin-practical-reveal[open] > .gokenin-practical-reveal__content {
  animation: gokenin-practical-open 180ms ease-out both;
}

@keyframes gokenin-practical-open {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
  body.gokenin-gacha-article-page .gokenin-practical-reveal {
    margin-top: 30px;
  }

  body.gokenin-gacha-article-page .gokenin-practical-reveal__summary {
    min-height: 54px;
    padding: 12px 16px;
    font-size: 0.96rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.gokenin-gacha-article-page .gokenin-practical-reveal__summary,
  body.gokenin-gacha-article-page .gokenin-practical-reveal__mark,
  html.gokenin-motion-ready body.gokenin-gacha-article-page .gokenin-practical-reveal[open] > .gokenin-practical-reveal__content {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* -------------------------
 * v4.9.42 読みやすさ・改行整理
 * ------------------------- */
body.gokenin-gacha-article-page {
  --g-article-reading: 700px;
  line-break: strict;
  text-spacing-trim: trim-start;
}

body.gokenin-gacha-article-page :is(
  .entry-title,
  .article-title,
  .post-title,
  .gokenin-story-chapter__title,
  .gokenin-practical-section h2,
  .gokenin-practical-section h3,
  .gokenin-practical-section h4,
  .gokenin-mission-note h2,
  .gokenin-route-map h2,
  .gokenin-article-cta h2,
  .gokenin-related-stories h2,
  .gokenin-related-story h3
) {
  line-break: strict;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: balance;
}

body.gokenin-gacha-article-page :is(
  .gokenin-story-section p,
  .gokenin-story-chapter__body p,
  .gokenin-practical-section p,
  .gokenin-route-note,
  .gokenin-route-return-note,
  .gokenin-article-cta p,
  .gokenin-related-story__mission
) {
  line-break: strict;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: pretty;
}

body.gokenin-gacha-article-page .gokenin-story-section p,
body.gokenin-gacha-article-page .gokenin-story-chapter__body p {
  margin-bottom: 1.55em;
  line-height: 2.05;
}

body.gokenin-gacha-article-page .gokenin-story-section p:last-child,
body.gokenin-gacha-article-page .gokenin-story-chapter__body p:last-child,
body.gokenin-gacha-article-page .gokenin-practical-section > p:last-child {
  margin-bottom: 0;
}

body.gokenin-gacha-article-page .gokenin-practical-section > p {
  margin-top: 0;
  margin-bottom: 1.15em;
}

body.gokenin-gacha-article-page .gokenin-practical-section > :is(ul, ol) li,
body.gokenin-gacha-article-page .gokenin-mission-note__value,
body.gokenin-gacha-article-page .gokenin-route-point {
  line-break: strict;
  overflow-wrap: break-word;
  word-break: normal;
}

body.gokenin-gacha-article-page :is(
  .gokenin-practical-reveal__summary,
  .gokenin-route-map__button,
  .gokenin-route-map-button,
  .gokenin-article-cta__actions a
) {
  line-break: strict;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: balance;
}

@media (max-width: 640px) {
  body.gokenin-gacha-article-page {
    --g-article-reading: 100%;
  }

  body.gokenin-gacha-article-page :is(.entry-title, .article-title, .post-title) {
    font-size: clamp(1.62rem, 7.2vw, 2.12rem) !important;
    line-height: 1.48 !important;
    letter-spacing: 0.01em !important;
  }

  body.gokenin-gacha-article-page .gokenin-story-section,
  body.gokenin-gacha-article-page .gokenin-practical-section {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.gokenin-gacha-article-page .gokenin-story-section p,
  body.gokenin-gacha-article-page .gokenin-story-chapter__body p {
    font-size: 1rem;
    line-height: 1.96;
    letter-spacing: 0.008em;
    margin-bottom: 1.4em;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section > p,
  body.gokenin-gacha-article-page .gokenin-route-note,
  body.gokenin-gacha-article-page .gokenin-route-return-note,
  body.gokenin-gacha-article-page .gokenin-article-cta > p:not(.gokenin-section-kicker) {
    font-size: 0.96rem;
    line-height: 1.82;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section > h2:first-child {
    font-size: clamp(1.35rem, 6.2vw, 1.72rem) !important;
    line-height: 1.48 !important;
  }

  body.gokenin-gacha-article-page .gokenin-practical-section > :is(h2:not(:first-child), h3, h4) {
    margin-top: 32px !important;
    font-size: clamp(1.12rem, 5.2vw, 1.38rem) !important;
    line-height: 1.55 !important;
  }

  body.gokenin-gacha-article-page .gokenin-mission-note__grid {
    grid-template-columns: 1fr;
  }

  body.gokenin-gacha-article-page .gokenin-practical-reveal__summary,
  body.gokenin-gacha-article-page .gokenin-route-map__button,
  body.gokenin-gacha-article-page .gokenin-route-map-button,
  body.gokenin-gacha-article-page .gokenin-article-cta__actions a {
    width: 100%;
    min-height: 52px;
    padding-right: 18px;
    padding-left: 18px;
    font-size: 0.96rem;
    line-height: 1.5;
  }
}
