:root{
  --navy:#00497F; --navy-d:#00264D; --blue:#0067B3; --sky:#0A94B8; --mint:#E3F2FA; --pale:#F3F9FD;
  --coral:#F2705C; --coral-d:#D9553F; --sun:#F6C453; --ink:#1F2D2E; --gray:#5C6B6D; --line:#D6E4EE; --white:#fff;
  --r:18px; --shadow:0 10px 30px rgba(0,38,77,.10); --shadow-l:0 18px 50px rgba(0,38,77,.18);
  --font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--ink);background:#fff;line-height:1.85;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}button{font-family:inherit;cursor:pointer}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.sec{padding:88px 0;position:relative;overflow-x:clip}.sec.alt{background:var(--pale)}.sec.mint{background:var(--mint)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--coral);margin-bottom:10px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--coral);border-radius:2px}
h2.title{font-size:clamp(25px,4vw,38px);line-height:1.4;color:var(--navy);font-weight:800}
h2.title em{font-style:normal;color:var(--coral)}
.lead{margin-top:14px;color:var(--gray);font-size:17px;max-width:46em}
.center{text-align:center}.center .lead{margin-inline:auto}.center .eyebrow{justify-content:center}
.fine{font-size:13px;color:var(--gray);line-height:1.7}

/* header */
#progress{position:fixed;top:30px;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--sky),var(--coral));z-index:200}
header.top{position:fixed;inset:30px 0 auto 0;z-index:150;transition:background .3s,box-shadow .3s}
header.top .in{display:flex;align-items:center;justify-content:space-between;height:68px;width:min(1180px,100% - 32px);margin-inline:auto;gap:12px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:15px;line-height:1.2}
.brand img{width:40px;height:40px;border-radius:10px;background:#fff;padding:3px}
.brand small{display:block;font-weight:500;font-size:11px;opacity:.85}
nav.gnav{display:flex;gap:2px;align-items:center}
nav.gnav a{color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:8px 11px;border-radius:999px;opacity:.92;transition:background .2s}
nav.gnav a:hover,nav.gnav a.cur{background:rgba(255,255,255,.18);opacity:1}
header.top.solid,header.top.light{background:rgba(0,38,77,.95);backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(0,0,0,.2)}
.burger{display:none;background:rgba(255,255,255,.16);border:0;color:#fff;border-radius:10px;width:42px;height:42px;font-size:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;text-decoration:none;font-weight:800;border-radius:999px;padding:14px 26px;font-size:16px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer}
.btn.coral{background:var(--coral);color:#fff;box-shadow:0 10px 24px rgba(242,112,92,.4)}.btn.coral:hover{background:var(--coral-d);transform:translateY(-2px)}
.btn.ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.55)}.btn.ghost:hover{background:rgba(255,255,255,.24)}
.btn.line{background:#fff;color:var(--navy);border:2px solid var(--navy)}.btn.line:hover{background:var(--navy);color:#fff}
.btn.sm{padding:9px 18px;font-size:14px}

/* hero */
.hero{position:relative;color:#fff;display:flex;align-items:center;padding:150px 0 90px;overflow:hidden;min-height:min(92vh,760px);background:linear-gradient(135deg,#00264D 0%,#00497F 55%,#0067B3 100%)}
.hero.sub{min-height:0;padding:148px 0 70px}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse at 70% 40%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 10%,transparent 70%)}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:floaty 14s ease-in-out infinite}
.blob.b1{width:420px;height:420px;background:#0A94B8;left:-120px;top:-80px}.blob.b2{width:360px;height:360px;background:#F2705C;right:-80px;bottom:-100px;opacity:.34;animation-delay:-5s}
@keyframes floaty{0%,100%{transform:translate(0,0)}50%{transform:translate(26px,-20px)}}
.hero .grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:48px;align-items:center}
.badge{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:7px 16px;border-radius:999px;font-size:13px;font-weight:700;margin-bottom:22px}
.hero h1{font-size:clamp(28px,4.2vw,50px);line-height:1.32;font-weight:900}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero p.sub{margin-top:18px;font-size:clamp(16px,1.6vw,19px);opacity:.95;max-width:34em}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero .note{margin-top:14px;font-size:13px;opacity:.85}
.photo{position:relative;width:100%;max-width:250px;justify-self:end}
.photo .frame{border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#eaf6fd,#cfe9f7);box-shadow:var(--shadow-l);aspect-ratio:1/1}
.photo .frame img{width:100%;height:100%;object-fit:cover;filter:brightness(1.07) saturate(1.04)}
.photo .tag{position:absolute;left:-10px;right:-10px;bottom:-12px;background:#fff;color:var(--navy);border-radius:12px;padding:6px 10px;font-weight:800;font-size:12.5px;box-shadow:var(--shadow);line-height:1.4}
.photo .tag small{display:block;font-weight:600;color:var(--gray);font-size:11px}
.photo.tall .frame{aspect-ratio:3/4}

/* cards */
.cards{display:grid;gap:20px;margin-top:40px}.cols3{grid-template-columns:repeat(3,1fr)}.cols2{grid-template-columns:repeat(2,1fr)}.cols5{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.entry{display:flex;flex-direction:column;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative}
.entry:hover{transform:translateY(-5px);box-shadow:var(--shadow-l);border-color:var(--sky)}
.entry .ic{font-size:34px;line-height:1;margin-bottom:10px}
.entry h3{font-size:18px;color:var(--navy);line-height:1.5}
.entry .p{margin-top:10px;color:var(--gray);font-size:14.5px;flex:1}
.entry .g{margin-top:12px;font-size:14px;font-weight:700;color:var(--navy);background:var(--mint);border-radius:10px;padding:8px 12px}
.entry .go{margin-top:14px;font-weight:800;color:var(--coral);font-size:14px}
.pill{display:inline-block;font-size:12px;font-weight:800;background:#FDEBE7;color:var(--coral-d);padding:3px 10px;border-radius:999px;margin-bottom:8px}
ul.ck{list-style:none;display:grid;gap:10px;margin-top:6px}
ul.ck li{position:relative;padding-left:30px;line-height:1.7}
ul.ck li::before{content:"✓";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--mint);color:var(--navy);font-weight:900;font-size:13px;display:grid;place-items:center}
ul.ck.pain li::before{content:"?";background:#FDEBE7;color:var(--coral-d)}
ul.ck.star li::before{content:"★";background:#FFF4D6;color:#B8860B}
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.card h4{font-size:18px;color:var(--navy);margin-bottom:12px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.step{background:#fff;border-radius:var(--r);padding:24px;border:1px solid var(--line);position:relative}
.step b{font-size:34px;color:var(--coral);font-weight:900;line-height:1}.step h4{margin:8px 0 6px;color:var(--navy);font-size:18px}.step p{color:var(--gray);font-size:15px}

/* gain / change */
.chg{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin-top:32px}
.chg .bx{border-radius:var(--r);padding:22px;font-weight:700}.chg .from{background:#EEF2F5;color:var(--gray)}.chg .to{background:var(--navy);color:#fff}
.chg small{display:block;font-size:12px;opacity:.8;margin-bottom:6px;letter-spacing:.08em}.chg .ar{align-self:center;font-size:26px;color:var(--coral);font-weight:900}

/* track */
.track{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.tk{background:#fff;border:1px solid var(--line);border-top:4px solid var(--coral);border-radius:var(--r);padding:20px 18px;box-shadow:var(--shadow)}
.tk b{font-size:clamp(30px,4vw,44px);color:var(--navy);font-weight:900;line-height:1.1}.tk i{font-style:normal;font-weight:800;color:var(--navy);font-size:16px}
.tk div{font-size:14px;font-weight:700;margin-top:6px}.tk span{display:block;font-size:12.5px;color:var(--gray);margin-top:4px;line-height:1.55}
.voice{background:#fff;border-left:5px solid var(--sky);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.voice h4{color:var(--navy);font-size:19px;margin-bottom:10px}.voice .who{margin-top:12px;font-size:13px;color:var(--gray);font-weight:700}

/* diagnosis */
.diag{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow-l);max-width:820px;margin:34px auto 0;position:relative}
.diag .dh{display:flex;align-items:center;gap:12px;margin-bottom:6px}.diag .dh img{width:54px;height:54px}.diag .dh b{font-size:19px;color:var(--navy)}
.dprog{display:flex;gap:6px;margin:14px 0 18px}.dprog i{flex:1;height:6px;border-radius:6px;background:var(--line)}.dprog i.on{background:var(--coral)}
.dq{font-size:19px;font-weight:800;color:var(--navy);line-height:1.6;margin-bottom:16px}.dq small{color:var(--coral);font-size:13px;display:block;margin-bottom:4px}
.dopts{display:grid;gap:10px}
.dopt{display:flex;gap:12px;align-items:center;text-align:left;border:2px solid var(--line);background:#fff;border-radius:14px;padding:13px 16px;font-size:16px;color:var(--ink);transition:border-color .2s,background .2s,transform .15s}
.dopt:hover{border-color:var(--sky);background:var(--pale);transform:translateX(3px)}.dopt b{flex:none;width:30px;height:30px;border-radius:50%;background:var(--mint);color:var(--navy);display:grid;place-items:center;font-size:14px}
.dback{margin-top:12px;background:none;border:0;color:var(--gray);font-size:13px;text-decoration:underline}
.dres .nm{font-size:13px;font-weight:800;color:var(--coral);letter-spacing:.1em}.dres h3{font-size:clamp(22px,3.2vw,28px);color:var(--navy);margin:4px 0 10px}
.dres .bar{height:12px;border-radius:12px;background:var(--line);overflow:hidden;margin:14px 0 6px}.dres .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--sky),var(--coral));width:0;transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.dres .pts{font-size:13px;color:var(--gray)}
.dres .box{background:var(--pale);border-radius:14px;padding:16px 18px;margin-top:16px}.dres .box h5{font-size:14px;color:var(--navy);margin-bottom:6px}
.dres .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.focus{display:inline-block;background:#FDEBE7;color:var(--coral-d);font-weight:800;font-size:13px;border-radius:999px;padding:4px 12px;margin:0 6px 6px 0}

/* QA box */
.chat{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-l);max-width:820px;margin:34px auto 0;overflow:hidden}
.chat .ch{display:flex;gap:12px;align-items:center;background:var(--navy);color:#fff;padding:14px 20px}.chat .ch img{width:46px;height:46px;border-radius:50%;background:#fff;object-fit:cover;object-position:top}
.chat .ch b{display:block;font-size:16px}.chat .ch small{opacity:.85;font-size:12.5px}
.chat .log{padding:20px;max-height:420px;min-height:150px;overflow:auto;display:flex;flex-direction:column;gap:12px;background:var(--pale)}
.m{max-width:88%;padding:11px 15px;border-radius:16px;line-height:1.75;font-size:15.5px;white-space:pre-wrap}
.m.bot{background:#fff;border:1px solid var(--line);border-top-left-radius:4px;align-self:flex-start}.m.me{background:var(--navy);color:#fff;align-self:flex-end;border-top-right-radius:4px}
.sug{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px 4px}.sug button{border:1.5px solid var(--sky);background:#fff;color:var(--navy);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600}.sug button:hover{background:var(--mint)}
.chat form{display:flex;gap:8px;padding:14px 20px 18px}.chat input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:999px;padding:11px 16px;font-size:16px;font-family:inherit}
.chat .foot{padding:0 20px 16px;font-size:12.5px;color:var(--gray)}.chat .foot a{color:var(--coral-d);font-weight:700}

/* memo */
.memo{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow-l);max-width:920px;margin:34px auto 0}
.memo label{display:block;font-weight:800;color:var(--navy);margin:18px 0 8px;font-size:15px}.memo label small{font-weight:500;color:var(--gray)}
.memo select,.memo input[type=text],.memo textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;font-size:16px;font-family:inherit;background:#fff}
.memo textarea{min-height:90px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;font-size:14.5px;color:var(--ink);transition:all .15s}
.chips button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.chips button:hover{border-color:var(--sky)}
.out{margin-top:20px;background:var(--pale);border:1.5px dashed var(--sky);border-radius:14px;padding:16px 18px;white-space:pre-wrap;font-size:15px;line-height:1.8}
.out .sj{font-weight:800;color:var(--navy);display:block;margin-bottom:8px}
.macts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}.ok{color:#1b7a4a;font-weight:800;opacity:0;transition:opacity .3s}.ok.on{opacity:1}

/* about etc */
.prof{display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:start}.prof .photo{justify-self:start}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,170px));justify-content:center;gap:14px;margin-top:30px}.gallery .frame{border-radius:18px;overflow:hidden;background:linear-gradient(160deg,#eaf6fd,#cfe9f7);aspect-ratio:3/4}.gallery img{width:100%;height:100%;object-fit:cover;filter:brightness(1.07) saturate(1.04)}
table.co{width:100%;border-collapse:collapse;margin-top:26px;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
table.co th,table.co td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}table.co th{width:30%;background:var(--mint);color:var(--navy)}
.course{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.course .card{padding:22px}.course small{color:var(--coral);font-weight:800}.course h4{font-size:17px;margin:6px 0 4px}.course .pr{margin-top:12px;font-size:22px;font-weight:900;color:var(--navy)}.course .pr span{font-size:12px;color:var(--gray);font-weight:600}
.cta-band{background:linear-gradient(135deg,#00264D,#00497F 60%,#0067B3);color:#fff;border-radius:28px;padding:44px 36px;text-align:center;position:relative;overflow:hidden}
.cta-band h2{font-size:clamp(24px,3.6vw,34px);line-height:1.45}.cta-band p{margin:12px auto 24px;opacity:.92;max-width:34em}
.cta-band img.mas{position:absolute;right:20px;bottom:0;width:120px;opacity:.95}
footer{background:var(--navy-d);color:#cfe3f2;padding:50px 0 90px;font-size:14px}
footer .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}footer h5{color:#fff;margin-bottom:10px;font-size:14px}footer a{display:block;color:#cfe3f2;text-decoration:none;padding:3px 0}footer a:hover{color:#fff}
footer .cp{margin-top:30px;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;font-size:12.5px;opacity:.85}
.float{position:fixed;right:16px;bottom:16px;z-index:140;transform:translateY(120px);transition:transform .4s}.float.in{transform:none}
.float a{box-shadow:0 12px 30px rgba(242,112,92,.5)}
.draft{background:#FFF4D6;color:#7a5a00;font-size:12.5px;text-align:center;padding:5px 10px;position:fixed;top:0;left:0;right:0;z-index:300;line-height:1.5}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
@media(max-width:1180px){
 nav.gnav{position:fixed;top:98px;left:0;right:0;background:rgba(0,38,77,.98);flex-direction:column;align-items:stretch;padding:12px 16px 20px;display:none;max-height:calc(100vh - 98px);overflow:auto}
 nav.gnav.open{display:flex}nav.gnav a{padding:13px 12px;font-size:16px}.burger{display:block}
}
@media(max-width:900px){
 .hero .grid,.two,.prof{grid-template-columns:1fr}.cols3,.cols2,.steps,.course{grid-template-columns:1fr}.track{grid-template-columns:repeat(2,1fr)}
 .hero{padding-top:110px}.photo{max-width:220px;margin-inline:auto;justify-self:center}.prof .photo{justify-self:center}.photo .tag{left:8px}.gallery{grid-template-columns:repeat(2,1fr)}
 .chg{grid-template-columns:1fr}.chg .ar{transform:rotate(90deg)}footer .fg{grid-template-columns:1fr}
 nav.gnav{position:fixed;top:98px;left:0;right:0;background:rgba(0,38,77,.98);flex-direction:column;align-items:stretch;padding:12px 16px 20px;display:none;max-height:calc(100vh - 98px);overflow:auto}
 nav.gnav.open{display:flex}nav.gnav a{padding:13px 12px;font-size:16px}.burger{display:block}.sec{padding:64px 0}.cta-band{padding:34px 20px}.cta-band img.mas{display:none}
 .diag,.memo{padding:22px 16px}table.co th{width:36%}
}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.blob{animation:none}html{scroll-behavior:auto}}

/* blog */
.art{max-width:760px;margin:0 auto;font-size:17px;line-height:2}.art p{margin:0 0 1.2em}.art h2{font-size:24px;color:var(--navy);margin:2em 0 .7em;padding-left:14px;border-left:5px solid var(--coral);line-height:1.5}
.art h3{font-size:19px;color:var(--navy);margin:1.6em 0 .5em}.art ul{margin:0 0 1.3em 1.4em}.art li{margin:.3em 0}
.pn{max-width:760px;margin:40px auto 0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.pn a{text-decoration:none;font-weight:700;color:var(--navy);background:var(--mint);border-radius:999px;padding:10px 18px;font-size:14px}.pn a:hover{background:var(--navy);color:#fff}
.author{max-width:760px;margin:44px auto 0;display:flex;gap:20px;align-items:center;background:var(--pale);border:1px solid var(--line);border-radius:var(--r);padding:22px}.author img{width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:top;flex:none;background:var(--mint);filter:brightness(1.07)}.author b{font-size:18px;color:var(--navy)}.author small{display:block;color:var(--gray);margin-bottom:6px}.author p{font-size:14.5px;margin-bottom:10px;line-height:1.7}
.plist{list-style:none;margin-top:16px;display:grid;gap:10px}.plist a{display:grid;grid-template-columns:78px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;text-decoration:none;transition:border-color .2s,transform .15s}.plist a:hover{border-color:var(--sky);transform:translateX(4px)}.plist .no{font-weight:800;color:var(--coral);font-size:14px}.plist .tt{color:var(--navy);font-weight:700;line-height:1.6}.plist .dt{color:var(--gray);font-size:13px}
@media(max-width:900px){.author{flex-direction:column;text-align:center}.plist a{grid-template-columns:1fr}.plist .dt{font-size:12px}}

/* philosophy */
.story{max-width:760px;margin:24px 0 0;font-size:17px;line-height:2}.story p{margin:0 0 1em}
.fd{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);overflow-x:auto}
.fd-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:12px;min-width:640px}.fd-box{border-radius:14px;padding:16px;font-weight:800;color:var(--navy);line-height:1.5;background:var(--mint)}.fd-box small{display:block;font-size:12px;color:var(--coral-d);letter-spacing:.1em;margin-bottom:4px}.fd-box span{display:block;font-weight:500;font-size:13px;color:var(--gray);margin-top:6px}
.fd-box.past{background:#EEF2F5;color:var(--gray)}.fd-box.y10{background:var(--navy);color:#fff}.fd-box.y10 small{color:var(--sun)}.fd-box.y10 span{color:#cfe3f2}
.fd-back{margin-top:14px;min-width:640px;text-align:center;font-weight:800;color:var(--coral-d);background:#FDEBE7;border-radius:999px;padding:10px 16px}
.tc{max-width:760px;margin:26px auto 28px}.tc-bar{display:flex;height:54px;border-radius:999px;overflow:hidden;font-weight:800;color:#fff}.tc-bar div{display:grid;place-items:center}.tc-bar .t{background:var(--sky)}.tc-bar .c{background:var(--navy)}
.mv{display:grid;gap:16px;margin-top:30px}.mv-box{border-radius:22px;padding:30px 28px;color:#fff;background:linear-gradient(135deg,#00264D,#00497F 60%,#0067B3)}.mv-box.v{background:linear-gradient(135deg,#0067B3,#0A94B8)}.mv-box small{display:block;letter-spacing:.14em;font-size:12.5px;color:var(--sun);margin-bottom:8px;font-weight:800}.mv-box b{font-size:clamp(20px,2.8vw,28px);line-height:1.6}

/* lead */
.card.lead{display:flex;flex-direction:column;gap:6px}.card.lead .ic{font-size:36px;line-height:1}.card.lead h3{color:var(--navy);font-size:19px;line-height:1.5}.card.lead .p{color:var(--gray);font-size:14.5px}.card.lead .btn{margin-top:auto;align-self:flex-start}
.lp{margin-top:12px;background:var(--pale);border:1.5px dashed var(--sky);border-radius:14px;padding:16px}.lp label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.7;cursor:pointer}.lp input{margin-top:6px;width:18px;height:18px;flex:none}.lp .btn{margin-top:12px}.lp .fine{margin-top:8px}
.leadband{display:flex;gap:20px;align-items:center;background:linear-gradient(135deg,#FFF4D6,#fff);border:1.5px solid var(--sun);border-radius:22px;padding:22px 26px;box-shadow:var(--shadow)}.leadband .lb-ic{font-size:40px}.leadband .lb-tx{flex:1}.leadband h3{color:var(--navy);font-size:20px;line-height:1.5}.leadband p{color:var(--gray);font-size:14.5px}
@media(max-width:900px){.leadband{flex-direction:column;text-align:center}}

/* diag v2 */
.diag .dh .dic{width:54px;height:54px;border-radius:16px;background:var(--mint);display:grid;place-items:center;font-size:30px;flex:none}
.dprog i.done{background:var(--navy)}
.dq small{color:var(--coral);font-size:13px;display:block;margin-bottom:6px;font-weight:800}
.dopt.sel{border-color:var(--coral);background:#FFF4F1;transform:none}.dopt.sel b{background:var(--coral);color:#fff}.dopt.dim{opacity:.45}.dopt:disabled{cursor:default}
.dfb{display:flex;gap:14px;align-items:center;margin-top:16px;background:var(--pale);border:1.5px solid var(--sky);border-radius:16px;padding:14px 16px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.dfb.in{opacity:1;transform:none}.dfb img{width:64px;height:64px;flex:none}.dfb b{color:var(--navy);font-size:16px}.dfb p{margin:4px 0 10px;color:var(--ink);font-size:15px;line-height:1.7}
.dtype{display:flex;gap:14px;align-items:center}.dtype .ti{font-size:52px;line-height:1;background:var(--mint);border-radius:20px;width:84px;height:84px;display:grid;place-items:center;flex:none;animation:pop .6s cubic-bezier(.2,1.4,.4,1)}
@keyframes pop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;margin-top:10px}.rdr{width:100%;max-width:440px;margin:auto;display:block}
.box.good{background:#E9F7EF}.focus.fgood{background:#D5F0DF;color:#1b6a40}
.dlead{display:flex;gap:12px;align-items:center;margin-top:16px;background:linear-gradient(135deg,#FFF4D6,#fff);border:1.5px solid var(--sun);border-radius:14px;padding:12px 16px;text-decoration:none;color:var(--ink)}.dlead .go{margin-left:auto;font-weight:800;color:var(--coral-d);white-space:nowrap}
@media(max-width:700px){.dgrid{grid-template-columns:1fr}.dfb{flex-direction:column;text-align:center}.dtype .ti{width:68px;height:68px;font-size:40px}}

/* live（本番）：確認用の帯がないので、位置を詰める */
.live header.top{inset:0 0 auto 0}.live #progress{top:0}.live .hero{padding-top:130px}.live .hero.sub{padding-top:128px}
@media(max-width:1180px){.live nav.gnav{top:68px;max-height:calc(100vh - 68px)}}
.live .sticky-sub{top:68px}
/* download cards v2：カードを引き伸ばさない／受け取りパネルの余白 */
.cards.leadgrid{align-items:start}
.card.lead .btn{margin-top:14px}
.card.lead .lp .btn{margin-top:16px;display:flex;width:100%;align-self:auto}
.card.lead .lp{margin-top:14px}
.lp label{padding-bottom:2px}

/* radar v3：チャートを大きく（上に1列）、下に2つの欄を並べる */
.dgrid{grid-template-columns:1fr !important;gap:14px}
.dgrid .rdr{max-width:620px}
.dgrid > div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.dgrid > div:nth-child(2) .box{margin-top:0}
@media(max-width:700px){.dgrid > div:nth-child(2){grid-template-columns:1fr}}

/* ブログ一覧：左の列＝実践経営戦略ノート／シン組織変革／ミドルシニア、右の列＝AI経営／事業家の羅針盤／Business view（縦に読む順） */
@media(min-width:901px){.cards.bloggrid{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.bloggrid>.card:last-child{grid-column:1/-1}}

/* 持続型経営3ステップ構築法（全体図） */
.ss{--c1:#0067B3;--c2:#1E9E4A;--c3:#D6307F;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);margin-top:28px}
.ss-lead{text-align:center;font-weight:800;color:var(--navy);font-size:17px;margin-bottom:16px}.ss-lead b{color:var(--coral-d)}.ss-lead em{font-style:normal;color:var(--coral-d)}
.ss-cols{display:grid;grid-template-columns:1fr 1.15fr 1.3fr;gap:14px;align-items:stretch}
.ss-col{display:flex;flex-direction:column;gap:8px}
.ss-arrow{color:#fff;font-weight:800;font-size:17px;padding:11px 30px 11px 18px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);letter-spacing:.06em}
.c1 .ss-arrow,.c1 .ss-bar{background:var(--c1)}.c2 .ss-arrow,.c2 .ss-bar{background:var(--c2)}.c3 .ss-arrow,.c3 .ss-bar{background:var(--c3)}
.ss-name{border:2.5px solid;border-radius:8px;text-align:center;font-weight:800;color:var(--ink);padding:10px 8px;line-height:1.5;font-size:16px;min-height:76px;display:flex;align-items:center;justify-content:center}
.ss-sub{border:2px solid;border-radius:8px;text-align:center;font-weight:700;font-size:13px;padding:6px 8px;line-height:1.5;min-height:58px;display:flex;align-items:center;justify-content:center}
.c1 .ss-name,.c1 .ss-sub,.c1 .it{border-color:var(--c1)}.c2 .ss-name,.c2 .ss-sub,.c2 .it{border-color:var(--c2)}.c3 .ss-name,.c3 .ss-sub,.c3 .it{border-color:var(--c3)}
.c1 .ss-sub{color:var(--c1)}.c2 .ss-sub{color:var(--c2)}.c3 .ss-sub{color:var(--c3)}
.ss-items{flex:1;display:flex;flex-direction:column;gap:7px}
.it{border:2px solid;border-radius:8px;padding:11px 14px 11px 24px;font-weight:700;font-size:14px;line-height:1.55;text-align:left;background:#fff}
.it small{display:block;font-weight:600;font-size:12px;color:var(--gray)}.it b{color:var(--navy)}
.it.tall{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;font-size:15px}
.ss-bar{color:#fff;text-align:center;font-weight:800;padding:9px 8px;font-size:15px;border-radius:4px}
.ss-base{margin-top:16px;background:var(--pale);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;font-weight:800;color:var(--navy);font-size:14px}
@media(max-width:820px){.ss-cols{grid-template-columns:1fr}.ss-name,.ss-sub{min-height:0}.it.tall{flex:none}}
.no2{font-size:1.2em;font-weight:800;margin-right:.35em;line-height:1}.c1 .no2{color:var(--c1)}.c2 .no2{color:var(--c2)}.c3 .no2{color:var(--c3)}
.mv-box .def{display:block;margin-top:12px;font-size:15px;font-weight:600;line-height:1.8;color:#dcebf6}

/* イラスト */
.vz{max-width:1000px;margin:0 auto}.vz-svg{display:block;width:100%;height:auto}.vz-svg text{font-family:inherit}
.vz-draft{margin:6px auto 30px;max-width:900px;background:#fff;border:2px dashed var(--coral);border-radius:var(--r);padding:20px}
.vz-note{font-weight:800;color:var(--coral-d);font-size:14px;margin-bottom:12px;text-align:center}
.vz-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.vz-pair figure{text-align:center}.vz-pair .vz-svg{max-width:340px;margin:0 auto}
.vz-pair figcaption{margin-top:6px;font-size:14px;line-height:1.7;color:var(--gray)}.vz-pair figcaption b{display:block;color:var(--navy);font-size:16px}
@media(max-width:700px){.vz-pair{grid-template-columns:1fr}}
.vz-svg.mob{display:none}@media(max-width:700px){.vz-svg.desk{display:none}.vz-svg.mob{display:block;max-width:420px;margin:0 auto}}
.hero-art{background:linear-gradient(90deg,rgba(0,38,77,.55),rgba(0,38,77,0) 55%),url(assets/gen/A1.jpg) center/cover no-repeat,#00497F}.hero-art .blob{display:none}
.ic img{display:block;width:64px;height:64px;border-radius:16px}.card.lead .ic img{width:56px;height:56px}
.stepimg{display:block;width:84px;height:84px;border-radius:20px;margin-bottom:12px}
.prof.bub{grid-template-columns:minmax(0,380px) 1fr;align-items:center}.bubble{position:relative;max-width:380px}.bubble img{display:block;width:100%;height:auto}.bubble p{position:absolute;left:19%;top:15%;width:62%;height:55%;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-weight:800;font-size:clamp(18px,2.6vw,25px);line-height:1.6}
@media(max-width:900px){.prof.bub{grid-template-columns:1fr}.bubble{margin-inline:auto}}
.tkimg{display:block;width:56px;height:56px;border-radius:14px;margin-bottom:8px}
.chat .ch img.qaic{border-radius:14px;object-fit:cover;background:#fff}
.cards.cols1{grid-template-columns:minmax(0,760px);justify-content:center}
.mvwrap{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:center;margin-top:30px}.mvwrap .mv{margin-top:0}.pyr .vz-svg{max-width:240px;margin:0 auto}
@media(max-width:820px){.mvwrap{grid-template-columns:1fr}.pyr{max-width:220px;margin:0 auto}}
.ratio{display:flex;gap:6px;margin:18px 0 6px;max-width:560px;font-weight:800;color:#fff;line-height:1.4}.ratio>div{padding:12px 16px;border-radius:14px}.ratio b{display:block;font-size:24px}.ratio .r8{flex:8;background:linear-gradient(135deg,var(--navy),var(--blue))}.ratio .r2{flex:2;background:linear-gradient(135deg,var(--coral),#f58a6f);font-size:13px}.ratio .r2 b{font-size:22px}
.hero .grid.grid-wide{grid-template-columns:minmax(0,1fr) 400px}.photo.wide{max-width:400px}.photo.wide .frame{aspect-ratio:16/9;background:#fff}@media(max-width:900px){.hero .grid.grid-wide{grid-template-columns:1fr}.photo.wide{max-width:360px}}
.voice.wk{display:flex;flex-direction:column}.voice.wk .who{margin-top:auto}.bignum{margin:26px 0;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;line-height:1.4}.bignum small{display:block;font-size:14px;font-weight:700;opacity:.85}.bignum b{display:block;font-size:clamp(26px,3.6vw,38px);font-weight:900;letter-spacing:.02em}.bignum b::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--coral);margin-top:10px}
.voice.wk .bignum{margin:auto 0}.voice.wk p{margin-bottom:22px}
.support{margin:0 0 18px;padding:14px 18px;border-left:4px solid var(--coral);background:var(--pale);border-radius:0 14px 14px 0}.support small{display:block;font-weight:800;color:var(--coral-d);font-size:13px;margin-bottom:4px}.support p{margin:0!important;font-size:15px;line-height:1.8;color:var(--ink)}
.voice.wk .who{padding-top:16px}
.symic{display:block;width:76px;height:76px;border-radius:20px;margin-bottom:12px}
.story{overflow:hidden}.moneyimg{float:right;width:min(240px,38%);height:auto;margin:0 0 14px 26px;border-radius:22px}@media(max-width:700px){.moneyimg{float:none;display:block;margin:0 auto 16px;width:200px}}
.wbimg{max-width:640px;margin:26px auto 0}.wbimg img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow)}
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin-top:30px}.badges div{text-align:center;width:112px}.badges img{display:block;width:96px;height:96px;margin:0 auto 6px;border-radius:50%}.badges span{font-size:13px;font-weight:800;color:var(--navy);line-height:1.4;display:block}
.treeblk{text-align:center;margin:8px auto 4px}.treeblk img{display:block;width:260px;height:auto;margin:0 auto 10px;border-radius:26px}.treeblk p{font-weight:800;color:var(--navy);font-size:18px}.treeblk em{font-style:normal;color:var(--coral-d)}
.mvwrap{grid-template-columns:290px 1fr}.pyr .vz-svg{max-width:290px}@media(max-width:820px){.mvwrap{grid-template-columns:1fr}}
/* C：経営のご相談の画像 */
.photo.wide.w43 .frame{aspect-ratio:4/3}
ul.ck.ic li.hasic{padding-left:0;display:flex;align-items:center;gap:12px}ul.ck.ic li.hasic::before{content:none}
.lic{flex:none;width:58px;height:auto;border-radius:16px}
.hesic{display:block;width:76px;height:auto;border-radius:18px;margin-bottom:10px}
.chkimg{max-width:300px;margin:0 auto 22px}.chkimg img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow)}
.priceic{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:640px;margin:0 auto 26px;text-align:center}.priceic img{display:block;width:100%;height:auto;border-radius:18px}.priceic span{display:block;margin-top:6px;font-weight:800;font-size:13.5px;color:var(--navy)}
@media(max-width:600px){.priceic{grid-template-columns:repeat(2,1fr)}.lic{width:50px}}
/* E：資料・声・会社概要・お問い合わせ */
.lb-ic img{display:block;width:76px;height:76px;border-radius:20px}
.evals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:620px;margin:14px auto 0}.evals img{display:block;width:100%;max-width:160px;margin:0 auto 8px;border-radius:20px}.evals .focus{margin:0}
@media(max-width:600px){.evals{grid-template-columns:1fr}.evals img{max-width:120px}}
.coic{display:inline-block;vertical-align:middle;width:44px;height:44px;border-radius:12px;margin-right:10px}
.priceic.steps3{grid-template-columns:repeat(3,1fr);max-width:560px}@media(max-width:600px){.priceic.steps3{grid-template-columns:repeat(3,1fr)}}
/* F：ブログ */
.serimg{display:block;width:84px;height:auto;border-radius:20px;margin-bottom:10px}
/* G：考え方の図 */
.icgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:900px;margin:0 auto;text-align:center}.icgrid img{display:block;width:100%;max-width:130px;height:auto;margin:0 auto 8px;border-radius:20px}.icgrid span{display:block;font-weight:700;color:var(--navy);font-size:14px;line-height:1.5}
.two2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:760px;margin:0 auto;text-align:center}.two2 img{display:block;width:100%;max-width:300px;height:auto;margin:0 auto 12px;border-radius:24px;box-shadow:var(--shadow)}.two2 h4{color:var(--navy);font-size:20px;margin-bottom:6px}.two2 p{color:var(--gray);font-size:14.5px;line-height:1.8}
.stair3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:900px;margin:0 auto;text-align:center}.stair3 img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow)}.stair3 span{display:block;margin-top:8px;font-weight:700;color:var(--navy);font-size:14px;line-height:1.5}
.rewards{display:grid;grid-template-columns:2fr 4fr;gap:26px;max-width:900px;margin:0 auto;text-align:center}.rewards .rw>b{display:block;margin-bottom:12px;color:var(--navy);font-size:16px}.rewards .rg{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px}.rewards img{display:block;width:100%;max-width:130px;height:auto;margin:0 auto 6px;border-radius:18px}.rewards span{font-weight:700;color:var(--navy);font-size:14px}
.nine{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:460px;margin:0 auto;text-align:center}.nine img{display:block;width:100%;height:auto;border-radius:18px}.nine span{display:block;margin-top:5px;font-weight:800;color:var(--navy);font-size:14px}
@media(max-width:700px){.icgrid{grid-template-columns:repeat(2,1fr)}.two2,.stair3,.rewards{grid-template-columns:1fr}.rewards .rg{grid-template-columns:repeat(2,1fr)}}
/* 私の写真は控えめに（サイト全体で3枚まで：トップ・経営のご相談・ブログ記事の著者ボックス） */
.photo.sm{max-width:170px}.photo.sm .tag{left:0;right:0;bottom:-10px;font-size:11px;padding:4px 8px}.photo.sm .tag small{font-size:10px}
.author img{width:72px;height:72px}
/* トップ：写真は、ABOUTの右側に、小さく */
.miniprof{display:flex;align-items:center;gap:14px;margin-top:22px}.miniprof img{width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:top;background:var(--mint);box-shadow:var(--shadow);flex:none}.miniprof b{display:block;font-size:17px;color:var(--navy)}.miniprof small{display:block;color:var(--gray);font-size:13px;margin-top:2px}
/* 未来から逆算する：PCは画像、スマホは従来の図 */
.futimg{max-width:1000px;margin:0 auto}.futimg img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow);background:#fff}
@media(min-width:701px){.fut-head,.fut-mob{display:none}}
@media(max-width:700px){.futimg{display:none}}
/* 文字の切れ目：文の途中で切れないように（読点・句点の位置で改行） */
h1,h2,h3,h4,.sub,.lead{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
h1,h2.title,h3{text-wrap:balance}.sub,.lead{text-wrap:pretty}
h2.title.sm{font-size:clamp(22px,2.5vw,30px);line-height:1.5}
.sec p,.card p,.story p{text-wrap:pretty}
@supports (word-break:auto-phrase){.sub,.lead,.sec p,.card p,.story p{word-break:auto-phrase}}
.nb{white-space:nowrap}
@supports (word-break:auto-phrase){.card h4,h4{word-break:auto-phrase}}
/* STORY：見出しは横幅いっぱいで1行、本文は読みやすい幅の1列 */
.storyhd{text-align:center;max-width:860px;margin:0 auto 26px}.storyhd .eyebrow{justify-content:center}
h2.title.story1{font-size:clamp(24px,3.6vw,38px);margin:6px 0 4px}
.storyhd .lead{margin-inline:auto}
.storylist{max-width:820px;margin:0 auto 34px}.storylist ul.ck{gap:12px}.storylist ul.ck li{line-height:1.85;color:var(--gray)}
@supports (word-break:auto-phrase){ul.ck li,.tk div,.tk span{word-break:auto-phrase}}ul.ck li{text-wrap:pretty}
/* 事業計画士講座：呼びかけ（40代・50代・60代の、私たちへ） */
.callband{display:table;background:var(--coral);color:#fff;font-weight:800;font-size:clamp(15px,1.6vw,18px);border-radius:999px;padding:8px 20px;margin-bottom:14px;box-shadow:0 6px 18px rgba(242,112,92,.35)}
.hero p.sub2{margin-top:10px;font-size:14px;opacity:.85;max-width:36em;line-height:1.8}
.situ{margin-top:18px}.situ b{display:block;font-size:14px;margin-bottom:8px;opacity:.95}.situ>div{display:flex;flex-wrap:wrap;gap:10px}
/* セカンドキャリア：経験が宝になる／仲間 */
.eqn{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;font-weight:800;color:var(--navy);text-align:center}.eqn span{background:#fff;border:2px solid var(--line);border-radius:16px;padding:14px 18px;font-size:18px}.eqn b{font-size:26px;color:var(--coral)}.eqn .hl{background:linear-gradient(135deg,#FFF4D6,#fff);border-color:var(--sun);color:var(--navy);font-size:19px}
.steps4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.steps4{grid-template-columns:1fr}}
.friends{display:grid;gap:10px;max-width:760px;margin:0 auto}.friends>div{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 18px;box-shadow:var(--shadow)}.friends b{flex:none;width:34px;height:34px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:16px}.friends span{font-weight:700;color:var(--navy);line-height:1.6}
.flagmsg{max-width:760px;margin:0 auto 26px;text-align:center;background:linear-gradient(135deg,#FFF4D6,#fff);border:2px solid var(--sun);border-radius:24px;padding:22px 20px;box-shadow:var(--shadow)}.flagmsg small{display:block;color:var(--coral-d);font-weight:800;font-size:13px;letter-spacing:.08em;margin-bottom:8px}.flagmsg p{font-size:clamp(20px,3vw,30px);font-weight:800;line-height:1.6;color:var(--navy);margin:0}.flagmsg em{font-style:normal;color:var(--coral)}
/* ブログのシリーズ一覧：8枚（3列×2段＋最後の2枚を半分ずつ） */
@media(min-width:901px){.cards.bloggrid{grid-template-columns:repeat(6,minmax(0,1fr))}.cards.bloggrid>.card{grid-column:span 2}.cards.bloggrid>.card:nth-last-child(-n+2){grid-column:span 3}}
/* バリュー：想い → 考え → 行動 */
.vflow-intro{text-align:center;max-width:860px;margin:34px auto 22px}.vflow-intro h3{font-size:clamp(20px,2.6vw,28px);color:var(--navy);margin-bottom:8px}.vflow-intro h3 em{font-style:normal;color:var(--coral)}.vflow-intro>p{color:var(--gray);line-height:1.9}
.water{margin-top:18px;background:#fff;border:1.5px dashed var(--sun);border-radius:18px;padding:14px 16px}.water small{display:block;font-weight:800;color:var(--coral-d);margin-bottom:8px}.water>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.water span{background:var(--pale);border-radius:12px;padding:8px 14px;font-weight:700;color:var(--navy);font-size:14.5px}.water span i{display:block;font-style:normal;font-size:11.5px;color:var(--coral-d);font-weight:800}.water b{color:var(--coral);font-size:20px}
.vflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;max-width:1040px;margin:0 auto}
.vcol{display:grid;gap:14px;align-content:start;position:relative}.vcol:not(:last-child)::after{content:"→";position:absolute;right:-26px;top:22px;color:var(--coral);font-weight:900;font-size:22px}
.vhd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-radius:16px;padding:12px 16px}.vhd .vn{width:28px;height:28px;border-radius:50%;background:var(--coral);display:grid;place-items:center;font-weight:900;font-size:14px}.vhd b{font-size:22px;letter-spacing:.06em}.vhd small{flex-basis:100%;opacity:.9;font-size:12.5px}
@media(max-width:900px){.vflow{grid-template-columns:1fr;gap:22px}.vcol:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-22px;transform:translateX(-50%)}}
.vhd .vk{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:1px 12px;font-weight:800;font-size:14px}
/* 先が見えない時代に、動かない軸を（北極星：ミッション＋パッション） */
.polar{max-width:820px;margin:0 auto}.polar p{line-height:2;color:var(--ink);margin:0 0 18px}.polar p em{font-style:normal;color:var(--coral-d);font-weight:800}.polar b{color:var(--navy)}
.polar-eq{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:10px;margin:8px 0 22px}.polar-eq span{display:flex;flex-direction:column;justify-content:center;text-align:center;background:#fff;border:2px solid var(--line);border-radius:16px;padding:14px 20px;font-weight:800;color:var(--navy);font-size:19px}.polar-eq span small{font-size:12px;font-weight:600;color:var(--gray);margin-top:4px}.polar-eq b{align-self:center;font-size:26px;color:var(--coral)}.polar-eq .hl{background:linear-gradient(135deg,#FFF4D6,#fff);border-color:var(--sun)}
/* 想い→考え→行動の導入：左揃え */
.vflow-intro{max-width:780px;text-align:left}.vflow-intro h3{text-align:left}.vflow-intro>p{text-align:left;margin:0 0 12px;text-wrap:pretty}.vflow-intro .water{text-align:center}
.vflow-intro{max-width:1040px}.vflow-intro>p{max-width:46em}
.icgrid span small{display:block;font-size:12.5px;font-weight:600;color:var(--gray);margin-top:2px}
/* ことわざ（継続は、仲間の力） */
.proverb{max-width:760px;margin:26px auto 6px;text-align:center;background:linear-gradient(135deg,#FFF4D6,#fff);border:2px solid var(--sun);border-radius:22px;padding:20px 22px;box-shadow:var(--shadow)}.proverb p{margin:0;font-size:clamp(19px,2.6vw,26px);font-weight:800;line-height:1.7;color:var(--navy)}.proverb small{display:block;margin-top:10px;color:var(--gray);font-size:12.5px;line-height:1.7}
/* 支援の分野（バッジ）：ラベルを1行に */
.badges div{width:auto;min-width:112px}.badges span{white-space:nowrap}
/* バリュー：3列の高さと、段（1段目・2段目）をそろえる */
.vflow{grid-template-rows:auto 1fr 1fr;row-gap:14px;align-items:stretch}
.vcol{grid-row:span 3;display:grid;grid-template-rows:subgrid;row-gap:14px;align-content:stretch}
.vcol .card{height:100%}
@media(max-width:900px){.vflow{grid-template-rows:none;row-gap:22px}.vcol{grid-row:auto;grid-template-rows:none}}
/* 写真のかわりに、イラスト（個人事業主向けのZoom相談） */
.photo.ill{max-width:230px}.photo.ill .frame{aspect-ratio:1/1;background:#fff}.photo.ill .frame img{object-fit:contain;filter:none;padding:10px}

/* 無料資料：申し込みフォーム */
.lf{display:grid;gap:8px}.lf-note{font-size:14px;line-height:1.7;margin:0 0 4px}.lf-note b{color:var(--coral-d)}
.lf-l{font-size:13.5px;font-weight:800;color:var(--navy);margin-top:6px;display:block}.lf-l small{display:block;font-weight:600;color:var(--gray);font-size:12px;margin-top:2px}
.lf-i{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}.lf-i:focus{outline:2px solid var(--sky);border-color:var(--sky)}.lf-i:disabled{background:#f1f4f7}
.lf .lf-c{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.7;cursor:pointer}.lf .lf-c input{margin-top:5px;width:18px;height:18px;flex:none}
.lf-p{border:0;padding:0;margin:6px 0 0;display:grid;gap:6px}.lf-p legend{padding:0}
.lf-cbox{margin-top:14px;padding:12px 14px 10px;border:1.5px solid var(--coral-d);border-radius:12px;background:#FFF6F2;display:grid;gap:6px}.lf-cbox .lf-l{margin:0}
.lf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lf-err{background:#FDEBE7;color:#a63a2a;border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.7}
.lf-go{margin-top:6px;display:flex;width:100%;justify-content:center}.lf-go[disabled]{opacity:.45;pointer-events:none}
.lf-done{text-align:center}.lf-done b{display:block;font-size:17px;color:var(--navy);margin-bottom:6px}.lf-done .btn{margin-top:8px}

/* 申し込みフォーム：ポップアップ */
.lfm{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:14px}.lfm-bg{position:absolute;inset:0;background:rgba(0,40,80,.6)}
.lfm-box{position:relative;background:#fff;border-radius:20px;max-width:560px;width:100%;max-height:calc(100vh - 28px);overflow:auto;padding:26px 24px 22px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.lfm-x{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:var(--pale);color:var(--navy);font-size:22px;line-height:1;cursor:pointer}
.lfm-tt{margin:0;font-size:12px;font-weight:800;color:var(--coral-d);letter-spacing:.08em}.lfm-box h3{margin:2px 40px 12px 0;font-size:19px;line-height:1.5;color:var(--navy)}
body.lfm-open{overflow:hidden}.lf-i{height:auto;margin:0}.lf .lf-i{display:block}
@media(max-width:600px){.lfm{padding:0;place-items:end center}.lfm-box{border-radius:20px 20px 0 0;max-height:92vh;padding:22px 16px 18px}}
