:root {
  --ink: #17372d;
  --ink-2: #284c3e;
  --paper: #f4efe4;
  --paper-2: #fffdf8;
  --paper-3: #ebe2d2;
  --copper: #a9682f;
  --copper-light: #dcad6b;
  --sage: #a9b8a5;
  --line: rgba(23, 55, 45, 0.16);
  --muted: #647169;
  --white: #fff;
  --buy: #2f7657;
  --conditional: #b87827;
  --pass: #66716a;
  --shadow: 0 24px 70px rgba(41, 53, 44, 0.11);
  --radius-lg: 34px;
  --radius-md: 22px;
  --shell: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  line-height: 1.8;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--copper-light); color: var(--ink); }

.shell { width: min(calc(100% - 44px), var(--shell)); margin-inline: auto; }
.shell.narrow { width: min(calc(100% - 44px), 900px); }
.section { padding: 108px 0; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 1000; transform: translateY(-140%);
  padding: 10px 16px; background: var(--ink); color: white; border-radius: 8px;
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky; top: 0; z-index: 40; background: rgba(244, 239, 228, 0.91);
  border-bottom: 1px solid transparent; backdrop-filter: blur(16px); transition: border-color .25s, box-shadow .25s;
}
.site-header.scrolled { border-color: var(--line); box-shadow: 0 12px 30px rgba(23, 55, 45, 0.07); }
.header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand-mark {
  display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px;
  background: var(--ink); color: var(--paper-2); font-family: serif; font-size: 1.25rem; font-weight: 800;
  box-shadow: 5px 5px 0 rgba(169, 104, 47, .28);
}
.brand strong { display: block; font-size: 1.05rem; letter-spacing: .08em; line-height: 1.15; }
.brand small { display: block; margin-top: 4px; color: var(--muted); font-size: .65rem; letter-spacing: .11em; }
.global-nav { display: flex; align-items: center; gap: 30px; font-size: .84rem; font-weight: 700; }
.global-nav a { position: relative; }
.global-nav > a:not(.nav-pill)::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: var(--copper); transition: right .22s;
}
.global-nav > a:hover::after, .global-nav > a:focus-visible::after { right: 0; }
.nav-pill { padding: 10px 18px; border: 1px solid var(--ink); border-radius: 999px; transition: background .2s, color .2s; }
.nav-pill:hover { background: var(--ink); color: var(--paper-2); }
.nav-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; padding: 10px; }
.nav-toggle span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: var(--ink); transition: transform .2s, opacity .2s; }

.hero { position: relative; overflow: hidden; padding: 100px 0 128px; }
.hero::before {
  content: ""; position: absolute; width: 620px; height: 620px; border-radius: 50%; right: -220px; top: -260px;
  border: 1px solid rgba(169, 104, 47, .2); box-shadow: inset 0 0 0 86px rgba(255, 253, 248, .28), inset 0 0 0 87px rgba(169, 104, 47, .12);
}
.hero::after {
  content: ""; position: absolute; left: -10%; right: -10%; bottom: 28px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(23,55,45,.16) 22%, rgba(23,55,45,.16) 78%, transparent);
}
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 68px; align-items: center; position: relative; z-index: 1; }
.eyebrow, .section-kicker {
  display: flex; align-items: center; gap: 11px; margin: 0 0 20px; color: var(--copper); font-size: .73rem; font-weight: 800; letter-spacing: .19em;
}
.eyebrow span { width: 28px; height: 1px; background: var(--copper); }
.hero h1 { margin: 0; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(3.4rem, 6.4vw, 6rem); line-height: 1.05; letter-spacing: .04em; font-weight: 700; }
.hero h1 em { color: var(--copper); font-style: normal; position: relative; }
.hero h1 em::after { content: ""; position: absolute; left: 4%; right: -2%; bottom: 2px; height: 9px; background: rgba(220,173,107,.34); transform: rotate(-1.5deg); z-index: -1; }
.hero-lead { max-width: 650px; margin: 34px 0 0; color: #43554d; font-size: 1.04rem; line-height: 2; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 13px 26px;
  border-radius: 999px; font-size: .88rem; font-weight: 800; letter-spacing: .06em; transition: transform .2s, box-shadow .2s, background .2s;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--ink); color: var(--paper-2); box-shadow: 0 12px 28px rgba(23,55,45,.2); }
.button-primary:hover { box-shadow: 0 16px 34px rgba(23,55,45,.26); }
.button-light { background: var(--paper-2); color: var(--ink); }
.text-link { font-size: .86rem; font-weight: 800; border-bottom: 1px solid rgba(23,55,45,.36); padding-bottom: 4px; }
.text-link span { display: inline-block; margin-left: 6px; transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.hero-facts { display: flex; gap: 0; margin: 48px 0 0; padding: 0; }
.hero-facts div { padding: 0 22px; border-left: 1px solid var(--line); }
.hero-facts div:first-child { padding-left: 0; border-left: 0; }
.hero-facts dt { color: var(--copper); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.hero-facts dd { margin: 4px 0 0; font-size: .82rem; font-weight: 700; }
.hero-visual { position: relative; min-height: 560px; display: grid; place-items: center; }
.hero-visual img { position: relative; width: min(100%, 560px); z-index: 2; filter: drop-shadow(0 28px 38px rgba(23,55,45,.13)); }
.notebook-shadow { position: absolute; width: 74%; height: 70%; border-radius: 50%; background: rgba(169,104,47,.13); filter: blur(42px); transform: translate(18px, 52px); }
.visual-tag {
  position: absolute; z-index: 3; padding: 10px 16px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 999px;
  box-shadow: 0 12px 28px rgba(23,55,45,.11); font-size: .75rem; font-weight: 800;
}
.tag-one { top: 68px; right: 10px; transform: rotate(4deg); }
.tag-two { bottom: 90px; left: 2px; transform: rotate(-5deg); }

.weekly-section { background: var(--paper-2); }
.section-heading { display: flex; justify-content: space-between; gap: 50px; align-items: end; margin-bottom: 48px; }
.section-heading h2, .manifesto-copy h2, .twin-grid h2, .article-section-heading h2 {
  margin: 0; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(2.1rem, 4vw, 3.5rem); line-height: 1.25; letter-spacing: .045em;
}
.section-heading > p { max-width: 480px; margin: 0; color: var(--muted); font-size: .95rem; }
.section-heading.compact { margin-bottom: 52px; }
.weekly-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 26px; }
.weekly-card {
  position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 460px; padding: 34px;
  border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); transition: transform .25s, box-shadow .25s;
}
.weekly-card::before { content: ""; position: absolute; width: 220px; height: 220px; right: -90px; top: -110px; border-radius: 50%; border: 44px solid rgba(169,104,47,.08); }
.weekly-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.card-topline { display: flex; justify-content: space-between; align-items: center; gap: 12px; position: relative; z-index: 1; }
.day-badge { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 13px; background: var(--ink); color: var(--paper-2); border-radius: 999px; font-size: .72rem; font-weight: 800; }
.stage-badge { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: .71rem; font-weight: 700; }
.stage-badge i { width: 7px; height: 7px; border-radius: 50%; background: var(--copper); box-shadow: 0 0 0 4px rgba(169,104,47,.12); }
.card-date { margin: 34px 0 4px; color: var(--copper); font-size: .78rem; font-weight: 800; letter-spacing: .1em; }
.weekly-card h3 { margin: 0; font-family: "Yu Mincho", serif; font-size: 1.8rem; letter-spacing: .04em; }
.weekly-card > p:not(.card-date) { margin: 18px 0 0; color: var(--muted); font-size: .9rem; }
.candidate-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.candidate-row span { padding: 7px 11px; border: 1px solid var(--line); background: rgba(255,255,255,.42); border-radius: 999px; font-size: .72rem; font-weight: 700; }
.card-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: auto; padding-top: 30px; border-top: 1px solid var(--line); }
.card-footer > span { color: var(--muted); font-size: .73rem; }
.card-footer a { font-size: .82rem; font-weight: 800; }
.card-footer a span { color: var(--copper); margin-left: 5px; }

.process-section { position: relative; }
.process-grid { list-style: none; display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin: 0; padding: 0; }
.process-grid li { position: relative; padding: 34px 30px 32px; border-top: 1px solid var(--ink); }
.step-no { position: absolute; right: 0; top: 8px; color: rgba(23,55,45,.2); font-family: serif; font-size: 2.5rem; }
.step-icon { display: grid; place-items: center; width: 55px; height: 55px; border-radius: 18px; background: var(--paper-2); box-shadow: 7px 7px 0 var(--paper-3); font-family: serif; font-size: 1.2rem; font-weight: 800; }
.process-grid h3 { margin: 25px 0 10px; font-size: 1.1rem; }
.process-grid p { margin: 0; color: var(--muted); font-size: .88rem; }

