/* LP sections, scoped to preserve the approved home-page styling. */
.home-lp-section{--lp-pink:#f55082;--lp-ink:#24292c;--lp-teal:#087781;color:var(--lp-ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85;scroll-margin-top:145px}
.home-lp-section .center{text-align:center}
.home-lp-section .eyebrow{color:var(--lp-teal);font-size:14px;font-weight:800;letter-spacing:2.2px;line-height:1.7;margin:0 0 12px}
.home-lp-section h2{font-size:clamp(28px,3.5vw,40px);line-height:1.65;letter-spacing:.03em;margin:0 0 24px}
.home-lp-section .marker{background:linear-gradient(transparent 71%,#ffe23d95 71%,#ffe23d95 93%,transparent 93%);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.home-lp-section .section-intro{text-align:center;max-width:770px;margin:0 auto 32px;color:#525e62;line-height:2}
.home-lp-section.support-section{background:#edf8fb;border-radius:28px;padding:60px 36px;margin-top:38px}
.home-lp-section .support-inner{max-width:1060px;margin:auto;min-width:0}
.home-lp-section .support-team{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:12px;align-items:stretch}
.home-lp-section .support-card{background:#fff;border-radius:24px;padding:28px;min-width:0;border-top:7px solid #009ba7}
.home-lp-section .support-card.bilingual{border-color:var(--lp-pink)}
.home-lp-section .role-tag{font-weight:800;font-size:15px;color:#08737c;margin:0 0 14px}
.home-lp-section .bilingual .role-tag{color:#b72854}
.home-lp-section .support-card h3{font-size:clamp(23px,2.25vw,28px);letter-spacing:0;line-height:1.5;margin:0 0 17px}
.home-lp-section .support-card>p:last-child{color:#525e62;margin:15px 0 0;line-height:1.9}
.home-lp-section .qualification{display:inline-block;font-size:14px;border-radius:24px;background:#fff0f5;color:#b72854;padding:4px 12px;font-weight:700;line-height:1.7}
.home-lp-section .team-plus{align-self:center;text-align:center;font-size:36px;color:#287581;font-weight:700}
.home-lp-section .support-reassurance{text-align:center;margin:32px auto 0}
.home-lp-section .support-reassurance h3{font-size:23px;margin:0 0 10px;line-height:1.65}
.home-lp-section .support-reassurance p{margin:0;color:#525e62}
.home-lp-section.small-class{padding:66px 0 50px;border-bottom:1px solid #f0edf0}
.home-lp-section .comparison{max-width:940px;margin:auto;display:grid;grid-template-columns:1fr 1.12fr;align-items:stretch;border:1px solid #e3e8e8;border-radius:28px;background:#f7f8f8;overflow:hidden}
.home-lp-section .comparison>div{text-align:center;padding:28px 25px}
.home-lp-section .comparison-label{font-size:17px;font-weight:800;line-height:1.65;margin:0 0 12px;min-height:31px;display:flex;justify-content:center;align-items:center}
.home-lp-section .comparison-example{color:#586268}
.home-lp-section .comparison-bibi{background:#fff2f6;border:3px solid var(--lp-pink);border-radius:26px;color:#b71d4a}
.home-lp-section .count{font-size:23px;font-weight:700;margin:0;line-height:1.4;white-space:nowrap}
.home-lp-section .count strong{font-size:65px;letter-spacing:-.035em;margin-right:6px}
.home-lp-section .capacity-prefix{font-size:20px;font-weight:700;margin-right:6px}
.home-lp-section .count-divider{font-size:14px;display:block;margin:2px 0 6px}
.home-lp-section .staff-count{font-size:23px;font-weight:700;margin:0;line-height:1.5;white-space:nowrap}
.home-lp-section .staff-count b{font-size:47px;margin:0 6px}
.home-lp-section .team-caption{max-width:940px;font-size:15px;line-height:1.9;margin:20px auto 0;text-align:center;color:#a82550;font-weight:700}
.home-lp-section .comparison-note{max-width:940px;font-size:13px;color:#596166;line-height:1.85;margin:14px auto 28px}
.home-lp-section .connection-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.home-lp-section .connection-points article{padding:22px 20px;border:1px solid #f4d8e2;border-radius:18px;background:#fff4f8;min-width:0}
.home-lp-section .connection-points article:nth-child(2){background:#effafb;border-color:#cfeaec}
.home-lp-section .connection-points article:nth-child(3){background:#fff9df;border-color:#f3e8b6}
.home-lp-section .benefit-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.home-lp-section .benefit-number{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border-radius:50%;background:#c72c5d;color:white;font-size:13px;font-weight:800;line-height:1}
.home-lp-section .connection-points article:nth-child(2) .benefit-number{background:#087f88}
.home-lp-section .connection-points article:nth-child(3) .benefit-number{background:#8b6814}
.home-lp-section .connection-points h3{font-size:18px;line-height:1.6;margin:0;letter-spacing:0;text-wrap:balance}
.home-lp-section .connection-points p{font-size:16px;line-height:1.85;color:#525e62;margin:0}
@media(max-width:850px){
 .home-lp-section{scroll-margin-top:115px}
 .home-lp-section.support-section{padding:44px 24px}
 .home-lp-section .support-team{grid-template-columns:minmax(0,1fr);gap:10px}
 .home-lp-section .support-card{padding:24px;border-top-width:5px;border-radius:20px}
 .home-lp-section .support-card h3{font-size:24px}
 .home-lp-section .team-plus{font-size:28px;line-height:1.3}
 .home-lp-section .connection-points{grid-template-columns:1fr;gap:12px}
 .home-lp-section .connection-points article{padding:20px;border-radius:16px}
}
@media(max-width:700px){
 .home-lp-section{scroll-margin-top:98px}
 .home-lp-section.support-section{margin:26px -20px 0;border-radius:0;padding:42px 20px}
 .home-lp-section h2{font-size:clamp(23px,6.2vw,30px);letter-spacing:0;line-height:1.65;margin-bottom:20px}
 .home-lp-section .eyebrow{font-size:12px;letter-spacing:1.25px;margin-bottom:12px}
 .home-lp-section .section-intro{text-align:left;line-height:1.9;margin-bottom:26px}
 .home-lp-section .section-intro br{display:none}
 .home-lp-section .support-card{padding:22px 18px}
 .home-lp-section .role-tag{font-size:14px;margin-bottom:10px}
 .home-lp-section .support-card h3{font-size:clamp(19px,5.5vw,25px);letter-spacing:0;white-space:nowrap}
 .home-lp-section .qualification{font-size:13px;padding:4px 10px}
 .home-lp-section .support-reassurance{text-align:left;margin-top:26px}
 .home-lp-section .support-reassurance h3{font-size:clamp(17px,4.9vw,21px);letter-spacing:0}
 .home-lp-section .support-reassurance br{display:none}
 .home-lp-section.small-class{padding:44px 0 36px}
 .home-lp-section .comparison{grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:18px}
 .home-lp-section .comparison>div{padding:20px 8px}
 .home-lp-section .comparison-label{font-size:clamp(12px,3.2vw,15px);white-space:nowrap;line-height:1.6;min-height:46px;margin-bottom:8px}
 .home-lp-section .comparison-bibi{border-width:2px;border-radius:18px}
 .home-lp-section .count{font-size:16px;line-height:1.25}
 .home-lp-section .count strong{font-size:clamp(29px,8.3vw,44px);margin-right:3px;letter-spacing:-1.2px}
 .home-lp-section .capacity-prefix{font-size:13px;margin-right:3px}
 .home-lp-section .count-divider{font-size:12px;margin:10px 0}
 .home-lp-section .staff-count{font-size:clamp(12px,3.4vw,14px);line-height:1.5}
 .home-lp-section .staff-count b{font-size:clamp(22px,6.7vw,28px);margin:0 2px}
 .home-lp-section .team-caption{text-align:left;font-size:14px;margin-top:18px}
 .home-lp-section .comparison-note{font-size:12px;margin:12px 0 24px}
 .home-lp-section .connection-points{margin-top:18px}
 .home-lp-section .connection-points article{padding:17px 16px}
 .home-lp-section .benefit-heading{gap:8px;margin-bottom:8px}
 .home-lp-section .benefit-number{flex-basis:28px;height:28px;font-size:12px}
 .home-lp-section .connection-points h3{font-size:clamp(16px,4.7vw,19px);white-space:nowrap}
}
