/* =========================================================
   株式会社こころざし 最新情報 — 佐藤隼人さんサイトの部品をベースに流用
   紺 × シアン（数字）× 金。スマホ（LINE内ブラウザ）優先
   ========================================================= */
:root{
  --navy:#10263F; --navy2:#1B3C61; --cyan:#1FC3DB; --cyan-d:#0E9DB3;
  --sand:#F6F2EA; --ink:#1E2A36; --mute:#5D6B79; --line:#06C755; --line-d:#05A847;
  --white:#fff; --red:#D9534F; --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:64px}
body{font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:var(--white);line-height:1.8;font-size:16px;-webkit-text-size-adjust:100%;padding-bottom:64px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
b{font-weight:700}
.sp{display:inline}
@media(min-width:768px){.sp{display:none}body{padding-bottom:0}}

/* ---------- ヘッダー ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:50;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:rgba(16,38,63,.92);backdrop-filter:blur(6px);color:#fff}
.hd-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;line-height:1.2}
.hd-logo small{display:block;font-size:11px;font-weight:400;opacity:.8}
.hd-mark{width:34px;height:34px;border-radius:50%;background:var(--cyan);color:var(--navy);display:grid;place-items:center;font-family:"Zen Old Mincho",serif;font-size:18px}
.hd-line{background:var(--line);color:#fff;font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px}

/* ---------- ボタン ---------- */
.btn{display:inline-block;text-align:center;font-weight:900;border-radius:999px;transition:transform .15s,box-shadow .15s;line-height:1.4}
.btn:active{transform:scale(.97)}
.btn-lg{padding:18px 28px;font-size:17px;width:100%;max-width:420px}
.btn-xl{padding:22px 28px;font-size:19px;width:100%;max-width:460px}
.btn-cyan{background:var(--cyan);color:var(--navy);box-shadow:0 6px 0 var(--cyan-d)}
.btn-line{background:var(--line);color:#fff;box-shadow:0 6px 0 var(--line-d)}
.btn-line::before{content:"LINE";display:inline-block;background:#fff;color:var(--line);font-size:11px;padding:2px 6px;border-radius:5px;margin-right:8px;vertical-align:2px}

/* ---------- ヒーロー ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;padding:90px 16px 48px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08);animation:zoom 14s ease-out forwards}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,38,63,.55) 0%,rgba(16,38,63,.35) 40%,rgba(16,38,63,.9) 100%)}
@keyframes zoom{to{transform:scale(1)}}
.hero-in{position:relative;width:100%;max-width:720px;margin:0 auto;text-align:center}
.hero-kicker{display:inline-block;font-weight:700;font-size:15px;letter-spacing:.1em;border-bottom:2px solid var(--cyan);padding-bottom:4px;margin-bottom:16px}
.hero-ttl{font-family:"Zen Old Mincho",serif;font-size:clamp(30px,8.4vw,56px);line-height:1.35;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.hl{color:var(--cyan)}
.hero-band{background:rgba(16,38,63,.85);border-left:6px solid var(--cyan);margin:24px auto;padding:14px 18px;max-width:460px;font-size:17px;font-weight:700;text-align:left}
.hero-band b{color:var(--cyan);font-size:1.2em}
.hero-badges{list-style:none;display:flex;justify-content:center;gap:10px;margin-bottom:28px}
.hero-badges li{width:96px;height:96px;border-radius:50%;border:2px solid var(--cyan);background:rgba(16,38,63,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25}
.hero-badges b{font-size:20px;color:var(--cyan);font-weight:900}
.hero-badges span{font-size:10.5px}
.hero-note{font-size:12px;margin-top:14px;opacity:.85}

/* ---------- セクション共通 ---------- */
.sec{padding:72px 16px}
.wrap{max-width:960px;margin:0 auto}
.wrap-s{max-width:640px}
.sec-navy{background:var(--navy);color:#fff}
.sec-sand{background:var(--sand)}
.eyebrow{text-align:center;color:var(--cyan);font-weight:700;font-size:14px;letter-spacing:.12em;margin-bottom:8px}
.eyebrow-n{color:var(--cyan-d)}
.h2{text-align:center;font-family:"Zen Old Mincho",serif;font-size:clamp(23px,5.8vw,34px);line-height:1.5;margin-bottom:28px;color:var(--navy)}
.h2 small{display:block;font-family:"Noto Sans JP";font-size:14px;color:var(--mute);margin-top:4px}
.h2-w{color:#fff}
.lead{text-align:center;color:var(--mute);margin:-12px 0 28px}
.lead-w{color:#cfd9e3}
.point{text-align:center;margin-top:28px;font-size:15px}
.point b{color:var(--navy);background:linear-gradient(transparent 60%,rgba(31,195,219,.35) 60%)}

/* ---------- 数字 ---------- */
.nums{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:720px){.nums{grid-template-columns:1fr 1fr}}
.num{background:var(--navy2);border-radius:var(--radius);padding:24px 20px;text-align:center}
.num-big{font-size:clamp(64px,20vw,108px);font-weight:900;color:var(--cyan);line-height:1;letter-spacing:-.02em}
.num-big span{font-size:.3em;color:#fff;margin-right:4px}
.num-big em{font-style:normal;font-size:.45em}
.num-cap{margin-top:12px;font-size:14px}
.num-cap b{color:var(--cyan)}
.src{font-size:11px;color:#9fb0c1;margin-top:12px}
.why{margin-top:36px;border-top:1px solid rgba(255,255,255,.2);padding-top:28px}
.why h3{font-size:20px;margin-bottom:10px;color:var(--cyan)}
.why p{font-size:15px}
.why b{color:#fff;background:linear-gradient(transparent 60%,rgba(31,195,219,.5) 60%)}

/* ---------- お悩み ---------- */
.worries{list-style:none;max-width:640px;margin:0 auto;display:grid;gap:10px}
.worries li{background:var(--sand);border-radius:10px;padding:14px 16px 14px 48px;position:relative;font-weight:500}
.worries li::before{content:"✓";position:absolute;left:14px;top:12px;width:24px;height:24px;border-radius:6px;background:var(--navy);color:var(--cyan);display:grid;place-items:center;font-weight:900;font-size:14px}
.arrow-down{width:0;height:0;margin:28px auto 18px;border-left:60px solid transparent;border-right:60px solid transparent;border-top:36px solid var(--navy2)}
.answer{text-align:center;font-size:clamp(19px,5vw,26px);font-weight:900;color:var(--navy)}
.answer b{color:var(--cyan-d);font-size:1.15em}

/* ---------- 3つの強み ---------- */
.cards3{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:820px){.cards3{grid-template-columns:repeat(3,1fr)}}
.card3{background:#fff;border-radius:var(--radius);padding:26px 22px;box-shadow:0 6px 24px rgba(16,38,63,.08);position:relative;overflow:hidden}
.card3-no{position:absolute;right:14px;top:4px;font-size:64px;font-weight:900;color:rgba(31,195,219,.2);line-height:1}
.card3 h3{font-size:21px;color:var(--navy)}
.card3-tag{display:inline-block;background:var(--navy);color:#fff;font-size:12px;padding:2px 10px;border-radius:999px;margin:6px 0 12px}
.card3 p:last-child{font-size:15px}
.card3 b{color:var(--cyan-d)}

/* ---------- 診断 ---------- */
.quiz,.result{background:#fff;border:2px solid var(--navy);border-radius:var(--radius);padding:24px 18px;box-shadow:0 8px 0 var(--navy)}
.quiz-bar{height:8px;background:#e6ecf1;border-radius:99px;overflow:hidden}
.quiz-bar span{display:block;height:100%;width:10%;background:var(--cyan);transition:width .3s}
.quiz-count{text-align:right;font-size:13px;color:var(--mute);margin:6px 0 10px;font-weight:700}
.quiz-q{font-size:19px;font-weight:700;min-height:5.4em;color:var(--navy);display:flex;align-items:center}
.quiz-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.qbtn{font:inherit;font-weight:900;font-size:18px;padding:16px;border-radius:12px;border:none;cursor:pointer}
.qbtn-y{background:var(--navy);color:#fff}
.qbtn-n{background:#e6ecf1;color:var(--navy)}
.qbtn-u{grid-column:1/-1;background:#fff;border:2px solid #e6ecf1;color:var(--mute);font-size:15px;padding:10px}
.quiz-back,.quiz-retry{display:block;margin:14px auto 0;background:none;border:none;color:var(--mute);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.quiz-back[disabled]{visibility:hidden}
.result{text-align:center;animation:pop .4s ease}
@keyframes pop{from{transform:scale(.95);opacity:0}}
.result-lbl{font-size:14px;color:var(--mute)}
.result-rank{font-size:clamp(26px,7vw,36px);font-weight:900;margin:4px 0}
.result-rank.r-hi{color:var(--red)}
.result-rank.r-mid{color:#E08A1E}
.result-rank.r-lo{color:var(--cyan-d)}
.result-score b{font-size:40px;color:var(--navy);font-weight:900}
.result-txt{text-align:left;margin:14px 0;font-size:15px}
.result-list{text-align:left;list-style:none;margin-bottom:22px;display:grid;gap:6px}
.result-list li{font-size:14px;background:var(--sand);border-radius:8px;padding:8px 12px 8px 30px;position:relative}
.result-list li::before{content:"!";position:absolute;left:10px;top:8px;color:var(--red);font-weight:900}

/* ---------- 計算 ---------- */
.calc{background:var(--navy2);border-radius:var(--radius);padding:22px 18px;display:grid;gap:20px;text-align:center}
.calc-row{display:block;text-align:left}
.calc-row>span:first-child{display:block;font-weight:700;margin-bottom:8px}
.calc-row small{display:block;color:#a9bccd;font-size:12px;margin-top:6px}
.calc-in{display:flex;align-items:center;gap:8px}
.calc-in input{flex:1;font:inherit;font-size:24px;font-weight:900;padding:10px 14px;border-radius:10px;border:none;width:100%;color:var(--navy)}
.calc-in em{font-style:normal;font-weight:700}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{flex:1;min-width:52px;font:inherit;font-weight:700;padding:10px 6px;border-radius:10px;border:2px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer}
.seg button.on{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}
.calc .btn{justify-self:center}
.calc-res{margin-top:22px;background:#fff;color:var(--ink);border-radius:var(--radius);padding:22px 18px;text-align:center;animation:pop .4s ease}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.calc-grid div{background:var(--sand);border-radius:10px;padding:10px}
.calc-grid p{font-size:12px;color:var(--mute)}
.calc-grid b{font-size:18px;color:var(--navy)}
.calc-big-lbl{font-weight:700;color:var(--navy)}
.calc-big{font-size:clamp(44px,13vw,68px);font-weight:900;color:var(--cyan-d);line-height:1.15}
.calc-big small{font-size:.4em;color:var(--navy)}
.calc-msg{margin:10px 0 20px;font-size:15px;text-align:left}
.calc-note{font-size:11px;color:var(--mute);text-align:left;margin-top:16px}

/* ---------- 実家 ---------- */
.photo-band{height:220px;border-radius:var(--radius);background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;overflow:hidden;margin-bottom:22px}
.photo-band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(16,38,63,.85))}
.photo-band p{position:relative;color:#fff;font-weight:900;font-size:20px;padding:16px 20px;line-height:1.5}
.opts{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:720px){.opts{grid-template-columns:1fr 1fr}}
.opt{border:2px solid #e3e9ee;border-radius:var(--radius);padding:18px}
.opt-ttl{font-weight:900;font-size:18px;color:var(--navy);margin-bottom:6px;display:flex;align-items:center;gap:10px}
.opt-ttl span{background:var(--navy);color:var(--cyan);border-radius:8px;padding:2px 12px;font-size:16px}
.opt p:last-child{font-size:14.5px;color:#3b4855}
.warn{margin-top:22px;background:#FFF4F3;border-left:6px solid var(--red);border-radius:10px;padding:18px}
.warn-ttl{font-weight:900;color:var(--red);font-size:18px;margin-bottom:6px}
.warn p:last-child{font-size:15px}

/* ---------- 流れ ---------- */
.flow{list-style:none;counter-reset:f;max-width:640px;margin:0 auto;display:grid;gap:14px}
.flow li{counter-increment:f;background:#fff;border-radius:var(--radius);padding:16px 16px 16px 68px;position:relative}
.flow li::before{content:counter(f);position:absolute;left:16px;top:16px;width:38px;height:38px;border-radius:50%;background:var(--cyan);color:var(--navy);font-weight:900;font-size:20px;display:grid;place-items:center}
.flow b{display:block;color:var(--navy);font-size:17px}
.flow span{font-size:14.5px;color:#3b4855}
.photo-row{max-width:640px;margin:22px auto 0;border-radius:var(--radius);overflow:hidden}
.photo-row img{width:100%;height:220px;object-fit:cover}

/* ---------- セミナー ---------- */
.sec-seminar{position:relative;overflow:hidden;color:#fff;text-align:center;padding:96px 16px}
.sem-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%}
.sem-bg::after{content:"";position:absolute;inset:0;background:rgba(16,38,63,.78)}
.sem-in{position:relative}
.sem-pts{list-style:none;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.sem-pts li{border:1.5px solid var(--cyan);color:var(--cyan);border-radius:999px;padding:4px 14px;font-weight:700;font-size:14px}

/* ---------- プロフィール ---------- */
.prof{display:grid;gap:24px;grid-template-columns:1fr;align-items:start}
@media(min-width:760px){.prof{grid-template-columns:300px 1fr}}
.prof-photo{max-width:300px;margin:0 auto;width:100%}
.prof-photo img,.prof-ph{width:100%;aspect-ratio:4/5;border-radius:var(--radius);object-fit:cover}
.prof-ph{background:repeating-linear-gradient(45deg,#eef2f5,#eef2f5 10px,#e3e9ee 10px,#e3e9ee 20px);display:grid;place-items:center;text-align:center;color:var(--mute);font-weight:700}
.prof-role{color:var(--cyan-d);font-weight:700;font-size:14px}
.prof-name{font-family:"Zen Old Mincho",serif;font-size:34px;color:var(--navy);line-height:1.3}
.prof-name small{font-family:"Noto Sans JP";font-size:13px;color:var(--mute);margin-left:10px}
.prof-co{font-size:13px;color:var(--mute);margin-bottom:12px}
.prof-body>p:not([class]){font-size:15px}
.prof-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.prof-tags li{background:var(--navy);color:#fff;font-size:12.5px;padding:4px 12px;border-radius:999px}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px}
.faq details{background:#fff;border-radius:12px;padding:0 16px}
.faq summary{list-style:none;cursor:pointer;font-weight:700;padding:16px 28px 16px 34px;position:relative;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:0;top:14px;color:var(--cyan-d);font-weight:900;font-size:18px}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:22px;color:var(--mute)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 0 16px 34px;font-size:15px;color:#3b4855}

/* ---------- 最終CTA ---------- */
.cta{position:relative;overflow:hidden;color:#fff;text-align:center;padding:100px 16px}
.cta-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.cta-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,38,63,.75),rgba(16,38,63,.95))}
.cta-in{position:relative}
.cta-ttl{font-family:"Zen Old Mincho",serif;font-size:clamp(30px,8vw,50px);line-height:1.4;margin-bottom:18px}
.cta p{margin-bottom:26px}
.cta-sub{font-size:12px;opacity:.8;margin-top:16px}

/* ---------- フッター ---------- */
.ft{background:#0A1A2C;color:#9fb0c1;text-align:center;padding:28px 16px;font-size:12px}
.ft-name{color:#fff;font-weight:700;font-size:14px;margin-bottom:6px}
.ft-legal{margin-bottom:6px}

/* ---------- 下部固定バー（スマホ） ---------- */
.fixbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.6fr;background:var(--navy);box-shadow:0 -4px 16px rgba(0,0,0,.2);padding-bottom:env(safe-area-inset-bottom)}
.fix-a{text-align:center;color:#fff;font-weight:700;font-size:14px;padding:16px 4px;border-right:1px solid rgba(255,255,255,.12)}
.fix-line{background:var(--line);border:none}
@media(min-width:768px){.fixbar{display:none}}

/* ---------- スクロールで出現 ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.hero-bg{animation:none}}

/* =========================================================
   HP化で追加した部品
   ========================================================= */
/* ハンバーガー＋グローバルナビ */
.hd-menu{width:44px;height:44px;background:none;border:none;display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;cursor:pointer}
.hd-menu span{display:block;width:24px;height:2.5px;background:#fff;border-radius:2px;transition:.25s}
.nav-open .hd-menu span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.nav-open .hd-menu span:nth-child(2){opacity:0}
.nav-open .hd-menu span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
.gnav{position:fixed;top:56px;left:0;right:0;z-index:49;background:var(--navy);padding:8px 16px 20px;display:grid;gap:2px;transform:translateY(-110%);visibility:hidden;transition:transform .3s ease,visibility .3s;box-shadow:0 12px 24px rgba(0,0,0,.25)}
.nav-open .gnav{transform:none;visibility:visible}
.gnav a{color:#fff;font-weight:700;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.1)}
.gnav a.cur{color:var(--cyan)}
.gnav a.cur::before{content:"● ";font-size:10px;vertical-align:2px}
.gnav-line{margin-top:12px;background:var(--line);text-align:center;border-radius:999px;border:none!important}

/* 下層ページのヒーロー */
.phero{background:var(--navy);color:#fff;text-align:center;padding:96px 16px 40px;position:relative;background-size:cover;background-position:center}
.phero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,38,63,.7),rgba(16,38,63,.88))}
.phero>*{position:relative}
.phero-tag{display:inline-block;background:var(--cyan);color:var(--navy);font-weight:900;font-size:13px;padding:3px 14px;border-radius:999px;margin-bottom:12px}
.phero-ttl{font-family:"Zen Old Mincho",serif;font-size:clamp(28px,7.6vw,44px);line-height:1.4}
.phero-lead{margin-top:12px;font-size:15px;color:#d8e3ec}
.sec-tight{padding-top:40px}
.pnav{display:flex;overflow-x:auto;gap:8px;padding:12px 16px;background:var(--sand);position:sticky;top:56px;z-index:10}
.pnav a{flex:none;background:#fff;border:1.5px solid var(--navy);color:var(--navy);font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px}

/* トップのメニューカード（リッチメニューと同じ並び） */
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(min-width:760px){.menu-grid{grid-template-columns:repeat(3,1fr);gap:14px}}
.menu-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:14px;border-radius:var(--radius);background:var(--navy);color:#fff;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 6px 18px rgba(16,38,63,.15);transition:transform .15s}
.menu-card:active{transform:scale(.97)}
.menu-card:nth-child(odd):not(.mc-photo){background:var(--navy2)}
.mc-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,38,63,.35),rgba(16,38,63,.9))}
.menu-card>*{position:relative}
.mc-tag{align-self:flex-start;background:var(--cyan);color:var(--navy);font-size:11px;font-weight:900;padding:2px 10px;border-radius:999px;margin-bottom:auto}
.menu-card b{font-size:17px;line-height:1.35;margin-top:14px}
.menu-card small{font-size:12px;color:#cfe3ee}
.mc-line{background:var(--line)!important}
.mc-line .mc-tag{background:#fff;color:var(--line)}
.mc-line small{color:#e9fff1}

/* 年代別のお悩み */
.life{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:760px){.life{grid-template-columns:repeat(3,1fr)}}
.life-col{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:0 4px 16px rgba(16,38,63,.06)}
.life-age{display:inline-block;background:var(--navy);color:var(--cyan);font-weight:900;padding:2px 14px;border-radius:8px;margin-bottom:8px}
.life-col ul{list-style:none;display:grid;gap:6px}
.life-col li{padding-left:22px;position:relative;font-size:15px}
.life-col li::before{content:"✓";position:absolute;left:0;color:var(--cyan-d);font-weight:900}

a.card3{display:block;color:inherit;transition:transform .15s}
a.card3:active{transform:scale(.98)}
.card3-more{display:inline-block;margin-top:12px;color:var(--cyan-d);font-weight:900;font-size:14px}
.why-top{border-top:none;padding-top:0;margin-top:0}
.why-top p+p{margin-top:14px}

/* テーマ一覧（お金のこと） */
.topics{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:720px){.topics{grid-template-columns:1fr 1fr}}
.topic{border:2px solid #e3e9ee;border-radius:var(--radius);padding:18px 18px 18px 70px;position:relative}
.topic-ic{position:absolute;left:16px;top:16px;width:42px;height:42px;border-radius:12px;background:var(--sand);display:grid;place-items:center;font-size:22px}
.topic h3{font-size:18px;color:var(--navy);margin-bottom:4px}
.topic p:last-child{font-size:14.5px;color:#3b4855}
.topic b{color:var(--navy);background:linear-gradient(transparent 60%,rgba(31,195,219,.3) 60%)}
.nums-3{grid-template-columns:1fr!important}
@media(min-width:720px){.nums-3{grid-template-columns:repeat(3,1fr)!important}}
.num-m{font-size:clamp(40px,12vw,52px)!important}
.center{text-align:center;margin-top:28px}
.center.mt{margin-top:14px}
.btn-ghost{border:2px solid var(--navy);color:var(--navy);padding:14px 22px;font-size:15px;width:100%;max-width:420px;margin-top:14px;background:#fff}
.sec-navy .btn-ghost{border-color:#fff;color:#fff;background:transparent}
.note{font-size:11.5px;color:var(--mute);margin-top:18px}
.result-sub{font-size:12px;color:var(--mute);margin:10px 0 0}

/* ツール一覧 */
.tool-list{display:grid;gap:12px}
.tool{display:flex;align-items:center;gap:14px;background:#fff;border:2px solid var(--navy);border-radius:var(--radius);padding:16px;box-shadow:0 6px 0 var(--navy);transition:transform .1s}
.tool:active{transform:translateY(4px);box-shadow:0 2px 0 var(--navy)}
.tool-no{flex:none;width:52px;height:52px;border-radius:50%;background:var(--cyan);color:var(--navy);font-weight:900;font-size:20px;display:grid;place-items:center}
.tool-body{display:flex;flex-direction:column;line-height:1.45}
.tool-body small{color:var(--cyan-d);font-weight:700;font-size:12px}
.tool-body b{font-size:19px;color:var(--navy)}
.tool-body em{font-style:normal;font-size:13px;color:var(--mute)}

/* 積立グラフ */
.gain{color:var(--cyan-d)!important}
.sim-chart{display:flex;align-items:flex-end;gap:2px;height:180px;margin:18px 0 6px;padding-bottom:20px;border-bottom:1px solid #e3e9ee}
.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.bar .bp{background:var(--navy);border-radius:0 0 2px 2px}
.bar .bg{background:var(--cyan);border-radius:2px 2px 0 0}
.bar i{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-style:normal;font-size:10px;color:var(--mute);white-space:nowrap}
.sim-legend{font-size:12px;color:var(--mute)}
.sim-legend span{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 4px -1px 0}
.lg-p{background:var(--navy)}.lg-g{background:var(--cyan)}
.seg button small{font-size:10px;font-weight:400}

/* ツールのヒント */
.tips{margin-top:28px;background:var(--sand);border-radius:var(--radius);padding:20px}
.tips-ttl{font-size:17px;color:var(--navy);margin-bottom:10px}
.tips ul{list-style:none;display:grid;gap:8px;margin-bottom:12px}
.tips li{font-size:14px;padding-left:16px;position:relative}
.tips li::before{content:"・";position:absolute;left:0}
.tips p{font-size:14px}

.worries-check li{background:#fff;border:1.5px solid #e3e9ee}

/* セミナー日程 */
.sem-pts-n li{border-color:var(--navy);color:var(--navy)}
.sem-card{background:#fff;border:2px solid var(--navy);border-radius:var(--radius);padding:20px;margin-bottom:16px;text-align:center}
.sem-date{font-weight:700;color:var(--navy)}
.sem-date b{font-size:36px;font-weight:900;color:var(--cyan-d);margin:0 2px}
.sem-date span{display:block;font-size:14px;color:var(--mute)}
.sem-ttl{font-weight:900;font-size:18px;margin:10px 0 14px;line-height:1.5}
.sem-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;text-align:left;font-size:14px;background:var(--sand);border-radius:10px;padding:12px 16px;margin-bottom:16px}
.sem-dl dt{font-weight:700;color:var(--navy)}

/* 共通フッター */
.ft{padding:0 0 28px}
.ft-cta{background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:48px 16px;text-align:center}
.ft-cta p{margin-bottom:20px;font-weight:700}
.ft-cta .ft-cta-sub{font-size:12px;font-weight:400;opacity:.8;margin:14px 0 0}
.ft-next{display:block;margin:20px 16px;background:#fff;color:var(--navy);border-radius:var(--radius);padding:16px;font-weight:900;font-size:17px}
.ft-next small{display:block;font-size:12px;color:var(--cyan-d)}
.ft-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;padding:8px 16px 18px}
.ft-links a{color:#cfd9e3;font-size:12.5px}

/* =========================================================
   事業感アップ（本人を前に出す部品）
   ========================================================= */
/* ロゴ（ヘッダー） */
.hd-logo{gap:0;flex-direction:column;align-items:flex-start;line-height:1.1}
.logo-en{font-family:"Cormorant Garamond",serif;font-size:21px;font-weight:700;letter-spacing:.14em;color:#fff}
.logo-en i{font-style:normal;color:var(--cyan)}
.logo-ja{font-size:10.5px;font-weight:500;letter-spacing:.18em;color:#bcd0e0;margin-top:2px}

/* ヒーロー（本人） */
.hero2{position:relative;overflow:hidden;color:#fff;background:var(--navy);padding:76px 16px 28px}
.hero2-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.22}
.hero2-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--navy))}
.hero2-in{position:relative;max-width:1000px;margin:0 auto;display:grid;gap:8px;grid-template-columns:1fr;align-items:end}
@media(min-width:820px){.hero2-in{grid-template-columns:1.15fr 1fr;gap:32px;align-items:center}.hero2{padding:110px 24px 48px}}
.hero2-en{font-family:"Cormorant Garamond",serif;font-size:18px;letter-spacing:.2em;color:var(--cyan);margin-bottom:6px}
.hero2-ttl{font-family:"Zen Old Mincho",serif;font-size:clamp(31px,8.6vw,54px);line-height:1.35}
.hero2-lead{margin-top:14px;font-size:15px;color:#d8e3ec}
.hero2-lead b{color:#fff;background:linear-gradient(transparent 60%,rgba(31,195,219,.55) 60%)}
.hero2-person{position:relative;max-width:290px;width:100%;justify-self:center;margin-top:10px}
.hero2-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:180px 180px 16px 16px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.nameplate{position:relative;margin:-56px 12px 0;background:#fff;color:var(--ink);border-radius:14px;padding:14px 16px;box-shadow:0 12px 30px rgba(0,0,0,.25);border-top:5px solid var(--cyan)}
.np-role{font-size:11.5px;color:var(--cyan-d);font-weight:700}
.np-name{font-family:"Zen Old Mincho",serif;font-size:28px;color:var(--navy);line-height:1.3}
.np-name span{display:block;font-family:"Cormorant Garamond",serif;font-size:13px;letter-spacing:.2em;color:var(--mute);line-height:1.2}
.np-tags{list-style:none;display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.np-tags li{font-size:11px;font-weight:700;background:var(--navy);color:#fff;padding:2px 9px;border-radius:999px}
.hero2-cta{position:relative;display:grid;gap:10px;justify-items:center;margin-top:24px}
.btn-ghost-w{border:2px solid rgba(255,255,255,.7);color:#fff;padding:13px 22px;font-size:15px;width:100%;max-width:420px}

/* 実績の数字 */
.stats{background:#fff;border-bottom:1px solid #e3e9ee}
.stats-in{display:grid;grid-template-columns:1fr 1fr;padding:6px 0}
@media(min-width:760px){.stats-in{grid-template-columns:repeat(4,1fr)}}
.stat{text-align:center;padding:18px 8px;border-right:1px solid #eef2f5;border-bottom:1px solid #eef2f5}
.stat-lbl{font-size:12px;font-weight:700;color:var(--mute)}
.stat-num{font-size:clamp(34px,10vw,48px);font-weight:900;color:var(--cyan-d);line-height:1.15;letter-spacing:-.01em}
.stat-num em{font-style:normal;font-size:.4em;color:var(--navy);margin-left:2px}

/* ごあいさつ */
.greet{display:grid;gap:24px;grid-template-columns:1fr;align-items:start}
@media(min-width:780px){.greet{grid-template-columns:320px 1fr;gap:40px}}
.greet-photo img{width:100%;max-width:320px;margin:0 auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px}
.eyebrow-l{text-align:left}
.greet-ttl{font-family:"Zen Old Mincho",serif;font-size:clamp(26px,7vw,36px);color:var(--navy);line-height:1.4;margin-bottom:16px}
.greet-body>p:not([class]){font-size:15.5px;margin-bottom:12px}
.greet-body b{color:var(--navy);background:linear-gradient(transparent 60%,rgba(31,195,219,.35) 60%)}
.greet-sign{font-family:"Zen Old Mincho",serif;font-size:24px;color:var(--navy);text-align:right;margin-top:18px}
.greet-sign span{display:block;font-family:"Cormorant Garamond",serif;font-size:13px;letter-spacing:.2em;color:var(--mute)}

/* 選ばれる理由 */
.num-in{font-size:1.8em;color:var(--cyan-d);font-family:"Noto Sans JP";font-weight:900;vertical-align:-4px;margin-right:2px}
.reasons{display:grid;gap:14px;max-width:760px;margin:0 auto}
.reason{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;border-bottom:1px solid #e3e9ee;padding-bottom:18px}
.reason-no{font-family:"Cormorant Garamond",serif;font-size:56px;font-weight:700;color:var(--cyan);line-height:1}
.reason h3{font-size:19px;color:var(--navy);line-height:1.5;margin-bottom:6px}
.reason p{font-size:15px;color:#3b4855}
.reason b{color:var(--navy)}

/* 相談事例 */
.cases{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:900px){.cases{grid-template-columns:repeat(3,1fr)}}
.case{background:#fff;border-radius:var(--radius);box-shadow:0 8px 28px rgba(16,38,63,.09);padding:20px;border-top:5px solid var(--navy)}
.case-who{font-size:13px;color:var(--mute);font-weight:700}
.case-who span{background:var(--cyan);color:var(--navy);padding:1px 10px;border-radius:999px;margin-right:6px;font-weight:900}
.case h3{font-size:18px;color:var(--navy);line-height:1.5;margin:10px 0 14px}
.case-ba{display:grid;gap:6px}
.case-b,.case-a{font-size:14px;border-radius:10px;padding:10px 12px}
.case-b{background:#f1f4f7;color:#55606b}
.case-a{background:#E7F8FB;color:var(--ink)}
.case-a b{color:var(--cyan-d)}
.case-ba small{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--mute)}
.case-a small{color:var(--cyan-d)}
.case-arrow{text-align:center;color:var(--cyan-d);transform:rotate(90deg);font-size:14px;line-height:1}
.center-t{text-align:center}

/* お客様の声 */
.voices{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:900px){.voices{grid-template-columns:repeat(3,1fr)}}
.voice{background:var(--navy2);border-radius:var(--radius);padding:22px 20px 18px;position:relative;margin:0}
.voice::before{content:"“";position:absolute;top:-10px;left:14px;font-family:"Cormorant Garamond",serif;font-size:80px;color:var(--cyan);line-height:1}
.voice blockquote{font-size:15px;line-height:1.9;margin-top:10px}
.voice figcaption{font-size:12px;color:#a9bccd;margin-top:10px;text-align:right}

/* 事務所案内 */
.office{display:grid;grid-template-columns:auto 1fr;background:#fff;border-radius:var(--radius);overflow:hidden;font-size:14.5px}
.office dt,.office dd{padding:13px 14px;border-bottom:1px solid #eef2f5}
.office dt{background:var(--navy);color:#fff;font-weight:700;font-size:13px;white-space:nowrap}
.office dd{margin:0}

/* プロフィール年表 */
.timeline{list-style:none;border-left:3px solid var(--cyan);margin-left:8px;padding-left:20px;display:grid;gap:18px}
.timeline li{position:relative}
.timeline li::before{content:"";position:absolute;left:-29px;top:6px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--navy)}
.timeline b{display:block;color:var(--cyan-d);font-size:14px}
.timeline span{font-size:15px}
.ft-biz{font-size:12px;color:#9fb0c1;line-height:1.8;margin-bottom:10px}
.u-link{color:var(--cyan-d);text-decoration:underline}
