/* Junior High redesign: page-scoped layout using the established Home / Elementary visual language. */
.junior-high-page {
 --jp-deep:#052a5f;
 --jp-blue:#2766b9;
 --jp-action:#0a438c;
 --jp-ink:#244b77;
 --jp-pale:#f4f8fd;
 --jp-soft:#eff5fc;
 --jp-line:#d7e4f4;
 --jp-serif:"Yu Mincho","Hiragino Mincho ProN",serif;
 --jp-sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
 color:var(--jp-deep);
 font:16px/1.82 var(--jp-sans);
}
.junior-high-page *, .junior-high-page *::before, .junior-high-page *::after {box-sizing:border-box;}
.junior-high-page > section :is(h1,h2,h3,h4,p), .junior-high-page .jp-learning-styles :is(h3,h4,p) {margin:0;}
.junior-high-page :is(h1,h2,h3,h4) {font-family:var(--jp-serif);font-weight:600;}
.junior-high-page h1 {font-size:44px;line-height:1.3;letter-spacing:.015em;}
.junior-high-page h2 {font-size:36px;line-height:1.42;letter-spacing:.01em;}
.junior-high-page h3 {font-size:23px;line-height:1.5;}
.junior-high-page h4 {font-size:20px;line-height:1.55;}
.junior-high-page .jp-container {width:calc(100% - 40px);max-width:1180px;margin-inline:auto;}
.junior-high-page .jp-section {padding-block:72px 80px;}
.junior-high-page .jp-eyebrow {margin-bottom:10px;color:var(--jp-blue);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.19em;text-transform:uppercase;}
.junior-high-page .jp-section-heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:72px;align-items:end;margin-bottom:42px;}
.junior-high-page .jp-section-heading > p {max-width:480px;color:var(--jp-ink);font-size:15px;}

