/* STABRO visual audit fixes 2026-10-12. Screen-only; printed packing list stays intact. */
@media screen {
body main .content-guide {max-width:1200px!important;width:calc(100% - 64px);box-sizing:border-box;padding:0!important;}
body main .content-guide>h2:first-child {margin-top:0;}
body main .content-guide>table {display:block;max-width:100%;overflow-x:auto;}
body main .content-guide table:not(.packing-table) {border-collapse:collapse;background:#fff;}
body main .content-guide table:not(.packing-table) th,body main .content-guide table:not(.packing-table) td {padding:14px 16px;border:1px solid #dce6df;line-height:1.7;vertical-align:top;}
body main .content-guide table:not(.packing-table) thead th {background:#194e3d;color:#fff;}
body main .shared-identity h1 .school-local-name {display:block;font-size:clamp(22px,2vw,30px)!important;line-height:1.5!important;font-weight:800;letter-spacing:-.025em;margin-top:6px;}
body main .shared-identity h1 {line-height:1.3;text-wrap:balance;}
body main .shared-tabs a {min-width:0;gap:8px;padding-inline:10px;}
body main .shared-tabs a .icon {flex-shrink:0;}
body main .city-hero-mosaic .city-photo:first-child {margin-right:0;}
body main .city-hero-mosaic .city-photo:nth-child(2) {margin-top:0;transform:none;}
body main .city-hero-mosaic figcaption {font-size:12px;line-height:1.6;text-align:left;overflow-wrap:anywhere;}
body main .city-hero-mosaic {row-gap:18px;}
body main .wp-article table {border-collapse:collapse;background:#fff;width:100%;max-width:100%;overflow-x:auto;}
body main .wp-article table th,body main .wp-article table td {border:1px solid #dce6df;padding:14px 16px;line-height:1.75;vertical-align:top;}
body main .wp-article table thead th {background:#194e3d;color:white;}
body main .wp-article table tbody tr:nth-child(even) {background:#f7faf8;}
body main .wp-article .audit-step-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0;}
body main .wp-article .audit-step {padding:24px;background:#f7faf8;border:1px solid #dce6df;border-radius:16px;}
body main .wp-article .audit-step dt {font-size:20px;font-weight:800;color:#13664f;margin:0 0 12px;}
body main .wp-article .audit-step dd {margin:0;line-height:1.9;}
body main .wp-article .contactlist {padding:24px;background:#f7faf8;border:1px solid #dce6df;border-radius:16px;margin:24px 0;}
body main .wp-article .contactlist ul,body main .wp-article .contactlist_mb {display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;}
body main .wp-article .contactlist a,body main .wp-article .contactlist_mb a,body main .wp-article .btn-scg a {display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid #13664f;border-radius:10px;background:#fff;color:#13664f;text-decoration:none;min-height:44px;box-sizing:border-box;}
body main .wp-article .yoast-breadcrumbs {display:none;}
body main .wp-article p.brushtx {font-size:14px;font-weight:700;color:#13664f;letter-spacing:.06em;}
body main .wp-article p.btn {display:block;background:none;border:0;padding:0;}
body main .wp-article p.btn>a {display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:14px 24px;background:#13664f;color:white;text-decoration:none;}
body main .wp-article h3 {line-height:1.6;}
@media(max-width:760px){
 body main .content-guide {width:calc(100% - 36px);}
 body main .shared-tabs {flex-wrap:wrap;}
 body main .shared-tabs a {flex:1 1 30%;min-height:48px;white-space:normal;line-height:1.5;}
 body main .shared-identity h1 .school-local-name {font-size:24px!important;}
 body main .city-hero-mosaic figcaption {font-size:12px;}
 body main .wp-article .audit-step-grid {grid-template-columns:1fr;}
 body main .wp-article table th,body main .wp-article table td {padding:12px;}
 body main .wp-article .contactlist ul,body main .wp-article .contactlist_mb {display:grid;grid-template-columns:1fr;}
 body main .wp-article .contactlist a,body main .wp-article .contactlist_mb a {width:100%;}
}
}
/* 2026-10-13: consistent headings, spacing and school-photo framing. */
@media screen {
body[data-page] main .section-heading h2,body[data-page] main .shared-heading h2{font-size:clamp(26px,2.6vw,34px)!important;line-height:1.45!important;margin-top:0;margin-bottom:0;text-wrap:balance}
body[data-page] main .section-heading,body[data-page] main .shared-heading{margin-bottom:28px}
body[data-page] main .shared-heading{gap:16px;align-items:center}
body[data-page] main .shared-heading .section-number{font-size:80px;line-height:1;font-weight:800;letter-spacing:-.055em;color:#53848c}
body[data-page] main .shared-heading .eyebrow,body[data-page] main .section-heading .eyebrow{font-size:13px;line-height:1.5;letter-spacing:.08em;margin-bottom:8px;display:block}
body[data-page] main .section-heading .heading-rays{width:24px;height:32px;flex-shrink:0;vertical-align:middle}
body[data-page="index"] main>.section,body[data-page="index"] main>.tp-sec{padding-top:64px!important;padding-bottom:64px!important}
body[data-page="school"] .shared-section:not(.school-news):not(.campaign-school-notices),body[data-page="school"] .decision-guide{padding-top:64px!important;padding-bottom:64px!important}
body[data-page="compare"] .compare-section{padding-top:64px;padding-bottom:64px}
body[data-page="school"] .shared-course{border-radius:12px;overflow:hidden}
body[data-page="index"] .tp-school .tp-media{aspect-ratio:16/9}
body[data-page="index"] .tp-school .tp-media img{width:100%;height:100%;object-fit:cover;object-position:center}
body[data-page="index"] .about-grid figure img{aspect-ratio:4/3!important;object-position:center 35%}
body[data-page="school"] .shared-campus>figure:first-child img{width:100%;height:auto!important;aspect-ratio:16/9;object-fit:cover;object-position:center}
body[data-page="compare"] .compare-card .compare-photo{height:auto!important;aspect-ratio:16/9}
body[data-page="compare"] .compare-card .compare-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:640px){
body[data-page="index"] main>.section,body[data-page="index"] main>.tp-sec,body[data-page="school"] .shared-section:not(.school-news):not(.campaign-school-notices),body[data-page="school"] .decision-guide,body[data-page="compare"] .compare-section{padding-top:40px!important;padding-bottom:40px!important}
body[data-page] main .shared-heading .section-number{font-size:60px}
body[data-page] main .shared-heading{gap:12px}
body[data-page] main .section-heading,body[data-page] main .shared-heading{margin-bottom:24px}
}
}

/* ===== STABRO design unify 2026-10-14 (Claude) =====
   Colors: green #00685d / dark green #004e46 / ink #172635 / muted #5b6d71
           orange #b94b00 (white text 5.2:1) / LINE green #00823a (white text 4.9:1)
   Type scale: 12/13 min, 14, 16, 18, 22, 28, 36 px
   Buttons: pill (999px) everywhere */
:root{--st-green:#00685d;--st-green-dark:#004e46;--st-ink:#172635;--st-muted:#5b6d71;--st-orange:#b94b00;--st-orange-hover:#963d00;--st-line:#00823a;--st-line-hover:#006a2f}
@media screen{
/* 1. consultation buttons: same colors and shape on every page */
body .btn.orange:not(#_){background:var(--st-orange)!important;border-color:var(--st-orange)!important;color:#fff!important}
body .btn.orange:not(#_):hover,body .btn.orange:not(#_):focus-visible{background:var(--st-orange-hover)!important;border-color:var(--st-orange-hover)!important}
body .btn.line:not(#_){background:var(--st-line)!important;border-color:var(--st-line)!important;color:#fff!important}
body .btn.line:not(#_):hover,body .btn.line:not(#_):focus-visible{background:var(--st-line-hover)!important;border-color:var(--st-line-hover)!important}
body .btn:not(#_){border-radius:999px!important;background-image:none!important}
body #stabro-cta-bar .cta-line{background:var(--st-line)!important}
body #stabro-cta-bar .cta-form{background:var(--st-orange)!important}
body.has-cta-bar .mobile-cta{display:none!important}
/* 2. heading colors */
body[data-page] main h1:not(#_){color:var(--st-green)}
body[data-page] main h2:not(#_){color:var(--st-ink)}
body[data-page] main .eyebrow{color:var(--st-green)}
/* 3. type scale */
body[data-page] main h1:not(#_){font-size:36px;line-height:1.35;text-decoration:none!important}
body[data-page] main h2:not(#_){font-size:28px!important;line-height:1.45!important}
body[data-page] main .content-guide h2:not(#_),body[data-page] main .wp-article h2:not(#_){font-size:24px!important}
body main td small,body main th small,body[data-page="index"] .tp-f-sub,body[data-page="index"] .tp-title span,body main .audit-kicker,body main .city-hero-mosaic figcaption{font-size:13px!important}
/* 6. PC: header stays on screen */
@media(min-width:761px){body .site-header:not(#_){position:sticky!important;top:0!important;z-index:850;box-shadow:0 1px 0 rgba(23,38,53,.08)}html{scroll-padding-top:100px}}
/* 6. easier-to-tap standalone links */
body[data-page="index"] main .tp-more a,body[data-page="index"] main .tp-actions a,body[data-page="index"] main .tp-title--sm a,body[data-page="index"] main .content-guide p a,body main .reviewer-panel p a{display:inline-block;padding-block:10px}
@media(max-width:760px){
body[data-page] main h1:not(#_){font-size:28px}
body[data-page] main h2:not(#_){font-size:23px!important}
body[data-page] main .content-guide h2:not(#_),body[data-page] main .wp-article h2:not(#_){font-size:22px!important}
/* 4. school list: show the school cards sooner on phones */
body[data-page="schools"] .finder-hero-gallery,body[data-page="schools"] .finder-guide{display:none!important}
body[data-page="schools"] .school-shortcuts{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:6px}
body[data-page="schools"] .school-shortcuts::-webkit-scrollbar{display:none}
body[data-page="schools"] .school-shortcuts>*{flex:0 0 auto;white-space:nowrap}
body[data-page="schools"] .preview-note p{font-size:13px;line-height:1.7;margin:0 0 6px}
}
/* 4. school pages: price summary at the top (inserted by design-flow JS) */
body .hero-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:18px 0 6px;padding:14px 18px;border:1px solid #d6e5df;border-radius:14px;background:#fff;color:var(--st-ink);text-decoration:none;max-width:460px}
body .hero-price .hp-label{flex-basis:100%;font-size:13px;color:var(--st-muted)}
body .hero-price strong{font-size:28px;line-height:1.2;color:var(--st-ink)}
body .hero-price .hp-yen{font-size:14px;color:var(--st-muted)}
body .hero-price .hp-more{margin-left:auto;font-size:14px;font-weight:700;color:var(--st-green)}
body .hero-price:hover{border-color:var(--st-green)}
}
/* STABRO min 13px 2026-10-14 (Claude): no text smaller than 13px */
@media screen{body main :is(.finder-fact-tags li,.finder-card-fee .fee-origin,.finder-fx-condition,.compact-fee-label,figcaption,.school-news-note,.guide-year,.guide-card-cost span,.campaign-label,.guide-card-index,.mufg-inline-yen,.school-news-tag,.stabro-fx-unit,.banner-mobile-copy):not(#_){font-size:13px!important}}

/* STABRO reference-led visual revision, 2026-10-14.
   White, forest green, sunny accents and travel photographs.
   Decorative properties only. Typography, spacing and layout are preserved. */
@media screen {
  :root {--st-orange:#ca4b0c;--st-orange-hover:#b13b06}
  body .btn.orange {box-shadow:0 4px 0 rgba(158,58,8,.12),0 5px 12px rgba(158,58,8,.10)}
  body .btn.orange:focus-visible {outline-color:#923300}
  body[data-page] main .btn.outline:hover {background-color:#f0f7e9;border-color:#6d987e}

  /* Retain the existing hand-drawn accents and give headings a sunny marker. */
  body[data-page] main .section-heading h2>span,
  body[data-page] main .shared-heading h2>span {
    background:linear-gradient(transparent 72%,rgba(245,194,49,.38) 72%,rgba(245,194,49,.38) 94%,transparent 94%);
  }
  body[data-page] main .section-heading .heading-rays,
  body[data-page] main .shared-heading .sunrays {opacity:1;stroke:#e6ab20}
  body[data-page="index"] #areas .city-heading-palm,
  body[data-page="index"] #areas .city-heading-plane {opacity:.8}
  body[data-page] main .shared-heading .section-number {color:#0e775a}

  /* The first actions and promises bridge the colourful hero and white body. */
  body[data-page="index"] main .tp-card {
    background:#fff;border-color:#e0e7de;box-shadow:0 4px 13px rgba(30,69,47,.055);
  }
  body[data-page="index"] main .stabro-promise {background:#fffaf0;border-color:#eee7d6}
  body[data-page="index"] main .stabro-promise li {
    background:#fff;border-color:#e3e8dc;box-shadow:inset 0 3px 0 #27855e,0 3px 10px rgba(38,68,36,.035);
  }
  body[data-page="index"] main .stabro-promise li:nth-child(2) {box-shadow:inset 0 3px 0 #83ad48,0 3px 10px rgba(38,68,36,.035)}
  body[data-page="index"] main .stabro-promise li:nth-child(3) {box-shadow:inset 0 3px 0 #ecac32,0 3px 10px rgba(38,68,36,.035)}
  body[data-page="index"] main .stabro-promise strong,
  body[data-page="index"] main .support-grid h3 b {color:#086749!important}

  /* Purpose cards: three related colours, with a clear, repeatable rhythm. */
  body[data-page="index"] #purpose .purpose-choice {
    background:#f3f8ec;border-color:#dbe6cf;box-shadow:inset 0 4px 0 #79a641,0 4px 12px rgba(34,77,35,.045);
  }
  body[data-page="index"] #purpose .purpose-choice:nth-child(3n+2) {
    background:#fff8e6;border-color:#eee0b9;box-shadow:inset 0 4px 0 #efbd3a,0 4px 12px rgba(79,61,21,.045);
  }
  body[data-page="index"] #purpose .purpose-choice:nth-child(3n) {
    background:#eef7f2;border-color:#d4e5d9;box-shadow:inset 0 4px 0 #22866a,0 4px 12px rgba(25,69,48,.045);
  }
  body[data-page="index"] #purpose .purpose-choice-number {color:#477523}
  body[data-page="index"] #purpose .purpose-choice:nth-child(3n+2) .purpose-choice-number {color:#946300}
  body[data-page="index"] #purpose .purpose-choice:nth-child(3n) .purpose-choice-number {color:#0b7657}
  body[data-page="index"] #purpose .purpose-choice:hover,
  body[data-page="index"] #purpose .purpose-choice:focus-visible {
    background:#fff;border-color:#4d946c;box-shadow:inset 0 4px 0 #08764e,0 7px 18px rgba(20,66,40,.09);
  }

  /* City images remain the focal point. No opaque labels over the scenery. */
  body[data-page="index"] #areas .city-label {
    background:transparent;border-radius:0;text-shadow:0 2px 6px rgba(0,29,26,.72);
  }
  body[data-page="index"] #areas .city-label>span {text-decoration:underline;text-decoration-color:#f4ce63;text-decoration-thickness:2px;text-underline-offset:5px}
  body[data-page="index"] #areas .city-card:after {
    background:linear-gradient(90deg,rgba(2,32,25,.60) 0%,rgba(2,32,25,.27) 44%,rgba(2,32,25,0) 78%),linear-gradient(0deg,rgba(2,32,25,.14),transparent 38%);
  }
  body[data-page="index"] #areas .city-card {box-shadow:0 5px 15px rgba(24,67,45,.12)}
  body[data-page="index"] #areas .city-card:hover {box-shadow:0 7px 20px rgba(24,67,45,.18)}

  /* Alternate fresh white, leafy green and warm paper rather than one tint. */
  body[data-page="index"] main #school-start {background:#f3f8ed}
  body[data-page="index"] main #cost-summary {background:#fffaf0}
  body[data-page="index"] main .diagnosis-strip {
    background-color:#f7f4e9;
    background-image:radial-gradient(rgba(113,102,61,.08) .6px,transparent .8px);
    background-size:5px 5px;box-shadow:inset 0 1px 0 #eee7d9,inset 0 -1px 0 #eee7d9;
  }
  body[data-page="index"] main .guide-2026-strip {background-color:#f4f7ea}
  body[data-page="index"] main .faq-section {background:#fffdf7}
  body[data-page] main .closing-cta {
    background:linear-gradient(105deg,#f2f6df 0%,#fff8df 61%,#edf5dc 100%);
    box-shadow:inset 0 1px 0 #e4e9ce,inset 0 -1px 0 #e4e9ce;
  }
  body[data-page] main .closing-note .frond {opacity:.55}
  body[data-page] main .reviewer-panel {background:#f7f9f3;border-color:#dfe7d8}

  /* School photos and price information use crisp white and green. */
  body[data-page="schools"] .compact-school-card.finder-card,
  body[data-page="index"] #school-start .tp-school {background:#fff;border-color:#dce5d6;box-shadow:0 5px 16px rgba(33,71,40,.065)}
  body[data-page="schools"] .compact-school-card.finder-card:hover,
  body[data-page="schools"] .compact-school-card.finder-card:focus-within,
  body[data-page="index"] #school-start .tp-school:hover {border-color:#70a17a;box-shadow:0 8px 22px rgba(33,71,40,.12)}
  body[data-page="index"] #school-start .tp-tag {background:#e6f2dd;color:#235b3d}
  body[data-page="index"] main .tp-tag:before {background:#dc940e}
  body[data-page="schools"] .compact-school-card .finder-card-fee {background:#f3f8ec;box-shadow:inset 3px 0 0 #71a449,inset 0 0 0 1px #e0e8d6}
  body[data-page="schools"] .finder-card-fee .compact-fee-label,
  body[data-page="schools"] .finder-card-fee .fee-origin {color:#49624a}
  body[data-page="schools"] .finder-card-fee .compact-fee-room {background:#e4eedb;color:#265535}
  body[data-page="schools"] .compact-school-card .finder-fact-tags li {background:#f1f6ed;color:#38653e;box-shadow:inset 0 0 0 1px #e0e9d8}
  body[data-page="schools"] .finder-area {background:#fff9df;color:#285b3c;box-shadow:0 2px 8px rgba(28,58,32,.12)}
  body[data-page="schools"] main .school-search {background:#f1f6e9;border-color:#d5e2c8}
  body[data-page="schools"] main .school-search input,
  body[data-page="schools"] main .school-search select {background-color:#fff;border-color:#bdcfb7}

  /* Cost blocks have a warm setting, white cards and green figures. */
  body[data-page="index"] main #cost-summary .tp-cost {background:#fff;border-color:#e8e1d0;box-shadow:0 5px 15px rgba(71,57,20,.055)}
  body[data-page="index"] main .tp-cost-period {background:#fff0bd;color:#655016}
  body[data-page="index"] main #cost-summary .tp-cost-total strong {color:#096947!important}
  body[data-page="index"] main .tp-cost-dl,
  body[data-page="index"] main .tp-link--foot {border-color:#e4e8dc}
  body[data-page="index"] main .tp-f-total {background:#086749;border-color:#086749}
  body[data-page="index"] main .tp-num {color:#0c7954!important}
  body[data-page="index"] main .tp-why .tp-icon {background:#f2f5da;color:#377144}
  body[data-page="index"] main .tp-post:hover,
  body[data-page="index"] main .tp-post:focus-within {border-color:#89a970;box-shadow:0 7px 20px rgba(38,73,35,.09)}
  body[data-page="index"] main .step-top b {color:#ad650c}
  body[data-page="index"] main .step-box {border-color:#dde6d3;box-shadow:0 3px 10px rgba(36,67,31,.035)}
  body[data-page="index"] main .step-box:hover,
  body[data-page="index"] main .step-box:focus-visible {background:#f7faec;border-color:#88a970;box-shadow:0 5px 15px rgba(36,67,31,.07)}
  body[data-page="index"] main .step-box:after {color:#b7c997}

  /* Reading pages retain the same white/green/sunshine family. */
  body .guide-revised .guide-choice-card {background:#fff;border-color:#dde6d6;box-shadow:0 4px 14px rgba(36,67,31,.045)}
  body .guide-revised .guide-summary-grid .guide-choice-card {background:#f7faef;box-shadow:inset 0 3px 0 #7eaa49,0 4px 14px rgba(36,67,31,.04)}
  body .guide-revised .guide-summary-grid .guide-choice-card:nth-child(3n+2) {background:#fff9e9;box-shadow:inset 0 3px 0 #e8b63b,0 4px 14px rgba(76,57,20,.04)}
  body .guide-revised .guide-card-index {background:#e3efcf;color:#346225}
  body .guide-revised .guide-choice-card h3 {color:#235b3c}
  body .guide-revised .guide-card-cost {border-color:#dfe6d4}
  body[data-page="school"] #detail .campaign-school-notices .campaign-card {background:#fffaf0;border-color:#eddeb9;box-shadow:inset 4px 0 0 #e7ad35}
  body[data-page="school"] [data-static-school="sc_mshl4uol"] .campaign-card .campaign-label {background:#fff0c0;color:#796014}
  body[data-page="school"] [data-static-school="sc_mshl4uol"] .campaign-card h3 {color:#235b3c}
  body[data-page="school"] main .shared-course {border-color:#dbe5d3;box-shadow:0 4px 14px rgba(36,67,31,.045)}
  body[data-page="school"] main .shared-course>header {background:#08724f;color:#fff}
  body[data-page="school"] main .shared-course h3 {border-color:#e0e7d9}
  body[data-page="school"] main .shared-course .course-note {background:#f1f6e5;color:#49623a}
  body[data-page="school"] main #courses details.more-courses[open] {border-color:#a8c68f!important;background:#fcfdf8!important}
  body[data-page="index"] main .faq-list details,
  body[data-page="school"] main .school-faq {border-color:#e2e7d9;background:#fff;box-shadow:0 2px 7px rgba(36,67,31,.025)}
  body[data-page="index"] main .faq-list details[open],
  body[data-page="school"] main .school-faq[open] {background:#f7faef;border-color:#b8ce9e;box-shadow:inset 3px 0 0 #7caa4a}
  body[data-page] main :is(.btn,.tp-btn,.step-box,.city-card,.finder-detail-button,summary,input,select):focus-visible {outline:2px solid #08724f;outline-offset:3px}
}

/* Bright page accents with the restored STABRO logo and consultation colors. */
@media screen {
  :root {
    --st-orange:#ff6800;--st-orange-hover:#de5700;
    --st-line:#00ae4a;--st-line-hover:#008f3d;
  }
  body[data-page] .brand .brand-word .st {color:#00685d!important}
  body[data-page] .brand .brand-word .abro {color:#ff6800!important}
  body[data-page] .site-header .brand-sub {color:#52656a}
  body[data-page] .site-header .brand-sub .initial {color:#ff6800!important}
  body .btn.line:not(#_) {color:#fff!important;box-shadow:0 3px 0 rgba(0,100,45,.12)}
  body #stabro-cta-bar .cta-line {color:#fff!important}
  body .btn.orange {box-shadow:0 3px 0 rgba(170,71,0,.14),0 5px 12px rgba(170,71,0,.08)}
  body .btn.orange:focus-visible {outline-color:#923300}
  body .btn.line:focus-visible {outline-color:#00652b}
  body[data-page] .site-footer {background:#004e46!important}
  body[data-page] .site-footer .brand .brand-word .st {color:#fff!important}
  body[data-page] .site-footer .brand .brand-word .abro {color:#ff6800!important}
  body[data-page] .site-footer .brand-sub .initial {color:#ffb575!important}

  /* Repeat the brighter accents between the photographs. */
  body[data-page] main .eyebrow,
  body[data-page] main .shared-heading .section-number {color:#157b9f}
  body[data-page] main .btn.outline {color:#116d90;border-color:#9ecddd}
  body[data-page] main .btn.outline:hover {background:#edf9ff;border-color:#44acd0}
  body[data-page="index"] main .stabro-promise li {box-shadow:inset 0 3px 0 #39b8e8,0 3px 10px rgba(38,68,36,.035)}
  body[data-page="index"] main .stabro-promise li:nth-child(2) {box-shadow:inset 0 3px 0 #efc33d,0 3px 10px rgba(38,68,36,.035)}
  body[data-page="index"] main .stabro-promise li:nth-child(3) {box-shadow:inset 0 3px 0 #e94879,0 3px 10px rgba(38,68,36,.035)}
  body[data-page="index"] main .stabro-promise strong,
  body[data-page="index"] main .support-grid h3 b {color:#147a9e!important}
  body[data-page="index"] main #school-start {background:#edfaff}
  body[data-page="index"] #school-start .tp-tag {background:#e0f4fc;color:#176884}
  body[data-page="index"] main .guide-2026-strip {background-color:#eefaff}
  body[data-page] main .closing-cta {
    background:linear-gradient(105deg,#e5f8ff 0%,#f2fcff 51%,#fff6d4 100%);
    box-shadow:inset 0 1px 0 #dceff5,inset 0 -1px 0 #dceff5;
  }
  body[data-page="index"] main #cost-summary .tp-cost-total strong {color:#126d94!important}
  body[data-page="index"] main .tp-f-total {background:#127da5;border-color:#127da5}
  body[data-page="index"] main .tp-num {color:#1686ae!important}
  body[data-page="index"] main .tp-why .tp-icon {background:#e8f7fd;color:#187e9f}
  body[data-page="index"] main .tp-btn {background:#fff;border-color:#80bfd6;color:#116d90!important}
  body[data-page="index"] main .tp-btn:hover {background:#eaf8ff;border-color:#35a7d0}
  body[data-page="index"] #cost-summary .tp-model-photo {
    display:block;width:100%;height:auto;aspect-ratio:16/9;
    object-fit:cover;object-position:center;border-radius:8px;margin:0 0 20px;
  }
}

/* TOP refinements requested by Toru, 2026-10-14. Font metrics stay intact. */
@media screen {
  /* Restore the original, lightly rounded consultation buttons. */
  body .btn.line:not(#_),body .btn.orange[href*="consultation"]:not(#_) {
    border-radius:7px!important;
  }
  body #stabro-cta-bar :is(.cta-line,.cta-form) {border-radius:7px!important;color:#fff!important}

  /* Keep the label truly centered, independently of the trailing arrow. */
  body[data-page="index"] main .diagnosis-strip>.btn {
    position:relative;justify-content:center;text-align:center;padding-inline:32px;
  }
  body[data-page="index"] main .diagnosis-strip>.btn .button-arrow {
    position:absolute;right:14px;top:50%;transform:translateY(-50%);margin:0;
  }

  /* Match the six guide-card accent colors, in the same visual order. */
  body[data-page="index"] main #purpose .purpose-choice.purpose-photo-card {--purpose-accent:#075e78;--purpose-on-accent:#fff}
  body[data-page="index"] main #purpose .purpose-photo-card:nth-child(2) {--purpose-accent:#ff0054}
  body[data-page="index"] main #purpose .purpose-photo-card:nth-child(3) {--purpose-accent:#00a6f3;--purpose-on-accent:#fff}
  body[data-page="index"] main #purpose .purpose-photo-card:nth-child(4) {--purpose-accent:#ff9c00}
  body[data-page="index"] main #purpose .purpose-photo-card:nth-child(5) {--purpose-accent:#00b4ce}
  body[data-page="index"] main #purpose .purpose-photo-card:nth-child(6) {--purpose-accent:#ff792c}

  body[data-page="index"] #areas .city-label,
  body[data-page="index"] #areas .cities-bottom .city-label {
    top:18px;left:16px;bottom:auto;padding:0;
  }

  /* Use the available width for the formula and the three model cases. */
  body[data-page="index"] #cost-summary>.tp-wrap {
    width:auto;max-width:1200px;padding-inline:24px;
  }
  body[data-page="index"] #cost-summary .tp-head,
  body[data-page="index"] #cost-summary .tp-formula {max-width:none}
  body[data-page="index"] #cost-summary .tp-grid {gap:20px}
  body[data-page="index"] #cost-summary .tp-cost {padding-inline:20px}
  body[data-page="index"] #cost-summary .tp-cost-summary {
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
    gap:10px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #e4e8dc;
  }
  body[data-page="index"] #cost-summary .tp-cost-period {
    flex:none;align-self:center;margin:0;padding-inline:8px;
  }
  body[data-page="index"] #cost-summary .tp-cost-total {
    flex:none;margin:0;padding:0;border:0;
  }
  @media(max-width:760px) {
    body[data-page="index"] #areas .city-label,
    body[data-page="index"] #areas .cities-bottom .city-label {top:12px;left:12px}
    body[data-page="index"] #cost-summary>.tp-wrap {width:calc(100% - 32px)}
    body[data-page="index"] #cost-summary .tp-cost {padding-inline:16px}
  }
}

/* Shared inner-page alignment and price-card cleanup, 2026-10-14. */
@media screen {
  /* Let the two legacy link paragraphs flow as one row wherever they fit. */
  body main #article-gateway>p:not(.gateway-links):has(>a[href="/ph/column/"]),
  body main #article-gateway>p:not(.gateway-links):has(>a[href="/ph/schools.html"]) {
    display:inline;
  }
  body main #article-gateway>p:not(.gateway-links):has(>a[href="/ph/schools.html"])::before {content:" ／ "}
  body main #article-gateway>p>a {white-space:nowrap}

  body[data-page="cost"] main #compare .prep-table {table-layout:fixed;width:100%}
  body[data-page="cost"] main #compare .prep-table :is(th,td):first-child {width:22%!important}
  body[data-page="cost"] main #compare .prep-table :is(th,td):nth-child(2) {width:78%!important}

  body[data-page="cost"] main .prep-toc {
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;
    padding:0;border:0;
  }
  body[data-page="cost"] main .prep-toc a {
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
    gap:6px;min-width:0;min-height:96px;padding:14px 16px;
    background:#fff;border:1px solid #d6e5e2;border-radius:10px;
    text-align:left;box-shadow:0 3px 10px rgba(21,71,57,.035);
  }
  body[data-page="cost"] main .prep-toc a>span {
    display:block;flex:none;width:auto;min-width:0;white-space:nowrap;margin:0;
  }
  body[data-page="cost"] main .prep-toc a:hover {
    background:#eef9fb;border-color:#7cbccc;
  }

  /* Group the original amount and room, then the yen estimate and rate note. */
  body[data-page="schools"] main .compact-school-card .finder-card-fee {
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;
    padding:14px 16px;background:#f8fbfc;border:1px solid #d9e6ea;
    border-radius:10px;box-shadow:none;
  }
  body[data-page="schools"] main .finder-card-fee .compact-fee-label {grid-column:1/-1}
  body[data-page="schools"] main .finder-card-fee .compact-fee-price {
    grid-column:1/-1;justify-content:flex-start;align-items:center;gap:12px;margin:0;
  }
  body[data-page="schools"] main .finder-card-fee .compact-fee-room {
    padding:3px 8px;border-radius:6px;background:#e9f3f7;white-space:normal;
  }
  body[data-page="schools"] main .finder-card-fee .finder-fx-yen {
    grid-column:1;margin:0;align-self:baseline;
  }
  body[data-page="schools"] main .finder-card-fee .finder-fx-condition {
    grid-column:2;margin:0;align-self:baseline;max-width:11em;
  }
  body[data-page="schools"] main .finder-card-fee .compact-fee-course {
    grid-column:1/-1;margin:4px 0 0;padding-top:9px;border-top:1px solid #deeaee;
  }
  body[data-page="schools"] main .finder-card-fee .fee-origin {
    grid-column:1/-1;margin:0;
  }
  @media(max-width:900px) {
    body[data-page="cost"] main .prep-toc {grid-template-columns:repeat(3,minmax(0,1fr))}
  }
  @media(max-width:600px) {
    body[data-page="cost"] main .prep-toc {grid-template-columns:repeat(2,minmax(0,1fr))}
    body[data-page="cost"] main #compare .prep-table :is(th,td):first-child {width:28%!important}
    body[data-page="cost"] main #compare .prep-table :is(th,td):nth-child(2) {width:72%!important}
  }
}

/* Inline icon/number and card title; keep existing typography. */
body main article:has(>svg+h3),
body main .city-panels article:has(>.city-panel-index+h3),
body main .guide-choice-card:has(>.guide-card-index+h3),
body main .about-plan-card:has(>.about-card-top+h3){display:grid!important;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;row-gap:12px;align-items:center;align-content:start}
body main article:has(>svg+h3)>svg,
body main .city-panels article>.city-panel-index,
body main .guide-choice-card>.guide-card-index,
body main .about-plan-card>.about-card-top{grid-column:1;grid-row:1;margin:0!important;align-self:center}
body main article:has(>svg+h3)>h3,
body main .city-panels article:has(>.city-panel-index+h3)>h3,
body main .guide-choice-card:has(>.guide-card-index+h3)>h3,
body main .about-plan-card:has(>.about-card-top+h3)>h3{grid-column:2;grid-row:1;margin:0!important;align-self:center}
body main article:has(>svg+h3)>:not(svg):not(h3),
body main .city-panels article:has(>.city-panel-index+h3)>:not(.city-panel-index):not(h3),
body main .guide-choice-card:has(>.guide-card-index+h3)>:not(.guide-card-index):not(h3),
body main .about-plan-card:has(>.about-card-top+h3)>:not(.about-card-top):not(h3){grid-column:1/-1}

/* Imported card templates use icon wrappers or CSS icons. */
body main .school-choice-import-concern-grid article,
body main article:has(>i.support-import-icon+h3){display:grid!important;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;row-gap:12px;align-items:center;align-content:start;text-align:left}
body main .school-choice-import-concern-grid article>.school-choice-import-iconbubble,
body main article:has(>i.support-import-icon+h3)>i{grid-column:1;grid-row:1;margin:0!important;align-self:center}
body main .school-choice-import-concern-grid article>h3,
body main article:has(>i.support-import-icon+h3)>h3{grid-column:2;grid-row:1;margin:0!important;align-self:center;text-align:left}
body main .school-choice-import-concern-grid article>p,
body main article:has(>i.support-import-icon+h3)>p{grid-column:1/-1}
body main .school-choice-import-concern-grid h3 br{display:none}
body main .school-choice-import-concern-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
body main .support-import-during-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
body main .support-import-flow-grid article:has(>i+h3){grid-template-columns:max-content max-content minmax(0,1fr)}
body main .support-import-flow-grid article>b{grid-column:1;grid-row:1;margin:0!important;position:static!important}
body main .support-import-flow-grid article>i{grid-column:2}
body main .support-import-flow-grid article>h3{grid-column:3}

body main .school-choice-import-concern-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))!important}
body main .support-import-during-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))!important}
body main .support-import-flow-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important}
body main .support-import-flow-grid article:has(>i+h3){grid-template-columns:max-content max-content minmax(0,1fr)!important}
body main .support-import-flow-grid article>i{grid-column:2!important}
body main .support-import-flow-grid article>h3{grid-column:3!important}

/* Article cover proportions, 2026-10-14. */
.prep-hero .prep-hero-grid > figure > img { height: auto; aspect-ratio: 3 / 2; }
.prep-hero .prep-hero-grid > figure > figcaption { margin-top: .5rem; font-size: .8rem; line-height: 1.5; color: #62716d; }

/* Footer mark: use a transparent PNG so iPhone Safari does not show the dark square (it ignores the blend mode). */
body .site-footer .footer-symbol{content:url(/ph/assets/brand/footer-symbol-alpha.png)}

/* School page section tabs (PC/tablet): 10 items in two rows of five, so labels do not touch the dividers. Mobile keeps the one-line horizontal scroll. */
@media (min-width:768px){
  body nav.shared-tabs > .light-tabs-inner{grid-template-columns:repeat(5,minmax(0,1fr))!important;row-gap:8px!important;padding-block:12px!important}
  body nav.shared-tabs > .light-tabs-inner > a{justify-content:center!important;font-size:16px!important;gap:10px!important}
  body nav.shared-tabs > .light-tabs-inner > a:nth-child(5n){border-right:0!important}
}

/* School pages: the hero pill links repeat four of the ten section tabs right below, so hide them. */
body[data-page="school"] .shared-identity .hero-pills{display:none!important}

/* STABRO shared component refinement 20261019 */

body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details{box-sizing:border-box;border:1px solid #cbdcd7!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;margin:10px 0!important;padding:0!important;overflow:hidden}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary{position:relative;display:block!important;box-sizing:border-box;list-style:none!important;cursor:pointer;min-height:58px!important;padding:16px 52px!important;margin:0!important;font-size:16px!important;font-weight:700!important;line-height:1.65!important;color:#214c46!important;text-align:left;overflow-wrap:anywhere;background:transparent!important;border-radius:0!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary::-webkit-details-marker{display:none}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary::marker{content:""}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary::before{content:"Q"!important;display:block!important;position:absolute;left:20px;top:17px;margin:0!important;padding:0!important;font:700 18px/1.45 Arial,sans-serif;color:#00685d}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary::after{content:"+"!important;display:block!important;position:absolute;right:20px;top:17px;margin:0!important;padding:0!important;font:400 23px/1.1 Arial,sans-serif;color:#00685d}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary>b[aria-hidden],body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary>i[aria-hidden]{display:none!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary>span{display:inline!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details[open]{border-color:#90b9ae!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details[open]>summary{background:#f1f7f4!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details[open]>summary::before{content:"Q"!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details[open]>summary::after{content:"−"!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>:not(summary){box-sizing:border-box;margin:0!important;padding:16px 52px 20px!important;font-size:16px!important;line-height:1.85!important;color:#435d57!important;overflow-wrap:anywhere}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>:not(summary)>p{margin:0 0 12px!important;padding:0!important;font-size:inherit!important;line-height:inherit!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>:not(summary)>p:last-child{margin-bottom:0!important}
body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary:focus-visible{outline:3px solid #167b70;outline-offset:-4px}
@media(max-width:600px){body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary{padding:15px 42px!important}body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary::before{left:14px;top:16px}body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>summary::after{right:14px;top:16px}body #main :is(.faq-list,.prep-faq,.tg-faq,.support-import-faq-list,.unified-faq,#preparation-faq,#cost-faq,.school-faq-section) details>:not(summary){padding:14px 18px 18px!important}}

body #main :is(.prep-toc,.cp-nav,.guide-toc){display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px!important;padding:16px!important;background:#f3f7f5;border:1px solid #dbe6e1;border-radius:12px;box-sizing:border-box}
body #main :is(.prep-toc,.cp-nav,.guide-toc)>a{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:46px;padding:10px 13px!important;border:1px solid #cbdcd7!important;border-radius:8px!important;background:#fff;color:#214c46!important;font-size:14px!important;font-weight:700;line-height:1.6;text-align:left;text-decoration:none!important;box-sizing:border-box;min-width:0;overflow-wrap:anywhere}
body #main :is(.prep-toc,.cp-nav,.guide-toc)>a>span{font-size:16px;color:#c95100;flex-shrink:0}
body #main :is(.prep-toc,.cp-nav,.guide-toc)>a:hover,body #main .b2-links a:hover{background:#eaf5f0;border-color:#7eaa9c!important;color:#005b50!important}
body #main :is(.prep-toc,.cp-nav,.guide-toc)>a:focus-visible,body #main .b2-links a:focus-visible{outline:3px solid #167b70;outline-offset:3px}
body #main .b2-links{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:20px 0 0;list-style:none}
body #main .b2-links li{display:flex;margin:0;padding:0;min-width:0}
body #main .b2-links a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 16px;border:1px solid #cbdcd7!important;border-radius:8px!important;background:#fff;color:#21574b!important;font-size:14px!important;font-weight:600;line-height:1.6;text-decoration:none!important;overflow-wrap:anywhere}
@media(max-width:600px){body #main :is(.prep-toc,.cp-nav,.guide-toc){grid-template-columns:repeat(2,minmax(0,1fr));padding:10px!important}body #main :is(.prep-toc,.cp-nav,.guide-toc)>a{padding:10px!important;gap:7px}body #main .b2-links{display:grid;grid-template-columns:1fr}body #main .b2-links a{width:100%;justify-content:flex-start}}

body .site-footer>.wrap{width:calc(100% - 48px);max-width:1200px;margin-inline:auto}
body .site-footer .footer-grid{grid-template-columns:320px repeat(4,minmax(0,1fr))!important;gap:28px 22px!important}
body .site-footer .footer-grid>div:first-child{grid-column:auto!important}
body .site-footer .footer-grid .footer-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1!important;gap:12px;padding:0}
body .site-footer .footer-actions .btn{width:100%;min-width:0;box-sizing:border-box;justify-content:center;line-height:1.6;white-space:normal}
body .site-footer .footer-nav a{overflow-wrap:anywhere}
body .site-footer .footer-symbol{content:url(/ph/assets/brand/footer-symbol-alpha.png)}
@media(max-width:1120px){body .site-footer .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}body .site-footer .footer-grid>div:first-child{grid-column:1/-1!important}}
@media(max-width:760px){body .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 20px!important}}
@media(max-width:600px){body .site-footer>.wrap{width:calc(100% - 32px)}body .site-footer .footer-grid .footer-actions{grid-template-columns:1fr}}
