/* 公開前調整：既存の本文・素材を保った配置と文字の階層。 */
.hero-art .character-lineup{grid-template-columns:repeat(6,minmax(0,1fr));gap:0 4px;max-width:470px;margin:auto;padding:12px 0 22px}
.hero-art .character-lineup figure:first-child{grid-column:3/5;grid-row:1;z-index:1}
.hero-art .character-lineup figure:nth-child(2){grid-column:1/3;grid-row:2}
.hero-art .character-lineup figure:nth-child(3){grid-column:3/5;grid-row:2}
.hero-art .character-lineup figure:nth-child(4){grid-column:5/7;grid-row:2}
.hero-art .character-lineup figure:first-child img{height:218px;width:180px;max-width:none;position:relative;left:50%;translate:-50% 0}
.hero-art .character-lineup figure:not(:first-child) img{height:165px}
.hero-art .character-lineup figcaption{margin-top:5px;color:var(--navy);font-weight:700}
.hero-art .character-lineup figure:first-child figcaption{font-size:13px;margin-bottom:6px}
.lesson-visual .character-pair{max-width:220px;gap:16px;margin:-10px auto 18px}
.lesson-visual .character-pair img{height:112px;width:calc(50% - 8px)}
.lesson-copy{align-self:center}
.individual-friends h3{font-size:23px;letter-spacing:0;margin:12px 0}
.individual-friends .role{display:block;font-size:13px;line-height:1.85;min-height:48px}
.individual-friends p{font-size:16px;line-height:2}
.roadmap{background:linear-gradient(180deg,#edf4ef 0,#f7f9f4 650px);border-top:1px solid #cfdfd4}
.roadmap .roadmap-primary{font-size:clamp(27px,3.1vw,40px);line-height:1.7;letter-spacing:.01em;margin:0 0 18px}
.roadmap-primary em{font-style:normal;color:var(--green);background:linear-gradient(transparent 78%,#d6e7dc 78%)}
.roadmap-intro{font-size:18px;margin-bottom:32px}
.roadmap-illustration{margin:0 auto 48px;max-width:900px;border:1px solid #d6e2d8;border-radius:16px;overflow:hidden;background:#fff}
.roadmap-illustration img{display:block;width:100%;height:auto}
.roadmap-original-heading{font-size:27px;margin-bottom:26px}
.roadmap-speech{border:1px solid #9bbdaa;box-shadow:0 10px 30px #193b4508;padding:28px 32px}
.roadmap-speech::before{border-color:#9bbdaa}
.roadmap-speech p{font-size:20px;font-weight:700;line-height:1.9}
.roadmap-speech .role{font-size:14px}
@media(max-width:1000px) and (min-width:761px){.individual-friends h3{font-size:19px}.individual-friends p{font-size:15px}}
@media(max-width:760px){
 .hero-art .character-lineup{max-width:380px;gap:0 3px}
 .hero-art .character-lineup figure:first-child img{height:190px;width:145px}
 .hero-art .character-lineup figure:not(:first-child) img{height:135px}
 .hero-art .character-lineup figcaption{font-size:10px}
 .hero-art .art-caption{letter-spacing:.04em;gap:12px}
 .lesson-visual .character-pair{margin:-8px auto 16px;max-width:190px}
 .lesson-visual .character-pair img{height:100px}
 .individual-friends h3{font-size:21px}
 .individual-friends .role{font-size:12px;min-height:0}
 .individual-friends p{font-size:15px;line-height:2}
 .roadmap .roadmap-primary{font-size:27px;line-height:1.7}
 .roadmap-intro{font-size:16px;line-height:1.9}
 .roadmap-original-heading{font-size:24px}
 .roadmap-illustration{margin-bottom:34px;border-radius:10px}
 .roadmap-teacher{gap:14px}
 .roadmap-speech{padding:20px 18px}
 .roadmap-speech p{font-size:16px}
}
@media(max-width:440px){
 .individual-friends{grid-template-columns:1fr;gap:32px}
 .character-portrait{padding:18px;margin-bottom:18px}
 .character-portrait img{height:230px}
 .individual-friends h3{font-size:23px}
 .individual-friends .role{font-size:13px}
 .individual-friends p{font-size:16px}
}
.keep-word{display:inline-block}

/* 正式ロゴ原本：画像加工なし、縦横比を保持。 */
.brand{display:block;line-height:0;background:transparent;padding:0;border-radius:0}
.brand picture{display:block;width:210px}
.brand picture img{display:block;width:100%;height:auto;object-fit:contain}
.header{min-height:104px;height:auto;padding-block:10px}
.footer .brand picture{width:200px}
@media(max-width:760px){
 .header{min-height:82px;gap:12px}
 .header .brand picture{width:170px}
 .footer .brand picture{width:210px}
}
@media(max-width:380px){
.header .brand picture{width:68px}
}

/* 原本PNGをそのまま表示。背景だけを外部アルファマスクで非表示にする。 */
.brand picture img{mask:url('../assets/images/yanana-fx-main-mask.svg') center/100% 100% no-repeat;clip-path:inset(4% 1% 2% 1%)}
.section-brand-heading{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin:0 0 24px;text-align:left}
.seminar .seminar-dates{font-size:14px;line-height:1.8;color:var(--navy);margin:12px 0 0;font-weight:500}
.section .section-brand-heading .eyebrow{margin:0;font-size:11px;letter-spacing:.1em;line-height:1.7;min-width:0}
.section-brand-mark{display:flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:64px}
.section-emblem{display:block;width:64px;height:auto;margin:0;object-fit:contain;opacity:1;mask:url('../assets/images/yanana-fx-emblem-mask.svg') center/100% 100% no-repeat;clip-path:inset(1% 5% 3% 5%)}
.section-heading{text-align:left}
.community>.section-brand-heading{grid-column:1/-1}
.community{row-gap:0}
@media(max-width:760px){.community-art{margin-top:35px}}
.philosophy .section-brand-mark{background:#e5ede6;border-radius:50%}
.philosophy .section-emblem{width:64px}
.header .brand picture{width:252px}
@media(max-width:1000px) and (min-width:761px){.header{gap:18px}.header nav{gap:12px}.header .brand picture{width:240px}}
@media(max-width:760px){
 .section-brand-mark{flex-basis:48px;width:48px;height:48px}
 .section-emblem{width:48px}
 .philosophy .section-emblem{width:48px}
 .community-art{grid-row:3}
 .header{padding-inline:16px;gap:10px}
 .header .brand picture{width:204px}
 .header .button.small{font-size:11px;padding:10px;gap:8px}
}
@media(max-width:380px){
 .header .brand picture{width:82px}
 .header .brand picture img{mask-image:url('../assets/images/yanana-fx-emblem-mask.svg');clip-path:inset(1% 5% 3% 5%)}
}

/* 用語は操作要素ではなく、通常の箇条書きとして表示。 */
.terms-intro{margin-bottom:12px;font-size:15px}
.terms{list-style:disc;display:flex;flex-wrap:wrap;gap:8px 32px;padding-left:1.25em;margin:0 0 28px;color:var(--muted)}
.terms li{font-size:14px;padding:0}
.lesson-intro{font-size:18px;font-weight:700;margin:0 0 20px}

/* 公開済みの用語だけをリンクとして表示。hrefの追加で状態が切り替わる。 */
.series-terms{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 28px;padding:0;margin-bottom:36px}
.term-entry{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--muted)}
.term-name{font-size:16px;font-weight:700}
.term-status{font-size:11px;line-height:1.7}
.term-entry:not([href]){cursor:default}
.term-entry:not([href]) .term-ready,.term-entry[href] .term-upcoming{display:none}
.term-entry[href]{color:var(--green)}
.term-entry[href] .term-name{text-decoration:underline;text-underline-offset:5px}
.term-entry[href]:hover{color:var(--navy)}
.growth-note{font-size:15px;line-height:2;margin:24px 0 0;max-width:850px}
@media(max-width:760px){.series-terms{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.growth-note{font-size:14px}}
