/* 太さを一段ずつずらす別名(Mac のヒラギノ角ゴ専用。ない環境では font-family の続きに落ちる)。
   100〜549(本文 400・500)→ W3、550〜649(見出し 600)→ W5、650 以上(700・800・900 とも 700 相当)→ W6 */
@font-face{font-family:"LookupSans";font-weight:100 549;src:local("HiraginoSans-W3"),local("Hiragino Sans W3")}
@font-face{font-family:"LookupSans";font-weight:550 649;src:local("HiraginoSans-W5"),local("Hiragino Sans W5")}
@font-face{font-family:"LookupSans";font-weight:650 1000;src:local("HiraginoSans-W6"),local("Hiragino Sans W6")}

/* サイト全体の決まり(review/20261029-balance/RULES.md)。7ページの head の一番最後に読み込む。
   既存の CSS は外さず、この1枚で上書きする。値は px(ルート文字 PC 20px・スマホ 17px)。
   文字の段 PC 44/34/25/20/17、スマホ 30/25/20/17/14.5。余白の段 PC 72/40/20/20、スマホ 48/28/14/16。
   例外(触らない):トップの写真の上のキャッチ(.hero__*)、喜びの声の .score-number。 */

/* ===== 0. 書体(塾長の決定「見出しもそろえる」):見本のサイトと同じ、機械に入っている書体 =====
   例外(今のまま):トップの写真の上の .hero__title・.hero__kicker、喜びの声の .score-number。
   :is() の中の #site-rules は、ページごとの font 指定(クラス)より強くするためのもの。 */
