/* Design review fixes (2026-09-30): readable sizes, contrast, tap targets, line breaks and section colours.
   Loaded last; selectors match the specificity of the earlier rules they replace. */

/* Japanese line breaking: wrap headings at phrase boundaries, avoid a lone last character in paragraphs. */
h1,h2,h3,h4,li,.eyebrow,.hero-subsidy-kicker,.case-change p,.practice-caption strong,.subsidy-rate small{word-break:auto-phrase}
p,li{text-wrap:pretty}
.subsidy-rate small{text-wrap:balance}
.nowrap{white-space:nowrap}
.situation-list strong{display:inline-block}
.case-story h3 br{display:inline}

/* Section labels: Japanese, no numbering. */
.eyebrow,.learning-section .eyebrow,.program-clear .eyebrow{font:600 .8125rem/1.7 var(--sans);letter-spacing:.08em}
.hero .eyebrow{font-size:.8125rem;letter-spacing:.04em}

/* Three surface colours plus the navy contact band. */
.fit-section{background:var(--paper)}
.kit-section{background:var(--mint-light)}
.subsidy-section{background:var(--white);border:0}
.subsidy-rate{background:var(--paper);border-color:var(--line)}
.subsidy-rate small{border-top-color:var(--line)}
.subsidy-conditions li{border-bottom-color:var(--line)}

/* The subsidy rate is information, not the offer: no larger than the price. */
.subsidy-rate p{margin:12px 0}
.subsidy-rate strong{font-size:2.6rem;letter-spacing:-.04em;margin-right:4px}
.subsidy-rate b{font-size:1.3rem}
.subsidy-rate small{font-size:.875rem;font-weight:500;color:var(--ink)}

