@charset "UTF-8";
:root{--navy:#193b45;--green:#24735c;--ink:#263f46;--muted:#607274;--paper:#fbfcf8;--pale:#eef4ef;--line:#dce5dd;--mint:#dbe9d4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #c4802f;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.55}h2{font-size:clamp(27px,3vw,40px);letter-spacing:.035em;margin-bottom:22px}h3{font-size:20px}p{margin-bottom:20px}.wrap{max-width:1160px;margin-inline:auto;padding-inline:36px}.header{height:94px;padding:0 4.2%;display:flex;align-items:center;gap:38px;justify-content:space-between;background:rgba(251,252,248,.96);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0;font-size:24px;font-weight:800;line-height:1.2;letter-spacing:.04em}.brand-fx{color:var(--green);margin-left:3px}.brand small{display:block;font-size:9px;letter-spacing:.22em;margin-top:6px}.header nav{display:flex;gap:28px;font-size:13px;font-weight:700;margin-left:auto}.header nav a:hover,.text-link:hover{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border-radius:7px;min-height:62px;padding:17px 26px;background:var(--green);color:#fff;font-size:15px;font-weight:700;line-height:1.6;box-shadow:0 5px 0 #183d4510;transition:background .2s,transform .2s}.button:hover{background:#185840;transform:translateY(-2px)}.button span{font-size:21px;font-weight:400}.button.small{min-height:46px;padding:11px 21px;font-size:13px;gap:20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;color:var(--green);margin-bottom:22px}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:7px}.hero{background:radial-gradient(ellipse at 74% 42%,#e7efdf 0,transparent 55%),var(--paper);overflow:hidden}.hero-inner{display:grid;grid-template-columns:1fr 1.14fr;align-items:center;min-height:645px;padding-top:45px;padding-bottom:40px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(43px,5.3vw,69px);letter-spacing:.035em;line-height:1.5;margin:0 0 18px -22px;font-weight:800}.hero h1 span{background:linear-gradient(transparent 75%,#d9e9b9 75%,#d9e9b9 91%,transparent 91%)}.hero-lead{font-size:22px;font-weight:700;margin-bottom:13px}.hero-copy>p:not(.eyebrow):not(.hero-lead):not(.micro){font-size:15px}.micro{font-size:12px;color:var(--muted);margin:15px 0 0}.hero-art{position:relative;width:112%;margin-left:-5%}.art-note{position:absolute;top:6%;left:25%;background:#fff;padding:8px 22px;transform:rotate(-5deg);border-radius:4px;box-shadow:0 6px 30px #173c4507;font-size:14px;letter-spacing:.08em;font-weight:700}.art-caption{display:flex;justify-content:center;gap:24px;font-size:10px;letter-spacing:.14em;margin-top:-10px;color:var(--muted)}.hero-bottom{display:flex;align-items:center;gap:36px;min-height:76px;border-top:1px solid var(--line);font-size:12px;font-weight:700}.hero-bottom>span::before{content:'✓';margin-right:10px;color:var(--green)}.hero-bottom a{margin-left:auto;font-size:9px;letter-spacing:.16em}.section{padding-top:100px;padding-bottom:100px}.section-heading{text-align:center;margin-bottom:42px}.section-heading p:last-child{color:var(--muted)}.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.worry-grid p{margin:0;background:#fff;border:1px solid var(--line);border-radius:9px;padding:25px 25px 25px 52px;position:relative;font-size:15px;font-weight:600}.worry-grid p::before{content:'?';position:absolute;left:23px;top:26px;color:#799483;font-family:Georgia,serif;font-size:24px}.conversation{margin-top:42px;padding:23px;background:var(--pale);border-radius:12px;display:grid;grid-template-columns:65px 1fr 65px 1fr;gap:17px;align-items:center}.conversation small{font-size:11px;color:var(--green);font-weight:700}.conversation p{font-size:14px;line-height:1.85;margin:3px 0}.pale{background:var(--pale)}.split-heading{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:28px}.split-heading>p{font-size:15px;color:var(--muted)}.terms{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}.lesson{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:16px;overflow:hidden}.lesson-visual{padding:35px;position:relative;background:#dbe8d6;min-height:430px;background-image:linear-gradient(#ffffff40 1px,transparent 1px),linear-gradient(90deg,#ffffff40 1px,transparent 1px);background-size:28px 28px}.lesson-tag{background:var(--navy);color:white;font-size:11px;padding:7px 13px;border-radius:4px;display:inline-block;margin-bottom:30px}.lesson-visual>p{font-size:13px;margin-bottom:0}.lesson-visual h3{font-family:Georgia,serif;font-size:60px;line-height:1.2;margin:6px 0 25px}.lesson-visual h3 span{display:block;font-family:"Yu Gothic",sans-serif;font-size:21px;margin-top:12px}.lesson-visual>img{position:absolute;right:12px;top:87px;width:130px;transform:rotate(5deg)}.pips-diagram{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffffe8;padding:22px 18px;border-radius:8px;font-size:17px;font-weight:700;position:relative;z-index:1}.pips-diagram small{display:block;font-size:10px;font-weight:400;text-align:center}.pips-diagram b{color:var(--green);font-size:24px;line-height:1.2;text-align:center}.pips-diagram b small{font-weight:700;font-size:11px;margin-top:8px}.lesson-copy{padding:40px}.lesson-copy h3{font-size:27px}.lesson-copy p{font-size:14px}.lesson-quote{border-left:2px solid #b9cdaa;padding-left:18px}.lesson-quote small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.text-link{font-size:13px;border-bottom:1px solid #9aafa2;display:inline-block;padding-bottom:5px;font-weight:700}.text-link span{margin-left:20px}details{margin-top:22px;font-size:13px}summary{cursor:pointer;padding:12px 0;min-height:44px}details p{padding:8px 0;margin:0}.center{text-align:center}.closing{margin:30px 0 0;font-size:14px}.friends-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.portrait{border-radius:80px 80px 12px 12px;overflow:hidden;padding:15px 15px 0;margin-bottom:24px}.portrait img{width:100%;transition:transform .3s}.friend:hover img{transform:translateY(-4px) rotate(-2deg)}.mint{background:#e1ebdf}.cream{background:#f2e9d6}.pink{background:#eee2dc}.blue{background:#dee9eb}.role{font-size:11px;color:var(--green);font-weight:700}.friend h3{font-size:20px;margin:8px 0 12px}.friend p{font-size:13px;line-height:1.9}.philosophy{background:var(--navy);color:#fff}.philosophy-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:35px 65px;align-items:center}.philosophy .eyebrow{color:#b4cfb1}.philosophy h2{font-size:clamp(25px,2.8vw,36px)}.philosophy em{font-style:normal;color:#c4dea8}.philosophy p:not(.eyebrow):not(.philosophy-bottom){font-size:14px;color:#d1dedd}.question{border:1px solid #668187;padding:19px 22px;margin:14px 0;border-radius:7px;font-size:15px}.question:nth-child(2){margin-left:20px}.question:nth-child(3){margin-left:40px}.thinking-loop{display:flex;justify-content:space-between;gap:9px;font-size:12px;margin-top:35px;color:#c4dea8}.philosophy-bottom{grid-column:1/-1;text-align:center;border-top:1px solid #526c73;padding-top:35px;margin:5px 0 0;font-weight:700;font-size:18px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.values-grid>div{border-top:1px solid var(--line);padding:20px 0 0}.values-grid span{font-family:Georgia,serif;font-size:21px;color:#668771}.values-grid h3{font-size:19px;margin:9px 0}.values-grid p{font-size:13px;color:var(--muted);margin:0}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 36px;counter-reset:step}.steps li{border-top:2px solid #c0d2ba;padding:25px;background:#ffffff90;border-radius:0 0 8px 8px}.steps span{font-size:11px;color:var(--green);font-weight:700;letter-spacing:.15em}.steps h3{font-size:17px;margin:15px 0 8px}.steps p{font-size:13px;color:var(--muted);margin:0}.community{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.community-art{background:#eff2e7;border-radius:50% 50% 10px 10px;overflow:hidden}.community p:not(.eyebrow){font-size:14px;color:var(--muted)}.checks{list-style:none;padding:0;font-size:14px}.checks li{padding:5px 0}.checks li::before{content:'✓';color:var(--green);margin-right:13px}.seminar{padding-bottom:0;background:#e6edde;background-image:radial-gradient(#9cb38b44 .8px,transparent .8px);background-size:16px 16px;overflow:hidden}.seminar-label{display:inline-block;font-size:12px;border:1px solid #b8cbb0;padding:4px 18px;border-radius:30px;margin:3px 0 22px}.seminar h2{font-size:clamp(27px,3.5vw,43px)}.seminar p{font-size:15px}.seminar .micro{font-size:12px}.seminar .button{min-width:340px;margin-top:12px}.seminar-status{font-size:12px!important;color:var(--muted);margin:17px auto 0;max-width:450px}.seminar-status:target{background:#fff;padding:12px;border-radius:6px}.farewell{display:flex;justify-content:center;align-items:end;margin:25px auto -13px;gap:12px}.footer{padding-top:40px;padding-bottom:25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:30px}.footer-top p{font-size:13px;margin:0}.footer-top>a:last-child{font-size:12px}.risk{font-size:11px;line-height:1.9;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin-bottom:17px}.footer>small{font-size:10px;color:var(--muted)}.mobile-only{display:none}.skip{position:fixed;top:-100px;left:15px;background:#fff;padding:12px;z-index:100}.skip:focus{top:10px}
@media(min-width:1500px){.hero-inner{min-height:700px}}
@media(max-width:1000px){.header{gap:20px}.header nav{gap:15px;font-size:11px}.wrap{padding-inline:28px}.hero-inner{min-height:570px}.hero h1{font-size:52px}.hero-lead{font-size:18px}.hero-copy .button{font-size:13px;padding:16px;gap:15px}.hero-art{width:108%;margin-left:0}.hero-bottom{gap:22px}.lesson-visual{padding:25px}.lesson-visual>img{width:105px;right:0}.lesson-copy{padding:28px}.pips-diagram{font-size:14px;padding:20px 12px}.friends-grid{gap:17px}.friend h3{font-size:17px}.philosophy-grid{gap:30px}.community{gap:35px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:78px;padding:0 20px}.brand{font-size:20px;gap:8px}.brand>img{width:32px}.brand small{font-size:8px}.header nav{display:none}.button.small{font-size:12px;padding:10px 13px;gap:12px}.wrap{padding-inline:24px}.hero-inner{display:flex;flex-direction:column;align-items:stretch;padding-top:38px;padding-bottom:20px}.hero-copy .eyebrow{font-size:10px;margin-bottom:19px}.hero h1{font-size:clamp(40px,10.5vw,65px);margin-left:-15px;margin-bottom:17px;line-height:1.43}.hero-lead{font-size:20px}.hero-copy>p:not(.eyebrow):not(.hero-lead):not(.micro){font-size:14px}.hero-copy .button{font-size:14px;padding:17px 20px;gap:18px;width:100%;max-width:430px}.hero-copy .micro{font-size:10px}.hero-art{width:min(100%,500px);margin:22px auto 0}.art-note{font-size:11px;top:3%;left:25%;padding:5px 13px}.art-caption{font-size:8px;gap:18px;margin-top:-20px}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;padding-block:19px;font-size:10px}.hero-bottom a{margin-left:0}.hero-bottom>span::before{margin-right:6px}.section{padding-top:64px;padding-bottom:64px}.section-heading{margin-bottom:28px}.section-heading p:last-child{font-size:13px}.eyebrow{font-size:10px;margin-bottom:17px}h2{font-size:28px;line-height:1.65;letter-spacing:0}.worry-grid{grid-template-columns:repeat(2,1fr);gap:10px}.worry-grid p{font-size:12px;padding:21px 10px 20px 28px;line-height:1.85}.worry-grid p::before{left:10px;top:20px;font-size:18px}.conversation{grid-template-columns:55px 1fr;padding:18px 14px;gap:12px;margin-top:25px}.conversation p{font-size:12px}.conversation small{font-size:10px}.split-heading{display:block;margin-bottom:25px}.split-heading>p{font-size:13px}.terms{gap:7px;margin-bottom:25px}.lesson{grid-template-columns:1fr}.lesson-visual{min-height:350px;padding:25px}.lesson-tag{margin-bottom:22px}.lesson-visual h3{font-size:55px}.lesson-visual>img{width:125px;top:80px;right:12px}.pips-diagram{font-size:17px;margin-top:20px;padding:15px}.lesson-copy{padding:28px 24px}.lesson-copy h3{font-size:25px}.closing{font-size:12px}.friends-grid{grid-template-columns:repeat(2,1fr);gap:28px 18px}.portrait{padding:8px 8px 0;margin-bottom:15px}.friend h3{font-size:16px}.friend p{font-size:12px;margin:0}.role{font-size:9px}.philosophy-grid{grid-template-columns:1fr;gap:20px}.philosophy h2{font-size:27px}.philosophy p:not(.eyebrow):not(.philosophy-bottom){font-size:13px}.question{font-size:12px;padding:16px}.thinking-loop{font-size:11px}.philosophy-bottom{font-size:15px;margin-top:20px}.mobile-only{display:block}.values-grid{grid-template-columns:repeat(2,1fr);gap:25px 19px}.values-grid h3{font-size:16px}.values-grid p{font-size:12px}.steps{grid-template-columns:1fr;gap:12px}.steps li{position:relative;padding:19px 15px 19px 86px;border-top:0;border-left:2px solid #bacfaf}.steps span{position:absolute;left:15px;top:23px;font-size:10px}.steps h3{font-size:15px;margin:0 0 5px}.steps p{font-size:12px}.steps+.center .button{font-size:12px;gap:10px;padding:17px 15px}.community{grid-template-columns:1fr;gap:35px}.community-art{max-width:440px;grid-row:2;margin:auto}.community p:not(.eyebrow){font-size:13px}.checks{font-size:13px}.seminar{padding-bottom:0}.seminar h2{font-size:26px}.seminar p{font-size:13px}.seminar .button{min-width:0;width:100%;font-size:14px;gap:16px;padding:17px 12px}.seminar-label{font-size:11px}.farewell{gap:0}.farewell img{width:23%}.farewell img:nth-child(2){width:28%}.footer-top{flex-wrap:wrap;gap:18px}.footer-top p{display:none}.footer-top>a:last-child{font-size:10px}.risk{font-size:10px}.footer{padding-top:30px}}
/* 読み進める本文は、小さい画面でも14px以上を確保。 */
.friend p,.values-grid p,.steps p{font-size:14px}
@media(max-width:760px){.worry-grid p,.conversation p,.section-heading p:last-child,.split-heading>p,.friend p,.values-grid p,.steps p,.community p:not(.eyebrow),.checks,.seminar p,.philosophy p:not(.eyebrow):not(.philosophy-bottom){font-size:14px}.worry-grid p{padding-left:26px}.worry-grid p::before{left:8px}.lesson-visual>img{width:105px;right:7px}.role{font-size:10px}.footer .risk{font-size:12px}.question{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* 正式画像は無加工・全体表示。文字の待機表示は代替キャラクターではありません。 */
.character-slot{display:block;min-width:0;width:100%}
.character-slot img{display:block;width:100%;height:100%;max-height:290px;object-fit:contain;transform:none!important;filter:none;clip-path:none;border-radius:0}
.character-slot [hidden]{display:none!important}
.character-pending{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:150px;padding:18px 12px;background:#f6f7f3;border:1px dashed #aab9ae;border-radius:6px;color:#52675e;text-align:center;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.character-pending strong{font-size:14px}
.character-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:35px 15px}
.hero-art{width:100%;margin-left:0;padding-top:45px}.hero-art .art-note{top:0}.hero-art .art-caption{margin-top:4px}
.portrait{padding:0;border-radius:6px;overflow:visible;background:transparent}.portrait .character-slot{aspect-ratio:240/266}.portrait .character-pending{height:100%}.friend:hover img{transform:none}
.conversation .character-pending{min-height:85px;padding:6px;font-size:10px}.conversation .character-pending strong{font-size:11px}
.lesson-visual>.character-slot{position:relative;margin-top:20px;max-width:180px}.lesson-visual>.character-slot .character-pending{min-height:95px}.lesson-visual>.character-slot img{max-height:166px}
.community-art{border-radius:8px;background:transparent;overflow:visible}.community-art .character-group{padding:0}
.farewell{margin-bottom:0;padding-bottom:24px;align-items:stretch;max-width:650px;gap:12px}.farewell>.character-slot{flex:1}.farewell .character-pending{height:100%}.farewell .character-slot img{width:100%;max-height:150px}
@media(max-width:760px){.character-group{gap:10px;padding:15px 0}.character-pending{min-height:140px;font-size:11px;padding:12px 8px}.character-pending strong{font-size:12px}.hero-art{padding-top:35px}.farewell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.farewell .character-pending{min-height:110px}}

/* 提供された原画を全体表示。集合画像から個別キャラクターの切り出しは行わない。 */
[hidden]{display:none!important}
.official-students{margin:0;min-width:0}.official-students img{width:100%;height:auto;object-fit:contain;border-radius:0;filter:none;transform:none}.official-students figcaption{font-size:12px;text-align:center;margin-top:10px;color:var(--muted)}
.character-group{grid-template-columns:1fr 1.65fr;align-items:center;padding:20px 0;gap:18px}.character-group>.character-slot{grid-column:1;grid-row:1}.character-group>.official-students{grid-column:2;grid-row:1}.character-group .character-slot img{max-height:390px;height:auto}
#friends>.official-students{max-width:740px;margin:0 auto 38px}.portrait .character-pending{min-height:100px}.portrait:has(.character-pending:not([hidden])) .character-slot{aspect-ratio:auto}
.farewell{display:grid;grid-template-columns:1fr 2fr;align-items:center}.farewell>.official-students{grid-column:2;grid-row:1}.farewell>.character-slot{grid-column:1;grid-row:1}.farewell .character-slot img{max-height:230px;height:auto}
.recruitment-video{max-width:820px;margin:0 auto 65px}.recruitment-video video{display:block;width:100%;max-height:530px;background:#142c34;object-fit:contain;margin:auto;border-radius:8px}
@media(max-width:760px){.character-group{gap:10px}.character-group .character-slot img{max-height:280px}.official-students figcaption{font-size:10px}.recruitment-video{margin-bottom:48px}.farewell{grid-template-columns:1fr 2fr}.friends-grid{align-items:start}}

.individual-ready{grid-template-columns:repeat(2,minmax(0,1fr))}.individual-ready>.character-slot{grid-column:auto;grid-row:auto}

#pips-video{display:block;width:100%;max-height:480px;background:#142c34;object-fit:contain;border-radius:8px;margin-bottom:24px}.lesson-visual .pips-video-heading{font-size:38px;margin:0 0 22px}.lesson-visual .pips-video-heading span{font-size:20px}@media(max-width:760px){#pips-video{max-height:450px}}

/* 正式原本2点の固定参照。トリミング・画像加工・個別PNGへの自動置換なし。 */
.official-teacher{width:100%;height:auto;object-fit:contain;filter:none;transform:none!important;clip-path:none;border-radius:0}
.character-group>.official-teacher{grid-column:1;grid-row:1;max-height:390px}.character-group>.official-students{grid-column:2;grid-row:1}
.teacher-profile{display:grid;grid-template-columns:240px 1fr;gap:45px;align-items:center;max-width:850px;margin:0 auto 55px}.teacher-profile h3{font-size:28px;margin-top:12px}.teacher-profile p{font-size:15px}.students-profile{max-width:900px;margin:auto}.student-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.student-cards .friend{border-top:1px solid var(--line);padding-top:20px}.student-cards p{font-size:14px}
.thinking>.official-teacher{max-width:200px;max-height:270px;margin:0 auto 28px}.conversation{grid-template-columns:1fr 65px 1fr}.conversation>.official-teacher{max-height:100px}
.farewell>.official-teacher{grid-column:1;grid-row:1;max-height:230px}.community-art>.official-students{width:100%}
@media(max-width:760px){.teacher-profile{grid-template-columns:1fr;gap:25px}.teacher-profile>.official-teacher{max-width:230px;margin:auto}.student-cards{grid-template-columns:1fr;gap:18px}.student-cards .friend h3{font-size:20px}.conversation{grid-template-columns:55px 1fr}.conversation>div:first-child{grid-column:1/-1}.character-group>.official-teacher{max-height:280px}}

/* 入会後の個別ロードマップ：目標金額を煽らず学びの設計を伝える。 */
.roadmap{background:#f7f9f4;border-bottom:1px solid var(--line)}.roadmap-label{display:inline-block;border:1px solid #bccfbe;border-radius:30px;padding:5px 17px;font-size:13px;color:var(--green);margin-bottom:20px}.roadmap h2{margin-bottom:35px}.roadmap-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:start}.roadmap-copy p{font-size:15px}.roadmap-question{border-left:3px solid var(--green);padding:10px 0 10px 20px;font-weight:700}.roadmap-topics{background:white;border:1px solid var(--line);border-radius:12px;padding:30px}.roadmap-topics h3{font-size:19px;margin-bottom:25px}.roadmap-topics ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;list-style:none;margin:0;padding:0}.roadmap-topics li{padding:17px 0;border-top:1px solid var(--line);font-size:14px}.roadmap-topics li::before{content:'✓';color:var(--green);margin-right:9px}.roadmap-promise{text-align:center;font-size:23px;font-weight:700;color:var(--green);margin:36px 0 18px}.roadmap-note{max-width:850px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.9;text-align:center}
@media(max-width:760px){.roadmap-layout{grid-template-columns:1fr;gap:18px}.roadmap h2{font-size:28px}.roadmap-copy p{font-size:14px}.roadmap-topics{padding:22px 18px}.roadmap-topics ul{gap:0 15px}.roadmap-topics li{font-size:13px;line-height:1.8}.roadmap-topics li::before{margin-right:6px}.roadmap-promise{font-size:19px;margin-top:30px}.roadmap-note{text-align:left;font-size:12px}}

/* 個別Zoomサポート：正式原画・対話・見直し可能な学習計画。 */
.roadmap-subtitle{font-size:19px;font-weight:700;color:var(--green);margin:-12px 0 38px}.roadmap-copy strong{font-weight:700}.roadmap-teacher{display:flex;align-items:center;justify-content:center;gap:30px;margin:35px auto 45px;max-width:770px}.roadmap-teacher>.official-teacher{width:145px;flex-shrink:0}.roadmap-speech{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px;position:relative}.roadmap-speech::before{content:'';position:absolute;left:-9px;top:50%;width:16px;height:16px;background:#fff;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.roadmap-speech p{margin:0;font-size:16px}.roadmap-speech .role{font-size:12px;margin-bottom:7px}.roadmap-plan h3{text-align:center;font-size:24px}.roadmap-flow{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;gap:26px;margin:28px 0 38px}.roadmap-flow li{background:var(--navy);color:white;text-align:center;border-radius:6px;padding:14px 6px;font-size:15px;position:relative}.roadmap-flow li:last-child{background:var(--green)}.roadmap-flow li:not(:last-child)::after{content:'→';position:absolute;right:-23px;color:var(--green)}.roadmap-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.roadmap-steps li{background:white;border:1px solid var(--line);border-radius:8px;padding:23px}.roadmap-steps span{font-size:12px;letter-spacing:.1em;color:var(--green);font-weight:700}.roadmap-steps h4{font-size:16px;line-height:1.8;margin:10px 0 0}.roadmap-cta{text-align:center;border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.roadmap-cta>p:first-child{font-size:15px}.roadmap-cta .micro{font-size:13px}
@media(max-width:760px){.roadmap-subtitle{font-size:16px;line-height:1.9}.roadmap-teacher{gap:16px;align-items:center}.roadmap-teacher>.official-teacher{width:90px}.roadmap-speech{padding:17px}.roadmap-speech p{font-size:14px}.roadmap-topics ul{grid-template-columns:1fr}.roadmap-topics li{font-size:14px}.roadmap-flow{grid-template-columns:1fr;gap:27px;max-width:280px;margin-inline:auto}.roadmap-flow li:not(:last-child)::after{content:'↓';left:0;right:0;top:100%;line-height:27px}.roadmap-steps{grid-template-columns:1fr;gap:12px}.roadmap-steps li{padding:20px}.roadmap-steps h4{font-size:16px}.roadmap-promise{font-size:18px}.roadmap-note{font-size:13px}.roadmap-cta .button{font-size:14px}}

/* 個別キャラクター正式素材（最新方針）。全体表示で透過を保持。 */
.character-asset{display:block;object-fit:contain;object-position:center bottom;filter:none;transform:none!important;width:100%;height:auto}
.character-lineup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;width:100%;padding:24px 0}.character-lineup figure{margin:0;min-width:0}.character-lineup img{width:100%;height:220px;object-fit:contain}.character-lineup figcaption{text-align:center;font-size:11px;line-height:1.6;margin-top:12px;color:var(--muted)}
.hero-art .character-lineup{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hero-art .character-lineup img{height:230px}.hero-art{max-width:580px;padding-top:35px}.individual-friends{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.character-portrait{background:var(--pale);border-radius:12px;padding:20px 12px;margin-bottom:22px}.character-portrait img{height:265px;object-fit:contain}.individual-friends .role{font-size:11px}.individual-friends h3{font-size:20px}
.character-pair{display:flex;justify-content:center;align-items:end;gap:18px;margin:0 auto 26px;max-width:340px}.character-pair img{width:calc(50% - 9px);height:210px;object-fit:contain}.lesson-copy>.character-pair{max-width:260px}.lesson-copy>.character-pair img{height:160px}.conversation{grid-template-columns:75px 1fr 75px 1fr}.conversation>.character-asset{height:110px;max-height:110px;width:75px}.conversation>div:first-child{grid-column:auto}.community-art .character-lineup{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px}.community-art .character-lineup img{height:225px}.community-art{background:var(--pale)}.farewell{display:block;max-width:720px}.farewell .character-lineup img{width:100%;height:165px}.roadmap-teacher>.official-teacher{height:auto;max-height:235px}
@media(max-width:760px){.hero-art .character-lineup img{height:190px}.hero-art .character-lineup{gap:16px 10px}.character-lineup figcaption{font-size:11px}.individual-friends{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.character-portrait{padding:15px 6px}.character-portrait img{height:190px}.individual-friends h3{font-size:17px}.individual-friends .role{font-size:10px}.conversation{grid-template-columns:65px 1fr}.conversation>.character-asset{width:65px;height:95px}.character-pair img{height:185px}.community-art .character-lineup{padding:15px;gap:14px}.community-art .character-lineup img{height:190px}.farewell .character-lineup{grid-template-columns:repeat(2,minmax(0,1fr))}.farewell .character-lineup img{height:150px}}
