:root {
  --school-green: #24483d;
  --school-green-deep: #18362e;
  --school-green-soft: #44695d;
  --school-ink: #26302c;
  --school-ivory: #f7f3e8;
  --school-paper: #fffdf7;
  --school-pale: #e7efe9;
  --school-line: #cbd9d1;
  --school-mustard: #d9a62e;
  --school-mustard-dark: #925f08;
  --school-white: #ffffff;
  --school-shadow: rgba(24, 54, 46, 0.15);
  --school-font-sans: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --school-font-serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}

body:has(main[data-page-id="S13"]) {
  background: var(--school-ivory);
  color: var(--school-ink);
  font-family: var(--school-font-sans);
}

main[data-page-id="S13"],
main[data-page-id="S13"] p,
main[data-page-id="S13"] li,
main[data-page-id="S13"] a,
main[data-page-id="S13"] button,
main[data-page-id="S13"] dt,
main[data-page-id="S13"] dd {
  font-family: var(--school-font-sans);
}

main[data-page-id="S13"] h1,
main[data-page-id="S13"] h2,
main[data-page-id="S13"] h3 {
  font-family: var(--school-font-serif) !important;
  font-feature-settings: "palt" 1;
}

body:has(main[data-page-id="S13"]) .cram-school-header-template,
body:has(main[data-page-id="S13"]) .cram-school-header-template .site-header {
  background: var(--school-green-deep);
  border-color: rgba(255, 255, 255, 0.14);
}

body:has(main[data-page-id="S13"]) .cram-school-header-template .site-nav a {
  color: var(--school-white);
  font-family: var(--school-font-sans);
}

body:has(main[data-page-id="S13"]) .cram-school-header-template .site-nav a:hover,
body:has(main[data-page-id="S13"]) .cram-school-header-template .site-nav a:focus-visible {
  color: #ffe3a0;
}

