
/* Abundance HOME専用: Kadenceのページタイトル・外枠・既定フッターを自動解除 */
.abundance-home-page .entry-hero,
.abundance-home-page .page-hero-section,
.abundance-home-page .entry-header {display:none!important;}
.abundance-home-page #primary,
.abundance-home-page .content-area,
.abundance-home-page .site-main,
.abundance-home-page .content-container,
.abundance-home-page .content-wrap,
.abundance-home-page article.entry,
.abundance-home-page .entry-content,
.abundance-home-page .entry-content-wrap {
	margin:0!important;
	padding:0!important;
	max-width:none!important;
	width:100%!important;
	background:transparent!important;
	box-shadow:none!important;
	border-radius:0!important;
}
.abundance-home-page .content-wrap {display:block!important;}
.abundance-home-page #colophon,
.abundance-home-page .site-footer {display:none!important;}

:root{--abh-ink:#20242d;--abh-muted:#666b73;--abh-warm:#f7f4ee;--abh-white:#fff;--abh-gold:#b7852f;--abh-dark:#20242d}
.abh{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;color:var(--abh-ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Meiryo",sans-serif}
.abh *{box-sizing:border-box}.abh a{text-decoration:none}.abh-inner{width:min(1120px,calc(100% - 48px));margin:0 auto}.abh-inner--narrow{width:min(860px,calc(100% - 48px))}.abh-inner--hero{width:min(1180px,calc(100% - 48px))}
.abh-hero{background:var(--abh-warm);padding:62px 0 66px;text-align:center!important}.abh-kicker{margin:0 0 28px;font-size:16px;font-weight:600;letter-spacing:.2em}.abh-eyebrow{margin:0 0 24px;font-size:14px;font-weight:600;letter-spacing:.18em;color:#777a80;text-transform:uppercase}.abh-eyebrow--light{color:rgba(255,255,255,.72)}
.abh h1,.abh h2,.abh h3,.abh p{margin-top:0}.abh h1{margin:0 auto 34px;max-width:900px;font-size:clamp(46px,6.3vw,84px);line-height:1.22;letter-spacing:-.035em;font-weight:700}.abh h2{margin:0 auto 30px;font-size:clamp(30px,4vw,50px);line-height:1.42;letter-spacing:-.02em;font-weight:650}.abh h3{font-size:23px;line-height:1.45;margin-bottom:12px}.abh-lead{margin-bottom:10px;font-size:clamp(22px,2.4vw,31px);line-height:1.65;color:#5c5a58}.abh-sublead{font-size:20px;line-height:1.85;color:var(--abh-muted)}.abh-intro{font-size:18px;line-height:1.95;color:var(--abh-muted)}.abh-intro--intent strong{color:var(--abh-ink)}
.abh-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.abh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:4px;border:1px solid var(--abh-ink);font-size:16px;font-weight:600;transition:transform .18s ease,opacity .18s ease}.abh-btn--primary{background:var(--abh-ink);color:#fff}.abh-btn--secondary{background:transparent;color:var(--abh-ink)}.abh-btn--light{background:#fff;color:var(--abh-ink);border-color:#fff}.abh-btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.72)}
@media(hover:hover) and (pointer:fine){.abh-btn:hover{transform:translateY(-1px);opacity:.88}.abh-text-link:hover{opacity:.72}}
.abh-section{padding:108px 0;text-align:center}.abh-section--white{background:#fff}.abh-section--warm{background:var(--abh-warm)}.abh-section--dark{background:var(--abh-dark);color:#fff}.abh-section--dark h2{color:#fff}
.abh-prose{font-size:18px;line-height:1.95;color:var(--abh-muted)}.abh-prose p{margin-bottom:22px}.abh-core-message{font-size:21px;line-height:1.9;color:var(--abh-ink);margin-bottom:34px!important}.abh-prose p:last-child{margin-bottom:0}.abh-prose strong{color:var(--abh-ink)}.abh-prose--large{font-size:20px;line-height:2}.abh-emphasis{margin-top:38px!important;font-size:20px;font-weight:700;color:var(--abh-ink)}
.abh-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:54px;text-align:left}.abh-card{min-height:250px;padding:28px 24px;background:#fff;border:1px solid #e7e2d8}.abh-card p{font-size:15px;line-height:1.85;color:var(--abh-muted);margin-bottom:0}.abh-num{display:block;margin-bottom:36px;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--abh-gold)}
.abh-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.2);margin-top:50px;text-align:left}.abh-path-grid article{padding:42px 34px;background:var(--abh-dark)}.abh-path-grid span{display:block;margin-bottom:44px;font-size:12px;letter-spacing:.18em;color:rgba(255,255,255,.55)}.abh-path-grid p{color:rgba(255,255,255,.72);font-size:16px;line-height:1.9;margin-bottom:0}
.abh-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:50px;text-align:left}.abh-entry-card{padding:42px 38px;background:#fff;border:1px solid #e7e2d8}.abh-entry-label{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--abh-gold);margin-bottom:28px}.abh-entry-card h3{font-size:28px;line-height:1.5}.abh-entry-card p{font-size:16px;line-height:1.9;color:var(--abh-muted)}.abh-text-link{display:inline-block;margin-top:12px;color:var(--abh-ink);font-weight:700;border-bottom:1px solid currentColor}
.abh-final{background:#2a2f39;color:#fff}.abh-final h2{color:#fff}.abh-final>div>p{font-size:18px;line-height:1.9;color:rgba(255,255,255,.76)}.abh-footer{padding:26px 0;background:#171a20;color:rgba(255,255,255,.65);text-align:center}.abh-footer p{margin:0;font-size:13px;letter-spacing:.04em}
.abh-reveal{opacity:1;transform:none}.abh.js .abh-reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.abh.js .abh-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.abh.js .abh-reveal{opacity:1;transform:none;transition:none}}
@media(max-width:980px){.abh-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.abh-stage-grid .abh-card:last-child{grid-column:1/-1}}
@media(max-width:720px){.abh-inner,.abh-inner--narrow,.abh-inner--hero{width:min(100% - 32px,1120px)}.abh-hero{padding:44px 0 52px}.abh-kicker{margin-bottom:20px}.abh-hero .abh-eyebrow{margin-bottom:18px;font-size:16px;line-height:1.6;letter-spacing:.14em}.abh h1{font-size:clamp(38px,11.4vw,54px);line-height:1.25;margin-bottom:26px}.abh h2{font-size:clamp(28px,8vw,38px);line-height:1.45}.abh-lead{font-size:21px;line-height:1.7}.abh-sublead{font-size:21px;line-height:1.75}.abh-intro,.abh-prose,.abh-final>div>p{font-size:16px}.abh-core-message{font-size:20px;line-height:1.85}.abh-prose--large{font-size:17px}.abh-section{padding:76px 0}.abh-stage-grid,.abh-path-grid,.abh-entry-grid{grid-template-columns:1fr}.abh-stage-grid .abh-card:last-child{grid-column:auto}.abh-card{min-height:0}.abh-path-grid article,.abh-entry-card{padding:32px 26px}.abh-actions{flex-direction:column;align-items:stretch;width:min(100%,360px);margin-left:auto;margin-right:auto}.abh-btn{width:100%}.abh-desktop{display:none}}

/* v10: hero alignment and global readability */
.abh-hero h1,
.abh-hero .abh-lead,
.abh-hero .abh-sublead,
.abh-hero .abh-kicker,
.abh-hero .abh-eyebrow {
    text-align:center!important;
}
.abh-lead strong {
    display:inline-block;
    margin-bottom:8px;
    color:var(--abh-ink);
    font-weight:700;
}

/* Desktop/tablet: remove tiny type across the Abundance HOME. */
@media (min-width:721px) {
    .abh .abh-eyebrow,
    .abh .abh-entry-label,
    .abh .abh-num,
    .abh .abh-path-grid span,
    .abh .abh-footer p {
        font-size:18px!important;
        line-height:1.7!important;
    }
    .abh .abh-card p,
    .abh .abh-path-grid p,
    .abh .abh-entry-card p,
    .abh .abh-btn,
    .abh .abh-text-link {
        font-size:18px!important;
        line-height:1.8!important;
    }
}

/* Mobile: the current lead ("探し続ける人生から…") is the minimum readable size. */
@media (max-width:720px) {
    .abh .abh-kicker,
    .abh .abh-eyebrow,
    .abh .abh-intro,
    .abh .abh-prose,
    .abh .abh-prose--large,
    .abh .abh-core-message,
    .abh .abh-emphasis,
    .abh .abh-card p,
    .abh .abh-num,
    .abh .abh-path-grid span,
    .abh .abh-path-grid p,
    .abh .abh-entry-label,
    .abh .abh-entry-card p,
    .abh .abh-text-link,
    .abh .abh-btn,
    .abh .abh-final > div > p,
    .abh .abh-footer p {
        font-size:21px!important;
        line-height:1.8!important;
    }

    .abh-hero .abh-eyebrow {
        font-size:21px!important;
        line-height:1.7!important;
        letter-spacing:.10em!important;
    }

    .abh h1 {
        max-width:100%;
        font-size:clamp(33px,9.2vw,46px)!important;
        line-height:1.32!important;
        letter-spacing:-.025em!important;
        text-align:center!important;
    }

    .abh .abh-lead,
    .abh .abh-sublead {
        font-size:21px!important;
        line-height:1.78!important;
        text-align:center!important;
    }

    .abh .abh-entry-card h3,
    .abh .abh-card h3,
    .abh .abh-path-grid h3 {
        font-size:25px!important;
        line-height:1.55!important;
    }

    .abh .abh-footer {
        padding-top:30px;
        padding-bottom:30px;
    }
}


/* v12: THREE PATHS title visibility */
.abh-section--dark .abh-path-grid h3 {
    color: #ffffff !important;
}


/* v13: cleaner mobile CTA wrapping */
.abh-btn {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: normal;
    text-align: center;
}
@media (max-width:720px) {
    .abh-btn {
        padding-left: 14px;
        padding-right: 14px;
    }
}
