/* 歩学舎 2026 — トップページ案1「赤ペン添削」 */
/* 配色：紙 #FFFFFF／方眼 #E2E9F1／墨紺 #1D2A44／本文 #2F3A4E／薄墨 #6A7385／赤ペン #D23A2C */
:root{--paper:#fff;--grid:#E2E9F1;--ink:#1D2A44;--text:#2F3A4E;--sub:#6A7385;--red:#D23A2C;--line:#D5DCE5;--w:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.95 "Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--w);margin:0 auto;padding:0 40px}
.gothic{font-family:"Zen Kaku Gothic New",sans-serif}
/* 方眼ノートの地 */
.grid-bg{background-color:#fff;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}

/* ── ヘッダー ── */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(6px)}
.hd .wrap{display:flex;align-items:center;height:76px;max-width:1280px;gap:24px}
.logo{display:flex;align-items:center;gap:12px;flex:none;color:var(--ink)}
.logo .kind{font:700 11px/1 "Zen Kaku Gothic New";letter-spacing:.14em;color:var(--red);border:1.5px solid var(--red);padding:5px 6px 4px;border-radius:2px;white-space:nowrap}
.logo ruby{font:900 30px/1 "Zen Kaku Gothic New";letter-spacing:.06em}
.logo rt{font:700 9px "Zen Kaku Gothic New";letter-spacing:.3em;color:var(--sub)}
.nav{margin-left:auto;display:flex;gap:4px}
.nav>li{position:relative;list-style:none}
.nav>li>a{display:block;padding:10px 14px;font:700 14px/1.4 "Zen Kaku Gothic New";color:var(--ink)}
.nav>li>a:hover{color:var(--red)}
.nav ul{position:absolute;left:6px;top:100%;min-width:220px;margin:0;padding:10px 0;list-style:none;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(29,42,68,.10);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.18s}
.nav>li:hover ul,.nav>li:focus-within ul{opacity:1;visibility:visible;transform:none}
.nav ul a{display:block;padding:8px 20px;font:500 14px "Noto Sans JP"}
.nav ul a:hover{background:#F5F8FB;color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 15px "Zen Kaku Gothic New";letter-spacing:.04em;border-radius:4px;padding:13px 26px;transition:background .2s,color .2s}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--red)}
.btn-line{border:1.5px solid var(--ink);color:var(--ink);background:#fff}
.btn-line:hover{border-color:var(--red);color:var(--red)}
.hd .btn{padding:11px 20px;font-size:14px}
.burger{display:none;margin-left:auto;width:48px;height:48px;border:0;background:none;padding:12px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--ink);margin:6px 0;transition:.25s}
.sp-menu{display:none}

/* ── 最初の画面 ── */
.hero{position:relative;border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;padding-top:72px;padding-bottom:64px;align-items:center}
.hero .tag{display:inline-block;font:700 15px "Zen Kaku Gothic New";color:var(--ink);background:#fff;padding:2px 0}
.hero .tag b{color:var(--red)}
.hero h1{margin:14px 0 0;font:900 52px/1.38 "Zen Kaku Gothic New";letter-spacing:.02em;color:var(--ink)}
.hero h1 .s{display:block;font-size:26px;font-weight:700;letter-spacing:.06em;margin-bottom:6px}
.hero .schools{margin:26px 0 0;font:700 17px/1.9 "Zen Kaku Gothic New";color:var(--text);background:rgba(255,255,255,.88);display:inline-block;padding:6px 0}
.hero .photo{position:relative}
.hero .photo img{width:100%;aspect-ratio:4/3.6;object-fit:cover;object-position:50% 50%;border:8px solid #fff;box-shadow:0 18px 40px rgba(29,42,68,.16);transform:rotate(1.2deg)}
.hero .photo .clip{position:absolute;top:-16px;left:36px;width:22px;height:60px;border:3px solid #8E98A8;border-radius:12px;transform:rotate(-6deg)}
.nb{display:inline-block}
.marks{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:8px 0 0;padding:0;list-style:none}
.marks li{position:relative;display:flex;align-items:center;justify-content:center;height:150px;text-align:center;font:900 19px/1.55 "Zen Kaku Gothic New";color:var(--ink)}
.marks svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.marks path{fill:none;stroke:var(--red);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.lead{grid-column:1/-1;margin:26px 0 0;text-align:left;font:700 24px/1.9 "Zen Kaku Gothic New";color:var(--ink)}
.lead span{background:linear-gradient(transparent 62%,rgba(210,58,44,.16) 62%)}

.zcopy{margin:22px 0 0;font:900 21px/1.5 "Zen Kaku Gothic New";color:var(--red);letter-spacing:.04em}
.zcopy span{background:#fff;border-bottom:3px solid var(--red);padding:0 2px 2px}
.zlink{margin:18px 0 0}
.zlink a{display:inline-flex;align-items:center;gap:12px;font:700 15px "Zen Kaku Gothic New";color:var(--ink);border-bottom:2px solid var(--red);padding-bottom:3px;background:#fff}
.zlink a:hover{color:var(--red)}
.zlink i{width:18px;height:2px;background:currentColor;position:relative}
.zlink i::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
/* ── 共通セクション ── */
.sec{padding:104px 0}
.sec-h{display:flex;align-items:baseline;gap:22px;margin:0 0 40px;flex-wrap:wrap}
.sec-h h2{margin:0;font:900 34px/1.4 "Zen Kaku Gothic New";color:var(--ink);letter-spacing:.03em;position:relative;padding-left:22px}
.sec-h h2::before{content:"";position:absolute;left:0;top:.28em;bottom:.28em;width:5px;background:var(--red);border-radius:3px}
.sec-h p{margin:0;color:var(--sub);font-size:15px}
.more{display:inline-flex;align-items:center;gap:10px;margin-top:36px;font:700 15px "Zen Kaku Gothic New";color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:4px}
.more:hover{color:var(--red);border-color:var(--red)}
.more i{display:inline-block;width:18px;height:2px;background:currentColor;position:relative}
.more i::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}

/* まずはこちらから：ノートの余白線 */
.note-list{position:relative;background:#fff;border:1px solid var(--line);padding:16px 0;box-shadow:0 1px 0 var(--line),0 6px 0 -3px #fff,0 7px 0 -3px var(--line)}
.note-list::before{content:"";position:absolute;left:96px;top:0;bottom:0;width:1.5px;background:rgba(210,58,44,.55)}
.note-list a{display:grid;grid-template-columns:96px 180px 1fr;gap:0 28px;align-items:center;padding:18px 32px 18px 0;border-bottom:1px dashed var(--line)}
.note-list li:last-child a{border-bottom:0}
.note-list ol{margin:0;padding:0;list-style:none}
.note-list .no{font:700 13px "Zen Kaku Gothic New";color:var(--red);text-align:center}
.note-list img{width:180px;aspect-ratio:380/250;object-fit:cover;border-radius:2px}
.note-list h3{margin:0;font:700 19px/1.55 "Zen Kaku Gothic New";color:var(--ink)}
.note-list p{margin:6px 0 0;font-size:15px;line-height:1.85;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.note-list time{font:500 13px "Noto Sans JP";color:var(--sub)}
.note-list a:hover h3{color:var(--red)}

/* 歩学舎について */
.about{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}
.card-id{border:1.5px solid var(--ink);padding:22px;background:#fff}
.card-id img{width:120px;height:120px;object-fit:cover;object-position:50% 20%;border-radius:50%;filter:grayscale(.15)}
.card-id .role{margin:18px 0 0;font:700 13px "Zen Kaku Gothic New";color:var(--sub);letter-spacing:.08em}
.card-id .nm{margin:2px 0 0;font:900 24px "Zen Kaku Gothic New";color:var(--ink);letter-spacing:.12em}
.card-id dl{margin:16px 0 0;font-size:14px;line-height:1.8}
.card-id dt{font-weight:700;color:var(--ink)}
.card-id dd{margin:0 0 6px}
.quote{margin:0;font:600 30px/1.85 "Zen Old Mincho",serif;color:var(--ink)}
.quote::before{content:"";display:block;width:56px;height:4px;background:var(--red);margin-bottom:26px}
.subjects{margin:44px 0 0}
.subjects h3,.curri h3{margin:0 0 14px;font:700 18px "Zen Kaku Gothic New";color:var(--ink)}
.timetable{display:grid;grid-template-columns:repeat(5,1fr);border:1.5px solid var(--ink);margin:0;padding:0;list-style:none}
.timetable li{padding:18px 10px;text-align:center;font:700 17px/1.5 "Zen Kaku Gothic New";color:var(--ink);border-left:1px solid var(--line);background:#fff}
.timetable li:first-child{border-left:0}
.timetable small{display:block;font:500 12.5px "Noto Sans JP";color:var(--sub)}
.curri{margin:44px 0 0;padding:28px 32px;background:#F6F9FC;border-left:4px solid var(--ink)}
.curri p{margin:0}
.links{display:flex;flex-wrap:wrap;gap:12px 32px}

/* 生徒さんの声：答案用紙＋合格印 */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none}
.voice{position:relative;display:block;height:100%;background:#fff;border:1px solid var(--line);padding:26px 26px 24px;transition:transform .2s,box-shadow .2s}
.voice:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(29,42,68,.09)}
.voice .seal{position:absolute;right:18px;top:16px;width:58px;height:58px;border:2.5px solid var(--red);border-radius:50%;color:var(--red);font:900 15px/1.05 "Zen Kaku Gothic New";display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-12deg);opacity:.9}
.voice .who{font:700 14px "Zen Kaku Gothic New";color:var(--sub)}
.voice h3{margin:4px 70px 0 0;font:700 18px/1.6 "Zen Kaku Gothic New";color:var(--ink)}
.voice p{margin:14px 0 0;font-size:14.5px;line-height:1.9;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;border-top:1px dashed var(--line);padding-top:14px}

/* 合格実績 */
.results{margin-top:72px;border:1.5px solid var(--ink);background:#fff}
.results .top{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:36px 40px;border-bottom:1px solid var(--line)}
.results h3{margin:0;font:900 26px/1.5 "Zen Kaku Gothic New";color:var(--ink)}
.results .top p{margin:0}
.unis{margin:0;padding:30px 40px 36px;list-style:none;display:flex;flex-wrap:wrap;gap:10px 0;font:700 16px/1.6 "Zen Kaku Gothic New";color:var(--ink)}
.unis li::after{content:"、";color:var(--sub)}
.unis li:last-child::after{content:""}
.unis li.big{font-size:20px}

/* 各校紹介 */
.schools3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1.5px solid var(--ink)}
.school{display:flex;flex-direction:column;gap:10px;padding:30px 30px 28px;background:#fff;border-left:1px solid var(--line);min-height:220px}
.school:first-child{border-left:0}
.school h3{margin:0;font:900 22px "Zen Kaku Gothic New";color:var(--ink)}
.school p{margin:0;font-size:15px;flex:1}
.school .go{font:700 14px "Zen Kaku Gothic New";color:var(--red)}
.school:hover{background:#F6F9FC}
.school .acc{font:700 15px "Zen Kaku Gothic New"}
.school .acc b{font-size:30px;color:var(--red);margin:0 3px}

/* ニュース */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:0;padding:0;list-style:none}
.news img{width:100%;aspect-ratio:380/250;object-fit:cover;object-position:50% 25%}
.news time{display:block;margin-top:14px;font:500 13px "Noto Sans JP";color:var(--sub)}
.news h3{margin:4px 0 0;font:700 17px/1.65 "Zen Kaku Gothic New";color:var(--ink)}
.news p{margin:8px 0 0;font-size:14.5px;line-height:1.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news a:hover h3{color:var(--red)}

/* 入塾 */
.join{border-top:1px solid var(--line)}
.join .box{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;background:#fff;border:1.5px solid var(--ink);padding:48px 52px;position:relative}
.join h2{margin:0;font:900 34px/1.5 "Zen Kaku Gothic New";color:var(--ink)}
.join .warn{margin:14px 0 0;font:700 16px "Zen Kaku Gothic New";color:var(--red)}
.join .acts{display:flex;flex-direction:column;gap:14px}
.join .acts p{margin:0;font:700 15px "Zen Kaku Gothic New";color:var(--ink)}
.join .btn{width:100%;padding:17px 24px;font-size:16px}

/* バナー */
.bnr{padding:72px 0 88px}
.bnr p{margin:0 0 24px;font:700 17px/1.8 "Zen Kaku Gothic New";color:var(--ink)}
.bnr ul{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0;padding:0;list-style:none}
.bnr a{display:flex;flex-direction:column;align-items:center;justify-content:center;height:76px;border:1px solid var(--line);background:#fff;font:700 15px "Zen Kaku Gothic New";color:var(--ink);text-align:center;line-height:1.4;transition:.2s}
.bnr a:hover{border-color:var(--ink)}
.bnr small{display:block;font:500 11.5px "Noto Sans JP";color:var(--sub)}

/* フッター */
.ft{background:var(--ink);color:#C9D1DE;padding:56px 0 36px;font-size:14px}
.ft .wrap{display:grid;grid-template-columns:1fr 2fr;gap:40px}
.ft .logo{color:#fff}.ft .logo rt{color:#9AA6B8}
.ft nav{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ft nav b{display:block;color:#fff;font:700 14px "Zen Kaku Gothic New";margin-bottom:6px}
.ft nav a{display:block;line-height:2}
.ft nav a:hover{color:#fff}
.ft .co{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px}

/* 出現 */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}

@media (max-width:980px){
 .nav,.hd .btn{display:none}
 .burger{display:block}
 .sp-menu{display:block;position:fixed;inset:76px 0 0 0;background:#fff;z-index:49;overflow:auto;overscroll-behavior:contain;padding:12px 24px 40px;transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility 0s .3s}
 body.open{overflow:hidden}
 body.open .sp-menu{transform:none;visibility:visible;transition:transform .3s}
 body.open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
 body.open .burger span:nth-child(2){opacity:0}
 body.open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 .sp-menu b{display:block;margin-top:18px;font:700 13px "Zen Kaku Gothic New";color:var(--red)}
 .sp-menu a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font:700 16px "Zen Kaku Gothic New";color:var(--ink)}
 .sp-menu .btn{display:flex;min-height:44px;padding:13px 26px;margin-top:24px;width:100%;border:0;color:#fff}
 .hero .wrap{grid-template-columns:1fr;gap:32px}
 .about{grid-template-columns:1fr}
 .voices,.news{grid-template-columns:1fr 1fr}
 .results .top{grid-template-columns:1fr}
 .join .box{grid-template-columns:1fr}
 .bnr ul{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
 .wrap{padding:0 20px}
 .hd .wrap{height:64px}
 .sp-menu{inset:64px 0 0 0}
 .logo ruby{font-size:25px}
 .hero .wrap{padding-top:40px;padding-bottom:44px}
 .hero h1{font-size:33px}
 .hero h1 .s{font-size:18px}
 .hero .schools{font-size:15px}
 .zcopy{font-size:18px}
 .marks{grid-template-columns:1fr;gap:4px}
 .marks li{height:92px;font-size:16px;margin:0 14px}
 .lead{font-size:19px}
 .sec{padding:72px 0}
 .sec-h h2{font-size:26px}
 .note-list::before{left:44px}
 .note-list a{grid-template-columns:44px 1fr;padding:16px 18px 16px 0;gap:0 16px}
 .note-list img{display:none}
 .note-list::before{display:none}
 .note-list a{display:block;padding:16px 20px}
 .note-list .no{display:block;text-align:left;margin-bottom:2px}
 .note-list h3{font-size:17px}
 .quote{font-size:22px}
 .timetable{grid-template-columns:repeat(3,1fr)}
 .timetable li:nth-child(4){border-left:0}
 .timetable li:nth-child(n+4){border-top:1px solid var(--line)}
 .timetable li:nth-child(5){grid-column:span 2}
 .voices,.news,.schools3{grid-template-columns:1fr}
 .school{border-left:0;border-top:1px solid var(--line);min-height:0}
 .school:first-child{border-top:0}
 .results .top,.unis{padding-left:22px;padding-right:22px}
 .unis{font-size:15px}
 .unis li.big{font-size:18px}
 .join .box{padding:32px 22px}
 .join h2{font-size:26px}
 .bnr ul{grid-template-columns:1fr 1fr}
 .ft .wrap{grid-template-columns:1fr}
 .ft nav{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
 *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
 .js .rv{opacity:1;transform:none}
}

/* client-assets */
img{filter:none!important}
.bnr li{display:flex}.bnr li>a{flex:1}
.voice .vph{width:76px;height:76px;object-fit:cover;object-position:50% 20%;border:4px solid #fff;box-shadow:0 4px 14px rgba(29,42,68,.14);transform:rotate(-2deg);margin:0 0 14px}
.vph-none{display:flex;align-items:center;justify-content:center;background:#F3F6FA;color:var(--sub);font:700 18px "Zen Kaku Gothic New";box-shadow:none!important;border:1px dashed var(--line)!important}
.results .top{position:relative}
.results .gokaku{position:absolute;right:28px;top:-58px;width:118px;height:auto;filter:drop-shadow(0 6px 14px rgba(29,42,68,.12))}
.school .sph{display:block;margin:-30px -30px 6px;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--line)}
.school .sph img{width:100%;height:100%;object-fit:cover}
.bnr a{height:auto;min-height:96px;padding:14px 8px;gap:6px;position:relative}
.bnr .bi{width:28px;height:28px;object-fit:contain;color:var(--ink)}
.bnr svg.bi{height:22px}
.bnr .qr{width:72px;height:72px;margin-top:4px}
@media (max-width:760px){.bnr .qr{display:none}.results .gokaku{width:84px;top:-44px;right:14px}.school .sph{margin:-30px -30px 6px}}

/* ───────── ここから WordPress 用の追加 ───────── */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.bd{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* ログイン中の管理バーの下にヘッダーを置く */
.admin-bar .hd{top:32px}
@media (max-width:980px){.admin-bar .sp-menu{top:108px}}
@media (max-width:782px){.admin-bar .hd{top:46px}.admin-bar .sp-menu{top:122px}}
@media (max-width:640px){.admin-bar .sp-menu{top:110px}}
@media (max-width:600px){.admin-bar .hd{top:0}}
/* アイキャッチが無い記事 */
.noimg{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:380/250;font:900 22px "Zen Kaku Gothic New";letter-spacing:.12em;color:#B4BDCB;border:1px solid var(--line)}
.note-list .noimg{width:180px;font-size:16px}
.voice img.vph{border-radius:0}

/* ── 下層ページ共通 ── */
.page-hd{border-bottom:1px solid var(--line)}
.page-hd .wrap{padding-top:64px;padding-bottom:56px}
.page-hd .cat{display:inline-block;font:700 14px "Zen Kaku Gothic New";color:var(--red)}
.page-hd h1{margin:6px 0 0;font:900 38px/1.45 "Zen Kaku Gothic New";color:var(--ink);letter-spacing:.03em;position:relative;padding-left:24px}
.page-hd h1::before{content:"";position:absolute;left:0;top:.28em;bottom:.28em;width:6px;background:var(--red);border-radius:3px}
.page-hd time{display:block;margin-top:10px;font:500 14px "Noto Sans JP";color:var(--sub)}
.page-hd p{margin:12px 0 0;color:var(--sub)}
.page-body{padding:64px 0 96px}
.page-body .wrap{max-width:880px}
.page-body.wide .wrap{max-width:var(--w)}

/* 本文（固定ページ・投稿） */
.entry{font-size:16.5px;line-height:2;overflow-wrap:anywhere}
.entry>*:first-child{margin-top:0}
.entry p{margin:0 0 1.4em}
.entry h2{margin:2.6em 0 1em;font:900 27px/1.55 "Zen Kaku Gothic New";color:var(--ink);padding:0 0 12px;border-bottom:2px solid var(--ink);position:relative}
.entry h2::after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:2px;background:var(--red)}
.entry h3{margin:2.2em 0 .8em;font:700 21px/1.6 "Zen Kaku Gothic New";color:var(--ink);padding-left:16px;border-left:4px solid var(--red)}
.entry h4{margin:1.8em 0 .6em;font:700 18px/1.6 "Zen Kaku Gothic New";color:var(--ink)}
.entry a:not(.wp-block-button__link){color:#1F5FA8;text-decoration:underline;text-underline-offset:3px}
.entry a:not(.wp-block-button__link):hover{color:var(--red)}
.entry strong,.entry b{color:var(--ink)}
.entry mark,.entry .marker{background:linear-gradient(transparent 60%,rgba(210,58,44,.18) 60%);color:inherit;padding:0 1px}
.entry ul,.entry ol{margin:0 0 1.4em;padding-left:1.4em}
.entry li{margin:.2em 0}
.entry img{height:auto}
.entry figure{margin:2em 0}
.entry figcaption{margin-top:8px;font-size:13.5px;color:var(--sub);text-align:center}
.entry blockquote{margin:2em 0;padding:20px 26px;background:#F6F9FC;border-left:4px solid var(--ink)}
.entry blockquote p:last-child{margin-bottom:0}
.entry table{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:15px}
.entry th,.entry td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
.entry th{background:#F6F9FC;color:var(--ink);font-weight:700;width:30%}
.entry hr{border:0;border-top:1px dashed var(--line);margin:2.6em 0}
.entry iframe{max-width:100%}
.entry .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 16px "Zen Kaku Gothic New";letter-spacing:.04em;border-radius:4px;padding:16px 34px;background:var(--ink);color:#fff;text-decoration:none;transition:background .2s}
.entry .wp-block-button__link:hover{background:var(--red)}
.entry .is-style-outline .wp-block-button__link{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.entry .is-style-outline .wp-block-button__link:hover{color:var(--red);border-color:var(--red);background:#fff}
.entry .alignwide{margin-left:calc((880px - var(--w)) / 2 + 40px);margin-right:calc((880px - var(--w)) / 2 + 40px);max-width:none}
.entry .alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw}
@media (max-width:1180px){.entry .alignwide{margin-left:0;margin-right:0}}

/* 記事の前後リンク */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:64px;padding-top:28px;border-top:1px solid var(--line)}
.pn a{display:block;padding:16px 18px;border:1px solid var(--line);font:700 15px/1.6 "Zen Kaku Gothic New";color:var(--ink)}
.pn a:hover{border-color:var(--ink);color:var(--red)}
.pn small{display:block;font:500 12.5px "Noto Sans JP";color:var(--sub)}
.pn .next{text-align:right;grid-column:2}

/* 記事一覧 */
.list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px;margin:0;padding:0;list-style:none}
.list img,.list .noimg{width:100%;aspect-ratio:380/250;object-fit:cover;object-position:50% 25%}
.list time{display:block;margin-top:14px;font:500 13px "Noto Sans JP";color:var(--sub)}
.list h2{margin:4px 0 0;font:700 17px/1.65 "Zen Kaku Gothic New";color:var(--ink)}
.list p{margin:8px 0 0;font-size:14.5px;line-height:1.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.list a:hover h2{color:var(--red)}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:64px}
.pager .page-numbers{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);font:700 15px "Zen Kaku Gothic New";color:var(--ink)}
.pager .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.pager a.page-numbers:hover{border-color:var(--ink);color:var(--red)}
.empty{padding:40px 0;color:var(--sub)}

@media (max-width:980px){
 .list{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 .page-hd .wrap{padding-top:40px;padding-bottom:36px}
 .page-hd h1{font-size:27px;padding-left:18px}
 .page-body{padding:44px 0 72px}
 .entry{font-size:16px}
 .entry h2{font-size:22px}
 .entry h3{font-size:18.5px}
 .entry th{width:auto}
 .entry table.is-stack th,.entry table.is-stack td{display:block;width:100%}
 .list{grid-template-columns:1fr;gap:36px}
 .pn{grid-template-columns:1fr}
 .pn .next{grid-column:auto}
}

/* 指導教科：教科の数に合わせた幅にする（2教科でも右が空かないように） */
.timetable{display:inline-flex;flex-wrap:wrap;max-width:100%}
.timetable li{min-width:132px;padding:16px 26px}
@media (max-width:640px){.timetable li{min-width:96px;flex:1 0 auto;border-top:0!important}}

/* ───────── 講座案内ページ（page-lp.php） ─────────
   本文の各グループに付けるクラス：
   lp-sec=見出しごとの段 / lp-intro=最初の段 / lp-results=実績の箇条書き / lp-check=チェックの箇条書き
   lp-steps・lp-step=学習の順序 / lp-note=補足の枠 / lp-flow=流れの1行 / lp-calc=計算式
   lp-price=料金の枠 / lp-under=下線の段落 / lp-timeline=申し込みの流れ / lp-faq=よくある質問 / lp-cta=最後の案内 */
.lp{font-size:16.5px;line-height:2.05}
.lp>.lp-sec{margin:0;padding:88px max(24px,calc((100% - 860px) / 2));border-top:1px solid var(--line)}
.lp>.lp-sec:nth-of-type(even){background-color:#fff;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}
.lp>.lp-sec:first-child{border-top:0}
.lp .lp-sec>h2{margin:0 0 36px;padding:0 0 0 22px;border:0;font:900 30px/1.55 "Zen Kaku Gothic New";color:var(--ink);letter-spacing:.03em}
.lp .lp-sec>h2::after{content:none}
.lp .lp-sec>h2::before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:5px;background:var(--red);border-radius:3px}
.lp .lp-sec>h2{position:relative}
.lp .lp-intro>h2{padding:0;font-size:28px;line-height:1.7}
.lp .lp-intro>h2::before{content:none}
.lp .lp-intro>h2{border-bottom:3px solid var(--red);padding-bottom:18px;display:block}
.lp .lp-intro>h2{margin-bottom:32px}
.lp strong{color:var(--ink);background:linear-gradient(transparent 64%,rgba(210,58,44,.17) 64%)}
.lp p{margin:0 0 1.15em}
.lp p:last-child{margin-bottom:0}
.lp .lp-sec>h3{margin:2.4em 0 .9em;font:700 21px/1.6 "Zen Kaku Gothic New";color:var(--ink);padding-left:16px;border-left:4px solid var(--red)}

/* 実績：赤ペンの丸 */
.lp ul.lp-results{list-style:none;margin:28px 0;padding:0;border-top:1px solid var(--line)}
.lp ul.lp-results li{position:relative;margin:0;padding:18px 8px 18px 58px;border-bottom:1px dashed var(--line);font:700 17px/1.8 "Zen Kaku Gothic New";color:var(--ink);background:#fff}
.lp ul.lp-results li::before{content:"";position:absolute;left:14px;top:20px;width:28px;height:28px;border:2.2px solid var(--red);border-radius:50% 46% 52% 48%;transform:rotate(-8deg)}
.lp ul.lp-results li::after{content:"";position:absolute;left:24px;top:27px;width:7px;height:12px;border:solid var(--red);border-width:0 2.2px 2.2px 0;transform:rotate(40deg)}
/* チェック */
.lp ul.lp-check{list-style:none;margin:28px 0;padding:28px 32px;background:#fff;border:1.5px solid var(--ink)}
.lp ul.lp-check li{position:relative;margin:0;padding:8px 0 8px 40px;font:700 16.5px/1.8 "Zen Kaku Gothic New";color:var(--ink)}
.lp ul.lp-check li::before{content:"";position:absolute;left:0;top:13px;width:22px;height:22px;border:1.5px solid var(--sub);background:#fff}
.lp ul.lp-check li::after{content:"";position:absolute;left:7px;top:9px;width:9px;height:18px;border:solid var(--red);border-width:0 3px 3px 0;transform:rotate(40deg)}
/* 学習の順序 */
.lp .lp-steps{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}
.lp .lp-step{background:#fff;border:1.5px solid var(--ink);padding:24px 26px}
.lp .lp-step p:first-child{margin:0 0 8px;font:900 19px/1.6 "Zen Kaku Gothic New"}
.lp .lp-step p:first-child strong{background:none;color:var(--ink)}
.lp .lp-step p{font-size:15.5px;line-height:1.9}
.lp .lp-note{margin:40px 0 0;padding:30px 34px;background:#F6F9FC;border-left:4px solid var(--ink)}
.lp .lp-note>h3{margin:0 0 14px;font:900 21px/1.6 "Zen Kaku Gothic New";color:var(--ink);border:0;padding:0}
/* 流れ・計算 */
.lp p.lp-flow{margin:10px 0 22px;padding:18px 24px;background:#fff;border:1.5px solid var(--ink);font:700 16.5px/1.9 "Zen Kaku Gothic New";color:var(--ink)}
.lp p.lp-calc{margin:26px 0;padding:22px 0;text-align:center;font:900 30px/1.5 "Zen Kaku Gothic New";color:var(--ink);border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);letter-spacing:.04em}
.lp .lp-figure{margin:0 0 36px}
.lp .lp-figure img{width:100%;border:8px solid #fff;box-shadow:0 14px 34px rgba(29,42,68,.16);transform:rotate(-.5deg)}
/* 料金 */
.lp .lp-price{margin:32px 0 0;background:#fff;border:2px solid var(--ink);padding:40px 44px;position:relative}
.lp .lp-price>h3{margin:0 0 6px;padding:0;border:0;font:700 15px "Zen Kaku Gothic New";color:var(--red);letter-spacing:.1em}
.lp .lp-price>p:first-of-type{margin:0 0 18px;font:900 38px/1.4 "Zen Kaku Gothic New";color:var(--ink)}
.lp .lp-price>p:first-of-type strong{background:linear-gradient(transparent 70%,rgba(210,58,44,.22) 70%)}
.lp .lp-price ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;margin:0 0 24px;padding:20px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}
.lp .lp-price li{position:relative;margin:0;padding:6px 0 6px 30px;font:700 16px/1.7 "Zen Kaku Gothic New";color:var(--ink)}
.lp .lp-price li::after{content:"";position:absolute;left:6px;top:9px;width:7px;height:14px;border:solid var(--red);border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.lp p.lp-under{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:1.5px;text-underline-offset:5px;color:var(--ink);font-weight:700}
/* 申し込みの流れ */
.lp .lp-timeline{margin:28px 0 0;padding-left:30px;border-left:2px dashed rgba(210,58,44,.45)}
.lp .lp-timeline>h3{position:relative;margin:34px 0 8px;padding:0;border:0;font:900 20px/1.6 "Zen Kaku Gothic New";color:var(--ink)}
.lp .lp-timeline>h3:first-child{margin-top:0}
.lp .lp-timeline>h3::before{content:"";position:absolute;left:-39px;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px #fff}
/* よくある質問 */
.lp .lp-faq{display:grid;gap:14px;margin:28px 0 0}
.lp .lp-faq>.wp-block-group{background:#fff;border:1px solid var(--line);padding:22px 26px}
.lp .lp-faq h3{margin:0 0 10px;padding:0;border:0;font:700 17.5px/1.65 "Zen Kaku Gothic New";color:var(--ink)}
.lp .lp-faq p{font-size:15.5px;line-height:1.95}
/* 最後の案内 */
.lp>.lp-sec.lp-cta{background:var(--ink);color:#DCE2EC;border-top:0;text-align:center}
.lp .lp-cta>h2{color:#fff;padding:0;display:block}
.lp .lp-cta>h2::before{content:none}
.lp .lp-cta strong{color:#fff;background:linear-gradient(transparent 64%,rgba(240,138,126,.35) 64%)}
.lp .lp-cta p.lp-small{margin-top:14px;font-size:13.5px;color:#AAB4C4}
/* LINE 登録ボタン */
.lp .lp-btns{margin:32px 0 0;display:flex;justify-content:center}
.lp .lp-btns .wp-block-button__link{display:inline-flex;align-items:center;gap:12px;padding:20px 40px;border-radius:6px;background:#03843C;color:#fff;font:900 18px/1.4 "Zen Kaku Gothic New";letter-spacing:.04em;text-decoration:none;box-shadow:0 6px 0 #025A27;transition:transform .15s,box-shadow .15s}
.lp .lp-btns .wp-block-button__link:hover{background:#036B2E;color:#fff;transform:translateY(2px);box-shadow:0 4px 0 #025A27}
.lp .lp-btns .wp-block-button__link::before{content:"";width:26px;height:26px;flex:none;background:url("../img/icon_line_white.svg") center/contain no-repeat}
@media (max-width:640px){
 .lp{font-size:16px}
 .lp>.lp-sec{padding:60px 20px}
 .lp .lp-sec>h2{font-size:23px;margin-bottom:26px}
 .lp .lp-intro>h2{font-size:21px}
 .lp ul.lp-results li{padding-left:50px;font-size:16px}
 .lp ul.lp-results li::before{left:8px}
 .lp ul.lp-results li::after{left:18px}
 .lp ul.lp-check{padding:20px 18px}
 .lp .lp-steps{grid-template-columns:1fr}
 .lp .lp-note{padding:24px 20px}
 .lp p.lp-calc{font-size:23px}
 .lp .lp-price{padding:28px 20px}
 .lp .lp-price>p:first-of-type{font-size:30px}
 .lp .lp-price ul{grid-template-columns:1fr}
 .lp .lp-btns .wp-block-button__link{padding:18px 22px;font-size:16px;width:100%;justify-content:center}
 .lp .lp-btns,.lp .lp-btns .wp-block-button{width:100%}
}

/* ───────── 入塾に関して（同じ page-lp.php を使う） ─────────
   lp-stepsec=STEP の段（見出しの太字部分が STEP 番号）/ lp-rules=「・」で始まる注意の枠 / lp-small=小さめの補足
   lp-strong=強調する1文 / lp-target=対象学年 / lp-big=大きく見せる1文 / lp-red=赤字 / lp-proverb=ことわざ
   lp-subjects・lp-subject=英語・数学のカード / lp-aside=料金の後の長い注記 / lp-voices・lp-voice=生徒さんの声
   lp-fees・lp-fee=授業料 / lp-fee-price=金額 / lp-gallery=写真を並べる / lp-btns-form=フォームへのボタン */
.lp .lp-stepsec>h2{padding-left:0}
.lp .lp-stepsec>h2::before{content:none}
.lp .lp-stepsec>h2 strong{display:table;margin:0 0 10px;padding:2px 0 4px;background:none;color:var(--red);font:900 17px/1.4 "Zen Kaku Gothic New";letter-spacing:.16em;border-bottom:2.2px solid var(--red)}
.lp .lp-stepsec+.lp-stepsec{border-top:1px dashed rgba(210,58,44,.4)}
.lp .lp-rules{margin:22px 0 26px;padding:20px 26px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--ink)}
.lp .lp-rules p{margin:0 0 .5em;font-size:15.5px;line-height:1.95}
.lp .lp-rules p:last-child{margin-bottom:0}
.lp p.lp-small{font-size:14.5px;line-height:1.95;color:var(--sub)}
.lp p.lp-strong{font-weight:700;color:var(--ink)}
.lp p.lp-aside{margin-top:28px;padding:20px 24px;background:#F6F9FC;border-radius:4px}
.lp ul.lp-target{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px;padding:0}
.lp ul.lp-target li{margin:0;padding:14px 18px 14px 44px;position:relative;background:#fff;border:1.5px solid var(--ink);font:700 16.5px/1.6 "Zen Kaku Gothic New";color:var(--ink)}
.lp ul.lp-target li::after{content:"";position:absolute;left:18px;top:17px;width:7px;height:14px;border:solid var(--red);border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.lp p.lp-big{margin:1.6em 0;font:900 24px/1.6 "Zen Kaku Gothic New";color:var(--ink);letter-spacing:.02em}
.lp p.lp-red{color:var(--red)}
.lp p.lp-proverb{margin:1.4em 0 .4em;padding:22px 0;text-align:center;font:600 26px/1.6 "Zen Old Mincho",serif;color:var(--ink);letter-spacing:.12em;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);text-wrap:balance}
.lp .lp-subjects{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 34px}
.lp .lp-subject{background:#fff;border:1.5px solid var(--ink);padding:24px 26px}
.lp .lp-subject p{font-size:15.5px;line-height:1.95}
.lp .lp-subject p.lp-subject-name{margin:0 0 10px;font:900 20px/1.5 "Zen Kaku Gothic New";color:var(--red)}
.lp .wp-block-quote{margin:26px 0 30px;padding:26px 30px;background:#F6F9FC;border-left:4px solid var(--ink);font-size:15.5px;line-height:2}
.lp .lp-price>h3+p{margin:0 0 6px}
.lp .lp-voices{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lp .lp-voice{position:relative;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ink);padding:24px 28px 24px}
.lp .lp-voice p{font-size:15.5px;line-height:1.95;margin:0}
.lp .lp-voice p.lp-voice-year{margin:0 0 6px;font:700 14px/1.6 "Zen Kaku Gothic New";color:var(--red);letter-spacing:.08em}
.lp .lp-fees{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lp .lp-fee{background:#fff;border:2px solid var(--ink);padding:28px 30px}
.lp .lp-fee-wide{grid-column:1/-1}
.lp .lp-fee>h3{margin:0 0 10px;padding:0 0 10px;border:0;border-bottom:1px dashed var(--line);font:700 17px/1.6 "Zen Kaku Gothic New";color:var(--ink)}
.lp .lp-fee p.lp-fee-price{margin:0 0 10px;font:900 22px/1.6 "Zen Kaku Gothic New";color:var(--ink)}
.lp .lp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 0}
.lp .lp-gallery figure{margin:0}
.lp .lp-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:6px solid #fff;box-shadow:0 8px 22px rgba(29,42,68,.14)}
.lp .lp-btns-form{justify-content:flex-start;margin:18px 0 30px}
.lp .lp-btns-form .wp-block-button__link{background:var(--ink);box-shadow:0 5px 0 #0E1628;font-size:16.5px;padding:16px 34px}
.lp .lp-btns-form .wp-block-button__link:hover{background:var(--red);color:#fff;box-shadow:0 3px 0 #9E2A1F}
.lp .lp-btns-form .wp-block-button__link::before{width:20px;height:20px;background:url("../img/icon_form_white.svg") center/contain no-repeat}
@media (max-width:640px){
 .lp ul.lp-target,.lp .lp-subjects,.lp .lp-voices,.lp .lp-fees,.lp .lp-gallery{grid-template-columns:1fr}
 .lp .lp-gallery{grid-template-columns:1fr 1fr;gap:10px}
 .lp .lp-gallery figure:first-child{grid-column:1/-1}
 .lp p.lp-big{font-size:20px}
 .lp p.lp-proverb{font-size:19px;letter-spacing:.02em}
 .lp .lp-rules,.lp .lp-subject,.lp .lp-voice,.lp .lp-fee{padding:20px 18px}
 .lp .wp-block-quote{padding:20px 18px}
 .lp .lp-stepsec>h2 strong{font-size:15px}
}

/* ───────── 歩学舎Z（在宅受講） ─────────
   lp-compare=教室と歩学舎Zの比較 / lp-compare-z=歩学舎Z側 / lp-photo-lead=最初の大きい写真 / lp-gallery-z=添削の実例（2列） */
.lp .lp-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lp .lp-compare-col{background:#fff;border:1.5px solid var(--line);padding:24px 26px}
.lp .lp-compare-z{border:2px solid var(--red)}
.lp .lp-compare p.lp-compare-name{margin:0 0 10px;font:900 20px/1.5 "Zen Kaku Gothic New";color:var(--ink)}
.lp .lp-compare-z p.lp-compare-name{color:var(--red)}
.lp .lp-compare p.lp-flow{margin:0;padding:0;border:0;background:none;font:500 16px/2 "Noto Sans JP";color:var(--text)}
.lp .lp-compare p.lp-flow strong{color:var(--red);background:linear-gradient(transparent 64%,rgba(210,58,44,.17) 64%)}
.lp figure.lp-photo-lead{margin:0 0 14px}
.lp figure.lp-photo-lead img,.lp .lp-gallery-z img{aspect-ratio:auto 4/3;object-fit:contain;background:#fff}
.lp figure.lp-photo-lead img{width:100%;border:6px solid #fff;box-shadow:0 8px 22px rgba(29,42,68,.14)}
.lp .lp-gallery-z{grid-template-columns:1fr 1fr;margin-top:0}
/* lp-gallery-zmore=授業の写真をたくさん並べる（小さく一覧、押すと拡大）。添削の実例のすぐ下に続ける */
.lp .lp-gallery-zmore{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.lp .lp-gallery-zmore img{aspect-ratio:4/3;object-fit:cover;border-width:4px}
.lp .wp-lightbox-container button{opacity:1;background:rgba(29,42,68,.75)}
@media (max-width:640px){
 .lp .lp-compare{grid-template-columns:1fr}
 .lp .lp-compare-col{padding:20px 18px}
 .lp .lp-gallery-z{grid-template-columns:1fr}
 .lp .lp-gallery-z figure:first-child{grid-column:auto}
 .lp .lp-gallery-zmore{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
 .lp .lp-gallery-zmore figure:first-child{grid-column:auto}
}
/* 講座案内ページで、グループの外に段落などを追加したときも、本文の幅と左右の余白が付くようにする */
.lp>:not(.lp-sec):not(.alignfull):not(.page-links){max-width:860px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:content-box}
.lp>:not(.lp-sec):not(.alignfull):not(.page-links):last-child{margin-bottom:88px}
/* 「改ページ」ブロックを使ったときのページ送り */
.page-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:40px auto 0;max-width:860px;padding:0 24px;font:700 15px "Zen Kaku Gothic New";color:var(--ink)}
.page-links a,.page-links>span:not(:first-child){display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;border:1.5px solid var(--ink);border-radius:4px;text-decoration:none!important;color:var(--ink)!important}
.page-links>span.current,.page-links>span:not(:first-child){background:var(--ink);color:#fff!important}
.page-links a:hover{border-color:var(--red);color:var(--red)!important}
/* ───────── 合格実績（大学名は [ayumi_unis] で表示） ───────── */
.lp .unis-page{margin:8px 0 0;padding:34px 38px;background:#fff;border:1.5px solid var(--ink);line-height:1.9}
.lp .unis-page li{margin:0}
.lp p.lp-lead{margin:0 0 30px;font:900 24px/1.75 "Zen Kaku Gothic New";color:var(--ink)}
.lp ul.lp-plain{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.lp ul.lp-plain li{margin:0;padding:14px 4px;border-bottom:1px dashed var(--line);font-size:16px;line-height:1.85}
@media (max-width:640px){
 .lp .unis-page{padding:22px 18px}
 .lp p.lp-lead{font-size:19px}
}
/* ───────── 生駒校 ─────────
   lp-access=駅からの距離 / lp-cards・lp-card=対象・指導科目 / lp-overview=校舎写真と塾概要 / lp-info=塾概要の文字
   lp-map=地図 / lp-gallery-class=授業風景 */
.lp p.lp-access{margin:0 0 22px;font:900 34px/1.4 "Zen Kaku Gothic New";color:var(--ink);letter-spacing:.03em}
.lp .lp-ikoma-intro>h2+p,.lp .lp-ikoma-intro p.lp-access+p{margin-top:0}
.lp .lp-cards{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin:34px 0 0;align-items:start}
.lp .lp-card{background:#fff;border:1.5px solid var(--ink);padding:24px 26px}
.lp .lp-card p.lp-card-name{margin:0 0 14px;font:900 19px/1.5 "Zen Kaku Gothic New";color:var(--ink);padding-bottom:10px;border-bottom:1px dashed var(--line)}
.lp .lp-card ul.lp-target{grid-template-columns:1fr;gap:8px;margin-bottom:14px}
.lp .lp-card ul.lp-target li{padding:8px 12px 8px 38px;border:0;border-bottom:1px solid var(--line);font-size:16px}
.lp .lp-card ul.lp-target li::after{left:14px;top:11px}
.lp .lp-overview{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:start}
.lp figure.lp-building{margin:0}
.lp figure.lp-building img{width:100%;aspect-ratio:3/4;object-fit:cover;border:6px solid #fff;box-shadow:0 10px 26px rgba(29,42,68,.16);transform:rotate(-.6deg)}
.lp .lp-info{background:#fff;border:2px solid var(--ink);padding:24px 28px;margin:0 0 20px}
.lp .lp-info p{margin:0;font:500 16.5px/2 "Noto Sans JP";color:var(--ink)}
.lp .lp-overview-body .lp-btns-form{margin-bottom:0}
.lp .lp-map{position:relative;margin:40px 0 0;border:1.5px solid var(--ink);background:#F6F9FC;aspect-ratio:16/7}
.lp .lp-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lp p.lp-map-link{margin:10px 0 0;text-align:right;font-size:14.5px}
.lp .lp-gallery-class{grid-template-columns:repeat(3,1fr)}
@media (max-width:640px){
 .lp p.lp-access{font-size:27px}
 .lp .lp-cards,.lp .lp-overview{grid-template-columns:1fr}
 .lp .lp-overview{gap:22px}
 .lp figure.lp-building{max-width:260px}
 .lp .lp-card,.lp .lp-info{padding:20px 18px}
 .lp .lp-map{aspect-ratio:4/3}
 .lp .lp-gallery-class{grid-template-columns:1fr 1fr}
 .lp .lp-gallery-class figure:first-child{grid-column:auto}
}
/* ───────── 塾長の紹介・教育方法・プライバシーポリシー ─────────
   lp-red-strong=赤字で強調する1文 / lp-greeting=写真とご挨拶 / lp-portrait=塾長の写真（小さく）/ lp-sign=署名
   lp-essay=長い文章（教育方法）/ lp-doc=規約などの文書 / lp-lead-small=文書の前文 */
.lp p.lp-red-strong strong{color:var(--red);background:none}
.lp .lp-greeting{display:grid;grid-template-columns:150px 1fr;gap:40px;align-items:start}
.lp figure.lp-portrait{margin:6px 0 0}
.lp figure.lp-portrait img{width:150px;aspect-ratio:3/4;object-fit:cover;object-position:50% 15%;border:5px solid #fff;box-shadow:0 8px 20px rgba(29,42,68,.14)}
.lp p.lp-sign{margin-top:28px;text-align:right;font:700 16px/1.9 "Zen Kaku Gothic New";color:var(--ink)}
.lp .lp-essay p.lp-big{margin:1.5em 0;font-size:21px}
.lp .lp-doc>h2{margin:2.2em 0 .7em;font-size:20px;padding-left:16px}
.lp .lp-doc>h2:first-of-type{margin-top:1.6em}
.lp .lp-doc>h2::before{width:4px}
.lp .lp-doc p{font-size:15.5px;line-height:2}
.lp p.lp-lead-small{font-size:16.5px;color:var(--ink);font-weight:500}
@media (max-width:640px){
 .lp .lp-greeting{grid-template-columns:1fr;gap:20px}
 .lp figure.lp-portrait img{width:110px}
 .lp .lp-essay p.lp-big{font-size:18px}
 .lp .lp-doc>h2{font-size:18px}
}
/* ───────── お問い合わせフォーム（MW WP Form） ─────────
   フォームの中身は「MW WP Form」の編集画面で横井様が変更できる。ここでは、どんな項目でも同じ見た目になるよう、
   MW WP Form が出力する共通の部品（.mw_wp_form / .error / mwform-*）と、今の HP のフォームの class に合わせて装飾する。 */
.mw_wp_form{font-size:16px}
.mw_wp_form table{width:100%;border-collapse:collapse;margin:0 0 28px;border-top:2px solid var(--ink)}
.mw_wp_form th,.mw_wp_form td{border:0;border-bottom:1px solid var(--line);padding:18px 16px;vertical-align:top;text-align:left;background:none}
.mw_wp_form th{width:30%;font:700 15.5px/1.6 "Zen Kaku Gothic New";color:var(--ink);background:#F6F9FC}
.mw_wp_form .inquiry-label,.mw_wp_form .req{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:3px;background:var(--red);color:#fff;font:700 11.5px/1.6 "Zen Kaku Gothic New";letter-spacing:.06em;vertical-align:2px;white-space:nowrap}
.mw_wp_form input[type=text],.mw_wp_form input[type=email],.mw_wp_form input[type=tel],.mw_wp_form input[type=number],.mw_wp_form input[type=url],.mw_wp_form select,.mw_wp_form textarea{width:100%;max-width:520px;padding:11px 13px;border:1.5px solid #B9C3D1;border-radius:4px;background:#fff;font:400 16px/1.6 "Noto Sans JP",sans-serif;color:var(--text);box-sizing:border-box}
.mw_wp_form select{width:auto;min-width:240px;max-width:100%;padding-right:36px}
.mw_wp_form textarea{min-height:150px;resize:vertical}
.mw_wp_form .mwform-zip-field input{width:6.5em;display:inline-block;margin:0 4px}
.mw_wp_form .mwform-zip-field+br+textarea,.mw_wp_form .mwform-zip-field~textarea{margin-top:10px}
.mw_wp_form input:focus,.mw_wp_form select:focus,.mw_wp_form textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(29,42,68,.14)}
.mw_wp_form .mwform-checkbox-field,.mw_wp_form .mwform-radio-field{display:inline-block;margin:4px 22px 4px 0;line-height:1.7}
/* MW WP Form 本体の CSS が「2つ目以降の横並び項目」に左余白を付けるので、折り返したときに行頭がずれないよう消す */
.mw_wp_form .horizontal-item+.horizontal-item{margin-left:0}
/* 今の HP の項目名には、スマホだけで改行する <br class="point-br--sp"> が入っている。このデザインでは「必須」を項目名の横に置くので使わない */
.mw_wp_form .point-br--sp{display:none}
.mw_wp_form .mwform-checkbox-field label,.mw_wp_form .mwform-radio-field label{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer}
.mw_wp_form input[type=checkbox],.mw_wp_form input[type=radio]{width:19px;height:19px;margin:4px 0 0;flex:none;accent-color:var(--ink)}
.mw_wp_form .u-font--s,.mw_wp_form .textsp,.mw_wp_form td p{margin:8px 0 0;font-size:14px;line-height:1.85;color:var(--sub)}
.mw_wp_form .error{display:block;margin-top:6px;color:var(--red);font:700 14px/1.6 "Noto Sans JP"}
.mw_wp_form>p,.mw_wp_form form>p{margin:0 0 14px}
.mw_wp_form button,.mw_wp_form input[type=submit],.mw_wp_form input[type=button]{display:inline-flex;align-items:center;justify-content:center;min-width:220px;margin:8px 10px 8px 0;padding:16px 34px;border:0;border-radius:4px;background:var(--ink);color:#fff;font:700 16.5px "Zen Kaku Gothic New";letter-spacing:.06em;cursor:pointer;box-shadow:0 5px 0 #0E1628;transition:background .2s,transform .15s,box-shadow .15s}
.mw_wp_form button:hover,.mw_wp_form input[type=submit]:hover{background:var(--red);box-shadow:0 3px 0 #9E2A1F;transform:translateY(2px)}
.mw_wp_form button[value=back],.mw_wp_form input[name=submitBack]{background:#fff;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none;min-width:140px}
.mw_wp_form button[value=back]:hover,.mw_wp_form input[name=submitBack]:hover{background:#fff;color:var(--red);border-color:var(--red);box-shadow:none}
.mw_wp_form button:focus-visible,.mw_wp_form input:focus-visible{outline:3px solid #1F5FA8;outline-offset:2px}
.mw_wp_form_confirm td{font-weight:500;color:var(--ink)}
.mw_wp_form .privacy-link{font-weight:700;text-decoration:underline;color:var(--ink)}
.js-mw-privacy-policy{text-align:center}
/* 送信完了画面：今の HP と同じく文章を中央に置き、トップへ戻るボタンを付ける */
.mw_wp_form_complete{text-align:center;padding:12px 0 24px}
.mw_wp_form_complete p{margin:0 0 28px;line-height:2}
.mw_wp_form_complete a.back-top{display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:15px 34px;border:1.5px solid var(--ink);border-radius:4px;background:#fff;color:var(--ink);font:700 16px "Zen Kaku Gothic New";letter-spacing:.06em;text-decoration:none;transition:color .2s,border-color .2s}
.mw_wp_form_complete a.back-top:hover{color:var(--red);border-color:var(--red)}
@media (max-width:640px){
 .mw_wp_form table,.mw_wp_form tbody,.mw_wp_form tr,.mw_wp_form th,.mw_wp_form td{display:block;width:100%}
 .mw_wp_form th{padding:14px 14px 10px;border-bottom:0}
 .mw_wp_form td{padding:10px 2px 20px}
 .mw_wp_form select{width:100%}
 .mw_wp_form button,.mw_wp_form input[type=submit]{width:100%;margin-right:0}
}
