@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700;900&family=Noto+Sans+JP:wght@400;500;700&display=swap');
:root{--navy:#0b4a86;--navy2:#0069b4;--orange:#5e8f2c;--cta:#f08a24;--yellow:#ffe56d;--leaf:#8eb957;--cream:#f3f8ec;--ink:#2a2f36;--muted:#6b7480;--line:#e6e1d8;--green:#3a9d6b;--line-green:#06c755}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:#fff;line-height:1.8;font-size:16px}
h1,h2,h3,.logo,.btn,.tag{font-family:'Zen Maru Gothic',sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:2}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--navy);font-size:24px;letter-spacing:.04em}
.logo small{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.1em;line-height:1}
.logo svg{width:40px;height:40px}
nav ul{display:flex;gap:22px;list-style:none;font-size:14px;font-weight:500}
nav li.on{color:var(--navy2);border-bottom:3px solid var(--leaf)}
.hcta{display:flex;gap:8px}
.btn{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:10px 20px;font-weight:700;font-size:15px}
.btn-line{background:var(--line-green);color:#fff}
.btn-ig{background:linear-gradient(45deg,#f9a03f,#e1306c,#833ab4);color:#fff}
.btn-o{background:var(--orange);color:#fff}
.btn-ghost{border:2px solid var(--navy);color:var(--navy)}
.menu-btn{display:none;font-size:26px;color:var(--navy)}
/* hero */
.hero{background:linear-gradient(180deg,#e3f0fa 0%,#f3f8ec 100%);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:64px;padding-bottom:110px}
.hero .kicker{display:inline-block;background:#fff;color:var(--navy2);font-weight:700;font-size:13px;padding:4px 14px;border-radius:999px;margin-bottom:16px}
.hero h1{font-size:44px;line-height:1.35;color:var(--navy);font-weight:900}
.hero h1 em{font-style:normal;color:var(--navy2);background:linear-gradient(transparent 65%,var(--yellow) 65%)}
.hero p.lead{margin:18px 0 28px;font-size:17px;color:#46505c}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.photo{background:repeating-linear-gradient(45deg,#dfe7f1,#dfe7f1 12px,#e8eef6 12px,#e8eef6 24px);border-radius:24px;display:flex;align-items:center;justify-content:center;color:#7a8aa0;font-size:14px;font-weight:500;text-align:center}
.hero .photo{height:340px;box-shadow:0 20px 40px rgba(31,58,95,.12)}
.mountains{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:90px}
section{padding:72px 0}
.sec-title{text-align:center;margin-bottom:40px}
.sec-title .en{font-family:'Zen Maru Gothic';color:var(--orange);font-weight:700;letter-spacing:.2em;font-size:13px}
.sec-title h2{font-size:30px;color:var(--navy);font-weight:900}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 24px}
.card .num{font-family:'Zen Maru Gothic';font-size:40px;font-weight:900;color:var(--leaf);line-height:1}
.card h3{font-size:19px;color:var(--navy);margin:10px 0 8px}
.card p{font-size:14.5px;color:#4b5563}
.bg-cream{background:var(--cream)}
.philo{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.philo div{background:var(--navy);color:#fff;border-radius:18px;padding:30px}
.philo div:nth-child(2){background:var(--navy2)}
.philo h3{font-size:22px;margin-bottom:8px}
.philo h3 span{color:var(--yellow)}
/* blog list */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.post .photo{border-radius:0;height:170px}
.post .body{padding:16px 18px 20px}
.post .meta{font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:center}
.tag{background:#e8f2da;color:#4d7a20;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:700}
.post h3{font-size:17px;line-height:1.5;margin-top:6px;color:var(--ink)}
.more{text-align:center;margin-top:30px}
.info{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.info table{width:100%;border-collapse:collapse;font-size:15px}
.info th{width:110px;text-align:left;color:var(--navy);padding:12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.info td{padding:12px 0;border-bottom:1px solid var(--line)}
.map{border-radius:18px;min-height:260px;display:flex;flex-direction:column;justify-content:center;color:#7a8a95}
.ctaband{background:var(--navy2);color:#fff;text-align:center;padding:56px 24px}
.ctaband h2{font-size:28px;font-weight:900}
.ctaband p{margin:6px 0 22px}
.ctaband .btn{background:var(--cta);color:#fff;box-shadow:0 3px 0 #c56a12;font-size:17px;padding:14px 30px}
.ctaband .btn.l{color:#fff}
footer{background:var(--navy);color:#cfd8e3;font-size:13px;padding:36px 0}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer .logo{color:#fff}
/* sub pages */
.pagehead{background:linear-gradient(180deg,#e3f0fa,#f3f8ec);padding:52px 0 70px;position:relative;overflow:hidden}
.pagehead .crumb{font-size:12.5px;color:var(--muted)}
.pagehead h1{font-size:36px;color:var(--navy);font-weight:900;margin-top:6px}
.pagehead p{color:#4b5563;margin-top:6px}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-bottom:64px}
.feature.rev .text{order:2}
.feature .photo{height:280px}
.feature .no{font-family:'Zen Maru Gothic';font-weight:900;color:var(--orange);font-size:15px;letter-spacing:.15em}
.feature h2{font-size:27px;color:var(--navy);line-height:1.45;margin:4px 0 14px;font-weight:900}
.feature p{color:#3f4853}
.point{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.point span{background:#eef4fb;color:var(--navy2);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}
.teachers{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.teacher{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;gap:20px}
.teacher .face{width:96px;height:96px;flex:none;border-radius:50%;font-size:11px}
.teacher h3{font-size:20px;color:var(--navy)}
.teacher .sub{font-size:13px;color:var(--orange);font-weight:700}
.teacher p{font-size:14px;color:#4b5563;margin-top:6px}
/* blog page */
.bloglayout{display:grid;grid-template-columns:1fr 300px;gap:40px}
article.entry{background:#fff}
article.entry .meta{font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:center}
article.entry h2{font-size:28px;color:var(--navy);line-height:1.5;margin:8px 0 18px;font-weight:900}
article.entry .photo{height:320px;margin-bottom:22px}
article.entry p{margin-bottom:16px}
article.entry .q{background:var(--cream);border-left:5px solid var(--leaf);padding:14px 18px;border-radius:6px;margin:18px 0;font-weight:500}
.share{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:14px;color:var(--muted)}
aside .box{background:var(--cream);border-radius:16px;padding:20px;margin-bottom:20px}
aside h4{font-family:'Zen Maru Gothic';color:var(--navy);font-size:16px;margin-bottom:10px}
aside ul{list-style:none;font-size:14px}
aside li{padding:7px 0;border-bottom:1px dashed var(--line)}
aside li small{color:var(--muted);display:block;font-size:12px}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px}
.mini div{aspect-ratio:1;border-radius:4px}
.list2{margin-top:48px}
.list2 h3{font-family:'Zen Maru Gothic';color:var(--navy);font-size:20px;margin-bottom:16px}
.row{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.row .photo{width:120px;height:80px;border-radius:10px;flex:none;font-size:11px}
.row h4{font-size:16px}
.row .meta{font-size:12.5px;color:var(--muted)}
.pager{display:flex;gap:6px;justify-content:center;margin-top:26px}
.pager span{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:14px}
.pager span.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.sample{position:fixed;top:10px;right:10px;background:rgba(240,138,36,.92);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;z-index:9}
/* mobile */
@media(max-width:700px){
 nav,.hcta{display:none}.menu-btn{display:block}
 header .wrap{height:62px}.logo{font-size:20px}.logo svg{width:32px;height:32px}
 .hero .wrap{grid-template-columns:1fr;padding-top:34px;padding-bottom:90px;gap:24px}
 .hero h1{font-size:30px}.hero .photo{height:210px}
 .cards,.posts,.philo,.info,.teachers,.feature,.bloglayout{grid-template-columns:1fr}
 .feature .text{order:0!important}.feature{gap:18px;margin-bottom:44px}.feature .photo{height:200px}
 section{padding:48px 0}.sec-title h2{font-size:24px}
 .pagehead h1{font-size:28px}.feature h2{font-size:22px}
 article.entry h2{font-size:22px}article.entry .photo{height:220px}
 .teacher{flex-direction:column;align-items:flex-start}
 .fixedcta{display:flex!important}
 body{padding-bottom:70px}
}
.fixedcta{display:none;position:fixed;bottom:0;left:0;right:0;gap:8px;padding:10px 12px;background:#fff;box-shadow:0 -4px 14px rgba(0,0,0,.1);z-index:5}
.fixedcta .btn{flex:1;justify-content:center;padding:12px 8px;font-size:14px}

.logo{flex:0 0 auto;margin-right:auto}.logo img{height:44px;width:auto;aspect-ratio:333/67;display:block;flex:0 0 auto}
.logo .sub{font-size:11px;color:var(--muted);letter-spacing:.08em;font-weight:500;align-self:flex-end;padding-bottom:2px}
.flogo{display:inline-block;background:#fff;border-radius:10px;padding:8px 12px}
.flogo img{height:32px;width:auto;aspect-ratio:333/67;display:block}
@media(max-width:700px){.logo img{height:30px}.logo .sub{display:none}}
.card{border-top:5px solid var(--navy2)}.card:nth-child(2){border-top-color:var(--leaf)}
footer{background:#0b3d6e}

/* ===== ここから下はサイト化のための追加分（デザイン原本は上まで） ===== */
/* 写真を入れた枠 */
img.photo,.photo img{display:block;width:100%;object-fit:cover}
img.photo{background:#eef2f6}
.feature img.photo{height:280px}
.post img.photo{height:170px}
article.entry img.photo{height:auto;max-height:420px}
.row img.photo{width:120px;height:80px}
.teacher img.face{object-fit:cover}
.mini img{aspect-ratio:1;width:100%;object-fit:cover;border-radius:4px;display:block}
a.post:hover h3,.row a:hover h4{color:var(--navy2)}
nav a:hover{color:var(--navy2)}
/* スマホのメニュー */
.menu-btn{background:none;border:0;cursor:pointer;line-height:1}
@media(max-width:700px){
 header.open nav{display:block;position:absolute;top:62px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 16px rgba(0,0,0,.06)}
 header.open nav ul{flex-direction:column;gap:0;padding:6px 24px 14px}
 header.open nav li{padding:0;border-bottom:1px dashed var(--line)}
 header.open nav li a{display:flex;align-items:center;justify-content:space-between;padding:11px 4px;min-height:48px}
 header.open nav li a::after{content:'›';color:var(--muted);font-size:18px}
 header.open nav li a:active{background:#eef4fb}
 header.open nav li.on{border-bottom:1px dashed var(--line);font-weight:700}
 .ctaband .btn{font-size:15px;padding:12px 20px}
 footer .wrap>div{text-align:left!important}
}
/* 地図 */
.map iframe{width:100%;height:100%;min-height:260px;flex:1;background:#e7ecef;border:0;border-radius:18px;display:block}
.map-link{align-self:flex-end;margin-top:8px;font-size:14px;font-weight:700;color:var(--navy2);text-decoration:underline}
/* 本文ページ共通 */
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:24px;color:var(--navy);font-weight:900;margin:36px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{margin-bottom:14px}
.lead-box{background:var(--cream);border-radius:18px;padding:24px 28px;margin-bottom:36px}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:30px}
/* 料金 */
.price-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy2);border-radius:18px;padding:24px 26px;margin-bottom:22px}
.price-card:nth-child(even){border-top-color:var(--leaf)}
.price-card h2{font-size:21px;color:var(--navy);margin:0 0 10px}
.price-card table{width:100%;border-collapse:collapse;font-size:15px}
.price-card th,.price-card td{padding:12px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.price-card th{color:var(--navy);width:28%;font-weight:700}
.price-card td.yen{text-align:right;white-space:nowrap;font-family:'Zen Maru Gothic';font-weight:700;color:var(--navy2);font-size:18px}
.price-card .note{font-size:13px;color:var(--muted);margin-top:8px}
/* 無料体験の流れ */
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.steps .card h3{margin-top:6px}
/* よくある質問 */
.qa{border:1px solid var(--line);border-radius:14px;margin-bottom:14px;background:#fff;overflow:hidden}
.qa summary{list-style:none;cursor:pointer;padding:16px 48px 16px 20px;font-weight:700;color:var(--navy);position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:'＋';position:absolute;right:18px;top:14px;color:var(--leaf);font-size:20px}
.qa[open] summary::after{content:'－'}
.qa .a{padding:0 20px 18px;color:#3f4853}
.qa .mark{font-family:'Zen Maru Gothic';font-weight:900;color:var(--leaf);margin-right:8px}
/* 進学実績 */
.stat{text-align:center;background:var(--navy);color:#fff;border-radius:18px;padding:34px 24px;margin-bottom:40px}
.stat .big{font-family:'Zen Maru Gothic';font-size:30px;font-weight:900;line-height:1.5}
.stat .big em{font-style:normal;color:var(--yellow);font-size:46px;white-space:nowrap}
.stat .nb{display:inline-block}.stat small{display:block;margin-top:6px;color:#cfd8e3}
.results{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:48px}
.results h3{font-size:18px;color:var(--navy);margin-bottom:8px}
.results ul{list-style:none;font-size:15px}
.results li{padding:6px 0;border-bottom:1px dashed var(--line)}
.year{font-family:'Zen Maru Gothic';font-size:22px;color:var(--navy);font-weight:900;margin:0 0 14px}
.voices{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.voice{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.voice .who{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.voice .who img{width:64px;height:64px;border-radius:50%;flex:none;background:#eef2f6}
.voice h3{font-size:18px;color:var(--navy);line-height:1.5}
.voice .from{font-size:13px;color:var(--orange);font-weight:700}
.voice p{font-size:14.5px;color:#4b5563;white-space:pre-line}
/* 概要・プライバシーポリシー */
.info.single{grid-template-columns:1fr}
.notice{background:#fff4e6;border:1px solid #f5c58f;color:#8a4b0f;border-radius:12px;padding:12px 16px;font-size:14px;margin-bottom:26px}
@media(max-width:700px){
 .steps,.results,.voices{grid-template-columns:1fr}
 .price-card{padding:20px 18px}.price-card th{width:auto;display:block;border-bottom:0;padding-bottom:0}
 .price-card td{display:inline-block;border-bottom:0}.price-card tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}
 .stat .big{font-size:clamp(18px,5.6vw,22px)}.stat .big em{font-size:clamp(30px,9.5vw,36px)}
}
/* 中くらいの画面幅でナビが折り返さないように */
nav li{white-space:nowrap}
@media(max-width:1060px) and (min-width:701px){.logo .sub{display:none}nav ul{gap:14px;font-size:13px}header .wrap{gap:16px}}
/* 授業方針のイラストは切らずに全体を表示 */
.feature img.photo{height:auto;max-width:440px;width:100%;justify-self:center;object-fit:contain;background:none}
@media(max-width:700px){.feature img.photo{height:auto;max-width:360px}}
/* 写真も切らずに全体を表示（ブログのサムネイルは一覧の見た目をそろえるため切り抜きのまま） */
.hero img.photo{height:auto}
article.entry img.photo{max-height:none}
.info img.photo{height:auto;align-self:start;border-radius:18px}
/* 授業方針のイラストの角を6枚とも同じ丸みに */
.feature img.photo{border-radius:24px;overflow:hidden}
/* ブログのカテゴリーリンク */
aside li a:hover{color:var(--navy2)}
a.tag:hover{background:#d6e8c0}
/* 本文の見出し・リスト・表・強調・囲み枠（ブログ記事と授業方針で共通。他のページでも class="rich" を付ければ同じ見た目） */
article.entry h3,.rich h3{font-size:19px;color:var(--navy);margin:28px 0 10px;padding-left:12px;border-left:5px solid var(--leaf);line-height:1.5}
article.entry ul,article.entry ol,.prose ul,.prose ol{margin:0 0 16px 1.4em}
article.entry li{margin-bottom:4px}
article.entry strong,.rich strong{background:linear-gradient(transparent 62%,var(--yellow) 62%);font-weight:700}
article.entry table,.rich table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
article.entry th,article.entry td,.rich th,.rich td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
article.entry thead th,.rich thead th{background:var(--navy2);color:#fff;border-color:var(--navy2)}
article.entry tbody th,.rich tbody th{background:#eef4fb;color:var(--navy);white-space:nowrap}
.rich .q{background:var(--cream);border-left:5px solid var(--leaf);padding:14px 18px;border-radius:6px;margin:18px 0;font-weight:500}
article.entry .q p:last-child,.rich .q p:last-child{margin-bottom:0}
@media(max-width:700px){article.entry table,.rich table{font-size:14px}article.entry th,article.entry td,.rich th,.rich td{padding:8px}}
@media(max-width:700px){article.entry table{display:block;overflow-x:auto}}
/* キャンペーン：全ページ上部の帯 */
.cbanner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:var(--cta);color:#fff;padding:10px 24px;font-weight:700;font-size:15px;text-align:center}
.cbanner:hover{background:#e07a14}
.cbanner-label{background:#fff;color:var(--cta);border-radius:999px;padding:1px 12px;font-size:12px;font-family:'Zen Maru Gothic'}
.cbanner-date{font-size:13px;opacity:.95}
/* キャンペーン：トップのカード */
.campaign-sec{padding:40px 0 0}
.ccard{display:grid;grid-template-columns:320px 1fr;background:#fff8ef;border:3px solid var(--cta);border-radius:22px;overflow:hidden;box-shadow:0 10px 24px rgba(240,138,36,.15)}
.ccard img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}
.ccard-body{padding:24px 28px}
.ccard-label{display:inline-block;background:var(--cta);color:#fff;font-weight:700;font-size:13px;border-radius:999px;padding:3px 14px;font-family:'Zen Maru Gothic'}
.ccard h2{font-family:'Zen Maru Gothic';color:var(--navy);font-size:24px;font-weight:900;line-height:1.45;margin:10px 0 6px}
.ccard p{color:#4b5563;font-size:15px}
.ccard-date{font-weight:700;color:#c56a12;margin:8px 0 14px}
.ccard-btn{background:var(--cta);color:#fff;box-shadow:0 3px 0 #c56a12}
.campaign-detail img.photo{height:auto;margin-bottom:18px}
.campaign-detail .lead-text{font-size:17px;font-weight:700;color:var(--navy)}
.campaign-detail ul{margin:0 0 16px 1.4em}
/* キャンペーン：バナー画像（PC横長／スマホ正方形） */
.cpicture{display:block}
.cpicture img{display:block;width:100%;height:auto}
.ccard-wide{grid-template-columns:1fr}
.ccard .cpicture img{height:auto;min-height:0;object-fit:contain}
.campaign-detail .cpicture{margin-bottom:18px;border-radius:18px;overflow:hidden}
.campaign-terms{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;background:#fff8ef;border:2px solid var(--cta);border-radius:14px;padding:16px 20px;margin:22px 0 14px}
.campaign-terms dt{font-weight:700;color:#c56a12}
.campaign-terms dd{margin:0;font-weight:700;color:var(--navy)}
.campaign-detail ul.campaign-notes{list-style:none;margin:0 0 18px;font-size:14px;color:#4b5563}
.campaign-notes li{padding-left:1em;text-indent:-1em}
.campaign-notes li::before{content:"・"}
.past-list{list-style:none}
.past-list li{padding:12px 0;border-bottom:1px solid var(--line)}
.past-list small{display:block;color:var(--muted);font-size:12.5px}
@media(max-width:700px){
 .ccard{grid-template-columns:1fr}.ccard img{min-height:0;height:180px}
 .ccard-body{padding:18px}.ccard h2{font-size:20px}
 .cbanner{font-size:14px;gap:6px;padding:9px 16px}
}
/* ページ見出しの背景に教室の写真をうっすら透かす */
/* 写真は帯の高さに合わせて右寄せ（ほぼ切らない）。左＝タイトル側に向かってフェード */
.pagehead-bg{position:absolute;top:0;right:max(0px,calc((100% - 1080px) / 2));height:100%;width:auto;max-width:70%;object-fit:cover;object-position:center;opacity:.4;
 -webkit-mask-image:linear-gradient(to right,transparent,#000 40%,#000 80%,transparent);mask-image:linear-gradient(to right,transparent,#000 40%,#000 80%,transparent)}
.pagehead .wrap{position:relative;z-index:1}
.pagehead .mountains{z-index:1}
@media(max-width:700px){.pagehead-bg{right:0;max-width:100%;opacity:.25;-webkit-mask-image:linear-gradient(to right,transparent,#000 40%);mask-image:linear-gradient(to right,transparent,#000 40%)}}
/* ===== 授業方針・特徴ページ ===== */
/* 冒頭の２つの目標 */
.policy-lead{padding:28px 32px;max-width:860px;margin:0 auto 64px}
.goals{list-style:none;display:grid;gap:12px;margin-bottom:16px}
.goals li{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:12px;padding:14px 18px}
.goal-no{flex:none;width:30px;height:30px;border-radius:50%;background:var(--leaf);color:#fff;font-family:'Zen Maru Gothic';font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:2px}
.goals p{font-weight:500;line-height:1.8}
.goals-sum{text-align:center;font-weight:700;color:var(--navy);font-size:17px}
/* POINT：文章を広め（最大40字前後）・画像を小さめに */
.feature{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:56px;align-items:center;margin-bottom:0;padding:64px 0;border-top:1px solid var(--line)}
.feature.rev{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.policy-lead+.feature{border-top:0;padding-top:0}
.feature .text{max-width:40em}
.feature.rev .text{justify-self:end}
.feature img.photo{max-width:400px}
.feature .no{display:flex;align-items:baseline;gap:8px;font-size:34px;line-height:1;letter-spacing:.04em;color:var(--leaf);margin-bottom:10px}
.feature .no span{font-size:13px;letter-spacing:.2em;color:var(--orange);background:#e8f2da;border-radius:999px;padding:4px 10px 3px}
.feature h2{font-size:26px;margin:0 0 18px;padding-bottom:14px;border-bottom:3px solid #eef4fb}
.feature p{line-height:1.95;margin-bottom:14px}
.feature .p-lead{font-size:17.5px;font-weight:700;color:var(--navy);line-height:1.75}
.feature h3{font-size:17px;margin:22px 0 10px}
.feature .q{margin:16px 0}
.feature .q p{line-height:1.85}
.feature table{margin:4px 0 18px}
.feature table.fee{max-width:400px}
.feature .note{font-size:14px;color:var(--muted)}
.feature .note a{color:var(--navy2);text-decoration:underline}
.checks{list-style:none;margin:0 0 16px}
.checks li{position:relative;padding-left:28px;margin-bottom:8px;line-height:1.85}
.checks li::before{content:'';position:absolute;left:4px;top:.45em;width:14px;height:8px;border-left:3px solid var(--leaf);border-bottom:3px solid var(--leaf);transform:rotate(-45deg)}
.feature .point{margin-top:18px}
.teacher p{line-height:1.85;margin-bottom:8px}
.teacher p:last-child{margin-bottom:0}
@media(max-width:700px){
 .policy-lead{padding:18px 16px;margin-bottom:40px}
 .goals li{padding:12px 14px;gap:10px}
 .goals-sum{font-size:16px;text-align:left}
 .feature,.feature.rev{grid-template-columns:1fr;gap:20px;padding:44px 0;margin-bottom:0}
 .feature img.photo{order:-1;max-width:300px}
 .feature .no{font-size:28px}
 .feature h2{font-size:21px;margin-bottom:14px;padding-bottom:10px}
 .feature p,.checks li{font-size:16px;line-height:1.9}
 .feature .p-lead{font-size:17px}
 .feature h3{font-size:17px}
 .teacher p{font-size:15px}
}
/* 問い合わせ導線 */
.hero .cta-note{margin-top:12px;font-size:14px;color:#46505c}
.hero .cta-note a{color:var(--navy2);text-decoration:underline;white-space:nowrap}
.ctaband .ctaband-sub{margin:18px 0 0;font-size:14px}
.ctaband .ctaband-sub a{text-decoration:underline;opacity:.9}
.contact-main{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#eafbf1;border:2px solid var(--line-green);border-radius:20px;padding:28px 32px;margin-bottom:28px}
.contact-main h2{font-size:24px;color:var(--navy);font-weight:900;margin:6px 0 8px}
.contact-main p{font-size:15px;color:#46505c}
.contact-main .btn{font-size:17px;padding:14px 28px;flex-shrink:0;box-shadow:0 3px 0 #04a347}
.contact-badge{display:inline-block;background:var(--line-green);color:#fff;font-weight:700;font-size:12px;padding:2px 12px;border-radius:999px}
.contact-sub{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.contact-sub .card h3{margin-top:0}
.card p.contact-big{font-family:'Zen Maru Gothic';font-size:20px;font-weight:700;color:var(--navy2);margin-bottom:8px;word-break:break-all}
.contact-examples{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:36px}
.contact-examples li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 18px;text-align:center;font-weight:500;color:var(--navy)}
.contact-examples li::before{content:'💬 '}
.contact-template h3{color:var(--navy);font-size:19px;margin-bottom:4px}
.contact-template pre{background:#fff;border:1px dashed #b9c7a5;border-radius:12px;padding:16px 20px;margin-top:12px;font-family:inherit;font-size:15px;line-height:1.9;white-space:pre-wrap}
.contact-note{text-align:center;font-size:14px;color:var(--muted)}
.contact-note a{color:var(--navy2);text-decoration:underline}
@media(max-width:700px){
 .contact-main{flex-direction:column;align-items:stretch;padding:22px 18px;gap:16px}
 .contact-main h2{font-size:21px}
 .contact-main .btn{justify-content:center;font-size:16px}
 .contact-sub,.contact-examples{grid-template-columns:1fr}
 .contact-note{text-align:left}
}/* トップ「PEAKの3つの特徴」 */
.features-band{background:linear-gradient(180deg,#eaf3fb 0%,#f4f9fd 100%);border-top:1px solid #d9e8f5;border-bottom:1px solid #d9e8f5}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.fcard{background:#fff;border-radius:20px;padding:30px 28px 32px;border-top:6px solid var(--navy2);box-shadow:0 12px 28px rgba(11,74,134,.10)}
.fcard:nth-child(2){border-top-color:var(--leaf)}
.fcard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.fcard-icon{width:56px;height:56px;border-radius:50%;background:#eaf3fb;display:flex;align-items:center;justify-content:center}
.fcard:nth-child(2) .fcard-icon{background:#eef6e4}
.fcard-icon svg{width:30px;height:30px;fill:none;stroke:var(--navy2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fcard:nth-child(2) .fcard-icon svg{stroke:var(--orange)}
.fcard-no{font-family:'Zen Maru Gothic';font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--navy2);background:#eaf3fb;border-radius:999px;padding:3px 12px}
.fcard:nth-child(2) .fcard-no{color:var(--orange);background:#eef6e4}
.fcard h3{font-size:22px;font-weight:900;color:var(--navy);line-height:1.4;margin-bottom:12px}
.fcard p{font-size:15.5px;color:#3d4652;line-height:1.85}
.fcard strong{background:linear-gradient(transparent 62%,var(--yellow) 62%);font-weight:700;color:var(--ink)}
.btn-navy{background:var(--navy2);color:#fff;box-shadow:0 3px 0 var(--navy)}
.features-band .more{margin-top:36px}
.features-band .more .btn{font-size:16px;padding:12px 28px}
@media(max-width:700px){
 .features{grid-template-columns:1fr;gap:18px}
 .fcard{padding:24px 22px 26px}
 .fcard h3{font-size:20px}
 .fcard p{font-size:15px}
}
.fixedcta .ig-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}
