/* FLA × GLOBAL LINK LP v5 — shared design system
   FLA  : 教育現場の温度・明るさ・専門性（warm paper / deep green / FLA red accent）
   GL   : 経営・採用・定着の信頼・深さ（slate navy / steel blue / brass）           */
:root{
  --bg:#fffdf9;--paper:#f7f2ea;--paper2:#fbf8f3;--ink:#1d2a2c;--ink2:#46585b;--muted:#5b6a6c;--line:#e2ddd3;
  --brand:#14675f;--brand-ink:#0d4a44;--brand-soft:#e6f2ee;--accent:#c0262d;--accent-soft:#fbeceb;
  --warn-bg:#fff6e2;--warn-line:#ecd59b;--warn-ink:#6d5317;--ok:#1f7a4d;
  --radius:10px;--shadow:0 18px 50px rgba(20,40,40,.10);
  --font:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  --serif:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;
}
body.gl{
  --bg:#fbfcfd;--paper:#eef2f6;--paper2:#f6f8fa;--ink:#152331;--ink2:#435466;--muted:#596779;--line:#dbe2ea;
  --brand:#24476b;--brand-ink:#16314d;--brand-soft:#e8eef5;--accent:#b8873c;--accent-soft:#f7efe2;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.85;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid #f0b429;outline-offset:2px}
.container{width:min(1140px,100% - 32px);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:8px 12px;z-index:99}.skip:focus{left:8px}

/* prototype banner */
.proto{background:#2b2b2b;color:#f3e7c8;font-size:12px;line-height:1.6;padding:7px 0;text-align:center}
.proto b{color:#ffd77a}
.proto a{color:#fff}

/* header */
.site-head{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px}
.logo{display:flex;flex-direction:column;text-decoration:none;line-height:1.25}
.logo strong{font-family:var(--serif);font-size:19px;letter-spacing:.04em}
.logo small{font-size:11px;color:var(--muted);letter-spacing:.06em}
.head-nav{display:flex;align-items:center;gap:18px;font-size:14px}
.head-nav a{text-decoration:none;color:var(--ink2)}
.head-nav a:hover{color:var(--brand)}
.head-cta{display:flex;gap:8px;align-items:center}
.head-tel{font-size:12px;color:var(--muted);text-align:right;line-height:1.3}
@media(max-width:960px){.head-nav{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 22px;border-radius:8px;border:1px solid transparent;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;background:var(--brand);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.10);transition:background .15s,transform .15s}
.btn:hover{background:var(--brand-ink);transform:translateY(-1px)}
.btn.ghost{background:#fff;color:var(--brand-ink);border-color:color-mix(in srgb,var(--brand) 35%,#fff);box-shadow:none}
.btn.ghost:hover{background:var(--brand-soft)}
.btn.accent{background:var(--accent);color:#fff}
body.gl .btn.accent{color:#1b1406}
.btn.sm{min-height:40px;padding:7px 14px;font-size:13px}
.btn.block{width:100%}

/* hero */
.hero{background:var(--paper);padding:48px 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.intent{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;font-weight:700;color:var(--brand-ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin-bottom:18px}
.intent .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.hero h1{font-size:clamp(32px,4.4vw,54px);line-height:1.32;letter-spacing:-.02em;margin:0 0 18px;font-weight:800}
.nw{white-space:nowrap}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero .lead{font-size:17px;color:var(--ink2);max-width:600px;margin:0 0 24px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.hero-sub{font-size:13px;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:36px 0 0;box-shadow:var(--shadow);position:relative;z-index:2}
.facts>div{padding:16px 18px;border-right:1px solid var(--line)}
.facts>div:last-child{border-right:0}
.facts dt{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted)}
.facts dd{margin:2px 0 0;font-weight:800;font-size:15px;line-height:1.45}
.facts dd small{display:block;font-weight:500;font-size:11.5px;color:var(--muted)}
.hero-photo{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3.4;background:#d8ddd6;box-shadow:var(--shadow)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo figcaption{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.95);border-radius:8px;padding:12px 16px;font-size:13px;line-height:1.6}
.hero-photo figcaption strong{display:block;font-size:14.5px}
.photo-flag{position:absolute;top:12px;left:12px;background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line);font-size:11px;padding:2px 8px;border-radius:4px}

/* sections */
.section{padding:84px 0}
.section.tint{background:var(--paper2)}
.section.dark{background:var(--brand-ink);color:#fff}
.section.dark .kicker{color:color-mix(in srgb,var(--accent) 60%,#fff)}
.section.dark p{color:#d8e4e2}
.kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--brand);margin:0 0 8px;text-transform:uppercase}
.h2{font-size:clamp(25px,3vw,36px);line-height:1.45;letter-spacing:-.015em;margin:0 0 14px;font-weight:800}
.sec-lead{color:var(--ink2);max-width:760px;margin:0 0 30px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.card h3{margin:6px 0 8px;font-size:18px;line-height:1.5}
.card p{margin:0;color:var(--ink2);font-size:14.5px}
.card .num{font-family:var(--serif);color:var(--brand);font-size:26px;font-weight:700;line-height:1}
.evidence{margin-top:12px;font-size:12.5px;color:var(--brand-ink);background:var(--brand-soft);border-radius:6px;padding:8px 10px}
.evidence b{font-weight:800}

/* status chips (公開前確認) */
.chip{display:inline-block;font-size:11px;font-weight:800;padding:1px 8px;border-radius:999px;vertical-align:middle;margin-left:6px;line-height:1.7;white-space:nowrap}
.chip.check{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line)}
.chip.ok{background:#e5f4ea;color:#1f6a40;border:1px solid #b9dcc6}
.chip.plan{background:#eef0f7;color:#3c4a7a;border:1px solid #cfd5ea}
body.public .chip,body.public .proto,body.public .photo-flag,body.public .internal{display:none!important}

/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
table.cmp{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}
table.cmp th,table.cmp td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.cmp thead th{background:var(--brand-soft);color:var(--brand-ink);font-size:13px}
table.cmp tbody th{font-weight:700;color:var(--ink2);width:22%;background:var(--paper2)}
table.cmp tr:last-child td,table.cmp tr:last-child th{border-bottom:0}
table.cmp .rec{background:color-mix(in srgb,var(--brand-soft) 55%,#fff)}
.price{font-size:24px;font-weight:800;color:var(--brand-ink);line-height:1.3}
.price small{font-size:12px;font-weight:600;color:var(--muted)}
.price .f{font-size:17px;line-height:1.45;display:block}
.price.tbd{color:var(--muted);font-size:18px}

/* role split (担う / 担わない) */
.roles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.roles .card ul{margin:8px 0 0;padding-left:1.2em;color:var(--ink2);font-size:14.5px}
.roles .card li{margin:4px 0}
.roles .ours{border-color:color-mix(in srgb,var(--brand) 45%,#fff);background:var(--brand-soft)}
.roles .theirs{border-color:color-mix(in srgb,var(--accent) 40%,#fff);background:var(--accent-soft)}

/* navigator */
.navi{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.navi-form{padding:26px;border-right:1px solid var(--line)}
.navi-out{padding:26px;background:var(--paper2)}
.navi-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}
.navi-head b{font-size:15px}
.steps-ind{font-size:12px;color:var(--muted)}
fieldset{border:0;margin:0 0 16px;padding:0}
legend{font-weight:800;font-size:14px;margin-bottom:8px;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt span{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-size:14px;line-height:1.45;cursor:pointer}
.opt input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink);font-weight:700;box-shadow:inset 0 0 0 1px var(--brand)}
.opt input:focus-visible+span{outline:3px solid #f0b429;outline-offset:2px}
.num-in{display:flex;align-items:center;gap:8px}
.num-in input{width:96px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:16px}
.out-title{font-size:20px;font-weight:800;line-height:1.45;margin:2px 0 10px}
.out-block{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 10px;font-size:14px}
.out-block h3,.out-block h4{margin:0 0 4px;font-size:13px;color:var(--brand-ink)}
.out-block ul{margin:4px 0 0;padding-left:1.2em}
.out-block li{margin:2px 0}
.out-est{font-size:22px;font-weight:800;color:var(--brand-ink)}
.disclaimer{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.6}
.pill{display:inline-block;background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;font-size:12px;padding:2px 10px;margin:2px 4px 2px 0}

/* curriculum */
.units{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.unit{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:13px}
.unit b{display:block;font-size:12px;color:var(--brand)}
.unit strong{display:block;font-size:14.5px;line-height:1.45;margin:2px 0}
.lesson{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.say{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1.5;margin:6px 0}
.ruby{font-size:12px;color:var(--muted)}
.report{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;font-size:13.5px}
.report header{background:var(--brand-ink);color:#fff;padding:10px 14px;display:flex;justify-content:space-between;gap:8px;font-size:13px}
.report .r-body{padding:14px}
.meter{display:grid;grid-template-columns:120px 1fr 44px;gap:8px;align-items:center;margin:6px 0}
.meter i{display:block;height:8px;border-radius:9px;background:#e7ece9;position:relative;overflow:hidden}
.meter i::after{content:"";position:absolute;inset:0;width:var(--v);background:var(--brand);border-radius:9px}
.mock-tag{display:inline-block;font-size:11px;background:#fff3;border:1px solid #fff6;padding:0 8px;border-radius:4px}

/* timeline steps */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:f}
.flow>div{padding:22px 20px;border-left:1px solid rgba(255,255,255,.18)}
.flow>div:first-child{border-left:0}
.flow b{display:block;font-family:var(--serif);font-size:24px;color:color-mix(in srgb,var(--accent) 55%,#fff)}
.flow strong{display:block;font-size:17px;margin:4px 0 6px;color:#fff}
.flow p{font-size:13.5px;margin:0}
.stage-grid{display:grid;grid-template-columns:150px repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:13.5px}
.stage-grid>div{background:#fff;padding:12px 14px}
.stage-grid .sh{background:var(--brand-ink);color:#fff;font-weight:800}
.stage-grid .rh{background:var(--paper2);font-weight:800;color:var(--ink2)}

/* faq */
.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:10px}
.faq summary{cursor:pointer;padding:15px 18px;font-weight:700;list-style:none;display:flex;gap:10px}
.faq summary::before{content:"Q";color:var(--brand);font-family:var(--serif);font-weight:800}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq .a{padding:14px 18px;color:var(--ink2);font-size:14.5px}
.faq .src{display:block;margin-top:6px;font-size:12px;color:var(--muted)}

/* quiz */
.quiz{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow)}
.quiz .q{font-size:18px;font-weight:800;margin:6px 0 14px}
.quiz .choices{display:grid;gap:8px}
.quiz button.choice{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px 14px;cursor:pointer;font-size:15px}
.quiz button.choice:hover{background:var(--brand-soft)}
.quiz button.choice[aria-pressed=true].right{border-color:var(--ok);background:#e9f6ee}
.quiz button.choice[aria-pressed=true].wrong{border-color:#c0392b;background:#fbecea}
.quiz .explain{margin-top:12px;font-size:14px;color:var(--ink2);display:none}
.quiz .explain.show{display:block}

/* form */
.form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:block;font-weight:700;font-size:14px;margin-bottom:4px}
.form .req{color:var(--accent);font-size:12px;margin-left:4px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=number],.form select,.form textarea{width:100%;padding:11px 12px;border:1px solid #cfd6d4;border-radius:8px;background:#fff;font-size:16px}
.form textarea{min-height:120px}
.form .field{margin-bottom:14px}
.form .hint{font-size:12px;color:var(--muted)}
.form .err{color:#b42318;font-size:12.5px;display:none}
.form .invalid .err{display:block}
.form .invalid input,.form .invalid select,.form .invalid textarea{border-color:#b42318}
.consent{background:var(--paper2);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:13.5px}
.consent label{font-weight:600;display:flex;gap:8px;align-items:flex-start}
.consent input{margin-top:6px;width:18px;height:18px}
.form-state{display:none}
.form-done{display:none;border:2px solid var(--ok);background:#eef8f1;border-radius:10px;padding:18px;margin-top:14px}
.form-done.show{display:block}
.form-done pre{white-space:pre-wrap;font-size:13px;background:#fff;border:1px solid var(--line);padding:10px;border-radius:6px;font-family:var(--font)}
.offer3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.offer3 .card{padding:16px}
.offer3 h3{font-size:15.5px;margin:0 0 4px}
.offer3 p{font-size:13px}

.note{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:8px;padding:10px 14px;font-size:13px}
.cross{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 26px}
.cross p{margin:0;color:var(--ink2)}
.cta-band{background:var(--brand);color:#fff;padding:52px 0}
.cta-band .container{display:flex;justify-content:space-between;align-items:center;gap:24px}
.cta-band h2{margin:0;font-size:26px;line-height:1.5}
.cta-band p{margin:4px 0 0;color:#e6f0ee}
.cta-band .btn.ghost{border-color:#fff}
footer{background:#111b1d;color:#b9c4c4;font-size:13px;padding:36px 0}
body.gl footer{background:#0e1823}
footer a{color:#e6efef}
footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}

/* sticky mobile CTA */
.mcta{display:none}
@media(max-width:760px){
  .mcta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  .mcta .btn{flex:1;min-height:46px;font-size:14px;padding:8px}
  body{padding-bottom:68px}
}

@media(max-width:960px){
  .hero-grid,.grid2,.lesson,.navi,.roles{grid-template-columns:1fr}
  .navi-form{border-right:0;border-bottom:1px solid var(--line)}
  .grid3,.grid4,.offer3{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
  .facts>div{border-right:0;border-bottom:1px solid var(--line)}
  .units{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:1fr 1fr}
  .flow>div:nth-child(3){border-left:0}
  .stage-grid{grid-template-columns:1fr 1fr}
  .stage-grid .corner{display:none}
  .cta-band .container,.cross{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  body{font-size:15px}
  .section{padding:56px 0}
  .hero{padding-top:28px}
  .hero .lead{font-size:15.5px}
  .grid3,.grid4,.offer3,.form .row,.flow,.stage-grid{grid-template-columns:1fr}
  .flow>div{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .facts dd{font-size:14px}
  .navi-form,.navi-out,.form{padding:18px}
  .head-tel{display:none}
  .head-cta .ghost{display:none}
  .logo strong{font-size:16px}
}
@media(max-width:640px){
  table.cmp.stack{min-width:0}
  table.cmp.stack thead{display:none}
  table.cmp.stack tr{display:block;border-bottom:6px solid var(--paper)}
  table.cmp.stack th,table.cmp.stack td{display:block;width:auto!important;border-bottom:1px solid var(--line)}
  table.cmp.stack tbody th{background:var(--brand-soft);color:var(--brand-ink);font-size:15px}
  table.cmp.stack td[data-label]::before{content:attr(data-label);display:block;font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.04em;margin-bottom:2px}
  .logo strong{font-size:15px}.logo small{font-size:10px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* ===== v5.1（指示書v5.0）追加：教育品質の可視化・商品区分・問い合わせ導線 ===== */
.hero.v51{padding:40px 0 0}
.hero .price-strip{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:10px 14px;margin:0 0 20px;font-size:13.5px;color:var(--ink2)}
.hero .price-strip b{font-size:22px;color:var(--brand-ink);letter-spacing:-.01em}
.hero .price-strip a{font-size:13px;color:var(--brand)}
.hero h1.fla-h1{font-size:clamp(30px,4vw,48px)}
.hero-photo.tall{aspect-ratio:4/3.6}
.tel-line{font-size:13px;color:var(--ink2);margin:6px 0 0}
.tel-line a{font-weight:800;color:var(--brand-ink);text-decoration:none}
/* 行政サイトからの来訪者向け */
.gov-box{display:none;margin:22px 0 0;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:8px;padding:14px 18px;font-size:14px}
.gov-box.show,.gov-box.always{display:block}
.gov-box b{color:var(--brand-ink)}
.gov-box ul{margin:6px 0 0;padding-left:1.2em}
/* 教員・授業 */
.teachers{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.teacher{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.teacher img{width:100%;height:100%;object-fit:cover;object-position:center 30%;min-height:220px}
.teacher .t-body{padding:18px 20px}
.teacher .role{font-size:12px;color:var(--muted);margin:0}
.teacher h3{margin:2px 0 8px;font-size:18px}
.teacher blockquote{margin:0;font-family:var(--serif);font-size:15.5px;line-height:1.75;color:var(--ink)}
.teacher .src{display:block;font-size:11.5px;color:var(--muted);margin-top:8px}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:170px;gap:10px;margin-top:22px}
.gallery figure{margin:0;position:relative;border-radius:10px;overflow:hidden;background:#ddd}
.gallery figure.big{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 8px;background:linear-gradient(transparent,rgba(0,0,0,.66));color:#fff;font-size:12.5px;line-height:1.5}
.promise{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;margin-top:6px}
.promise>div{padding:18px;border-right:1px solid var(--line)}
.promise>div:last-child{border-right:0}
.promise b{display:block;font-family:var(--serif);font-size:19px;color:var(--brand-ink);line-height:1.45}
.promise span{font-size:13px;color:var(--ink2)}
/* 100時間ロードマップ */
.roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:rm}
.rm{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;position:relative}
.rm .h{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.06em}
.rm strong{display:block;font-size:16px;margin:2px 0 8px;line-height:1.45}
.rm .ba{display:grid;gap:6px;font-size:13px}
.rm .ba p{margin:0;padding:7px 9px;border-radius:6px;line-height:1.55}
.rm .ba .bf{background:var(--paper2);color:var(--muted)}
.rm .ba .af{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}
.rm .scene{font-size:12px;color:var(--ink2);margin:8px 0 0}
.rm-bar{display:flex;height:10px;border-radius:9px;overflow:hidden;margin:4px 0 16px}
.rm-bar i{display:block}
/* 商品表・区分 */
.prod{font-size:13.5px}
.tag{display:inline-block;font-size:11px;font-weight:800;border-radius:4px;padding:1px 7px;margin:0 4px 2px 0;white-space:nowrap}
.tag.duty{background:#e8eef5;color:#16314d;border:1px solid #c5d3e3}
.tag.add{background:#f7efe2;color:#6b4a14;border:1px solid #e6d2ad}
.tag.dev{background:#eef0f7;color:#3c4a7a;border:1px dashed #9aa6cf}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tier{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.tier h3{margin:4px 0 6px;font-size:17px}
.tier ul{margin:8px 0 0;padding-left:1.15em;font-size:14px;color:var(--ink2)}
.tier li{margin:5px 0}
.tier.t-duty{border-top:4px solid var(--brand)}
.tier.t-add{border-top:4px solid var(--accent)}
.tier.t-dev{border-top:4px dashed #9aa6cf;background:#fafbfe}
/* サンプルのタブ */
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:13.5px;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--brand-ink);color:#fff;border-color:var(--brand-ink);font-weight:700}
.tabpanel{display:none}
.tabpanel.on{display:block}
.chk{display:grid;gap:6px;margin:6px 0 10px}
.chk label{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:14px;cursor:pointer}
.chk input{margin-top:5px;width:17px;height:17px;flex:none}
.chk-score{font-size:15px;font-weight:800;color:var(--brand-ink)}
.flowv{display:grid;gap:0;counter-reset:fv;font-size:14px}
.flowv>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.flowv>div:last-child{border-bottom:0}
.flowv b{color:var(--brand-ink)}
/* フォーム：区分・確認画面・ハニーポット */
.seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}
.form .seg label{font-weight:500;margin:0}
.hp{position:absolute!important;left:-5000px!important;width:1px;height:1px;overflow:hidden}
.confirm{display:none;border:1px solid var(--line);background:var(--paper2);border-radius:10px;padding:18px;margin-top:14px}
.confirm.show{display:block}
.confirm dl{display:grid;grid-template-columns:150px 1fr;gap:4px 12px;margin:8px 0 14px;font-size:14px}
.confirm dt{color:var(--muted);font-weight:700}
.confirm dd{margin:0;white-space:pre-wrap}
.confirm .btns{display:flex;gap:8px;flex-wrap:wrap}
.after{font-size:13px;color:var(--ink2);margin:10px 0 0}
.after ol{margin:4px 0 0;padding-left:1.2em}
/* 公式サイトへの導線 */
.official{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:13px}
.official a{color:var(--brand-ink);font-weight:700}
.mcta .btn.tel{flex:.7;background:#fff;color:var(--brand-ink);border-color:var(--line);box-shadow:none}
@media(max-width:960px){
  .teachers,.tiers{grid-template-columns:1fr}
  .roadmap,.promise{grid-template-columns:1fr 1fr}
  .promise>div:nth-child(2){border-right:0}
  .promise>div{border-bottom:1px solid var(--line)}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .gallery figure.big{grid-column:span 2;grid-row:span 1}
}
@media(max-width:560px){
  .teacher{grid-template-columns:1fr}
  .teacher img{height:260px;min-height:0}
  .roadmap,.promise{grid-template-columns:1fr}
  .promise>div{border-right:0}
  .confirm dl{grid-template-columns:1fr}
  .flowv>div{grid-template-columns:1fr;gap:2px}
  .hero .price-strip b{font-size:20px}
}
.hero .price-strip .ps-sub{flex-basis:100%;font-size:12.5px;margin-top:-4px}
.btn.sm{white-space:nowrap}
@media(max-width:560px){
  .intent{display:block;font-size:12px;border-radius:12px;padding:6px 12px;line-height:1.6}
  .intent .dot{display:inline-block;margin-right:6px;vertical-align:1px}
  .hero h1.fla-h1,.hero h1{font-size:clamp(27px,7.6vw,34px)}
}
.mock-tag{white-space:nowrap;flex:none}

/* v5.1 D4(a)：登録支援の料金に含まれる内容 */
.incl{margin:12px 0 0;padding:10px 12px;background:var(--paper2,#f6f4ee);border-radius:8px}
.incl-price{margin:0;font-size:13.5px;color:var(--ink2)}
.incl-price b{font-size:22px;color:var(--brand-ink);letter-spacing:-.01em}
.incl-h{margin:6px 0 0;font-size:13px;font-weight:700;color:var(--ink)}
.excl{margin:12px 0 0;padding-top:10px;border-top:1px dashed var(--line)}
.excl ul{margin-top:4px}

/* v5.2 フォームの状態（送信中・成功・失敗・送信テスト） */
.form-state.show{display:block}
.sending{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px;margin-top:14px;font-size:14px}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;margin-right:8px;vertical-align:-2px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.lead-id{margin:6px 0 0;font-size:14px}.lead-id span{font-weight:700;font-family:ui-monospace,Menlo,monospace}
.form-fail{border:2px solid #b3261e;background:#fdf0ef;border-radius:10px;padding:18px;margin-top:14px}
.form-fail .btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.form-demo{border:2px dashed #8a6d1f;background:#fff8e6;border-radius:10px;padding:18px;margin-top:14px}
.demo-note{display:none;margin:0 0 10px;padding:10px 12px;border-radius:8px;background:#fff8e6;border:1px solid #e6cf8f;font-size:13px}
body:has(.form.is-demo) .demo-note{display:block}
#btnSend[disabled]{opacity:.6;cursor:wait}

/* v5.2 GL 登録支援の料金と範囲 */
.sp-head{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:stretch}
.sp-price{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--radius);padding:22px}
.sp-name{margin:0;font-weight:700;font-size:15px;color:var(--ink2)}
.sp-amount{margin:4px 0 8px;color:var(--brand-ink)}.sp-amount b{font-size:clamp(30px,6vw,40px);letter-spacing:-.01em}.sp-amount span{font-size:15px;color:var(--ink2);margin-left:4px}
.sp-feat{margin:0 0 10px;font-size:15px}
.sp-points{margin:0;padding:0;list-style:none;font-size:14px;color:var(--ink2)}
.sp-points li{padding:6px 0 6px 22px;position:relative;border-top:1px solid var(--line)}
.sp-points li:before{content:"";position:absolute;left:4px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.sp-photo{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--paper);display:flex;flex-direction:column}
.sp-photo img{width:100%;height:100%;min-height:220px;object-fit:cover;flex:1}
.sp-photo figcaption{font-size:13px;color:var(--ink2);padding:8px 12px;background:#fff}
.scope4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 0}
.sc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 14px 12px;border-top-width:4px}
.sc h3{margin:2px 0 6px;font-size:16px}.sc p{margin:0;font-size:13.5px;color:var(--ink2)}
.sc .sc-tag{font-size:12px;font-weight:700;letter-spacing:.02em}
.sc-a{border-top-color:var(--brand)}.sc-a .sc-tag{color:var(--brand)}
.sc-in{border-top-color:#2f7d4f}.sc-in .sc-tag{color:#2f7d4f}
.sc-ex{border-top-color:#b8873c}.sc-ex .sc-tag{color:#8a6420}
.sc-add{border-top-color:#7a86b8;border-top-style:dashed}.sc-add .sc-tag{color:#56609a}
.sc-out{margin:12px 0 0;font-size:13.5px;color:var(--ink2);background:var(--paper2);border-radius:8px;padding:10px 12px}
.sp-detail{margin:16px 0 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 14px}
.sp-detail summary{cursor:pointer;font-weight:700;padding:14px 0;min-height:44px;list-style-position:inside}
.sp-detail[open] summary{border-bottom:1px solid var(--line);margin-bottom:10px}
.fee{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;white-space:nowrap}
.fee.in{background:#e6f3ea;color:#24613c}.fee.ex{background:#f8eedc;color:#7a5717}
.ten td small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.why30{margin:26px 0 0}
.why30 h3{font-size:18px;margin:0 0 10px}
.why30-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.why30-grid>div{border-left:3px solid var(--accent);padding:2px 0 2px 12px}
.why30-grid p{margin:0;font-size:13.5px;color:var(--ink2)}.why30-grid .w-h{font-weight:700;color:var(--ink);font-size:15px;margin-bottom:4px}
.sp-cta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 0}
.tier-price{margin:8px 0 0;font-weight:700;color:var(--brand-ink);font-size:18px}
@media(max-width:960px){.scope4,.why30-grid{grid-template-columns:1fr 1fr}.sp-head{grid-template-columns:1fr}.sp-photo img{max-height:240px}}
@media(max-width:560px){.scope4,.why30-grid{grid-template-columns:1fr}.scope4{gap:8px}.sc{padding:10px 12px}.sc h3{font-size:15px;margin:0 0 4px}.sc p{font-size:13px}.sp-price{padding:18px 16px}.sp-cta .btn{width:100%;justify-content:center}.sp-photo{display:none}}
.why30-ph{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
.why30-ph figure{margin:0}.why30-ph img{width:100%;height:150px;object-fit:cover;border-radius:8px;display:block}
.why30-ph img[src*="teacher_nhien"]{object-position:72% 30%}
@media(max-width:560px){.why30-ph img{height:96px}.why30-ph figcaption{font-size:11px}}
.why30-ph figcaption{font-size:12px;color:var(--muted);margin-top:3px}

/* v5.2 FLA 品質の5つの記録 */
.qf-h{font-size:18px;margin:28px 0 10px}
.qflow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;counter-reset:q}
.qflow li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 12px;position:relative}
.qflow b{display:block;font-size:15px;margin:4px 0 4px}.qflow p{margin:0;font-size:13px;color:var(--ink2)}
.qn{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:700}
@media(max-width:960px){.qflow{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.qflow{grid-template-columns:1fr}.qflow li{display:grid;grid-template-columns:28px 1fr;column-gap:8px;padding:12px}.qflow li .qn{grid-row:span 2}.qflow b{margin:2px 0}}

.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* v5.2 10項目の表：スマホでは「項目名＋費用」を1行、説明を下に（ラベルなし） */
@media(max-width:640px){
  table.cmp.stack.ten tr{display:grid;grid-template-columns:1fr auto;gap:2px 8px;border-bottom:1px solid var(--line);padding:10px 2px}
  table.cmp.stack.ten th,table.cmp.stack.ten td{border:0;padding:0;background:none}
  table.cmp.stack.ten tbody th{background:none;font-size:14px;color:var(--ink);grid-column:1;grid-row:1}
  table.cmp.stack.ten td:nth-of-type(2){grid-column:2;grid-row:1;text-align:right}
  table.cmp.stack.ten td:nth-of-type(1){grid-column:1/3;grid-row:2;font-size:13px;color:var(--ink2)}
  table.cmp.stack.ten td[data-label]::before{display:none}
  table.cmp.stack.ten td small{display:inline;margin:0 0 0 4px}
}
@media(max-width:360px){.hero-ctas .btn{font-size:14px;padding-left:14px;padding-right:14px}}

/* v5.3 ISSUES：困りごと → 解決策 */
.issues{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.issues li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.is-q{padding:18px 20px;background:var(--accent-soft);display:flex;flex-direction:column;gap:6px;position:relative}
.is-q b{font-size:16px;line-height:1.5;color:var(--ink,#1b1b1b)}
.is-q small{font-size:13px;color:var(--muted)}
.is-n{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--accent)}
.is-a{padding:18px 20px;border-left:4px solid var(--brand)}
.is-a>b{font-size:12px;letter-spacing:.06em;color:var(--brand)}
.is-a p{margin:4px 0 10px;font-size:15px;line-height:1.75}
.is-tags{display:flex;flex-wrap:wrap;gap:6px}
.is-tags a{font-size:12.5px;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);border-radius:999px;padding:5px 11px;text-decoration:none}
.is-tags a:hover{text-decoration:underline}
.is-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:22px}
.is-cta span{font-size:13.5px;color:var(--muted)}
@media(max-width:720px){
  .issues li{grid-template-columns:1fr}
  .is-a{border-left:0;border-top:4px solid var(--brand)}
  .is-q,.is-a{padding:15px 16px}
  .is-cta .btn{width:100%}
}

/* v5.3 FLA HERO PROOF：教員の顔と実績を最初の画面に */
.hero-proof{margin-top:18px;display:grid;gap:12px}
.hp-teachers{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;max-width:460px}
.hp-teachers:hover{border-color:var(--brand)}
.hp-faces{display:flex;flex:none}
.hp-faces img{width:46px;height:46px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.12);object-fit:cover}
.hp-faces img+img{margin-left:-12px}
.hp-teachers b{display:block;font-size:14px;line-height:1.45}
.hp-teachers small{font-size:12.5px;color:var(--brand);font-weight:700}
.hp-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hp-badges li{font-size:12.5px;line-height:1.3;color:var(--ink2);background:var(--brand-soft);border-radius:8px;padding:7px 10px}
.hp-badges b{display:block;font-size:16px;color:var(--brand-ink)}
@media(max-width:420px){.hp-badges li{flex:1 1 30%;padding:6px 8px;font-size:11.5px}.hp-badges b{font-size:14px}}

/* v5.3 FLA 料金：見積りCTA＋比較表・契約条件を折りたたみ */
.pr-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:20px 0 6px}
.pr-cta span{font-size:13.5px;color:var(--muted)}
details.fold{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:12px}
details.fold>summary{list-style:none;cursor:pointer;padding:16px 48px 16px 18px;position:relative}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::after{content:"＋";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--brand)}
details.fold[open]>summary::after{content:"－"}
details.fold>summary h3{margin:0;font-size:17px}
details.fold>summary span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
details.fold>.table-wrap,details.fold>.disclaimer{margin:0 14px 14px}
@media(max-width:640px){.pr-cta .btn{width:100%}}

/* v5.3b スマホで短く：横スワイプ（FLA 100時間）と開閉式の困りごと（GL） */
.swipe-hint{display:none}
@media(max-width:640px){
  .m-swipe{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:86%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 2px 12px;margin-left:-2px;margin-right:-16px;padding-right:16px;scrollbar-width:thin}
  .m-swipe>*{scroll-snap-align:start;min-width:0}
  .m-swipe:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
  .swipe-hint{display:block;margin:0 0 8px;font-size:12.5px;font-weight:700;color:var(--brand)}
  .qflow li p{font-size:12.5px;line-height:1.6}
}
@media(max-width:720px){
  .issues.js-acc{gap:8px}
  .issues.js-acc li:not(.open) .is-a{display:none}
  .issues.js-acc .is-q{cursor:pointer;padding:13px 44px 13px 14px;gap:2px}
  .issues.js-acc .is-q::after{content:"＋";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--accent)}
  .issues.js-acc li.open .is-q::after{content:"－"}
  .issues.js-acc .is-q b{font-size:15px}
  .issues.js-acc li:not(.open) .is-q small{display:none}
  .issues.js-acc .is-a{padding:13px 14px}
  .issues.js-acc .is-a p{font-size:14px;line-height:1.7}
}
@media(max-width:560px){
  .qflow{gap:0;border-top:1px solid var(--line)}
  .qflow li{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0}
}
@media(max-width:640px){.qflow+.swipe-hint{margin-top:18px}}

/* v5.3c GL サービス：スマホで一覧表を閉じ、カードを詰める */
details.svc-fold{margin-top:22px}
@media(min-width:721px){details.svc-fold{background:none;border:0}details.svc-fold>summary{padding:0 0 10px;cursor:default;pointer-events:none}details.svc-fold>summary::after{display:none}details.svc-fold>.table-wrap{margin:0}}
@media(max-width:720px){
  .tiers{gap:10px}
  .tier{padding:14px 16px}
  .tier h3{font-size:16px;margin:2px 0 4px}
  .tier ul{font-size:13.5px;margin-top:4px}
  .tier li{margin:2px 0}
  .tier .disclaimer{font-size:12.5px}
}

/* v5.3d スマホで短く：FLA教員・授業方針・写真・30秒ナビ／GL料金区分・選ばれる理由 */
@media(max-width:640px){
  .teachers{gap:10px}
  .teacher{grid-template-columns:104px 1fr}
  .teacher img{height:100%;min-height:150px;object-position:center 25%}
  .teacher img[src*="teacher_nhien"]{object-position:74% 20%}
  .teacher .t-body{padding:12px 14px}
  .teacher h3{font-size:15.5px;margin:2px 0 6px}
  .teacher blockquote{font-size:13.5px;line-height:1.65}
  .teacher .role{font-size:11px}
  #teachers .grid3{gap:8px}
  #teachers .grid3 .card{padding:12px 14px;display:grid;grid-template-columns:34px 1fr;column-gap:8px}
  #teachers .grid3 .card .num{grid-row:span 2;font-size:20px;margin:0}
  #teachers .grid3 .card h3{margin:0 0 2px;font-size:15px}
  #teachers .grid3 .card p{margin:0;font-size:13px;line-height:1.65}
  .gallery.m-swipe{grid-auto-rows:210px;grid-auto-columns:78%;margin-top:18px}
  .gallery.m-swipe>figure{grid-row:auto!important;grid-column:auto!important}
  .gallery+.disclaimer{margin-top:4px}
  #navi .navi-form fieldset{margin:0 0 12px}
  #navi .opts{gap:6px}
  #navi .opt span{padding:6px 10px;font-size:13px}
  #navi .out-block{margin-top:10px}
  #navi .out-block h3{font-size:14px;margin-bottom:4px}
  #navi .out-block ul,#navi .out-block p,#navi .out-block div{font-size:13.5px}
}
@media(max-width:560px){
  .scope4{grid-template-columns:1fr 1fr!important;gap:8px}
  .scope4 .sc{padding:10px}
  .scope4 .sc h3{font-size:14px;line-height:1.4}
  .scope4 .sc p{font-size:12px;line-height:1.55;margin:0}
  .why30-grid{grid-template-columns:1fr 1fr!important;gap:10px 12px}
  .why30-grid>div{padding-left:9px}
  .why30-grid .w-h{font-size:14px}
  .why30-grid p{font-size:12.5px;line-height:1.6}
}

/* v5.4 FLA：100時間の学びで目指す変化（場面×学習前→学習後×会話例×写真） */
.chg-h{font-size:19px;margin:6px 0 12px}
.chg-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.chg{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.chg figure{margin:0;position:relative;height:150px;background:#ddd}
.chg figure img{width:100%;height:100%;object-fit:cover;display:block}
.chg-lv{position:absolute;left:10px;top:10px;background:var(--brand-ink);color:#fff;font-size:12px;font-weight:700;border-radius:6px;padding:3px 8px}
.chg-b{padding:14px 15px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.chg-scene{margin:0;font-size:13px;color:var(--muted)}.chg-scene b{font-size:16px;color:var(--ink)}
.chg-bf,.chg-af{margin:0;font-size:13.5px;line-height:1.65;border-radius:8px;padding:8px 10px}
.chg-bf{background:var(--paper2);color:var(--ink2)}
.chg-af{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}
.chg-bf small,.chg-af small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;opacity:.8}
.chg-talk{border-left:3px solid var(--accent);padding:2px 0 2px 10px;display:grid;gap:3px}
.chg-talk p{margin:0;font-size:13.5px;line-height:1.6}
.chg-talk span{display:inline-block;min-width:3.6em;font-size:11.5px;font-weight:700;color:var(--accent);margin-right:4px}
.chg-std{margin:auto 0 0;font-size:12px;color:var(--muted);line-height:1.6}
@media(max-width:960px) and (min-width:641px){.chg-list{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.chg-list.m-swipe{grid-auto-columns:84%}.chg figure{height:140px}}
.t-prac{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.t-prac li{font-size:12.5px;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);border-radius:999px;padding:4px 10px}
.t-prac li::before{content:"✓ ";color:var(--brand)}
@media(max-width:640px){.t-prac{margin-top:8px}.t-prac li{font-size:11.5px;padding:3px 8px}}

/* v5.4 FLA：この料金で受けられる教育とサービス */
.incl{margin:22px 0 4px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:12px;padding:18px 20px}
.incl h3{margin:0 0 10px;font-size:18px}
.incl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;counter-reset:inc}
.incl-list li{counter-increment:inc;position:relative;padding-left:30px}
.incl-list li::before{content:counter(inc);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.incl-list b{display:block;font-size:15px}
.incl-list span{display:block;font-size:13px;color:var(--ink2);line-height:1.6}
.incl-ex{margin:12px 0 0;font-size:13px;color:var(--muted)}
@media(max-width:860px){.incl-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.incl{padding:14px 14px}.incl-list{grid-template-columns:1fr;gap:8px}.incl-list b{font-size:14px}.incl-list span{font-size:12.5px}}

/* v5.4 30秒ナビ：結果を番号つきの4ブロックに＋費用区分タグ */
.out-block h3 .on{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:11.5px;margin-right:6px;vertical-align:1px}
.out-prep{opacity:.92}
.out-prep h3{color:var(--muted)}
.gn-sup{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.gn-sup li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.6}
.ntag{flex:none;display:inline-block;font-size:11px;font-weight:800;border-radius:5px;padding:2px 6px;line-height:1.5;white-space:nowrap}
.ntag.duty{background:#e3f1e8;color:#215f3a}
.ntag.ex{background:#f7ecd9;color:#7a5418}
.ntag.add{background:#e9ecf7;color:#3e4a87}
.ntag.job{background:#eef0f3;color:#3b4652}
.ntag.free{background:#fff;color:var(--brand-ink);border:1px solid var(--line)}
.gn-legend{margin:8px 0 0;font-size:11.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.gn-legend .ntag{margin-left:4px}

/* v5.4 GL：日本語学校を運営する会社だから、できる支援 */
.sch-lead p{font-size:17px;line-height:1.95;max-width:860px;margin:0 0 20px;color:var(--ink2)}
.sch-lead b{color:var(--ink)}
.sch-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sch{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.sch figure{margin:0;height:150px;background:#ddd}
.sch figure img{width:100%;height:100%;object-fit:cover;display:block}
.sch figure img[src*="teacher_nhien"]{object-position:74% 25%}
.sch-b{padding:14px 15px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.sch-n{margin:0;font-family:var(--serif);font-size:20px;font-weight:700;color:var(--accent);line-height:1}
.sch h3{margin:0;font-size:17px}
.sch-b>p{margin:0;font-size:13.5px;line-height:1.7;color:var(--ink2)}
.sch-bg{font-size:12.5px!important;background:var(--paper2);border-radius:6px;padding:6px 8px}
.sch-fee{margin-top:auto!important;font-size:12px!important;display:flex;gap:6px;align-items:flex-start}
.sch-flow{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.sch-flow li{padding:12px 14px;position:relative;border-right:1px solid var(--line)}
.sch-flow li:last-child{border-right:0}
.sch-flow li:not(:last-child)::after{content:"›";position:absolute;right:-6px;top:50%;transform:translateY(-50%);background:#fff;color:var(--brand);font-weight:800;font-size:16px;line-height:1;z-index:1}
.sch-flow b{display:block;font-size:14px;color:var(--brand-ink)}
.sch-flow span{display:block;font-size:12px;color:var(--muted);line-height:1.5}
.sch-ev{margin-top:14px;display:grid;gap:4px}
.sch-ev .evidence{margin:0}
.sp-why{margin:20px 0 0;background:var(--brand-soft);border-radius:10px;padding:12px 16px;font-size:14px;line-height:1.8}
.sp-why b{display:block;color:var(--brand-ink)}
@media(max-width:1000px) and (min-width:641px){.sch-list{grid-template-columns:1fr 1fr}.sch-flow{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){
  .sch-lead p{font-size:15px;line-height:1.85}
  .sch-list{grid-template-columns:1fr;gap:10px}
  .sch{flex-direction:row}
  .sch figure{flex:0 0 104px;height:auto;min-height:150px}
  .sch-b{padding:12px 13px}
  .sch h3{font-size:15.5px}
  .sch-b>p{font-size:13px}
  .sch-flow{grid-template-columns:1fr}
  .sch-flow li{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:baseline;padding:9px 12px}
  .sch-flow li:last-child{border-bottom:0}
  .sch-flow li::after{display:none}
  .sch-flow b{flex:0 0 6em}
}

/* v5.4 GL：困りごと 4段階（企業の課題→本人の状況→当社の対応→期待できる変化） */
.issues.v4 li{grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr)}
.issues.v4 .is-q{justify-content:center}
.issues.v4 .is-a{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0}
.issues.v4 .is-a>div{padding:14px 16px;border-right:1px solid var(--line)}
.issues.v4 .is-a>div:last-child{border-right:0}
.issues.v4 .is-a small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}
.issues.v4 .is-a p{margin:0 0 6px;font-size:13.5px;line-height:1.7}
.issues.v4 .is-act small{color:var(--brand)}
.issues.v4 .is-chg{background:var(--brand-soft)}
.issues.v4 .is-chg small{color:var(--brand-ink)}
.issues.v4 .is-chg p{font-weight:700;color:var(--brand-ink)}
.is-note{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}
@media(max-width:1000px){.issues.v4 li{grid-template-columns:1fr}.issues.v4 .is-a{border-left:0;border-top:4px solid var(--brand)}}
@media(max-width:720px){
  .issues.v4 .is-a{grid-template-columns:1fr}
  .issues.v4 .is-a>div{border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}
  .issues.v4 .is-a>div:last-child{border-bottom:0}
  .issues.v4 .is-a p{font-size:13.5px}
}
.sum-pts{display:block;font-weight:500;font-size:12.5px;color:var(--ink2);line-height:1.9;margin-top:4px}
.sum-pts .ntag{margin-right:4px}
.sw-dots{display:none}
@media(max-width:640px){
  .sw-dots{display:flex;justify-content:center;gap:2px;margin:2px 0 10px}
  .sw-dots button{width:28px;height:28px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center}
  .sw-dots button::before{content:"";width:8px;height:8px;border-radius:50%;background:#c9cfd3;transition:all .2s}
  .sw-dots button[aria-current=true]::before{width:20px;border-radius:5px;background:var(--brand)}
}
.sch-fee{margin-top:0!important}
.sch-bg+.sch-fee{margin-top:auto!important}
.ps-sub .ps-l{display:flex;gap:6px;align-items:baseline;margin:3px 0 0}
.ps-sub .ps-l+a{display:inline-block;margin-top:4px}
/* v5.5 GL：実施義務・委託範囲・費用負担の区別 */
.tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:14px 0 0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tri>div{padding:12px 16px;border-right:1px solid var(--line)}
.tri>div:last-child{border-right:0}
.tri small{display:block;font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.04em}
.tri b{display:block;font-size:15.5px;color:var(--brand-ink);margin:1px 0 2px}
.tri p{margin:0;font-size:13px;line-height:1.65;color:var(--ink2)}
@media(max-width:640px){.tri{grid-template-columns:1fr}.tri>div{border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}.tri>div:last-child{border-bottom:0}}
.doc-line{margin:10px 0 0;font-size:14px}.doc-line a{font-weight:700}
/* v5.5 タップ領域：スマホの選択肢を44px以上に */
@media(max-width:640px){#navi .opt span{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px}.sw-dots button{width:32px;height:32px}}
@media(min-width:641px){.opt span{min-height:40px;display:inline-flex;align-items:center}}
/* v5.6 FLA：想定課題の注記・提供状況（これまで／これから） */
.chg-note{margin:-4px 0 12px;font-size:13px;color:var(--ink2)}
.chg-talk::before{content:"教材の会話例";display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:1px}
.status-line{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;font-size:13px;color:var(--ink2);line-height:1.6}
.status-line b{display:inline-block;font-size:11.5px;border-radius:5px;padding:1px 7px;margin-right:6px;color:#fff}
.st-now{background:var(--brand)}.st-plan{background:#8a6420}
/* v5.6 GL：総額の見積り依頼 */
.est{margin:20px 0 0;background:#fff;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;padding:16px 18px}
.est h3{margin:0 0 4px;font-size:17px}
.est-lead{margin:0 0 10px;font-size:13.5px;color:var(--ink2)}
.est-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
.est-in label{font-size:12.5px;font-weight:700;color:var(--ink2);display:flex;flex-direction:column;gap:4px}
.est-in span{display:flex;align-items:center;gap:6px;font-weight:500}
.est-in input{width:5.5em;min-height:44px;font-size:16px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}
.est-out{background:var(--paper2);border-radius:8px;padding:10px 12px;margin-bottom:12px}
.est-out p{margin:2px 0;font-size:14px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.est-out b{font-size:16px;color:var(--brand-ink)}
.est-note{font-size:12px!important;color:var(--muted)}
@media(max-width:720px){.est-in{grid-template-columns:1fr 1fr}.est .btn{width:100%}}
@media(max-width:640px){.btn.sm{min-height:44px}.tabs button{min-height:44px}}

/* v7：立場別の入口（FLA）／料金の計算例／GLの比較5点・切替え・年額／スマホの固定ボタン */
.entry3{padding:28px 0 0}
.entry3 .card{display:block;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.entry3 .card:hover{border-color:var(--brand);transform:translateY(-2px)}
.entry3 .kicker{margin:0 0 4px}
.entry3 h3{margin:0 0 6px;font-size:17px}
.entry3 p:last-child{margin:0;font-size:13.5px;color:var(--ink2)}
.calc-ex{margin:18px 0 4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.calc-h{margin:0 0 10px;font-size:12.5px;color:var(--muted);font-weight:700}
.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.calc-grid>div{background:var(--paper);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.calc-grid span{font-size:13px;color:var(--ink2)}
.calc-v{font-size:22px;color:var(--brand-ink);letter-spacing:-.01em}
.calc-grid small{font-size:12px;color:var(--muted)}
.year-cost{margin:-8px 0 12px;font-size:13px;color:var(--ink2)}
.year-cost b{color:var(--brand-ink)}
.gl-badges{margin:0 0 12px}
.cmp5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:20px}@media(max-width:1100px){.cmp5{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.cmp5{grid-template-columns:1fr}}
.cmp5>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.cmp5 b{display:block;font-size:15px;line-height:1.5;margin-bottom:6px}
.cmp5 p{margin:0;font-size:13.5px;color:var(--ink2)}
.switch3{margin-top:28px;background:var(--brand-soft);border-radius:14px;padding:20px 22px}
.switch3 h3{margin:0 0 12px;font-size:18px}
.switch3 ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:sw}
.switch3 li{background:#fff;border-radius:10px;padding:14px 16px;counter-increment:sw}
.switch3 li b{display:block;font-size:15px;margin-bottom:4px}
.switch3 li b::before{content:counter(sw) ". ";color:var(--brand)}
.switch3 li span{font-size:13.5px;color:var(--ink2)}
details.jsr-fold>summary h3{margin:0;font-size:16px}
.sp-dock{display:none}
@media(max-width:760px){
  .calc-grid,.switch3 ol{grid-template-columns:1fr}
  .entry3 .grid3{gap:10px}
  .entry3 .card{padding:14px 16px}
  .entry3 h3{font-size:15.5px}
  /* スマホ：ファーストビューを短く。要点の表は2列に */
  .hero .facts{grid-template-columns:1fr 1fr;margin-top:20px}
  .hero .facts>div{border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}
  .hero .status-line{font-size:12.5px}
  .hero-photo,.hero-photo.tall{aspect-ratio:16/10}
  /* 下部に固定の相談ボタン（フォームが見えている間は隠す） */
  .sp-dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.06);transform:translateY(110%);transition:transform .2s}
  .sp-dock.on{transform:none}
  .sp-dock a{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:10px;font-weight:800;font-size:14px;text-decoration:none}
  .sp-dock .d-main{background:var(--brand);color:#fff;flex:2}
  .sp-dock .d-sub{border:1px solid var(--line);color:var(--brand-ink);background:#fff}
  body{padding-bottom:0}
  body.dock-on{padding-bottom:64px}
}
@media(max-width:760px){
  section.m-fold{position:relative}
  section.m-fold.folded>.container{max-height:560px;overflow:hidden;position:relative}
  section.m-fold.folded>.container::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(rgba(255,255,255,0),var(--bg))}
  section.tint.m-fold.folded>.container::after,section.dark.m-fold.folded>.container::after{background:linear-gradient(rgba(255,255,255,0),var(--paper))}
  .m-more{display:block;margin:6px auto 0;min-height:44px;padding:0 22px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--brand-ink);font-weight:800;font-size:14px;cursor:pointer}
  .m-more::after{content:" ▼";font-size:11px}
}

/* v7.1：ファーストビュー（FLA 案A／GL 案B） */
.hero.v51{padding:40px 0 0}
.fv7 h1{font-size:clamp(28px,3.6vw,48px)!important;line-height:1.28;margin:0 0 14px}
.fv7 .lead{font-size:16px;max-width:580px;margin:0 0 16px}
.proof7{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.proof7 li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 12px;font-size:12px;color:var(--ink2);line-height:1.35}
.proof7 b{display:block;font-size:16px;color:var(--brand-ink)}
.price7{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 12px}
.price7>span{font-size:13px;font-weight:700;color:var(--ink2)}
.price7>b{font-size:30px;letter-spacing:-.02em;color:var(--brand-ink)}
.price7 small{flex-basis:100%;font-size:12.5px;color:var(--muted)}
.price7 a{color:var(--brand)}
.price7.gl{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:10px 14px;max-width:600px}
.get7{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 14px;max-width:580px}
.get7 p{margin:0 0 8px;font-size:12.5px;font-weight:800;color:var(--brand)}
.get7 ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.get7 li{background:var(--brand-soft);border-radius:8px;padding:8px 6px;text-align:center;font-weight:800;font-size:13.5px;line-height:1.3}
.get7 li small{display:block;font-weight:500;font-size:11px;color:var(--ink2)}
.cta-s{display:none}
.fv7-photo{margin:0;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/4.2;box-shadow:0 24px 60px rgba(13,74,68,.18)}
.fv7-photo img{width:100%;height:100%;object-fit:cover}
.fv7-loc{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.95);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:800;color:var(--brand-ink)}
.fv7-rep{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.97);border-radius:12px;padding:12px 14px}
.fv7-rep b{display:block;font-size:13.5px;margin-bottom:6px}
.fv7-rep ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.fv7-rep li{background:var(--brand-soft);border-radius:8px;padding:6px 4px;text-align:center;font-weight:700;font-size:11.5px;line-height:1.35}
.hub{position:relative;width:100%;aspect-ratio:1/1;max-width:520px;margin:0 auto}
.hub-ring{position:absolute;inset:12%;border:2px dashed color-mix(in srgb,var(--brand) 35%,#fff);border-radius:50%}
.hub-core{position:absolute;inset:35%;border-radius:50%;background:var(--brand);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:15px;line-height:1.4;box-shadow:0 18px 40px rgba(22,49,77,.3)}
.hub-core small{font-size:11px;font-weight:600;opacity:.85}
.hub-node{position:absolute;width:43%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;box-shadow:0 10px 24px rgba(0,0,0,.08);font-size:12px;line-height:1.45;color:var(--ink2)}
.hub-node b{display:block;font-size:13.5px;color:var(--brand-ink)}
.hub-node img{width:100%;height:76px;object-fit:cover;border-radius:8px;margin-bottom:6px;display:block}
.hub-node.n1{left:-2%;top:0}.hub-node.n2{right:-2%;top:0}.hub-node.n3{left:-2%;bottom:0}.hub-node.n4{right:-2%;bottom:0}
@media(max-width:820px){
  .fv7{grid-template-columns:1fr!important;gap:22px}
  .fv7-photo{aspect-ratio:auto;display:flex;flex-direction:column;background:#fff}
  .proof7{flex-wrap:nowrap;gap:6px}.proof7 li{flex:1;padding:6px 8px;font-size:11px}.proof7 b{font-size:14px}
  .get7 li{font-size:12.5px}
  .fv7-photo img{height:210px}
  .fv7-rep{position:static;border-radius:0}
  .fv7-rep ol{grid-template-columns:repeat(2,1fr)}
  .fv7 .lead{font-size:15px}
  .cta-l{display:none}.cta-s{display:inline}
  .hero-ctas .btn{width:100%;justify-content:center}
  .hub{max-width:360px}.hub-node{font-size:11px;padding:8px}.hub-node img{height:50px}
}
@media(max-width:820px){.hero.v51{padding-top:18px}.fv7 .intent{margin-bottom:12px}.fv7 h1{margin-bottom:10px}.fv7 .lead{margin-bottom:12px}.proof7{margin-bottom:10px}}

/* v7.2：FLA 価値の一文／実績を控えめに／教育品質の証明／企業向け実績の統一形式／料金の含む・条件・別途／相談カード */
.val7 b{color:var(--ink)}
.get7s{margin:10px 0 6px;font-size:13px;color:var(--ink2)}
.proof7.sub{margin:12px 0 0}
.proof7.sub li{background:transparent;padding:5px 10px;font-size:11.5px}
.proof7.sub b{font-size:13.5px}
.facts7{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 14px}
.facts7>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.facts7 b{display:block;font-size:22px;color:var(--brand-ink);letter-spacing:-.01em}
.facts7 span{font-size:13px;color:var(--ink2)}
.now-next{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}
.now-next p{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13.5px;color:var(--ink2)}
.now-next b{display:inline-block;margin-right:8px}
.sub-h{margin:26px 0 10px;font-size:17px}
.track7{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.track7 article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.track7 h4{margin:0 0 8px;font-size:15px;color:var(--brand-ink)}
.track7 dl{margin:0;display:grid;gap:6px}
.track7 dl>div{display:grid;grid-template-columns:5.5em 1fr;gap:8px;font-size:13px}
.track7 dt{color:var(--muted);font-weight:700}
.track7 dd{margin:0;color:var(--ink)}
.it{font-style:normal;display:inline-block;font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;margin-right:6px;vertical-align:1px}
.it.in{background:var(--brand-soft);color:var(--brand-ink)}
.it.cond{background:#fff3d6;color:#7a5200}
.it.ex{background:#f3f4f6;color:#555}
a.offer-go{text-decoration:none;color:var(--ink);display:block;transition:border-color .15s}
a.offer-go:hover{border-color:var(--brand)}
.offer-go .go{display:inline-block;margin-top:6px;font-size:13px;font-weight:800;color:var(--brand)}
@media(max-width:760px){
  .facts7,.now-next,.track7{grid-template-columns:1fr}
  /* 横スワイプをやめて縦に並べる（写真は2列） */
  .m-swipe{display:grid!important;grid-auto-flow:row!important;grid-template-columns:1fr!important;overflow:visible!important;scroll-snap-type:none!important}
  .gallery.m-swipe{grid-template-columns:1fr 1fr!important}
  .gallery.m-swipe figure.big{grid-column:1/-1}
  .swipe-hint{display:none!important}
}
/* v7.2：GL ひとつの窓口（中心に GLOBAL LINK／4つの価値。スマホは縦のカード） */
.hub7 .hub-core{inset:33%}
.hub7 .hub-core b{font-size:17px;letter-spacing:.04em;font-family:inherit}
.hub7 .hub-core small{font-size:10.5px;line-height:1.45;margin-top:4px}
.hub7 .hub-node{width:44%;padding:10px 12px}
.hub7 .hub-node img{height:66px}
.hub7 .hub-node b{font-size:14.5px}
.hub7 .kv{display:block;font-size:12px;color:var(--ink2);line-height:1.45}
.hub7 .kb{display:block;margin-top:4px;font-size:11.5px;font-weight:800;color:var(--accent)}
@media(max-width:820px){
  .hub7{aspect-ratio:auto;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hub7 .hub-ring{display:none}
  .hub7 .hub-core{position:static;inset:auto;grid-column:1/-1;border-radius:12px;padding:12px;flex-direction:row;gap:10px;box-shadow:none}
  .hub7 .hub-core small br{display:none}
  .hub7 .hub-node{position:static;width:auto;box-shadow:none}
  .hub7 .hub-node img{height:72px}
}
@media(max-width:380px){.hub7{grid-template-columns:1fr}.hub7 .hub-node{display:grid;grid-template-columns:96px 1fr;column-gap:10px}.hub7 .hub-node img{grid-row:span 3;height:100%;margin:0}}
@media(max-width:380px){.hub7 .hub-node img{height:88px;grid-row:span 3;align-self:center}}
@media(max-width:760px){.chg figure{display:none}}
@media(max-width:760px){
  /* 4つの場面だけは、同じ形のカードなので横スワイプで比べる（ほかは縦に読む） */
  .chg-list.m-swipe{display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-auto-columns:84%!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important}
  .chg-list.m-swipe + .swipe-hint, #roadmap .swipe-hint{display:none!important}
  section:has(> .container > .chg-list) .swipe-hint{display:block!important}
}
.now-next b.st-now,.now-next b.st-plan{display:inline-block;font-size:12px;font-weight:800;color:#fff;border-radius:6px;padding:2px 8px;margin-right:8px;line-height:1.6;width:auto;height:auto;text-indent:0}
.now-next b.st-now{background:var(--brand)}
.now-next b.st-plan{background:#8a5a00}

/* v7.3：情報構造の再編集（FLA 100時間の流れ・実績の統合・料金と受講方式の統合／GL 4つの価値・料金と比較の統合） */
.navi-link{font-weight:700;white-space:nowrap}
.get7s .navi-link{display:inline-block;margin-left:6px}
.hero .facts.f73{grid-template-columns:repeat(4,1fr)}
/* FLA：100時間の6つの流れ */
.jr{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;counter-reset:none}
.jr-s{display:grid;grid-template-columns:40px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.jr-wide{grid-column:1/-1}
.jr-n{width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px}
.jr-b h3{margin:6px 0 4px;font-size:17px;line-height:1.4}
.jr-b h3 small{display:inline-block;margin-left:8px;font-size:11.5px;font-weight:800;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,#fff);border-radius:6px;padding:1px 7px;vertical-align:2px}
.jr-b>p,.jr-2>div>p{margin:0;font-size:14px;color:var(--ink2)}
.jr-2{display:grid;grid-template-columns:1fr 1.1fr;gap:16px;align-items:start}
.jr-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:12px 0}
.jr-bar span{border-radius:8px;padding:7px 9px;font-size:12.5px;line-height:1.4;color:#fff;font-weight:700}
.jr-bar span:nth-child(1){background:#7fb8ab}.jr-bar span:nth-child(2){background:#4f9a8b}.jr-bar span:nth-child(3){background:#2c8174}.jr-bar span:nth-child(4){background:#14675f}
.jr-bar b{display:block;font-size:11px;opacity:.9}
.jr-scenes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.jr-scenes article{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper2)}
.jr-scenes img{width:100%;height:92px;object-fit:cover;display:block}
.jr-scenes article>div{padding:10px 12px}
.sc-h{margin:0 0 4px;font-weight:800;font-size:14px;color:var(--brand-ink)}
.sc-h i{font-style:normal;font-size:11px;font-weight:800;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 6px;margin-left:6px;color:var(--ink2)}
.sc-g{margin:0 0 6px;font-size:13px;font-weight:700;line-height:1.55}
.sc-t{margin:0;font-size:12px;color:var(--ink2);line-height:1.6;background:#fff;border-radius:8px;padding:6px 8px}
.sc-t span{display:inline-block;min-width:3.2em;font-size:11.5px;font-weight:800;color:var(--muted)}
.jr-sample{background:var(--paper2);border:1px dashed var(--line);border-radius:12px;padding:12px 14px;font-size:13px}
.jr-sample .kicker{margin:0 0 4px}
.jr-sample .say{margin:0 0 6px;font-size:16px;font-weight:800}
.jr-sample p{margin:0}
.jr-rep .r-body{font-size:13px}
/* FLA：実績（3件は確認できた項目だけ） */
.track7.t73 h4 small{font-size:12px;color:var(--muted);font-weight:700;margin-left:8px}
.ph3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 0}
.ph3 figure{margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.ph3 img{width:100%;height:170px;object-fit:cover;display:block}
.ph3 figcaption{font-size:12px;color:var(--ink2);padding:6px 10px}
/* FLA：料金に含まれる3つ・含む/条件/別途 */
.val3{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:12px;padding:14px 16px;margin:16px 0}
.val3-h{margin:0 0 8px;font-weight:800;font-size:14.5px;color:var(--brand-ink)}
.val3 ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;counter-reset:v3}
.val3 li{counter-increment:v3;background:var(--brand-soft);border-radius:10px;padding:10px 12px}
.val3 li b{display:block;font-size:14.5px;color:var(--brand-ink)}
.val3 li b::before{content:counter(v3) ". "}
.val3 li span{font-size:12.5px;color:var(--ink2)}
.p73 td:last-child{font-size:13px;color:var(--ink2)}
.incl73{display:flex;flex-direction:column;gap:6px;margin:12px 0 4px;font-size:13.5px}
.roles73{margin-top:20px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
.section.dark .roles73 summary h3,.section.dark .roles73 summary span{color:#fff}
.roles73 .roles{margin-top:12px}
.roles73 .roles .card{color:var(--ink)}
/* 相談カード（2枚・3枚） */
.offer3.o73 .card{padding:14px 16px}
.o73 a.offer-go{position:relative}
/* GL：ハブのノードはリンク */
a.hub-node{text-decoration:none;display:block;transition:border-color .15s,transform .15s}
a.hub-node:hover{border-color:var(--brand);transform:translateY(-2px)}
/* GL：4つの価値 */
.val4{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 0}
.vc{display:grid;grid-template-columns:150px 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;scroll-margin-top:80px}
.vc figure{margin:0}
.vc figure img{width:100%;height:100%;min-height:180px;object-fit:cover;display:block}
.vc-b{padding:14px 16px}
.vc-b h3{margin:0 0 6px;font-size:19px;color:var(--brand-ink)}
.vc-b h3 i{font-style:normal;margin-right:6px;color:var(--accent)}
.vc-q{margin:0 0 8px;font-size:12.5px;font-weight:700;color:#8a5a00;background:#fff7e6;border-radius:8px;padding:5px 9px}
.vc-q::before{content:"こんな困りごとに："}
.vc dl{margin:0 0 6px;display:grid;gap:6px}
.vc dl>div{display:grid;grid-template-columns:3.6em 1fr;gap:8px;font-size:13.5px;line-height:1.6}
.vc dt{font-weight:800;color:var(--brand)}
.vc dd{margin:0;color:var(--ink)}
.vc-bg{margin:0 0 6px;font-size:12.5px;color:var(--muted)}
.vc-bg b{margin-right:6px;color:var(--ink2)}
.vc .sch-fee{margin:2px 0 0;font-size:12.5px}
/* GL：料金と比較5つ */
.sp73{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.sp-fees{margin:6px 0 10px;display:grid;gap:6px}
.sp-fees>div{display:grid;grid-template-columns:9.5em 1fr;gap:10px;align-items:baseline;border-bottom:1px dashed var(--line);padding:4px 0;font-size:14px}
.sp-fees dt{font-weight:700;color:var(--ink2)}
.sp-fees dd{margin:0}
.sp-fees .main dd b{font-size:30px;color:var(--brand-ink);letter-spacing:-.02em}
.sp-fees b{color:var(--brand-ink)}
.cmp73{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.cmp73 h3{margin:0 0 10px;font-size:17px}
.cmp73 ol{margin:0;padding-left:1.4em;display:grid;gap:8px}
.cmp73 li b{display:block;font-size:14px}
.cmp73 li span{font-size:13px;color:var(--ink2)}
.r73 .rm .ba .af{font-weight:600}
@media(max-width:960px){
  .sp73{grid-template-columns:1fr}
  .val4{grid-template-columns:1fr}
  .jr-scenes{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .hero .facts.f73{grid-template-columns:1fr 1fr}
  .hero .facts>div{padding:8px 10px}
  .hero .facts dd{font-size:13.5px}
  .jr{grid-template-columns:1fr;gap:10px}
  .jr-s{grid-template-columns:30px 1fr;gap:10px;padding:12px 12px}
  .jr-n{width:30px;height:30px;font-size:14px}
  .jr-b h3{margin:2px 0 4px;font-size:16px}
  .jr-b>p,.jr-2>div>p{font-size:13.5px}
  .jr-2{grid-template-columns:1fr;gap:10px}
  .jr-bar{grid-template-columns:1fr 1fr}
  .jr-bar span{padding:5px 8px;font-size:12px}
  .jr-scenes{grid-template-columns:1fr;gap:8px}
  .jr-scenes article{display:grid;grid-template-columns:84px 1fr}
  .jr-scenes img{height:100%;min-height:96px}
  .jr-scenes article>div{padding:8px 10px}
  .sc-g{font-size:13px}
  .ph3 img{height:96px}
  .ph3 figcaption{font-size:11.5px;padding:4px 6px}
  .ph3{gap:6px}
  .val3 ol{grid-template-columns:1fr;gap:6px}
  .val3 li{padding:8px 10px}
  .p73 td:last-child{font-size:13px}
  .offer3.o73{grid-template-columns:1fr 1fr;gap:8px}
  .offer3.o73:has(> :nth-child(3)){grid-template-columns:1fr}
  .offer3.o73 .card{padding:12px}
  .offer3.o73 h3{font-size:14.5px}
  .offer3.o73 p{font-size:12.5px;margin:0}
  .vc{grid-template-columns:96px 1fr}
  .vc figure img{min-height:0}
  .vc-b{padding:12px}
  .vc-b h3{font-size:17px;margin-bottom:4px}
  .vc dl>div{grid-template-columns:1fr;gap:0;font-size:13.5px}
  .sp-fees>div{grid-template-columns:1fr;gap:0}
  .sp-fees .main dd b{font-size:28px}
  .cmp73{padding:14px}
  .cmp73 ol{gap:6px}
  .entry73 .grid3,.entry3 .grid3{gap:8px}
  .entry73 .card,.entry3 .card{padding:12px 14px}
  .entry73 .card h3,.entry3 .card h3{font-size:15px;margin:2px 0}
  .entry73 .card p,.entry3 .card p{font-size:13px;margin:0}
  .entry73 .card .kicker,.entry3 .card .kicker{margin:0;font-size:11.5px}
  .r73.roadmap{grid-template-columns:1fr!important}
}
@media(max-width:400px){.jr-scenes article{grid-template-columns:72px 1fr}.vc{grid-template-columns:80px 1fr}}
.entry73{padding:28px 0 0}
@media(max-width:760px){
  /* 料金表：方式ごとに「合同｜専用」を横に並べ、向いている場合は1行で */
  table.cmp.stack.p73 tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:6px solid var(--paper)}
  table.cmp.stack.p73 tbody th{grid-column:1/-1;padding:8px 12px;font-size:14.5px}
  table.cmp.stack.p73 td{padding:8px 10px}
  table.cmp.stack.p73 td:nth-of-type(1){border-right:1px solid var(--line)}
  table.cmp.stack.p73 td:last-child{grid-column:1/-1;font-size:12.5px;line-height:1.55}
  table.cmp.stack.p73 .price{font-size:12px}
  .val3{padding:10px 12px;margin:12px 0}
  .val3 li{padding:6px 10px}
  .val3 li b{font-size:14px}
  .val3 li span{display:block;font-size:12px;line-height:1.5}
  .calc-grid{grid-template-columns:1fr;gap:6px}
  .calc-grid>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding:8px 12px;column-gap:8px}
  .calc-grid>div small{grid-column:1/-1}
  .calc-v{font-size:18px}
  .incl73{font-size:13px}
}
.navi-more{margin:10px 0 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.navi-more>summary{cursor:pointer;padding:10px 12px;font-weight:800;font-size:13.5px;color:var(--brand-ink);list-style:none}
.navi-more>summary::after{content:" ＋";color:var(--brand)}
.navi-more[open]>summary::after{content:" −"}
.navi-more>.out-block{margin:0 10px 10px}
@media(max-width:760px){.navi-out .out-block{padding:10px 12px;margin-bottom:8px}.navi-out .out-block li{font-size:13px}}
@media(min-width:961px){.navi-more{border:0;background:none}.navi-more>summary{display:none}.navi-more>.out-block{margin:0 0 12px}}
@media(max-width:760px){
  /* 写真はファーストビューの図で見せる。縦長に引き伸ばさない */
  .vc{grid-template-columns:1fr}
  .vc figure{display:none}
  .vc-b h3{display:flex;align-items:center}
}
@media(max-width:760px){
  .sch-flow{grid-template-columns:1fr 1fr}
  .sch-flow li{display:block;border-right:1px solid var(--line);padding:8px 10px}
  .sch-flow li:nth-child(2n){border-right:0}
  .sch-flow li:last-child{grid-column:1/-1}
  .sch-flow b{font-size:13.5px}
  .section.dark .flow{grid-template-columns:1fr 1fr}
  .section.dark .flow>div{padding:12px 10px;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .section.dark .flow p{font-size:12.5px}
  .section.dark .flow strong{font-size:14px}
}
.section.dark .roles73 summary h3{color:var(--ink)}
.section.dark .roles73 summary span{color:var(--ink2)}
.roles73{background:#fff}
.entry73 a.card{text-decoration:none;color:var(--ink)}
section[id],.vc,details[id]{scroll-margin-top:72px}
.price7.gl .pl{white-space:nowrap}.price7.gl .pl::before{content:"｜"}
@media(max-width:760px){.price7.gl small{line-height:1.8}.price7.gl .pl{display:inline-block;margin-right:2px}.price7.gl .pl::before{content:"・"}.price7.gl small a{display:block}}

/* v7.4：FV の優先順位・授業の一例・料金に含まれるもの・GLの4つの確認点 */
.val7 .val7-h{display:block;font-size:17.5px;line-height:1.6;margin-bottom:4px}
.proof7.fla73{margin:0 0 12px}
.fv7-loc{font-size:12.5px}
.price7 small{font-size:12.5px;line-height:1.7}
.lw{margin:14px 0 0;background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.lw-h{margin:0 0 10px;font-size:14px;color:var(--ink2);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lw-h b{font-size:15px;color:var(--brand-ink)}
.lw ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.lw li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;position:relative}
.lw li:not(:last-child)::after{content:"→";position:absolute;right:-9px;top:22px;z-index:2;color:var(--brand);font-weight:800;background:var(--paper2);line-height:1}
.lw li i{font-style:normal;display:block;font-size:11.5px;font-weight:800;color:var(--accent)}
.lw li>b{display:block;font-size:15px;color:var(--brand-ink);margin:2px 0 4px}
.lw li p{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink2)}
.lw .lw-say{font-weight:800;color:var(--ink);background:var(--brand-soft);border-radius:8px;padding:6px 8px;margin-bottom:4px}
.lw .lw-rep{background:#fff;border:1px dashed var(--line);border-radius:8px;padding:6px 8px}
.lw .lw-rep b{display:block;font-size:11.5px;color:var(--muted)}
.lw .lw-rep small{display:block;margin-top:4px;font-size:11.5px;color:var(--muted)}
.lw-note{margin:10px 0 0;font-size:12.5px;color:var(--muted)}
.val5{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:12px;padding:14px 16px;margin:16px 0}
.val5 .val3-h small{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-top:2px}
.val5 dl{margin:0;display:grid;gap:0}
.val5 dl>div{display:grid;grid-template-columns:8em 1fr auto;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.val5 dt{font-weight:800;color:var(--brand-ink)}
.val5 dd{margin:0;color:var(--ink2)}
.val5 dd.v{text-align:right;white-space:nowrap}
.val5-ex{margin:8px 0 0;font-size:13px}
.vc dl ul{margin:0;padding-left:1.1em}
.vc dl li{margin:0 0 2px}
.vc dt{white-space:nowrap}
.pt4{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.pt4 h3{margin:0 0 10px;font-size:17px}
.pt4 ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:p4}
.pt4 li{counter-increment:p4;display:grid;grid-template-columns:28px 1fr;column-gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}
.pt4 li:last-child{border-bottom:0}
.pt4 li::before{content:counter(p4);grid-row:span 3;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.pt4 li i{font-style:normal;font-size:11.5px;font-weight:800;color:var(--accent)}
.pt4 li b{font-size:15px;color:var(--brand-ink)}
.pt4 li span{font-size:13px;color:var(--ink2)}
.pt4 li span a{font-weight:700;margin-left:4px}
@media(max-width:960px){.lw ol{grid-template-columns:1fr 1fr}.lw li::after{display:none}.lw li:last-child{grid-column:1/-1}}
@media(max-width:760px){
  .val7 .val7-h{font-size:16px}
  .proof7.fla73{margin-bottom:10px}
  .lw{padding:10px;margin-top:10px}
  .lw ol{grid-template-columns:1fr;gap:6px}
  .lw li{display:grid;grid-template-columns:6.2em 1fr;column-gap:8px;padding:8px 10px}
  .lw li i{grid-column:1/-1}
  .lw li>b{grid-column:1;font-size:14px;margin:0}
  .lw li p{grid-column:2}
  .lw li p.lw-say+p{grid-column:2}
  .lw li:not(:last-child)::after{display:block;content:"↓";right:auto;left:50%;top:auto;bottom:-10px;background:none}
  .val5{padding:10px 12px}
  .val5 dl>div{grid-template-columns:6.5em 1fr;gap:4px 8px;font-size:13px}
  .val5 dd.v{grid-column:2;text-align:left;white-space:normal}
  .pt4{padding:14px}
  .vc dl>div{grid-template-columns:1fr}
  .disclaimer{font-size:12.5px}
}
@media(max-width:760px){
  .lw li{display:block;padding:8px 10px}
  .lw li i{display:inline;margin-right:6px}
  .lw li>b{display:inline;font-size:14px}
  .lw li p{margin-top:4px}
  .lw li:not(:last-child)::after{bottom:-11px}
  /* 会話は「授業の一例」で見せるため、4場面ではスマホで省略（PCは表示） */
  .jr-scenes .sc-t{display:none}
  .jr-scenes img{min-height:72px}
  .jr-scenes article>div{padding:7px 10px}
  .sc-g{margin:0}
  .val5 .val3-h small{font-size:12px}
}
@media(max-width:760px){
  table.cmp.stack.p73 .price{font-size:21px}
  table.cmp.stack.p73 .price .f{font-size:15px}
  table.cmp.stack.p73 .price small{font-size:11.5px;display:block;line-height:1.45}
  .val5 dl>div{grid-template-columns:6.2em 1fr;padding:6px 0}
  .val5 .it{margin:2px 0 0}
}
#check4{scroll-margin-top:72px}

/* v7.5：FLA ファーストビューの余白と視線（コピー→価値→実績→料金→相談） */
.int-s{display:none}
.sub-links{display:none}
@media(max-width:760px){
  .int-l{display:none}.int-s{display:inline}
  .hero .intent{font-size:12px;padding:5px 10px;margin-bottom:10px}
  .fv7 h1{font-size:27px;line-height:1.32;margin-bottom:10px}
  .val7{margin-bottom:12px}
  .val7 .val7-h{font-size:15.5px;line-height:1.65;margin:0}
  .proof7.fla73{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 12px;padding:0}
  .proof7.fla73 li{flex:0 0 auto;border:0;background:none;padding:0;font-size:12px;color:var(--ink2)}
  .proof7.fla73 li b{display:inline;font-size:12.5px;margin-right:3px}
  .proof7.fla73 li+li::before{content:"｜";color:var(--line);margin-right:8px}
  .fv7 .price7{margin-bottom:12px}
  .fv7 .hero-ctas{gap:8px}
  .fv7 .hero-ctas .btn{min-height:52px;font-size:15.5px}
  .fv7 .hero-ctas .btn.ghost{display:none}
  .sub-links{display:flex;justify-content:space-between;gap:10px;margin:10px 2px 6px;font-size:13.5px;font-weight:700}
  .sub-links a{color:var(--brand-ink)}
  .get7s{font-size:13px;line-height:1.7}
}
@media(max-width:760px){
  .proof7.fla73 li+li::before{content:none}
  .proof7.fla73{gap:4px 14px}
  .proof7.fla73 li{padding-left:10px;position:relative}
  .proof7.fla73 li::after{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--brand)}
}
/* v7.5：授業の一例の要点4つ／料金に含まれるもの（短く） */
.lw4{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.lw4 li{background:#fff;border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:12px;padding:10px 12px}
.lw4 i{font-style:normal;display:block;font-size:12px;font-weight:800;color:var(--accent)}
.lw4 b{display:block;font-size:15px;color:var(--brand-ink);margin:2px 0 4px;line-height:1.45}
.lw4 span{display:block;font-size:12.5px;color:var(--ink2);line-height:1.6}
.lw-more{border:0}
.lw-more>summary{cursor:pointer;font-weight:800;font-size:13.5px;color:var(--brand-ink);padding:8px 2px;list-style:none}
.lw-more>summary::after{content:" ＋";color:var(--brand)}
.lw-more[open]>summary::after{content:" −"}
.inc5{list-style:none;margin:6px 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.inc5 li{background:var(--brand-soft);color:var(--brand-ink);border-radius:8px;padding:6px 10px;font-size:13.5px;font-weight:700}
.inc5 li::before{content:"✓ ";color:var(--brand)}
.inc5 small{font-weight:600;color:var(--ink2);margin-left:4px;font-size:12px}
.val5-ex{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;font-size:13px}
.val5-ln{margin:8px 0 0;font-size:13.5px;font-weight:700}
@media(max-width:960px){.lw4{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .lw4{gap:6px}
  .lw4 li{padding:8px 10px}
  .lw4 b{font-size:14px}
  .lw4 span{font-size:12.5px}
  .inc5 li{font-size:13px;padding:5px 8px}
}
.lw .lw4 li::after{content:none!important;display:none!important}
@media(max-width:760px){
  .lw .lw4{grid-template-columns:1fr 1fr}
  .lw .lw4 li{display:block;padding:8px 10px}
  .lw .lw4 li i{display:block;margin:0}
  .lw .lw4 li b{display:block;font-size:13.5px;margin:2px 0 3px}
  .lw .lw4 li span{font-size:12px}
}
.lw .lw4 li:last-child{grid-column:auto!important}.lw .lw4{align-items:stretch}.lw .lw4 li{height:auto;align-self:stretch}
/* v7.5：GL 4つの価値（経験→支援→本人→企業）・定期面談の表示例 */
.vc-steps{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:0;position:relative}
.vc-steps li{display:grid;grid-template-columns:7.2em 1fr;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13.5px;line-height:1.6}
.vc-steps li:last-child{border-bottom:0}
.vc-steps b{font-size:12.5px;font-weight:800}
.vc-steps .st-exp b{color:var(--muted)}
.vc-steps .st-act b{color:var(--brand)}
.vc-steps .st-act span{font-weight:700;color:var(--ink)}
.vc-steps .st-me b{color:#7a5200}
.vc-steps .st-co b{color:var(--accent)}
.vc-steps span{color:var(--ink2)}
.vc-law{margin:2px 0 6px;font-size:11.5px;color:var(--muted)}
.vc-law::before{content:"補足：";font-weight:700}
.mtg{width:100%;border-collapse:collapse;font-size:13.5px}
.mtg th,.mtg td{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}
.mtg thead th{font-size:12px;color:var(--muted);background:var(--paper2)}
.mtg tbody th{width:46%;font-weight:800}
.mtg tbody th small{display:block;font-weight:500;font-size:12px;color:var(--muted)}
.mtg td b{display:block;color:#7a5200}
@media(max-width:760px){
  .vc-steps li{grid-template-columns:1fr;gap:0;padding:5px 0}
  .vc-steps b{font-size:12px}
  .mtg{font-size:13px}.mtg th,.mtg td{padding:6px}
}
.vc .sch-fee{font-size:12px;line-height:1.9}
.vc .sch-fee .ntag{margin-right:4px}
@media(max-width:760px){
  .pc-only{display:none}
  body.gl .fv7 .lead{font-size:14.5px;line-height:1.7;margin-bottom:10px}
  body.gl .hero .intent{font-size:12px;padding:5px 10px;margin-bottom:10px}
  body.gl .fv7 h1{font-size:27px}
}
@media(max-width:760px){.m-hide{display:none}}
@media(max-width:760px){.price7 .pl-link{display:block;margin-top:2px}}

/* ===== v7.6 ===== */
/* FLA：職場の場面→授業→練習→確認→報告の流れ */
.lw .lf5{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;counter-reset:none}
.lw .lf5 li{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;position:relative}
.lw .lf5 li:not(:last-child)::after{content:"→";display:block;position:absolute;right:-11px;top:50%;transform:translateY(-50%);z-index:2;color:var(--brand);font-weight:800;background:var(--paper2);line-height:1;padding:2px 0;left:auto;bottom:auto}
.lw .lf5 li i{display:block;font-style:normal;font-size:11.5px;font-weight:800;color:var(--brand);letter-spacing:.04em;margin:0}
.lw .lf5 li b{display:block;font-size:15px;color:var(--brand-ink);margin:3px 0 4px;line-height:1.45}
.lw .lf5 li span{display:block;font-size:12.5px;line-height:1.6;color:var(--ink2)}
.lw .lf5 .lf-scene{background:#fff6e2;border-color:#ecd59b}
.lw .lf5 .lf-scene i{color:#8a5a00}
.lw .lf5 .lf-rep{background:var(--brand);border-color:var(--brand)}
.lw .lf5 .lf-rep i,.lw .lf5 .lf-rep b,.lw .lf5 .lf-rep span{color:#fff}
.lw .lf5 .lw-say{background:var(--brand-soft);border-radius:8px;padding:5px 7px;font-weight:700;color:var(--ink)}
.rep-mock{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:12px 14px;box-shadow:0 4px 14px rgba(20,40,40,.06)}
.rm-h{margin:0 0 8px;font-weight:800;font-size:14.5px;color:var(--brand-ink);display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.rm-h .mock-tag{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink)}
.rm-h small{font-weight:500;font-size:12px;color:var(--muted)}
.rep-mock dl{margin:0;display:grid;gap:0}
.rep-mock dl>div{display:grid;grid-template-columns:11em 1fr 15em;gap:10px;align-items:baseline;padding:7px 0;border-top:1px dashed var(--line)}
.rep-mock dt{font-size:12.5px;font-weight:800;color:var(--muted)}
.rep-mock dd{margin:0;font-size:14px;font-weight:700;color:var(--ink)}
.rep-mock dd.rm-src{font-size:12px;font-weight:700;color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:2px 8px}
.rep-mock dd.rm-src::before{content:"確認元：";font-weight:500;color:var(--ink2)}
.rm-f{margin:8px 0 0;font-size:12px;color:var(--muted)}
@media(max-width:960px){.lw .lf5{grid-template-columns:1fr 1fr}.lw .lf5 li::after{display:none!important}.lw .lf5 li:last-child{grid-column:1/-1}}
@media(max-width:720px){
  .lw .lf5{grid-template-columns:1fr;gap:7px;position:relative}
  .lw .lf5 li{display:grid!important;grid-template-columns:5.6em 1fr;column-gap:8px;padding:7px 10px}
  .lw .lf5 li i{grid-row:1/3;align-self:center;font-size:11.5px;line-height:1.35}
  .lw .lf5 li b{font-size:14px;margin:0 0 1px}
  .lw .lf5 li span{font-size:12.5px}
  .lw .lf5 li:last-child{grid-column:auto}
  .lw .lf5 li:not(:last-child)::after{display:block!important;content:"";right:auto;left:2.4em;top:auto;bottom:-8px;transform:none;width:2px;height:8px;background:var(--brand);padding:0}
  .rep-mock{padding:10px 12px}
  .rep-mock dl>div{grid-template-columns:1fr;gap:2px}
  .rep-mock dd{font-size:13.5px}
  .rep-mock dd.rm-src{justify-self:start;font-size:11.5px}
}
/* FLA：68,000円の価値 */
.val6{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0 0 14px}
.val6-h{margin:0 0 10px}
.val6-h b{display:block;font-size:18px;color:var(--brand-ink);line-height:1.45}
.val6-h small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.inc6{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.inc6 li{border-top:3px solid var(--brand);background:var(--paper2);border-radius:0 0 10px 10px;padding:8px 10px}
.inc6 b{display:block;font-size:14px;color:var(--brand-ink);line-height:1.45}
.inc6 b::before{content:"✓ ";color:var(--brand)}
.inc6 span{display:block;font-size:12px;color:var(--ink2);line-height:1.55;margin-top:2px}
.val6-cmp{margin:8px 0 0;font-size:12.5px;color:var(--ink2);line-height:1.7}
.val6-cmp a{font-weight:800;white-space:nowrap}
@media(max-width:720px){
  .val6{padding:12px}
  .val6-h b{font-size:16px}
  .inc6{grid-template-columns:1fr 1fr;gap:6px}
  .inc6 li{padding:7px 8px}
  .inc6 b{font-size:13px}
  .inc6 span{font-size:11.5px}
}
/* GL：4つの価値（課題→経験→支援→本人・企業） */
.v76 .vc{grid-template-columns:170px 1fr}
.v76 .vc-b{padding:14px 16px}
.vc-issue{margin:0 0 8px;font-size:14px;font-weight:800;color:var(--ink);line-height:1.5}
.vc-issue span{display:inline-block;font-size:11px;font-weight:800;color:#8a5a00;background:#fff4dc;border-radius:4px;padding:1px 6px;margin-right:6px;vertical-align:1px}
.vc-exp,.vc-act{margin:0 0 6px;font-size:13px;line-height:1.65;color:var(--ink2)}
.vc-exp b,.vc-act b{display:inline-block;font-size:11.5px;font-weight:800;margin-right:6px;padding:0 6px;border-radius:4px}
.vc-exp b{color:var(--muted);border:1px solid var(--line)}
.vc-act{color:var(--ink);font-weight:600}
.vc-act b{color:#fff;background:var(--brand)}
.vc-val{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 6px}
.vc-val p{margin:0;border-radius:8px;padding:7px 9px;font-size:13px;font-weight:700;line-height:1.5;color:var(--ink)}
.vc-val b{display:block;font-size:11px;font-weight:800;margin-bottom:1px}
.vc-val .me{background:#fdf3e1}.vc-val .me b{color:#7a5200}
.vc-val .co{background:var(--brand-soft)}.vc-val .co b{color:var(--brand)}
.vc-lang{display:block;margin:0 0 6px;font-size:11.5px;color:var(--muted);line-height:1.6}
.vc-more>summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--muted);list-style:none;padding:2px 0}
.vc-more>summary::after{content:" ＋"}
.vc-more[open]>summary::after{content:" −"}
.vc-more .vc-law::before{content:none}
.vc-more .vc-law{margin:2px 0 2px}
.sp-why{margin:12px 0 8px;padding:10px 12px;background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:8px;font-size:13.5px;line-height:1.7;color:var(--ink)}
.sp-why b{display:block;font-size:15px;color:var(--brand-ink)}
.sp-why a{font-weight:800;white-space:nowrap}
@media(max-width:760px){
  .v76 .vc{grid-template-columns:1fr}
  .v76 .vc figure{display:block;height:92px;overflow:hidden}
  .v76 .vc figure img{height:92px;min-height:0}
  .v76 .vc-b{padding:10px 12px}
  .vc-issue{font-size:13.5px}
  .vc-exp,.vc-act{font-size:12.5px}
  .vc-val p{font-size:12.5px;padding:6px 8px}
}
@media(max-width:720px){
  .lw .lf5{gap:6px}
  .lw .lf5 li{display:block!important;padding:6px 10px}
  .lw .lf5 li i{display:inline;margin-right:6px;font-size:11px}
  .lw .lf5 li b{display:inline;font-size:14px}
  .lw .lf5 li span{display:block;margin-top:2px;font-size:12.5px;line-height:1.55}
  .lw .lf5 .lw-say{padding:3px 7px}
  .lw .lf5 li:not(:last-child)::after{left:1.2em;bottom:-7px;height:6px}
  .rep-mock dl>div{grid-template-columns:auto 1fr;gap:2px 8px;padding:6px 0}
  .rep-mock dt{grid-column:1;align-self:center}
  .rep-mock dd.rm-src{grid-column:2;grid-row:1;justify-self:end;font-size:11px;padding:1px 6px}
  .rep-mock dd:not(.rm-src){grid-column:1/-1}
  .rep-mock dd.rm-src::before{content:"確認元 "}
  .rm-h{margin-bottom:4px}
}
.v76 #v4 figure img,.v76 .vc:last-child figure img{object-position:50% 75%}
@media(max-width:720px){
  .rep-mock dl>div{grid-template-columns:1fr;gap:1px}
  .rep-mock dt,.rep-mock dd.rm-src,.rep-mock dd:not(.rm-src){grid-column:1;grid-row:auto}
  .rep-mock dd.rm-src{justify-self:start;background:none;padding:0;font-size:11.5px;color:var(--brand)}
  .rep-mock dd.rm-src::before{content:"↑ 確認元：";color:var(--muted)}
}
@media(max-width:720px){
  .calc-ex{padding:10px 12px;margin-top:12px}
  .calc-h{margin-bottom:6px;font-size:11.5px}
  .calc-grid{gap:4px}
  .calc-grid>div{display:grid;grid-template-columns:1fr auto;column-gap:8px;padding:6px 10px;align-items:center}
  .calc-grid span{font-size:12px;line-height:1.45}
  .calc-v{font-size:17px;grid-column:2;grid-row:1}
  .calc-grid small{grid-column:1/-1;font-size:11px}
  .val6-h small{font-size:11.5px}
}
#contactForm{scroll-margin-top:72px}
body.gl .hub-node .kb{color:#7d5a1f}
/* v7.6 コントラスト（WCAG AA） */
.jr-bar span:nth-child(1){background:#2e7a6c}.jr-bar span:nth-child(2){background:#24715f}.jr-bar span:nth-child(3){background:#1f6b5f}.jr-bar span:nth-child(4){background:#14675f}
.jr-bar b{opacity:1}
.section.dark .kicker{color:#f3b3b6}
body.gl li>i{color:#8a6420}
body.gl .form .req{color:#8a6420}
@media(max-width:760px){.v76 #v1 figure img{object-position:50% 70%}}

/* ===== v7.7 ===== */
/* 961〜1200px：ヘッダーを1行に収める */
@media(min-width:961px) and (max-width:1200px){
  .head-nav{gap:12px;font-size:13px}
  .head-nav a{white-space:nowrap}
  .logo small{display:none}
  .head-cta .ghost{display:none}
}
.head-nav a{white-space:nowrap}
.lw .lf5 li:not(:last-child)::after{content:"→" / ""}
@media(max-width:720px){.lw .lf5 li:not(:last-child)::after{content:"" / ""}}
.val6-h b{font-size:17px}
@media(max-width:720px){
  .val6-h b{font-size:15.5px}
  .inc6 b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:clip}
}
@media(max-width:360px){.inc6{grid-template-columns:1fr}}
.v76 .vc figure{position:relative}
.v76 .vc figcaption{position:absolute;left:6px;bottom:6px;font-size:10.5px;line-height:1.4;color:#fff;background:rgba(15,30,45,.78);padding:1px 6px;border-radius:4px}
/* v7.7.2 FLA：合同／専用の違い・専用クラスの料金試算（#dedSim。GLでは使わない） */
.price .f .u{font-size:12px;font-weight:600;color:var(--muted)}
.cls2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 12px}
.cls2>div{background:var(--paper);border-radius:10px;padding:10px 14px}
.cls2 dt{font-weight:800;color:var(--brand-ink);font-size:14px}
.cls2 dd{margin:2px 0 0;font-size:13px;line-height:1.6;color:var(--ink2)}
.dsim{margin:18px 0 4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.dsim-h{margin:0 0 10px;display:flex;flex-direction:column;gap:2px}
.dsim-h b{font-size:16px;color:var(--brand-ink)}
.dsim-h small{font-size:12.5px;color:var(--muted);line-height:1.55}
.dsim-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px}
.dsim-in label{font-weight:700;font-size:14px}
.dsim-step{display:inline-flex;align-items:center;gap:6px}
.dsim-b{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--brand-soft);color:var(--brand-ink);font-size:20px;font-weight:800;cursor:pointer;line-height:1}
.dsim-b:disabled{opacity:.4;cursor:default}
#dsimN{width:64px;height:40px;text-align:center;font-size:18px;font-weight:800;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff}
.dsim-step span{font-weight:700}
.dsim-q{display:inline-flex;gap:6px}
.dsim-q button{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink2);font-size:13px;font-weight:700;cursor:pointer}
.dsim-q button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.dsim-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dsim-list li{background:var(--paper);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.dsim-name{font-size:14px;color:var(--ink)}
.dsim-f{font-size:12px;color:var(--muted)}
.dsim-f i{font-style:normal;font-weight:700;color:var(--ink2)}
.dsim-tot{font-size:13px;color:var(--ink2)}
.dsim-tot b{font-size:22px;color:var(--brand-ink);letter-spacing:-.01em}
.dsim-pp{font-size:13px;font-weight:700;color:var(--ink2)}
.dsim-note{margin:10px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.calc-grid.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:720px){
  .cls2{grid-template-columns:1fr;gap:6px}
  .cls2>div{padding:8px 12px}
  .dsim{padding:14px}
  .dsim-list{grid-template-columns:1fr;gap:6px}
  .dsim-list li{display:grid;grid-template-columns:1fr auto;column-gap:8px;row-gap:0;padding:9px 12px;align-items:baseline}
  .dsim-name{grid-column:1}.dsim-tot{grid-column:2;grid-row:1;text-align:right}
  .dsim-f{grid-column:1}.dsim-pp{grid-column:2;grid-row:2;text-align:right;font-size:12.5px}
  .dsim-tot b{font-size:19px}
  .calc-grid.g2{grid-template-columns:1fr}
}
/* v7.7.3 FLA：講師の確保と委託の比較・対応地域（FLAだけで使う） */
.own2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 0}
.own2 p{margin:0;background:var(--paper2);border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.65;color:var(--ink2)}
.own2 p b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px}
.own2 p.fla{background:var(--brand-soft)}
.own2 p.fla b{color:var(--brand-ink)}
.area3{margin:0 0 12px;font-size:13px;line-height:1.65;color:var(--ink2)}
.area3 b{display:inline-block;margin-right:8px;padding:0 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:12px}
@media(max-width:720px){
  .own2{grid-template-columns:1fr;gap:6px}
  .own2 p{padding:8px 10px;font-size:12px}
  .area3{font-size:12.5px}
}
.own2d{margin:10px 0 0}
.own2d>summary{cursor:pointer;font-size:13px;font-weight:800;color:var(--brand-ink);list-style:none;padding:6px 0}
.own2d>summary::-webkit-details-marker{display:none}
.own2d>summary::after{content:" ＋";font-weight:800}
.own2d[open]>summary::after{content:" −"}
.own2d .own2{margin-top:4px}
