.feature-block-noimg{padding:80px 0}
.feature-block-noimg.is-blue{background:var(--bg-blue)}
.feature-block-noimg .container{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.feature-block-noimg__num{font-family:'Space Grotesk',sans-serif;font-size:5.6rem;font-weight:700;color:rgba(59,106,229,0.1);line-height:1;margin-bottom:8px}
.feature-block-noimg__title{font-size:2.4rem;font-weight:900;line-height:1.45;margin-bottom:20px}
.feature-block-noimg__title .highlight{color:var(--primary);background:linear-gradient(transparent 60%,rgba(59,106,229,0.12) 60%);padding:0 2px}
.feature-block-noimg__desc{font-size:1.5rem;color:var(--ink-light);line-height:1.9}
.feature-block-noimg__svg{display:flex;align-items:center;justify-content:center}
.feature-block-noimg__svg-box{width:100%;max-width:520px}
.feature-block-noimg__svg-box img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,0.08)}
@media (max-width:768px){.feature-block-noimg{padding:48px 0}.feature-block-noimg .container{grid-template-columns:1fr;gap:32px}.feature-block-noimg__title{font-size:2rem}}
.cccorp-pricing{max-width:760px;margin:0 auto;background:var(--white);border-radius:20px;padding:48px;border:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,0.06);text-align:center}
.cccorp-pricing__amount{font-family:'Space Grotesk',sans-serif;font-size:5.4rem;font-weight:900;line-height:1.1;letter-spacing:-0.02em;color:var(--ink);margin-bottom:8px}
.cccorp-pricing__amount small{font-size:1.5rem;font-weight:600;color:var(--ink-light);margin-left:8px}
.cccorp-pricing__desc{font-size:1.4rem;color:var(--ink-light);margin-bottom:32px;line-height:1.85}
.cccorp-pricing__subsidy{background:#fffbeb;border-left:4px solid #f59e0b;border-radius:0 12px 12px 0;padding:24px 28px;text-align:left;margin-bottom:32px}
.cccorp-pricing__subsidy b{display:block;color:#b45309;font-weight:800;font-size:1.4rem;margin-bottom:8px}
.cccorp-pricing__subsidy p{font-size:1.3rem;color:var(--ink-light);line-height:1.85;margin-bottom:12px}
.cccorp-pricing__subsidy-amount{font-family:'Space Grotesk',sans-serif;font-size:2.8rem;font-weight:900;color:var(--ink);line-height:1.1}
.cccorp-pricing__subsidy-amount small{font-size:1.3rem;font-weight:600;color:var(--ink-light);margin-left:6px}
@media (max-width:768px){.cccorp-pricing{padding:32px 24px}.cccorp-pricing__amount{font-size:3.6rem}}
.cccorp-day{background:var(--white);border-radius:16px;padding:32px 36px;margin-bottom:24px;border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,0.04);max-width:880px;margin-left:auto;margin-right:auto}
.cccorp-day__head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}
.cccorp-day__num{font-family:'Space Grotesk',sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:0.12em;color:var(--accent)}
.cccorp-day__title{font-size:1.7rem;font-weight:900;color:var(--ink)}
.cccorp-day__meta{font-size:1.2rem;color:var(--ink-light);margin-left:auto}
.cccorp-day__list{display:grid;gap:12px}
.cccorp-day__item{display:grid;grid-template-columns:80px 1fr;gap:16px;align-items:start;padding:10px 0;border-bottom:1px dashed var(--border)}
.cccorp-day__item:last-child{border-bottom:none}
.cccorp-day__time{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;font-weight:800;color:var(--primary)}
.cccorp-day__item b{display:block;font-size:1.45rem;font-weight:700;margin-bottom:4px;color:var(--ink)}
.cccorp-day__item span{display:block;font-size:1.3rem;color:var(--ink-light);line-height:1.7}
@media (max-width:768px){.cccorp-day{padding:24px 20px}.cccorp-day__item{grid-template-columns:60px 1fr;gap:10px}}