.manifesto-section { background: var(--ink); color: var(--paper-2); overflow: hidden; }
.manifesto-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.section-kicker.light { color: var(--copper-light); }
.manifesto-copy p:not(.section-kicker) { max-width: 540px; margin: 28px 0 32px; color: rgba(255,255,255,.72); }
.decision-stack { display: grid; gap: 14px; }
.decision-card { display: flex; align-items: center; gap: 18px; padding: 19px 22px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; backdrop-filter: blur(8px); }
.decision-card > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; font-family: serif; font-size: 1.3rem; font-weight: 800; }
.decision-card.buy > span { background: #d5eadf; color: #225a42; }
.decision-card.conditional > span { background: #f1dbba; color: #85531c; }
.decision-card.pass > span { background: #d9dedb; color: #4e5c54; }
.decision-card strong { display: block; }
.decision-card small { display: block; margin-top: 2px; color: rgba(255,255,255,.6); }

.twin-section { background: var(--paper-2); }
.twin-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 80px; align-items: start; }
.twin-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.twin-cards article { min-height: 250px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.twin-cards span { color: var(--copper); font-size: .7rem; font-weight: 800; }
.twin-cards h3 { margin: 52px 0 10px; font-family: "Yu Mincho", serif; font-size: 1.4rem; }
.twin-cards p { margin: 0; color: var(--muted); font-size: .86rem; }

.article-hero, .page-hero { position: relative; overflow: hidden; padding: 86px 0 82px; background: var(--paper-2); border-bottom: 1px solid var(--line); }
.article-hero::after, .page-hero::after { content: "馬"; position: absolute; right: max(5vw, 30px); bottom: -86px; color: rgba(169,104,47,.07); font-family: serif; font-size: 19rem; line-height: 1; }
.breadcrumbs { display: flex; gap: 9px; align-items: center; margin-bottom: 34px; color: var(--muted); font-size: .72rem; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 4px; }
.article-meta { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; }
.article-meta time { color: var(--muted); font-size: .78rem; font-weight: 700; }
.article-hero h1, .page-hero h1 { position: relative; z-index: 1; margin: 0; font-family: "Yu Mincho", serif; font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1.22; letter-spacing: .045em; }
.article-lead, .page-hero p:not(.section-kicker) { position: relative; z-index: 1; max-width: 760px; margin: 28px 0 0; color: var(--muted); font-size: 1rem; line-height: 2; }
.update-chip { display: inline-flex; align-items: center; gap: 9px; margin-top: 28px; padding: 9px 14px; background: var(--paper); border-radius: 999px; color: var(--ink-2); font-size: .73rem; font-weight: 700; }
.update-chip span { width: 7px; height: 7px; border-radius: 50%; background: var(--copper); }
.article-body { background: var(--paper); }
.article-timeline { list-style: none; display: grid; grid-template-columns: repeat(3,1fr); margin: 0 0 84px; padding: 0; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; background: var(--paper-2); }
.article-timeline li { position: relative; display: flex; align-items: center; gap: 13px; min-height: 84px; padding: 17px 23px; border-left: 1px solid var(--line); color: var(--muted); }
.article-timeline li:first-child { border-left: 0; }
.article-timeline li > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; background: var(--paper-3); font-size: .75rem; font-weight: 800; }
.article-timeline strong, .article-timeline small { display: block; }
.article-timeline strong { color: var(--ink); font-size: .83rem; }
.article-timeline small { margin-top: 1px; font-size: .68rem; }
.article-timeline .active { background: var(--ink); color: rgba(255,255,255,.65); }
.article-timeline .active strong { color: white; }
.article-timeline .active > span { background: var(--copper-light); color: var(--ink); }
.article-section-heading { margin-bottom: 40px; }
.article-section-heading > p:last-child { max-width: 700px; color: var(--muted); }
.horse-card-list { display: grid; gap: 24px; }
.horse-card { position: relative; padding: 34px; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 14px 34px rgba(23,55,45,.055); }
.horse-card::before { content: ""; position: absolute; left: -1px; top: 36px; bottom: 36px; width: 5px; border-radius: 0 6px 6px 0; background: var(--copper); }
.horse-card.status-primary::before { background: var(--buy); }
.horse-card.status-caution::before { background: var(--pass); }
.horse-card.status-review_required::before { background: var(--conditional); }
.horse-card-head { display: flex; justify-content: space-between; gap: 26px; align-items: start; }
.race-label { margin: 0; color: var(--copper); font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.horse-card h3 { margin: 4px 0 0; font-family: "Yu Mincho", serif; font-size: 2rem; letter-spacing: .04em; }
.race-meta { margin: 4px 0 0; color: var(--muted); font-size: .75rem; }
.candidate-status { flex-shrink: 0; padding: 8px 13px; background: var(--paper); border-radius: 999px; color: var(--ink-2); font-size: .7rem; font-weight: 800; }
.candidate-summary { margin: 24px 0 0; color: #43554d; font-size: .93rem; }
.reason-block { margin-top: 25px; padding: 20px 22px; background: var(--paper); border-radius: 18px; }
.reason-block h4 { margin: 0 0 11px; font-size: .78rem; }
.reason-block ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.reason-block li { padding: 6px 10px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.45); font-size: .7rem; font-weight: 700; }
.candidate-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 18px; }
.candidate-grid > div { padding: 17px 19px; border: 1px solid var(--line); border-radius: 16px; }
.mini-label { color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.candidate-grid p { margin: 4px 0 0; font-size: .78rem; font-weight: 700; }
.pending-verdict { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; padding-top: 19px; border-top: 1px dashed rgba(23,55,45,.25); }
.pending-verdict span { color: var(--muted); font-size: .71rem; }
.pending-verdict strong { font-size: .83rem; }
.editor-note { display: grid; grid-template-columns: 58px 1fr; gap: 22px; margin-top: 58px; padding: 31px; background: var(--ink); color: var(--paper-2); border-radius: var(--radius-lg); }
.note-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 17px; background: var(--copper-light); color: var(--ink); font-family: serif; font-size: 1.25rem; font-weight: 800; }
.editor-note h2 { margin: 1px 0 8px; font-size: 1.2rem; }
.editor-note p { margin: 0; color: rgba(255,255,255,.7); font-size: .87rem; }
.umayomi-handoff { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; margin-top: 28px; padding: 34px; background: #e8dfce; border-radius: var(--radius-lg); }
.umayomi-handoff span { color: var(--copper); font-size: .7rem; font-weight: 800; }
.umayomi-handoff h2 { margin: 4px 0 8px; font-family: "Yu Mincho", serif; font-size: 1.45rem; }
.umayomi-handoff p { margin: 0; color: var(--muted); font-size: .84rem; }
.handoff-status { display: grid; place-items: center; width: 125px; height: 125px; border-radius: 50%; background: var(--paper-2); border: 1px dashed var(--copper); text-align: center; font-size: .7rem; font-weight: 800; line-height: 1.5; }
.update-history { margin-top: 70px; }
.update-history h2 { font-family: "Yu Mincho", serif; font-size: 1.5rem; }
.update-history ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.update-history li { display: grid; grid-template-columns: 110px 1fr; padding: 17px 0; border-bottom: 1px solid var(--line); font-size: .83rem; }
.update-history time { color: var(--copper); font-weight: 800; }
.update-history .future { color: var(--muted); }

.page-hero { padding: 96px 0; }
.page-hero .section-kicker { margin-bottom: 16px; }
.prose { font-size: .98rem; }
.prose > h2 { margin: 70px 0 20px; font-family: "Yu Mincho", serif; font-size: 2rem; }
.prose > h2:first-child { margin-top: 0; }
.prose p { color: #45564e; }
.prose blockquote { margin: 38px 0; padding: 28px 30px; border-left: 5px solid var(--copper); background: var(--paper-2); font-family: "Yu Mincho", serif; font-size: 1.2rem; }
.guide-grid, .role-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.guide-grid article, .role-grid article { padding: 25px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 20px; }
.guide-grid span, .role-grid span { color: var(--copper); font-size: .68rem; font-weight: 800; }
.guide-grid h3, .role-grid h3 { margin: 24px 0 8px; font-size: 1rem; }
.guide-grid p, .role-grid p { margin: 0; font-size: .82rem; }
.status-dictionary { margin: 0; }
.status-dictionary > div { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 21px 0; border-top: 1px solid var(--line); }
.status-dictionary > div:last-child { border-bottom: 1px solid var(--line); }
.status-dictionary dt { font-weight: 800; }
.status-dictionary dt::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 10px; border-radius: 50%; background: var(--pass); }
.status-dictionary dt.buy::before { background: var(--buy); }
.status-dictionary dt.conditional::before { background: var(--conditional); }
.status-dictionary dd { margin: 0; color: var(--muted); }
.two-column-note { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.two-column-note > div { padding: 26px; background: var(--paper-2); border-radius: 20px; }
.two-column-note h3 { margin: 0 0 8px; }
.two-column-note p { margin: 0; font-size: .85rem; }
.policy-list { display: grid; gap: 0; }
.policy-list article { display: grid; grid-template-columns: 70px 1fr; gap: 22px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.policy-list article > span { color: var(--copper); font-family: serif; font-size: 1.8rem; }
.policy-list h2 { margin: 0 0 9px; font-size: 1.25rem; }
.policy-list p { margin: 0; }
.updated { margin-top: 50px; font-size: .8rem; color: var(--muted); }
.contact-box { padding: 44px; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-lg); text-align: center; }
.contact-box > span { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--paper); color: var(--copper); font-size: .68rem; font-weight: 800; }
.contact-box h2 { margin: 22px 0 10px; font-family: "Yu Mincho", serif; font-size: 1.7rem; }
.contact-box p { max-width: 620px; margin: 0 auto; }
.not-found { min-height: 68vh; display: grid; place-items: center; text-align: center; }
.not-found span { color: rgba(169,104,47,.25); font-family: serif; font-size: 7rem; line-height: 1; }
.not-found h1 { margin: 20px 0 10px; font-family: "Yu Mincho", serif; font-size: 2rem; }
.not-found p { color: var(--muted); margin-bottom: 30px; }

.site-footer { padding: 74px 0 24px; background: #102b22; color: rgba(255,255,255,.7); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; padding-bottom: 44px; }
.footer-brand { color: var(--paper-2); font-family: "Yu Mincho", serif; font-size: 1.5rem; font-weight: 800; }
.footer-grid p { max-width: 540px; font-size: .82rem; }
.footer-grid nav { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px 24px; align-content: start; }
.footer-grid nav a { font-size: .78rem; }
.footer-grid nav a:hover { color: var(--copper-light); }
.responsible-note { display: flex; justify-content: space-between; gap: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: .67rem; }
.responsible-note p:first-child { max-width: 790px; }
.responsible-note p { margin: 0; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 900px) {
  .section { padding: 84px 0; }
  .global-nav {
    position: absolute; top: 84px; left: 22px; right: 22px; display: none; padding: 20px;
    background: var(--paper-2); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow);
  }
  .global-nav.open { display: grid; gap: 16px; }
  .nav-toggle { display: block; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .hero { padding-top: 72px; }
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .hero-visual { min-height: 430px; }
  .hero-visual img { width: min(100%, 480px); }
  .weekly-grid, .manifesto-grid, .twin-grid { grid-template-columns: 1fr; }
  .manifesto-grid, .twin-grid { gap: 50px; }
  .process-grid { gap: 8px; }
  .process-grid li { padding-inline: 18px; }
  .guide-grid, .role-grid { grid-template-columns: 1fr; }
  .article-hero::after, .page-hero::after { font-size: 13rem; bottom: -50px; }
}

@media (max-width: 680px) {
  .shell, .shell.narrow { width: min(calc(100% - 30px), var(--shell)); }
  .header-inner { min-height: 72px; }
  .global-nav { top: 72px; left: 15px; right: 15px; }
  .brand small { display: none; }
  .brand-mark { width: 38px; height: 38px; }
  .hero { padding: 58px 0 90px; }
  .hero h1 { font-size: clamp(2.9rem, 15vw, 4.2rem); }
  .hero-lead { font-size: .92rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero-facts { display: grid; grid-template-columns: repeat(3,1fr); width: 100%; }
  .hero-facts div { padding: 0 9px; }
  .hero-facts dd { font-size: .68rem; line-height: 1.5; }
  .hero-visual { min-height: 345px; }
  .visual-tag { font-size: .63rem; }
  .tag-one { top: 30px; right: -2px; }
  .tag-two { bottom: 38px; left: -4px; }
  .section { padding: 70px 0; }
  .section-heading { display: block; margin-bottom: 34px; }
  .section-heading > p { margin-top: 17px; }
  .weekly-grid { grid-template-columns: 1fr; }
  .weekly-card { min-height: 420px; padding: 26px; border-radius: 26px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li { padding: 28px 12px 28px 82px; border-top: 1px solid var(--line); }
  .process-grid .step-icon { position: absolute; left: 9px; top: 30px; }
  .process-grid .step-no { top: 24px; right: 8px; }
  .twin-cards { grid-template-columns: 1fr; }
  .article-hero, .page-hero { padding: 60px 0; }
  .article-hero h1, .page-hero h1 { font-size: 2.5rem; }
  .article-timeline { grid-template-columns: 1fr; }
  .article-timeline li { border-left: 0; border-top: 1px solid var(--line); min-height: 72px; }
  .article-timeline li:first-child { border-top: 0; }
  .horse-card { padding: 26px 22px; border-radius: 26px; }
  .horse-card-head { display: block; }
  .candidate-status { display: inline-flex; margin-top: 13px; }
  .candidate-grid { grid-template-columns: 1fr; }
  .pending-verdict { align-items: flex-start; flex-direction: column; gap: 4px; }
  .editor-note { grid-template-columns: 1fr; }
  .umayomi-handoff { grid-template-columns: 1fr; }
  .handoff-status { width: 105px; height: 105px; }
  .status-dictionary > div { grid-template-columns: 1fr; gap: 5px; }
  .two-column-note { grid-template-columns: 1fr; }
  .policy-list article { grid-template-columns: 48px 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-grid nav { grid-template-columns: 1fr 1fr; }
  .responsible-note { display: block; }
  .responsible-note p:last-child { margin-top: 14px; }
}

/* 記事本文の文字装飾 */
.mt-article {
  --mt-ink: #183e30;
  --mt-copper: #b07a45;
  --mt-marker: rgba(244, 204, 85, 0.52);
  --mt-paper: #fbf8f1;
  --mt-key-bg: #f5eedb;
  --mt-caution-bg: #faece5;
  --mt-caution: #a6533e;
  --mt-muted: #68736d;
}
.mt-article .mt-deck { color: var(--mt-muted); font-size: 1.08rem; font-weight: 650; line-height: 1.65; }
.mt-article h2 { margin-top: 2.15rem; padding: .18rem 0 .18rem .82rem; border-left: 4px solid var(--mt-copper); color: var(--mt-ink); line-height: 1.45; }
.mt-article h3 { margin: 1.55rem 0 .28rem; color: var(--mt-ink); font-size: 1.12rem; line-height: 1.5; }
.mt-article strong { color: var(--mt-ink); font-weight: 760; }
.mt-article .mt-status { display: inline-block; margin: 0 0 .56rem; padding: .12rem .52rem; border-radius: 999px; color: var(--mt-ink); background: #e9f0ec; font-size: .78rem; font-weight: 750; letter-spacing: .025em; }
.mt-article .mt-marker { color: inherit; background: linear-gradient(transparent 56%, var(--mt-marker) 56%); padding: 0 .08em .05em; font-weight: 720; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.mt-article .mt-underline { color: inherit; font-weight: 720; text-decoration-line: underline; text-decoration-color: var(--mt-copper); text-decoration-thickness: .17em; text-underline-offset: .16em; text-decoration-skip-ink: auto; }
.mt-article .mt-callout { margin: 1.35rem 0 1.55rem; padding: .95rem 1.05rem 1rem; border-left: 5px solid var(--mt-copper); border-radius: 0 .72rem .72rem 0; background: var(--mt-key-bg); box-shadow: 0 1px 0 rgba(24,62,48,.06); }
.mt-article .mt-callout-caution { border-left-color: var(--mt-caution); background: var(--mt-caution-bg); }
.mt-article .mt-callout-label { margin: 0 0 .32rem; color: var(--mt-ink); font-size: .82rem; font-weight: 800; letter-spacing: .045em; }
.mt-article .mt-note { margin-top: 2.2rem; color: var(--mt-muted); font-size: .82rem; line-height: 1.7; }
@media (max-width:640px) { .mt-article h2 { padding-left:.68rem; } .mt-article .mt-callout { margin-left:-.15rem; margin-right:-.15rem; padding:.85rem .9rem .92rem; } }
@media print { .mt-article .mt-marker { background:#f5df91; -webkit-print-color-adjust:exact; print-color-adjust:exact; } .mt-article .mt-callout { box-shadow:none; -webkit-print-color-adjust:exact; print-color-adjust:exact; } }


/* 共通レイアウト */
:root{--green:#173f31;--green2:#285d49;--paper:#fbf7ee;--ink:#17201c;--copper:#b7793f;--line:#ddd4c3;--white:#fff;}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;background:rgba(251,247,238,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.header-inner{max-width:1120px;margin:auto;padding:.8rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-family:serif;font-weight:900;font-size:1.3rem;text-decoration:none;color:var(--green)}.nav{display:flex;gap:.85rem;flex-wrap:wrap}.nav a{text-decoration:none;font-size:.9rem;font-weight:700;color:var(--green)}.hero{background:linear-gradient(135deg,#133a2d,#285d49);color:#fff;padding:4.7rem 1.1rem 4.2rem}.hero-inner{max-width:1120px;margin:auto}.eyebrow{font-size:.82rem;letter-spacing:.14em;font-weight:800;color:#f1c88b}.hero h1{font-family:serif;font-size:clamp(2.2rem,7vw,4.5rem);line-height:1.14;margin:.5rem 0 1rem}.hero p{max-width:690px;font-size:clamp(1rem,2vw,1.25rem);margin:0}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}.btn{display:inline-block;padding:.72rem 1rem;border-radius:999px;text-decoration:none;font-weight:800;background:#fff;color:var(--green)}.btn.alt{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}.section{max-width:1120px;margin:auto;padding:3rem 1.1rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.section h2{font-family:serif;color:var(--green);font-size:clamp(1.55rem,3vw,2.25rem);margin:0}.section-lead{color:#5f6963;margin:.25rem 0 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem;text-decoration:none;box-shadow:0 8px 24px rgba(30,45,37,.06);transition:.18s transform}.card:hover{transform:translateY(-2px)}.tag{display:inline-block;font-size:.72rem;font-weight:850;letter-spacing:.06em;color:var(--green2);background:#eaf2ee;border-radius:999px;padding:.17rem .55rem}.card h3{font-size:1.17rem;line-height:1.5;margin:.62rem 0 .4rem;color:var(--green)}.card p{margin:0;color:#606a64;font-size:.94rem}.article-wrap{max-width:820px;margin:auto;padding:2.4rem 1.1rem 4rem}.breadcrumbs{font-size:.78rem;color:#6b746f;margin-bottom:1rem}.article-header{padding-bottom:1.5rem;border-bottom:1px solid var(--line);margin-bottom:1.7rem}.article-header h1{font-family:serif;color:var(--green);font-size:clamp(1.8rem,5vw,3rem);line-height:1.35;margin:.45rem 0}.meta{font-size:.8rem;color:#6b746f}.mt-article p{margin:.8rem 0}.mt-article ul{padding-left:1.25rem}.related{margin-top:2.7rem;padding-top:1.5rem;border-top:1px solid var(--line)}.related a{color:var(--green2)}.site-footer{background:#123429;color:#e8efe9;padding:2rem 1.1rem}.footer-inner{max-width:1120px;margin:auto}.footer-inner p{margin:.25rem 0;font-size:.85rem}.notice{background:#fff5dc;border:1px solid #ead29a;border-radius:14px;padding:1rem;margin:1.2rem 0}.about-block{max-width:820px;margin:auto;padding:2.7rem 1.1rem 4rem}.about-block h1,.about-block h2{font-family:serif;color:var(--green)}.about-block h1{font-size:clamp(2rem,5vw,3.2rem)}.about-block h2{margin-top:2.2rem}.textbook-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.textbook-list a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;text-decoration:none;color:var(--green);font-weight:750}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.6rem;z-index:99}
@media(max-width:760px){.nav{gap:.55rem}.nav a{font-size:.78rem}.grid,.textbook-list{grid-template-columns:1fr}.hero{padding-top:3.6rem}.section{padding-top:2.3rem}.header-inner{align-items:flex-start}.brand{white-space:nowrap}}


/* ビジュアル調整 */
:root{--cream:#fffaf0;--cream2:#f8eedb;--forest:#154b39;--forest2:#26705a;--gold:#dda94e;--coral:#e78a68;--sky:#91c6da;--ink:#20332b;--muted:#66756e;--line2:rgba(21,75,57,.14);--soft-shadow:0 18px 50px rgba(28,62,48,.10)}
body{background:linear-gradient(180deg,#fffaf0 0,#f8f1e5 100%);color:var(--ink)}
.site-header{background:rgba(255,250,240,.92);border-bottom:1px solid var(--line2)}
.header-inner{min-height:78px}.brand{display:flex;align-items:center;gap:.65rem;font-size:1.26rem}.brand::before{content:"";width:42px;height:42px;background:url('/assets/mascot-horse.svg') center/contain no-repeat;filter:drop-shadow(0 5px 7px rgba(21,75,57,.14))}.nav a{padding:.45rem .62rem;border-radius:999px}.nav a:hover,.nav a:focus-visible{background:#e8f3ee;color:var(--forest2)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.22),transparent 24%),linear-gradient(135deg,#124535,#27725b);padding:4.4rem 1.1rem}.hero::after{content:"";position:absolute;inset:auto -6% -80px;height:170px;background:var(--cream);border-radius:50% 50% 0 0/38% 38% 0 0}.hero-grid-v11{position:relative;z-index:2;max-width:1120px;margin:auto;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:2.2rem}.hero-inner{max-width:none}.hero-mascot{margin:0;display:grid;place-items:center;min-height:360px}.hero-mascot img{width:min(100%,460px);filter:drop-shadow(0 28px 24px rgba(6,35,25,.20));animation:horseFloat 5s ease-in-out infinite}.hero-mascot figcaption{margin-top:-.4rem;padding:.45rem .85rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);font-size:.76rem;font-weight:800;letter-spacing:.05em}@keyframes horseFloat{50%{transform:translateY(-8px)}}
.magazine-strip{position:relative;z-index:3;max-width:1120px;margin:-1.4rem auto 0;padding:0 1.1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.magazine-strip a{display:flex;align-items:center;gap:.8rem;min-height:78px;padding:1rem;background:#fff;border:1px solid var(--line2);border-radius:18px;text-decoration:none;box-shadow:var(--soft-shadow)}.magazine-strip b{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:14px;background:#edf6f1;color:var(--forest);font-size:1.1rem}.magazine-strip strong{display:block;color:var(--forest);font-size:.92rem}.magazine-strip small{display:block;color:var(--muted);font-size:.72rem}
.section{padding-top:4.2rem}.section:nth-of-type(even){position:relative}.section-head{margin-bottom:1.45rem}.section-head h2{position:relative;display:inline-block}.section-head h2::after{content:"";position:absolute;left:0;bottom:-.35rem;width:2.8rem;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--gold),var(--coral))}.grid{gap:1.15rem}.card{position:relative;overflow:hidden;border-color:var(--line2);border-radius:24px;padding:1.4rem;box-shadow:var(--soft-shadow);background:linear-gradient(145deg,#fff,#fffaf3)}.card::after{content:"";position:absolute;right:-34px;bottom:-42px;width:105px;height:105px;border-radius:50%;background:radial-gradient(circle,#f1d595 0 24%,transparent 26%),radial-gradient(circle at 70% 35%,#a8d2c3 0 20%,transparent 22%);opacity:.42;transform:rotate(-8deg)}.card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(28,62,48,.15)}.tag{background:#e9f5ef;color:var(--forest);border:1px solid rgba(38,112,90,.14)}
.notice{border-color:#ebd39a;background:linear-gradient(135deg,#fff7d9,#fffdf5);box-shadow:0 14px 34px rgba(123,92,27,.08)}
.article-wrap{max-width:900px}.article-header{position:relative;padding:1.7rem 1.7rem 1.55rem 7.9rem;background:linear-gradient(135deg,#fff,#f4f8f5);border:1px solid var(--line2);border-radius:26px;box-shadow:var(--soft-shadow)}.article-header::before{content:"";position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);width:92px;height:92px;background:url('/assets/mascot-horse.svg') center/contain no-repeat}.article-header h1{margin-top:.35rem}.article-header+.mt-deck{display:none}.mt-article>p,.mt-article>ul,.mt-article>aside,.mt-article>h2{max-width:780px;margin-left:auto;margin-right:auto}.mt-article>h2{margin-top:3rem;padding:.7rem 1rem;border-left:0;border-radius:14px;background:linear-gradient(90deg,#e6f4ed,#f9f1df);font-size:1.48rem}.horse-profile{max-width:780px;margin:1.05rem auto;padding:1.35rem 1.4rem;background:#fff;border:1px solid var(--line2);border-radius:22px;box-shadow:0 10px 30px rgba(30,66,51,.07)}.horse-profile h3{display:flex;align-items:center;gap:.58rem;margin:0 0 .45rem;font-size:1.25rem}.horse-profile h3::before{content:"♞";display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#edf6f1;color:var(--forest);font-size:.95rem}.horse-profile .mt-status{margin:.1rem 0 .6rem;background:#fff2ca;color:#6f4b0d}.horse-profile p:last-child{margin-bottom:0}.coverage-note{max-width:780px;margin:1.4rem auto;padding:1rem 1.1rem;border:1px solid rgba(38,112,90,.20);border-radius:16px;background:#eef8f3;color:#29483c;font-size:.86rem}.coverage-note strong{color:var(--forest)}
.site-footer{position:relative;background:linear-gradient(135deg,#103c2e,#1f624d);padding-top:3rem}.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--gold),var(--coral),var(--sky),var(--gold))}.footer-inner::before{content:"";float:right;width:110px;height:96px;background:url('/assets/mascot-horse.svg') center/contain no-repeat;opacity:.92}
@media(max-width:760px){.hero-grid-v11{grid-template-columns:1fr}.hero-mascot{min-height:260px}.hero-mascot img{width:min(82vw,330px)}.magazine-strip{grid-template-columns:1fr;margin-top:-.6rem}.article-header{padding:7rem 1.15rem 1.2rem}.article-header::before{left:50%;top:.7rem;transform:translateX(-50%);width:94px;height:94px}.horse-profile{padding:1.05rem}.footer-inner::before{width:82px;height:74px}.nav{max-width:68%;justify-content:flex-end}}

/* v1.1.1: trust pages and footer navigation */
.footer-links{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:1rem 0 .8rem}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;color:#f3eadb;font-size:.82rem;font-weight:700;text-decoration:underline;text-decoration-color:rgba(243,234,219,.42);text-underline-offset:4px}
.footer-links a:hover,.footer-links a:focus-visible{color:#fff;text-decoration-color:#fff}
.footer-links a[aria-current="page"]{color:#f1c88b;text-decoration-color:#f1c88b}
.policy-page{font-size:1rem}
.policy-page .breadcrumbs{margin-bottom:1.25rem}
.policy-page h1{margin-bottom:.25rem}
.policy-page h2{margin-top:2.3rem}
.policy-page a:not(.policy-action){color:var(--green2);text-decoration:underline;text-underline-offset:3px}
.policy-updated{margin:.1rem 0 1.8rem;color:#6b746f;font-size:.82rem}
.policy-list{padding-left:1.35rem}
.policy-list li{margin:.48rem 0}
.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.2rem 0 2rem}
.policy-grid a{display:flex;flex-direction:column;gap:.15rem;min-height:96px;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none}
.policy-grid a:hover,.policy-grid a:focus-visible{border-color:var(--green2);box-shadow:0 8px 24px rgba(30,45,37,.08)}
.policy-grid strong{color:var(--green)}
.policy-grid span{color:#606a64;font-size:.82rem}
.policy-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:.7rem;padding:.65rem 1.05rem;border-radius:999px;background:var(--green);color:#fff!important;font-weight:800;text-decoration:none!important}
.policy-action:hover,.policy-action:focus-visible{background:var(--green2)}
@media(max-width:760px){.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}.footer-links a{font-size:.78rem}.policy-page{padding-top:2.2rem}.policy-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .site-header{position:static}
  .header-inner{min-height:auto;align-items:center;flex-direction:column;gap:.25rem;padding:.5rem .7rem}
  .brand{font-size:1.08rem}
  .brand::before{width:30px;height:30px}
  .nav{max-width:none;width:100%;justify-content:center;gap:.1rem .25rem}
  .nav a{font-size:.7rem;line-height:1.3;padding:.24rem .32rem}
}
@media(prefers-reduced-motion:reduce){.hero-mascot img{animation:none}.card{transition:none}}

/* v1.2.0: 競馬の教科書・3棚と記事挿絵 */
.learn-intro{max-width:760px}
.learn-shelves{display:grid;gap:2.2rem}
.learn-shelf{padding:1.45rem;border:1px solid var(--line2);border-radius:26px;background:rgba(255,255,255,.68);box-shadow:var(--soft-shadow)}
.learn-shelf-head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1rem}
.learn-shelf-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:16px;background:#e9f5ef;font-size:1.25rem}
.learn-shelf h2{margin:0;font-size:clamp(1.35rem,3vw,1.85rem)}
.learn-shelf p{margin:.15rem 0 0;color:var(--muted);font-size:.9rem}
.learn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.82rem}
.learn-link{display:block;min-height:100%;padding:1rem 1.05rem;border:1px solid var(--line2);border-radius:17px;background:#fff;text-decoration:none;transition:.18s transform,.18s box-shadow}
.learn-link:hover,.learn-link:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(28,62,48,.10)}
.learn-link strong{display:block;color:var(--forest);line-height:1.55}
.learn-link small{display:block;margin-top:.35rem;color:var(--muted);line-height:1.55}
.lesson-visual{max-width:780px;margin:1.5rem auto 2rem;overflow:hidden;border:1px solid var(--line2);border-radius:24px;background:#fff;box-shadow:var(--soft-shadow)}
.lesson-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lesson-visual figcaption{padding:.72rem 1rem;color:var(--muted);font-size:.78rem;line-height:1.65}
.article-sources{max-width:780px;margin:2.6rem auto 0;padding:1rem 1.15rem;border:1px solid var(--line2);border-radius:17px;background:#f2f7f4}
.article-sources h2{margin:0 0 .55rem!important;padding:0!important;border:0!important;background:none!important;font-family:inherit!important;font-size:1rem!important}
.article-sources ul{margin:.25rem 0;padding-left:1.2rem}
.article-sources li{margin:.35rem 0;color:var(--muted);font-size:.82rem}
.article-sources a{color:var(--forest2);text-underline-offset:3px}
@media(max-width:760px){.learn-shelf{padding:1rem}.learn-grid{grid-template-columns:1fr}.lesson-visual{border-radius:17px}.lesson-visual figcaption{padding:.62rem .8rem}}

/* v1.2.1: トップページ刷新 */
.nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
}
.nav a[aria-current="page"]{
  color:var(--forest2);
  background:#e8f3ee;
  box-shadow:inset 0 -2px 0 var(--forest2);
}
.home-v121{
  overflow-x:clip;
  background:
    radial-gradient(circle at 8% 34%,rgba(145,198,218,.10),transparent 22rem),
    linear-gradient(180deg,#fffdf8 0,#f8f0e3 100%);
}
.home-v121-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.home-v121 a:focus-visible{
  outline:3px solid #1d6650;
  outline-offset:4px;
}
.home-v121-hero{
  position:relative;
  min-height:650px;
  overflow:hidden;
  isolation:isolate;
  background:#f7f0df;
}
.home-v121-hero::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,250,240,.99) 0%,rgba(255,250,240,.96) 31%,rgba(255,250,240,.78) 46%,rgba(255,250,240,.18) 67%,rgba(255,250,240,0) 79%);
}
.home-v121-hero-media{
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  margin:0;
}
.home-v121-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.home-v121-hero-shell{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  width:min(calc(100% - 44px),1200px);
  min-height:650px;
  margin-inline:auto;
}
.home-v121-hero-copy{
  width:min(59%,660px);
  padding:66px 0 112px;
}
.home-v121-kicker{
  margin:0 0 14px;
  color:#26705a;
  font-size:clamp(.78rem,1.1vw,.94rem);
  font-weight:900;
  letter-spacing:.12em;
}
.home-v121-kicker::before{
  content:"";
  display:inline-block;
  width:30px;
  height:3px;
  margin:0 10px 3px 0;
  border-radius:4px;
  background:linear-gradient(90deg,#dda94e,#e78a68);
}
.home-v121-hero h1{
  margin:0;
  color:#4a210e;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:800;
  letter-spacing:.035em;
}
.home-v121-title-brand{
  display:block;
  font-size:clamp(3.7rem,7vw,6.6rem);
  line-height:1;
}
.home-v121-title-sub{
  display:block;
  margin-top:20px;
  font-size:clamp(1.28rem,2.35vw,2rem);
  line-height:1.55;
}
.home-v121-buy{color:#b84232}
.home-v121-pass{color:#1670a0}
.home-v121-hero-lead{
  max-width:610px;
  margin:20px 0 0;
  color:#3f4b45;
  font-size:clamp(.94rem,1.35vw,1.08rem);
  font-weight:650;
  line-height:1.9;
}
.home-v121-trust{
  display:flex;
  align-items:flex-start;
  gap:12px;
  max-width:600px;
  margin-top:22px;
  padding:13px 16px;
  border:1px solid rgba(21,75,57,.22);
  border-radius:13px;
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 32px rgba(21,75,57,.08);
  backdrop-filter:blur(5px);
}
.home-v121-trust>span{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  height:30px;
  margin-top:2px;
  border-radius:50%;
  color:#fff;
  background:#1f654d;
  font-size:.9rem;
  font-weight:900;
}
.home-v121-trust p{
  margin:0;
  color:#40534a;
  font-size:.78rem;
  line-height:1.65;
}
.home-v121-trust strong{color:#173f31}
.home-v121-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.home-v121-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:10px 19px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:.82rem;
  font-weight:850;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.home-v121-button:hover{transform:translateY(-2px)}
.home-v121-button-primary{
  color:#fff;
  background:#1c694e;
  box-shadow:0 10px 24px rgba(28,105,78,.20);
}
.home-v121-button-secondary{
  color:#24483b;
  border-color:rgba(21,75,57,.24);
  background:rgba(255,255,255,.76);
}
.home-v121-button span{margin-left:8px}
.home-v121-speech{
  position:absolute;
  z-index:3;
  top:18%;
  left:58%;
  width:170px;
  margin:0;
  padding:23px 18px;
  border:1px solid rgba(82,53,34,.11);
  border-radius:52% 48% 51% 49%;
  color:#4a2715;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 40px rgba(49,45,39,.12);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:.82rem;
  font-weight:800;
  line-height:1.8;
  text-align:center;
  transform:rotate(-2deg);
}
.home-v121-speech::after{
  content:"";
  position:absolute;
  right:10px;
  bottom:-15px;
  width:32px;
  height:27px;
  background:rgba(255,255,255,.92);
  clip-path:polygon(0 0,100% 0,100% 100%);
  transform:rotate(-11deg);
}
.home-v121-gateways{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  width:min(calc(100% - 44px),1200px);
  margin:-62px auto 0;
}
.home-v121-gateway{
  --gateway:#1c694e;
  --gateway-alt:#9a6112;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:342px;
  padding:28px;
  scroll-margin-top:100px;
  overflow:hidden;
  border:1px solid rgba(21,75,57,.16);
  border-top:6px solid var(--gateway);
  border-radius:20px;
  background:linear-gradient(145deg,#fff 0%,#fffaf0 100%);
  box-shadow:0 18px 42px rgba(29,63,49,.12);
}
.home-v121-gateway::after{
  content:"";
  position:absolute;
  right:-46px;
  bottom:-50px;
  width:150px;
  height:150px;
  border:28px solid color-mix(in srgb,var(--gateway) 12%,transparent);
  border-radius:50%;
  pointer-events:none;
}
.home-v121-gateway-graded{--gateway:#b7483e;--gateway-alt:#7b4a82}
.home-v121-gateway-learn{--gateway:#176e92}
.home-v121-gateway-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.home-v121-ribbon{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:4px 12px;
  border-radius:999px;
  color:#fff;
  background:var(--gateway);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}
.home-v121-gateway-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:17px;
  color:var(--gateway);
  background:color-mix(in srgb,var(--gateway) 11%,white);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:1.35rem;
  font-weight:900;
}
.home-v121-gateway h3{
  margin:20px 0 0;
  color:#4a210e;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.5rem,2.4vw,2rem);
  line-height:1.3;
}
.home-v121-gateway h3 small{
  color:#654333;
  font-size:.65em;
}
.home-v121-gateway>p{
  margin:12px 0 18px;
  color:#53625b;
  font-size:.86rem;
  line-height:1.7;
}
.home-v121-gateway-links{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:6px;
  margin-top:auto;
}
.home-v121-gateway-links a.home-v121-gateway-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:46px;
  padding:9px 16px;
  border-radius:999px;
  color:#fff;
  font-size:.8rem;
  font-weight:850;
  text-decoration:none;
  box-shadow:0 5px 13px color-mix(in srgb,var(--gateway) 18%,transparent);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.home-v121-gateway-links a.home-v121-gateway-cta.is-primary{
  background:var(--gateway);
}
.home-v121-gateway-links a.home-v121-gateway-cta.is-alternate{
  background:var(--gateway-alt);
  box-shadow:0 5px 13px color-mix(in srgb,var(--gateway-alt) 19%,transparent);
}
.home-v121-gateway-links a.home-v121-gateway-cta:hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}
.home-v121-gateway-links a.home-v121-gateway-cta:focus-visible{
  outline:3px solid #dda94e;
  outline-offset:3px;
}
.home-v121-gateway-cta small{
  display:block;
  margin-bottom:1px;
  color:rgba(255,255,255,.82);
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.055em;
}
.home-v121-gateway-cta strong{
  display:block;
  font-size:.8rem;
  line-height:1.35;
}
.home-v121-gateway-cta>b{
  display:grid;
  place-items:center;
  flex:0 0 25px;
  height:25px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
}
.home-v121-gateway-links>span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:5px 7px;
  color:#66756e;
  font-size:.72rem;
}
.home-v121-content{
  display:grid;
  grid-template-columns:minmax(0,1.48fr) minmax(320px,.72fr);
  gap:22px;
  width:min(calc(100% - 44px),1200px);
  margin:70px auto 0;
}
.home-v121-panel{
  min-width:0;
  padding:28px;
  border:1px solid rgba(21,75,57,.13);
  border-radius:22px;
  background:rgba(255,255,255,.84);
  box-shadow:0 16px 42px rgba(29,63,49,.08);
}
.home-v121-panel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  min-width:0;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(21,75,57,.15);
}
.home-v121-panel-kicker{
  margin:0 0 2px;
  color:#26705a;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.17em;
}
.home-v121-panel h2,.home-v121-beginners h2{
  margin:0;
  color:#4a210e;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.5rem,2.7vw,2rem);
  line-height:1.3;
}
.home-v121-panel-head>a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:#255c48;
  font-size:.74rem;
  font-weight:800;
  white-space:nowrap;
  text-decoration:underline;
  text-underline-offset:4px;
}
.home-v121-latest-list{display:grid}
.home-v121-latest-item{
  display:grid;
  grid-template-columns:138px minmax(0,1fr) 88px;
  align-items:center;
  gap:16px;
  min-width:0;
  min-height:114px;
  padding:13px 0;
  border-bottom:1px dashed rgba(21,75,57,.17);
  text-decoration:none;
}
.home-v121-latest-item:last-child{border-bottom:0}
.home-v121-latest-item img{
  width:138px;
  height:88px;
  object-fit:cover;
  border-radius:12px;
  background:#f2eadc;
}
.home-v121-latest-copy{
  display:block;
  min-width:0;
}
.home-v121-latest-copy strong{
  display:block;
  margin-top:5px;
  color:#263d34;
  font-size:.9rem;
  line-height:1.52;
}
.home-v121-latest-copy>span:last-child{
  display:block;
  margin-top:3px;
  color:#6b756f;
  font-size:.7rem;
  line-height:1.5;
}
.home-v121-topic{
  display:inline-flex;
  padding:2px 7px;
  border-radius:999px;
  color:#1d654d;
  background:#e7f4ed;
  font-size:.62rem;
  font-weight:850;
}
.home-v121-latest-item time{
  color:#765f4c;
  font-size:.68rem;
  font-weight:700;
  text-align:right;
}
.home-v121-latest-item:hover strong{text-decoration:underline;text-underline-offset:3px}
.home-v121-starters-note{
  margin:-4px 0 14px;
  color:#6b756f;
  font-size:.7rem;
}
.home-v121-starters ol{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.home-v121-starters li{border-bottom:1px dashed rgba(21,75,57,.17)}
.home-v121-starters li:last-child{border-bottom:0}
.home-v121-starters li a{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 70px;
  align-items:center;
  gap:10px;
  min-height:82px;
  padding:10px 0;
  text-decoration:none;
}
.home-v121-starters li a>span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  color:#fff;
  background:#26705a;
  font-family:serif;
  font-size:.78rem;
  font-weight:900;
}
.home-v121-starters li strong{
  color:#2f413a;
  font-size:.82rem;
  line-height:1.45;
}
.home-v121-starters li img{
  width:70px;
  height:48px;
  object-fit:cover;
  border-radius:8px;
  background:#f2eadc;
}
.home-v121-starters li a:hover strong{text-decoration:underline;text-underline-offset:3px}
.home-v121-beginners{
  width:min(calc(100% - 44px),1200px);
  margin:34px auto 84px;
  padding:26px 28px 28px;
  border:1px solid rgba(196,139,52,.24);
  border-radius:22px;
  background:
    radial-gradient(circle at 97% 22%,rgba(221,169,78,.17),transparent 10rem),
    linear-gradient(135deg,#fffaf0,#f8f0df);
  box-shadow:0 16px 42px rgba(89,66,31,.08);
}
.home-v121-beginners-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.home-v121-beginners-head>span{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:2px solid #26705a;
  border-radius:8px 8px 18px 18px;
  color:#1d654d;
  background:#fff;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:900;
}
.home-v121-beginners-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.home-v121-beginners-grid a{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:11px;
  min-width:0;
  min-height:92px;
  padding:13px;
  border:1px solid rgba(21,75,57,.11);
  border-radius:14px;
  background:rgba(255,255,255,.67);
  text-decoration:none;
}
.home-v121-beginners-grid a>span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:14px;
  color:#1d654d;
  background:#e8f3ee;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:900;
}
.home-v121-beginners-grid strong{
  color:#29483c;
  font-size:.8rem;
}
.home-v121-beginners-grid small{
  color:#6b756f;
  font-size:.64rem;
  line-height:1.4;
}
.home-v121-beginners-grid a:hover strong{text-decoration:underline;text-underline-offset:3px}
.home-v121 .site-footer{margin-top:0}

@media(max-width:1000px){
  .home-v121-hero-copy{width:62%}
  .home-v121-speech{left:61%;top:13%;width:150px;padding:19px 14px;font-size:.74rem}
  .home-v121-gateway{padding:23px}
  .home-v121-content{grid-template-columns:1fr}
  .home-v121-starters ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
  .home-v121-starters li:nth-last-child(2){border-bottom:0}
  .home-v121-beginners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .header-inner{
    padding:.55rem .65rem .7rem;
  }
  .nav{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:3px;
  }
  .nav a{
    min-width:0;
    min-height:44px;
    padding:.28rem .2rem;
    font-size:.68rem;
    white-space:normal;
    text-align:center;
  }
  .home-v121-hero{
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .home-v121-hero::after{display:none}
  .home-v121-hero-media{
    position:relative;
    order:0;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
  }
  .home-v121-hero-media::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:34%;
    background:linear-gradient(transparent,#fffaf0);
  }
  .home-v121-hero-media img{
    position:absolute;
    inset:0;
    object-position:center;
  }
  .home-v121-hero-shell{
    order:1;
    width:100%;
    min-height:0;
    padding:0 16px;
    background:#fffaf0;
  }
  .home-v121-hero-copy{
    width:100%;
    padding:20px 0 72px;
  }
  .home-v121-title-brand{font-size:clamp(3.05rem,16vw,4.6rem)}
  .home-v121-title-sub{margin-top:15px;font-size:clamp(1.12rem,5.5vw,1.55rem)}
  .home-v121-hero-lead{font-size:.91rem}
  .home-v121-speech{
    top:22px;
    left:5%;
    width:142px;
    padding:15px 11px;
    font-size:.68rem;
    line-height:1.65;
  }
  .home-v121-trust{padding:11px 12px}
  .home-v121-trust>span{flex-basis:27px;height:27px}
  .home-v121-hero-actions{display:grid;grid-template-columns:1fr}
  .home-v121-button{width:100%}
  .home-v121-gateways{
    grid-template-columns:1fr;
    width:min(calc(100% - 30px),1200px);
    margin:-34px auto 0;
  }
  .home-v121-gateway{
    min-height:0;
    padding:22px;
    scroll-margin-top:16px;
  }
  .home-v121-gateway>p{margin-bottom:16px}
  .home-v121-content{
    width:min(calc(100% - 30px),1200px);
    margin-top:44px;
  }
  .home-v121-panel{padding:20px}
  .home-v121-panel-head{align-items:flex-start}
  .home-v121-latest-item{
    grid-template-columns:100px minmax(0,1fr);
    gap:12px;
    min-height:104px;
  }
  .home-v121-latest-item img{width:100px;height:72px}
  .home-v121-latest-item time{
    grid-column:2;
    margin-top:-5px;
    text-align:left;
  }
  .home-v121-latest-copy>span:last-child{display:none}
  .home-v121-starters ol{grid-template-columns:1fr}
  .home-v121-starters li:nth-last-child(2){border-bottom:1px dashed rgba(21,75,57,.17)}
  .home-v121-beginners{
    width:min(calc(100% - 30px),1200px);
    margin:26px auto 62px;
    padding:20px;
  }
}

@media(max-width:480px){
  .home-v121-kicker{letter-spacing:.055em}
  .home-v121-kicker::before{width:20px;margin-right:7px}
  .home-v121-title-brand{font-size:clamp(2.85rem,15.5vw,4rem)}
  .home-v121-title-sub{font-size:1.08rem}
  .home-v121-speech{top:13px;left:4%;width:125px;padding:12px 9px;font-size:.62rem}
  .home-v121-gateway h3{font-size:1.55rem}
  .home-v121-panel-head{display:block}
  .home-v121-panel-head>a{margin-top:7px}
  .home-v121-latest-item{grid-template-columns:86px minmax(0,1fr);gap:10px}
  .home-v121-latest-item img{width:86px;height:66px}
  .home-v121-latest-copy strong{font-size:.79rem}
  .home-v121-beginners-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .home-v121-button{transition:none}
}

/* v1.2.2: 競馬の教科書一覧・ビジュアル棚 */
.learn-v122{
  --lv-ink:#173f31;
  --lv-muted:#5f7068;
  overflow-x:clip;
  background:
    radial-gradient(circle at 8% 20%,rgba(145,198,218,.14),transparent 24rem),
    linear-gradient(180deg,#fffdf8 0%,#f6eddf 100%);
}
.learn-v122 main{padding-bottom:72px}
.learn-v122-shell,
.learn-v122-jump,
.learn-v122-shelf,
.learn-v122-starter{
  width:min(calc(100% - 44px),1120px);
  margin-inline:auto;
}
.learn-v122-hero{
  position:relative;
  overflow:hidden;
  padding:62px 0 78px;
  background:
    radial-gradient(circle at 87% 16%,rgba(218,169,78,.20),transparent 19rem),
    linear-gradient(135deg,#edf7f1 0%,#fff7e6 100%);
}
.learn-v122-hero::before{
  content:"";
  position:absolute;
  left:-70px;
  bottom:-105px;
  width:260px;
  height:260px;
  border:42px solid rgba(31,109,82,.055);
  border-radius:50%;
}
.learn-v122-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:54px;
  align-items:center;
}
.learn-v122-kicker{
  margin:0 0 12px;
  color:#26705a;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.17em;
}
.learn-v122-hero h1{
  margin:0;
  color:var(--lv-ink);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(2.8rem,6vw,5.1rem);
  line-height:1.1;
  letter-spacing:.035em;
}
.learn-v122-lead{
  max-width:520px;
  margin:20px 0 0;
  color:#42564d;
  font-size:.98rem;
  line-height:1.9;
}
.learn-v122-count{
  display:flex;
  align-items:center;
  gap:10px;
  margin:22px 0 0;
}
.learn-v122-count strong{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:5px 12px;
  border-radius:999px;
  color:#fff;
  background:#1f6d52;
  font-size:.75rem;
}
.learn-v122-count span{
  color:#69766f;
  font-size:.75rem;
}
.learn-v122-collage{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
  min-height:330px;
  transform:rotate(1deg);
}
.learn-v122-collage img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  border:5px solid #fff;
  border-radius:18px;
  box-shadow:0 18px 38px rgba(23,63,49,.14);
}
.learn-v122-collage .is-main{grid-row:1/3}
.learn-v122-jump{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:-30px;
}
.learn-v122-jump a{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:10px;
  min-height:74px;
  padding:12px 16px;
  border:1px solid rgba(23,63,49,.16);
  border-radius:18px;
  color:var(--lv-ink);
  background:#fff;
  box-shadow:0 12px 30px rgba(23,63,49,.10);
  font-weight:850;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;
}
.learn-v122-jump a:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(23,63,49,.14);
}
.learn-v122-jump b{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  color:#fff;
  background:#1f6d52;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:.8rem;
}
.learn-v122-jump .is-race b{background:#1d6f8f}
.learn-v122-jump .is-system b{background:#914228}
.learn-v122-jump small{
  color:#66756e;
  font-size:.7rem;
}
.learn-v122-shelves{padding-top:2px}
.learn-v122-shelf{
  --shelf:#1f6d52;
  --shelf-soft:#e9f6ef;
  margin-top:54px;
  padding:34px;
  scroll-margin-top:94px;
  border:1px solid color-mix(in srgb,var(--shelf) 13%,transparent);
  border-radius:30px;
  background:
    radial-gradient(circle at 94% 4%,rgba(255,255,255,.88),transparent 13rem),
    var(--shelf-soft);
  box-shadow:0 19px 46px rgba(23,63,49,.07);
}
.learn-v122-shelf--race{
  --shelf:#1d6f8f;
  --shelf-soft:#e8f4f8;
}
.learn-v122-shelf--system{
  --shelf:#914228;
  --shelf-soft:#f8ece5;
}
.learn-v122-shelf-head{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin-bottom:25px;
}
.learn-v122-shelf-no{
  display:grid;
  place-items:center;
  flex:0 0 58px;
  height:58px;
  border-radius:18px;
  color:#fff;
  background:var(--shelf);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:1.12rem;
  font-weight:900;
  box-shadow:0 7px 16px color-mix(in srgb,var(--shelf) 22%,transparent);
}
.learn-v122-shelf-kicker{
  margin:0 0 2px!important;
  color:var(--shelf)!important;
  font-size:.64rem!important;
  font-weight:900;
  letter-spacing:.14em;
}
.learn-v122-shelf-head h2{
  margin:0;
  color:var(--lv-ink);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.8rem,3.5vw,2.65rem);
  line-height:1.25;
}
.learn-v122-shelf-head h2+p{
  margin:4px 0 0;
  color:#53665d;
  font-size:.84rem;
  line-height:1.6;
}
.learn-v122-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.learn-v122-shelf--system .learn-v122-feature-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.learn-v122-feature{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(23,63,49,.10);
  border-radius:20px;
  background:#fff;
  box-shadow:0 13px 32px rgba(23,63,49,.10);
}
.learn-v122-feature a{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}
.learn-v122-feature figure{
  margin:0;
  overflow:hidden;
  background:#e5eee8;
}
.learn-v122-feature img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  transition:transform .22s ease;
}
.learn-v122-feature-copy{padding:17px}
.learn-v122-feature-copy>span{
  color:var(--shelf);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.04em;
}
.learn-v122-feature h3{
  margin:5px 0 7px;
  color:var(--lv-ink);
  font-size:1rem;
  line-height:1.5;
}
.learn-v122-feature p{
  margin:0;
  color:var(--lv-muted);
  font-size:.76rem;
  line-height:1.65;
}
.learn-v122-feature-copy>b{
  display:block;
  margin-top:12px;
  color:var(--shelf);
  font-size:.72rem;
}
.learn-v122-feature a:hover img,
.learn-v122-feature a:focus-visible img{transform:scale(1.035)}
.learn-v122-index-panel{
  margin-top:22px;
  padding:22px;
  border:1px solid rgba(23,63,49,.13);
  border-radius:20px;
  background:rgba(255,255,255,.72);
}
.learn-v122-index-panel>h3{
  margin:0 0 10px;
  color:var(--lv-ink);
  font-size:.86rem;
}
.learn-v122-index-panel>h3 small{
  margin-left:5px;
  color:var(--shelf);
  font-size:.68rem;
}
.learn-v122-index{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 24px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:lesson;
}
.learn-v122-index li{counter-increment:lesson}
.learn-v122-index a{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:78px;
  padding:11px 5px;
  border-top:1px solid rgba(23,63,49,.15);
  color:var(--lv-ink);
  text-decoration:none;
}
.learn-v122-index a::before{
  content:counter(lesson,decimal-leading-zero);
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:9px;
  color:var(--shelf);
  background:color-mix(in srgb,var(--shelf) 9%,white);
  font-size:.62rem;
  font-weight:900;
}
.learn-v122-index strong,
.learn-v122-index small{display:block}
.learn-v122-index strong{
  color:var(--lv-ink);
  font-size:.82rem;
  line-height:1.48;
}
.learn-v122-index small{
  margin-top:3px;
  color:var(--lv-muted);
  font-size:.69rem;
  line-height:1.45;
}
.learn-v122-index a>b{
  color:var(--shelf);
  font-size:.78rem;
}
.learn-v122-index a:hover strong{text-decoration:underline;text-underline-offset:3px}
.learn-v122-starter{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:28px;
  align-items:center;
  margin-top:54px;
  padding:28px 30px;
  border:1px solid rgba(23,63,49,.14);
  border-radius:25px;
  background:
    url('/assets/horse-notebook.svg') right -35px bottom -30px/150px auto no-repeat,
    rgba(255,255,255,.82);
  box-shadow:0 17px 42px rgba(23,63,49,.08);
}
.learn-v122-starter h2{
  margin:0;
  color:var(--lv-ink);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.45rem,3vw,2.05rem);
}
.learn-v122-starter nav{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.learn-v122-starter a{
  display:grid;
  grid-template-columns:32px 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:9px;
  min-height:70px;
  padding:10px 11px;
  border:1px solid rgba(23,63,49,.12);
  border-radius:14px;
  color:var(--lv-ink);
  background:#fff;
  text-decoration:none;
}
.learn-v122-starter a>span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:10px;
  color:#fff;
  background:#1f6d52;
  font-size:.7rem;
  font-weight:900;
}
.learn-v122-starter strong{font-size:.75rem}
.learn-v122-starter small{
  color:var(--lv-muted);
  font-size:.62rem;
}
.learn-v122 a:focus-visible{
  outline:3px solid #1d6650;
  outline-offset:4px;
}
.learn-v122 .site-footer{margin-top:0}

/* v1.2.4: 登録段階の出走可否ステータス */
.horse-profile .mt-status.mt-status-caution{
  color:#fff;
  background:#a23f38;
}

@media(max-width:880px){
  .learn-v122-hero-grid{grid-template-columns:1fr}
  .learn-v122-hero-copy{max-width:680px}
  .learn-v122-collage{max-height:360px}
  .learn-v122-feature-grid,
  .learn-v122-shelf--system .learn-v122-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .learn-v122-starter{grid-template-columns:1fr}
}
@media(max-width:640px){
  .learn-v122-shell,
  .learn-v122-jump,
  .learn-v122-shelf,
  .learn-v122-starter{
    width:min(calc(100% - 28px),1120px);
  }
  .learn-v122 main{padding-bottom:52px}
  .learn-v122-hero{padding:42px 0 58px}
  .learn-v122-hero h1{font-size:clamp(2.65rem,14vw,4.2rem)}
  .learn-v122-collage{
    gap:7px;
    min-height:230px;
  }
  .learn-v122-collage img{
    border-width:3px;
    border-radius:13px;
  }
  .learn-v122-jump{
    grid-template-columns:1fr;
    margin-top:-18px;
  }
  .learn-v122-jump a{min-height:64px}
  .learn-v122-shelf{
    margin-top:34px;
    padding:19px 14px;
    scroll-margin-top:16px;
    border-radius:22px;
  }
  .learn-v122-shelf-head{gap:12px}
  .learn-v122-shelf-no{
    flex-basis:48px;
    height:48px;
    border-radius:15px;
  }
  .learn-v122-feature-grid,
  .learn-v122-shelf--system .learn-v122-feature-grid{
    grid-template-columns:1fr;
  }
  .learn-v122-feature a{
    display:grid;
    grid-template-columns:116px minmax(0,1fr);
  }
  .learn-v122-feature figure{height:100%}
  .learn-v122-feature img{
    height:100%;
    min-height:152px;
    aspect-ratio:auto;
  }
  .learn-v122-feature-copy{padding:14px}
  .learn-v122-feature h3{font-size:.92rem}
  .learn-v122-index{grid-template-columns:1fr}
  .learn-v122-index-panel{padding:14px}
  .learn-v122-starter{
    margin-top:34px;
    padding:20px 16px;
    background:rgba(255,255,255,.85);
  }
  .learn-v122-starter nav{grid-template-columns:1fr}
}
@media(max-width:430px){
  .learn-v122-collage{min-height:205px}
  .learn-v122-feature a{grid-template-columns:102px minmax(0,1fr)}
  .learn-v122-feature img{min-height:158px}
}
@media(prefers-reduced-motion:reduce){
  .learn-v122-feature img,
  .learn-v122-jump a,
  .home-v121-gateway-links a.home-v121-gateway-cta{transition:none}
}

/* v1.2.5: スマートフォンの画像比率・リンク視認性・タップ操作を改善 */
.mt-article li>a,
.mt-article p>a,
.article-sources a{
  color:var(--forest2);
  font-weight:750;
  text-decoration:underline;
  text-decoration-color:rgba(38,112,90,.58);
  text-decoration-thickness:.08em;
  text-underline-offset:.2em;
}
.mt-article li>a,
.article-sources li>a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
}

.mt-article p>a.umayomi-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:11px 18px;
  border-radius:999px;
  color:#fff;
  background:#1f6d52;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 9px 20px rgba(31,109,82,.18);
}
.mt-article p>a.umayomi-cta:hover{background:#185640}
.mt-article p>a.umayomi-cta:focus-visible{
  outline:3px solid #1d6650;
  outline-offset:4px;
}

@media(max-width:640px){
  .mt-article p>a.umayomi-cta{display:flex;width:100%;text-align:center}
}

@media(max-width:760px){
  body{
    font-size:16px;
    overflow-wrap:anywhere;
  }
  .header-inner{
    gap:.5rem;
    padding:.6rem .7rem .75rem;
  }
  .brand{
    min-height:44px;
    font-size:1.16rem;
  }
  .nav{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .nav a{
    min-height:46px;
    padding:.5rem .35rem;
    border:1px solid var(--line2);
    border-radius:11px;
    color:var(--forest);
    background:rgba(255,255,255,.82);
    box-shadow:0 3px 10px rgba(23,63,49,.05);
    font-size:.82rem;
    line-height:1.35;
  }
  .nav a[aria-current="page"]{
    color:#fff;
    border-color:var(--forest2);
    background:var(--forest2);
    box-shadow:none;
  }
  .breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:2px 7px;
    font-size:.8rem;
    line-height:1.5;
  }
  .breadcrumbs a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  .article-wrap{
    padding-top:1.25rem;
  }
  .mt-article{
    font-size:1rem;
    line-height:1.9;
  }
  .mt-article li>a,
  .article-sources li>a{
    width:100%;
    padding:.28rem .1rem;
  }
  .lesson-visual{
    width:min(100%,260px);
    margin:1.1rem auto 1.5rem;
    border-radius:16px;
  }
  .lesson-visual img{
    aspect-ratio:16/9;
    object-fit:cover;
  }
  .article-sources{
    padding:.9rem 1rem;
  }
  .footer-links a{
    display:flex;
    align-items:center;
    min-height:44px;
    font-size:.84rem;
    text-decoration:underline;
    text-underline-offset:3px;
  }
  .home-v121-panel-head>a{
    font-size:.86rem;
  }
  .home-v121-latest-item,
  .home-v121-starters li a{
    position:relative;
    margin-bottom:8px;
    padding:11px 32px 11px 11px;
    border:1px solid var(--line2);
    border-radius:13px;
    background:#fff;
    box-shadow:0 5px 14px rgba(23,63,49,.05);
  }
  .home-v121-latest-item::after,
  .home-v121-starters li a::after{
    content:"→";
    position:absolute;
    right:10px;
    top:50%;
    color:var(--forest2);
    font-weight:900;
    transform:translateY(-50%);
  }
  .home-v121-latest-copy strong,
  .home-v121-starters li strong,
  .home-v121-beginners-grid strong{
    font-size:.875rem;
    text-decoration:underline;
    text-decoration-color:rgba(38,112,90,.42);
    text-underline-offset:3px;
  }
  .home-v121-beginners-grid a{
    position:relative;
    padding-right:32px;
    border-color:rgba(21,75,57,.2);
    background:#fff;
  }
  .home-v121-beginners-grid a::after{
    content:"→";
    position:absolute;
    right:11px;
    top:50%;
    color:var(--forest2);
    font-weight:900;
    transform:translateY(-50%);
  }
}

@media(max-width:640px){
  .learn-v122-feature a{
    grid-template-columns:116px minmax(0,1fr);
    align-items:center;
    min-height:136px;
  }
  .learn-v122-feature figure{
    width:106px;
    height:auto;
    margin-left:10px;
    overflow:hidden;
    border-radius:11px;
    aspect-ratio:3/2;
  }
  .learn-v122-feature img{
    width:100%;
    height:100%;
    min-height:0;
    aspect-ratio:auto;
    object-fit:cover;
  }
  .learn-v122-feature-copy>b{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    margin-top:10px;
    padding:5px 10px;
    border-radius:999px;
    background:color-mix(in srgb,var(--shelf) 10%,white);
    font-size:.78rem;
  }
  .learn-v122-index strong,
  .learn-v122-starter strong{
    font-size:.875rem;
    text-decoration:underline;
    text-decoration-color:color-mix(in srgb,var(--shelf) 38%,transparent);
    text-underline-offset:3px;
  }
  .learn-v122-index small,
  .learn-v122-starter small{
    font-size:.75rem;
  }
}

@media(max-width:430px){
  .learn-v122-feature a{
    grid-template-columns:104px minmax(0,1fr);
  }
  .learn-v122-feature figure{
    width:94px;
  }
  .learn-v122-feature img{
    min-height:0;
  }
}

@media(max-width:360px){
  .nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* v1.2.8: 2冊の参考書籍・Amazonアソシエイト */
.learn-book-reference{
  width:min(calc(100% - 44px),1120px);
  margin:54px auto 0;
  padding:clamp(24px,4vw,36px);
  border:1px solid rgba(145,66,40,.18);
  border-radius:28px;
  background:linear-gradient(135deg,#fffdf8,#f8ece5);
  box-shadow:0 19px 46px rgba(23,63,49,.08);
}
.learn-book-reference-grid{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:30px;
  align-items:center;
}
.learn-book-reference-art{
  display:grid;
  place-items:center;
  gap:9px;
  color:#914228;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.12em;
  text-align:center;
}
.learn-book-reference-book{
  position:relative;
  display:block;
  width:104px;
  height:136px;
  border-radius:7px 15px 15px 7px;
  background:linear-gradient(90deg,#6f2f20 0 13%,#914228 13% 100%);
  box-shadow:9px 11px 0 #ead9c5,0 15px 28px rgba(67,39,28,.18);
}
.learn-book-reference-book::after{
  content:"参考\A書籍";
  white-space:pre;
  position:absolute;
  inset:28px 10px auto 20px;
  padding:10px 3px;
  border-block:1px solid rgba(255,255,255,.55);
  color:#fff;
  font:800 .73rem/1.35 serif;
  letter-spacing:.05em;
}
.learn-book-reference-book.is-origin{
  background:linear-gradient(90deg,#31584a 0 13%,#4b7564 13% 100%);
  box-shadow:9px 11px 0 #d9d2ba,0 15px 28px rgba(36,75,61,.18);
}
.learn-book-reference-book.is-origin::after{
  content:"馬を見る\A原点";
}
.learn-book-reference-book.is-evaluation::after{
  content:"穴馬の\A見つけ方";
}
.learn-book-reference-label{
  display:inline-flex;
  margin:0 0 10px;
  padding:5px 10px;
  border-radius:999px;
  color:#fff;
  background:#914228;
  font-size:.75rem;
  font-weight:900;
}
.learn-book-reference h2{
  margin:0;
  color:var(--lv-ink);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.55rem,3vw,2.15rem);
  line-height:1.3;
}
.learn-book-reference h3{
  margin:12px 0 4px;
  color:#4d2b20;
  font-size:1.05rem;
  line-height:1.65;
}
.learn-book-reference-byline{
  margin:0;
  color:var(--lv-muted);
  font-size:.82rem;
}
.learn-book-reference-copy>p:not(.learn-book-reference-label):not(.learn-v122-kicker){
  line-height:1.8;
}
.learn-book-reference-note{
  margin:14px 0 0;
  padding:10px 12px;
  border-left:4px solid #b96a4b;
  border-radius:0 10px 10px 0;
  color:#5d463d;
  background:rgba(255,255,255,.58);
  font-size:.8rem;
}
.learn-book-reference-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  margin-top:14px;
  padding:11px 18px;
  border-radius:999px;
  color:#fff;
  background:#1f6d52;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 9px 20px rgba(31,109,82,.18);
}
.learn-book-reference-cta:hover{background:#185640}
.learn-book-reference-cta:focus-visible{
  outline:3px solid #1d6650;
  outline-offset:4px;
}
.learn-book-reference-disclosure{
  margin:12px 0 0!important;
  color:#53665d;
  font-size:.76rem;
  line-height:1.65!important;
}
.learn-book-reference-disclosure a{
  color:#1f6d52;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.learn-book-reference-head{
  max-width:780px;
  margin-bottom:24px;
}
.learn-book-reference-head>p:last-child{
  margin:12px 0 0;
  color:#53665d;
  line-height:1.8;
}
.learn-book-reference-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.learn-book-reference-card{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
  min-width:0;
  padding:20px;
  border:1px solid rgba(145,66,40,.17);
  border-radius:20px;
  background:rgba(255,255,255,.78);
  box-shadow:0 11px 28px rgba(23,63,49,.06);
}
.learn-book-reference-card .learn-book-reference-copy{
  min-width:0;
  overflow-wrap:anywhere;
}
.learn-book-reference-mini-art{
  display:grid;
  place-items:start center;
  padding-top:4px;
}
.learn-book-reference-mini-art .learn-book-reference-book{
  width:68px;
  height:92px;
  border-radius:5px 11px 11px 5px;
  box-shadow:5px 7px 0 #ead9c5,0 9px 17px rgba(67,39,28,.15);
}
.learn-book-reference-mini-art .learn-book-reference-book.is-origin{
  box-shadow:5px 7px 0 #d9d2ba,0 9px 17px rgba(36,75,61,.15);
}
.learn-book-reference-mini-art .learn-book-reference-book::after{
  inset:17px 5px auto 12px;
  padding:7px 1px;
  font-size:.56rem;
}
.learn-book-reference-role{
  display:inline-flex;
  margin:0;
  padding:4px 9px;
  border-radius:999px;
  color:#31584a;
  background:#e3eee8;
  font-size:.73rem;
  font-weight:900;
  line-height:1.45!important;
}
.learn-book-reference-card:nth-child(2) .learn-book-reference-role{
  color:#7d3825;
  background:#f7e7df;
}
.learn-book-reference-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:14px;
}
.learn-book-reference-actions .learn-book-reference-cta{
  margin-top:0;
}
.learn-book-reference-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:10px 16px;
  border:2px solid #1f6d52;
  border-radius:999px;
  color:#1f6d52;
  background:#fff;
  font-weight:900;
  text-decoration:none;
}
.learn-book-reference-more:hover{
  color:#fff;
  background:#1f6d52;
}
.learn-book-reference-more:focus-visible{
  outline:3px solid #1d6650;
  outline-offset:4px;
}
.book-story-visual{
  max-width:780px;
  margin:0 auto 28px;
  overflow:hidden;
  border:1px solid rgba(31,109,82,.18);
  border-radius:24px;
  background:#eef7f1;
  box-shadow:0 14px 34px rgba(23,63,49,.08);
}
.book-story-visual img{
  display:block;
  width:100%;
  height:min(36vw,280px);
  object-fit:cover;
  object-position:center 51%;
}
.book-story-visual figcaption{
  padding:9px 14px 11px;
  color:#53665d;
  background:#fffdf8;
  font-size:.76rem;
  line-height:1.55;
}
.book-affiliate-box{
  max-width:780px;
  margin:1.4rem auto;
  padding:20px;
  border:1px solid rgba(145,66,40,.2);
  border-radius:18px;
  background:linear-gradient(135deg,#fffdf8,#f8ece5);
}
.book-affiliate-box>strong{
  display:block;
  color:#4d2b20;
  font-size:1.05rem;
  line-height:1.65;
}
.book-affiliate-box .learn-book-reference-cta{
  margin-top:14px;
}
.footer-associate-disclosure{
  color:#dbe9e2;
  font-size:.8rem!important;
  line-height:1.65;
}

@media(max-width:640px){
  .learn-book-reference{
    width:min(calc(100% - 28px),1120px);
    margin-top:34px;
    padding:20px 16px;
    border-radius:22px;
  }
  .learn-book-reference-grid{
    grid-template-columns:76px minmax(0,1fr);
    gap:14px;
    align-items:start;
  }
  .learn-book-reference-art{
    padding-top:6px;
    font-size:.55rem;
  }
  .learn-book-reference-book{
    width:64px;
    height:86px;
    border-radius:5px 10px 10px 5px;
    box-shadow:5px 6px 0 #ead9c5,0 8px 16px rgba(67,39,28,.15);
  }
  .learn-book-reference-book::after{
    inset:15px 5px auto 11px;
    padding:7px 1px;
    white-space:pre;
    font-size:.58rem;
  }
  .learn-book-reference-copy{min-width:0}
  .learn-book-reference h2{font-size:1.35rem}
  .learn-book-reference h3{font-size:.94rem}
  .learn-book-reference-byline{font-size:.78rem}
  .learn-book-reference-cta{
    width:100%;
    min-height:50px;
    padding-inline:12px;
    text-align:center;
  }
  .learn-book-reference-disclosure{font-size:.75rem}
  .learn-book-reference-head{
    margin-bottom:18px;
  }
  .learn-book-reference-cards{
    grid-template-columns:1fr;
    gap:14px;
  }
  .learn-book-reference-card{
    grid-template-columns:66px minmax(0,1fr);
    gap:13px;
    padding:16px 14px;
    border-radius:17px;
  }
  .learn-book-reference-mini-art .learn-book-reference-book{
    width:54px;
    height:74px;
  }
  .learn-book-reference-mini-art .learn-book-reference-book::after{
    inset:12px 4px auto 9px;
    padding:5px 1px;
    font-size:.48rem;
  }
  .learn-book-reference-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }
  .learn-book-reference-actions .learn-book-reference-cta,
  .learn-book-reference-more{
    width:100%;
    min-height:50px;
    padding-inline:10px;
    text-align:center;
  }
  .book-story-visual{
    margin-bottom:22px;
    border-radius:18px;
  }
  .book-story-visual img{
    height:clamp(132px,42vw,165px);
  }
  .book-affiliate-box{
    padding:17px 15px;
    border-radius:16px;
  }
  .book-affiliate-box .learn-book-reference-cta{
    width:100%;
  }
}

@media(max-width:390px){
  .learn-book-reference-grid{
    grid-template-columns:62px minmax(0,1fr);
    gap:10px;
  }
  .learn-book-reference-art{
    display:grid;
    padding-top:4px;
  }
  .learn-book-reference-art small{
    display:none;
  }
  .learn-book-reference-book{
    width:52px;
    height:70px;
  }
  .learn-book-reference-book::after{
    inset:11px 4px auto 8px;
    padding:5px 1px;
    font-size:.5rem;
  }
  .learn-book-reference-card{
    grid-template-columns:56px minmax(0,1fr);
    gap:10px;
    padding-inline:12px;
  }
  .learn-book-reference-mini-art .learn-book-reference-book{
    width:48px;
    height:66px;
  }
  .learn-book-reference-mini-art .learn-book-reference-book::after{
    inset:10px 3px auto 7px;
    font-size:.43rem;
  }
}


/* v1.3.0: 週末回顧 */
.nav a{white-space:nowrap}
.review-archive{
  width:min(calc(100% - 36px),960px);
  margin:0 auto;
  padding:2.4rem 0 5rem;
}
.review-archive-header{
  margin:0 0 1.7rem;
  padding:2rem clamp(1.2rem,4vw,2.4rem);
  border:1px solid rgba(21,75,57,.16);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 16%,rgba(221,169,78,.18),transparent 11rem),
    linear-gradient(135deg,#fffdf7,#f4ecdc);
  box-shadow:0 14px 40px rgba(42,66,54,.08);
}
.review-archive-header h1{
  margin:.45rem 0 .65rem;
  color:var(--forest);
  font-family:serif;
  font-size:clamp(2rem,6vw,3.6rem);
  line-height:1.18;
}
.review-archive-header p{
  max-width:720px;
  margin:0;
  color:#53645c;
  line-height:1.8;
}
.review-archive-list{display:grid;gap:1rem}
.review-card{
  overflow:hidden;
  border:1px solid rgba(21,75,57,.16);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(30,66,51,.08);
}
.review-card>a{
  display:grid;
  grid-template-columns:minmax(190px,34%) minmax(0,1fr);
  align-items:stretch;
  color:inherit;
  text-decoration:none;
}
.review-card img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
}
.review-card div{padding:1.35rem 1.45rem}
.review-card h2{
  margin:.55rem 0 .45rem;
  color:var(--forest);
  font-family:serif;
  font-size:clamp(1.35rem,3vw,2rem);
  line-height:1.4;
}
.review-card p{margin:0;color:#5e6c65;line-height:1.75}
.review-card time{
  display:block;
  margin-top:1rem;
  color:#765f4c;
  font-size:.78rem;
  font-weight:700;
}
.review-card>a:hover h2,.review-card>a:focus-visible h2{text-decoration:underline;text-underline-offset:4px}
.review-hero{
  overflow:hidden;
  margin:0 0 1.6rem;
  border:1px solid rgba(21,75,57,.14);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(30,66,51,.07);
}
.review-hero img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}
.review-hero figcaption{
  padding:.72rem 1rem;
  color:#66756e;
  font-size:.78rem;
  line-height:1.6;
}
.review-table-wrap{
  overflow-x:auto;
  margin:1.1rem 0 1.6rem;
  border:1px solid rgba(21,75,57,.17);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(30,66,51,.06);
}
.review-table{
  width:100%;
  min-width:690px;
  border-collapse:collapse;
  font-size:.9rem;
}
.review-table th,.review-table td{
  padding:.78rem .85rem;
  border-bottom:1px solid rgba(21,75,57,.12);
  text-align:left;
  vertical-align:top;
  line-height:1.65;
}
.review-table th{
  color:#fff;
  background:var(--forest);
  font-size:.78rem;
  letter-spacing:.02em;
}
.review-table tbody tr:last-child td{border-bottom:0}
.review-table tbody tr:nth-child(even){background:#fbf7ee}
.review-table td:first-child{
  width:3.2rem;
  color:#765f4c;
  font-weight:800;
}
.review-table td:nth-child(2){width:13.5rem;font-weight:750;color:#274739}
.review-miss{
  margin:1.2rem 0 1.6rem;
  padding:1rem 1.1rem 1.05rem;
  border:1px solid rgba(166,83,62,.22);
  border-radius:16px;
  background:#fff6f1;
}
.review-miss h3{margin:0 0 .35rem;color:#7f3f30}
.review-miss p:last-child{margin-bottom:0}
.review-learning-list{
  display:grid;
  gap:.75rem;
  padding-left:1.35rem;
}
.review-learning-list li{padding-left:.2rem;line-height:1.8}
@media(max-width:760px){
  .review-archive{width:min(calc(100% - 24px),960px);padding-top:1.4rem}
  .review-card>a{grid-template-columns:1fr}
  .review-card img{min-height:0;aspect-ratio:16/9}
  .review-card div{padding:1.05rem 1rem 1.2rem}
  .review-table-wrap{margin-left:-.1rem;margin-right:-.1rem}
  .nav{gap:.28rem .34rem;max-width:72%}
  .nav a{padding:.38rem .44rem;font-size:.72rem}
}


/* v1.3.2: 重賞特集を追記型アーカイブとして永久保存 */
.graded-archive .review-archive-header{margin-bottom:2.2rem}
.graded-archive-policy{
  margin-top:1rem!important;
  padding:.85rem 1rem;
  border-left:4px solid var(--gold);
  border-radius:0 12px 12px 0;
  background:rgba(255,255,255,.72);
  color:#40564c!important;
}
.graded-archive-group{margin-top:2.4rem}
.graded-archive-group-head{margin-bottom:1rem}
.graded-archive-group-head h2{
  margin:.2rem 0 .35rem;
  color:var(--forest);
  font-family:serif;
  font-size:clamp(1.55rem,4vw,2.35rem);
  line-height:1.3;
}
.graded-archive-group-head>p:last-child{margin:.2rem 0 0;color:#5e6c65;line-height:1.75}
.graded-archive-card h3{
  margin:.55rem 0 .45rem;
  color:var(--forest);
  font-family:serif;
  font-size:clamp(1.35rem,3vw,2rem);
  line-height:1.4;
}
.graded-archive-card>a:hover h3,.graded-archive-card>a:focus-visible h3{text-decoration:underline;text-underline-offset:4px}
@media (max-width:720px){
  .graded-archive-group{margin-top:1.8rem}
  .graded-archive-card>a{grid-template-columns:1fr}
  .graded-archive-card img{min-height:0;aspect-ratio:16/9}
}
/* v1.3.3: X共有・リンクコピー・端末共有 */
.mt-share{
  max-width:780px;
  margin:1.05rem auto 2rem;
  padding:1rem 1.05rem;
  border:1px solid rgba(21,75,57,.16);
  border-radius:18px;
  background:linear-gradient(135deg,#fffdf8,#f4f8f5);
  box-shadow:0 8px 24px rgba(30,66,51,.055);
}
.mt-share-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.8rem 1.1rem;
}
.mt-share-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:1rem 1.25rem;
  margin-top:3rem;
  padding:1.2rem 1.25rem;
  border-color:rgba(21,75,57,.22);
  background:
    radial-gradient(circle at 94% 16%,rgba(212,154,67,.17),transparent 9rem),
    linear-gradient(135deg,#eef7f2,#fff9ed);
}
.mt-share-copyblock{min-width:0}
.mt-share-label{
  margin:0!important;
  color:var(--forest,var(--green,#154b39));
  font-size:.88rem;
  font-weight:850;
  letter-spacing:.035em;
}
.mt-share-note{
  margin:.1rem 0 0!important;
  color:#647169;
  font-size:.76rem;
  line-height:1.55;
}
.mt-share-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.55rem;
}
.mt-share-action{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.48rem;
  padding:.62rem .9rem;
  border:1px solid rgba(21,75,57,.22);
  border-radius:999px;
  background:#fff;
  color:#174735;
  text-decoration:none;
  font-size:.78rem;
  font-weight:820;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 13px rgba(28,62,48,.06);
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.mt-share-action:hover,.mt-share-action:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(21,75,57,.42);
  box-shadow:0 9px 19px rgba(28,62,48,.11);
}
.mt-share-action:focus-visible{outline:3px solid rgba(212,154,67,.38);outline-offset:2px}
.mt-share-x{
  border-color:#111;
  background:#111;
  color:#fff!important;
}
.mt-share-x:hover,.mt-share-x:focus-visible{background:#252525;border-color:#252525}
.mt-share-xmark{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-family:Arial,sans-serif;
  font-size:.8rem;
  font-weight:900;
}
.mt-share-copy.is-success{
  border-color:#2f7657;
  background:#edf8f2;
  color:#255f48;
}
.mt-share-action[hidden]{display:none!important}
.mt-share-status{
  grid-column:1/-1;
  min-height:1.15rem;
  margin:0!important;
  color:#52635b;
  font-size:.72rem;
  line-height:1.45;
}
@media(max-width:760px){
  .mt-share,.mt-share-top,.mt-share-bottom{
    grid-template-columns:1fr;
    align-items:start;
    margin-left:auto;
    margin-right:auto;
    padding:.95rem;
  }
  .mt-share-actions{justify-content:flex-start}
  .mt-share-action{flex:1 1 8.6rem;padding:.65rem .72rem}
  .mt-share-note{font-size:.73rem}
}
@media(max-width:390px){
  .mt-share-actions{display:grid;grid-template-columns:1fr}
  .mt-share-action{width:100%}
}
@media print{.mt-share{display:none!important}}


/* v1.3.4: 実機目視是正
   1) 重賞一覧の1200x630サムネイルを切らずに表示
   2) トップの重賞アーカイブ導線をレースボタンと明確に分離
   3) X共有を主操作として強調 */

/* OGP画像をカード枠へ無理にトリミングしない */
.graded-archive-card>a{
  grid-template-columns:minmax(310px,40%) minmax(0,1fr);
  align-items:stretch;
}
.graded-archive-card img{
  align-self:center;
  width:calc(100% - 28px);
  height:auto;
  min-height:0;
  margin:14px;
  aspect-ratio:1200/630;
  object-fit:contain;
  border:1px solid rgba(21,75,57,.12);
  border-radius:15px;
  background:#f7f1e4;
  box-shadow:0 8px 20px rgba(30,66,51,.10);
}
.home-v121-latest-item img[src*="/assets/og/graded/"]{
  box-sizing:border-box;
  object-fit:contain;
  padding:4px;
  border:1px solid rgba(21,75,57,.13);
  background:#f7f1e4;
}

/* アーカイブは第四のレースではなく、独立した保管庫として見せる */
.home-v134-archive-cta{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:62px;
  margin-top:8px;
  padding:10px 12px;
  border:1px dashed color-mix(in srgb,var(--gateway-alt) 62%,#fff);
  border-radius:15px;
  color:#5d3764;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(248,240,249,.90));
  text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 6px 16px rgba(83,49,91,.07);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.home-v134-archive-cta:hover{
  transform:translateY(-1px);
  border-color:var(--gateway-alt);
  background:linear-gradient(135deg,#fff,#f4e8f6);
  box-shadow:0 10px 21px rgba(83,49,91,.12);
}
.home-v134-archive-cta:focus-visible{
  outline:3px solid #dda94e;
  outline-offset:3px;
}
.home-v134-archive-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  color:#fff;
  background:var(--gateway-alt);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:1rem;
  font-weight:900;
  box-shadow:0 5px 12px color-mix(in srgb,var(--gateway-alt) 24%,transparent);
}
.home-v134-archive-copy{min-width:0}
.home-v134-archive-copy small{
  display:block;
  margin-bottom:1px;
  color:#8b6791;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.15em;
}
.home-v134-archive-copy strong{
  display:block;
  color:#5a3561;
  font-size:.76rem;
  line-height:1.35;
}
.home-v134-archive-cta>b{
  color:#76507d;
  font-size:.66rem;
  white-space:nowrap;
}

/* X共有を主役へ。副操作は一段控えめにする */
.mt-share{
  position:relative;
  overflow:hidden;
}
.mt-share-top{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.58fr);
  gap:1rem 1.35rem;
  padding:1.18rem 1.25rem;
  border:2px solid #151515;
  border-left-width:7px;
  border-radius:20px;
  background:
    radial-gradient(circle at 93% 12%,rgba(212,154,67,.20),transparent 8rem),
    linear-gradient(135deg,#fffefa,#f6f3eb);
  box-shadow:0 16px 34px rgba(19,19,19,.12);
}
.mt-share-top::after{
  content:"X";
  position:absolute;
  right:14px;
  bottom:-38px;
  color:rgba(17,17,17,.035);
  font-family:Arial,sans-serif;
  font-size:8.5rem;
  font-weight:900;
  line-height:1;
  pointer-events:none;
}
.mt-share-copyblock{position:relative;z-index:1}
.mt-share-kicker{
  display:flex;
  align-items:center;
  gap:.42rem;
  margin:0 0 .38rem!important;
  color:#6f6259;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
}
.mt-share-kicker>span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:8px;
  color:#fff;
  background:#111;
  font-family:Arial,sans-serif;
  font-size:.75rem;
  letter-spacing:0;
}
.mt-share-top .mt-share-label{
  color:#151515;
  font-size:1rem;
  letter-spacing:.01em;
}
.mt-share-top .mt-share-note{
  max-width:19rem;
  margin-top:.28rem!important;
  color:#625f5b;
  font-size:.76rem;
}
.mt-share-actions{
  position:relative;
  z-index:1;
}
.mt-share-top .mt-share-actions,
.mt-share-bottom .mt-share-actions{
  display:grid;
  grid-template-columns:minmax(190px,1.65fr) repeat(2,minmax(124px,.82fr));
  align-items:stretch;
  width:100%;
  gap:.62rem;
}
.mt-share-top .mt-share-action,
.mt-share-bottom .mt-share-action{
  width:100%;
}
.mt-share-x{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  justify-content:stretch;
  column-gap:.68rem;
  min-height:64px;
  padding:.68rem .9rem;
  border-radius:15px;
  background:#101010;
  box-shadow:0 12px 24px rgba(0,0,0,.20);
}
.mt-share-x:hover,.mt-share-x:focus-visible{
  transform:translateY(-2px);
  background:#202020;
  border-color:#202020;
  box-shadow:0 16px 30px rgba(0,0,0,.24);
}
.mt-share-xmark{
  grid-row:1/3;
  width:34px;
  height:34px;
  border-radius:11px;
  font-size:1rem;
}
.mt-share-xtext{
  display:grid;
  min-width:0;
  text-align:left;
}
.mt-share-xtext strong{
  color:inherit;
  font-size:.9rem;
  line-height:1.2;
}
.mt-share-xtext small{
  margin-top:2px;
  color:rgba(255,255,255,.66);
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.03em;
}
.mt-share-xarrow{
  grid-row:1/3;
  color:rgba(255,255,255,.78);
  font-size:1.1rem;
}
.mt-share-secondary{
  min-height:52px;
  padding:.62rem .7rem;
  border-radius:14px;
  background:rgba(255,255,255,.82);
  color:#315343;
  font-size:.68rem;
  white-space:nowrap;
  box-shadow:none;
}
.mt-share-secondary:hover,.mt-share-secondary:focus-visible{
  background:#fff;
  box-shadow:0 8px 17px rgba(28,62,48,.10);
}
.mt-share-bottom{
  grid-template-columns:minmax(0,.78fr) minmax(0,1.62fr);
  padding:1.35rem;
  border:0;
  background:
    radial-gradient(circle at 92% 14%,rgba(212,154,67,.25),transparent 10rem),
    linear-gradient(135deg,#101412,#1d2e27);
  box-shadow:0 18px 38px rgba(14,26,21,.20);
}
.mt-share-bottom .mt-share-kicker,
.mt-share-bottom .mt-share-label,
.mt-share-bottom .mt-share-note{color:#fff}
.mt-share-bottom .mt-share-note{color:rgba(255,255,255,.70)}
.mt-share-bottom .mt-share-kicker>span{
  color:#111;
  background:#fff;
}
.mt-share-bottom .mt-share-x{
  border-color:#fff;
  background:#fff;
  color:#111!important;
  box-shadow:0 12px 24px rgba(0,0,0,.26);
}
.mt-share-bottom .mt-share-x:hover,.mt-share-bottom .mt-share-x:focus-visible{
  border-color:#f1e9d9;
  background:#f1e9d9;
}
.mt-share-bottom .mt-share-xmark{
  color:#fff;
  background:#111;
}
.mt-share-bottom .mt-share-xtext small{color:rgba(17,17,17,.62)}
.mt-share-bottom .mt-share-xarrow{color:rgba(17,17,17,.70)}
.mt-share-bottom .mt-share-secondary{
  border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.10);
  color:#fff;
}
.mt-share-bottom .mt-share-secondary:hover,.mt-share-bottom .mt-share-secondary:focus-visible{
  background:rgba(255,255,255,.18);
}
.mt-share-bottom .mt-share-status{color:rgba(255,255,255,.78)}

@media(max-width:900px){
  .mt-share-top,.mt-share-bottom{grid-template-columns:1fr}
  .mt-share-top .mt-share-note{max-width:none}
}
@media(max-width:720px){
  .graded-archive-card>a{grid-template-columns:1fr}
  .graded-archive-card img{
    width:calc(100% - 24px);
    margin:12px;
    aspect-ratio:1200/630;
  }
  .mt-share-top,.mt-share-bottom{
    padding:1rem;
    border-radius:18px;
  }
  .mt-share-top .mt-share-actions,
  .mt-share-bottom .mt-share-actions{
    grid-template-columns:1fr 1fr;
  }
  .mt-share-x{grid-column:1/-1}
}
@media(max-width:430px){
  .mt-share-top .mt-share-actions,
  .mt-share-bottom .mt-share-actions{grid-template-columns:1fr}
  .mt-share-x{grid-column:auto}
  .home-v134-archive-cta{grid-template-columns:34px minmax(0,1fr)}
  .home-v134-archive-cta>b{grid-column:2;justify-self:start}
}

/* v1.3.5: 重賞以外の注目馬・週次アーカイブ */
.weekly-article .article-header{
  background:
    radial-gradient(circle at 92% 12%,rgba(210,155,73,.17),transparent 9rem),
    linear-gradient(135deg,#fff,#eef7f2);
}
.weekly-horse-profile{position:relative;overflow:hidden}
.weekly-horse-profile::after{
  content:"";position:absolute;right:-44px;bottom:-48px;width:126px;height:126px;border-radius:50%;
  border:23px solid rgba(38,112,90,.055);pointer-events:none;
}
.weekly-race-label{
  display:inline-flex;align-items:center;min-height:32px;margin:.08rem 0 .48rem!important;padding:.3rem .7rem;
  border:1px solid rgba(21,75,57,.16);border-radius:999px;background:#f4f8f5;color:#36594b;
  font-size:.72rem;font-weight:800;line-height:1.4;
}

/* v1.7.3.4: 明るく透明感のある表彰台デザイン */
.weekly-article .weekly-results-heading{
  position:relative;
  overflow:hidden;
  color:#5e3b00;
  background:
    radial-gradient(circle at 8% 25%,rgba(255,255,255,.95) 0 4px,transparent 5px),
    radial-gradient(circle at 94% 30%,rgba(255,195,52,.60) 0 5px,transparent 6px),
    linear-gradient(120deg,rgba(255,255,255,.98) 0%,rgba(255,224,128,.82) 48%,rgba(255,250,228,.96) 100%);
  border:2px solid #efb82d;
  box-shadow:0 16px 36px rgba(225,163,25,.24),inset 0 1px 0 #fff;
  text-shadow:0 2px 0 rgba(255,255,255,.85);
}
.weekly-article .weekly-results-heading::after{
  content:"★  PODIUM  ★";
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  padding:.28rem .65rem;
  color:#644000;
  border:1px solid rgba(181,119,0,.34);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  box-shadow:inset 0 1px 0 #fff,0 5px 14px rgba(176,119,0,.12);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
  white-space:nowrap;
}
.weekly-podium-summary{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  max-width:780px;
  margin:1.3rem auto 1.7rem;
  padding:1.25rem;
  color:#204b3c;
  border:3px solid rgba(238,184,50,.78);
  border-radius:24px;
  background:
    radial-gradient(circle at 8% 15%,rgba(255,190,38,.74) 0 4px,transparent 5px),
    radial-gradient(circle at 92% 18%,rgba(255,255,255,.98) 0 4px,transparent 5px),
    radial-gradient(circle at 16% 86%,rgba(168,217,235,.72) 0 4px,transparent 5px),
    radial-gradient(circle at 84% 84%,rgba(244,155,99,.62) 0 4px,transparent 5px),
    linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(255,239,190,.82) 48%,rgba(232,249,242,.92) 100%);
  box-shadow:0 20px 46px rgba(226,171,42,.22),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
}
.weekly-podium-summary::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-52px;
  top:-62px;
  width:190px;
  height:190px;
  border:34px solid rgba(255,194,52,.16);
  border-radius:50%;
}
.weekly-podium-summary p{margin:.18rem 0}
.weekly-podium-summary-kicker{
  color:#8a5700;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.2em;
}
.weekly-podium-summary-title{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.35rem,4vw,2rem);
  font-weight:800;
  line-height:1.35;
}
.weekly-podium-summary-title strong{
  margin-left:.25rem;
  color:#7d4d00;
  font-size:1.18em;
  text-shadow:0 2px 0 rgba(255,255,255,.88),0 7px 18px rgba(225,151,0,.16);
}
.weekly-podium-summary-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  margin:1rem 0 .8rem;
  padding:0!important;
  list-style:none;
}
.weekly-podium-summary-list li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:.55rem;
  min-width:0;
  padding:.72rem .78rem;
  color:#1f2d28;
  border:1px solid rgba(255,255,255,.6);
  border-radius:15px;
  box-shadow:0 8px 20px rgba(0,0,0,.14);
}
.weekly-podium-summary-list li span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  font-size:.76rem;
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 4px 10px rgba(0,0,0,.16);
}
.weekly-podium-summary-list li strong{
  min-width:0;
  overflow-wrap:anywhere;
  font-size:.77rem;
  line-height:1.35;
}
.weekly-podium-summary-list .is-first{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,233,167,.84))}
.weekly-podium-summary-list .is-first span{color:#684200;border:2px solid #dda817;background:rgba(255,246,197,.94)}
.weekly-podium-summary-list .is-second{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(223,244,255,.88))}
.weekly-podium-summary-list .is-second span{color:#294956;border:2px solid #8db1c3;background:rgba(242,250,255,.96)}
.weekly-podium-summary-list .is-third{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,226,212,.88))}
.weekly-podium-summary-list .is-third span{color:#6d321a;border:2px solid #d27c4c;background:rgba(255,239,229,.96)}
.weekly-podium-summary-note{color:#3c5d51;font-size:.78rem;line-height:1.65}

.weekly-podium-card{
  --podium-border:#edb82f;
  --podium-ink:#664100;
  --podium-accent:#d99b11;
  --podium-pale:rgba(255,248,215,.78);
  --podium-glass-start:rgba(255,255,255,.98);
  --podium-glass-mid:rgba(255,220,112,.76);
  --podium-glass-end:rgba(255,251,232,.96);
  --podium-shadow:rgba(225,157,20,.25);
  --podium-spark:rgba(255,184,28,.24);
  isolation:isolate;
  border:3px solid var(--podium-border);
  background:
    radial-gradient(circle at 7% 18%,rgba(255,195,43,.62) 0 4px,transparent 5px),
    radial-gradient(circle at 92% 22%,rgba(255,218,109,.72) 0 3px,transparent 4px),
    radial-gradient(circle at 12% 82%,rgba(255,255,255,.9) 0 3px,transparent 4px),
    linear-gradient(145deg,rgba(255,255,255,.98) 0%,var(--podium-pale) 100%);
  box-shadow:0 22px 52px var(--podium-shadow),0 3px 0 rgba(255,255,255,.92) inset;
  -webkit-backdrop-filter:blur(12px) saturate(145%);
  backdrop-filter:blur(12px) saturate(145%);
}
.weekly-podium-card--second{
  --podium-border:#91b8ca;
  --podium-ink:#294956;
  --podium-accent:#719eb4;
  --podium-pale:rgba(226,243,252,.76);
  --podium-glass-start:rgba(255,255,255,.98);
  --podium-glass-mid:rgba(181,219,238,.76);
  --podium-glass-end:rgba(245,252,255,.96);
  --podium-shadow:rgba(85,155,188,.23);
  --podium-spark:rgba(94,183,225,.20);
}
.weekly-podium-card--third{
  --podium-border:#d98452;
  --podium-ink:#6d321a;
  --podium-accent:#c96c3b;
  --podium-pale:rgba(255,231,216,.78);
  --podium-glass-start:rgba(255,255,255,.98);
  --podium-glass-mid:rgba(247,176,126,.74);
  --podium-glass-end:rgba(255,248,243,.96);
  --podium-shadow:rgba(211,113,61,.23);
  --podium-spark:rgba(239,126,68,.20);
}
.weekly-podium-card> *{position:relative;z-index:2}
.weekly-podium-card::before{
  content:"";
  position:absolute;
  z-index:0;
  top:-176px;
  right:-48px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:repeating-conic-gradient(from 218deg,var(--podium-spark) 0 4deg,transparent 4deg 14deg);
  opacity:.92;
  pointer-events:none;
}
.weekly-podium-card::after{
  z-index:0;
  right:-52px;
  bottom:-58px;
  width:164px;
  height:164px;
  border:29px solid var(--podium-border);
  opacity:.11;
}
.weekly-podium-banner{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  min-height:112px;
  margin:-1.35rem -1.4rem 1.15rem;
  padding:1rem 1.2rem;
  overflow:hidden;
  color:var(--podium-ink);
  border:1px solid rgba(255,255,255,.95);
  border-bottom:5px solid var(--podium-accent);
  border-radius:18px 18px 13px 13px;
  background:
    radial-gradient(circle at 8% 18%,rgba(255,255,255,.98) 0 4px,transparent 5px),
    radial-gradient(circle at 93% 78%,rgba(255,255,255,.82) 0 5px,transparent 6px),
    linear-gradient(112deg,var(--podium-glass-start) 0%,var(--podium-glass-mid) 49%,var(--podium-glass-end) 100%);
  box-shadow:inset 0 1px 0 #fff,0 12px 30px var(--podium-shadow);
  text-shadow:none;
  -webkit-backdrop-filter:blur(16px) saturate(155%);
  backdrop-filter:blur(16px) saturate(155%);
}
.weekly-podium-banner::before{
  content:"";
  position:absolute;
  z-index:0;
  top:-35%;
  bottom:-35%;
  left:-35%;
  width:20%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
  animation:weekly-podium-shine 4.8s ease-in-out 1;
  pointer-events:none;
}
.weekly-podium-banner> *{position:relative;z-index:1}
.weekly-podium-banner::after{
  content:"";
  position:absolute;
  right:-44px;
  top:-58px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:rgba(255,255,255,.30);
  box-shadow:-76px 96px 0 rgba(255,255,255,.18);
  pointer-events:none;
}
.weekly-podium-medal{
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border:4px solid rgba(255,255,255,.98);
  border-radius:50%;
  color:var(--podium-ink);
  background:linear-gradient(145deg,rgba(255,255,255,.98),var(--podium-pale));
  box-shadow:inset 0 2px 0 #fff,0 0 0 3px var(--podium-accent),0 10px 24px var(--podium-shadow);
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.65rem;
  font-weight:950;
  line-height:1;
  text-shadow:none;
}
.weekly-podium-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.weekly-podium-copy small{
  color:var(--podium-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.18em;
}
.weekly-podium-copy strong{
  color:var(--podium-ink);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(2.7rem,8vw,4rem);
  font-weight:950;
  line-height:1;
  letter-spacing:.02em;
  text-shadow:0 3px 0 rgba(255,255,255,.92),0 10px 24px var(--podium-shadow);
}
.weekly-podium-cheer{
  justify-self:end;
  padding:.45rem .7rem;
  color:var(--podium-ink);
  border:1px solid rgba(255,255,255,.96);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 0 #fff,0 6px 16px var(--podium-shadow);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
}
.weekly-podium-card .weekly-podium-result-detail{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem .65rem;
  color:var(--podium-ink);
  border:1px solid var(--podium-border);
  background:rgba(255,255,255,.72);
  box-shadow:0 4px 12px var(--podium-shadow);
}
.weekly-podium-card--first{
  animation:weekly-podium-gold-glow 2.8s ease-in-out 1;
}
.weekly-podium-card--first .weekly-podium-banner{min-height:124px}
.weekly-podium-card--first .weekly-podium-medal{width:84px;height:84px;font-size:3rem}

@keyframes weekly-podium-shine{
  0%,64%{left:-35%}
  88%,100%{left:125%}
}
@keyframes weekly-podium-gold-glow{
  0%,100%{box-shadow:0 22px 52px rgba(225,157,20,.25),0 3px 0 rgba(255,255,255,.92) inset}
  50%{box-shadow:0 28px 64px rgba(255,190,41,.42),0 3px 0 #fff inset}
}

@media(max-width:640px){
  .weekly-article .weekly-results-heading{padding-right:1rem}
  .weekly-article .weekly-results-heading::after{position:static;display:table;margin:.55rem 0 0;transform:none}
  .weekly-podium-summary{padding:1rem;border-radius:19px}
  .weekly-podium-summary-title strong{display:block;margin:.1rem 0 0}
  .weekly-podium-summary-list{grid-template-columns:1fr}
  .weekly-podium-summary-list li{grid-template-columns:42px minmax(0,1fr)}
  .weekly-podium-summary-list li strong{font-size:.88rem}
  .weekly-podium-card{border-width:2px}
  .weekly-podium-banner{
    grid-template-columns:auto minmax(0,1fr);
    gap:.75rem;
    min-height:0;
    margin:-1.05rem -1.05rem 1rem;
    padding:.9rem;
    border-radius:19px 19px 12px 12px;
  }
  .weekly-podium-card--first .weekly-podium-banner{min-height:0}
  .weekly-podium-medal,
  .weekly-podium-card--first .weekly-podium-medal{width:64px;height:64px;font-size:2.25rem}
  .weekly-podium-copy small{font-size:.62rem;letter-spacing:.13em}
  .weekly-podium-copy strong{font-size:clamp(2.55rem,15vw,3.35rem)}
  .weekly-podium-cheer{grid-column:1/-1;justify-self:stretch;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .weekly-podium-banner::before,
  .weekly-podium-card--first{animation:none}
}
@media print{
  .weekly-podium-card,
  .weekly-podium-summary,
  .weekly-article .weekly-results-heading{
    box-shadow:none;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}
.weekly-archive .review-archive-header{
  background:
    radial-gradient(circle at 92% 16%,rgba(38,112,90,.15),transparent 12rem),
    linear-gradient(135deg,#fffdf7,#edf7f1);
}
.weekly-archive-policy{
  margin-top:1rem!important;padding:.85rem 1rem;border-left:4px solid #27705a;border-radius:0 12px 12px 0;
  background:rgba(255,255,255,.75);color:#40564c!important;
}
.weekly-archive-group{margin-top:2.4rem}
.weekly-archive-group-head{margin-bottom:1rem}
.weekly-archive-group-head h2{
  margin:.2rem 0 .35rem;color:var(--forest);font-family:serif;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.3;
}
.weekly-archive-group-head>p:last-child{margin:.2rem 0 0;color:#5e6c65;line-height:1.75}
.weekly-archive-card>a{grid-template-columns:minmax(310px,40%) minmax(0,1fr);align-items:stretch}
.weekly-archive-card img{
  align-self:center;width:calc(100% - 28px);height:auto;min-height:0;margin:14px;aspect-ratio:1200/630;
  object-fit:contain;border:1px solid rgba(21,75,57,.12);border-radius:15px;background:#f7f1e4;
  box-shadow:0 8px 20px rgba(30,66,51,.10);
}
.weekly-archive-card h3{
  margin:.55rem 0 .45rem;color:var(--forest);font-family:serif;font-size:clamp(1.35rem,3vw,2rem);line-height:1.4;
}
.weekly-archive-card>a:hover h3,.weekly-archive-card>a:focus-visible h3{text-decoration:underline;text-underline-offset:4px}
.home-v121-latest-item img[src*="/assets/og/weekly/"]{
  box-sizing:border-box;object-fit:contain;padding:4px;border:1px solid rgba(21,75,57,.13);background:#f7f1e4;
}
.home-v135-weekly-archive-cta{
  display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:62px;
  margin-top:8px;padding:10px 12px;border:1px dashed rgba(31,111,82,.48);border-radius:15px;color:#214f3d;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(235,247,240,.92));text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 6px 16px rgba(31,111,82,.07);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.home-v135-weekly-archive-cta:hover{
  transform:translateY(-1px);border-color:#1f6f52;background:linear-gradient(135deg,#fff,#e6f4ed);
  box-shadow:0 10px 21px rgba(31,111,82,.12);
}
.home-v135-weekly-archive-cta:focus-visible{outline:3px solid #dda94e;outline-offset:3px}
.home-v135-weekly-archive-icon{
  display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:#26705a;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1rem;font-weight:900;box-shadow:0 5px 12px rgba(38,112,90,.24);
}
.home-v135-weekly-archive-copy{min-width:0}
.home-v135-weekly-archive-copy small{display:block;margin-bottom:1px;color:#5c8273;font-size:.56rem;font-weight:900;letter-spacing:.13em}
.home-v135-weekly-archive-copy strong{display:block;color:#214f3d;font-size:.76rem;line-height:1.35}
.home-v135-weekly-archive-cta>b{color:#3d6f5c;font-size:.66rem;white-space:nowrap}
@media(max-width:720px){
  .weekly-archive-group{margin-top:1.8rem}
  .weekly-archive-card>a{grid-template-columns:1fr}
  .weekly-archive-card img{width:calc(100% - 24px);margin:12px;aspect-ratio:1200/630}
}
@media(max-width:430px){
  .home-v135-weekly-archive-cta{grid-template-columns:34px minmax(0,1fr)}
  .home-v135-weekly-archive-cta>b{grid-column:2;justify-self:start}
  .weekly-race-label{font-size:.67rem}
}

/* v1.3.6: 今週の調教 */
.training-v136-hero-update{
  display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:40px;margin:18px 0 0;
  padding:7px 12px;border:1px solid rgba(163,101,16,.28);border-radius:13px;color:#67400b;
  background:linear-gradient(135deg,rgba(255,249,229,.95),rgba(244,220,163,.88));
  box-shadow:0 8px 18px rgba(111,73,18,.10);font-size:.76rem;font-weight:750;line-height:1.35;text-decoration:none;
}
.training-v136-hero-new{
  flex:0 0 auto;padding:2px 7px;border-radius:999px;color:#fff;background:#a86712;font-size:.62rem;font-weight:900;letter-spacing:.09em;
}
.training-v136-hero-detail{color:#67400b}
.training-v136-hero-update strong{color:#533406}.training-v136-hero-update b{margin-left:auto}
.training-v136-hero-update:hover,.training-v136-hero-update:focus-visible{transform:translateY(-1px);box-shadow:0 11px 24px rgba(111,73,18,.16)}
.training-v136-home-button{color:#fff;background:linear-gradient(135deg,#a86712,#c88c2d);box-shadow:0 10px 24px rgba(168,103,18,.22)}
.training-v136-latest-item{background:linear-gradient(90deg,rgba(251,243,216,.82),transparent)}
.home-v121-latest-item img[src*="/assets/og/training/"]{box-sizing:border-box;object-fit:contain;padding:4px;border:1px solid rgba(168,103,18,.22);background:#f7f1e4}

.training-v136-article-body{background:#fbf7ee}
.training-v136-article-wrap{max-width:1040px}
.training-v136-article .article-header{
  background:radial-gradient(circle at 92% 12%,rgba(221,169,78,.18),transparent 10rem),linear-gradient(135deg,#fff,#edf7f1);
}
.training-v136-status{
  display:flex;align-items:center;gap:14px;margin:0 0 1.25rem;padding:14px 16px;border:1px solid rgba(170,84,61,.24);
  border-radius:16px;background:#fff6f1;box-shadow:0 8px 22px rgba(75,47,34,.06);
}
.training-v136-status>span{flex:0 0 auto;padding:5px 10px;border-radius:999px;color:#fff;background:#a9503d;font-size:.72rem;font-weight:900}
.training-v136-status p{margin:0!important;color:#684438;font-size:.88rem;line-height:1.65}
.training-v136-hero{overflow:hidden;margin:0 0 1.45rem;border:1px solid rgba(21,75,57,.15);border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(30,66,51,.10)}
.training-v136-hero img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:contain}
.training-v136-hero figcaption{padding:.65rem 1rem;color:#66756e;background:#fff;font-size:.76rem;line-height:1.6}
.training-v136-lead{margin:1.6rem 0!important;color:#314b40;font-size:1.03rem;line-height:2}
.training-v136-lead strong{color:#154b39;font-size:1.08em}
.training-v136-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:1.4rem 0 2rem}
.training-v136-summary>div{display:grid;place-items:center;min-height:132px;padding:14px;border:1px solid rgba(21,75,57,.15);border-radius:18px;background:linear-gradient(145deg,#fff,#f5efe0);box-shadow:0 8px 24px rgba(30,66,51,.07);text-align:center}
.training-v136-summary span{color:#5d6c64;font-size:.76rem;font-weight:800}
.training-v136-summary strong{color:#154b39;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2rem,5vw,3rem);line-height:1.1;font-variant-numeric:tabular-nums}
.training-v136-summary small{margin-left:2px;font-family:inherit;font-size:.42em}
.training-v136-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.training-v136-definition{margin:2rem 0;padding:1.45rem 1.55rem 1.55rem;border:1px solid rgba(168,103,18,.25);border-left:6px solid #b8781e;border-radius:18px;background:linear-gradient(135deg,#fffcf4,#f7ebca)}
.training-v136-definition h2{margin:.15rem 0 .45rem!important;padding:0!important;border:0!important;color:#69420b!important;background:none!important;font-size:clamp(1.35rem,3.5vw,1.9rem)!important}
.training-v136-definition p:last-child{margin-bottom:0!important;color:#594c36}
.training-v136-daynav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:1.6rem 0 2.6rem}
.training-v136-daynav a{display:grid;place-items:center;min-height:58px;padding:7px 4px;border:1px solid rgba(21,75,57,.16);border-radius:13px;color:#214f3d;background:#fff;text-decoration:none;font-size:.75rem;font-weight:850;line-height:1.25;box-shadow:0 5px 15px rgba(30,66,51,.05)}
.training-v136-daynav a:hover,.training-v136-daynav a:focus-visible{border-color:#27705a;background:#edf7f1}
.training-v136-daynav b{display:block;color:#9a6112;font-size:.85rem}

.training-v136-repeat{margin:2.8rem 0}.training-v136-repeat>header>h2,.training-v136-all>header>h2{margin:.18rem 0 .35rem!important}
.training-v136-repeat>header>p:last-child,.training-v136-all>header>p:last-child{color:#617068}
.training-v136-repeat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:1.2rem}
.training-v136-repeat-grid article{position:relative;overflow:hidden;padding:1.35rem;border:1px solid rgba(21,75,57,.17);border-top:5px solid #257056;border-radius:20px;background:linear-gradient(145deg,#fff,#f7f1e4);box-shadow:0 12px 30px rgba(30,66,51,.08)}
.training-v136-repeat-grid article::after{content:"調";position:absolute;right:-18px;bottom:-28px;color:rgba(37,112,86,.055);font-family:serif;font-size:5.5rem;font-weight:900;line-height:1}
.training-v136-repeat-grid h3{margin:.5rem 0 .8rem;color:#154b39;font-family:serif;font-size:1.55rem}
.training-v136-badge{display:inline-flex;padding:4px 9px;border-radius:999px;color:#754a0d;background:#f6e3b8;font-size:.7rem;font-weight:900}
.training-v136-repeat-grid dl{position:relative;z-index:1;display:grid;gap:10px;margin:0}
.training-v136-repeat-grid dl>div{padding:10px 11px;border-radius:12px;background:rgba(255,255,255,.85)}
.training-v136-repeat-grid dt{color:#36614f;font-size:.74rem;font-weight:900}
.training-v136-repeat-grid dd{margin:1px 0;color:#263d34;font-size:.77rem;font-weight:750;line-height:1.55;font-variant-numeric:tabular-nums}
.training-v136-repeat-grid p{position:relative;z-index:1;margin-bottom:0!important;color:#5c6862;font-size:.84rem}

.training-v136-all{margin-top:3.2rem}
.training-v136-day{scroll-margin-top:100px;margin:1.5rem 0 2rem;padding:0 0 1px;border:1px solid rgba(21,75,57,.16);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(30,66,51,.07)}
.training-v136-dayhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;border-bottom:1px solid rgba(21,75,57,.13);border-radius:19px 19px 0 0;background:linear-gradient(135deg,#edf7f1,#fff8e9)}
.training-v136-dayhead time{color:#6c5946;font-size:.73rem;font-weight:800}.training-v136-dayhead h3{margin:1px 0 0;color:#154b39;font-family:serif;font-size:1.38rem;line-height:1.25}
.training-v136-dayhead>span{padding:5px 9px;border-radius:999px;color:#36614f;background:#fff;font-size:.7rem;font-weight:850;white-space:nowrap}
.training-v136-table-wrap{overflow-x:auto;margin:0;border-radius:0 0 19px 19px}
.training-v136-table{width:100%;min-width:820px;border-collapse:collapse;font-size:.78rem;font-variant-numeric:tabular-nums}
.training-v136-table caption{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.training-v136-table th,.training-v136-table td{padding:.72rem .75rem;border-bottom:1px solid rgba(21,75,57,.105);text-align:left;vertical-align:top;line-height:1.55}
.training-v136-table thead th{color:#fff;background:#174b3a;font-size:.7rem;letter-spacing:.03em}
.training-v136-table tbody th{width:10.5rem;color:#214f3d;background:transparent;font-size:.78rem;font-weight:850;white-space:nowrap}
.training-v136-table tbody td:nth-child(2){width:5.2rem;color:#76521e;font-weight:850;white-space:nowrap}
.training-v136-table tbody td:nth-child(3),.training-v136-table tbody td:nth-child(4){white-space:nowrap}
.training-v136-table tbody tr:nth-child(even){background:#fcf9f1}.training-v136-table tbody tr:last-child>*{border-bottom:0}
.training-v136-table small{display:block;color:#8b5e1a;font-size:.66rem;font-weight:850}
.training-v136-day-empty,.training-v136-day-pending{padding-bottom:0;background:#fffcf6}
.training-v136-day-empty>p,.training-v136-day-pending>p{margin:0!important;padding:1.1rem 1.2rem 1.25rem;color:#5d6a64;font-size:.86rem}
.training-v136-day-pending{border-style:dashed}.training-v136-day-pending .training-v136-dayhead{background:#f5f0e5}

.training-v136-weekend,.training-v136-summer,.training-v136-limit,.training-v136-archive-rule{margin:2.5rem 0;padding:1.4rem 1.5rem;border-radius:18px}
.training-v136-weekend{border:1px solid rgba(28,105,78,.22);background:linear-gradient(135deg,#eef8f2,#fff)}
.training-v136-weekend h2,.training-v136-summer h2,.training-v136-limit h2,.training-v136-archive-rule h2{margin:.35rem 0 .45rem!important;padding:0!important;border:0!important;background:none!important;font-size:1.45rem!important}
.training-v136-weekend p:last-child,.training-v136-summer p:last-child,.training-v136-limit p:last-child,.training-v136-archive-rule p:last-child{margin-bottom:0!important}
.training-v136-method{margin:2.7rem 0}.training-v136-method ol{display:grid;gap:9px;padding:0;counter-reset:training-step;list-style:none}
.training-v136-method li{position:relative;padding:13px 14px 13px 48px;border:1px solid rgba(21,75,57,.13);border-radius:14px;background:#fff;line-height:1.7}
.training-v136-method li::before{counter-increment:training-step;content:counter(training-step);position:absolute;left:13px;top:13px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#fff;background:#27705a;font-size:.72rem;font-weight:900}
.training-v136-summer{border:1px solid rgba(199,132,39,.25);background:linear-gradient(135deg,#fff8e7,#fffdf8)}
.training-v136-limit{border:1px solid rgba(159,78,59,.20);background:#fff4ef}
.training-v136-history{margin:2.5rem 0;padding-top:1rem;border-top:1px solid rgba(21,75,57,.14)}
.training-v136-history li{margin:.35rem 0}.training-v136-history time{color:#315c4a;font-weight:850}
.training-v136-archive-header{border-top:6px solid #b8781e}.training-v136-archive-card img{object-fit:contain}
.training-v136-archive-rule{border:1px solid rgba(168,103,18,.20);background:#fff8e8}

@media(max-width:900px){
  .training-v136-article-wrap{max-width:100%}
  .training-v136-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .home-v121 .nav,.training-v136-archive .nav,.training-v136-article-body .nav{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))}
  .home-v121 .nav a,.training-v136-archive .nav a,.training-v136-article-body .nav a{padding:.3rem .12rem;font-size:.65rem;white-space:normal}
  .training-v136-hero-update{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;font-size:.7rem}
  .training-v136-hero-new{grid-column:1;grid-row:1/3}
  .training-v136-hero-update strong{display:block;grid-column:2;grid-row:1}
  .training-v136-hero-detail{grid-column:2;grid-row:2}
  .training-v136-hero-update b{grid-column:3;grid-row:1/3}
  .training-v136-status{align-items:flex-start;padding:12px}.training-v136-status>span{margin-top:2px}
  .training-v136-daynav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .training-v136-repeat-grid{grid-template-columns:1fr}
  .training-v136-day{scroll-margin-top:16px}
  .training-v136-dayhead{padding:14px}
  .training-v136-table-wrap{scrollbar-width:thin}
  .training-v136-weekend,.training-v136-summer,.training-v136-limit{padding:1.15rem}
}
@media(max-width:430px){
  .training-v136-summary{gap:8px}.training-v136-summary>div{min-height:105px;padding:10px}.training-v136-summary strong{font-size:2rem}
  .training-v136-daynav{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .training-v136-daynav a{min-height:52px;font-size:.69rem}
  .training-v136-hero figcaption{font-size:.69rem}
}
@media(max-width:360px){
  .home-v121 .nav,.training-v136-archive .nav,.training-v136-article-body .nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-v121 .nav a,.training-v136-archive .nav a,.training-v136-article-body .nav a{padding:.45rem .3rem;font-size:.78rem}
}

/* v1.3.7: 軽い調教ノートと出走予定ラベル */
.home-v137-gateway-training{--gateway:#a86712;--gateway-alt:#27705a}
.home-v137-training-archive-cta{
  display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:62px;
  margin-top:8px;padding:10px 12px;border:1px dashed rgba(168,103,18,.48);border-radius:15px;color:#69420b;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,226,.94));text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 6px 16px rgba(111,73,18,.07);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.home-v137-training-archive-cta:hover{
  transform:translateY(-1px);border-color:#a86712;background:linear-gradient(135deg,#fff,#faedce);
  box-shadow:0 10px 21px rgba(111,73,18,.12);
}
.home-v137-training-archive-cta:focus-visible{outline:3px solid #dda94e;outline-offset:3px}
.home-v137-training-archive-icon{
  display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:#a86712;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1rem;font-weight:900;box-shadow:0 5px 12px rgba(168,103,18,.24);
}
.home-v137-training-archive-copy{min-width:0}
.home-v137-training-archive-copy small{display:block;margin-bottom:1px;color:#926621;font-size:.56rem;font-weight:900;letter-spacing:.13em}
.home-v137-training-archive-copy strong{display:block;color:#69420b;font-size:.76rem;line-height:1.35}
.home-v137-training-archive-cta>b{color:#8b5e1a;font-size:.66rem;white-space:nowrap}

.weekly-entry-out{border-color:rgba(159,78,59,.24);color:#844335;background:#fff2ed}
.training-v137-reading{
  margin:2rem 0;padding:1.35rem 1.5rem;border:1px solid rgba(168,103,18,.22);border-left:6px solid #a86712;
  border-radius:18px;background:linear-gradient(135deg,#fffdf7,#f8efd8);
}
.training-v137-reading h2{margin:.2rem 0 .45rem!important;padding:0!important;border:0!important;background:none!important;color:#69420b!important;font-size:clamp(1.35rem,3.4vw,1.85rem)!important}
.training-v137-reading p:last-child{margin-bottom:0!important;color:#594c36}
.training-v137-day-group{margin:3rem 0}
.training-v137-day-head{
  display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:1rem;padding:0 0 .8rem;border-bottom:2px solid rgba(21,75,57,.14);
}
.training-v137-day-head span{color:#a86712;font-size:.64rem;font-weight:900;letter-spacing:.16em}
.training-v137-day-head h2{margin:.15rem 0 0!important;padding:0!important;border:0!important;background:none!important;color:#154b39!important;font-size:clamp(1.55rem,4vw,2.15rem)!important}
.training-v137-day-head>p{margin:0!important;color:#6b766f;font-size:.78rem;font-weight:800;white-space:nowrap}
.training-v137-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.training-v137-horse{
  position:relative;overflow:hidden;padding:1.25rem 1.3rem 1.3rem;border:1px solid rgba(21,75,57,.15);border-top:5px solid #27705a;
  border-radius:19px;background:linear-gradient(145deg,#fff,#fbf7ed);box-shadow:0 10px 28px rgba(30,66,51,.07);
}
.training-v137-horse::after{content:"";position:absolute;right:-35px;bottom:-42px;width:112px;height:112px;border:20px solid rgba(39,112,90,.05);border-radius:50%;pointer-events:none}
.training-v137-course{position:relative;z-index:1;margin:0 0 .32rem!important;color:#91611e;font-size:.67rem;font-weight:900;letter-spacing:.04em}
.training-v137-horse h3{position:relative;z-index:1;margin:0 0 .55rem;color:#154b39;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.45rem;line-height:1.35}
.training-v137-entry{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:31px;margin:0 0 .45rem!important;padding:.28rem .68rem;border-radius:999px;color:#fff;background:#a86712;font-size:.71rem;font-weight:900;line-height:1.4}
.training-v137-race{position:relative;z-index:1;margin:0 0 .65rem!important;color:#426052;font-size:.74rem;font-weight:850}
.training-v137-horse>p:last-child{position:relative;z-index:1;margin-bottom:0!important;color:#53625b;font-size:.86rem;line-height:1.75}

@media(max-width:720px){
  .training-v137-grid{grid-template-columns:1fr}
  .training-v137-day-group{margin:2.3rem 0}
  .training-v137-day-head{align-items:flex-start;flex-direction:column;gap:4px}
}
@media(max-width:430px){
  .home-v137-training-archive-cta{grid-template-columns:34px minmax(0,1fr)}
  .home-v137-training-archive-cta>b{grid-column:2;justify-self:start}
  .training-v137-horse{padding:1.05rem}
  .training-v137-entry{font-size:.67rem}
}

/* v1.3.8: 別日確認済み・カテゴリ横断表示・教科書3分類 */
.home-v138-repeat-pick{
  display:flex;align-items:center;justify-content:space-between;width:100%;min-height:55px;padding:9px 13px;
  border:1px solid rgba(219,172,71,.76);border-radius:15px;color:#fff8dd;
  background:radial-gradient(circle at 88% 14%,rgba(255,228,142,.25),transparent 5rem),linear-gradient(135deg,#153f31,#8b5c16);
  box-shadow:0 9px 21px rgba(88,57,13,.20),inset 0 0 0 1px rgba(255,255,255,.12);text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;
}
.home-v138-repeat-pick:hover{transform:translateY(-1px);box-shadow:0 13px 27px rgba(88,57,13,.26),inset 0 0 0 1px rgba(255,255,255,.18)}
.home-v138-repeat-pick:focus-visible{outline:3px solid #dda94e;outline-offset:3px}
.home-v138-repeat-pick small{display:block;margin-bottom:1px;color:#f1d995;font-size:.59rem;font-weight:900;letter-spacing:.08em}
.home-v138-repeat-pick strong{display:block;color:#fff;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:.9rem;line-height:1.3}
.home-v138-repeat-pick>b{display:grid;place-items:center;flex:0 0 31px;height:31px;border:1px solid rgba(255,226,139,.65);border-radius:50%;color:#ffdf81;background:rgba(255,255,255,.08);font-size:.8rem}

.home-v138-textbook{
  margin:34px auto 0;border-color:rgba(29,111,143,.20);
  background:radial-gradient(circle at 96% 18%,rgba(29,111,143,.12),transparent 11rem),linear-gradient(135deg,#fffdf7,#f1f7f7);
}
.home-v138-textbook-intro{margin:-6px 0 17px;color:#5f7068;font-size:.82rem;line-height:1.7}
.home-v138-textbook-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-v138-textbook-grid a{--book:#1f6d52;min-height:100px;border-top:4px solid var(--book);background:rgba(255,255,255,.82)}
.home-v138-textbook-grid .is-race{--book:#1d6f8f}
.home-v138-textbook-grid .is-system{--book:#914228}
.home-v138-textbook-grid a>span{color:var(--book);background:color-mix(in srgb,var(--book) 11%,white)}
.home-v138-textbook+.home-v121-content{margin-top:30px}

.training-v138-repeat-summary{
  scroll-margin-top:100px;margin:2.4rem 0 3rem;padding:1.4rem;border:1px solid rgba(190,135,38,.30);border-radius:21px;
  background:radial-gradient(circle at 92% 12%,rgba(223,177,78,.22),transparent 9rem),linear-gradient(135deg,#fffdf4,#edf6f0);
  box-shadow:0 14px 34px rgba(68,52,22,.09);
}
.training-v138-repeat-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 14px;margin-bottom:1rem}
.training-v138-repeat-head>p{grid-column:1;margin:0!important;color:#966416;font-size:.62rem;font-weight:950;letter-spacing:.16em}
.training-v138-repeat-head h2{grid-column:1;margin:.1rem 0!important;padding:0!important;border:0!important;background:none!important;color:#183f31!important;font-size:clamp(1.55rem,4vw,2.05rem)!important}
.training-v138-repeat-head>span{grid-column:2;grid-row:1/3;align-self:center;padding:5px 9px;border:1px solid rgba(151,99,18,.18);border-radius:999px;color:#76501b;background:#fff9e8;font-size:.67rem;font-weight:850;white-space:nowrap}
/* v1.3.9: 金曜分反映・別日確認済み3頭 */
.training-v138-repeat-horses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.training-v138-repeat-horses>a,.training-v138-repeat-horses>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:12px 14px;border-radius:15px;text-decoration:none}
.training-v138-repeat-horses .is-running{border:1px solid rgba(205,151,43,.45);color:#fff;background:linear-gradient(135deg,#174936,#9a6818);box-shadow:0 9px 22px rgba(92,59,12,.17)}
.training-v138-repeat-horses .is-out{border:1px solid rgba(99,110,104,.18);color:#53625b;background:rgba(255,255,255,.78)}
.training-v138-repeat-horses small{grid-column:1;color:inherit;font-size:.61rem;font-weight:950;letter-spacing:.08em;opacity:.78}
.training-v138-repeat-horses strong{grid-column:1;color:inherit;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.02rem}
.training-v138-repeat-horses span{grid-column:2;grid-row:1/3;padding:4px 8px;border-radius:999px;color:inherit;background:rgba(255,255,255,.14);font-size:.64rem;font-weight:850;white-space:nowrap}
.training-v138-repeat-summary>p:last-child{margin:.9rem 0 0!important;color:#5b665f;font-size:.82rem;line-height:1.75}

.training-v138-featured{
  position:relative;isolation:isolate;overflow:hidden;margin:0 0 17px;padding:1.5rem 1.6rem 1.45rem;border:1px solid #d5a83d;border-top:7px solid #b77a17;
  border-radius:23px;background:radial-gradient(circle at 88% 22%,rgba(255,226,135,.32),transparent 10rem),linear-gradient(135deg,#fffdf4,#eaf5ee);
  box-shadow:0 18px 42px rgba(102,68,16,.17),inset 0 0 0 1px rgba(255,255,255,.82);scroll-margin-top:100px;
}
.training-v138-featured::before,.training-v138-featured::after{content:"";position:absolute;z-index:-1;border:1px solid rgba(184,123,24,.16);border-radius:50%}
.training-v138-featured::before{right:-55px;bottom:-70px;width:205px;height:205px;border-width:34px}
.training-v138-featured::after{right:68px;top:22px;width:42px;height:42px;border-width:10px}
.training-v138-featured-ribbon{display:flex;align-items:center;gap:9px;margin-bottom:.8rem}
.training-v138-featured-ribbon span{color:#956315;font-size:.61rem;font-weight:950;letter-spacing:.15em}
.training-v138-featured-ribbon strong{display:inline-flex;padding:5px 11px;border-radius:999px;color:#fff5cf;background:linear-gradient(135deg,#7c4d0e,#bd8524);box-shadow:0 6px 15px rgba(108,67,12,.20);font-size:.72rem;font-weight:950;letter-spacing:.04em}
.training-v138-featured-main{display:flex;align-items:center;justify-content:space-between;gap:18px}
.training-v138-featured-main h3{margin:.05rem 0 .65rem;color:#143f31;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.8rem,5vw,2.55rem);line-height:1.25}
.training-v138-featured-main .training-v137-course{margin:0 0 .25rem!important}
.training-v138-featured-mark{display:grid;place-items:center;flex:0 0 80px;height:80px;border:1px solid rgba(171,112,20,.42);border-radius:50%;color:#f7df9b;background:linear-gradient(145deg,#164735,#8e5d17);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:2rem;font-weight:900;box-shadow:0 10px 24px rgba(70,47,13,.22),inset 0 0 0 5px rgba(255,255,255,.10)}
.training-v138-featured-note{max-width:46rem;margin:.9rem 0 0!important;color:#4f5f57;font-size:.92rem;line-height:1.85}

.training-v138-overlap,.horse-v138-overlap{
  display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:8px;width:fit-content;max-width:100%;
  border:1px solid rgba(183,72,62,.22);border-radius:12px;color:#7d352e;background:#fff3ef;text-decoration:none;
}
.training-v138-overlap{position:relative;z-index:1;margin:0 0 .72rem;padding:7px 9px}
.horse-v138-overlap{margin:.15rem 0 .75rem;padding:7px 10px}
.training-v138-overlap>span,.horse-v138-overlap>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:#fff;background:#b7483e;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:.72rem;font-weight:900}
.training-v138-overlap strong,.horse-v138-overlap strong{color:inherit;font-size:.7rem;line-height:1.35}
.training-v138-overlap b,.horse-v138-overlap b{color:inherit;font-size:.63rem;white-space:nowrap}
.training-v138-overlap:hover,.horse-v138-overlap:hover{border-color:#b7483e;background:#ffebe6;transform:translateY(-1px)}
.training-v138-overlap:focus-visible,.horse-v138-overlap:focus-visible{outline:3px solid #dda94e;outline-offset:3px}
#cbc-invincible-papa,#cbc-protoporos,#training-invincible-papa,#training-protoporos{scroll-margin-top:100px}

@media(max-width:760px){
  .home-v138-textbook{margin-top:26px}
  .home-v138-textbook-grid{grid-template-columns:1fr}
  .home-v138-textbook+.home-v121-content{margin-top:26px}
  .training-v138-repeat-summary,.training-v138-featured{scroll-margin-top:16px}
  .training-v138-repeat-horses{grid-template-columns:1fr}
  .training-v138-featured{padding:1.2rem}
  .training-v138-featured-mark{flex-basis:62px;height:62px;font-size:1.55rem}
  #cbc-invincible-papa,#cbc-protoporos,#training-invincible-papa,#training-protoporos{scroll-margin-top:16px}
}
@media(max-width:480px){
  .training-v138-repeat-head{grid-template-columns:1fr}
  .training-v138-repeat-head>span{grid-column:1;grid-row:auto;justify-self:start;margin-top:4px}
  .training-v138-featured-main{align-items:flex-start}
  .training-v138-featured-mark{flex-basis:50px;height:50px;font-size:1.25rem}
  .training-v138-overlap,.horse-v138-overlap{grid-template-columns:29px minmax(0,1fr)}
  .training-v138-overlap b,.horse-v138-overlap b{grid-column:2}
}

/* v1.4.8: separate workout notes from the later race-evaluation decision */
.training-v148-policy{
  margin:1.4rem 0;
  padding:clamp(1rem,2.5vw,1.55rem);
  border:1px solid #c9dbd2;
  border-radius:14px;
  background:linear-gradient(145deg,#f7fbf8,#eef6f2);
}
.training-v148-policy>h2{margin:.2rem 0 .55rem;color:#173f31}
.training-v148-policy>p{margin:.35rem 0 0}
.training-v148-policy-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:1rem;
}
.training-v148-policy-grid>section{
  min-width:0;
  padding:.9rem;
  border:1px solid #d7e2dc;
  border-top:5px solid #55766a;
  border-radius:10px;
  background:#fff;
}
.training-v148-policy-grid>section.is-recommended{border-top-color:#1c694e}
.training-v148-policy-grid>section.is-pass{border-top-color:#9b6a45}
.training-v148-policy-grid>section.is-reference{border-top-color:#718090}
.training-v148-policy-grid h3{margin:0 0 .35rem;font-size:1rem}
.training-v148-policy-grid p{margin:0;font-size:.9rem;line-height:1.65}
.training-v148-verdict{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  margin:.55rem 0 .2rem!important;
  padding:.34rem .68rem;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:.78rem;
  font-weight:850;
  line-height:1.35;
}
.training-v148-verdict.is-recommended{color:#155a42;background:#edf8f2}
.training-v148-verdict.is-pass{color:#805132;background:#fff6ee}
.training-v148-verdict.is-reference{color:#526273;background:#f2f5f7}
@media(max-width:760px){
  .training-v148-policy-grid{grid-template-columns:1fr}
  .training-v148-verdict{border-radius:8px;font-size:.74rem}
}

/* v1.4.6 prototype: mascot-held weekly results board */
.home-v146-results-hero{
  height:clamp(650px,56.25vw,900px);
  min-height:0;
  max-width:1600px;
  margin-inline:auto;
  overflow:hidden;
  background:#e9f3f4;
}
.home-v146-results-hero::after{display:none}
.home-v146-results-hero .home-v121-hero-media img{object-position:center top}
.home-v146-hero-brand{
  position:absolute;
  z-index:3;
  top:clamp(32px,4.2vw,68px);
  left:max(7.4%,calc((100% - 1460px)/2 + 88px));
  width:min(54%,760px);
  text-shadow:0 2px 0 rgba(255,255,255,.94),0 7px 22px rgba(33,55,49,.12);
}
.home-v146-hero-brand .home-v121-kicker{margin-bottom:7px}
.home-v146-hero-brand .home-v121-title-brand{
  font-size:clamp(3.25rem,5.7vw,5.8rem);
  line-height:.96;
}
.home-v146-hero-brand .home-v121-title-sub{
  max-width:710px;
  margin-top:10px;
  font-size:clamp(1rem,1.65vw,1.55rem);
  line-height:1.45;
}
.home-v146-result-board{
  position:absolute;
  z-index:3;
  top:44.7%;
  left:9.4%;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  width:70.6%;
  height:49.8%;
  min-height:0;
  padding:clamp(12px,1.15vw,20px) clamp(18px,2.1vw,38px) clamp(10px,1vw,17px);
  color:#fffdf0;
  font-variant-numeric:tabular-nums;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.home-v146-board-heading{
  display:flex;
  align-items:baseline;
  gap:12px;
  min-width:0;
}
.home-v146-board-heading p{
  flex:0 0 auto;
  margin:0;
  color:#f2d98f;
  font-size:clamp(.6rem,.75vw,.72rem);
  font-weight:900;
  letter-spacing:.1em;
}
.home-v146-board-heading h2{
  min-width:0;
  margin:0;
  color:#fffdf3;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.05rem,1.65vw,1.48rem);
  line-height:1.25;
  letter-spacing:.04em;
}
.home-v146-board-tabs{
  display:flex;
  align-items:center;
  gap:7px;
  margin:clamp(5px,.65vw,9px) 0;
}
.home-v146-board-tabs button{
  min-height:30px;
  padding:4px 13px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  color:#f8f4df;
  background:rgba(255,255,255,.06);
  font:inherit;
  font-size:clamp(.65rem,.78vw,.76rem);
  font-weight:850;
  line-height:1.2;
  cursor:pointer;
}
.home-v146-board-tabs button[aria-selected="true"]{
  border-color:#f0cf77;
  color:#183428;
  background:#f4d885;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
  text-shadow:none;
}
.home-v146-board-tabs button:focus-visible{
  outline:3px solid #fff;
  outline-offset:2px;
}
.home-v146-board-panel{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:0;
}
.home-v146-board-panel[hidden]{display:none}
.home-v146-board-summary{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px 12px;
  margin:0 0 3px;
  color:#edf5e9;
  font-size:clamp(.64rem,.8vw,.77rem);
  line-height:1.35;
}
.home-v146-board-summary strong{color:#ffe6a2;font-size:1.08em}
.home-v146-result-table-wrap{min-height:0;overflow:hidden}
.home-v146-result-table{
  width:100%;
  height:100%;
  border-collapse:collapse;
  table-layout:fixed;
  color:#f9f8ec;
  font-size:clamp(.64rem,.83vw,.8rem);
  line-height:1.15;
}
.home-v146-result-table th,.home-v146-result-table td{
  padding:clamp(2px,.32vw,5px) clamp(3px,.48vw,7px);
  border-bottom:1px dashed rgba(255,255,255,.22);
  text-align:left;
  vertical-align:middle;
}
.home-v146-result-table thead th{
  color:#c8dfd4;
  font-size:.82em;
  font-weight:750;
  letter-spacing:.05em;
}
.home-v146-result-table tbody th{font-weight:850}
.home-v146-result-table th:nth-child(1),.home-v146-result-table td:nth-child(1){width:9%}
.home-v146-result-table th:nth-child(2),.home-v146-result-table td:nth-child(2){width:15%}
.home-v146-result-table th:nth-child(4),.home-v146-result-table td:nth-child(4){width:10%;white-space:nowrap}
.home-v146-result-table th:nth-child(5),.home-v146-result-table td:nth-child(5){width:10%;white-space:nowrap}
.home-v146-result-table b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:20px;
  padding:2px 6px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  color:#f6f3e6;
  background:rgba(255,255,255,.08);
  font-size:.9em;
  line-height:1;
  text-shadow:none;
}
.home-v146-result-table .is-first{border-color:#f6d16f;color:#402b02;background:#f2cb59}
.home-v146-result-table .is-second{border-color:#e7ecef;color:#26333a;background:#dce5e9}
.home-v146-result-table .is-third{border-color:#e9b184;color:#472515;background:#d99562}
.home-v146-board-link{
  justify-self:start;
  margin-top:clamp(4px,.55vw,8px);
  color:#ffe7a3;
  font-size:clamp(.63rem,.78vw,.75rem);
  font-weight:850;
  text-decoration:none;
  border-bottom:1px solid rgba(255,231,163,.52);
}
.home-v146-board-link:hover{color:#fff;border-bottom-color:#fff}
.home-v146-results-hero+.home-v121-gateways{margin-top:-22px}

@media(max-width:1120px){
  .home-v146-results-hero{
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:0;
    overflow:visible;
    padding-bottom:24px;
    background:linear-gradient(180deg,#eaf4f5 0,#f8f0e3 100%);
  }
  .home-v146-results-hero .home-v121-hero-media{
    position:relative;
    order:0;
    width:100%;
    height:clamp(300px,43vw,470px);
    aspect-ratio:auto;
    overflow:hidden;
  }
  .home-v146-results-hero .home-v121-hero-media::after{display:none}
  .home-v146-results-hero .home-v121-hero-media img{
    position:absolute;
    inset:0;
    object-fit:cover;
    object-position:center top;
  }
  .home-v146-hero-brand{
    top:clamp(20px,3.8vw,42px);
    left:6.5%;
    width:55%;
  }
  .home-v146-hero-brand .home-v121-title-brand{font-size:clamp(3rem,8.2vw,5rem)}
  .home-v146-hero-brand .home-v121-title-sub{font-size:clamp(.9rem,2.15vw,1.25rem)}
  .home-v146-result-board{
    position:relative;
    top:auto;
    left:auto;
    order:1;
    width:min(calc(100% - 54px),780px);
    height:auto;
    min-height:420px;
    margin:-122px auto 0;
    padding:20px 24px 18px;
    border:10px solid #8b582f;
    border-radius:5px;
    color:#fffdf0;
    background:
      radial-gradient(circle at 18% 24%,rgba(255,255,255,.025),transparent 28%),
      linear-gradient(145deg,#142c24,#0f241e);
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.07),0 18px 35px rgba(50,38,25,.24);
  }
  .home-v146-result-table{font-size:.78rem}
  .home-v146-results-hero+.home-v121-gateways{margin-top:0}
}

@media(max-width:760px){
  .home-v146-results-hero{padding-bottom:18px}
  .home-v146-results-hero .home-v121-hero-media{height:clamp(230px,61.5vw,330px)}
  .home-v146-hero-brand{
    top:16px;
    left:5.5%;
    width:59%;
  }
  .home-v146-hero-brand .home-v121-kicker{font-size:.59rem;letter-spacing:.035em}
  .home-v146-hero-brand .home-v121-kicker::before{display:none}
  .home-v146-hero-brand .home-v121-title-brand{font-size:clamp(2.55rem,12vw,4rem)}
  .home-v146-hero-brand .home-v121-title-sub{
    max-width:290px;
    margin-top:7px;
    font-size:clamp(.72rem,3vw,.95rem);
    line-height:1.38;
  }
  .home-v146-result-board{
    width:min(calc(100% - 28px),620px);
    min-height:0;
    margin:-84px auto 0;
    padding:17px 11px 15px;
    border-width:8px;
  }
  .home-v146-board-heading{display:block}
  .home-v146-board-heading p{font-size:.58rem}
  .home-v146-board-heading h2{margin-top:2px;font-size:1.12rem}
  .home-v146-board-tabs{margin:8px 0 9px}
  .home-v146-board-tabs button{min-height:44px;padding:6px 11px;font-size:.7rem}
  .home-v146-board-summary{display:block;margin-bottom:5px;font-size:.68rem}
  .home-v146-board-summary strong{display:block;margin-bottom:2px;font-size:.76rem}
  .home-v146-result-table-wrap{overflow:visible}
  .home-v146-result-table{height:auto;font-size:clamp(.62rem,2.65vw,.75rem)}
  .home-v146-result-table th,.home-v146-result-table td{padding:6px 3px}
  .home-v146-result-table th:nth-child(1),.home-v146-result-table td:nth-child(1){width:11%}
  .home-v146-result-table th:nth-child(2),.home-v146-result-table td:nth-child(2){width:19%;white-space:nowrap}
  .home-v146-result-table th:nth-child(4),.home-v146-result-table td:nth-child(4){width:13%}
  .home-v146-result-table th:nth-child(5),.home-v146-result-table td:nth-child(5){width:13%}
  .home-v146-result-table b{min-width:30px;padding:2px 4px}
  .home-v146-board-link{margin-top:11px;font-size:.7rem}
  .home-v146-results-hero+.home-v121-gateways{margin-top:0}
}

@media(max-width:390px){
  .home-v146-hero-brand .home-v121-title-brand{font-size:2.65rem}
  .home-v146-hero-brand .home-v121-title-sub{display:none}
  .home-v146-result-board{width:calc(100% - 20px);padding-inline:8px}
  .home-v146-board-tabs{gap:5px}
  .home-v146-board-tabs button{padding-inline:8px;font-size:.64rem}
  .home-v146-result-table{font-size:.72rem}
  .home-v146-result-table th,.home-v146-result-table td{padding-inline:2px}
}

/* v1.4.8: portrait phones use stacked result cards instead of a five-column table */
@media(max-width:600px) and (orientation:portrait){
  .home-v146-result-board{
    padding:16px 12px 15px;
  }
  .home-v146-board-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .home-v146-board-tabs button{
    width:100%;
    min-height:44px;
    padding:7px 8px;
    font-size:.75rem;
  }
  .home-v146-result-table,
  .home-v146-result-table tbody{
    display:block;
    width:100%;
    height:auto;
  }
  .home-v146-result-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .home-v146-result-table tbody{
    display:grid;
    gap:7px;
  }
  .home-v146-result-table tbody tr{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:
      "date race finish"
      "horse horse finish"
      "popular popular finish";
    column-gap:7px;
    row-gap:3px;
    min-width:0;
    padding:8px 9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:6px;
    background:rgba(255,255,255,.035);
  }
  .home-v146-result-table tbody th,
  .home-v146-result-table tbody td{
    width:auto!important;
    min-width:0;
    padding:0!important;
    border:0!important;
    white-space:normal!important;
    line-height:1.25;
  }
  .home-v146-result-table tbody td:nth-child(1){
    grid-area:date;
    align-self:center;
    color:#f2d98f;
    font-size:.69rem;
    font-weight:850;
  }
  .home-v146-result-table tbody td:nth-child(2){
    grid-area:race;
    align-self:center;
    overflow-wrap:anywhere;
    color:#cfe2d8;
    font-size:.69rem;
  }
  .home-v146-result-table tbody th:nth-child(3){
    grid-area:horse;
    overflow-wrap:anywhere;
    color:#fffdf3;
    font-size:.88rem;
    letter-spacing:.01em;
  }
  .home-v146-result-table tbody td:nth-child(4){
    grid-area:popular;
    color:#e7eee8;
    font-size:.69rem;
  }
  .home-v146-result-table tbody td:nth-child(5){
    grid-area:finish;
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:stretch;
    margin-left:3px;
  }
  .home-v146-result-table b{
    min-width:42px;
    min-height:26px;
    padding:4px 7px;
    font-size:.75rem;
  }
  .home-v146-board-link{
    margin-top:13px;
    font-size:.74rem;
    line-height:1.45;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-v146-board-tabs button{scroll-behavior:auto}
}

/* v1.6.0: beginner-first visual textbook components */
.lesson-quickstart,
.lesson-panel,
.lesson-glossary,
.lesson-case,
.lesson-faq{
  max-width:780px;
  margin:1.5rem auto;
  border:1px solid var(--line2,#d9e3dc);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(30,66,51,.07);
}
.lesson-quickstart{padding:1.25rem 1.35rem;background:linear-gradient(135deg,#eef8f3,#fffaf0)}
.lesson-quickstart h2,
.lesson-panel h2,
.lesson-glossary h2,
.lesson-case h2,
.lesson-faq h2{
  margin:0 0 .75rem;
  padding:0;
  border:0;
  background:none;
  color:var(--green,#173f31);
  font-family:serif;
  font-size:1.28rem;
  line-height:1.45;
}
.lesson-quickstart>p:first-of-type,
.lesson-panel>p:first-of-type{margin-top:0}
.lesson-goals{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
  margin:.8rem 0 0;
  padding:0;
  list-style:none;
  counter-reset:lesson-goal;
}
.lesson-goals li{
  position:relative;
  min-height:100%;
  padding:.85rem .85rem .8rem 2.5rem;
  border:1px solid rgba(38,112,90,.18);
  border-radius:15px;
  background:rgba(255,255,255,.88);
  line-height:1.65;
  counter-increment:lesson-goal;
}
.lesson-goals li::before{
  content:counter(lesson-goal);
  position:absolute;
  top:.82rem;
  left:.78rem;
  display:grid;
  place-items:center;
  width:1.28rem;
  height:1.28rem;
  border-radius:50%;
  color:#fff;
  background:var(--green2,#276f58);
  font-size:.72rem;
  font-weight:900;
}
.lesson-panel,.lesson-case,.lesson-glossary,.lesson-faq{padding:1.25rem 1.35rem}
.lesson-panel--mint{background:#f2faf6}
.lesson-panel--sand{background:#fff9ed}
.lesson-panel--blue{background:#f1f7fb}
.lesson-kicker{
  display:inline-block;
  margin:0 0 .35rem;
  color:var(--green2,#276f58);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
}
.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:.9rem 0}
.lesson-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lesson-card{
  padding:1rem;
  border:1px solid rgba(38,112,90,.18);
  border-radius:16px;
  background:#fff;
}
.lesson-card h3{margin:0 0 .4rem;color:var(--green,#173f31);font-size:1.02rem;line-height:1.5}
.lesson-card p{margin:.35rem 0;font-size:.92rem;line-height:1.75}
.lesson-card p:last-child{margin-bottom:0}
.lesson-chip{
  display:inline-flex;
  align-items:center;
  min-height:1.7rem;
  margin:0 .2rem .2rem 0;
  padding:.15rem .62rem;
  border:1px solid rgba(38,112,90,.24);
  border-radius:999px;
  background:#edf7f2;
  color:#1b5945;
  font-size:.76rem;
  font-weight:850;
}
.lesson-table-scroll{max-width:100%;margin:1rem 0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.lesson-table{
  width:100%;
  min-width:620px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #cedbd3;
  border-radius:14px;
  background:#fff;
  font-size:.88rem;
  line-height:1.6;
}
.lesson-table caption{padding:0 0 .55rem;text-align:left;color:#50645a;font-size:.78rem;font-weight:750}
.lesson-table th,.lesson-table td{padding:.72rem .78rem;border-right:1px solid #dfe7e2;border-bottom:1px solid #dfe7e2;vertical-align:top;text-align:left}
.lesson-table th{background:#e9f4ee;color:#173f31;font-weight:900}
.lesson-table tr:last-child>*{border-bottom:0}
.lesson-table tr>*:last-child{border-right:0}
.lesson-table tbody th{background:#f4f8f5}
.lesson-table-note{margin:.45rem 0 0;color:#5b6c63;font-size:.78rem;line-height:1.65}
.lesson-glossary{background:#f8fbf9}
.lesson-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0}
.lesson-terms>div{padding:.85rem .9rem;border-left:4px solid #d7aa5d;border-radius:0 12px 12px 0;background:#fff}
.lesson-terms dt{color:#173f31;font-weight:900}
.lesson-terms dd{margin:.18rem 0 0;color:#4e6057;font-size:.89rem;line-height:1.7}
.lesson-steps{margin:.9rem 0 .1rem;padding:0;list-style:none;counter-reset:lesson-step}
.lesson-steps li{position:relative;margin:.65rem 0;padding:.78rem .9rem .78rem 3rem;border:1px solid #d8e3dc;border-radius:14px;background:#fff;counter-increment:lesson-step}
.lesson-steps li::before{content:"STEP " counter(lesson-step);position:absolute;top:.9rem;left:.75rem;color:#1b614b;font-size:.67rem;font-weight:950;letter-spacing:.02em}
.lesson-figure{
  max-width:780px;
  margin:1.5rem auto 2rem;
  overflow:hidden;
  border:1px solid var(--line2,#d9e3dc);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(30,66,51,.07);
}
.lesson-figure>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lesson-figure>svg{display:block;width:100%;height:auto;background:#fbfdfb}
.lesson-figure figcaption{padding:.75rem 1rem;color:#55665d;font-size:.8rem;line-height:1.7}
.lesson-diagram{
  margin:1rem 0;
  padding:1rem;
  border:1px solid #d5e1d9;
  border-radius:16px;
  background:#fbfdfb;
}
.lesson-diagram-title{margin:0 0 .75rem!important;color:#173f31;font-weight:900}
.lesson-lane{display:flex;align-items:center;gap:.55rem;margin:.55rem 0;padding:.65rem;border-radius:12px;background:#eef6f1}
.lesson-lane strong{min-width:5.3em;color:#173f31}
.lesson-dot{display:inline-grid;place-items:center;flex:0 0 auto;width:2rem;height:2rem;border:2px solid #173f31;border-radius:50%;background:#fff;color:#173f31;font-size:.72rem;font-weight:900}
.lesson-dot--lead{background:#f3c969}
.lesson-dot--pace{background:#a9d8c5}
.lesson-dot--mid{background:#b9d7ea}
.lesson-dot--late{background:#ddc7e8}
.lesson-arrow{color:#276f58;font-weight:950}
.lesson-warning{margin:.85rem 0 0;padding:.8rem .9rem;border-left:5px solid #d79b37;border-radius:0 12px 12px 0;background:#fff5dc;font-size:.88rem;line-height:1.75}
.lesson-faq{background:#fff}
.lesson-faq details{border-top:1px solid #dce6df}
.lesson-faq details:last-child{border-bottom:1px solid #dce6df}
.lesson-faq summary{position:relative;padding:.9rem 2.2rem .9rem 0;cursor:pointer;color:#173f31;font-weight:850;line-height:1.6;list-style:none}
.lesson-faq summary::-webkit-details-marker{display:none}
.lesson-faq summary::after{content:"＋";position:absolute;top:.85rem;right:.25rem;color:#276f58;font-size:1.2rem;font-weight:900}
.lesson-faq details[open] summary::after{content:"−"}
.lesson-faq details>p{margin:0 0 1rem;padding:.05rem .2rem .15rem 1rem;border-left:3px solid #d7aa5d;color:#43564d;line-height:1.8}
.lesson-source-date{display:block;margin-top:.35rem;color:#66766e;font-size:.74rem}
.lesson-update-note{max-width:780px;margin:1rem auto;color:#64746c;font-size:.76rem;text-align:right}
.learn-v122-visual-note{
  max-width:650px;
  margin:1rem 0 0;
  padding:.78rem .9rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:14px;
  background:rgba(255,255,255,.18);
  font-size:.86rem;
  line-height:1.7;
}
.learn-v160-index-visual>a{display:grid!important;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:.85rem}
.learn-v160-index-visual>a>img{display:block;width:92px;height:62px;object-fit:cover;border-radius:11px;border:1px solid rgba(38,112,90,.18)}
.learn-v160-index-visual>a>span{min-width:0}

@media(max-width:760px){
  .lesson-quickstart,.lesson-panel,.lesson-glossary,.lesson-case,.lesson-faq{margin:1.15rem auto;padding:1rem;border-radius:17px}
  .lesson-goals,.lesson-grid,.lesson-grid--3,.lesson-terms{grid-template-columns:1fr}
  .lesson-goals{gap:.55rem}
  .lesson-goals li{padding-left:2.45rem}
  .lesson-figure{border-radius:17px}
  .lesson-table{font-size:.82rem}
  .lesson-table th,.lesson-table td{padding:.62rem .68rem}
  .lesson-lane{align-items:flex-start;flex-wrap:wrap}
  .lesson-lane strong{min-width:0;flex:1 1 8rem}
  .lesson-arrow{max-width:100%;overflow-wrap:anywhere}
  .learn-v160-index-visual>a{grid-template-columns:74px minmax(0,1fr) auto;gap:.65rem}
  .learn-v160-index-visual>a>img{width:74px;height:52px;border-radius:9px}
}

@media(prefers-reduced-motion:reduce){
  .lesson-faq summary{scroll-behavior:auto}
}

/* v1.6.1: 教科書記事を読書カード化し、本文の視認性を改善 */
.learn-article-wrap{
  max-width:1000px;
  padding:2.4rem clamp(1rem,3vw,2rem) 4rem;
}
.learn-article{
  padding:clamp(1.1rem,3vw,2.2rem) clamp(1rem,4vw,2.6rem) 3rem;
  border:1px solid rgba(21,75,57,.16);
  border-top:4px solid #d8aa5c;
  border-radius:30px;
  background:#fffdf9;
  box-shadow:0 18px 55px rgba(28,62,48,.11);
  color:#2b4138;
  font-family:"BIZ UDPGothic","Yu Gothic Medium",Meiryo,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-weight:500;
  letter-spacing:.018em;
}
.learn-article>.article-header{
  margin-bottom:2rem;
  box-shadow:0 8px 24px rgba(30,66,51,.07);
}
.learn-article .article-header h1{
  font-weight:800;
  letter-spacing:.02em;
}
.learn-article .meta{
  color:#53665d;
  font-size:.9rem;
  font-weight:600;
  line-height:1.7;
}
.learn-article>p,
.learn-article>ul,
.learn-article>ol,
.learn-article>aside,
.learn-article>h2{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}
.learn-article>p,
.learn-article>ul,
.learn-article>ol{
  color:#2b4138;
  font-size:clamp(1.06rem,1.01rem + .2vw,1.13rem);
  font-weight:500;
  line-height:2;
}
.learn-article>p{
  margin-top:1.05rem;
  margin-bottom:1.05rem;
}
.learn-article>ul,
.learn-article>ol{
  margin-top:1rem;
  margin-bottom:1.3rem;
  padding-left:1.5rem;
}
.learn-article>ul li,
.learn-article>ol li{
  margin:.45rem 0;
}
.learn-article>h2{
  margin-top:3.25rem;
  padding:.95rem 1.05rem .95rem 1.25rem;
  border:1px solid #d5e4db;
  border-left:6px solid #26705a;
  border-radius:16px;
  background:linear-gradient(90deg,#edf7f2,#fff8e9);
  box-shadow:0 6px 18px rgba(30,66,51,.07);
  color:#173f31;
  font-size:clamp(1.35rem,1.2rem + .45vw,1.58rem);
  font-weight:800;
  line-height:1.5;
}
.learn-article h3{
  font-weight:800;
}
.learn-article p>a,
.learn-article li>a{
  font-weight:800;
}
.learn-article .lesson-quickstart,
.learn-article .lesson-panel,
.learn-article .lesson-glossary,
.learn-article .lesson-case,
.learn-article .lesson-faq{
  color:#2b4138;
}
.learn-article .lesson-quickstart>p,
.learn-article .lesson-panel>p,
.learn-article .lesson-case>p,
.learn-article .lesson-faq details>p,
.learn-article .lesson-goals li,
.learn-article .lesson-steps li,
.learn-article .mt-callout{
  font-size:1.02rem;
  font-weight:500;
  line-height:1.85;
}
.learn-article .lesson-quickstart h2,
.learn-article .lesson-panel h2,
.learn-article .lesson-glossary h2,
.learn-article .lesson-case h2,
.learn-article .lesson-faq h2{
  font-size:1.34rem;
  font-weight:800;
}
.learn-article .lesson-card p,
.learn-article .lesson-terms dd{
  color:#40564c;
  font-size:.98rem;
  font-weight:500;
  line-height:1.82;
}
.learn-article .lesson-table{
  color:#2b4138;
  font-size:.96rem;
  font-weight:500;
  line-height:1.7;
}
.learn-article .lesson-table caption,
.learn-article .lesson-table-note,
.learn-article .lesson-figure figcaption,
.learn-article .lesson-visual figcaption{
  color:#52655c;
  font-size:.9rem;
  font-weight:500;
  line-height:1.75;
}
.learn-article .lesson-warning{
  font-size:.98rem;
  font-weight:600;
}
.learn-article .lesson-faq summary{
  font-size:1.02rem;
}
.learn-article .article-sources h2{
  font-size:1.08rem!important;
  font-weight:800!important;
}
.learn-article .article-sources li{
  color:#52655c;
  font-size:.9rem;
  font-weight:500;
  line-height:1.75;
}

@media(max-width:760px){
  .learn-article-wrap{
    padding:1rem .65rem 2.5rem;
  }
  .learn-article{
    padding:.75rem .85rem 1.9rem;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(28,62,48,.10);
    letter-spacing:.012em;
  }
  .learn-article>p,
  .learn-article>ul,
  .learn-article>ol{
    font-size:1.06rem;
    line-height:1.95;
  }
  .learn-article>h2{
    margin-top:2.6rem;
    padding:.82rem .85rem .82rem 1rem;
    border-left-width:5px;
    border-radius:13px;
    font-size:1.24rem;
  }
  .learn-article .lesson-visual{
    width:100%;
    max-width:560px;
  }
  .learn-article .lesson-visual img{
    aspect-ratio:3/2;
  }
  .learn-article .lesson-table{
    font-size:.9rem;
  }
}

@media print{
  .learn-article{
    padding:0;
    border:0;
    background:#fff;
    box-shadow:none;
  }
}

/* v1.7.0: 教科書第三弾――研究根拠、模式図、動画風アニメーション */
.lesson-evidence{
  max-width:780px;
  margin:1.5rem auto;
  padding:1.15rem 1.25rem;
  border:1px solid #cbded4;
  border-top:5px solid #2d765f;
  border-radius:18px;
  background:#f4faf7;
  box-shadow:0 8px 24px rgba(28,75,57,.07);
}
.lesson-evidence h2,.lesson-evidence h3{margin-top:0;color:#173f31}
.lesson-evidence p,.lesson-evidence li{font-size:1rem;font-weight:500;line-height:1.85}
.lesson-evidence-label{
  display:inline-flex;
  margin:0 0 .55rem;
  padding:.2rem .65rem;
  border-radius:999px;
  background:#dcefe6;
  color:#17503d;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.05em;
}
.lesson-evidence-limit{
  padding:.75rem .85rem;
  border-left:4px solid #d49b3c;
  border-radius:0 10px 10px 0;
  background:#fff8e8;
}
.lesson-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.55rem;
  margin:1rem 0;
  padding:1rem;
  border:1px solid #d5e1d9;
  border-radius:17px;
  background:#f8fbf9;
}
.lesson-flow--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lesson-flow--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lesson-stage{
  position:relative;
  min-height:7.2rem;
  padding:.9rem .75rem;
  border:1px solid #cfe0d6;
  border-radius:14px;
  background:#fff;
  color:#385046;
  font-size:.9rem;
  font-weight:600;
  line-height:1.65;
}
.lesson-stage:not(:last-child)::after{
  content:"→";
  position:absolute;
  z-index:2;
  top:50%;
  right:-.52rem;
  width:1.05rem;
  color:#27705a;
  background:#f8fbf9;
  font-weight:950;
  text-align:center;
  transform:translateY(-50%);
}
.lesson-stage b{display:block;margin-bottom:.28rem;color:#173f31;font-size:.96rem}
.lesson-stage small{display:block;margin-top:.3rem;color:#62736b;font-size:.78rem;line-height:1.6}
.lesson-stage--stop{border-color:#deb9ad;background:#fff4f0}
.lesson-stage--check{border-color:#c3dbc8;background:#f2faf4}
.lesson-stage--hold{border-color:#e1ce9e;background:#fff9e9}
.lesson-split-figure{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  margin:1rem 0;
}
.lesson-split-figure>div{
  padding:1rem;
  border:1px solid #d3e0d8;
  border-radius:16px;
  background:#fff;
}
.lesson-split-figure h3{margin:.1rem 0 .45rem;font-size:1.02rem}
.lesson-split-figure p{margin:.35rem 0;color:#455c51;font-size:.92rem;line-height:1.75}
.lesson-research-note{
  max-width:780px;
  margin:1rem auto;
  padding:.8rem .95rem;
  border:1px dashed #8fab9d;
  border-radius:13px;
  background:#fbfdfc;
  color:#4a6056;
  font-size:.9rem;
  font-weight:550;
  line-height:1.75;
}
.learn-article .lesson-evidence,
.learn-article .lesson-flow,
.learn-article .lesson-split-figure,
.learn-article .lesson-research-note,
.learn-article .lesson-motion,
.learn-article .lesson-anatomy-map,
.learn-article .lesson-filmstrip,
.learn-article .lesson-table-scroll,
.learn-article .lesson-calendar,
.learn-article .lesson-signal-list{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}
.lesson-motion{
  position:relative;
  min-height:180px;
  margin:1rem 0;
  overflow:hidden;
  border:1px solid #cfddd5;
  border-radius:18px;
  background:linear-gradient(#e8f3ee 0 62%,#c9b68a 62% 67%,#9bbd7b 67%);
}
.lesson-motion-track{
  position:absolute;
  right:4%;
  bottom:21%;
  left:4%;
  height:5px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 12px 0 rgba(255,255,255,.75);
}
.lesson-motion-horse{
  position:absolute;
  left:5%;
  bottom:30%;
  width:54px;
  height:38px;
  border-radius:48% 52% 42% 45%;
  background:#a95f2d;
  box-shadow:inset -7px -5px 0 rgba(92,46,21,.18);
  animation:lesson-horse-run 7s ease-in-out infinite;
}
.lesson-motion-horse::before{
  content:"";
  position:absolute;
  top:-17px;
  right:-13px;
  width:22px;
  height:25px;
  border-radius:55% 48% 52% 42%;
  background:#a95f2d;
  transform:rotate(-18deg);
}
.lesson-motion-horse::after{
  content:"";
  position:absolute;
  right:3px;
  bottom:-15px;
  width:7px;
  height:22px;
  border-radius:5px;
  background:#6d3c22;
  box-shadow:-29px -1px 0 #6d3c22;
  transform:rotate(-13deg);
}
.lesson-motion-label{
  position:absolute;
  top:.7rem;
  left:.75rem;
  padding:.22rem .6rem;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#214b3c;
  font-size:.78rem;
  font-weight:850;
}
@keyframes lesson-horse-run{
  0%,12%{left:5%;transform:translateY(0) scale(.92)}
  42%{left:37%;transform:translateY(-3px) scale(1)}
  75%,100%{left:83%;transform:translateY(0) scale(1.03)}
}
.lesson-anatomy-map{
  display:grid;
  grid-template-columns:minmax(280px,1.1fr) minmax(240px,.9fr);
  gap:1rem;
  align-items:center;
  margin:1rem 0;
}
.lesson-anatomy-map svg{display:block;width:100%;height:auto;border:1px solid #d4e1d9;border-radius:16px;background:#fffdf8}
.lesson-anatomy-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:0;padding:0;list-style:none}
.lesson-anatomy-key li{padding:.5rem .6rem;border-left:4px solid #2d765f;border-radius:0 10px 10px 0;background:#f5faf7;font-size:.84rem;font-weight:700;line-height:1.5}
.lesson-filmstrip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.45rem;
  margin:1rem 0;
}
.lesson-frame{
  min-height:125px;
  padding:.7rem;
  border:6px solid #214b3c;
  border-radius:10px;
  background:linear-gradient(165deg,#eaf4ee,#f7e9c8);
  color:#214b3c;
  font-size:.82rem;
  font-weight:800;
  line-height:1.5;
}
.lesson-frame span{display:grid;place-items:center;width:2rem;height:2rem;margin-bottom:.5rem;border-radius:50%;background:#fff;color:#1f614b}
.lesson-calendar{
  display:grid;
  grid-template-columns:repeat(8,minmax(74px,1fr));
  gap:.45rem;
  min-width:680px;
  padding:.75rem;
  border:1px solid #d2e0d7;
  border-radius:16px;
  background:#f8fbf9;
}
.lesson-week{min-height:86px;padding:.6rem;border:1px solid #d7e3dc;border-radius:11px;background:#fff;color:#4a5f55;font-size:.78rem;line-height:1.5}
.lesson-week b{display:block;color:#173f31;font-size:.86rem}
.lesson-week--race{border-color:#d2a24f;background:#fff6dd}
.lesson-week--rest{border-color:#8eb5a2;background:#eff8f3}
.lesson-week--work{border-color:#91acc1;background:#f0f6fa}
.lesson-signal-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.lesson-signal{padding:.85rem;border-radius:14px;font-size:.9rem;font-weight:600;line-height:1.65}
.lesson-signal b{display:block;margin-bottom:.25rem;color:#173f31}
.lesson-signal--red{border:1px solid #dcaea4;background:#fff1ee}
.lesson-signal--amber{border:1px solid #e0c987;background:#fff8e4}
.lesson-signal--green{border:1px solid #add0bb;background:#eff9f3}

@media(max-width:760px){
  .lesson-flow,.lesson-flow--4,.lesson-flow--3,.lesson-filmstrip{grid-template-columns:1fr}
  .lesson-stage{min-height:0}
  .lesson-stage:not(:last-child)::after{content:"↓";top:auto;right:50%;bottom:-.72rem;transform:translateX(50%)}
  .lesson-split-figure,.lesson-anatomy-map,.lesson-signal-list{grid-template-columns:1fr}
  .lesson-evidence{padding:1rem;border-radius:15px}
  .lesson-filmstrip{gap:.65rem}
  .lesson-frame{min-height:92px}
}

@media(prefers-reduced-motion:reduce){
  .lesson-motion-horse{animation:none;left:42%}
}


/* v1.8.1: Keeneland Cup all-registered-horses feature */
.keeneland-feature .keeneland-roster-wrap{max-width:840px;margin-left:auto;margin-right:auto}
.keeneland-roster-table{min-width:760px}
.keeneland-roster-table th:first-child,.keeneland-roster-table td:first-child{width:11.5rem;color:#214f3d;font-weight:850}
.keeneland-roster-table th:nth-child(2),.keeneland-roster-table td:nth-child(2){width:12.5rem}
.keeneland-data-state{display:inline-flex;align-items:center;gap:.38rem;padding:.25rem .58rem;border-radius:999px;font-size:.72rem;font-weight:850;line-height:1.3;white-space:nowrap}
.keeneland-data-state::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.72}
.keeneland-data-state.has-data{color:#235f49;background:#e5f3ec}
.keeneland-data-state.no-data{color:#786c62;background:#f0ece7}
.keeneland-featured-card{border-color:rgba(184,126,39,.42);background:linear-gradient(145deg,#fffdf6,#fff);box-shadow:0 14px 36px rgba(131,86,24,.12)}
.keeneland-featured-card h3::before{background:#f8e8af;color:#77500e}
.keeneland-evaluated-grid,.keeneland-no-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:840px;margin:1.15rem auto 1.8rem}
.keeneland-horse-card{max-width:none;margin:0;padding:1.1rem 1.15rem;border-radius:18px;box-shadow:0 7px 22px rgba(30,66,51,.055)}
.keeneland-horse-card h3{font-size:1.08rem}
.keeneland-horse-card p{font-size:.92rem;line-height:1.82}
.keeneland-horse-card .mt-status{font-size:.7rem}
.keeneland-horse-card.is-no-data{border-style:dashed;background:#fbfaf8;box-shadow:none}
.keeneland-horse-card.is-no-data h3::before{background:#eee9e3;color:#786c62}
.keeneland-no-data-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}
@media(max-width:760px){
  .keeneland-evaluated-grid,.keeneland-no-data-grid{grid-template-columns:1fr;gap:.8rem}
  .keeneland-horse-card{padding:1rem}
  .keeneland-roster-table{min-width:700px}
}

/* v1.8.2: site-wide readability and visual hierarchy */
body.site-readable-v182{
  --read-surface:#fffefb;
  --read-surface-soft:#f4faf6;
  --read-surface-warm:#fff8e7;
  --read-ink:#203c31;
  --read-copy:#334d42;
  --read-muted:#52665d;
  --read-line:rgba(21,75,57,.19);
  --read-green:#1f6a50;
  --read-gold:#d6a43d;
  --read-red:#a5523d;
  --read-shadow:0 18px 48px rgba(24,60,46,.10);
  color:var(--read-ink);
  font-weight:500;
  -webkit-font-smoothing:auto;
  text-rendering:optimizeLegibility;
  font-synthesis:weight;
}
body.site-readable-v182 main{
  background:
    radial-gradient(circle at 8% 16%,rgba(145,198,218,.08),transparent 25rem),
    linear-gradient(180deg,#fbf6eb 0%,#f7f0e4 100%);
}
body.site-readable-v182 p,
body.site-readable-v182 li,
body.site-readable-v182 dd,
body.site-readable-v182 td{
  text-wrap:pretty;
}
body.site-readable-v182 .article-wrap{
  width:min(calc(100% - 36px),1040px);
  max-width:none;
  padding:2rem 0 4.8rem;
}
body.site-readable-v182 .breadcrumbs{
  width:fit-content;
  max-width:100%;
  margin:0 0 .9rem;
  padding:.38rem .72rem;
  border:1px solid rgba(21,75,57,.13);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#53685e;
  font-size:.79rem;
  font-weight:650;
}
body.site-readable-v182 .breadcrumbs a{
  color:#1d634b;
  font-weight:750;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body.site-readable-v182 .mt-article{
  width:100%;
  padding:clamp(1.35rem,3.5vw,3rem);
  border:1px solid var(--read-line);
  border-radius:30px;
  background:rgba(255,254,251,.96);
  box-shadow:var(--read-shadow);
}
body.site-readable-v182 .article-header{
  margin-bottom:2rem;
  border:1px solid rgba(31,106,80,.22);
  background:
    radial-gradient(circle at 92% 10%,rgba(214,164,61,.16),transparent 12rem),
    linear-gradient(135deg,#ffffff 0%,#edf7f2 100%);
  box-shadow:0 12px 34px rgba(24,60,46,.09);
}
body.site-readable-v182 .article-header h1{
  color:#173f31;
  font-weight:850;
  letter-spacing:.035em;
}
body.site-readable-v182 .article-header .mt-deck{
  color:#3f5a4e;
  font-weight:650;
  line-height:1.85;
}
body.site-readable-v182 .article-header .meta{
  color:#5c7066;
  font-weight:650;
}
body.site-readable-v182 .mt-article>p,
body.site-readable-v182 .mt-article>ul,
body.site-readable-v182 .mt-article>ol,
body.site-readable-v182 .mt-article>aside,
body.site-readable-v182 .mt-article>h2,
body.site-readable-v182 .mt-article>blockquote{
  max-width:800px;
}
body.site-readable-v182 .mt-article p,
body.site-readable-v182 .mt-article li{
  color:var(--read-copy);
  font-size:1.01rem;
  font-weight:520;
  line-height:2;
}
body.site-readable-v182 .mt-article>p{
  margin-top:1rem;
  margin-bottom:1rem;
}
body.site-readable-v182 .mt-article>h2{
  position:relative;
  margin-top:3.25rem;
  margin-bottom:1.25rem;
  padding:.86rem 1.1rem .86rem 1.28rem;
  border:1px solid rgba(31,106,80,.17);
  border-left:8px solid var(--read-green);
  border-radius:16px;
  background:linear-gradient(90deg,#e2f3eb 0%,#fff8e7 100%);
  box-shadow:0 7px 20px rgba(24,60,46,.065);
  color:#173f31;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.35rem,2.5vw,1.62rem);
  font-weight:850;
  letter-spacing:.025em;
  line-height:1.5;
}
body.site-readable-v182 .mt-article>h2::after{
  content:"";
  position:absolute;
  right:1rem;
  bottom:.48rem;
  width:42px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--read-gold),#e98a68);
  opacity:.78;
}
body.site-readable-v182 .mt-article h3{
  color:#184635;
  font-weight:850;
  letter-spacing:.02em;
}
body.site-readable-v182 .mt-article strong{
  color:#123d2d;
  font-weight:850;
}
body.site-readable-v182 .mt-article mark,
body.site-readable-v182 .mt-article .mt-marker{
  color:#163b2d;
  background:linear-gradient(transparent 48%,rgba(255,220,91,.72) 48%);
  padding:0 .1em .06em;
  font-weight:850;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
body.site-readable-v182 .mt-article .mt-underline{
  color:#164a38;
  font-weight:800;
  text-decoration-color:#d18a3b;
  text-decoration-thickness:.18em;
  text-underline-offset:.18em;
}
body.site-readable-v182 .mt-article a:not(.mt-share-action):not(.umayomi-cta){
  color:#155f47;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:rgba(21,95,71,.48);
  text-decoration-thickness:1.5px;
  text-underline-offset:4px;
}
body.site-readable-v182 .mt-article a:not(.mt-share-action):not(.umayomi-cta):hover,
body.site-readable-v182 .mt-article a:not(.mt-share-action):not(.umayomi-cta):focus-visible{
  color:#8f551d;
  text-decoration-color:currentColor;
}
body.site-readable-v182 .mt-article>ul,
body.site-readable-v182 .mt-article>ol{
  margin-top:1.15rem;
  margin-bottom:1.65rem;
  padding:1rem 1.2rem 1rem 2.75rem;
  border:1px solid rgba(31,106,80,.16);
  border-radius:17px;
  background:#f3f9f6;
  box-shadow:0 6px 18px rgba(24,60,46,.045);
}
body.site-readable-v182 .mt-article>ul li,
body.site-readable-v182 .mt-article>ol li{
  margin:.42rem 0;
}
body.site-readable-v182 .mt-article li::marker{
  color:#27705a;
  font-weight:900;
}
body.site-readable-v182 .mt-callout,
body.site-readable-v182 .coverage-note,
body.site-readable-v182 .notice,
body.site-readable-v182 .review-miss,
body.site-readable-v182 .training-v136-definition{
  border-width:1px;
  border-style:solid;
  border-left-width:7px;
  border-radius:17px;
  box-shadow:0 9px 24px rgba(24,60,46,.065);
}
body.site-readable-v182 .mt-callout{
  padding:1.08rem 1.2rem 1.12rem;
  border-color:rgba(183,121,63,.28);
  border-left-color:#b7793f;
  background:linear-gradient(135deg,#fff9e8,#fffef9);
}
body.site-readable-v182 .mt-callout-caution{
  border-color:rgba(165,82,61,.25);
  border-left-color:var(--read-red);
  background:linear-gradient(135deg,#fff1ec,#fffaf7);
}
body.site-readable-v182 .mt-callout-info{
  border-color:rgba(31,106,80,.24);
  border-left-color:var(--read-green);
  background:linear-gradient(135deg,#edf8f2,#fff);
}
body.site-readable-v182 .mt-callout-label{
  display:flex;
  align-items:center;
  gap:.48rem;
  color:#173f31;
  font-size:.86rem;
  font-weight:900;
}
body.site-readable-v182 .mt-callout-label::before{
  content:"●";
  color:#b7793f;
  font-size:.7rem;
}
body.site-readable-v182 .mt-callout-info .mt-callout-label::before{color:var(--read-green)}
body.site-readable-v182 .mt-callout-caution .mt-callout-label::before{color:var(--read-red)}
body.site-readable-v182 .coverage-note{
  padding:1.05rem 1.15rem;
  border-color:rgba(31,106,80,.20);
  border-left-color:var(--read-green);
  background:linear-gradient(135deg,#edf8f2,#fffefb);
  color:#29483c;
  font-size:.92rem;
  font-weight:550;
  line-height:1.85;
}
body.site-readable-v182 .horse-profile{
  border:1px solid rgba(31,106,80,.19);
  background:linear-gradient(145deg,#ffffff 0%,#fffdf8 100%);
  box-shadow:0 12px 30px rgba(24,60,46,.075);
}
body.site-readable-v182 .horse-profile p{
  color:#354f43;
  font-weight:520;
  line-height:1.92;
}
body.site-readable-v182 .horse-profile .mt-status{
  padding:.28rem .68rem;
  border:1px solid rgba(157,107,28,.15);
  background:#fff1bd;
  color:#67440d;
  font-weight:850;
}
body.site-readable-v182 .horse-profile.is-no-data{
  border-color:rgba(95,105,100,.24);
  background:#f7f7f5;
}
body.site-readable-v182 .review-table-wrap{
  border:1px solid rgba(21,75,57,.24);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(24,60,46,.08);
}
body.site-readable-v182 .review-table{
  font-size:.92rem;
}
body.site-readable-v182 .review-table th,
body.site-readable-v182 .review-table td{
  padding:.86rem .92rem;
  border-bottom-color:rgba(21,75,57,.14);
  line-height:1.72;
}
body.site-readable-v182 .review-table th{
  color:#fff;
  background:#1b5c45;
  font-size:.8rem;
  font-weight:850;
  letter-spacing:.025em;
}
body.site-readable-v182 .review-table td{
  color:#334d42;
  font-weight:550;
}
body.site-readable-v182 .review-table tbody tr:nth-child(even){background:#f1f8f4}
body.site-readable-v182 .review-table tbody tr:hover{background:#fff7df}
body.site-readable-v182 .lesson-visual,
body.site-readable-v182 .review-hero,
body.site-readable-v182 .training-v136-hero{
  border:2px solid rgba(21,75,57,.16);
  background:#fff;
  box-shadow:0 16px 38px rgba(24,60,46,.10);
}
body.site-readable-v182 .lesson-visual figcaption,
body.site-readable-v182 .review-hero figcaption,
body.site-readable-v182 .training-v136-hero figcaption{
  color:#40594e;
  background:#fffefb;
  font-size:.82rem;
  font-weight:600;
  line-height:1.75;
}
body.site-readable-v182 .lesson-evidence,
body.site-readable-v182 .lesson-flow,
body.site-readable-v182 .lesson-split-figure>div,
body.site-readable-v182 .lesson-research-note{
  box-shadow:0 8px 22px rgba(24,60,46,.055);
}
body.site-readable-v182 .about-block{
  width:min(calc(100% - 36px),920px);
  max-width:none;
  margin:2rem auto 4.5rem;
  padding:clamp(1.35rem,4vw,3rem);
  border:1px solid var(--read-line);
  border-radius:28px;
  background:rgba(255,254,251,.96);
  box-shadow:var(--read-shadow);
}
body.site-readable-v182 .about-block h1{
  color:#173f31;
  font-weight:850;
}
body.site-readable-v182 .about-block h2{
  margin-top:2.4rem;
  padding:.68rem .9rem;
  border-left:6px solid var(--read-green);
  border-radius:12px;
  background:linear-gradient(90deg,#e6f4ed,#fff9e9);
  color:#173f31;
  font-weight:850;
}
body.site-readable-v182 .about-block p,
body.site-readable-v182 .about-block li,
body.site-readable-v182 .about-block dd{
  color:#334d42;
  font-size:1rem;
  font-weight:520;
  line-height:1.95;
}
body.site-readable-v182 .policy-grid a,
body.site-readable-v182 .contact-box{
  border-color:rgba(21,75,57,.18);
  background:#fff;
  box-shadow:0 7px 20px rgba(24,60,46,.055);
}
body.site-readable-v182 .review-archive-header,
body.site-readable-v182 .learn-shelf,
body.site-readable-v182 .learn-v122-shelf,
body.site-readable-v182 .learn-v122-starter{
  border-color:rgba(21,75,57,.18);
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 36px rgba(24,60,46,.08);
}
body.site-readable-v182 .card p,
body.site-readable-v182 .review-card p,
body.site-readable-v182 .learn-link small,
body.site-readable-v182 .learn-v122-feature p,
body.site-readable-v182 .learn-v122-index small{
  color:#4d6258;
  font-weight:520;
}
body.site-readable-v182 .reader-notice{
  max-width:800px;
  margin:1.2rem auto 1.6rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(165,82,61,.22);
  border-left:7px solid var(--read-red);
  border-radius:16px;
  background:#fff4ef;
  color:#654036;
  font-size:.9rem;
  font-weight:600;
  line-height:1.8;
}

/* Keeneland visual summary: condition flow and ranked comparison */
body.site-readable-v182 .keeneland-condition-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
  margin:1.25rem 0 .75rem;
  padding:1rem;
  border:1px solid rgba(31,106,80,.18);
  border-radius:18px;
  background:#f3f9f6;
}
body.site-readable-v182 .keeneland-condition-flow>div{
  position:relative;
  min-height:112px;
  padding:.78rem .72rem;
  border:1px solid rgba(31,106,80,.17);
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 14px rgba(24,60,46,.045);
}
body.site-readable-v182 .keeneland-condition-flow>div:not(:last-child)::after{
  content:"→";
  position:absolute;
  z-index:2;
  top:50%;
  right:-.55rem;
  width:1.1rem;
  color:#1f6a50;
  background:#f3f9f6;
  font-weight:950;
  text-align:center;
  transform:translateY(-50%);
}
body.site-readable-v182 .keeneland-condition-flow span{
  display:inline-block;
  margin-bottom:.35rem;
  color:#9a641f;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.05em;
}
body.site-readable-v182 .keeneland-condition-flow strong{
  display:block;
  color:#184635;
  font-size:.9rem;
  line-height:1.45;
}
body.site-readable-v182 .keeneland-condition-flow small{
  display:block;
  margin-top:.28rem;
  color:#586d63;
  font-size:.74rem;
  font-weight:600;
  line-height:1.55;
}
body.site-readable-v182 .keeneland-ranking-panel{
  max-width:800px;
  margin:1.15rem auto 1.7rem;
  padding:1.2rem;
  border:1px solid rgba(31,106,80,.20);
  border-radius:20px;
  background:linear-gradient(145deg,#ffffff,#f0f8f4);
  box-shadow:0 12px 30px rgba(24,60,46,.08);
}
body.site-readable-v182 .keeneland-ranking-kicker{
  margin:0 0 .72rem!important;
  color:#9a641f!important;
  font-size:.75rem!important;
  font-weight:900!important;
  letter-spacing:.09em;
}
body.site-readable-v182 .keeneland-ranking-first{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:.85rem;
  align-items:center;
  padding:.88rem;
  border:2px solid rgba(214,164,61,.55);
  border-radius:16px;
  background:linear-gradient(135deg,#fff7d6,#fff);
}
body.site-readable-v182 .keeneland-ranking-first>span,
body.site-readable-v182 .keeneland-ranking-list span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#1f6a50;
  color:#fff;
  font-family:serif;
  font-size:1.25rem;
  font-weight:900;
}
body.site-readable-v182 .keeneland-ranking-first strong{
  display:block;
  color:#173f31;
  font-size:1.25rem;
}
body.site-readable-v182 .keeneland-ranking-first small{
  display:block;
  margin-top:.15rem;
  color:#53685e;
  font-size:.82rem;
  font-weight:650;
}
body.site-readable-v182 .keeneland-ranking-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin:.75rem 0 0;
  padding:0;
  list-style:none;
}
body.site-readable-v182 .keeneland-ranking-list li{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:.65rem;
  align-items:center;
  margin:0;
  padding:.68rem;
  border:1px solid rgba(31,106,80,.15);
  border-radius:14px;
  background:#fff;
}
body.site-readable-v182 .keeneland-ranking-list span{
  width:34px;
  height:34px;
  background:#e4f1eb;
  color:#1d5e47;
  font-size:.9rem;
}
body.site-readable-v182 .keeneland-ranking-list strong{
  display:block;
  font-size:.94rem;
}
body.site-readable-v182 .keeneland-ranking-list small{
  display:block;
  color:#5b6d65;
  font-size:.73rem;
  font-weight:600;
  line-height:1.45;
}
body.site-readable-v182 .keeneland-ranking-note{
  margin:.85rem .15rem 0!important;
  color:#40594e!important;
  font-size:.9rem!important;
  font-weight:550!important;
  line-height:1.8!important;
}

@media(max-width:760px){
  body.site-readable-v182 .article-wrap{
    width:min(calc(100% - 16px),1040px);
    padding:1rem 0 3rem;
  }
  body.site-readable-v182 .mt-article{
    padding:1rem;
    border-radius:20px;
  }
  body.site-readable-v182 .article-header{
    margin-bottom:1.3rem;
    border-radius:20px;
  }
  body.site-readable-v182 .mt-article p,
  body.site-readable-v182 .mt-article li{
    font-size:.98rem;
    line-height:1.94;
  }
  body.site-readable-v182 .mt-article>h2{
    margin-top:2.45rem;
    padding:.75rem 2.7rem .75rem .88rem;
    border-left-width:6px;
    border-radius:14px;
    font-size:1.3rem;
  }
  body.site-readable-v182 .mt-article>ul,
  body.site-readable-v182 .mt-article>ol{
    padding:.85rem .85rem .85rem 2.2rem;
  }
  body.site-readable-v182 .mt-callout,
  body.site-readable-v182 .coverage-note{
    padding:.9rem .92rem;
  }
  body.site-readable-v182 .about-block{
    width:min(calc(100% - 16px),920px);
    margin:1rem auto 3rem;
    padding:1rem;
    border-radius:20px;
  }
  body.site-readable-v182 .about-block p,
  body.site-readable-v182 .about-block li,
  body.site-readable-v182 .about-block dd{
    font-size:.97rem;
    line-height:1.9;
  }
  body.site-readable-v182 .review-table th,
  body.site-readable-v182 .review-table td{
    padding:.72rem .75rem;
  }
  body.site-readable-v182 .keeneland-condition-flow{
    grid-template-columns:1fr;
  }
  body.site-readable-v182 .keeneland-condition-flow>div{min-height:0}
  body.site-readable-v182 .keeneland-condition-flow>div:not(:last-child)::after{
    content:"↓";
    top:auto;
    right:50%;
    bottom:-.75rem;
    transform:translateX(50%);
  }
  body.site-readable-v182 .keeneland-ranking-list{
    grid-template-columns:1fr;
  }
  body.site-readable-v182 .keeneland-ranking-first{
    grid-template-columns:48px minmax(0,1fr);
  }
  body.site-readable-v182 .keeneland-ranking-first>span{width:42px;height:42px}
}

@media print{
  body.site-readable-v182 .mt-article,
  body.site-readable-v182 .about-block{
    border:0;
    box-shadow:none;
    background:#fff;
  }
}


/* TEXTBOOK_V3_COMPONENTS */
.mt-article ol,.mt-article dl{max-width:780px;margin:1.4em auto}
.mt-article ol{padding-left:1.6em}
.mt-article ol li{margin-bottom:.6em;line-height:1.9}
.mt-article dt{font-weight:800;margin-top:1.1em;color:#173f34}
.mt-article dd{margin:.4em 0 0 1.2em;line-height:1.9}
.lesson-visual--compact{max-width:560px}
.site-textbook-v3 .lesson-panel h3{margin:.15em 0 .55em;color:#173f34;font-size:1.1rem;font-weight:850}
.site-textbook-v3 .lesson-research-note{max-width:800px;margin:2.2rem auto;padding:1.35rem 1.45rem;border:1px solid #bdd4ca;border-left:7px solid #2e7560;border-radius:18px;background:#f7fcf9;box-shadow:0 10px 25px rgba(24,59,50,.08)}
.site-textbook-v3 .lesson-research-note h2{margin-top:.15rem}
.site-textbook-v3 .lesson-color-teal{color:#176954;font-weight:850}
.site-textbook-v3 .lesson-terms>div{padding:.95rem 1rem;margin:.7rem 0;border:1px solid #d6e2dc;border-radius:14px;background:#fff}
.site-textbook-v3 .lesson-faq details{background:#fff;border:1px solid #d8e4df;border-radius:13px;padding:.8rem 1rem;margin:.65rem 0}
.site-textbook-v3 .lesson-faq summary{font-weight:800;color:#183b32;cursor:pointer}
@media(max-width:640px){.lesson-visual--compact{max-width:100%}.site-textbook-v3 .lesson-research-note{padding:1rem}.mt-article dd{margin-left:.6em}}


/* v1.12.0: 教科書一覧の4要素グリッド修復 + 新規挿絵のプレミアム表示 */
.learn-v122-index{
  gap:12px 18px;
}
.learn-v122-index li{
  margin:0;
}
.learn-v122-index a{
  min-height:96px;
  padding:11px 12px;
  border:1px solid rgba(23,63,49,.14);
  border-radius:17px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,251,248,.95));
  box-shadow:0 8px 22px rgba(24,60,46,.055);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.learn-v122-index a:hover,
.learn-v122-index a:focus-visible{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--shelf) 36%,white);
  box-shadow:0 13px 28px rgba(24,60,46,.10);
}
.learn-v122-index a::before{
  width:34px;
  height:34px;
  border-radius:11px;
  font-size:.68rem;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shelf) 14%,white);
}
.learn-v122-index strong{
  font-size:.88rem;
  line-height:1.5;
  font-weight:850;
}
.learn-v122-index small{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:.72rem;
  line-height:1.55;
}
.learn-v122-index a>b{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:color-mix(in srgb,var(--shelf) 10%,white);
  font-size:.78rem;
  font-weight:900;
}
.learn-v160-index-visual>a{
  grid-template-columns:38px 112px minmax(0,1fr) 26px!important;
  gap:.78rem!important;
}
.learn-v160-index-visual>a>img{
  width:112px!important;
  height:76px!important;
  border:2px solid rgba(255,255,255,.95)!important;
  border-radius:15px!important;
  box-shadow:0 6px 15px rgba(24,60,46,.14);
  transition:transform .28s ease,filter .28s ease;
}
.learn-v160-index-visual>a:hover>img,
.learn-v160-index-visual>a:focus-visible>img{
  transform:scale(1.035);
  filter:saturate(1.05) contrast(1.02);
}
.learn-v160-index-visual>a::before{grid-column:1}
.learn-v160-index-visual>a>img{grid-column:2}
.learn-v160-index-visual>a>span{grid-column:3}
.learn-v160-index-visual>a>b{grid-column:4}

.lesson-visual--premium{
  position:relative;
  isolation:isolate;
  border:1px solid rgba(34,91,69,.18);
  background:#fffaf0;
  box-shadow:0 18px 40px rgba(24,60,46,.12);
}
.lesson-visual--premium::after{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:42%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.18),transparent);
  border-radius:inherit;
}
.lesson-visual--premium img{
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease;
}
.lesson-visual--premium:hover img{
  transform:scale(1.012);
  filter:saturate(1.035) contrast(1.015);
}
.lesson-visual--premium figcaption{
  position:relative;
  z-index:2;
  background:linear-gradient(90deg,#fffdf8,#f7fbf8);
  color:#294d40;
  font-weight:620;
}

@media(max-width:760px){
  .learn-v122-index{grid-template-columns:1fr;gap:10px}
  .learn-v122-index a{min-height:88px;padding:9px 10px;border-radius:15px}
  .learn-v160-index-visual>a{grid-template-columns:34px 92px minmax(0,1fr) 22px!important;gap:.58rem!important}
  .learn-v160-index-visual>a>img{width:92px!important;height:64px!important;border-radius:12px!important}
  .learn-v122-index strong{font-size:.84rem}
  .learn-v122-index small{font-size:.69rem}
  .learn-v122-index a>b{width:22px;height:22px}
}
@media(max-width:420px){
  .learn-v160-index-visual>a{grid-template-columns:32px 78px minmax(0,1fr) 20px!important}
  .learn-v160-index-visual>a>img{width:78px!important;height:56px!important}
  .learn-v122-index small{-webkit-line-clamp:1}
}
@media(prefers-reduced-motion:reduce){
  .learn-v122-index a,.learn-v160-index-visual>a>img,.lesson-visual--premium img{transition:none!important}
  .learn-v122-index a:hover,.learn-v122-index a:focus-visible,.lesson-visual--premium:hover img{transform:none!important}
}


/* v1.13.3: 第三弾インフォグラフィック挿絵 */
.lesson-visual--wide{max-width:920px;margin-left:auto;margin-right:auto}
.lesson-visual--infographic picture{display:block;width:100%}
.lesson-visual--infographic img{display:block;width:100%;height:auto;object-fit:contain;background:#fff;border-radius:24px}
.lesson-visual--v133{overflow:hidden}
.lesson-visual--v133 figcaption{max-width:820px;margin:0 auto;padding:1rem 1.25rem 1.15rem;font-weight:650;line-height:1.85}
@media (hover:hover){.lesson-visual--v133 img{transition:transform .35s ease,filter .35s ease}.lesson-visual--v133:hover img{transform:scale(1.008);filter:saturate(1.03) contrast(1.02)}}
@media (prefers-reduced-motion:reduce){.lesson-visual--v133 img{transition:none!important;transform:none!important}}
@media (max-width:640px){.lesson-visual--wide{max-width:100%;margin:1.35rem auto}.lesson-visual--infographic img{border-radius:18px}.lesson-visual--v133 figcaption{font-size:.98rem;padding:.9rem 1rem 1rem}}

/* v1.14.0: premium first-five learning visuals */
.lesson-visual--v140{max-width:980px;margin:28px auto 24px;background:#fff;border:1px solid #dbe5df;border-radius:26px;overflow:hidden;box-shadow:0 20px 48px rgba(24,59,50,.12)}
.lesson-visual--v140 picture,.lesson-visual--v140 img{display:block;width:100%;height:auto}.lesson-visual--v140 figcaption{background:#fff;padding:14px 18px;font-weight:750;color:#264a41;border-top:1px solid #e2ebe6}
@media(max-width:640px){.lesson-visual--v140{border-radius:20px;margin:20px auto}.lesson-visual--v140 figcaption{font-size:14px;line-height:1.7}}


/* v1.15.0: premium visual + repeat-visit path for 10 horse-reading lessons */
.lesson-visual--v150{max-width:980px;margin:28px auto 18px;background:#fff;border:1px solid #dbe5df;border-radius:26px;overflow:hidden;box-shadow:0 20px 48px rgba(24,59,50,.12)}
.lesson-visual--v150 picture,.lesson-visual--v150 img{display:block;width:100%;height:auto}.lesson-visual--v150 img{object-fit:contain;background:#fff}.lesson-visual--v150 figcaption{background:#fff;padding:14px 18px;font-weight:780;color:#264a41;border-top:1px solid #e2ebe6;letter-spacing:.01em}
.lesson-path-v150{max-width:900px;margin:0 auto 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lesson-path-v150 a{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:13px 15px;border:1px solid #dbe6e0;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbf9);text-decoration:none!important;color:#183b32;box-shadow:0 7px 18px rgba(24,59,50,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lesson-path-v150 a:hover,.lesson-path-v150 a:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,59,50,.12);border-color:#8fc7b4}.lesson-path-v150 span{grid-row:1/3;width:38px;height:38px;border-radius:13px;background:#14755e;color:#fff;display:grid;place-items:center;font-weight:900}.lesson-path-v150 b{font-size:.93rem;line-height:1.25}.lesson-path-v150 small{font-size:.72rem;color:#667a73;line-height:1.35}.site-textbook-v150 :is(h2,h3)[id]{scroll-margin-top:100px}
@media(max-width:640px){.lesson-visual--v150{border-radius:20px;margin:20px auto 14px}.lesson-visual--v150 figcaption{font-size:14px;line-height:1.7;padding:12px 14px}.lesson-path-v150{grid-template-columns:1fr;gap:8px;margin-bottom:24px}.lesson-path-v150 a{grid-template-columns:38px 1fr;padding:10px 12px}.lesson-path-v150 span{width:34px;height:34px}.lesson-path-v150 b{font-size:.9rem}.lesson-path-v150 small{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.lesson-path-v150 a{transition:none}.lesson-path-v150 a:hover,.lesson-path-v150 a:focus-visible{transform:none}}

/* v1.16.0 レースを読む10記事：再訪導線・高密度教材図解 */
.lesson-visual--v160{max-width:980px;margin:28px auto 18px;background:#fff;border:1px solid #dbe5df;border-radius:26px;overflow:hidden;box-shadow:0 20px 48px rgba(24,59,50,.12)}
.lesson-visual--v160 picture,.lesson-visual--v160 img{display:block;width:100%;height:auto}.lesson-visual--v160 img{object-fit:contain;background:#fff}.lesson-visual--v160 figcaption{background:#fff;padding:14px 18px;font-weight:780;color:#264a41;border-top:1px solid #e2ebe6;letter-spacing:.01em}
.lesson-path-v160{max-width:900px;margin:0 auto 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lesson-path-v160 a{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:13px 15px;border:1px solid #dbe6e0;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbf9);text-decoration:none!important;color:#183b32;box-shadow:0 7px 18px rgba(24,59,50,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lesson-path-v160 a:hover,.lesson-path-v160 a:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,59,50,.12);border-color:#8fc7b4}.lesson-path-v160 span{grid-row:1/3;width:38px;height:38px;border-radius:13px;background:#14755e;color:#fff;display:grid;place-items:center;font-weight:900}.lesson-path-v160 b{font-size:.93rem;line-height:1.25}.lesson-path-v160 small{font-size:.72rem;color:#667a73;line-height:1.35}.site-textbook-v160 :is(h2,h3)[id]{scroll-margin-top:100px}
@media(max-width:640px){.lesson-visual--v160{border-radius:20px;margin:20px auto 14px}.lesson-visual--v160 figcaption{font-size:14px;line-height:1.7;padding:12px 14px}.lesson-path-v160{grid-template-columns:1fr;gap:8px;margin-bottom:24px}.lesson-path-v160 a{grid-template-columns:38px 1fr;padding:10px 12px}.lesson-path-v160 span{width:34px;height:34px}.lesson-path-v160 b{font-size:.9rem}.lesson-path-v160 small{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.lesson-path-v160 a{transition:none}.lesson-path-v160 a:hover,.lesson-path-v160 a:focus-visible{transform:none}}

/* v1.17.0 textbook visuals */
.lesson-visual--v170{max-width:980px;margin:28px auto 18px;background:#fff;border:1px solid #dbe5df;border-radius:26px;overflow:hidden;box-shadow:0 20px 48px rgba(24,59,50,.12)}
.lesson-visual--v170 picture,.lesson-visual--v170 img{display:block;width:100%;height:auto}.lesson-visual--v170 img{object-fit:contain;background:#fff}.lesson-visual--v170 figcaption{background:#fff;padding:14px 18px;font-weight:780;color:#264a41;border-top:1px solid #e2ebe6;letter-spacing:.01em}
.lesson-path-v170{max-width:900px;margin:0 auto 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lesson-path-v170 a{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:13px 15px;border:1px solid #dbe6e0;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbf9);text-decoration:none!important;color:#183b32;box-shadow:0 7px 18px rgba(24,59,50,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lesson-path-v170 a:hover,.lesson-path-v170 a:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,59,50,.12);border-color:#8fc7b4}.lesson-path-v170 span{grid-row:1/3;width:38px;height:38px;border-radius:13px;background:#14755e;color:#fff;display:grid;place-items:center;font-weight:900}.lesson-path-v170 b{font-size:.93rem;line-height:1.25}.lesson-path-v170 small{font-size:.72rem;color:#667a73;line-height:1.35}.site-textbook-v170 :is(h2,h3)[id]{scroll-margin-top:100px}
.body-anatomy-map-v170{margin:24px auto 12px;background:#fff;border:1px solid #d7e3dd;border-radius:24px;overflow:hidden;box-shadow:0 14px 34px rgba(24,59,50,.10)}.body-anatomy-map-v170 picture,.body-anatomy-map-v170 img{display:block;width:100%;height:auto}.body-anatomy-map-v170 figcaption{padding:14px 18px;background:#fff;font-weight:760;color:#294a41;border-top:1px solid #e2ebe6}
@media(max-width:640px){.lesson-visual--v170{border-radius:20px;margin:20px auto 14px}.lesson-visual--v170 figcaption{font-size:14px;line-height:1.7;padding:12px 14px}.lesson-path-v170{grid-template-columns:1fr;gap:8px;margin-bottom:24px}.lesson-path-v170 a{grid-template-columns:38px 1fr;padding:10px 12px}.lesson-path-v170 span{width:34px;height:34px}.lesson-path-v170 b{font-size:.9rem}.lesson-path-v170 small{font-size:.7rem}.body-anatomy-map-v170{border-radius:18px}.body-anatomy-map-v170 figcaption{font-size:14px;line-height:1.7;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.lesson-path-v170 a{transition:none}.lesson-path-v170 a:hover,.lesson-path-v170 a:focus-visible{transform:none}}


/* v1.17.2: textbook entrances with visual thumbnails */
.home-v172-textbook{
  position:relative;overflow:hidden;padding:clamp(25px,3.2vw,38px);
  border:1px solid rgba(21,89,73,.21);border-top:7px solid #1f6d52;border-radius:29px;
  background:radial-gradient(circle at 92% 7%,rgba(38,112,90,.17),transparent 18rem),radial-gradient(circle at 5% 96%,rgba(206,159,67,.14),transparent 17rem),linear-gradient(135deg,#fffdf8 0%,#f1f9f6 56%,#eef6fa 100%);
  box-shadow:0 24px 58px rgba(25,67,54,.15),inset 0 0 0 1px rgba(255,255,255,.78)
}
.home-v172-textbook::before{content:"";position:absolute;right:-105px;top:-125px;width:310px;height:310px;border:48px solid rgba(31,109,82,.065);border-radius:50%;pointer-events:none}
.home-v172-textbook>*{position:relative;z-index:1}
.home-v172-textbook-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);gap:30px;align-items:center;margin-bottom:24px}
.home-v172-textbook-copy{min-width:0}
.home-v172-textbook .home-v121-beginners-head{margin-bottom:12px}
.home-v172-textbook .home-v121-beginners-head>span{width:58px;height:58px;border-radius:15px 15px 24px 24px;border-color:#1d7158;background:linear-gradient(145deg,#fff,#edf8f3);box-shadow:0 10px 24px rgba(29,113,88,.14)}
.home-v172-textbook .home-v121-panel-kicker{color:#1d7158;letter-spacing:.2em}
.home-v172-textbook h2{font-size:clamp(2.15rem,4.7vw,3.8rem);line-height:1.04}
.home-v172-textbook .home-v138-textbook-intro{max-width:47rem;margin:0;color:#4d6259;font-size:clamp(.9rem,1.45vw,1.03rem);font-weight:620;line-height:1.9}
.home-v172-textbook-badges{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 18px}
.home-v172-textbook-badges span{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border:1px solid rgba(29,113,88,.16);border-radius:999px;color:#1b5d49;background:rgba(255,255,255,.84);font-size:.66rem;font-weight:900;box-shadow:0 5px 13px rgba(29,113,88,.06)}
.home-v172-textbook-main-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(100%,430px);min-height:64px;padding:10px 15px 10px 18px;border:1px solid rgba(255,255,255,.42);border-radius:18px;color:#fff;background:linear-gradient(135deg,#174d3c,#1e7a60 72%,#2d8e78);text-decoration:none;box-shadow:0 14px 31px rgba(23,77,60,.24),inset 0 0 0 1px rgba(255,255,255,.10);transition:transform .18s ease,box-shadow .18s ease}
.home-v172-textbook-main-cta:hover{transform:translateY(-2px);box-shadow:0 19px 38px rgba(23,77,60,.30),inset 0 0 0 1px rgba(255,255,255,.14)}
.home-v172-textbook-main-cta:focus-visible{outline:4px solid #d8a33e;outline-offset:4px}
.home-v172-textbook-main-cta small{display:block;margin-bottom:2px;color:#bfe6d8;font-size:.61rem;font-weight:900;letter-spacing:.11em}
.home-v172-textbook-main-cta strong{display:block;color:#fff;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.02rem;line-height:1.25}
.home-v172-textbook-main-cta b{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid rgba(255,255,255,.33);border-radius:50%;font-size:1rem}
.home-v172-textbook-collage{position:relative;display:block;min-width:0;padding:10px;border:1px solid rgba(29,113,88,.17);border-radius:25px;background:rgba(255,255,255,.80);box-shadow:0 19px 44px rgba(25,67,54,.16);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.home-v172-textbook-collage:hover{transform:translateY(-3px) rotate(.2deg);box-shadow:0 26px 54px rgba(25,67,54,.21)}
.home-v172-textbook-collage:focus-visible{outline:4px solid #d8a33e;outline-offset:4px}
.home-v172-textbook-collage-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:8px;min-height:238px}
.home-v172-textbook-collage-grid img{width:100%;height:100%;min-height:0;border-radius:15px;object-fit:cover;border:1px solid rgba(29,113,88,.10)}
.home-v172-textbook-collage-grid img:first-child{grid-row:1/3;object-position:center 48%}
.home-v172-textbook-collage-grid img:nth-child(2){object-position:center 50%}.home-v172-textbook-collage-grid img:nth-child(3){object-position:center 46%}
.home-v172-textbook-collage-label{position:absolute;right:22px;bottom:22px;display:block;padding:9px 13px;border:1px solid rgba(255,255,255,.55);border-radius:13px;color:#fff;background:linear-gradient(135deg,rgba(18,64,50,.95),rgba(28,112,87,.93));box-shadow:0 10px 24px rgba(14,54,43,.28);backdrop-filter:blur(4px)}
.home-v172-textbook-collage-label small{display:block;color:#cdeadd;font-size:.57rem;font-weight:900;letter-spacing:.12em}.home-v172-textbook-collage-label strong{display:block;margin-top:1px;color:#fff;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:.9rem;letter-spacing:.04em}
.home-v172-textbook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-v172-textbook-grid a{--book:#1f6d52;display:grid;grid-template-columns:116px 43px minmax(0,1fr) 31px;grid-template-rows:1fr;align-items:center;gap:10px;min-height:120px;padding:9px 12px 9px 9px;border:1px solid color-mix(in srgb,var(--book) 20%,white);border-top:4px solid var(--book);border-radius:19px;background:rgba(255,255,255,.92);box-shadow:0 11px 26px rgba(24,68,54,.09);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.home-v172-textbook-grid a:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--book) 44%,white);box-shadow:0 19px 36px rgba(24,68,54,.15)}
.home-v172-textbook-grid a:focus-visible{outline:4px solid #d8a33e;outline-offset:4px}
.home-v172-textbook-grid .is-race{--book:#1d6f8f}.home-v172-textbook-grid .is-system{--book:#914228}
.home-v172-textbook-grid figure{grid-column:1;align-self:stretch;min-width:0;margin:0;overflow:hidden;border-radius:14px;background:#edf4f0}
.home-v172-textbook-grid figure img{width:100%;height:100%;min-height:92px;object-fit:cover;transition:transform .2s ease,filter .2s ease}
.home-v172-textbook-grid a:hover figure img{transform:scale(1.045);filter:saturate(1.07) contrast(1.03)}
.home-v172-textbook-grid a>.home-v172-textbook-symbol{grid-column:2;grid-row:auto;display:grid;place-items:center;width:43px;height:43px;border-radius:14px;color:var(--book);background:color-mix(in srgb,var(--book) 10%,white);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:950}
.home-v172-textbook-card-copy{grid-column:3;grid-row:auto;display:block;min-width:0;width:auto;height:auto;padding:0;border-radius:0;color:inherit;background:none;font-family:inherit;font-weight:inherit}.home-v172-textbook-card-copy strong{display:block;color:#173e31;font-size:.88rem;line-height:1.35}.home-v172-textbook-card-copy small{display:block;margin-top:4px;color:#607068;font-size:.64rem;line-height:1.48}.home-v172-textbook-card-copy em{display:inline-flex;margin-top:7px;padding:3px 8px;border-radius:999px;color:var(--book);background:color-mix(in srgb,var(--book) 9%,white);font-size:.59rem;font-style:normal;font-weight:950}.home-v172-textbook-grid a>b{grid-column:4;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--book);background:color-mix(in srgb,var(--book) 9%,white);font-size:.75rem}
.home-v172-textbook+.home-v121-content{margin-top:30px}

/* Learn-page shelf jump: visual entry cards */
.learn-v172-jump{gap:14px;margin-top:-36px}
.learn-v172-jump a{position:relative;overflow:hidden;display:grid;grid-template-columns:100px 38px minmax(0,1fr) 27px;gap:10px;align-items:center;min-height:98px;padding:8px 12px 8px 8px;border-radius:19px;background:rgba(255,255,255,.97);box-shadow:0 15px 34px rgba(23,63,49,.13)}
.learn-v172-jump a>img{width:100px;height:80px;border-radius:13px;object-fit:cover;border:1px solid rgba(23,63,49,.10)}
.learn-v172-jump a>b{width:34px;height:34px}.learn-v172-jump a>span{display:block;min-width:0}.learn-v172-jump a>span strong{display:block;color:#163f31;font-size:.84rem;line-height:1.3}.learn-v172-jump a>span small{display:block;margin-top:4px;color:#64746d;font-size:.64rem;line-height:1.45}.learn-v172-jump a>i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#1f6d52;background:#edf6f2;font-size:.68rem;font-style:normal}.learn-v172-jump .is-race>i{color:#1d6f8f;background:#edf6f9}.learn-v172-jump .is-system>i{color:#914228;background:#fbf1ed}
@media(max-width:1050px){.home-v172-textbook-hero{grid-template-columns:1fr .82fr}.home-v172-textbook-grid a{grid-template-columns:92px 39px minmax(0,1fr) 27px}.learn-v172-jump a{grid-template-columns:86px 35px minmax(0,1fr) 25px}.learn-v172-jump a>img{width:86px;height:74px}}
@media(max-width:880px){.home-v172-textbook-hero{grid-template-columns:1fr}.home-v172-textbook-collage{max-width:680px}.home-v172-textbook-grid{grid-template-columns:1fr}.home-v172-textbook-grid a{grid-template-columns:142px 43px minmax(0,1fr) 31px}.learn-v172-jump{grid-template-columns:1fr}}
@media(max-width:640px){.home-v172-textbook{width:min(calc(100% - 22px),1200px);padding:21px 16px;border-radius:23px}.home-v172-textbook h2{font-size:clamp(2rem,11vw,3rem)}.home-v172-textbook .home-v121-beginners-head>span{width:51px;height:51px}.home-v172-textbook-main-cta{width:100%}.home-v172-textbook-collage-grid{min-height:205px}.home-v172-textbook-collage-label{right:18px;bottom:18px}.home-v172-textbook-grid a{grid-template-columns:108px 38px minmax(0,1fr) 27px;min-height:108px;padding:8px}.home-v172-textbook-grid figure img{min-height:86px}.learn-v172-jump{margin-top:-20px}.learn-v172-jump a{grid-template-columns:96px 34px minmax(0,1fr) 25px;min-height:94px}.learn-v172-jump a>img{width:96px;height:76px}}
@media(max-width:430px){.home-v172-textbook-badges{gap:5px}.home-v172-textbook-badges span{font-size:.59rem}.home-v172-textbook-collage-grid{grid-template-columns:1.15fr .85fr;min-height:182px}.home-v172-textbook-grid a{grid-template-columns:96px 34px minmax(0,1fr) 24px;gap:8px}.home-v172-textbook-card-copy strong{font-size:.8rem}.home-v172-textbook-card-copy small{font-size:.59rem}.learn-v172-jump a{grid-template-columns:84px 32px minmax(0,1fr) 23px;gap:8px;padding:7px}.learn-v172-jump a>img{width:84px;height:70px}}
@media(prefers-reduced-motion:reduce){.home-v172-textbook-main-cta,.home-v172-textbook-collage,.home-v172-textbook-grid a,.home-v172-textbook-grid figure img{transition:none}.home-v172-textbook-main-cta:hover,.home-v172-textbook-collage:hover,.home-v172-textbook-grid a:hover{transform:none}}


/* v1.20.0 weekly + Niigata Kinen feature */
.weekly-v120-summary{margin:2rem 0;padding:1.25rem;border:1px solid rgba(39,73,56,.22);border-radius:18px;background:linear-gradient(135deg,#f6fbf7,#fffdf5)}
.weekly-v120-summary h2{margin-top:0}.weekly-v120-summary ol{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.weekly-v120-summary li{display:flex;justify-content:space-between;gap:1rem;padding:.78rem 1rem;border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(18,47,32,.06)}.weekly-v120-summary li span{font-size:.9rem;color:#52645b;text-align:right}.weekly-v120-card{border-left:5px solid #2c6e49}
.niigata-feature{--nk-ink:#17261f;--nk-green:#1e6648;--nk-gold:#b98b2d;--nk-soft:#f4f8f5}.niigata-hero-panel{margin:1.5rem 0 2.2rem;padding:clamp(1.2rem,3vw,2.2rem);border-radius:24px;color:#fff;background:linear-gradient(135deg,#143e2e,#215f45 58%,#8b6725);box-shadow:0 18px 40px rgba(15,48,33,.2)}.niigata-eyebrow,.niigata-card-kicker{margin:0 0 .4rem;font-size:.76rem;letter-spacing:.12em;font-weight:800;color:#c89b41}.niigata-hero-panel h2{margin:.2rem 0 1.2rem;color:#fff}.niigata-top3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.8rem}.niigata-top3 article{padding:1rem;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.1)}.niigata-top3 article.is-main{background:rgba(255,255,255,.18)}.niigata-top3 span{display:block;font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#ffe0a0}.niigata-top3 strong{display:block;margin:.25rem 0;font-size:1.15rem}.niigata-top3 p{margin:0;font-size:.88rem;color:#edf7f0}.niigata-key-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 2rem}.niigata-key-grid article{position:relative;padding:1.25rem;border:1px solid #dbe6df;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(20,55,38,.07)}.niigata-key-grid article>span{font-size:1.8rem;font-weight:900;color:#d8b56c}.niigata-key-grid h3{margin:.25rem 0 .45rem}.niigata-key-grid p{margin:0;color:#53655b}.niigata-roster caption{padding:.7rem;font-weight:800;text-align:left}.niigata-state{display:inline-flex;padding:.3rem .65rem;border-radius:999px;font-size:.82rem;font-weight:800;background:#edf3ef;color:#355245}.niigata-state-center{background:#173f2f;color:#fff}.niigata-state-strong{background:#e9f5ed;color:#1d6845}.niigata-state-watch{background:#fff4dc;color:#735719}.niigata-state-caution{background:#f1f1f1;color:#5c5c5c}.niigata-featured-card{border-top:5px solid var(--nk-green);background:linear-gradient(180deg,#fff,#f7faf8)}.niigata-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1.25rem 0}.niigata-flow div{padding:.85rem;border-radius:14px;background:#edf5f0}.niigata-flow span,.niigata-flow small{display:block;color:#5c6d63}.niigata-flow strong{display:block;margin:.2rem 0;color:#1d5f43}.niigata-diagnosis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.niigata-horse-card{margin:0}.niigata-card-center{grid-column:1/-1;border:2px solid #236947;background:linear-gradient(135deg,#f3fbf6,#fff)}.niigata-card-strong{border-top:4px solid #4c8b69}.niigata-card-watch{border-top:4px solid #c89b41}.niigata-card-caution{border-top:4px solid #999}.niigata-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.niigata-card-head h3{margin:.1rem 0}.niigata-card-head>span{font-size:.83rem;color:#5e6b64;white-space:nowrap}.niigata-horse-card h4{margin:.85rem 0 .15rem;font-size:.86rem;color:#2c664a}.niigata-horse-card h4+ p{margin-top:0}.niigata-ranking-panel{margin:1.5rem 0;padding:1.4rem;border-radius:20px;background:#152b21;color:#fff}.niigata-ranking-panel ol{display:grid;gap:.65rem;padding-left:1.4rem}.niigata-ranking-panel li{padding:.65rem .8rem;border-radius:12px;background:rgba(255,255,255,.08)}.niigata-ranking-panel li span{display:block;font-size:.86rem;color:#cfddd4}.niigata-ranking-panel p{color:#dce8e1}.source-note{padding:1.1rem 1.2rem;border-radius:16px;background:#f2f6f3;border:1px solid #d6e2da}.source-note p:last-child{margin-bottom:0}
@media (max-width:760px){.weekly-v120-summary li{display:block}.weekly-v120-summary li span{display:block;margin-top:.25rem;text-align:left}.niigata-top3,.niigata-key-grid,.niigata-flow,.niigata-diagnosis-grid{grid-template-columns:1fr}.niigata-card-center{grid-column:auto}.niigata-card-head{display:block}.niigata-card-head>span{display:block;margin-top:.35rem;white-space:normal}.niigata-roster{min-width:640px}}

/* v1.20.1: Niigata Kinen top-three readability fix */
body.site-readable-v182 .niigata-hero-panel{
  border:1px solid rgba(244,210,129,.58);
  background:linear-gradient(135deg,#103b2b 0%,#1c5c43 62%,#73541d 100%);
  box-shadow:0 20px 44px rgba(15,48,33,.22);
}
body.site-readable-v182 .niigata-hero-panel .niigata-eyebrow{
  color:#ffe4a0!important;
  font-size:.78rem!important;
  font-weight:950!important;
  letter-spacing:.16em;
  line-height:1.5!important;
}
body.site-readable-v182 .niigata-hero-panel h2{
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.18);
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3{
  gap:1rem;
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 article{
  position:relative;
  overflow:hidden;
  display:flex;
  min-height:168px;
  flex-direction:column;
  padding:1.12rem 1.08rem 1.16rem;
  border:2px solid rgba(28,92,67,.18);
  border-radius:18px;
  background:#fff;
  box-shadow:0 11px 26px rgba(5,33,22,.18);
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 article::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:6px;
  background:#3d8463;
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 article.is-main{
  border-color:#efc75f;
  background:linear-gradient(180deg,#fff8dc 0%,#fff 72%);
  box-shadow:0 13px 30px rgba(97,67,8,.22);
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 article.is-main::after{
  background:linear-gradient(90deg,#d59d27,#f0cf73);
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 article:nth-child(3)::after{
  background:#a17728;
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 span{
  display:inline-flex;
  align-self:flex-start;
  margin-top:.12rem;
  padding:.32rem .68rem;
  border:1px solid rgba(29,102,72,.14);
  border-radius:999px;
  color:#1d6045!important;
  background:#eaf5ef;
  font-size:.76rem!important;
  font-weight:950!important;
  letter-spacing:.07em;
  line-height:1.35!important;
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 article.is-main span{
  border-color:rgba(117,78,6,.14);
  color:#553800!important;
  background:#f5d36f;
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 strong{
  display:block;
  margin:.7rem 0 .42rem;
  color:#143f30!important;
  font-size:1.28rem;
  font-weight:950!important;
  line-height:1.38;
}
body.site-readable-v182 .niigata-hero-panel .niigata-top3 p{
  margin:0;
  color:#3e574c!important;
  font-size:.92rem!important;
  font-weight:650!important;
  line-height:1.72!important;
}
@media(max-width:760px){
  body.site-readable-v182 .niigata-hero-panel{padding:1.18rem;border-radius:20px}
  body.site-readable-v182 .niigata-hero-panel .niigata-top3{gap:.78rem}
  body.site-readable-v182 .niigata-hero-panel .niigata-top3 article{min-height:0;padding:1rem .95rem 1.05rem}
  body.site-readable-v182 .niigata-hero-panel .niigata-top3 strong{font-size:1.13rem}
  body.site-readable-v182 .niigata-hero-panel .niigata-top3 p{font-size:.89rem!important;line-height:1.65!important}
}