body:has(main[data-page-id="S13"]) .cram-school-header-template .site-nav .nav-cta {
  background: var(--school-mustard);
  color: var(--school-green-deep);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

main[data-page-id="S13"] .hero {
  background-color: var(--school-green-deep);
}

main[data-page-id="S13"] .hero-overlay {
  background: linear-gradient(90deg, rgba(14, 38, 31, 0.98) 0%, rgba(24, 54, 46, 0.88) 38%, rgba(24, 54, 46, 0.18) 72%, rgba(24, 54, 46, 0.08) 100%);
}

main[data-page-id="S13"] .hero-copy,
main[data-page-id="S13"] .hero-copy h1,
main[data-page-id="S13"] .hero-copy p,
main[data-page-id="S13"] .hero-facts {
  color: var(--school-white);
}

main[data-page-id="S13"] .hero-copy h1 {
  text-shadow: 0 3px 20px rgba(0, 0, 0, 0.34);
}

main[data-page-id="S13"] .hero-eyebrow,
main[data-page-id="S13"] .hero-fact-icon {
  color: #ffe3a0;
}

main[data-page-id="S13"] .hero-fact-icon,
main[data-page-id="S13"] .hero-fact-icon svg {
  border-color: rgba(255, 227, 160, 0.58);
  stroke: #ffe3a0;
}

main[data-page-id="S13"] .hero-facts > div {
  background: rgba(255, 253, 247, 0.95);
  border-color: rgba(203, 217, 209, 0.82);
  box-shadow: 0 12px 28px rgba(7, 26, 21, 0.2);
}

main[data-page-id="S13"] .hero-facts dd,
main[data-page-id="S13"] .hero-facts dt {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-pain-section {
  background-color: var(--school-ivory);
  background-image:
    linear-gradient(90deg, rgba(36, 72, 61, 0.07) 0, rgba(36, 72, 61, 0.07) 1px, transparent 1px),
    radial-gradient(circle at 5% 16%, rgba(217, 166, 46, 0.12) 0, rgba(217, 166, 46, 0.12) 2px, transparent 2.5px),
    radial-gradient(circle at 96% 84%, rgba(36, 72, 61, 0.07), transparent 24%);
}

main[data-page-id="S13"] .cs-pain-section h2,
main[data-page-id="S13"] .cs-pain-section h3,
main[data-page-id="S13"] .cs-pain-section p,
main[data-page-id="S13"] .cs-pain-section li {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-pain-section .center-head::after,
main[data-page-id="S13"] .cs-pain-section .problem-note,
main[data-page-id="S13"] .cs-pain-section .cs-pain-note {
  background-color: var(--school-pale);
  border-color: var(--school-line);
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-pain-section img {
  filter: sepia(0.28) hue-rotate(74deg) saturate(0.72) contrast(1.06);
}

main[data-page-id="S13"] .cs-problem-statement-section {
  background: linear-gradient(180deg, var(--school-pale) 0%, #f2f5ee 100%);
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-problem-statement-section h2 {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-problem-statement-content,
main[data-page-id="S13"] .cs-problem-statement-content p,
main[data-page-id="S13"] .cs-problem-statement-list,
main[data-page-id="S13"] .cs-problem-statement-list li,
main[data-page-id="S13"] .cs-problem-statement-list p {
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-problem-statement-section h2::after,
main[data-page-id="S13"] .cs-problem-statement-list li::before {
  background: var(--school-mustard);
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-cause-section {
  background: radial-gradient(circle at 82% 16%, rgba(217, 166, 46, 0.09) 0 120px, transparent 121px), linear-gradient(135deg, var(--school-paper) 0%, var(--school-ivory) 100%);
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-cause-section h2,
main[data-page-id="S13"] .cs-cause-section h3 {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-cause-accent {
  background: var(--school-mustard);
}

main[data-page-id="S13"] .cs-cause-card {
  background: rgba(255, 253, 247, 0.96);
  border-color: var(--school-line);
  box-shadow: 0 16px 38px var(--school-shadow);
}

main[data-page-id="S13"] .cs-cause-card .cs-cause-number {
  color: var(--school-mustard-dark);
  border-color: var(--school-mustard);
}

main[data-page-id="S13"] .cs-cause-card svg {
  stroke: var(--school-green);
}

main[data-page-id="S13"] .cs-solution-section {
  background: var(--school-paper);
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-solution-section .cs-solution-band {
  background: linear-gradient(135deg, var(--school-green-deep), var(--school-green));
}

main[data-page-id="S13"] .cs-solution-band h2,
main[data-page-id="S13"] .cs-solution-band p {
  color: var(--school-white);
}

main[data-page-id="S13"] .cs-solution-step-number,
main[data-page-id="S13"] .cs-solution-step-icon {
  background: var(--school-mustard);
  border-color: #f4cf76;
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-solution-step-icon svg {
  stroke: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-solution-step-label {
  color: var(--school-white);
}

main[data-page-id="S13"] .cs-solution-flow-v2::before,
main[data-page-id="S13"] .cs-solution-flow-v2::after {
  border-color: rgba(255, 227, 160, 0.68);
}

main[data-page-id="S13"] .cs-solution-flow-v2 > li:not(:last-child)::before {
  background: rgba(255, 227, 160, 0.68);
}

main[data-page-id="S13"] .cs-solution-flow-v2 > li:not(:last-child)::after {
  border-left-color: rgba(255, 227, 160, 0.82);
}

main[data-page-id="S13"] .cs-solution-compare {
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-route {
  border-color: var(--school-green-soft);
}

main[data-page-id="S13"] .cs-after-card .cs-compare-label {
  background: var(--school-green);
}

main[data-page-id="S13"] .cs-solution-section .cs-after-card.cs-compare-card-v2 > p,
main[data-page-id="S13"] .cs-solution-section .cs-after-card.cs-compare-card-v2 .doc-word {
  color: var(--school-green);
}

main[data-page-id="S13"] .cs-summary-heading {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-showcase {
  background: radial-gradient(circle at 78% 20%, rgba(217, 166, 46, 0.12), transparent 31%), linear-gradient(120deg, var(--school-paper) 0%, var(--school-pale) 100%);
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-showcase h2,
main[data-page-id="S13"] .cs-showcase h3 {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-showcase-copy::before,
main[data-page-id="S13"] .cs-showcase-copy::after {
  background: var(--school-mustard);
}

main[data-page-id="S13"] .cs-showcase-rule {
  background: var(--school-mustard);
}

main[data-page-id="S13"] .cs-section.cs-benefit-comp {
  background-color: var(--school-green-deep);
  background-image: linear-gradient(rgba(24, 54, 46, 0.93), rgba(24, 54, 46, 0.93)), url("/assets/generated/cram-school-benefit-20260831/benefit-navy-paper-v1.webp");
  background-repeat: repeat;
  background-size: auto, 768px 512px;
  color: var(--school-white);
}

main[data-page-id="S13"] .cs-benefit-comp h2,
main[data-page-id="S13"] .cs-benefit-comp h3,
main[data-page-id="S13"] .cs-benefit-comp p {
  color: var(--school-white);
}

main[data-page-id="S13"] .cs-benefit-comp .csb-number {
  color: #ffe3a0;
  border-color: var(--school-mustard);
}

main[data-page-id="S13"] .cs-benefit-comp .csb-summary::after,
main[data-page-id="S13"] .cs-benefit-comp .csb-step:not(:last-child)::after {
  background: var(--school-mustard);
}

main[data-page-id="S13"] .cs-benefit-comp .csb-card,
main[data-page-id="S13"] .cs-benefit-comp .csb-step {
  background: rgba(255, 253, 247, 0.1);
  border-color: rgba(255, 255, 255, 0.22);
}

main[data-page-id="S13"] .cs-service-content,
main[data-page-id="S13"] .cs-page-plans,
main[data-page-id="S13"] .cs-writing,
main[data-page-id="S13"] .cs-pricing {
  background-color: var(--school-ivory);
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-service-content,
main[data-page-id="S13"] .cs-writing {
  background-image: linear-gradient(rgba(247, 243, 232, 0.9), rgba(247, 243, 232, 0.9)), url("/assets/generated/cram-school-service-content-20260831/paper-v1.webp");
}

main[data-page-id="S13"] .cs-page-plans {
  background-image: linear-gradient(rgba(231, 239, 233, 0.94), rgba(231, 239, 233, 0.94)), url("/assets/generated/cram-school-service-content-20260831/paper-v1.webp");
}

main[data-page-id="S13"] .cs-service-content h2,
main[data-page-id="S13"] .cs-service-content h3,
main[data-page-id="S13"] .cs-page-plans h2,
main[data-page-id="S13"] .cs-page-plans h3,
main[data-page-id="S13"] .cs-writing h2,
main[data-page-id="S13"] .cs-writing h3,
main[data-page-id="S13"] .cs-pricing h2 {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .csc-heading::after,
main[data-page-id="S13"] .cpp-heading::after,
main[data-page-id="S13"] .csc-rule,
main[data-page-id="S13"] .cpp-rule,
main[data-page-id="S13"] .cs-writing__rule {
  background: var(--school-mustard);
}

main[data-page-id="S13"] .cs-service-content .csc-card,
main[data-page-id="S13"] .cs-page-plans .cpp-card,
main[data-page-id="S13"] .cs-writing__materials li {
  background: var(--school-paper);
  border-color: var(--school-line);
  box-shadow: 0 14px 34px var(--school-shadow);
}

main[data-page-id="S13"] .cs-service-content p,
main[data-page-id="S13"] .cs-service-content .csc-phrase,
main[data-page-id="S13"] .cs-service-content .csc-intro-line,
main[data-page-id="S13"] .cs-page-plans p,
main[data-page-id="S13"] .cs-page-plans .cpp-phrase,
main[data-page-id="S13"] .cs-page-plans .cpp-body-line,
main[data-page-id="S13"] .cs-page-plans .cpp-intro-sentence,
main[data-page-id="S13"] .cs-page-plans .cpp-intro-final,
main[data-page-id="S13"] .cs-writing p,
main[data-page-id="S13"] .cs-writing li {
  color: var(--school-ink);
}

main[data-page-id="S13"] .csc-number,
main[data-page-id="S13"] .cpp-number,
main[data-page-id="S13"] .cs-writing__materials-title {
  color: var(--school-mustard-dark);
}

main[data-page-id="S13"] .csc-card img,
main[data-page-id="S13"] .cs-writing__hero,
main[data-page-id="S13"] .cs-writing__materials img {
  filter: sepia(0.1) hue-rotate(270deg) saturate(0.66) contrast(1.04);
}

main[data-page-id="S13"] .cs-writing__cta,
main[data-page-id="S13"] .cs-pricing__cta,
main[data-page-id="S13"] .cs-production-flow__cta {
  background: var(--school-green);
  border-color: var(--school-green);
  color: var(--school-white);
  box-shadow: 0 12px 26px var(--school-shadow);
}

main[data-page-id="S13"] .cs-writing__cta:hover,
main[data-page-id="S13"] .cs-pricing__cta:hover,
main[data-page-id="S13"] .cs-production-flow__cta:hover {
  background: var(--school-green-deep);
  border-color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-pricing {
  background-image: radial-gradient(circle at 4% 4%, rgba(217, 166, 46, 0.12), transparent 18%), radial-gradient(circle at 96% 92%, rgba(36, 72, 61, 0.09), transparent 18%), linear-gradient(rgba(247, 243, 232, 0.94), rgba(247, 243, 232, 0.94)), url("/assets/generated/cram-school-service-content-20260831/paper-v1.webp");
}

main[data-page-id="S13"] .cs-pricing__price,
main[data-page-id="S13"] .cs-pricing__price strong {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-pricing__price strong {
  text-decoration-color: var(--school-mustard);
}

main[data-page-id="S13"] .cs-pricing__rule {
  background: var(--school-mustard);
}

main[data-page-id="S13"] .cs-pricing p,
main[data-page-id="S13"] .cs-pricing li,
main[data-page-id="S13"] .cs-pricing span:not(.cs-pricing__price):not(.cs-pricing__cta) {
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-pricing__features li::before,
main[data-page-id="S13"] .cs-pricing__note::before {
  color: var(--school-mustard-dark);
  background: var(--school-mustard);
}

main[data-page-id="S13"] .cs-production-flow {
  background: linear-gradient(rgba(231, 239, 233, 0.94), rgba(231, 239, 233, 0.94)), url("/assets/generated/cram-school-service-content-20260831/paper-v1.webp");
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-production-flow h2,
main[data-page-id="S13"] .cs-production-flow h3 {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-production-flow__rule,
main[data-page-id="S13"] .cs-production-flow__number {
  background: var(--school-mustard);
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-production-flow__step {
  background: var(--school-paper);
  border-color: var(--school-line);
  box-shadow: 0 12px 28px var(--school-shadow);
}

main[data-page-id="S13"] .cs-production-flow__step::after {
  border-color: var(--school-green-soft);
}

main[data-page-id="S13"] .cs-faq-comp {
  background: radial-gradient(circle at -2% 3%, rgba(217, 166, 46, 0.13), transparent 17%), radial-gradient(circle at 101% 100%, rgba(36, 72, 61, 0.12), transparent 17%), linear-gradient(rgba(247, 243, 232, 0.96), rgba(247, 243, 232, 0.96)), url("/assets/generated/cram-school-service-content-20260831/paper-v1.webp");
  color: var(--school-ink);
}

main[data-page-id="S13"] .cs-faq-comp h2,
main[data-page-id="S13"] .cs-faq-comp h3 {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-faq-comp__heading-line {
  background: var(--school-mustard);
}

main[data-page-id="S13"] .cs-faq-comp__card {
  background: var(--school-paper);
  border-color: var(--school-line);
  box-shadow: 0 12px 30px var(--school-shadow);
}

main[data-page-id="S13"] .cs-faq-comp__mark {
  background: var(--school-green);
  color: var(--school-white);
}

main[data-page-id="S13"] .cs-faq-comp__answer-mark {
  color: var(--school-mustard-dark);
}

main[data-page-id="S13"] .cs-faq-comp__icon {
  stroke: var(--school-green-soft);
}

main[data-page-id="S13"] .cs-final-cta {
  background: radial-gradient(circle at 51% 8%, rgba(217, 166, 46, 0.19), transparent 31%), radial-gradient(circle at 94% 82%, rgba(255, 255, 255, 0.08), transparent 28%), linear-gradient(128deg, var(--school-green-deep) 0%, var(--school-green) 100%);
  color: var(--school-white);
}

main[data-page-id="S13"] .cs-final-cta h2,
main[data-page-id="S13"] .cs-final-cta p {
  color: var(--school-white);
}

main[data-page-id="S13"] .cs-final-title-accent {
  color: #ffe3a0;
}

main[data-page-id="S13"] .cs-final-cta__primary,
main[data-page-id="S13"] .cs-final-cta .primary,
main[data-page-id="S13"] .cs-final-cta a:first-of-type {
  background: var(--school-mustard);
  border-color: var(--school-mustard);
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-final-cta__secondary,
main[data-page-id="S13"] .cs-final-cta .secondary,
main[data-page-id="S13"] .cs-final-cta a:last-of-type {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.72);
  color: var(--school-white);
}

body:has(main[data-page-id="S13"]) .site-footer {
  background: #102a23;
  color: #edf3ef;
  border-color: rgba(255, 255, 255, 0.12);
}

body:has(main[data-page-id="S13"]) .site-footer a,
body:has(main[data-page-id="S13"]) .site-footer strong,
body:has(main[data-page-id="S13"]) .site-footer p {
  color: #edf3ef;
}

main[data-page-id="S13"] a:focus-visible,
body:has(main[data-page-id="S13"]) .site-header a:focus-visible,
body:has(main[data-page-id="S13"]) .site-header button:focus-visible {
  outline: 3px solid #f4c85f;
  outline-offset: 4px;
}

@media (max-width: 760px) {
  body:has(main[data-page-id="S13"]) .cram-school-header-template .site-nav {
    background: var(--school-green-deep);
  }

  body:has(main[data-page-id="S13"]) .cram-school-header-template .nav-toggle span:not(.sr-only) {
    background: var(--school-white);
  }

  main[data-page-id="S13"] .hero-overlay {
    background: linear-gradient(180deg, rgba(18, 45, 37, 0.94) 0%, rgba(24, 54, 46, 0.78) 48%, rgba(24, 54, 46, 0.18) 78%, rgba(24, 54, 46, 0.08) 100%);
  }

  main[data-page-id="S13"] .hero-facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  main[data-page-id="S13"] .top-page .hero-facts .source-copy-only {
    grid-template-areas: "icon value";
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: minmax(48px, 1fr);
    min-height: 66px;
    padding: 9px 16px;
    align-items: center;
    text-align: left;
  }

  main[data-page-id="S13"] .top-page .hero-facts .hero-fact-icon {
    grid-area: icon;
    grid-column: 1;
    grid-row: 1;
  }

  main[data-page-id="S13"] .top-page .hero-facts .source-copy-only dd {
    grid-area: value;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    width: auto;
    margin: 0;
    justify-self: start;
    font-size: 0.88rem;
    line-height: 1.55;
  }

  main[data-page-id="S13"] .cs-cause-card,
  main[data-page-id="S13"] .csc-card,
  main[data-page-id="S13"] .cpp-card,
  main[data-page-id="S13"] .cs-production-flow__step,
  main[data-page-id="S13"] .cs-faq-comp__card {
    box-shadow: 0 9px 22px rgba(24, 54, 46, 0.11);
  }
}

/* Final specificity pass: keep every inherited page component inside the
   cram-school green/ivory system without changing any visible copy. */
main[data-page-id="S13"] .cs-pain-section h2,
main[data-page-id="S13"] .cs-pain-section h2 .doc-word,
main[data-page-id="S13"] .cs-pain-section h2 .doc-break {
  color: var(--school-green-deep);
  border-color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-cause-card .cs-split-route i,
main[data-page-id="S13"] .cs-compare-arrow-v2 span {
  color: var(--school-mustard-dark);
  border-color: var(--school-mustard);
}

main[data-page-id="S13"] .cs-service-content p,
main[data-page-id="S13"] .cs-page-plans p,
main[data-page-id="S13"] .cs-page-plans p span,
main[data-page-id="S13"] .cs-production-flow__step p {
  color: var(--school-ink);
  border-color: var(--school-line);
}

main[data-page-id="S13"] .cs-pricing .cs-pricing__cta,
main[data-page-id="S13"] .cs-pricing .cs-pricing__cta span {
  color: var(--school-white);
}

main[data-page-id="S13"] .cs-final-cta .button.secondary {
  color: var(--school-green-deep);
  border-color: var(--school-green-deep);
}

main[data-page-id="S13"] .top-page.cram-school-parent-template .problem-section.cs-pain-section h2 {
  color: var(--school-green-deep);
}

main[data-page-id="S13"] .cs-service-content .csc-heading p,
main[data-page-id="S13"] .cs-service-content .csc-card .csc-card-copy p,
main[data-page-id="S13"] .cs-page-plans .cpp-heading p,
main[data-page-id="S13"] .cs-page-plans .cpp-card .cpp-body,
main[data-page-id="S13"] .cs-page-plans .cpp-notes p,
main[data-page-id="S13"] .cs-page-plans .cpp-notes p span {
  color: var(--school-ink);
}

main[data-page-id="S13"] section.cs-price-band.cs-pricing a.cs-pricing__cta span {
  color: var(--school-white);
}