/* Minimum sizes: notes and labels 12px, body copy 14px. */
.header-nav a{font-size:.875rem}
.button-small{font-size:.8125rem;min-height:44px}
.brand{min-height:44px}
.brand small{font-size:.6875rem}
.hero-subsidy-kicker,.hero-subsidy-simple .hero-subsidy-kicker{font-size:.75rem;color:#4d5844}
.hero-subsidy-note,.hero-subsidy-simple .hero-subsidy-note{font-size:.75rem}
.hero-subsidy-detail,.hero-subsidy-simple .hero-subsidy-detail{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem}
.hero-price,.hero-clear .hero-price{font-size:.875rem}
.hero-example-link{display:flex;align-items:center;min-height:44px;margin-top:6px;font-size:.875rem}
.floating-note>span{font-size:.75rem}
.note-kit strong span{color:#6b5c3b}
.value-no{font-size:.75rem}
.situation-list li{font-size:.9375rem}
.section-heading>p:last-child:not(.eyebrow){font-size:.9375rem}
.pain-tabs button span{font-size:.9375rem;white-space:nowrap}
.pain-tabs button .pain-tab-number{font-size:.75rem}
.case-topline,.case-fiction{font-size:.75rem}
.case-story>p{font-size:.9375rem}
.case-pains li{font-size:.8125rem;color:#65583f}
.case-change{margin:0 0 30px}
.case-change span{font-size:.75rem}
.case-change p{font-size:1rem}
.case-process>p,.case-process li{font-size:.8125rem}
.case-process li>span{font-size:.75rem}
.case-overline{font-size:.75rem;color:var(--green)}
.case-workbench h4{font-size:1.05rem}
.file-type{width:48px;font-size:.75rem}
.case-file strong{font-size:.875rem}
.case-file p{font-size:.8125rem}
.case-rule{font-size:.8125rem;color:#5b6358}
.case-table{font-size:.8125rem}
.case-table thead{font-size:.75rem;color:#55604f}
.case-table small{font-size:.75rem;color:#5d6857}
.case-table .state{font-size:.75rem}
.case-table .hold{color:#72511d}
.case-table .muted{color:#4f5a4d}
.case-details summary,.case-details h5,.case-details p{font-size:.875rem}
.case-human,.case-human strong{font-size:.8125rem}
.case-human{color:#585e55}
.case-bottom span{font-size:.75rem}
.case-bottom p{font-size:.875rem}
.case-scope{font-size:.8125rem;color:#585e55}
.practice-caption span{font-size:.875rem}
.kit-card-head,.kit-card-head>span:last-child{font-size:.75rem}
.kit-card>p{font-size:.875rem}
.kit-sheet{font-size:.8125rem}
.sheet-label{font-size:.75rem}
.learning-audience>span{font-size:.75rem}
.learning-audience p{font-size:.875rem}
.learning-section .fit-points p{font-size:.875rem}
.learning-section .fit-points article>span{font-size:.75rem}
.program-no{font-size:.75rem}
.program-clear .program-grid p{font-size:.875rem}
.program-example>span{font-size:.75rem;color:#4a6043}
.program-example strong{font-size:.875rem}
.program-note{font-size:.8125rem}
.subsidy-rate>span{font-size:.8125rem}
.subsidy-conditions li{font-size:.875rem}
.subsidy-note{font-size:.8125rem}
.subsidy-bottom>p{font-size:.75rem;color:#50574a}
.price-card>span{font-size:.75rem}
.price-value small{font-size:.8125rem}
.price-card>p:not(.price-value){font-size:.875rem}
.scope-included li{font-size:.875rem}
.scope-extra{font-size:.8125rem}
.faq-list summary{font-size:.9375rem}
.faq-list details p{font-size:.875rem}
.contact-lead{font-size:.9375rem}
.message-example>span{font-size:.75rem}
.message-example p{font-size:.875rem}
.contact-bubble{font-size:.875rem}
.contact-flow span{font-size:.75rem}
.contact-flow strong{font-size:.9375rem}
.contact-flow p{font-size:.8125rem}
.footer-inner nav{font-size:.8125rem}
.footer-inner nav a{display:inline-flex;align-items:center;min-height:44px}
.footer-inner small{font-size:.75rem}

/* Inline text links: enlarge the hit area to 44px without changing the line height. */
.practice-caption span a,.subsidy-bottom a:not(.button),.faq-list details a{padding-block:14px}

/* Supporting details of each business case, collapsed by default. */
.case-more{margin-top:26px;border-top:1px solid #dce4d8;border-bottom:1px solid #dce4d8}
.case-more summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 0;font-size:.875rem;font-weight:600;color:var(--green);cursor:pointer;list-style:none}
.case-more summary::-webkit-details-marker{display:none}
.case-more summary::after{content:"＋";font-weight:400}
.case-more[open] summary::after{content:"−"}
.case-more .case-bottom{margin-top:4px}
.case-more .case-scope{margin:18px 0 20px}

/* Sticky mobile CTA steps aside while the hero button or the contact section is on screen (practice.js). */
.mobile-cta{transition:transform .25s ease,visibility .25s}
.mobile-cta.is-hidden{transform:translateY(110%);visibility:hidden}

@media(max-width:640px){
 .hero .eyebrow{font-size:.75rem;letter-spacing:.02em}
 .hero-price,.hero-clear .hero-price{text-align:left}
 .hero-example-link{margin:4px 0 0}
 .hero-clear .hero-art{min-height:360px;width:min(100%,330px)}
 .hero-values p{font-size:.75rem}
 .situation-list li,.section-heading>p:last-child:not(.eyebrow),.case-story>p,.case-story p{font-size:.875rem}
 .pain-tabs button span{font-size:.8125rem}
 .case-change{margin:0 0 24px}
 .case-change p{font-size:.9375rem}
 .case-table td{font-size:.875rem}
 .case-table td::before{font-size:.75rem;color:#5d6857}
 .case-table tbody th:first-child{font-size:.875rem}
 .case-table tbody tr{grid-template-columns:1fr}
 .case-table td+td{border-left:0;border-top:1px solid #e5ebdf}
 .case-file strong{font-size:.875rem}
 .case-file p{font-size:.8125rem}
 .practice-caption{flex-direction:column;align-items:flex-start;gap:8px}
 .practice-caption img{width:72px;align-self:flex-start}
 .practice-caption strong{font-size:1.0625rem}
 .kit-sheet{font-size:.875rem}
 .faq-list summary{font-size:.875rem}
 .contact-lead{font-size:.875rem}
 .contact-bubble{font-size:.8125rem}
 .contact-flow p{display:block;margin:2px 0 0}
 .footer-inner nav{gap:4px 19px}
 .mobile-cta span{font-size:.75rem}
 .mobile-cta strong{font-size:.875rem}
}
@media(max-width:360px){
 .hero-clear .hero-subsidy-simple{grid-template-columns:1fr}
 .hero-subsidy-simple .hero-subsidy-detail{grid-column:1;grid-row:auto;justify-self:start}
 .hero-clear .hero-art{min-height:330px}
 .pain-tabs button span{font-size:.75rem}
}

/* Pricing update (2026-10-01): training 20万円〜, case-study offer for the first 3 companies,
   build service 30万円〜 and the link to the Solorise 集客パック. Each stays quieter than the training price. */
.hero-price .hero-price-offer{display:block;margin-top:4px;font-size:.8125rem;color:var(--muted)}
.hero-price-offer b{font:600 .9375rem var(--num);color:var(--navy);margin:0 2px}
.price-offer{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}
.price-offer-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px}
.price-offer-head b{font-size:.875rem;font-weight:600;color:#fff}
.price-offer-head span{font-size:.8125rem;color:#dce4e0}
.price-offer-head strong{font:600 1.35rem var(--serif);color:#fff;margin-right:2px}
.price-offer>p:last-child{margin-top:8px;font-size:.8125rem;line-height:1.8;color:#dce4e0}
.build-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 32px;margin-top:25px;padding:24px 32px;background:#fff;border:1px solid #c9d5cb;border-radius:14px}
.build-option-label{font-size:.75rem;font-weight:600;color:var(--green)}
.build-option h3{font-size:1.0625rem;margin-top:4px}
.build-option-body p{margin-top:8px;font-size:.875rem;color:#5d685f}
.build-option-price{font-size:.8125rem;color:var(--muted);text-align:right}
.build-option-price strong{font:600 1.5rem var(--serif);color:var(--navy);margin-right:2px}
.build-option-price small{display:block;font-size:.8125rem}
.pack-note{margin-top:28px;padding-top:14px;border-top:1px solid #c9d5cb;font-size:.875rem;color:var(--muted)}
.pack-note a{padding-block:14px;color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){
 .build-option{grid-template-columns:1fr;padding:22px 20px}
 .build-option-price{text-align:left}
}