.junior-high-page .jp-hero {overflow:hidden;background:linear-gradient(112deg,#fff 0%,#f8fbff 48%,#edf5fd 100%);border-bottom:1px solid var(--jp-line);}
.junior-high-page .jp-hero__layout {display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:520px;}
.junior-high-page .jp-hero__copy {position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:42px 40px 42px max(20px,calc((100vw - 1180px) / 2));}
.junior-high-page .jp-hero h1 {color:var(--jp-deep);}
.junior-high-page .jp-hero__catch {margin-top:16px;color:var(--jp-deep);font:600 36px/1.3 var(--jp-serif);letter-spacing:.005em;}
.junior-high-page .jp-hero__catch span {display:block;}
.junior-high-page .jp-hero__body {max-width:510px;margin-top:12px;color:var(--jp-ink);font-size:14px;line-height:1.82;}
.junior-high-page .jp-hero__actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.junior-high-page .jp-hero-button {display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:9px 22px;border:1px solid var(--jp-action);border-radius:3px;font:700 14px/1.4 var(--jp-sans);text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease;}
.junior-high-page .jp-hero-button--primary {min-width:220px;background:var(--jp-action);color:#fff;}
.junior-high-page .jp-hero-button--primary span {margin-left:22px;font-size:18px;font-weight:400;}
.junior-high-page .jp-hero-button--line {min-width:142px;background:rgba(255,255,255,.76);color:var(--jp-action);cursor:pointer;appearance:none;}
.junior-high-page .jp-hero-button:hover {background:#073575;border-color:#073575;color:#fff;}
.junior-high-page .jp-hero-button:focus-visible {outline:3px solid #b9d2f0;outline-offset:3px;}
.junior-high-page .jp-hero__grade {display:flex;align-items:center;gap:18px;width:min(100%,510px);margin-top:18px;padding-top:14px;border-top:1px solid #b9d2f0;color:var(--jp-deep);font-size:13px;font-weight:600;}
.junior-high-page .jp-hero__grade span {color:var(--jp-blue);font-size:10px;font-weight:700;letter-spacing:.08em;}
.junior-high-page .jp-hero__media {position:relative;min-width:0;min-height:520px;margin:0;overflow:hidden;border-radius:15% 0 0 18% / 48% 0 0 52%;}
.junior-high-page .jp-hero__media::after {position:absolute;inset:0;background:linear-gradient(90deg,rgba(237,245,253,.15),transparent 19%);content:"";pointer-events:none;}
.junior-high-page .jp-hero__media img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%;}

.junior-high-page .jp-features {background:#fff;}
.junior-high-page .jp-feature-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}
.junior-high-page .jp-feature {min-width:0;padding:0 25px;text-align:center;}
.junior-high-page .jp-feature:first-child {padding-left:0;}
.junior-high-page .jp-feature:last-child {padding-right:0;}
.junior-high-page .jp-feature + .jp-feature {border-left:1px solid var(--jp-line);}
.junior-high-page .jp-feature__number {display:block;color:#76a0d6;font:500 30px/1 Georgia,"Times New Roman",serif;letter-spacing:.08em;}
.junior-high-page .jp-feature__icon {display:block;width:54px;height:54px;margin:17px auto 15px;fill:none;stroke:var(--jp-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.junior-high-page .jp-feature h3 {font-size:18px;line-height:1.55;}
.junior-high-page .jp-feature p {margin-top:12px;color:var(--jp-ink);font-size:13px;line-height:1.78;text-align:left;}

.junior-high-page .jp-test-exam {background:var(--jp-deep);color:#fff;}
.junior-high-page .jp-test-exam .jp-eyebrow {color:#9cc0eb;}
.junior-high-page .jp-test-exam__heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:72px;align-items:end;margin-bottom:38px;}
.junior-high-page .jp-test-exam__heading > p {max-width:470px;color:#d4e3f6;font-size:15px;}
.junior-high-page .jp-test-exam__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #52759f;border-bottom:1px solid #52759f;}
.junior-high-page .jp-test-exam__grid article {padding:34px 44px 36px 0;}
.junior-high-page .jp-test-exam__grid article + article {padding-left:44px;border-left:1px solid #52759f;}
.junior-high-page .jp-test-exam__meta {display:flex;align-items:center;gap:18px;margin-bottom:18px;color:#a9c8ed;}
.junior-high-page .jp-test-exam__meta span {font:500 22px/1 Georgia,"Times New Roman",serif;letter-spacing:.08em;}
.junior-high-page .jp-test-exam__meta p {font-size:12px;font-weight:700;letter-spacing:.12em;}
.junior-high-page .jp-test-exam__grid h3 {font-size:26px;line-height:1.5;}
.junior-high-page .jp-test-exam__grid article > p {max-width:490px;margin-top:16px;color:#d4e3f6;font-size:14px;line-height:1.85;}

.junior-high-page .jp-subjects {background:#fff;}
.junior-high-page .jp-section-heading--subjects {margin-bottom:30px;}
.junior-high-page .jp-subject-list {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--jp-line);list-style:none;}
.junior-high-page .jp-subject-list li {display:flex;align-items:baseline;justify-content:center;gap:14px;padding:23px 10px;}
.junior-high-page .jp-subject-list li + li {border-left:1px solid var(--jp-line);}
.junior-high-page .jp-subject-list span {color:#77a1d7;font:500 14px/1 Georgia,"Times New Roman",serif;}
.junior-high-page .jp-subject-list strong {font:600 25px/1.45 var(--jp-serif);}

.junior-high-page .jp-plan {background:#f8fbff;}
.junior-high-page .jp-plan__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--jp-line);border-bottom:1px solid var(--jp-line);}
.junior-high-page .jp-plan__grid article {position:relative;padding:28px 34px 30px;}
.junior-high-page .jp-plan__grid article:first-child {padding-left:0;}
.junior-high-page .jp-plan__grid article:last-child {padding-right:0;}
.junior-high-page .jp-plan__grid article + article {border-left:1px solid var(--jp-line);}
.junior-high-page .jp-plan__grid span {display:block;margin-bottom:16px;color:#77a1d7;font:500 25px/1 Georgia,"Times New Roman",serif;letter-spacing:.07em;}
.junior-high-page .jp-plan__grid h3 {font-size:22px;}
.junior-high-page .jp-plan__grid p {margin-top:10px;color:var(--jp-ink);font-size:14px;}

.junior-high-page .jp-support {background:var(--jp-soft);}
.junior-high-page .jp-support__methods {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #c9ddef;border-bottom:1px solid #c9ddef;}
.junior-high-page .jp-support__methods article {display:grid;grid-template-columns:48px 170px minmax(0,1fr);gap:18px;align-items:center;padding:25px 30px 25px 0;}
.junior-high-page .jp-support__methods article + article {padding-left:30px;border-left:1px solid #c9ddef;}
.junior-high-page .jp-support__methods span {color:#77a1d7;font:500 20px/1 Georgia,"Times New Roman",serif;}
.junior-high-page .jp-support__methods h3 {font-size:20px;}
.junior-high-page .jp-support__methods p {color:var(--jp-ink);font-size:13px;}
.junior-high-page .jp-learning-styles {margin-top:50px;}
.junior-high-page .jp-learning-styles__heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:72px;align-items:end;margin-bottom:28px;}
.junior-high-page .jp-learning-styles__heading h3 {font-size:29px;}
.junior-high-page .jp-learning-styles__heading > p {color:var(--jp-ink);font-size:14px;}
.junior-high-page .ip-format-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.junior-high-page .ip-format {min-width:0;padding:4px 52px 6px;text-align:center;}
.junior-high-page .ip-format + .ip-format {border-left:1px solid var(--jp-line);}
.junior-high-page .ip-ratio {color:var(--jp-blue);font:400 54px/1 Georgia,"Times New Roman",serif;letter-spacing:.02em;}
.junior-high-page .ip-people {display:block;width:120px;height:49px;margin:22px auto;fill:none;stroke:var(--jp-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.junior-high-page .ip-format h4 {color:var(--jp-deep);font-size:23px;line-height:1.5;}
.junior-high-page .ip-format .ip-format__body {max-width:280px;margin:16px auto 0;color:var(--jp-ink);font-size:15px;line-height:1.85;text-align:left;}
.junior-high-page .jp-note {margin-top:18px;color:var(--jp-ink);font-size:12px;text-align:center;}

@media (max-width:1180px) and (min-width:960px) {
 .junior-high-page .jp-hero__layout {grid-template-columns:minmax(0,47%) minmax(0,53%);}
 .junior-high-page .jp-hero__copy {padding-right:26px;padding-left:20px;}
 .junior-high-page .jp-hero h1 {font-size:39px;}
 .junior-high-page .jp-hero__catch {font-size:32px;}
 .junior-high-page .jp-feature {padding-inline:18px;}
 .junior-high-page .jp-feature h3 {font-size:17px;}
 .junior-high-page .jp-support__methods article {grid-template-columns:42px 145px minmax(0,1fr);gap:14px;}
}

@media (max-width:959px) {
 .junior-high-page {font-size:15px;line-height:1.82;}
 .junior-high-page h1 {font-size:30px;line-height:1.35;}
 .junior-high-page h2 {font-size:29px;line-height:1.45;}
 .junior-high-page h3 {font-size:21px;}
 .junior-high-page .jp-section {padding-block:50px 54px;}
 .junior-high-page .jp-section-heading, .junior-high-page .jp-test-exam__heading, .junior-high-page .jp-learning-styles__heading {grid-template-columns:1fr;gap:12px;margin-bottom:28px;}
 .junior-high-page .jp-pc-break {display:none;}
 .junior-high-page .jp-hero__layout {grid-template-columns:1fr;min-height:0;}
 .junior-high-page .jp-hero__copy {padding:30px 20px 26px;}
 .junior-high-page .jp-hero__catch {margin-top:13px;font-size:34px;line-height:1.3;}
 .junior-high-page .jp-hero__body {margin-top:12px;font-size:14px;line-height:1.78;}
 .junior-high-page .jp-hero__actions {gap:10px;margin-top:20px;}
 .junior-high-page .jp-hero-button {min-height:50px;padding-inline:16px;}
 .junior-high-page .jp-hero-button--primary {min-width:0;flex:1 1 190px;}
 .junior-high-page .jp-hero-button--line {min-width:116px;flex:0 0 124px;}
 .junior-high-page .jp-hero__grade {margin-top:17px;padding-top:13px;}
 .junior-high-page .jp-hero__media {height:clamp(250px,65vw,330px);min-height:clamp(250px,65vw,330px);border-radius:64px 0 0;}
 .junior-high-page .jp-hero__media img {object-position:50% 44%;}
 .junior-high-page .jp-feature-grid {grid-template-columns:1fr;}
 .junior-high-page .jp-feature, .junior-high-page .jp-feature:first-child, .junior-high-page .jp-feature:last-child {display:grid;grid-template-columns:42px 48px minmax(0,1fr);grid-template-areas:"number icon title" "number icon body";column-gap:11px;row-gap:5px;align-items:start;padding:18px 0;text-align:left;}
 .junior-high-page .jp-feature:first-child {padding-top:0;}
 .junior-high-page .jp-feature + .jp-feature {border-left:0;border-top:1px solid var(--jp-line);}
 .junior-high-page .jp-feature__number {grid-area:number;font-size:23px;}
 .junior-high-page .jp-feature__icon {grid-area:icon;width:42px;height:42px;margin:0;}
 .junior-high-page .jp-feature h3 {grid-area:title;font-size:18px;}
 .junior-high-page .jp-feature h3 br {display:none;}
 .junior-high-page .jp-feature p {grid-area:body;margin:0;font-size:13px;}
 .junior-high-page .jp-test-exam__grid {grid-template-columns:1fr;}
 .junior-high-page .jp-test-exam__grid article, .junior-high-page .jp-test-exam__grid article + article {padding:26px 0 28px;border-left:0;}
 .junior-high-page .jp-test-exam__grid article + article {border-top:1px solid #52759f;}
 .junior-high-page .jp-test-exam__grid h3 {font-size:23px;}
 .junior-high-page .jp-subject-list {grid-template-columns:repeat(2,minmax(0,1fr));}
 .junior-high-page .jp-subject-list li {justify-content:flex-start;padding:18px 20px;}
 .junior-high-page .jp-subject-list li + li {border-left:0;}
 .junior-high-page .jp-subject-list li:nth-child(even) {border-left:1px solid var(--jp-line);}
 .junior-high-page .jp-subject-list li:nth-child(n+3) {border-top:1px solid var(--jp-line);}
 .junior-high-page .jp-subject-list li:last-child {grid-column:1 / -1;}
 .junior-high-page .jp-plan__grid {grid-template-columns:1fr;}
 .junior-high-page .jp-plan__grid article, .junior-high-page .jp-plan__grid article:first-child, .junior-high-page .jp-plan__grid article:last-child {display:grid;grid-template-columns:48px minmax(0,1fr);gap:5px 12px;padding:21px 0;}
 .junior-high-page .jp-plan__grid article + article {border-left:0;border-top:1px solid var(--jp-line);}
 .junior-high-page .jp-plan__grid span {grid-row:1 / 3;margin:2px 0 0;}
 .junior-high-page .jp-plan__grid p {margin:0;}
 .junior-high-page .jp-support__methods {grid-template-columns:1fr;}
 .junior-high-page .jp-support__methods article, .junior-high-page .jp-support__methods article + article {grid-template-columns:42px minmax(0,1fr);gap:5px 12px;padding:22px 0;border-left:0;}
 .junior-high-page .jp-support__methods article + article {border-top:1px solid #c9ddef;}
 .junior-high-page .jp-support__methods span {grid-row:1 / 3;}
 .junior-high-page .jp-support__methods p {grid-column:2;}
 .junior-high-page .jp-learning-styles {margin-top:42px;}
 .junior-high-page .jp-learning-styles__heading h3 {font-size:25px;}
 .junior-high-page .ip-format-grid {grid-template-columns:1fr;border-top:1px solid var(--jp-line);}
 .junior-high-page .ip-format {display:grid;grid-template-areas:"ratio title" "icon body";grid-template-columns:clamp(100px,20vw,150px) minmax(0,1fr);gap:11px clamp(20px,4.5vw,42px);align-items:start;padding:31px clamp(0px,3vw,24px);text-align:left;}
 .junior-high-page .ip-format + .ip-format {border-left:0;border-top:1px solid var(--jp-line);}
 .junior-high-page .ip-ratio {grid-area:ratio;align-self:end;font-size:48px;}
 .junior-high-page .ip-people {grid-area:icon;width:104px;height:43px;margin:0;}
 .junior-high-page .ip-format h4 {grid-area:title;align-self:end;font-size:21px;line-height:1.55;}
 .junior-high-page .ip-format .ip-format__body {grid-area:body;max-width:520px;margin:0;font-size:14px;line-height:1.8;text-align:left;}
 .junior-high-page .jp-note {font-size:12px;text-align:left;}
}

@media (max-width:420px) {
 .junior-high-page .jp-hero__actions {display:grid;grid-template-columns:1fr;}
 .junior-high-page .jp-hero-button--line {width:100%;min-width:0;}
 .junior-high-page .jp-feature, .junior-high-page .jp-feature:first-child, .junior-high-page .jp-feature:last-child {grid-template-columns:38px 40px minmax(0,1fr);column-gap:9px;}
 .junior-high-page .jp-feature__number {font-size:21px;}
 .junior-high-page .jp-feature__icon {width:38px;height:38px;}
 .junior-high-page .jp-subject-list li {padding-inline:14px;}
}