/* === 研修終了時できること: SETUP/SKILL/SCALE/SUPPORT === */
.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.number-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px 24px;text-align:center;box-shadow:0 4px 12px rgba(30,58,138,0.06);transition:transform 0.25s,box-shadow 0.25s}
.number-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(30,58,138,0.12)}
.number-card__icon{width:56px;height:56px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border-radius:50%;color:var(--primary)}
.number-card__icon svg{width:28px;height:28px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.number-card__label{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:0.12em;color:var(--primary-muted);margin-bottom:4px}
.number-card__value{font-size:2.4rem;font-weight:900;line-height:1.3;color:var(--ink);margin-bottom:12px}
.number-card__desc{font-size:1.3rem;line-height:1.7;color:var(--ink-light)}
@media (max-width:900px){.numbers{grid-template-columns:repeat(2,1fr);gap:16px}}
@media (max-width:480px){.numbers{grid-template-columns:1fr}.number-card{padding:24px 18px}}

/* === 3つの壁: problem-card === */
.problems{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.problem-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:36px 28px;box-shadow:0 4px 12px rgba(30,58,138,0.06);transition:transform 0.25s,box-shadow 0.25s}
.problem-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(30,58,138,0.12)}
.problem-card__icon{width:56px;height:56px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;background:#fff5f0;border-radius:12px;color:var(--accent)}
.problem-card__icon svg{width:28px;height:28px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.problem-card__title{font-size:1.8rem;font-weight:900;line-height:1.5;color:var(--ink);margin-bottom:12px}
.problem-card__title .red{color:var(--accent)}
.problem-card__desc{font-size:1.4rem;line-height:1.85;color:var(--ink-light)}
@media (max-width:900px){.problems{grid-template-columns:1fr;gap:16px}}

/* === 流れ: steps === */
.steps{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:24px}
.step{display:grid;grid-template-columns:80px 64px 1fr;gap:24px;align-items:flex-start}
.step__number{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:12px;padding:14px 8px;min-height:74px;box-shadow:0 4px 12px rgba(59,106,229,0.25)}
.step__num-label{font-family:'Space Grotesk',sans-serif;font-size:1rem;letter-spacing:0.14em;opacity:0.85;font-weight:700}
.step__num-value{font-family:'Space Grotesk',sans-serif;font-size:2.4rem;font-weight:900;line-height:1}
.step__icon-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}
.step__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border-radius:50%;color:var(--primary);flex:none}
.step__icon svg{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.step__line{width:2px;flex:1;background:repeating-linear-gradient(to bottom,var(--primary-light) 0 6px,transparent 6px 12px);min-height:30px}
.step__arrow{display:none}
.step__content{padding-top:8px}
.step__title{font-size:1.7rem;font-weight:900;color:var(--ink);margin-bottom:8px}
.step__desc{font-size:1.4rem;line-height:1.8;color:var(--ink-light)}
@media (max-width:680px){.step{grid-template-columns:64px 48px 1fr;gap:16px}.step__number{min-height:60px;padding:10px 4px}.step__num-value{font-size:1.8rem}.step__icon{width:44px;height:44px}.step__icon svg{width:22px;height:22px}.step__title{font-size:1.5rem}}

/* === FAQ === */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.faq-item__q{position:relative;padding:20px 56px 20px 28px;font-size:1.5rem;font-weight:700;color:var(--ink);line-height:1.5;cursor:default}
.faq-item__q::before{content:'Q';position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:36px;color:var(--primary);font-family:'Space Grotesk',sans-serif;font-weight:900;font-size:1.7rem;display:none}
.faq-item__a{padding:0 28px 22px;font-size:1.4rem;line-height:1.85;color:var(--ink-light);border-top:1px dashed var(--border);padding-top:16px;margin-top:0}

/* === 比較表 === */
.comparison{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(30,58,138,0.06);margin-top:8px}
.comparison th,.comparison td{padding:18px 20px;text-align:left;font-size:1.4rem;line-height:1.7;border-bottom:1px solid var(--border);vertical-align:top}
.comparison thead th{background:var(--primary);color:#fff;font-weight:700;text-align:center;font-size:1.4rem;padding:16px 14px}
.comparison thead th:first-child{background:var(--bg-blue);color:var(--ink)}
.comparison tbody th{background:var(--bg-blue);font-weight:700;color:var(--ink);width:24%}
.comparison tbody td{text-align:center}
.comparison tbody td.is-blue{background:#f0f4fb;color:var(--primary-dark);font-weight:700}
.comparison tbody tr:last-child th,.comparison tbody tr:last-child td{border-bottom:none}
@media (max-width:768px){.comparison th,.comparison td{padding:12px 10px;font-size:1.2rem}.comparison thead th{font-size:1.2rem}}

/* === Pricing & cccorp-pricing === */
.cccorp-pricing{max-width:680px;margin:0 auto;background:#fff;border-radius:16px;padding:48px 40px;text-align:center;box-shadow:0 8px 24px rgba(30,58,138,0.10);border:1px solid var(--border)}
.cccorp-pricing__amount{font-family:'Space Grotesk',sans-serif;font-size:5.2rem;font-weight:900;color:var(--ink);line-height:1;margin:16px 0 8px;letter-spacing:-0.02em}
.cccorp-pricing__amount .num{color:var(--accent)}
.cccorp-pricing__desc{font-size:1.4rem;color:var(--ink-light);margin-bottom:24px;line-height:1.7}
.cccorp-pricing__subsidy{background:var(--primary-light);color:var(--primary-dark);padding:18px 24px;border-radius:10px;font-size:1.4rem;font-weight:600;line-height:1.7;margin:24px 0}
@media (max-width:680px){.cccorp-pricing{padding:32px 20px}.cccorp-pricing__amount{font-size:3.8rem}}

/* === Mid CTA banner === */
.cta-banner{background:linear-gradient(135deg,var(--dark) 0%,var(--primary) 100%);padding:56px 32px;border-radius:16px;text-align:center;color:#fff;box-shadow:0 12px 32px rgba(30,58,138,0.20);margin:8px 0}
.cta-banner__text{font-size:2rem;font-weight:900;line-height:1.5;margin-bottom:12px;color:#fff}
.cta-banner__mini{font-size:1.3rem;color:rgba(255,255,255,0.8);margin-bottom:24px;line-height:1.7}
.cta-banner__btn-wrap{display:flex;justify-content:center}
.cta-banner .btn--accent-lg{box-shadow:0 8px 24px rgba(232,102,42,0.35)}

/* === Final form section === */
.form-section{padding:88px 0;background:var(--bg-blue)}
.form-section .container{max-width:760px}
.form-section .section__header{margin-bottom:24px}
.form-wrapper{background:#fff;border-radius:16px;padding:48px 40px;box-shadow:0 8px 24px rgba(30,58,138,0.10);border:1px solid var(--border)}
.form-wrapper__title{font-size:2.4rem;font-weight:900;color:var(--ink);line-height:1.4;margin-bottom:8px}
.form-wrapper__title .accent{color:var(--accent)}
.form-wrapper__subtitle{font-size:1.6rem;font-weight:700;color:var(--ink);margin-bottom:8px}
@media (max-width:680px){.form-wrapper{padding:32px 20px}.form-wrapper__title{font-size:1.8rem}}

/* === highlight & accent in body === */
.highlight{color:var(--accent);font-weight:700}
.accent{color:var(--accent)}
.red{color:var(--accent)}

/* === footer === */
.footer{background:var(--dark);color:rgba(255,255,255,0.85);padding:48px 0 32px;text-align:center}
.footer__logo{margin-bottom:16px}
.footer__copy{font-size:1.2rem;color:rgba(255,255,255,0.6);margin:0}
