/* 下層ページ（トップ以外）の見た目。手で書くファイル。色や文字の基本は base.css の :root を使う */

body.hc-sub{background:var(--paper)}
main.sub{display:block}

/* ---------- ページ上部（紺の帯） ---------- */
.ph{position:relative;overflow:hidden;background:radial-gradient(110% 120% at 80% 0%,#12305A 0%,var(--ink) 60%);color:#fff;padding:clamp(150px,18vw,220px) 0 clamp(64px,8vw,110px)}
.ph-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,167,235,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,167,235,.08) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(80% 90% at 70% 10%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(80% 90% at 70% 10%,#000 0%,transparent 75%);animation:phgrid 18s linear infinite}
@keyframes phgrid{to{background-position:56px 56px,56px 56px}}
.ph-glow{position:absolute;width:46vw;height:46vw;right:-12vw;top:-18vw;border-radius:50%;background:radial-gradient(circle,rgba(0,167,235,.35),transparent 65%);filter:blur(30px);animation:phglow 12s ease-in-out infinite alternate}
.ph-glow::after{content:"";position:absolute;width:40%;height:40%;left:-10%;bottom:-20%;border-radius:50%;background:radial-gradient(circle,rgba(234,84,19,.35),transparent 65%)}
@keyframes phglow{to{transform:translate(-6vw,4vw) scale(1.1)}}
.ph-in{position:relative;z-index:2}
.ph-t{margin:24px 0 0;font-weight:900;font-size:clamp(34px,5.6vw,80px);line-height:1.2;letter-spacing:.01em;max-width:16em}
@media (max-width:480px){.ph-t{font-size:clamp(24px,7.2vw,34px)}}
.sub-single .ph-t{font-size:clamp(26px,3.6vw,48px);line-height:1.45;max-width:24em}
.ph-t .ch{display:inline-block;opacity:0;transform:translateY(60%);filter:blur(8px);transition:opacity .9s var(--ease),transform 1s var(--ease),filter .9s var(--ease)}
.ph.go .ph-t .ch{opacity:1;transform:none;filter:none}
.ph-f{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease) .5s,transform .9s var(--ease) .5s}
.ph.go .ph-f{opacity:1;transform:none}
.ph .kicker.ph-f{transition-delay:.05s}
.ph-lead{margin:28px 0 0;max-width:38em;color:var(--mist);font-size:clamp(15px,1.2vw,17px)}
.ph-meta{margin-top:24px;display:flex;gap:18px;align-items:center;font-family:var(--mono);font-size:13px;color:var(--mist)}
.ph-meta a{color:var(--ai);border:1px solid rgba(0,167,235,.4);border-radius:999px;padding:3px 12px;font-family:var(--jp);font-size:12px}
.ph-jump{margin-top:44px;display:flex;flex-wrap:wrap;gap:12px}
.jump{display:inline-flex;align-items:center;gap:14px;padding:14px 22px;border:1px solid rgba(255,255,255,.18);border-radius:12px;font-size:15px;transition:border-color .3s,background .3s}
.jump small{font-family:var(--mono);font-size:11px;color:var(--ai);letter-spacing:.12em}
.jump span{opacity:.6;transition:transform .3s var(--ease)}
.jump:hover{border-color:var(--ai);background:rgba(0,167,235,.08)}
.jump:hover span{transform:translateY(3px)}

/* ---------- 本文の帯 ---------- */
.pbody{background:var(--paper);color:var(--ink);padding:clamp(64px,8vw,120px) 0 clamp(80px,10vw,140px)}
.light .kicker,.pbody .kicker,.sec-paper .kicker,.sec-white .kicker{color:var(--ai-deep)}

/* 読み物（固定ページ・記事の本文） */
.prose{max-width:880px;margin:0 auto;font-size:16px;line-height:2}
.prose > *{transition:opacity .9s var(--ease),transform 1s var(--ease)}
.prose > .pre{opacity:0;transform:translateY(24px)}
.prose h2{font-size:clamp(24px,2.6vw,34px);font-weight:900;line-height:1.45;margin:2.6em 0 .9em;padding-top:.9em;border-top:1px solid var(--line);position:relative}
.prose h2::before{content:"";position:absolute;top:-1px;left:0;width:64px;height:3px;background:linear-gradient(90deg,var(--ai),var(--hot))}
.prose h3{font-size:clamp(18px,1.8vw,22px);font-weight:700;line-height:1.6;margin:2.2em 0 .7em;padding-left:16px;border-left:3px solid var(--ai)}
.prose h4{font-size:17px;margin:1.8em 0 .5em}
.prose > :first-child{margin-top:0}
.prose p{margin:0 0 1.4em}
.prose a{color:var(--ai-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose a:hover{color:var(--hot-deep)}
.prose strong,.prose b{font-weight:700}
.prose ul,.prose ol{margin:0 0 1.6em;padding-left:1.4em}
.prose li{margin:.3em 0}
.prose li::marker{color:var(--ai-deep)}
.prose img{height:auto;border-radius:10px}
.prose figure{margin:2em 0}
.prose figcaption{font-size:13px;color:var(--slate);margin-top:8px}
.prose blockquote{margin:2em 0;padding:4px 0 4px 24px;border-left:3px solid var(--line);color:var(--slate)}
.prose hr{border:0;border-top:1px solid var(--line);margin:3em 0}
.prose table{width:100%;border-collapse:collapse;margin:0 0 2em;font-size:15px;line-height:1.7;background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.prose th,.prose td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose tr:last-child > *{border-bottom:0}
.prose th{background:#EEF3F9;color:var(--navy);font-weight:700;white-space:nowrap}
.prose details{margin:0 0 12px;background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.prose details > summary{list-style:none;cursor:pointer;padding:16px 52px 16px 20px;font-weight:700;position:relative}
.prose details > summary::-webkit-details-marker{display:none}
.prose details > summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:20px;color:var(--ai-deep);transition:transform .3s var(--ease)}
.prose details[open] > summary::after{transform:translateY(-50%) rotate(45deg)}
.prose details > :not(summary){padding:0 20px}
.prose details > :last-child{padding-bottom:16px}
@media (max-width:700px){.prose table{font-size:14px}.prose th,.prose td{padding:12px 12px}.prose th{white-space:normal}}

/* 記事の中の案内枠（旧テーマの .cta-box と、本文に直接書いた枠） */
.prose .cta-box,.prose-post div[style*="border-left"]{background:linear-gradient(135deg,var(--ink),var(--navy))!important;color:#fff;border:0!important;border-radius:16px!important;padding:28px 32px!important;margin:2.4em 0!important}
.prose .cta-box p,.prose-post div[style*="border-left"] p{margin:0}
.prose .cta-box a,.prose-post div[style*="border-left"] a{color:#fff;background:var(--hot);text-decoration:none;display:inline-block;margin-top:12px;padding:10px 20px;border-radius:999px;font-weight:700}
.prose .cta-box a:hover,.prose-post div[style*="border-left"] a:hover{background:var(--hot-deep);color:#fff}
.eyecatch{max-width:880px;margin:0 auto 48px}
.eyecatch img{width:100%;height:auto;border-radius:16px}

/* ---------- AI研修（id 132）：本文に直接書かれた色（#00419F 等）を新しい配色に揃える ---------- */
.sub-ai-training .prose [style*="#00419F"]{color:var(--ai-deep)!important}
.sub-ai-training .prose th[style]{background:#EEF3F9!important;color:var(--navy)!important}
.sub-ai-training .prose [style*="#DEE7F5"]{background:#EEF3F9!important}
.sub-ai-training .prose div[style*="padding:1.6em"]{background:var(--white)!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:0 20px 50px -30px rgba(10,22,40,.25)}
.sub-ai-training .prose summary[style]{background:var(--white)!important;border:0!important;border-radius:0!important;color:var(--ink)!important}
.sub-ai-training .prose a[style*="border-radius"]{background:var(--hot)!important;color:#fff!important;text-decoration:none;box-shadow:0 10px 30px -10px rgba(234,84,19,.6);transition:transform .3s var(--ease),background .3s}
.sub-ai-training .prose a[style*="border-radius"]:hover{background:var(--hot-deep)!important;transform:translateY(-2px)}

/* ---------- 会社概要（id 15）の本文のクラス ---------- */
.company-section{margin:0 0 clamp(64px,8vw,110px)}
.company-section:last-child{margin-bottom:0}
.prose .company-section__title{border-top:0;padding-top:0;margin:0 0 1.2em;font-size:clamp(26px,3vw,40px)}
.prose .company-section__title::before{display:none}
.company-section__title::after{content:"";display:block;width:48px;height:3px;margin-top:14px;background:linear-gradient(90deg,var(--ai),var(--hot))}
.company-message__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start;margin-bottom:clamp(48px,6vw,80px)}
.company-message__photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:14px;box-shadow:0 30px 60px -30px rgba(10,22,40,.35)}
.company-message__catch{font-weight:700;color:var(--navy);margin:0 0 .4em!important;white-space:pre-line}
.company-message__body > .company-message__catch:first-of-type{font-size:clamp(20px,2.2vw,28px);line-height:1.6;font-weight:900;color:var(--ink);margin-bottom:1em!important}
.company-message__name{font-size:clamp(22px,2.4vw,30px);font-weight:900;letter-spacing:.12em;margin:0 0 .6em!important}
.company-message__p{color:#2B3446}
@media (max-width:860px){.company-message__inner{grid-template-columns:1fr}.company-message__photo{max-width:360px}}
/* 写真が右にある人（パートナー）はスマホで写真を先に */
@media (max-width:860px){.company-message__inner > .company-message__body:first-child{order:2}}
.prose .company-profile__table th{width:9em}
.prose .company-profile__table td{white-space:pre-line}
.prose .company-profile__table td:has(ul,ol){white-space:normal}
.prose .company-profile__table td ul,.prose .company-profile__table td ol{margin:0}
.prose .company-list{list-style:none;padding:0;margin:0}
.prose .company-list li{position:relative;padding-left:1.1em}
.prose .company-list li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;border-radius:50%;background:var(--ai)}
.prose .company-list li:empty{display:none}
.prose .company-list--columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 24px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 24px;margin-bottom:2em}
.prose .company-list--columns li{padding:12px 0 12px 1.1em;border-bottom:1px dashed var(--line)}
.prose .company-list--columns li::before{top:1.45em}
.company-history{counter-reset:h}
.company-history__item{position:relative;padding:16px 0 16px 32px;border-left:2px solid var(--line);margin-left:6px;font-weight:500}
.company-history__item::before{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--paper);border:2px solid var(--ai-deep)}
.company-history__item:last-child::before{background:var(--hot);border-color:var(--hot)}

/* ---------- お問い合わせ（Contact Form 7） ---------- */
.sub-contact .prose > p:first-child{font-size:15px;color:var(--slate);margin-bottom:2.4em}
.wpcf7{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,4vw,48px);box-shadow:0 40px 80px -50px rgba(10,22,40,.3)}
.wpcf7 form > p,.wpcf7 .cf7-item{margin:0 0 26px}
.wpcf7 label,.cf7-label{display:block;font-weight:700;font-size:15px;margin-bottom:8px}
.wpcf7 .required,.wpcf7 .cf7-required{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:4px;background:var(--hot-deep);color:#fff;font-size:11px;font-weight:700;vertical-align:2px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=url],.wpcf7 input[type=number],.wpcf7 select,.wpcf7 textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,background .2s;appearance:none;-webkit-appearance:none}
.wpcf7 textarea{min-height:200px;resize:vertical;line-height:1.8}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:0;border-color:var(--ai);background:var(--white);box-shadow:0 0 0 4px rgba(0,167,235,.15)}
.wpcf7-list-item{display:inline-flex;align-items:center;margin:0 20px 8px 0}
.wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;font-weight:400;margin:0;cursor:pointer}
.wpcf7 input[type=radio],.wpcf7 input[type=checkbox]{width:18px;height:18px;accent-color:var(--ai-deep);margin:0}
.cf7-privacy{font-size:14px;color:var(--slate)}
.cf7-privacy a{color:var(--ai-deep)}
.wpcf7 input[type=submit],.cf7-submit input{display:inline-block;width:auto;min-width:240px;font:inherit;font-weight:700;font-size:16px;color:#fff;background:var(--hot-deep);border:0;border-radius:999px;padding:18px 40px;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.wpcf7 input[type=submit]:hover{background:var(--hot);box-shadow:0 12px 40px -10px rgba(234,84,19,.7);transform:translateY(-2px)}
.wpcf7 input[type=submit]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.cf7-submit,.wpcf7 form > p:last-of-type{text-align:center}
.wpcf7-spinner{margin:0 0 0 12px}
.wpcf7-not-valid-tip{color:#C22;font-size:13px;margin-top:6px}
.wpcf7 form .wpcf7-response-output{margin:24px 0 0;border-radius:10px;padding:14px 18px;font-size:14px;border-width:1px}
@media (pointer:fine){.wpcf7 input[type=submit]{cursor:none}}

/* 送信完了 */
.sub-thanks .prose{text-align:center;font-size:17px}
.sub-thanks .pbody .wrap::after{content:"";display:block;width:72px;height:72px;margin:40px auto 0;border-radius:50%;background:var(--ai-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/36px no-repeat;box-shadow:0 0 0 12px rgba(10,111,184,.12)}

/* ---------- コラム一覧 ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.chip{padding:8px 18px;border:1px solid var(--line);border-radius:999px;font-size:14px;background:var(--white);transition:all .3s}
.chip:hover{border-color:var(--ai-deep);color:var(--ai-deep)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.cols{border-top:1px solid var(--line)}
.col{display:grid;grid-template-columns:140px 1fr 40px;gap:24px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .4s var(--ease)}
.col::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:0}
.col > *{position:relative;z-index:1;transition:color .4s}
.col:hover{padding-left:24px;padding-right:24px}
.col:hover::before{transform:scaleY(1)}
.col:hover > *{color:#fff}
.col .dt{font-family:var(--mono);font-size:12px;color:var(--slate)}
.col .tt{font-size:clamp(16px,1.6vw,20px);font-weight:500;line-height:1.6}
.col .cat{display:inline-block;margin-left:12px;padding:1px 10px;border-radius:999px;font-size:11px;vertical-align:3px;color:var(--ai-deep);border:1px solid rgba(10,111,184,.3);transition:color .4s,border-color .4s}
.col:hover .cat{color:var(--ai);border-color:rgba(0,167,235,.5)}
.col .ar{font-size:20px;transition:transform .4s var(--ease)}
.col:hover .ar{transform:translateX(6px);color:var(--ai)}
@media (max-width:700px){.col{grid-template-columns:1fr 24px}.col .dt{grid-column:1/-1}.col .cat{display:table;margin:8px 0 0}}
.pager{margin-top:48px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:14px}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--white)}
.pager .current{background:var(--ink);border-color:var(--ink);color:#fff}
.pager .pages,.pager .extend{border:0;background:none}
.pager a:hover{border-color:var(--ai-deep);color:var(--ai-deep)}
.wp-pagenavi{display:contents}
.empty{text-align:center;color:var(--slate);padding:40px 0}

/* 記事の前後 */
.pn{max-width:880px;margin:72px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;border-top:1px solid var(--line);padding-top:32px}
.pn a{display:block}
.pn .pv a,.pn .nx a{padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--white);font-size:14px;line-height:1.6;height:100%;transition:border-color .3s,transform .3s var(--ease)}
.pn .pv a:hover,.pn .nx a:hover{border-color:var(--ai-deep);transform:translateY(-2px)}
.pn small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ai-deep);margin-bottom:4px}
.pn .nx{text-align:right}
.pn .all{align-self:center;font-size:14px;color:var(--ai-deep);border-bottom:1px solid currentColor;padding-bottom:2px}
@media (max-width:700px){.pn{grid-template-columns:1fr}.pn .nx{text-align:left}.pn .all{justify-self:center;order:3}}

/* 404 */
.nf{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- ボタン（明るい背景用） ---------- */
.btn-line{border:1px solid currentColor;color:var(--ai-deep)}
.btn-line:hover{background:var(--ai-deep);border-color:var(--ai-deep);color:#fff}
.sec-ink .btn-line{color:#fff}

/* ---------- サービスのページ（AI総合・話し方） ---------- */
.sec{padding:clamp(90px,11vw,160px) 0;position:relative}
.sec-paper{background:var(--paper);color:var(--ink)}
.sec-white{background:var(--white);color:var(--ink)}
.sec-ink{background:var(--ink);color:#fff;overflow:hidden}
.sec-ink::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 90% 0%,rgba(0,167,235,.16),transparent 70%),radial-gradient(40% 40% at 0% 100%,rgba(234,84,19,.1),transparent 70%);pointer-events:none}
.sec .wrap{position:relative}
.sec-t{font-size:clamp(30px,3.6vw,52px);font-weight:900;line-height:1.3;margin:16px 0 0}
.sub-t{font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.5;margin:clamp(72px,8vw,110px) 0 32px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.sub-t small{font-size:14px;font-weight:400;color:var(--slate)}
.sec-ink .sub-t small{color:var(--mist)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,96px);align-items:start}
.split p{margin:0 0 1.2em}
.split .catch{font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.5;margin-bottom:.8em;background:linear-gradient(100deg,currentColor 0%,currentColor 40%,var(--ai) 100%);-webkit-background-clip:text;background-clip:text}
.sec-ink .split p:not(.catch){color:#C9D3E3}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* 3つの理由 */
.reasons{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.reason{position:relative;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:36px 32px 32px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.reason:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(10,22,40,.3)}
.reason::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--ai),var(--hot));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.reason.in::after{transform:scaleX(1);transition-delay:.4s}
.reason .no{font-family:var(--en);font-weight:300;font-size:64px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--ai-deep)}
.reason h3{font-size:20px;line-height:1.5;margin:20px 0 12px}
.reason p{font-size:15px;color:var(--slate);margin:0;line-height:1.9}
.reason small{display:block;margin-top:8px;font-size:13px}
@media (max-width:960px){.reasons{grid-template-columns:1fr}}

/* 手順（3つ・4つ） */
.flow3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:f;position:relative}
.flow4{grid-template-columns:repeat(4,1fr)}
.flow3 li{position:relative;padding:28px 28px 8px 0}
.flow3 li::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(127,140,160,.35)}
.flow3 li::after{content:"";position:absolute;left:0;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--ai);box-shadow:0 0 0 6px rgba(0,167,235,.15)}
.flow3 li.in::before{background:linear-gradient(90deg,var(--ai),transparent)}
.flow3 .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ai)}
.sec-paper .flow3 .k,.sec-white .flow3 .k{color:var(--ai-deep)}
.flow3 b{display:block;font-size:20px;margin:8px 0 10px}
.flow3 p{font-size:15px;margin:0;opacity:.8}
@media (max-width:860px){.flow3,.flow4{grid-template-columns:1fr}.flow3 li{padding:0 0 32px 28px}.flow3 li::before{left:5px;right:auto;top:6px;bottom:0;width:1px;height:auto}.flow3 li::after{top:0}}

/* プラン */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{position:relative;border-radius:20px;padding:32px 28px;background:linear-gradient(160deg,rgba(19,41,75,.9),rgba(10,22,40,.9));border:1px solid rgba(255,255,255,.1);isolation:isolate;overflow:hidden}
.plan::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),rgba(0,167,235,.18),transparent 60%);opacity:0;transition:opacity .4s}
.plan:hover::before{opacity:1}
.plan-hot{border-color:rgba(234,84,19,.55);box-shadow:0 30px 80px -40px rgba(234,84,19,.6)}
.plan-k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ai);text-transform:uppercase}
.plan-k span{font-family:var(--jp);letter-spacing:.04em;color:var(--mist);text-transform:none}
.plan-hot .plan-k{color:#FF8A57}
.plan h4{font-size:26px;font-weight:900;margin:8px 0 20px}
.plan dl{margin:0}
.plan dl div{display:grid;grid-template-columns:6.5em 1fr;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08);font-size:14px}
.plan dt{color:var(--mist)}
.plan dd{margin:0}
.plan .price dd{font-family:var(--en);font-weight:600;font-size:17px;color:#fff}
.note{font-size:13px;color:var(--slate);margin:16px 0 0}
.sec-ink .note{color:var(--mist)}
.center{text-align:center;margin-top:48px}
@media (max-width:960px){.plans{grid-template-columns:1fr}}

/* 5章立て */
.chapters-wrap{margin-top:clamp(72px,8vw,110px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px);align-items:start}
.chapters-head{position:sticky;top:120px}
.chapters-head .sub-t{margin-top:0}
.chapters-head p{color:var(--slate);margin:0 0 28px}
.chapters-head .area-link{margin:22px 0 0;font-size:14px}
.chapters-head .area-link a{color:var(--ai-deep);border-bottom:1px solid currentColor;padding-bottom:2px}
.chapters{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.chapters li{position:relative;padding:0 0 40px 36px}
.chapters li:last-child{padding-bottom:0}
.chapters li::before{content:"";position:absolute;left:-6px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--white);border:2px solid var(--line);transition:all .6s var(--ease)}
.chapters li.in::before{border-color:var(--ai-deep);background:var(--ai-deep);box-shadow:0 0 0 6px rgba(10,111,184,.12)}
.chapters .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ai-deep)}
.chapters b{display:block;font-size:20px;line-height:1.5;margin:6px 0 8px}
.chapters p{margin:0;color:var(--slate);font-size:15px}
@media (max-width:860px){.chapters-wrap{grid-template-columns:1fr}.chapters-head{position:static}}