body{font-family:"LookupSans","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP",Meiryo,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400}
body :is(*,#site-rules):not(.hero__title,.hero__title *,.hero__kicker,.hero__kicker *,.score-number){font-family:"LookupSans","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP",Meiryo,-apple-system,BlinkMacSystemFont,sans-serif}
.results-page .score-number{font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif}
/* 太さ:本文 400、見出し 600、強調 700。既存の 800・900 は LookupSans で 700 相当(W6)になる */
main :is(h1,h2,h3,#site-rules):not(.hero__title){font-weight:700}
/* 本文の段落・引用・図の説明は 400(強調の strong は親が 400 でも bolder で太字のまま) */
body :is(.proof-item figcaption,.proof-voice-list figcaption,.proof-item blockquote,.proof-item blockquote p,blockquote p,.proof-item--high-story blockquote,.proof-item--high-story cite,.name-origin__photo figcaption,.hr-intro p,.hr-hero__copy>p:last-child,.pathway-block__proof p,.evidence-list li,.m-results li,.results-page .results-sections .voice-signature,#site-rules){font-weight:400}
body :is(.proof-chapter__headline>p,.proof-item--number strong,.proof-item--number strong *,.proof-parent-list strong,.proof-results-list strong,.proof-results-note,.proof-high-story__label,.guide-chapter__division,.guide-chapter__content>a,.detail-cta,.name-origin__content>a,.steps__grid p,.m-kicker,.m-button,.story-result,.admission-list strong,.fee-table--middle tr:not(:first-child) td:first-child,.letter-closing,#site-rules){font-weight:700}
.hr-page .hr-intro p.high-admissions{font-weight:400}

/* ===== 1. 見出しの段 =====
   page-common.css 末尾が見出しに !important を付けているため、ここも !important で上書きする。
   :is() の中の #site-rules は一致しない ID で、詳細度を (1,1,1) に上げて、ページごとの指定(クラス)より強くするためのもの。 */
main :is(h1,h2,h3,#site-rules):not(.hero__title){line-height:1.4;letter-spacing:-.02em}
main :is(h1,#site-rules):not(.hero__title){font-size:44px!important}
main :is(h2,#site-rules){font-size:34px!important}
main :is(h3,#site-rules){font-size:25px!important}
@media(max-width:899px){
 main :is(h1,#site-rules):not(.hero__title){font-size:30px!important}
 main :is(h2,#site-rules){font-size:25px!important}
 main :is(h3,#site-rules){font-size:20px!important}
}
/* アクセスの3枚のカードの題は小見出しの段 */
main .access-info :is(h2,#site-rules){font-size:25px!important}
@media(max-width:899px){main .access-info :is(h2,#site-rules){font-size:20px!important}}

/* ===== 4. 改行:大きい文字のころの区切りは、PC では見出しで効かせない ===== */
@media(min-width:900px){
 main :is(h1,h2) :is(.pc-heading-unit,.phrase-unit,.headline-unit){display:inline;white-space:nowrap}
 /* 中学部・高等部の写真の上の h1 は2行に割るため、区切りを残す */
 main .pc-photo-masthead h1 :is(.pc-heading-unit,.phrase-unit,.headline-unit){display:inline-block}
 .spread--proof-chapter .proof-chapter__headline h2 br,.spread--name-origin .name-origin__content h2 br{display:none}
}

/* ===== 共通:フッター・問い合わせ ===== */
body .site-footer{margin-top:72px;font-size:17px}
main section.inquiry-block{padding-top:40px;padding-bottom:0}
main section.inquiry-block>h2{margin-bottom:20px}
main section.inquiry-block>.inquiry-block__fallback{font-size:17px}
main.pc-page>section.inquiry-block{margin-top:72px}
@media(max-width:899px){
 body .site-footer{margin-top:48px;font-size:14.5px}
 main section.inquiry-block{padding-top:28px}
 main section.inquiry-block>h2{margin-bottom:14px}
 main section.inquiry-block>.inquiry-block__fallback{font-size:14.5px}
 main .inquiry-block__phone a{font-size:20px}
 main.pc-page>section.inquiry-block{margin-top:48px}
}

/* ===== 共通:pc-page(喜びの声・代表挨拶・授業料・アクセス) ===== */
body .pc-page{--pc-section-gap:72px}
@media(min-width:900px){
 /* 中身の幅 最大 1180px(左右 6vw は残す) */
 body .detail-main.pc-page{max-width:calc(1180px + 12vw);padding-inline:6vw}
 /* 冒頭の区画は4ページとも高さ 360px、絵は高さ 260px で縦横比のまま(幅は絵に合わせる) */
 body .pc-page .pc-masthead.page-masthead{grid-template-columns:minmax(0,1fr) auto;box-sizing:border-box;height:360px;min-height:0;align-items:start;gap:3rem}
 body .pc-page .pc-masthead .page-masthead__copy{align-self:start}
 body .pc-page .pc-masthead .pc-masthead__visual{align-self:end;justify-self:end;height:260px;min-height:0;max-height:none;width:auto;max-width:none;display:flex;align-items:flex-end}
 body .pc-page .pc-masthead .pc-masthead__visual img{max-width:none!important;max-height:none!important;width:auto;height:260px;display:block}
}
body .pc-page .pc-masthead{padding:40px 0}
body .pc-page .pc-masthead .site-breadcrumb{margin-bottom:20px}
body .pc-page .pc-masthead h1{margin-bottom:20px}
body .pc-page .pc-index{margin:40px 0 0}
body .pc-page .pc-section{padding-top:40px}
body .pc-page .pc-section__heading{margin-bottom:20px}
body .pc-page .pc-section__label{margin:0}
body .pc-page .pc-section h2{max-width:1180px}
body .pc-page .pc-table-scroll{margin:40px 0}
body .pc-page .pc-section>.pc-card{margin:40px 0 0;padding:20px 40px}
body .pc-page .pc-card p{padding:20px 0}
body .pc-page .pc-photo{margin:72px 0 0}
@media(max-width:899px){
 body .pc-page{--pc-section-gap:48px}
 body .pc-page .pc-masthead{padding:28px 0}
 body .pc-page .pc-masthead.page-masthead{height:auto;min-height:0;align-items:start;gap:20px}
 body .pc-page .pc-masthead .pc-masthead__visual{height:180px;min-height:0;max-height:none;width:100%;padding:0;display:flex;justify-content:center}
 body .pc-page .pc-masthead .pc-masthead__visual img{max-width:100%!important;max-height:none!important;width:auto;height:180px;object-fit:contain;object-position:center}
 body .pc-page .pc-masthead .site-breadcrumb{margin-bottom:14px}
 body .pc-page .pc-masthead h1{margin-bottom:14px}
 body .pc-page .pc-index{margin-top:28px}
 body .pc-page .pc-section{padding-top:28px}
 body .pc-page .pc-section__heading{margin-bottom:14px}
 body .pc-page .pc-table-scroll{margin:28px 0}
 body .pc-page .pc-section>.pc-card{margin-top:28px;padding:14px 16px}
 body .pc-page .pc-card p{padding:16px 0}
 body .pc-page .pc-photo{margin-top:48px}
}

/* ===== トップ(index) ===== */
@media(min-width:900px){
 /* 区切りの間 72px(上下 36px ずつ)、中身の幅 最大 1180px */
 main .spread:not(.spread--hero):not(.spread--contact){padding-top:36px;padding-bottom:36px;padding-inline:max(calc(var(--frame-side) + 4rem),calc((100% - 1180px) / 2));scroll-margin-top:calc(var(--frame-top) + 20px)}
 main .spread.spread--contact{padding-top:36px}
 /* 中身が短い章は画面の高さまで伸ばさない(写真の高さが決まっている章だけ) */
 main .spread--classroom,main .spread--guide-chapter{min-height:0}
}
@media(max-width:899px){
 main .spread:not(.spread--hero):not(.spread--contact){padding-top:24px;padding-bottom:24px;scroll-margin-top:calc(var(--frame-top) + 14px)}
 main .spread.spread--contact{padding-top:24px}
}

/* 5. 区切りの頭:「中学部」「高等部」は見出しの上の小さなラベル、h2 は全幅 */
main .spread--proof-chapter{gap:40px}
.spread--proof-chapter .proof-chapter__headline{display:block;padding-bottom:20px}
.spread--proof-chapter .proof-chapter__headline>p{margin:0;font-size:17px;line-height:1.9;font-weight:700;letter-spacing:0;white-space:normal}
.spread--proof-chapter .proof-chapter__headline h2{margin:0}
.spread--proof-chapter .proof-chapter__headline>span{margin-top:20px;font-size:20px;line-height:1.9}

/* 5. 実績3つの組(h2.proof-stats):横に3つ・同じ大きさ、スマホは縦。条件の注記は右隅に小さく。生徒の声・写真・保護者の声は同じ幅の3列 */
.spread--proof-chapter .proof-chapter__headline .proof-stats{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;margin-top:8px}
.spread--proof-chapter .proof-stats>span{display:block;font-size:25px;line-height:1.4;font-weight:700;letter-spacing:-.02em;word-break:keep-all;overflow-wrap:anywhere}
.spread--proof-chapter .proof-stats em{color:var(--green);font-style:normal}
.spread--proof-chapter .proof-chapter__headline>.proof-note{display:block;margin-top:16px;text-align:right;font-size:14.5px;line-height:1.7;font-weight:400;color:color-mix(in srgb,var(--ink) 68%,transparent)}
#results .proof-parent-list strong{font-size:25px;line-height:1.4}
@media(min-width:900px){
 #results .proof-chapter__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #results .proof-item--parent{grid-column:auto}
 .spread--proof-chapter .proof-chapter__headline .proof-stats{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}
 .spread--proof-chapter .proof-stats>span{font-size:34px}
 .spread--proof-chapter .proof-chapter__headline>.proof-note{font-size:17px}
}
@media(min-width:900px){
 /* 生徒の声:手書きの写真と文を縦に積み、文の列を札の幅いっぱい(1行 約16字)にする */
 #results .proof-voice-list figure{grid-template-columns:minmax(0,1fr);gap:20px}
 #results .proof-voice-list img{height:auto;max-height:124px}
}
@media(min-width:900px) and (max-width:1100px){
 /* v2.css の 900〜1100px の並べ替えを、3列のときの形に戻す */
 #results .proof-parent-list{grid-template-columns:none;grid-template-rows:repeat(2,1fr);gap:0}
 #results .proof-parent-list blockquote{border-left:0;border-top:1px solid var(--green);padding:.6rem 0}
 #results .proof-parent-list blockquote:first-child{border-top:0;padding-top:0}
}
@media(max-width:899px){
 .spread--proof-chapter .proof-chapter__headline>p{font-size:14.5px}
 .spread--proof-chapter .proof-chapter__headline>span{margin-top:14px;font-size:17px}
}

/* 高等部の実績 */
#high-proof .proof-high-story__label{font-size:17px;line-height:1.9}
#high-proof .proof-results-list strong{font-size:20px}
#high-proof .proof-results-note{font-size:20px!important;line-height:1.9}
@media(min-width:900px){
 #high-proof .proof-chapter__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #high-proof .proof-item--results{grid-column:auto}
}
@media(min-width:900px) and (max-width:1100px){
 #high-proof .proof-results-list{display:block}
 #high-proof .proof-results-list li{display:flex}
}
@media(max-width:899px){
 #high-proof .proof-results-list :is(strong,span){font-size:17px}
 #high-proof .proof-results-note{font-size:17px!important}
}

/* 高等部トップ:写真と合格実績の2列。写真の左右全体を見せる */
@media(min-width:1101px){
 #high-proof .proof-chapter__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}
 #high-proof .proof-item--results{padding:1rem}
 #high-proof .proof-item--results h3{margin-bottom:.4rem}
 #high-proof .proof-results-list li{padding:.2rem 0}
 #high-proof .proof-results-note{margin-top:.35rem!important;padding-top:.35rem}
 #high-proof .proof-item--results .detail-cta{margin-top:1rem}
 #high-proof .proof-item--image{grid-template-rows:minmax(0,1fr) auto}
 #high-proof .proof-item--image img{width:100%;height:auto;aspect-ratio:2752/1200}
}
@media(min-width:900px) and (max-width:1100px){
 #high-proof .proof-chapter__grid{grid-template-columns:minmax(0,1fr);gap:1rem}
 #high-proof .proof-item--image{display:grid;grid-template-rows:minmax(0,1fr) auto}
 #high-proof .proof-item--image img{width:100%;height:auto;max-height:calc(100svh - 28rem);aspect-ratio:2752/1200;object-fit:contain}
 #high-proof .proof-item--results{grid-column:auto}
 #high-proof .proof-results-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem 1rem}
 #high-proof .proof-results-list li{display:flex;flex-direction:column;align-items:flex-start}
}

/* コース案内(高校受験・大学受験) 。6. 特徴の番号は順番に意味がないので外す */
main .spread--guide-chapter{gap:40px}
.spread--guide-chapter .guide-chapter__division{font-size:17px;line-height:1.9}
.spread--guide-chapter .guide-chapter__content h2{margin:0 0 20px}
.spread--guide-chapter .guide-chapter__lead{margin:0 0 20px;font-size:20px;line-height:1.9}
.spread--guide-chapter .guide-chapter__points b{display:none}
.spread--guide-chapter .guide-chapter__points article{grid-template-columns:minmax(0,1fr)}
.spread--guide-chapter .guide-chapter__content>a{margin-top:40px;font-size:17px}
@media(max-width:899px){
 .spread--guide-chapter .guide-chapter__division{font-size:14.5px}
 .spread--guide-chapter .guide-chapter__content h2{margin-bottom:14px}
 .spread--guide-chapter .guide-chapter__lead{margin-bottom:14px;font-size:17px}
 .spread--guide-chapter .guide-chapter__content>a{margin-top:28px;font-size:14.5px}
}

/* 名前の由来 */
.spread--name-origin .name-origin__content h2{margin:0 0 20px}
.spread--name-origin{align-items:start}
.spread--name-origin .name-origin__visual{grid-template-rows:minmax(0,1fr);gap:0}
.spread--name-origin .name-origin__content>.name-origin__mark{display:block;place-items:start;justify-self:start;text-align:left;margin:0 0 20px}
.spread--name-origin .name-origin__content>.name-origin__mark img{display:block;width:240px;max-width:100%;height:auto;margin:0}
.spread--name-origin .name-origin__body{max-width:840px}
.spread--name-origin .name-origin__body p,.spread--name-origin .name-origin__content>a{font-size:20px}
@media(max-width:899px){
 .spread--name-origin .name-origin__content h2{margin-bottom:14px}
 .spread--name-origin .name-origin__content>.name-origin__mark{margin:0 0 14px}
 .spread--name-origin .name-origin__content>.name-origin__mark img{width:170px}
 .spread--name-origin .name-origin__body p,.spread--name-origin .name-origin__content>a,.spread--name-origin .name-origin__photo figcaption{font-size:17px}
}

/* 入塾までの3ステップ(番号は順番に意味があるので残す) */
.spread--steps .steps__head{padding-bottom:20px}
.spread--steps .steps__grid p{font-size:17px}
.spread--steps .steps__grid span{font-size:20px;line-height:1.9}
.spread--steps .steps__note{font-size:17px}
@media(max-width:899px){
 .spread--steps .steps__head{padding-bottom:14px}
 .spread--steps .steps__grid p,.spread--steps .steps__note{font-size:14.5px}
 .spread--steps .steps__grid span{font-size:17px}
}

/* ===== 中学部(middle) ===== */
@media(min-width:900px){
 /* 写真の上の文の箱を読む幅(840px)にして、h1 を2行に入れる */
 .middle-page .pc-photo-masthead .page-masthead__copy,.high-page .pc-photo-masthead .page-masthead__copy{max-width:840px}
 .middle-main .m-index,.middle-main .m-section{padding-inline:max(6vw,calc((100% - 1180px) / 2))}
}
.middle-main .m-index{padding-block:20px}
.middle-main .m-section{padding-block:36px}
.middle-main p.m-kicker{margin:0;font-size:17px}
.middle-main .m-section h2{margin:0 0 20px}
.middle-main .m-methods,.middle-main .m-test-grid{margin-top:40px}
.middle-main .m-system-intro{gap:40px}
.middle-main .m-method{padding:40px 0}
.middle-main .m-method h3{margin:0 0 20px}
.middle-main .m-method p{margin:20px 0 0;max-width:840px}
.middle-main .m-question div{max-width:840px}
.middle-page .m-number{font-size:34px}
/* 6. テスト対策の3項目は順番に意味がないので番号を外す(5つの特徴の番号は残す) */
/* テスト対策の番号は 10-30 塾長の指示で表示に戻した(特徴と同じ形) */
@media(max-width:899px){
 .middle-main .m-section{padding-block:24px}
 .middle-main p.m-kicker{font-size:14.5px}
 .middle-main .m-section h2{margin-bottom:14px}
 .middle-main .m-methods,.middle-main .m-test-grid{margin-top:28px}
 .middle-main .m-system-intro{gap:28px}
 .middle-main .m-method{padding:28px 0}
 .middle-main .m-method h3{margin-bottom:14px}
 .middle-main .m-method p{margin-top:16px}
 .middle-page .m-number{font-size:25px}
}

/* ===== 高等部(high) ===== */
@media(min-width:900px){
 .high-page :is(.hr-intro,.hr-section,.hr-contact){padding-inline:max(6vw,calc((100% - 1180px) / 2))}
 .high-page .high-study-photo{padding-inline:max(6vw,calc((100% - 1180px) / 2))}
}
.high-page :is(.hr-intro,.hr-section,.hr-contact){padding-block:36px}
.high-page .high-study-photo{padding-block:36px}
.hr-page .hr-intro p{font-size:25px;line-height:1.4}
.hr-page .hr-intro p.high-admissions{margin-top:20px;font-size:20px;line-height:1.9}
/* 6. 章ラベル「01 / 」「02 / 」は番号だけなので出さない */
.hr-page .section-head>span{display:none}
.hr-page .section-head{grid-template-columns:minmax(0,1fr);margin-bottom:40px;padding-bottom:20px}
.hr-page .section-head h2{margin:0}
.hr-page .learning-list>.learning-card{padding:40px 0}
.hr-page .learning-card h3{margin:0 0 20px}
.hr-page .learning-card p{margin:20px 0 0;max-width:840px;font-size:20px}
@media(max-width:899px){
 .high-page :is(.hr-intro,.hr-section,.hr-contact),.high-page .high-study-photo{padding-block:24px}
 .hr-page .hr-intro p{font-size:20px}
 .hr-page .hr-intro p.high-admissions{margin-top:14px;font-size:17px}
 .hr-page .section-head{margin-bottom:28px;padding-bottom:14px}
 .hr-page .learning-list>.learning-card{padding:28px 0}
 .hr-page .learning-card h3{margin-bottom:14px}
 .hr-page .learning-card p{margin-top:16px;font-size:17px}
}

/* ===== 喜びの声(results) ===== */
.results-page .results-sections .hr-panel{padding:40px 0 0}
.results-page .pc-sections>.student-voices:first-child{padding-top:0}
.results-page .results-sections .hr-panel>b.pc-section__label{margin:0}
.results-page .results-sections .hr-panel>h2{margin:0 0 20px}
.results-page .results-sections .hr-panel>h3{margin:40px 0 20px}
.results-page .results-sections li>.voice-heading{margin:0 0 20px}
.results-page .results-sections .evidence-list{margin:40px 0}
.results-page .results-sections .admission-list{column-gap:40px;row-gap:0;margin-bottom:0}
.results-page .results-sections .admission-list li,.results-page .results-sections .admission-list li:has(> .admission-person:only-of-type){display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:18px 0;background:none;border-bottom:1px solid var(--voice-rule,#b8b8b8)}
.results-page .results-sections .admission-list .result-icon{order:0;flex:none;width:24px;height:24px;margin:0}
.results-page .results-sections .admission-list strong,.results-page .results-sections .admission-list li:has(> .admission-person:only-of-type) strong{order:1;display:block;text-align:left;font-size:25px;line-height:1.4}
.results-page .results-sections .admission-list .admission-person,.results-page .results-sections .admission-list li:has(> .admission-person:only-of-type) .admission-person{order:2;display:block;font-size:17px;line-height:1.5}
.results-page .results-sections .admission-list+.result-note{margin-top:20px}
.results-page .results-sections .high-story p.story-result{font-size:25px;line-height:1.4}
.results-page .results-sections .high-story p.story-result .story-signature{font-size:17px}
.results-page .results-sections .high-story .story-body blockquote{max-width:840px;font-size:20px}
@media(min-width:900px){.results-page .results-sections .high-story .story-body blockquote{flex:0 1 840px}}
.results-page .public-results>p{max-width:840px}
/* 名前と点数の行:「…466点」の最後の1文字だけが次の行に落ちないよう、点数は1かたまりで折り返さない */
.results-page .results-sections .voice-score{white-space:nowrap}
.results-page .results-sections :is(p.voice-person,p.voice-badge){text-wrap:pretty}
/* 6. 番号だけのラベル(05・06)は出さない */
.results-page .results-sections .hr-panel:has(> .fit-box)>.pc-section__label{display:none}
/* 2. 読む文は左にそろえる(ページ内で中央と左を混ぜない) */
.results-page .results-sections .hr-panel:has(> .fit-box) h2{margin:0 0 20px;text-align:left}
.results-page .results-sections .hr-panel>.fit-box{max-width:840px;margin:0;font-size:20px}
.results-page .results-sections .hr-panel>.fit-box :is(p,ul){margin-bottom:20px}
.results-page .results-sections .hr-panel>.fit-box>:last-child{margin-bottom:0}
.results-page .hr-contact{padding:72px 0 0}
@media(max-width:899px){
 .results-page .results-sections .hr-panel{padding-top:28px}
 .results-page .pc-sections>.student-voices:first-child{padding-top:0}
 .results-page .results-sections .hr-panel>h2,.results-page .results-sections .hr-panel:has(> .fit-box) h2,.results-page .results-sections li>.voice-heading{margin-bottom:14px}
 .results-page .results-sections .hr-panel>h3{margin:28px 0 14px}
 .results-page .results-sections .evidence-list{margin:28px 0}
 .results-page .results-sections .admission-list strong,.results-page .results-sections .admission-list li:has(> .admission-person:only-of-type) strong,.results-page .results-sections .high-story p.story-result{font-size:20px}
 .results-page .results-sections .admission-list li,.results-page .results-sections .admission-list li:has(> .admission-person:only-of-type){padding:14px 0}
 .results-page .results-sections .admission-list .admission-person,.results-page .results-sections .admission-list li:has(> .admission-person:only-of-type) .admission-person{font-size:14.5px}
 .results-page .results-sections .admission-list+.result-note{margin-top:14px}
 .results-page .results-sections .high-story p.story-result .story-signature{font-size:14.5px}
 .results-page .results-sections .high-story .story-body blockquote,.results-page .results-sections .hr-panel>.fit-box{font-size:17px}
 .results-page .results-sections .hr-panel>.fit-box :is(p,ul){margin-bottom:16px}
 .results-page .results-sections .hr-panel>.fit-box>:last-child{margin-bottom:0}
 .results-page .hr-contact{padding-top:48px}
}

/* ===== 代表挨拶(message) ===== */
.message-detail .letter .letter-section{max-width:840px}
.message-detail .letter .letter-section h2{margin:0 0 20px}
.message-detail .letter #letter-2{margin-top:40px}
.message-detail .letter-body p{margin:0 0 20px}
.message-detail .letter p.letter-closing{padding-top:20px;font-size:25px}
@media(max-width:899px){
 .message-detail .letter .letter-section h2{margin-bottom:14px}
 .message-detail .letter #letter-2{margin-top:28px}
 .message-detail .letter-body p{margin-bottom:16px}
 .message-detail .letter p.letter-closing{padding-top:16px;font-size:20px}
}

/* ===== 授業料(fee) ===== */
.fee-page .fee-notes.pc-card{max-width:840px}
/* 6. 番号だけの「03」は出さない(「01 / 」「02 / 」は HTML から外した) */
.fee-page .pc-index a[href="#fee-payment"]>span{display:none}
@media(max-width:767px){
 .fee-page .fee-courses{margin-block:28px}
 .fee-page .fee-course__total strong{font-size:25px}
 /* コース名(小見出し 20px)と、回数・時間(注記 14.5px)を分ける */
 .fee-page .fee-course h3{margin:0 0 14px}
 .fee-page .fee-course h3 .fee-course__time{display:block;margin-top:0;font-size:14.5px;font-weight:400;line-height:1.9;letter-spacing:0}
}

/* ===== アクセス(access) ===== */
/* 6. 地図・目印・電車・住所の 01〜04 は順番に意味がないので出さない */
.access-page .pc-section__label{display:none}
.access-page .access-location>h2{margin:0}
.access-page .access-map{margin:40px 0 0}
.access-page .access-info.pc-access-cards{margin-top:40px}
.access-page .access-info article h2{margin:0 0 20px}
@media(max-width:899px){
 .access-page .access-map,.access-page .access-info.pc-access-cards{margin-top:28px}
 .access-page .access-info article h2{margin-bottom:14px}
}

/* 喜びの声:声と声の間に区切り線(塾長の指摘「のっぺりしている」) */
.results-page .results-sections :is(.transcribed-voices,.student-voices .evidence-list)>li:not(.voice-photo){border-top:2px solid var(--pc-green);padding-top:24px}

/* 順番に意味のない番号を消した後、番号の列を詰めて本文を全幅に(塾長の指示 10-30) */
.hr-page .section-head{grid-template-columns:minmax(0,1fr)}

/* 喜びの声: 続きを読むを3件目の右セルに置き、保護者写真を初期表示の格子全幅にする。 */
.results-page .student-voices>.evidence-list,.results-page .public-voices>.evidence-list.transcribed-voices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;list-style:none;padding:0}
.results-page .results-sections .evidence-list__more>li.voice-photo,.results-page .results-sections .evidence-list>li.voice-photo{list-style:none}
.results-page .results-sections .evidence-list>li.voice-photo::marker{content:""}
.results-page .results-sections .evidence-list>li.voice-photo img{display:block;width:100%;height:auto}
.results-page .results-sections .evidence-list>li.voice-more{grid-column:2;grid-row:2;align-self:center;justify-self:start;list-style:none}
.results-page .results-sections .voice-more>details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.results-page .results-sections .voice-more>details>summary{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;list-style:none;border:1px solid var(--pc-green);padding:.55rem 1rem;background:#fff;color:var(--pc-green);font:inherit}
.results-page .results-sections .voice-more>details>summary::-webkit-details-marker{display:none}
.results-page .results-sections .voice-more>details>summary::before{content:"＋"}
.results-page .results-sections .voice-more>details>summary:hover{background:var(--pc-green);color:#fff}
.results-page .results-sections .voice-more>details>summary:focus-visible{outline:2px solid var(--pc-green);outline-offset:3px}
.results-page .results-sections .voice-more>details[open]>summary::before{content:"−"}
.results-page .results-sections .evidence-list__more{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;list-style:none;padding:0}
.results-page .results-sections .voice-more>details[open]{grid-column:1/-1}
.results-page .results-sections .voice-more>details>summary{grid-column:2;justify-self:start}
@media(max-width:899px){
 .results-page .student-voices>.evidence-list,.results-page .public-voices>.evidence-list.transcribed-voices{grid-template-columns:minmax(0,1fr)}
 .results-page .results-sections .evidence-list>li.voice-more{grid-column:1;grid-row:auto;justify-self:stretch}
 .results-page .results-sections .voice-more>details>summary{display:flex;width:100%;box-sizing:border-box}
 .results-page .results-sections .voice-more>details{grid-template-columns:minmax(0,1fr)}
 .results-page .results-sections .voice-more>details>summary{grid-column:1}
 .results-page .results-sections .evidence-list__more{grid-template-columns:minmax(0,1fr)}
}

/* 共通メニュー: 折りたたみを899px以下に限定し、中間幅も横並びで収める。 */
@media(min-width:900px){
 .site-menu__toggle{display:none!important}
 .site-menu{left:calc(var(--frame-side) + 12rem);right:var(--frame-side);padding-top:0}
 .site-menu .site-menu__links{position:static;display:flex!important;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;gap:.7rem;width:100%;max-width:none;padding:0;border:0;background:transparent;overflow:visible}
 .site-menu .site-menu__links a{font-size:.72rem!important;padding:.4rem 0}
}
/* 喜びの声:開いたときは続きの声を横いっぱい(2列)に並べる */
.results-page .results-sections .evidence-list>li.voice-more:has(details[open]){grid-column:1/-1;grid-row:auto;justify-self:stretch;align-self:start}
.results-page .results-sections .voice-more>details{display:block}
.results-page .results-sections .voice-more>details>.evidence-list__more{margin-top:1.5rem}
/* 高等部の4つのポイントの番号:中学部の番号と同じ大きさで見せる(10-30 塾長の指示で番号を戻した) */
.hr-page .learning-list .section-number{font-size:34px!important;line-height:1}
@media(max-width:899px){.hr-page .learning-list .section-number{font-size:1.65rem!important}}
/* トップ:区画を画面の高さいっぱいにしない(中身が短いと下が空く。10-30 塾長の指摘)。冒頭だけは今のまま */
@media(min-width:900px){
 main .spread:not(.spread--hero){min-height:0!important}
 /* 名前の由来:写真を横長のまま見せる(列が細いと縦長に切り抜かれていた) */
 .spread--name-origin{grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr)!important;align-items:start}
 .spread--name-origin h2{word-break:auto-phrase;text-wrap:balance}
 .spread--name-origin .name-origin__visual,.spread--name-origin .name-origin__photo{height:auto!important;align-self:start}
 .spread--name-origin .name-origin__photo img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
}

/* 第三者点検1・3:実績のアップと注記記号、指定見出しを既存の意味単位で折り返す。 */
main :is(.proof-stats,h2,h3) .phrase-unit{display:inline-block;white-space:nowrap}
.spread--proof-chapter .proof-stats>span{word-break:normal;overflow-wrap:normal}
@media(min-width:900px){
 .spread--proof-chapter .proof-stats>span{font-size:clamp(25px,2.3vw,34px)}
}
@media(max-width:899px){
 .middle-main .m-question h3{display:block}
 .middle-main .m-question h3>span:first-child{margin-right:.65rem}
}
/* 第三者点検2・8:スマホのコース区画の最低高さを外し、実績注記は左から読む。 */
@media(max-width:899px){
 main .spread:not(.spread--hero){min-height:0!important}
 .spread--proof-chapter .proof-chapter__headline>.proof-note{text-align:left;text-wrap:pretty}
}
/* 第三者点検4:フォームを説明・罫線と同幅にし、送信ボタンと補助案内の余白を統一する。 */
main .inquiry-embed{width:100%;max-width:none;margin:28px 0 16px;padding-bottom:0}
main .inquiry-embed .inquiry-form{grid-template-columns:minmax(0,1fr);width:100%;max-width:none;margin:0}
main .inquiry-form .inquiry-form__submit{box-sizing:border-box;justify-self:stretch;width:100%;min-width:0;min-height:60px;padding:16px 40px;font-size:17px!important;line-height:1.5}
main .inquiry-form__status{width:100%;max-width:none}
main section.inquiry-block>.inquiry-block__fallback:last-child{margin-bottom:0}
body .site-footer{margin-top:40px}
body main.detail-main.pc-page{padding-bottom:0}
body main.middle-main{padding-bottom:0}
main .spread.spread--contact,main .hr-contact,main .m-contact{padding-bottom:0}
@media(max-width:899px){
 main .inquiry-embed{margin-top:28px}
 main .inquiry-form .inquiry-form__submit{font-size:14.5px!important;min-height:51px}
 body .site-footer{margin-top:28px}
}
/* 第三者点検5:代表挨拶のイラストを本文の上に置き、枠内の本文を全幅に戻す。 */
@media(min-width:900px){
 .message-detail :is(#letter-3,#letter-4) .letter-legacy-illustration{position:static;display:block;max-width:100%;margin:0 auto 20px}
 .message-detail :is(#letter-3,#letter-4) .letter-legacy-illustration+.letter-body{padding:1rem;min-height:0}
}
/* 第三者点検6:合格先を上段、学校名・氏名を下段に固定する。 */
.results-page .results-sections .admission-list li,.results-page .results-sections .admission-list li:has(>.admission-person:only-of-type){display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:4px 14px}
.results-page .results-sections .admission-list .result-icon{grid-column:1;grid-row:1}
.results-page .results-sections .admission-list strong{grid-column:2;grid-row:1}
.results-page .results-sections .admission-list .admission-person{grid-column:2;grid-row:2}
/* 第三者点検7:高等部のサポートを横長の3段にして、本文量に応じた高さにする。 */
@media(min-width:900px){
 .high-page .support-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .high-page .support-grid .learning-card{padding:20px 40px}
 .high-page .support-grid .learning-card>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:40px;align-items:start}
 .high-page .support-grid .learning-card h3{grid-column:1;grid-row:1 / span 4;margin:0}
 .high-page .support-grid .learning-card p{grid-column:2;margin:0 0 20px}
 .high-page .support-grid .learning-card p:last-child{margin-bottom:0}
}
/* 第三者点検9:授業料・アクセスの読む幅と写真幅を保ち、周囲の全幅に対して中央に置く。 */
@media(min-width:900px){
 .fee-page .fee-section>.fee-notes.pc-card{margin-inline:auto}
 body :is(.fee-page,.access-page) .pc-photo{margin-inline:auto}
}
/* 第三者点検10:スマホの番号と見出しだけを2列にし、その下の本文は全幅に戻す。 */
@media(max-width:899px){
 .middle-main .m-method,.high-page .learning-list>.learning-card{grid-template-columns:2.4rem minmax(0,1fr);gap:0 14px;align-items:start}
 .middle-main .m-method>div,.high-page .learning-list>.learning-card>div{display:contents}
 .middle-main .m-method>div>h3,.high-page .learning-list>.learning-card>div>h3{grid-column:2;grid-row:1}
 .middle-main .m-method>div>:not(h3),.high-page .learning-list>.learning-card>div>:not(h3){grid-column:1 / -1}
}
/* トップの中学部の実績見出し:幅1000前後で隣の列にはみ出さないよう、文字を画面の幅に合わせる。注記は最後の2文字だけの行を作らない(10-30 第三者点検) */
@media(min-width:900px){.proof-stats>span{font-size:min(2.1vw,2.2rem)!important}}
.spread--proof-chapter .proof-note{text-wrap:balance!important;text-align:left}
/* フッター:生成AIの画像の注記(小さな灰色の文字。10-30 塾長の指示) */
.site-footer .site-footer__ai-note{font-size:.7rem!important;color:#6b6b6b;margin:.6rem 0 0;line-height:1.6}
/* 中学部:見出しの横のイラストを半分くらいに(18rem→9rem、スマホ 8rem→4.5rem)、よくある質問の見出しは意味のまとまりで改行(10-30 塾長の指示) */
.middle-page .m-illustrated-heading{min-height:11.5rem;padding-right:10rem}
.middle-page .m-illustrated-heading .pc-illustration{width:9rem;max-width:9rem}
@media(max-width:899px){.middle-page .m-illustrated-heading{min-height:0;padding-right:0;padding-bottom:4.5rem}.middle-page .m-illustrated-heading .pc-illustration{width:4.5rem}}
.middle-page .m-question h3{word-break:auto-phrase}
/* 喜びの声:手書きの写真を本文のすぐ下に置く(下に寄せると隣の長い声の分だけ空白ができる)。生徒の声は4件を2×2で見せ、続きを読むはその下(10-31 塾長の指示) */
.results-page .voice-clip{margin-top:0}
.results-page .student-voices>.evidence-list>li.voice-more,.results-page .student-voices>.evidence-list>li.voice-more:has(details[open]){grid-column:1/-1;grid-row:auto}
.results-page .student-voices .voice-more>details>summary{grid-column:1}
.results-page .student-voices>.evidence-list>li.voice-more:not(:has(details[open])){border-top:0;padding-top:0}