/* 3つの特徴 */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{background:var(--paper);border-radius:20px;padding:32px 28px;border:1px solid var(--line)}
.feat .ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--ai),var(--ai-deep));color:#fff;font-size:22px;margin-bottom:18px}
.feat:nth-child(2) .ic{background:linear-gradient(135deg,#1C4E8A,var(--navy))}
.feat:nth-child(3) .ic{background:linear-gradient(135deg,var(--hot),var(--hot-deep))}
.feat b{display:block;font-size:19px;margin-bottom:8px}
.feat p{margin:0;font-size:15px;color:var(--slate)}
@media (max-width:960px){.feats{grid-template-columns:1fr}}

/* 助成金・料金の枠 */
.duo{margin-top:clamp(72px,8vw,110px);display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.box{border-radius:20px;padding:clamp(28px,3.4vw,44px);background:var(--paper);border:1px solid var(--line)}
.sec-paper .box{background:var(--white)}
.box h3{font-size:24px;font-weight:900;margin:12px 0 16px}
.box h4{font-size:15px;color:var(--ai-deep);margin:20px 0 6px}
.box p{margin:0 0 .8em;font-size:15px;color:#2B3446}
.box-price{background:linear-gradient(150deg,var(--ink),var(--navy) 70%,#1B3D6B);color:#fff;border:0;position:relative;overflow:hidden}
.sec-paper .box-price{background:linear-gradient(150deg,var(--ink),var(--navy) 70%,#1B3D6B)}
.box-price::after{content:"";position:absolute;width:280px;height:280px;right:-90px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,rgba(234,84,19,.4),transparent 65%)}
.box-price > *{position:relative;z-index:1}
.box-price .kicker{color:var(--ai)!important}
.box-price p{color:#C9D3E3}
.box-price .lab{font-weight:700;color:#fff;margin:0}
.box-price .big{font-size:18px;color:#fff;margin:6px 0 12px}
.box-price .big b{font-family:var(--en);font-weight:600;font-size:clamp(40px,4.4vw,60px);letter-spacing:-.02em;margin:0 4px;background:linear-gradient(90deg,#fff,#BFEAFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.box-price .big small{font-size:14px;color:var(--mist)}
.box-price .note{color:var(--mist)}
.box-price .more{display:inline-block;margin-top:12px;font-size:14px;color:var(--ai);border-bottom:1px solid currentColor}
.box-wide{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:24px 48px;align-items:end}
@media (max-width:860px){.duo,.box-wide{grid-template-columns:1fr}}

/* カリキュラム（7つ） */
.curr{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.curr li{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px 24px 22px;transition:transform .4s var(--ease),border-color .4s}
.curr li:hover{transform:translateY(-4px);border-color:var(--ai)}
.curr .k{font-family:var(--en);font-weight:300;font-size:32px;line-height:1;color:var(--ai-deep)}
.curr b{display:block;font-size:17px;margin:12px 0 6px}
.curr p{margin:0;font-size:14px;color:var(--slate)}

/* よくある質問 */
.faq-wrap{display:grid;grid-template-columns:.6fr 1.4fr;gap:clamp(32px,6vw,96px);align-items:start}
.faq-wrap > div:first-child{position:sticky;top:120px}
.faq-g{font-size:15px;font-family:var(--jp);color:var(--ai-deep);margin:48px 0 14px;letter-spacing:.06em}
.faq-g:first-child{margin-top:0}
.qa{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:32px 1fr 24px;gap:12px;align-items:center;padding:20px 0;font-weight:700;font-size:16px;line-height:1.6}
.qa summary::-webkit-details-marker{display:none}
.qa .q{font-family:var(--en);font-weight:600;color:var(--hot-deep)}
.qa summary i{position:relative;width:16px;height:16px;justify-self:end}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.qa summary i::after{transform:rotate(90deg)}
.qa[open] summary i::after{transform:rotate(0)}
.qa p{margin:0;padding:0 36px 24px 44px;color:var(--slate);font-size:15px}
.qa summary:hover{color:var(--ai-deep)}
@media (max-width:860px){.faq-wrap{grid-template-columns:1fr}.faq-wrap > div:first-child{position:static}.qa p{padding:0 0 20px 44px}}

/* 話し方のページは控えめに：上部を少し低く */
.lp-co .ph{padding-bottom:clamp(56px,7vw,90px)}
.lp-co .ph-t{font-size:clamp(32px,4.6vw,64px)}

/* ---------- 最後の「無料相談」（トップと同じ） ---------- */
#cta{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:clamp(110px,14vw,200px) 0 clamp(80px,10vw,120px);text-align:center}
.aurora{position:absolute;inset:-20%;filter:blur(80px);opacity:.75}
.aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.aurora i:nth-child(1){width:50vw;height:50vw;left:5%;top:20%;background:rgba(0,167,235,.45);animation:drift1 16s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:40vw;height:40vw;right:5%;top:10%;background:rgba(10,111,184,.55);animation:drift2 20s ease-in-out infinite alternate}
.aurora i:nth-child(3){width:28vw;height:28vw;left:40%;bottom:0;background:rgba(234,84,19,.35);animation:drift1 14s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate(12vw,-8vw) scale(1.2)}}
@keyframes drift2{to{transform:translate(-14vw,10vw) scale(.85)}}
#cta .in{position:relative;z-index:2}
#cta h2{font-size:clamp(40px,7.4vw,120px);font-weight:900;line-height:1.1;margin:28px 0 28px;letter-spacing:-.01em}
#cta p{color:var(--mist);margin:0 auto 48px;max-width:32em}
#cta .btn{padding:22px 40px;font-size:17px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ph-t .ch,.ph-f,.prose > .pre{opacity:1!important;transform:none!important;filter:none!important}
}
